
int append_to_match(char *text,int delimiter,int quote_char,int nontrivial_match)

{
  char cVar1;
  byte bVar2;
  bool bVar3;
  int *piVar4;
  uint uVar5;
  int iVar6;
  long *plVar7;
  stat *match_list;
  stat *psVar8;
  undefined4 uVar9;
  undefined1 *puVar10;
  undefined4 *puVar11;
  int iVar12;
  int iVar13;
  int iVar14;
  int iVar15;
  int iVar16;
  int *piVar17;
  ulong uVar18;
  int iVar19;
  stat *psVar20;
  stat *psVar21;
  stat *psVar22;
  stat *unaff_s2;
  char *pcVar23;
  stat *unaff_s3;
  stat *psVar24;
  int iVar25;
  stat *unaff_s4;
  stat *unaff_s5;
  uint uVar26;
  ulong *unaff_s6;
  uint uVar27;
  stat *unaff_s7;
  undefined *puVar28;
  code *pcVar29;
  stat **unaff_s8;
  code *pcVar30;
  byte *pbStack_228;
  stat *psStack_214;
  uint uStack_210;
  int iStack_208;
  int iStack_1fc;
  int iStack_1f8;
  undefined4 uStack_1f4;
  undefined4 uStack_1f0;
  undefined4 uStack_1ec;
  undefined4 uStack_1e8;
  int iStack_1e4;
  stat *psStack_1e0;
  stat *psStack_1dc;
  undefined4 *puStack_1d8;
  stat *psStack_1d4;
  stat *psStack_1d0;
  stat *psStack_1cc;
  ulong *puStack_1c8;
  stat *psStack_1c4;
  stat **ppsStack_1c0;
  code *pcStack_1bc;
  code *pcStack_1a8;
  undefined1 auStack_19d [21];
  stat *psStack_188;
  stat *psStack_184;
  stat *psStack_180;
  ulong *puStack_17c;
  stat *psStack_178;
  code *pcStack_174;
  stat *psStack_160;
  stat *psStack_15c;
  undefined *puStack_158;
  stat *psStack_14c;
  stat *psStack_148;
  stat *psStack_144;
  stat *psStack_140;
  stat *psStack_13c;
  uint uStack_138;
  int *piStack_134;
  stat *psStack_130;
  int *piStack_12c;
  stat *psStack_124;
  stat *psStack_120;
  ulong uStack_11c;
  __mode_t _Stack_118;
  ulong uStack_114;
  long lStack_110;
  ulong uStack_10c;
  __mode_t _Stack_108;
  undefined4 *puStack_104;
  stat *psStack_100;
  __mode_t _Stack_fc;
  stat *psStack_f8;
  char *fn;
  stat finfo;
  char temp_string [4];
  
  piVar4 = *(int **)PTR___stack_chk_guard_0015858c;
  if (quote_char != 0) {
    if (*(int *)PTR_rl_point_001575f0 == 0) {
      quote_char = 0;
    }
    else if (*(int *)PTR_rl_completion_suppress_quote_00157618 == 0) {
      if (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + *(int *)PTR_rl_point_001575f0 + -1) ==
          quote_char) {
        quote_char = 0;
      }
      else {
        temp_string[0] = (char)quote_char;
        quote_char = 1;
      }
    }
    else {
      quote_char = 0;
    }
  }
  if (delimiter == 0) {
    psVar22 = (stat *)(quote_char + 1);
    if ((*(int *)PTR_rl_completion_suppress_append_00157624 == 0) &&
       (*(int *)PTR_rl_completion_append_character_00157628 != 0)) {
      temp_string[quote_char] = (char)*(int *)PTR_rl_completion_append_character_00157628;
      goto LAB_000fa86c;
    }
  }
  else {
    temp_string[quote_char] = (char)delimiter;
LAB_000fa86c:
    psVar22 = (stat *)(quote_char + 2);
    quote_char = quote_char + 1;
  }
  psVar24 = (stat *)(&stack0xfffffff0 + quote_char);
  temp_string[quote_char] = '\0';
  if (*(int *)PTR_rl_filename_completion_desired_00157634 == 0) {
    if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {
      rl_insert_text(temp_string);
    }
  }
  else {
    unaff_s2 = (stat *)(*(code *)PTR_tilde_expand_00156b0c)();
    if (*(int *)PTR_rl_filename_stat_hook_00157754 != 0) {
      iVar6 = (*(code *)PTR_strlen_00158444)(unaff_s2);
      uVar9 = (*(code *)PTR_xmalloc_001565b8)(iVar6 + 1);
      fn = (char *)(*(code *)PTR_strcpy_001584cc)(uVar9,unaff_s2);
      (**(code **)PTR_rl_filename_stat_hook_00157754)(&fn);
      (*(code *)PTR_xfree_00156bb4)(unaff_s2);
      unaff_s2 = (stat *)fn;
    }
    delimiter = (int)unaff_s2;
    if ((nontrivial_match == 0) ||
       (psVar24 = &finfo, *(int *)PTR_rl_completion_mark_symlink_dirs_001578a4 != 0)) {
      psVar24 = &finfo;
      iVar6 = (*(code *)PTR___xstat64_001582e8)(3);
    }
    else {
      iVar6 = (*(code *)PTR___lxstat64_001582c8)(3);
    }
    if (iVar6 == 0) {
      if ((finfo.st_mode & 0xf000) == 0x4000) {
        if (*(int *)PTR__rl_complete_mark_directories_00157f80 != 0) {
          iVar6 = *(int *)PTR_rl_point_001575f0;
          if ((iVar6 == 0) || (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar6) != '\0')) {
            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar6);
          }
          else {
            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar6 + -1);
          }
          if (cVar1 != '/') {
            rl_insert_text(PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c);
          }
        }
      }
      else if (((finfo.st_mode & 0xf000) != 0xa000) ||
              (iVar6 = path_isdir((char *)unaff_s2), iVar6 == 0)) goto LAB_000fa9f0;
    }
    else {
LAB_000fa9f0:
      if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {
        rl_insert_text(temp_string);
      }
    }
    (*(code *)PTR_xfree_00156bb4)(unaff_s2);
  }
  if (piVar4 == *(int **)PTR___stack_chk_guard_0015858c) {
    return (int)psVar22;
  }
  puVar28 = PTR___stack_chk_fail_0015853c;
  (*(code *)PTR___stack_chk_fail_0015853c)();
  puStack_158 = puVar28 + 0x63a10;
  puStack_104 = (undefined4 *)**(undefined4 **)(puVar28 + 0x5da5c);
  psVar20 = (stat *)delimiter;
  psStack_130 = psVar24;
  piStack_12c = piVar4;
  psStack_100 = psVar22;
  _Stack_fc = nontrivial_match;
  psStack_f8 = unaff_s2;
  if ((stat *)delimiter == (stat *)0x1) {
    *piVar4 = piVar4[1];
    piVar4[1] = 0;
    psStack_13c = (stat *)delimiter;
  }
  else {
    if (delimiter < 2) {
      psStack_140 = (stat *)&__DT_SYMTAB[0x3d1].st_info;
    }
    else {
      psVar24 = (stat *)(piVar4 + 1);
      psStack_140 = (stat *)&__DT_SYMTAB[0x3d1].st_info;
      psStack_13c = (stat *)0x1;
      unaff_s3 = *(stat **)(puVar28 + 0x5d2e8);
      piStack_134 = *(int **)(puVar28 + 0x5d454);
      unaff_s8 = &psStack_124;
      do {
        uVar5 = (**(code **)(puStack_158 + -0x6060))();
        if ((1 < uVar5) && (unaff_s3->st_dev == 0)) {
          uStack_11c = 0;
          _Stack_118 = 0;
          uStack_114 = 0;
          lStack_110 = 0;
        }
        if (*piStack_134 == 0) {
          nontrivial_match = (int)*(char *)psVar24->st_dev;
          unaff_s5 = psVar24;
          if ((stat *)nontrivial_match == (stat *)0x0) {
            psVar22 = (stat *)0x0;
            goto LAB_000fac1c;
          }
          psVar22 = (stat *)(int)*(char *)psVar24->st_pad1[0];
          psStack_14c = (stat *)0x0;
          unaff_s4 = psVar22;
          if (psVar22 == (stat *)0x0) goto LAB_000fac1c;
          unaff_s6 = &uStack_11c;
          psStack_148 = (stat *)&uStack_114;
          unaff_s7 = (stat *)&uStack_10c;
          do {
            psVar22 = psStack_14c;
            uVar5 = (**(code **)(puStack_158 + -0x6060))();
            if ((uVar5 < 2) || (unaff_s3->st_dev != 0)) {
              if ((stat *)nontrivial_match != unaff_s4) goto LAB_000fac1c;
            }
            else {
              uStack_10c = uStack_11c;
              _Stack_108 = _Stack_118;
              psStack_15c = psStack_148;
              psStack_160 = psVar22;
              iVar6 = (**(code **)(puStack_158 + -0x65b8))
                                (psVar24->st_dev,psVar22,unaff_s6,psVar24->st_pad1[0]);
              psVar20 = unaff_s7;
              if (iVar6 == 0) goto LAB_000fac1c;
              iVar6 = (**(code **)(puStack_158 + -0x65b4))
                                ((int)psStack_14c->st_pad1 + (psVar24->st_dev - 4));
              if (1 < iVar6) {
                psVar22 = (stat *)((int)psVar22->st_pad1 + iVar6 + -5);
              }
            }
            psVar22 = (stat *)((int)&psVar22->st_dev + 1);
            nontrivial_match = (int)*(char *)((int)psVar22->st_pad1 + (psVar24->st_dev - 4));
            psStack_14c = psVar22;
            if ((stat *)nontrivial_match == (stat *)0x0) goto LAB_000fac1c;
            unaff_s4 = (stat *)(int)*(char *)((int)psVar22->st_pad1 + psVar24->st_pad1[0] + -4);
            bVar3 = (int)psVar22 < (int)psStack_140;
          } while (unaff_s4 != (stat *)0x0);
        }
        else {
          psVar22 = (stat *)0x0;
          unaff_s7 = (stat *)&uStack_11c;
          unaff_s6 = &uStack_114;
          while( true ) {
            bVar2 = *(byte *)((int)psVar22->st_pad1 + (psVar24->st_dev - 4));
            nontrivial_match = (int)(char)bVar2;
            unaff_s4 = (stat *)(uint)bVar2;
            psStack_148 = psVar22;
            psStack_144 = psVar24;
            if (unaff_s4 == (stat *)nontrivial_match) {
              piVar4 = (int *)(**(code **)(puStack_158 + -0x6290))();
              if ((*(ushort *)(*piVar4 + (int)unaff_s4 * 2) & 1) != 0) {
                piVar4 = (int *)(**(code **)(puStack_158 + -0x628c))();
                unaff_s4 = (stat *)(*piVar4 + (int)unaff_s4 * 4);
                nontrivial_match = unaff_s4->st_dev;
              }
            }
            unaff_s5 = (stat *)&psStack_120;
            if ((stat *)nontrivial_match == (stat *)0x0) break;
            bVar2 = *(byte *)((int)psStack_148->st_pad1 + psStack_144->st_pad1[0] + -4);
            psStack_14c = (stat *)(int)(char)bVar2;
            unaff_s4 = (stat *)(uint)bVar2;
            if ((unaff_s4 == psStack_14c) &&
               (piVar4 = (int *)(**(code **)(puStack_158 + -0x6290))(),
               (*(ushort *)(*piVar4 + (int)unaff_s4 * 2) & 1) != 0)) {
              piVar4 = (int *)(**(code **)(puStack_158 + -0x628c))();
              unaff_s4 = (stat *)(*piVar4 + (int)unaff_s4 * 4);
              psStack_14c = (stat *)unaff_s4->st_dev;
            }
            if (psStack_14c == (stat *)0x0) break;
            uVar5 = (**(code **)(puStack_158 + -0x6060))();
            if ((uVar5 < 2) || (unaff_s3->st_dev != 0)) {
joined_r0x000facac:
              if ((stat *)nontrivial_match != psStack_14c) break;
            }
            else {
              iVar6 = (int)psStack_148->st_pad1 + (psStack_144->st_dev - 4);
              uVar9 = (**(code **)(puStack_158 + -0x60fc))(iVar6);
              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,iVar6,uVar9,unaff_s7);
              unaff_s4 = (stat *)((int)psStack_148->st_pad1 + psStack_144->st_pad1[0] + -4);
              uVar9 = (**(code **)(puStack_158 + -0x60fc))(unaff_s4);
              psVar20 = unaff_s4;
              iVar6 = (**(code **)(puStack_158 + -0x6084))
                                ((stat *)&psStack_120,unaff_s4,uVar9,unaff_s6);
              if ((uStack_138 + 2 < 2) || (iVar6 + 2U < 2)) goto joined_r0x000facac;
              nontrivial_match = (**(code **)(puStack_158 + -0x5fc8))(psStack_124);
              psStack_124 = (stat *)nontrivial_match;
              psStack_120 = (stat *)(**(code **)(puStack_158 + -0x5fc8))(psStack_120);
              if ((stat *)nontrivial_match != psStack_120) break;
              if (1 < uStack_138) {
                psVar22 = (stat *)((int)psStack_148->st_pad1 + (uStack_138 - 5));
              }
            }
            psVar22 = (stat *)((int)&psVar22->st_dev + 1);
          }
LAB_000fac1c:
          bVar3 = (int)psVar22 < (int)psStack_140;
        }
        psVar21 = psStack_130;
        if (bVar3) {
          psStack_140 = psVar22;
        }
        psStack_13c = (stat *)((int)&psStack_13c->st_dev + 1);
        psVar24 = (stat *)psVar24->st_pad1;
      } while ((stat *)delimiter != psStack_13c);
      unaff_s2 = psVar24;
      if (((psStack_140 == (stat *)0x0) && (psStack_130 != (stat *)0x0)) &&
         (psVar22 = psStack_130, *(byte *)&psStack_130->st_dev != 0)) {
        iVar6 = (**(code **)(puStack_158 + -0x60fc))(psStack_130);
        iVar6 = (**(code **)(puStack_158 + -0x7f88))(iVar6 + 1);
        *piStack_12c = iVar6;
        psVar20 = psVar21;
        (**(code **)(puStack_158 + -0x6074))(iVar6);
        psVar22 = psVar21;
        goto LAB_000fb1f0;
      }
    }
    iVar6 = (**(code **)(puStack_158 + -0x7f88))((byte *)((int)&psStack_140->st_dev + 1));
    *piStack_12c = iVar6;
    if (**(int **)(puStack_158 + -0x65bc) == 0) {
      psVar20 = (stat *)piStack_12c[1];
      (**(code **)(puStack_158 + -0x615c))(iVar6,psVar20,psStack_140);
    }
    else {
      psVar24 = (stat *)0x0;
      if (**(int **)(puStack_158 + -0x6f0c) != 0) {
        if ((code *)**(undefined4 **)(puStack_158 + -0x6de4) == (code *)0x0) {
          psVar24 = (stat *)0x0;
        }
        else if ((**(int **)(puStack_158 + -0x6f38) != 0) &&
                (**(int **)(puStack_158 + -0x702c) != 0)) {
          psVar20 = (stat *)**(undefined4 **)(puStack_158 + -0x6f34);
          psVar24 = (stat *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(psStack_130);
          psStack_130 = psVar24;
        }
      }
      if (**(int **)(puStack_158 + -0x6f10) != 0) {
        psVar20 = (stat *)delimiter;
        (**(code **)(puStack_158 + -0x6218))
                  (piStack_12c + 1,delimiter,4,*(undefined4 *)(puStack_158 + -0x6660));
      }
      psVar22 = (stat *)(**(code **)(puStack_158 + -0x60fc))(psStack_130);
      unaff_s4 = psStack_140;
      if ((int)psVar22 <= (int)psStack_140) {
        unaff_s4 = psVar22;
      }
      if (delimiter < 1) {
        psVar22 = (stat *)0x1;
LAB_000fb1a8:
        psVar22 = (stat *)(uint)(delimiter < (int)psVar22);
        if (psVar22 != (stat *)0x0) goto LAB_000fb12c;
      }
      else {
        nontrivial_match = (int)(piStack_12c + 1);
        psVar22 = (stat *)0x1;
        do {
          unaff_s2 = (stat *)((stat *)nontrivial_match)->st_dev;
          iVar6 = (**(code **)(puStack_158 + -0x6238))(unaff_s2,psStack_130,unaff_s4);
          if (iVar6 == 0) {
            psVar20 = unaff_s2;
            (**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,psStack_140);
            goto LAB_000fb1a8;
          }
          psVar22 = (stat *)((int)&psVar22->st_dev + 1);
          nontrivial_match = (int)((stat *)nontrivial_match)->st_pad1;
        } while ((int)psVar22 <= delimiter);
LAB_000fb12c:
        psVar20 = (stat *)piStack_12c[1];
        (**(code **)(puStack_158 + -0x615c))(*piStack_12c,psVar20,psStack_140);
      }
      if (psVar24 != (stat *)0x0) {
        iVar6 = (**(code **)(puStack_158 + -0x5f94))(psVar24);
        return iVar6;
      }
      unaff_s3 = (stat *)0x0;
    }
    *(undefined1 *)((int)psStack_140->st_pad1 + *piStack_12c + -4) = 0;
    psStack_13c = (stat *)delimiter;
  }
LAB_000fb1f0:
  if (puStack_104 == (undefined4 *)**(undefined4 **)(puStack_158 + -0x5fb4)) {
    return (int)psStack_13c;
  }
  pcVar29 = *(code **)(puStack_158 + -0x6004);
  pcVar30 = postprocess_matches;
  puVar11 = puStack_104;
  (*pcVar29)();
  pcStack_1a8 = pcVar29 + 0x632d8;
  auStack_19d._1_4_ = **(undefined4 **)(pcVar29 + 0x5d324);
  psVar24 = (stat *)*puVar11;
  auStack_19d._9_4_ = psVar22;
  auStack_19d._13_4_ = nontrivial_match;
  auStack_19d._17_4_ = unaff_s2;
  psStack_188 = unaff_s3;
  psStack_184 = unaff_s4;
  psStack_180 = unaff_s5;
  puStack_17c = unaff_s6;
  psStack_178 = unaff_s7;
  pcStack_174 = pcVar30;
  if (psVar24 == (stat *)0x0) {
    iVar6 = 0;
  }
  else {
    psVar21 = psVar20;
    match_list = psVar24;
    if (**(int **)(pcVar29 + 0x5cd28) != 0) {
      if (psVar24->st_dev == 0) {
LAB_000fb370:
        uVar18 = psVar24->st_dev;
      }
      else {
        plVar7 = psVar24->st_pad1;
        iVar6 = 0;
        do {
          iVar13 = iVar6;
          iVar12 = *plVar7;
          iVar6 = iVar13 + 1;
          plVar7 = plVar7 + 1;
        } while (iVar12 != 0);
        if ((iVar6 == 0) || (**(int **)(pcVar29 + 0x5c3c8) == 0)) goto LAB_000fb370;
        (**(code **)(pcVar29 + 0x5d0c0))
                  (psVar24->st_pad1,iVar13,4,*(undefined4 *)(pcVar29 + 0x5cc78));
        uVar18 = psVar24->st_dev;
      }
      iVar6 = (**(code **)(pcStack_1a8 + -0x60fc))(uVar18);
      uVar9 = (**(code **)(pcStack_1a8 + -0x7f88))(iVar6 + 1);
      unaff_s4 = (stat *)(**(code **)(pcStack_1a8 + -0x6074))(uVar9,psVar24->st_dev);
      if (psVar24->st_pad1[0] == 0) {
        unaff_s6 = (ulong *)0x0;
        iVar6 = 3;
        psVar21 = (stat *)0x0;
      }
      else {
        unaff_s6 = (ulong *)0x0;
        unaff_s7 = (stat *)auStack_19d;
        psVar22 = psVar24;
        do {
          uVar18 = psVar22->st_dev;
          iVar6 = (**(code **)(pcStack_1a8 + -0x5f48))(uVar18);
          if (iVar6 == 0) {
            (**(code **)(pcStack_1a8 + -0x798c))(uVar18);
            psVar22->st_dev = (ulong)unaff_s7;
          }
          else {
            unaff_s6 = (ulong *)((int)unaff_s6 + 1);
          }
          psVar21 = (stat *)psVar22->st_pad1[1];
          iVar6 = (int)unaff_s6 + 3;
          psVar22 = (stat *)psVar22->st_pad1;
        } while (psVar21 != (stat *)0x0);
      }
      match_list = (stat *)(**(code **)(pcStack_1a8 + -0x7f88))(iVar6 << 2);
      psVar8 = (stat *)psVar24->st_pad1[0];
      plVar7 = psVar24->st_pad1;
      if (psVar8 == (stat *)0x0) {
        match_list->st_pad1[0] = 0;
        psVar22 = (stat *)0x1;
        if ((undefined1 *)psVar24->st_dev != auStack_19d) {
          pcVar29 = *(code **)(pcStack_1a8 + -0x798c);
          goto LAB_000fb4b4;
        }
        match_list->st_dev = (ulong)unaff_s4;
      }
      else {
        psVar22 = (stat *)0x1;
        psVar21 = (stat *)auStack_19d;
        do {
          plVar7 = plVar7 + 1;
          if (psVar8 != psVar21) {
            match_list->st_pad1[(int)((int)psVar22[-1].st_pad5 + 0x37)] = (long)psVar8;
            psVar22 = (stat *)((int)&psVar22->st_dev + 1);
          }
          psVar8 = (stat *)*plVar7;
        } while (psVar8 != (stat *)0x0);
        match_list->st_pad1[(int)((int)psVar22[-1].st_pad5 + 0x37)] = 0;
        if ((undefined1 *)psVar24->st_dev != auStack_19d) {
          pcVar29 = *(code **)(pcStack_1a8 + -0x798c);
LAB_000fb4b4:
          (*pcVar29)();
        }
        match_list->st_dev = (ulong)unaff_s4;
        if (psVar22 == (stat *)0x2) {
          psVar22 = (stat *)match_list->st_pad1[0];
          psVar21 = psVar22;
          iVar6 = (**(code **)(pcStack_1a8 + -0x5f48))(unaff_s4);
          if (iVar6 == 0) {
            (**(code **)(pcStack_1a8 + -0x798c))(psVar22);
            match_list->st_pad1[0] = 0;
          }
        }
      }
      (**(code **)(pcStack_1a8 + -0x798c))(psVar24);
      unaff_s5 = match_list;
    }
    unaff_s3 = psVar20;
    psVar24 = match_list;
    if (((code *)**(undefined4 **)(pcStack_1a8 + -0x703c) == (code *)0x0) ||
       (psVar20 == (stat *)0x0)) goto LAB_000fb570;
    plVar7 = match_list->st_pad1;
    if (match_list->st_pad1[0] == 0) {
      psVar22 = (stat *)0x1;
    }
    else {
      psVar22 = (stat *)0x1;
      do {
        plVar7 = plVar7 + 1;
        psVar22 = (stat *)((int)&psVar22->st_dev + 1);
      } while (*plVar7 != 0);
    }
    (*(code *)**(undefined4 **)(pcStack_1a8 + -0x703c))(match_list);
    unaff_s3 = (stat *)match_list->st_dev;
    if (unaff_s3 == (stat *)0x0) {
      (**(code **)(pcStack_1a8 + -0x5f94))(match_list);
      *puVar11 = 0;
      iVar6 = 0;
      psVar20 = psVar21;
      goto LAB_000fb578;
    }
    plVar7 = match_list->st_pad1;
    if (match_list->st_pad1[0] == 0) {
LAB_000fb570:
      *puVar11 = match_list;
    }
    else {
      psVar20 = (stat *)0x1;
      do {
        psVar21 = psVar20;
        plVar7 = plVar7 + 1;
        psVar20 = (stat *)((int)&psVar21->st_dev + 1);
      } while (*plVar7 != 0);
      psVar22 = (stat *)(uint)((int)psVar20 < (int)psVar22);
      if (((int)psVar20 < 2) || (psVar22 == (stat *)0x0)) goto LAB_000fb570;
      compute_lcd_of_matches((char **)match_list,(int)psVar21,(char *)unaff_s3);
      (**(code **)(pcStack_1a8 + -0x5f94))(unaff_s3);
      *puVar11 = match_list;
    }
    iVar6 = 1;
    psVar20 = psVar21;
  }
LAB_000fb578:
  if ((char *)auStack_19d._1_4_ == (char *)**(undefined4 **)(pcStack_1a8 + -0x5fb4)) {
    return iVar6;
  }
  pcVar29 = *(code **)(pcStack_1a8 + -0x6004);
  pcVar30 = rl_filename_completion_function;
  pcVar23 = (char *)auStack_19d._1_4_;
  (*pcVar29)();
  iStack_1e4 = **(int **)(pcVar29 + 0x5cf6c);
  psStack_1e0 = psVar22;
  psStack_1dc = psVar24;
  puStack_1d8 = puVar11;
  psStack_1d4 = unaff_s3;
  psStack_1d0 = unaff_s4;
  psStack_1cc = unaff_s5;
  puStack_1c8 = unaff_s6;
  psStack_1c4 = unaff_s7;
  ppsStack_1c0 = unaff_s8;
  pcStack_1bc = pcVar30;
  if (psVar20 != (stat *)0x0) goto LAB_000fb968;
  if (*(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd4) != 0) {
    (**(code **)(pcVar29 + 0x5cc9c))();
    *(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd4) = 0;
  }
  if (*(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8) != 0) {
    iVar6 = (**(code **)(pcVar29 + 0x5cf8c))();
    return iVar6;
  }
  if (*(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc) != 0) {
    iVar6 = (**(code **)(pcVar29 + 0x5cf8c))();
    return iVar6;
  }
  if (*(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0) != 0) {
    iVar6 = (**(code **)(pcVar29 + 0x5cf8c))();
    return iVar6;
  }
  iVar6 = (**(code **)(pcVar29 + 0x5ce24))(pcVar23);
  uVar9 = (**(code **)(pcVar29 + 0x5af98))(iVar6 + 1);
  uVar9 = (**(code **)(pcVar29 + 0x5ceac))(uVar9,pcVar23);
  *(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc) = uVar9;
  if (*pcVar23 == '\0') {
    pcVar23 = (char *)(*(int *)(pcVar29 + 0x5af90) + -0x5e18);
  }
  iVar6 = (**(code **)(pcVar29 + 0x5ce24))(pcVar23);
  uVar9 = (**(code **)(pcVar29 + 0x5af98))(iVar6 + 1);
  puVar10 = (undefined1 *)(**(code **)(pcVar29 + 0x5ceac))(uVar9,pcVar23);
  *(undefined1 **)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8) = puVar10;
  iVar6 = (**(code **)(pcVar29 + 0x5cd4c))(puVar10,0x2f);
  if (iVar6 == 0) {
    *puVar10 = 0x2e;
    *(undefined1 *)(*(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8) + 1) = 0;
  }
  else {
    (**(code **)(pcVar29 + 0x5ceac))
              (*(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc),iVar6 + 1);
    *(undefined1 *)(iVar6 + 1) = 0;
  }
  if (**(int **)(pcVar29 + 0x5bfe8) == 0) {
LAB_000fb830:
    iVar12 = *(int *)(pcVar29 + 0x5af4c);
    iVar6 = (**(code **)(pcVar29 + 0x5ce24))(*(undefined4 *)(iVar12 + -0x3fd8));
    uVar9 = (**(code **)(pcVar29 + 0x5af98))(iVar6 + 1);
    uVar9 = (**(code **)(pcVar29 + 0x5ceac))(uVar9,*(undefined4 *)(iVar12 + -0x3fd8));
    *(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0) = uVar9;
  }
  else {
    if ((code *)**(undefined4 **)(pcVar29 + 0x5c13c) == (code *)0x0) goto LAB_000fb830;
    uVar9 = (*(code *)**(undefined4 **)(pcVar29 + 0x5c13c))
                      (*(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8),
                       **(undefined4 **)(pcVar29 + 0x5bfec));
    *(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0) = uVar9;
  }
  bVar3 = **(char **)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8) == '~';
  if (bVar3) {
    uVar9 = (**(code **)(pcVar29 + 0x5b4ec))();
    iVar6 = *(int *)(pcVar29 + 0x5af4c);
    (**(code **)(pcVar29 + 0x5b594))(*(undefined4 *)(iVar6 + -0x3fd8));
    *(undefined4 *)(iVar6 + -0x3fd8) = uVar9;
  }
  if ((code *)**(undefined4 **)(pcVar29 + 0x5bfe0) == (code *)0x0) {
    if ((code *)**(undefined4 **)(pcVar29 + 0x5bfe4) != (code *)0x0) {
      iVar6 = (*(code *)**(undefined4 **)(pcVar29 + 0x5bfe4))(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8)
      ;
      iVar12 = *(int *)(pcVar29 + 0x5af4c);
      if (iVar6 != 0) {
        (**(code **)(pcVar29 + 0x5b594))(*(undefined4 *)(iVar12 + -0x3fe0));
        iVar13 = *(int *)(pcVar29 + 0x5af4c);
        iVar6 = (**(code **)(pcVar29 + 0x5ce24))(*(undefined4 *)(iVar13 + -0x3fd8));
        uVar9 = (**(code **)(pcVar29 + 0x5af98))(iVar6 + 1);
        uVar9 = (**(code **)(pcVar29 + 0x5ceac))(uVar9,*(undefined4 *)(iVar13 + -0x3fd8));
        *(undefined4 *)(iVar12 + -0x3fe0) = uVar9;
        goto LAB_000fb8b4;
      }
    }
    iVar6 = *(int *)(pcVar29 + 0x5af4c);
    if ((!bVar3) && (iVar6 = *(int *)(pcVar29 + 0x5af4c), **(int **)(pcVar29 + 0x5bfe8) != 0)) {
      iVar6 = *(int *)(pcVar29 + 0x5af4c);
      if (**(int **)(pcVar29 + 0x5c13c) != 0) {
        (**(code **)(pcVar29 + 0x5b594))(*(undefined4 *)(iVar6 + -0x3fd8));
        iVar13 = *(int *)(pcVar29 + 0x5af4c);
        iVar12 = (**(code **)(pcVar29 + 0x5ce24))(*(undefined4 *)(iVar13 + -0x3fe0));
        uVar9 = (**(code **)(pcVar29 + 0x5af98))(iVar12 + 1);
        uVar9 = (**(code **)(pcVar29 + 0x5ceac))(uVar9,*(undefined4 *)(iVar13 + -0x3fe0));
        *(undefined4 *)(iVar6 + -0x3fd8) = uVar9;
      }
      goto LAB_000fb8b4;
    }
  }
  else {
    (*(code *)**(undefined4 **)(pcVar29 + 0x5bfe0))(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8);
LAB_000fb8b4:
    iVar6 = *(int *)(pcVar29 + 0x5af4c);
  }
  uVar9 = (**(code **)(pcVar29 + 0x5cc98))(*(undefined4 *)(iVar6 + -0x3fd8));
  *(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd4) = uVar9;
  iVar6 = *(int *)(pcVar29 + 0x5af4c);
  if ((**(char **)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc) != '\0') &&
     (iVar6 = *(int *)(pcVar29 + 0x5af4c), **(int **)(pcVar29 + 0x5bfe8) != 0)) {
    if ((code *)**(undefined4 **)(pcVar29 + 0x5c13c) != (code *)0x0) {
      uVar9 = (*(code *)**(undefined4 **)(pcVar29 + 0x5c13c))
                        (*(char **)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc),
                         **(undefined4 **)(pcVar29 + 0x5bfec));
      iVar6 = *(int *)(pcVar29 + 0x5af4c);
      (**(code **)(pcVar29 + 0x5b594))(*(undefined4 *)(iVar6 + -0x3fdc));
      *(undefined4 *)(iVar6 + -0x3fdc) = uVar9;
    }
    iVar6 = *(int *)(pcVar29 + 0x5af4c);
  }
  uVar9 = (**(code **)(pcVar29 + 0x5ce24))(*(undefined4 *)(iVar6 + -0x3fdc));
  *(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe4) = uVar9;
  **(undefined4 **)(pcVar29 + 0x5c014) = 1;
LAB_000fb968:
  iVar14 = 0;
  iVar6 = *(int *)(pcVar29 + 0x5af4c);
  puVar11 = *(undefined4 **)(pcVar29 + 0x5c130);
  iVar12 = *(int *)(pcVar29 + 0x5af4c);
  iVar13 = *(int *)(pcVar29 + 0x5af4c);
  piVar4 = *(int **)(pcVar29 + 0x5c964);
LAB_000fbb0c:
  iVar19 = *(int *)(iVar6 + -0x3fd4);
LAB_000fbb10:
  if (iVar19 == 0) {
    if (iVar14 != 0) goto LAB_000fbbb0;
    iVar6 = *(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8);
LAB_000fc3a0:
    if (iVar6 != 0) {
      (**(code **)(pcVar29 + 0x5b594))();
      *(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8) = 0;
    }
    if (*(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc) != 0) {
      (**(code **)(pcVar29 + 0x5b594))();
      *(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc) = 0;
    }
    iVar6 = *(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0);
    if (iVar6 != 0) {
      (**(code **)(pcVar29 + 0x5b594))(iVar6);
      *(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0) = 0;
      iVar6 = 0;
    }
    goto LAB_000fbca4;
  }
  iVar14 = (**(code **)(pcVar29 + 0x5cd0c))();
  if (iVar14 == 0) {
    if (*(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd4) != 0) {
      (**(code **)(pcVar29 + 0x5cc9c))();
      *(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd4) = 0;
    }
    iVar6 = *(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8);
    goto LAB_000fc3a0;
  }
  psVar24 = (stat *)(iVar14 + 0x13);
  iVar19 = (**(code **)(pcVar29 + 0x5ce24))(psVar24);
  psVar22 = psVar24;
  if (((code *)*puVar11 != (code *)0x0) &&
     (psVar22 = (stat *)(*(code *)*puVar11)(psVar24,iVar19), psVar24 != psVar22)) {
    iVar19 = (**(code **)(pcVar29 + 0x5ce24))(psVar22);
  }
  iVar25 = *(int *)(iVar12 + -0x3fe4);
  if (iVar25 == 0) {
    if (**(int **)(pcVar29 + 0x5c974) == 0) {
      if (*(byte *)&psVar22->st_dev != 0x2e) goto LAB_000fbbb0;
    }
    else {
      iVar15 = *(int *)(pcVar29 + 0x5af4c);
      if ((*(byte *)&psVar22->st_dev != 0x2e) ||
         ((bVar2 = *(byte *)((int)&psVar22->st_dev + 1), bVar2 != 0 &&
          ((iVar15 = *(int *)(pcVar29 + 0x5af4c), bVar2 != 0x2e ||
           (iVar15 = *(int *)(pcVar29 + 0x5af4c), *(char *)((int)&psVar22->st_dev + 2) != '\0'))))))
      goto LAB_000fbbb4;
    }
    goto LAB_000fbb0c;
  }
  pbStack_228 = *(byte **)(iVar13 + -0x3fdc);
  uStack_1f4 = 0;
  uStack_1f0 = 0;
  uStack_1ec = 0;
  uStack_1e8 = 0;
  if (iVar19 < iVar25) goto LAB_000fbb0c;
  if (*piVar4 != 0) {
    psStack_214 = psVar22;
    iStack_208 = iVar25;
    if (**(int **)(pcVar29 + 0x5c97c) == 0) {
      uVar5 = (**(code **)(pcVar29 + 0x5cec0))();
      if ((1 < uVar5) && (**(int **)(pcVar29 + 0x5c7f8) == 0)) {
        goto LAB_000fc0a8;
      }
      uVar26 = (uint)(char)*(byte *)&psVar22->st_dev;
      uVar5 = (uint)*(byte *)&psVar22->st_dev;
      if ((uVar5 == uVar26) &&
         (piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc90))(),
         (*(ushort *)(*piVar17 + uVar5 * 2) & 1) != 0)) {
        piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc94))();
        uVar26 = *(uint *)(*piVar17 + uVar5 * 4);
      }
      uVar27 = (uint)(char)*pbStack_228;
      uVar5 = (uint)*pbStack_228;
      if (uVar5 == uVar27) {
        piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc90))();
        if ((*(ushort *)(*piVar17 + uVar5 * 2) & 1) != 0) {
          piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc94))();
          uVar27 = *(uint *)(*piVar17 + uVar5 * 4);
        }
      }
      if (uVar26 == uVar27) {
        iVar19 = (**(code **)(pcVar29 + 0x5cd98))(pbStack_228,psVar22,iVar25);
        goto LAB_000fc280;
      }
    }
    else {
      uVar5 = (**(code **)(pcVar29 + 0x5cec0))();
      if ((1 < uVar5) && (**(int **)(pcVar29 + 0x5c7f8) == 0)) {
        do {
          iVar15 = (**(code **)(pcVar29 + 0x5ce9c))(&iStack_1fc,psStack_214,iVar19,&uStack_1f4);
          iVar16 = (**(code **)(pcVar29 + 0x5ce9c))(&iStack_1f8,pbStack_228,iVar25,&uStack_1ec);
          if (iVar15 == 0) {
            if (iVar16 == 0) goto LAB_000fbbb0;
LAB_000fbe6c:
            if (iVar16 + 2U < 2) goto LAB_000fbdb4;
            iVar16 = (**(code **)(pcVar29 + 0x5cf58))(iStack_1fc);
            iStack_1fc = iVar16;
            iStack_1f8 = (**(code **)(pcVar29 + 0x5cf58))(iStack_1f8);
            psStack_214 = (stat *)((int)psStack_214->st_pad1 + iVar15 + -4);
            pbStack_228 = pbStack_228 + iVar15;
            iStack_208 = iStack_208 - iVar15;
            if ((((iVar16 != 0x2d) && (iVar16 != 0x5f)) ||
                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))) && (iVar16 != iStack_1f8))
            goto code_r0x000fbef4;
          }
          else {
            if (1 < iVar15 + 2U) goto LAB_000fbe6c;
LAB_000fbdb4:
            bVar2 = *(byte *)&psStack_214->st_dev;
            if (((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||
               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))) goto LAB_000fbb0c;
            psStack_214 = (stat *)((int)&psStack_214->st_dev + 1);
            pbStack_228 = pbStack_228 + 1;
            iStack_208 = iStack_208 + -1;
          }
          iVar15 = *(int *)(pcVar29 + 0x5af4c);
          if (iStack_208 == 0) goto LAB_000fbbb4;
        } while( true );
      }
      psVar20 = psVar22;
      while( true ) {
        uVar5 = (uint)(char)*(byte *)&psVar20->st_dev;
        uVar26 = (uint)*(byte *)&psVar20->st_dev;
        psStack_214 = (stat *)uVar5;
        if ((uVar26 == uVar5) &&
           (piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc90))(),
           (*(ushort *)(*piVar17 + uVar26 * 2) & 1) != 0)) {
          piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc94))();
          psStack_214 = *(stat **)(*piVar17 + uVar26 * 4);
        }
        uVar26 = (uint)(char)*pbStack_228;
        uVar27 = (uint)*pbStack_228;
        uStack_210 = uVar26;
        if (uVar27 == uVar26) {
          piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc90))();
          if ((*(ushort *)(*piVar17 + uVar27 * 2) & 1) != 0) {
            piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc94))();
            uStack_210 = *(uint *)(*piVar17 + uVar27 * 4);
          }
        }
        if ((((uVar5 != 0x2d) && (uVar5 != 0x5f)) || ((uVar26 != 0x2d && (uVar26 != 0x5f)))) &&
           (psStack_214 != (stat *)uStack_210)) break;
        psVar20 = (stat *)((int)&psVar20->st_dev + 1);
        pbStack_228 = pbStack_228 + 1;
        iVar15 = *(int *)(pcVar29 + 0x5af4c);
        if (psVar20 == (stat *)((int)psVar22->st_pad1 + iVar25 + -4)) goto LAB_000fbbb4;
      }
    }
    goto LAB_000fbb0c;
  }
  if (*(byte *)&psVar22->st_dev != *pbStack_228) goto LAB_000fbb0c;
  iVar19 = (**(code **)(pcVar29 + 0x5cce8))(pbStack_228,psVar22,iVar25);
LAB_000fc280:
  if (iVar19 != 0) goto LAB_000fbb0c;
  pcVar23 = *(char **)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8);
  goto LAB_000fbbb8;
LAB_000fc0a8:
  iVar15 = (**(code **)(pcVar29 + 0x5ce9c))(&iStack_1fc,psStack_214,iVar19,&uStack_1f4);
  iVar16 = (**(code **)(pcVar29 + 0x5ce9c))(&iStack_1f8,pbStack_228,iVar25,&uStack_1ec);
  if (iVar15 == 0) {
    if (iVar16 == 0) goto LAB_000fbbb0;
LAB_000fc100:
    if (iVar16 + 2U < 2) goto LAB_000fc060;
    iVar16 = (**(code **)(pcVar29 + 0x5cf58))(iStack_1fc);
    iStack_1fc = iVar16;
    iStack_1f8 = (**(code **)(pcVar29 + 0x5cf58))(iStack_1f8);
    if (iVar16 != iStack_1f8) goto LAB_000fbb0c;
    psStack_214 = (stat *)((int)psStack_214->st_pad1 + iVar15 + -4);
    pbStack_228 = pbStack_228 + iVar15;
    iStack_208 = iStack_208 - iVar15;
  }
  else {
    if (1 < iVar15 + 2U) goto LAB_000fc100;
LAB_000fc060:
    if (*(byte *)&psStack_214->st_dev != *pbStack_228) goto LAB_000fbb0c;
    psStack_214 = (stat *)((int)&psStack_214->st_dev + 1);
    pbStack_228 = pbStack_228 + 1;
    iStack_208 = iStack_208 + -1;
  }
  iVar15 = *(int *)(pcVar29 + 0x5af4c);
  if (iStack_208 == 0) goto LAB_000fbbb4;
  goto LAB_000fc0a8;
code_r0x000fbef4:
  iVar19 = *(int *)(iVar6 + -0x3fd4);
  goto LAB_000fbb10;
LAB_000fbbb0:
  iVar15 = *(int *)(pcVar29 + 0x5af4c);
LAB_000fbbb4:
  pcVar23 = *(char **)(iVar15 + -0x3fd8);
LAB_000fbbb8:
  if ((pcVar23 == (char *)0x0) ||
     ((piVar4 = *(int **)(pcVar29 + 0x5c978), *pcVar23 == '.' &&
      (piVar4 = *(int **)(pcVar29 + 0x5c978), pcVar23[1] == '\0')))) {
    iVar6 = (**(code **)(pcVar29 + 0x5ce24))(psVar22);
    uVar9 = (**(code **)(pcVar29 + 0x5af98))(iVar6 + 1);
    iVar6 = (**(code **)(pcVar29 + 0x5ceac))(uVar9,psVar22);
  }
  else {
    if ((*piVar4 == 0) || (**(char **)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0) != '~')) {
      iVar13 = *(int *)(pcVar29 + 0x5af4c);
      iVar12 = (**(code **)(pcVar29 + 0x5ce24))(*(undefined4 *)(iVar13 + -0x3fe0));
      iVar6 = (**(code **)(pcVar29 + 0x5ce24))(iVar14 + 0x13);
      iVar6 = (**(code **)(pcVar29 + 0x5af98))(iVar12 + iVar6 + 2);
      iVar13 = *(int *)(iVar13 + -0x3fe0);
      (**(code **)(pcVar29 + 0x5ceac))(iVar6,iVar13);
      if (*(char *)(iVar13 + iVar12 + -1) != '/') {
        *(undefined1 *)(iVar6 + iVar12) = 0x2f;
        iVar12 = iVar12 + 1;
      }
    }
    else {
      iVar13 = (**(code **)(pcVar29 + 0x5ce24))();
      iVar6 = (**(code **)(pcVar29 + 0x5ce24))(iVar14 + 0x13);
      iVar6 = (**(code **)(pcVar29 + 0x5af98))(iVar13 + iVar6 + 2);
      iVar14 = *(int *)(pcVar29 + 0x5af4c);
      (**(code **)(pcVar29 + 0x5ceac))(iVar6,*(undefined4 *)(iVar14 + -0x3fd8));
      iVar12 = iVar13;
      if (*(char *)(*(int *)(iVar14 + -0x3fd8) + iVar13 + -1) != '/') {
        iVar12 = iVar13 + 1;
        *(undefined1 *)(iVar6 + iVar13) = 0x2f;
        *(undefined1 *)(iVar6 + iVar12) = 0;
      }
    }
    (**(code **)(pcVar29 + 0x5ceac))(iVar6 + iVar12,psVar22);
  }
  if (psVar24 != psVar22) {
    (**(code **)(pcVar29 + 0x5b594))(psVar22);
  }
LAB_000fbca4:
  if (iStack_1e4 == **(int **)(pcVar29 + 0x5cf6c)) {
    return iVar6;
  }
  iVar6 = (**(code **)(pcVar29 + 0x5cf1c))();
  return iVar6;
}



/* WARNING: Type propagation algorithm not settling */

word * FUN_000fa7dc(undefined4 param_1,word *param_2,int param_3,byte *param_4)

{
  char cVar1;
  byte bVar2;
  bool bVar3;
  uint uVar4;
  int iVar5;
  word *pwVar6;
  undefined4 uVar7;
  undefined1 *puVar8;
  int *piVar9;
  int iVar10;
  int iVar11;
  byte *pbVar12;
  int iVar13;
  word *pwVar14;
  word *pwVar15;
  word *pwVar16;
  int iVar17;
  word *pwVar18;
  word *unaff_s2;
  char *pcVar19;
  word *pwVar20;
  word *unaff_s3;
  word *unaff_s4;
  word *unaff_s5;
  undefined4 *puVar21;
  word *unaff_s6;
  word *unaff_s7;
  undefined *puVar22;
  code *pcVar23;
  byte **unaff_s8;
  byte *pbVar24;
  code *pcVar25;
  int iStack_31c;
  word *pwStack_318;
  int iStack_314;
  word *pwStack_310;
  word *pwStack_30c;
  word *pwStack_308;
  word *pwStack_304;
  int *piStack_300;
  undefined4 *puStack_2fc;
  int iStack_2f8;
  code *pcStack_2f4;
  code *pcStack_2e0;
  int iStack_2d4;
  int iStack_2d0;
  word *pwStack_2cc;
  int aiStack_2c8 [3];
  byte *pbStack_2bc;
  int iStack_2b8;
  word *pwStack_2b4;
  int iStack_2b0;
  int iStack_2ac;
  undefined4 uStack_2a8;
  undefined4 uStack_2a4;
  int *piStack_2a0;
  int *piStack_29c;
  int iStack_298;
  code *pcStack_294;
  code *pcStack_280;
  int aiStack_278 [4];
  word *pwStack_268;
  word *pwStack_264;
  word *pwStack_260;
  word *pwStack_25c;
  word *pwStack_258;
  word *pwStack_254;
  word *pwStack_250;
  word *pwStack_24c;
  byte **ppbStack_248;
  code *pcStack_244;
  code *pcStack_230;
  byte *pbStack_228;
  int iStack_224;
  undefined4 *puStack_220;
  int iStack_21c;
  int iStack_218;
  word *pwStack_214;
  word *pwStack_210;
  int *piStack_20c;
  word *pwStack_208;
  int iStack_204;
  int iStack_1fc;
  int iStack_1f8;
  byte *pbStack_1f4;
  undefined4 uStack_1f0;
  undefined4 uStack_1ec;
  undefined4 uStack_1e8;
  int iStack_1e4;
  word *pwStack_1e0;
  word *pwStack_1dc;
  undefined4 *puStack_1d8;
  word *pwStack_1d4;
  word *pwStack_1d0;
  word *pwStack_1cc;
  word *pwStack_1c8;
  word *pwStack_1c4;
  byte **ppbStack_1c0;
  code *pcStack_1bc;
  code *pcStack_1a8;
  undefined1 auStack_19d [9];
  word *pwStack_194;
  byte *pbStack_190;
  word *pwStack_18c;
  word *pwStack_188;
  word *pwStack_184;
  word *pwStack_180;
  word *pwStack_17c;
  word *pwStack_178;
  code *pcStack_174;
  word *pwStack_160;
  word *pwStack_15c;
  undefined *puStack_158;
  word *pwStack_14c;
  word *pwStack_148;
  word *pwStack_144;
  word *pwStack_140;
  word *pwStack_13c;
  uint uStack_138;
  int *piStack_134;
  word *pwStack_130;
  int *piStack_12c;
  byte *pbStack_124;
  byte *pbStack_120;
  undefined4 uStack_11c;
  undefined4 uStack_118;
  undefined4 uStack_114;
  undefined4 uStack_110;
  undefined4 uStack_10c;
  undefined4 uStack_108;
  undefined4 *puStack_104;
  word *pwStack_100;
  byte *pbStack_fc;
  word *pwStack_f8;
  word *local_bc;
  word awStack_b8 [12];
  uint local_a0;
  undefined1 local_18 [4];
  int *local_14;
  
  local_14 = *(int **)PTR___stack_chk_guard_0015858c;
  if (param_3 != 0) {
    if (*(int *)PTR_rl_point_001575f0 == 0) {
      param_3 = 0;
    }
    else if (*(int *)PTR_rl_completion_suppress_quote_00157618 == 0) {
      if (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + *(int *)PTR_rl_point_001575f0 + -1) ==
          param_3) {
        param_3 = 0;
      }
      else {
        local_18[0] = (undefined1)param_3;
        param_3 = 1;
      }
    }
    else {
      param_3 = 0;
    }
  }
  if (param_2 == (word *)0x0) {
    pwVar16 = (word *)(param_3 + 1);
    if ((*(int *)PTR_rl_completion_suppress_append_00157624 == 0) &&
       (*(int *)PTR_rl_completion_append_character_00157628 != 0)) {
      local_18[param_3] = (char)*(int *)PTR_rl_completion_append_character_00157628;
      goto LAB_000fa86c;
    }
  }
  else {
    local_18[param_3] = (char)param_2;
LAB_000fa86c:
    pwVar16 = (word *)(param_3 + 2);
    param_3 = param_3 + 1;
  }
  pwVar15 = (word *)(&stack0xfffffff0 + param_3);
  local_18[param_3] = 0;
  if (*(int *)PTR_rl_filename_completion_desired_00157634 == 0) {
    if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {
      rl_insert_text(local_18);
    }
  }
  else {
    unaff_s2 = (word *)(*(code *)PTR_tilde_expand_00156b0c)();
    if (*(int *)PTR_rl_filename_stat_hook_00157754 != 0) {
      iVar5 = (*(code *)PTR_strlen_00158444)(unaff_s2);
      uVar7 = (*(code *)PTR_xmalloc_001565b8)(iVar5 + 1);
      local_bc = (word *)(*(code *)PTR_strcpy_001584cc)(uVar7,unaff_s2);
      (**(code **)PTR_rl_filename_stat_hook_00157754)(&local_bc);
      (*(code *)PTR_xfree_00156bb4)(unaff_s2);
      unaff_s2 = local_bc;
    }
    param_2 = unaff_s2;
    if ((param_4 == (byte *)0x0) ||
       (pwVar15 = awStack_b8, *(int *)PTR_rl_completion_mark_symlink_dirs_001578a4 != 0)) {
      pwVar15 = awStack_b8;
      iVar5 = (*(code *)PTR___xstat64_001582e8)(3);
    }
    else {
      iVar5 = (*(code *)PTR___lxstat64_001582c8)(3);
    }
    if (iVar5 == 0) {
      if ((local_a0 & 0xf000) == 0x4000) {
        if (*(int *)PTR__rl_complete_mark_directories_00157f80 != 0) {
          iVar5 = *(int *)PTR_rl_point_001575f0;
          if ((iVar5 == 0) || (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5) != '\0')) {
            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5);
          }
          else {
            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5 + -1);
          }
          if (cVar1 != '/') {
            rl_insert_text(PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c);
          }
        }
      }
      else if (((local_a0 & 0xf000) != 0xa000) || (iVar5 = FUN_000fa188(unaff_s2), iVar5 == 0))
      goto LAB_000fa9f0;
    }
    else {
LAB_000fa9f0:
      if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {
        rl_insert_text(local_18);
      }
    }
    (*(code *)PTR_xfree_00156bb4)(unaff_s2);
  }
  if (local_14 == *(int **)PTR___stack_chk_guard_0015858c) {
    return pwVar16;
  }
  piVar9 = local_14;
  puVar22 = PTR___stack_chk_fail_0015853c;
  (*(code *)PTR___stack_chk_fail_0015853c)();
  puStack_158 = puVar22 + 0x63a10;
  puStack_104 = (undefined4 *)**(undefined4 **)(puVar22 + 0x5da5c);
  pwVar14 = param_2;
  pwStack_130 = pwVar15;
  piStack_12c = piVar9;
  pwStack_100 = pwVar16;
  pbStack_fc = param_4;
  pwStack_f8 = unaff_s2;
  if (param_2 == (word *)0x1) {
    *piVar9 = piVar9[1];
    piVar9[1] = 0;
    pwStack_13c = param_2;
  }
  else {
    if ((int)param_2 < 2) {
      pwStack_140 = (word *)&__DT_SYMTAB[0x3d1].st_info;
    }
    else {
      pwVar18 = (word *)(piVar9 + 1);
      pwStack_140 = (word *)&__DT_SYMTAB[0x3d1].st_info;
      pwStack_13c = (word *)0x1;
      unaff_s3 = *(word **)(puVar22 + 0x5d2e8);
      piStack_134 = *(int **)(puVar22 + 0x5d454);
      unaff_s8 = &pbStack_124;
      do {
        uVar4 = (**(code **)(puStack_158 + -0x6060))();
        if ((1 < uVar4) && (*(int *)unaff_s3 == 0)) {
          uStack_11c = 0;
          uStack_118 = 0;
          uStack_114 = 0;
          uStack_110 = 0;
        }
        if (*piStack_134 == 0) {
          param_4 = (byte *)(int)**(char **)pwVar18;
          unaff_s5 = pwVar18;
          if (param_4 == (byte *)0x0) {
            pwVar16 = (word *)0x0;
            goto LAB_000fac1c;
          }
          pwVar16 = (word *)(int)**(char **)(pwVar18 + 2);
          pwStack_14c = (word *)0x0;
          unaff_s4 = pwVar16;
          if (pwVar16 == (word *)0x0) goto LAB_000fac1c;
          unaff_s6 = (word *)&uStack_11c;
          pwStack_148 = (word *)&uStack_114;
          unaff_s7 = (word *)&uStack_10c;
          do {
            pwVar16 = pwStack_14c;
            uVar4 = (**(code **)(puStack_158 + -0x6060))();
            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {
              if ((word *)param_4 != unaff_s4) goto LAB_000fac1c;
            }
            else {
              uStack_10c = uStack_11c;
              uStack_108 = uStack_118;
              pwStack_15c = pwStack_148;
              pwVar15 = unaff_s6;
              pwStack_160 = pwVar16;
              iVar5 = (**(code **)(puStack_158 + -0x65b8))
                                (*(undefined4 *)pwVar18,pwVar16,unaff_s6,
                                 *(undefined4 *)(pwVar18 + 2));
              pwVar14 = unaff_s7;
              if (iVar5 == 0) goto LAB_000fac1c;
              iVar5 = (**(code **)(puStack_158 + -0x65b4))
                                ((byte *)((int)pwStack_14c + *(int *)pwVar18));
              if (1 < iVar5) {
                pwVar16 = (word *)((int)pwVar16 + iVar5 + -1);
              }
            }
            pwVar16 = (word *)((int)pwVar16 + 1);
            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);
            pwStack_14c = pwVar16;
            if (param_4 == (byte *)0x0) goto LAB_000fac1c;
            unaff_s4 = (word *)(int)(char)*(byte *)((int)pwVar16 + *(int *)(pwVar18 + 2));
            bVar3 = (int)pwVar16 < (int)pwStack_140;
          } while (unaff_s4 != (word *)0x0);
        }
        else {
          pwVar16 = (word *)0x0;
          unaff_s7 = (word *)&uStack_11c;
          unaff_s6 = (word *)&uStack_114;
          while( true ) {
            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);
            unaff_s4 = (word *)(uint)*(byte *)((int)pwVar16 + *(int *)pwVar18);
            pwStack_148 = pwVar16;
            pwStack_144 = pwVar18;
            if (unaff_s4 == (word *)param_4) {
              piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))();
              if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {
                piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();
                unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);
                param_4 = *(byte **)unaff_s4;
              }
            }
            unaff_s5 = (word *)&pbStack_120;
            if (param_4 == (byte *)0x0) break;
            pwStack_14c = (word *)(int)(char)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))
            ;
            unaff_s4 = (word *)(uint)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));
            if ((unaff_s4 == pwStack_14c) &&
               (piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))(),
               (*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0)) {
              piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();
              unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);
              pwStack_14c = *(word **)unaff_s4;
            }
            if (pwStack_14c == (word *)0x0) break;
            uVar4 = (**(code **)(puStack_158 + -0x6060))();
            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {
joined_r0x000facac:
              if ((word *)param_4 != pwStack_14c) break;
            }
            else {
              pbVar24 = (byte *)((int)pwStack_148 + *(int *)pwStack_144);
              uVar7 = (**(code **)(puStack_158 + -0x60fc))(pbVar24);
              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,pbVar24,uVar7,unaff_s7);
              unaff_s4 = (word *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));
              pwVar15 = (word *)(**(code **)(puStack_158 + -0x60fc))(unaff_s4);
              pwVar14 = unaff_s4;
              iVar5 = (**(code **)(puStack_158 + -0x6084))(&pbStack_120,unaff_s4,pwVar15,unaff_s6);
              if ((uStack_138 + 2 < 2) || (iVar5 + 2U < 2)) goto joined_r0x000facac;
              param_4 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_124);
              pbStack_124 = param_4;
              pbStack_120 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_120);
              if (param_4 != pbStack_120) break;
              if (1 < uStack_138) {
                pwVar16 = (word *)((int)pwStack_148 + (uStack_138 - 1));
              }
            }
            pwVar16 = (word *)((int)pwVar16 + 1);
          }
LAB_000fac1c:
          bVar3 = (int)pwVar16 < (int)pwStack_140;
        }
        pwVar6 = pwStack_130;
        if (bVar3) {
          pwStack_140 = pwVar16;
        }
        pwStack_13c = (word *)((int)pwStack_13c + 1);
        pwVar18 = pwVar18 + 2;
      } while (param_2 != pwStack_13c);
      unaff_s2 = pwVar18;
      if (((pwStack_140 == (word *)0x0) && (pwStack_130 != (word *)0x0)) &&
         (pwVar16 = pwStack_130, *(byte *)pwStack_130 != 0)) {
        iVar5 = (**(code **)(puStack_158 + -0x60fc))(pwStack_130);
        iVar5 = (**(code **)(puStack_158 + -0x7f88))(iVar5 + 1);
        *piStack_12c = iVar5;
        pwVar14 = pwVar6;
        (**(code **)(puStack_158 + -0x6074))(iVar5);
        pwVar16 = pwVar6;
        goto LAB_000fb1f0;
      }
    }
    iVar5 = (**(code **)(puStack_158 + -0x7f88))((byte *)((int)pwStack_140 + 1));
    *piStack_12c = iVar5;
    if (**(int **)(puStack_158 + -0x65bc) == 0) {
      pwVar14 = (word *)piStack_12c[1];
      pwVar15 = pwStack_140;
      (**(code **)(puStack_158 + -0x615c))(iVar5);
    }
    else {
      unaff_s3 = (word *)0x0;
      if (**(int **)(puStack_158 + -0x6f0c) != 0) {
        if ((code *)**(undefined4 **)(puStack_158 + -0x6de4) == (code *)0x0) {
          unaff_s3 = (word *)0x0;
        }
        else if ((**(int **)(puStack_158 + -0x6f38) != 0) &&
                (**(int **)(puStack_158 + -0x702c) != 0)) {
          pwVar14 = (word *)**(undefined4 **)(puStack_158 + -0x6f34);
          unaff_s3 = (word *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(pwStack_130);
          pwStack_130 = unaff_s3;
        }
      }
      if (**(int **)(puStack_158 + -0x6f10) != 0) {
        pwVar14 = param_2;
        (**(code **)(puStack_158 + -0x6218))
                  (piStack_12c + 1,param_2,4,*(undefined4 *)(puStack_158 + -0x6660));
      }
      pwVar16 = (word *)(**(code **)(puStack_158 + -0x60fc))(pwStack_130);
      unaff_s4 = pwStack_140;
      if ((int)pwVar16 <= (int)pwStack_140) {
        unaff_s4 = pwVar16;
      }
      if ((int)param_2 < 1) {
        pwVar16 = (word *)0x1;
LAB_000fb1a8:
        pwVar16 = (word *)(uint)((int)param_2 < (int)pwVar16);
        pwVar15 = pwStack_140;
        if (pwVar16 != (word *)0x0) goto LAB_000fb12c;
      }
      else {
        param_4 = (byte *)(piStack_12c + 1);
        pwVar16 = (word *)0x1;
        do {
          unaff_s2 = *(word **)param_4;
          iVar5 = (**(code **)(puStack_158 + -0x6238))(unaff_s2,pwStack_130,unaff_s4);
          if (iVar5 == 0) {
            pwVar14 = unaff_s2;
            (**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,pwStack_140);
            goto LAB_000fb1a8;
          }
          pwVar16 = (word *)((int)pwVar16 + 1);
          param_4 = param_4 + 4;
        } while ((int)pwVar16 <= (int)param_2);
LAB_000fb12c:
        pwVar14 = (word *)piStack_12c[1];
        pwVar15 = pwStack_140;
        (**(code **)(puStack_158 + -0x615c))(*piStack_12c);
      }
      if (unaff_s3 != (word *)0x0) {
        (**(code **)(puStack_158 + -0x5f94))(unaff_s3);
      }
    }
    *(byte *)((int)pwStack_140 + *piStack_12c) = 0;
    pwStack_13c = param_2;
  }
LAB_000fb1f0:
  if (puStack_104 == (undefined4 *)**(undefined4 **)(puStack_158 + -0x5fb4)) {
    return pwStack_13c;
  }
  pcVar23 = *(code **)(puStack_158 + -0x6004);
  pcVar25 = FUN_000fb268;
  puVar21 = puStack_104;
  (*pcVar23)();
  pcStack_1a8 = pcVar23 + 0x632d8;
  auStack_19d._1_4_ = **(undefined4 **)(pcVar23 + 0x5d324);
  pwVar18 = (word *)*puVar21;
  pwStack_194 = pwVar16;
  pbStack_190 = param_4;
  pwStack_18c = unaff_s2;
  pwStack_188 = unaff_s3;
  pwStack_184 = unaff_s4;
  pwStack_180 = unaff_s5;
  pwStack_17c = unaff_s6;
  pwStack_178 = unaff_s7;
  pcStack_174 = pcVar25;
  if (pwVar18 == (word *)0x0) {
    pwVar6 = (word *)0x0;
  }
  else {
    pwVar20 = pwVar14;
    pwVar6 = pwVar18;
    if (**(int **)(pcVar23 + 0x5cd28) != 0) {
      if (*(int *)pwVar18 == 0) {
LAB_000fb370:
        uVar7 = *(undefined4 *)pwVar18;
      }
      else {
        pwVar15 = (word *)0x0;
        pwVar16 = pwVar18;
        do {
          pwVar16 = pwVar16 + 2;
          pwVar15 = (word *)((int)pwVar15 + 1);
        } while (*(int *)pwVar16 != 0);
        if ((pwVar15 == (word *)0x0) || (**(int **)(pcVar23 + 0x5c3c8) == 0)) goto LAB_000fb370;
        pwVar15 = (word *)&DAT_00000004;
        (**(code **)(pcVar23 + 0x5d0c0))();
        uVar7 = *(undefined4 *)pwVar18;
      }
      iVar5 = (**(code **)(pcStack_1a8 + -0x60fc))(uVar7);
      uVar7 = (**(code **)(pcStack_1a8 + -0x7f88))(iVar5 + 1);
      unaff_s4 = (word *)(**(code **)(pcStack_1a8 + -0x6074))(uVar7,*(undefined4 *)pwVar18);
      if (*(int *)(pwVar18 + 2) == 0) {
        unaff_s6 = (word *)0x0;
        pbVar24 = (byte *)0x3;
        pwVar20 = (word *)0x0;
      }
      else {
        unaff_s6 = (word *)0x0;
        unaff_s7 = (word *)auStack_19d;
        pwVar16 = pwVar18;
        do {
          uVar7 = *(undefined4 *)pwVar16;
          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(uVar7);
          if (iVar5 == 0) {
            (**(code **)(pcStack_1a8 + -0x798c))(uVar7);
            *(word **)pwVar16 = unaff_s7;
          }
          else {
            unaff_s6 = (word *)((int)unaff_s6 + 1);
          }
          pwVar20 = *(word **)(pwVar16 + 4);
          pbVar24 = (byte *)((int)unaff_s6 + 3);
          pwVar16 = pwVar16 + 2;
        } while (pwVar20 != (word *)0x0);
      }
      pwVar6 = (word *)(**(code **)(pcStack_1a8 + -0x7f88))((int)pbVar24 << 2);
      pbVar24 = *(byte **)(pwVar18 + 2);
      if (pbVar24 == (byte *)0x0) {
        pbVar24 = (byte *)(pwVar6 + 2);
        pbVar24[0] = 0;
        pbVar24[1] = 0;
        pbVar24[2] = 0;
        pbVar24[3] = 0;
        pwVar16 = (word *)0x1;
        if (*(undefined1 **)pwVar18 != auStack_19d) {
          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);
          goto LAB_000fb4b4;
        }
        *(word **)pwVar6 = unaff_s4;
      }
      else {
        pwVar16 = (word *)0x1;
        pwVar20 = (word *)auStack_19d;
        pbVar12 = (byte *)(pwVar18 + 4);
        do {
          if ((word *)pbVar24 != pwVar20) {
            *(byte **)(pwVar6 + (int)pwVar16 * 2) = pbVar24;
            pwVar16 = (word *)((int)pwVar16 + 1);
          }
          pbVar24 = *(byte **)pbVar12;
          pbVar12 = pbVar12 + 4;
        } while (pbVar24 != (byte *)0x0);
        *(undefined4 *)(pwVar6 + (int)pwVar16 * 2) = 0;
        if (*(undefined1 **)pwVar18 != auStack_19d) {
          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);
LAB_000fb4b4:
          (*pcVar23)();
        }
        *(word **)pwVar6 = unaff_s4;
        if (pwVar16 == (word *)0x2) {
          pwVar16 = *(word **)(pwVar6 + 2);
          pwVar20 = pwVar16;
          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(unaff_s4);
          if (iVar5 == 0) {
            (**(code **)(pcStack_1a8 + -0x798c))(pwVar16);
            pbVar24 = (byte *)(pwVar6 + 2);
            pbVar24[0] = 0;
            pbVar24[1] = 0;
            pbVar24[2] = 0;
            pbVar24[3] = 0;
          }
        }
      }
      (**(code **)(pcStack_1a8 + -0x798c))(pwVar18);
      unaff_s5 = pwVar6;
    }
    unaff_s3 = pwVar14;
    pwVar18 = pwVar6;
    if (((code *)**(undefined4 **)(pcStack_1a8 + -0x703c) == (code *)0x0) ||
       (pwVar14 == (word *)0x0)) goto LAB_000fb570;
    if (*(int *)(pwVar6 + 2) == 0) {
      pwVar16 = (word *)0x1;
    }
    else {
      pwVar16 = (word *)0x1;
      pbVar24 = (byte *)(pwVar6 + 4);
      do {
        iVar5 = *(int *)pbVar24;
        pwVar16 = (word *)((int)pwVar16 + 1);
        pbVar24 = pbVar24 + 4;
      } while (iVar5 != 0);
    }
    (*(code *)**(undefined4 **)(pcStack_1a8 + -0x703c))(pwVar6);
    unaff_s3 = *(word **)pwVar6;
    if (unaff_s3 == (word *)0x0) {
      (**(code **)(pcStack_1a8 + -0x5f94))(pwVar6);
      *puVar21 = 0;
      pwVar6 = (word *)0x0;
      pwVar14 = pwVar20;
      goto LAB_000fb578;
    }
    if (*(int *)(pwVar6 + 2) == 0) {
LAB_000fb570:
      *puVar21 = pwVar6;
    }
    else {
      pbVar24 = (byte *)(pwVar6 + 4);
      pwVar14 = (word *)0x1;
      do {
        pwVar20 = pwVar14;
        iVar5 = *(int *)pbVar24;
        pwVar14 = (word *)((int)pwVar20 + 1);
        pbVar24 = pbVar24 + 4;
      } while (iVar5 != 0);
      pwVar16 = (word *)(uint)((int)pwVar14 < (int)pwVar16);
      if (((int)pwVar14 < 2) || (pwVar15 = unaff_s3, pwVar16 == (word *)0x0)) goto LAB_000fb570;
      FUN_000fab30(pwVar6);
      (**(code **)(pcStack_1a8 + -0x5f94))(unaff_s3);
      *puVar21 = pwVar6;
    }
    pwVar6 = (word *)0x1;
    pwVar14 = pwVar20;
  }
LAB_000fb578:
  if ((char *)auStack_19d._1_4_ == (char *)**(undefined4 **)(pcStack_1a8 + -0x5fb4)) {
    return pwVar6;
  }
  pcVar23 = *(code **)(pcStack_1a8 + -0x6004);
  pcVar25 = rl_filename_completion_function;
  pcVar19 = (char *)auStack_19d._1_4_;
  (*pcVar23)();
  pcStack_230 = pcVar23 + 0x62f20;
  iStack_1e4 = **(int **)(pcVar23 + 0x5cf6c);
  pwStack_1e0 = pwVar16;
  pwStack_1dc = pwVar18;
  puStack_1d8 = puVar21;
  pwStack_1d4 = unaff_s3;
  pwStack_1d0 = unaff_s4;
  pwStack_1cc = unaff_s5;
  pwStack_1c8 = unaff_s6;
  pwStack_1c4 = unaff_s7;
  ppbStack_1c0 = unaff_s8;
  pcStack_1bc = pcVar25;
  if (pwVar14 != (word *)0x0) goto LAB_000fb968;
  if (*(int *)(*(int *)(pcVar23 + 0x5af4c) + -0x3fd4) != 0) {
    (**(code **)(pcVar23 + 0x5cc9c))();
    *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) = 0;
  }
  if (*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) != 0) {
    (**(code **)(pcStack_230 + -0x5f94))();
  }
  if (*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) != 0) {
    (**(code **)(pcStack_230 + -0x5f94))();
  }
  if (*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) != 0) {
    (**(code **)(pcStack_230 + -0x5f94))();
  }
  iVar5 = (**(code **)(pcStack_230 + -0x60fc))(pcVar19);
  uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);
  uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,pcVar19);
  *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) = uVar7;
  if (*pcVar19 == '\0') {
    pcVar19 = (char *)(*(int *)(pcStack_230 + -0x7f90) + -0x5e18);
  }
  iVar5 = (**(code **)(pcStack_230 + -0x60fc))(pcVar19);
  uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);
  puVar8 = (undefined1 *)(**(code **)(pcStack_230 + -0x6074))(uVar7,pcVar19);
  *(undefined1 **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) = puVar8;
  unaff_s4 = (word *)(**(code **)(pcStack_230 + -0x61d4))(puVar8,0x2f);
  if (unaff_s4 == (word *)0x0) {
    *puVar8 = 0x2e;
    *(undefined1 *)(*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) + 1) = 0;
  }
  else {
    (**(code **)(pcStack_230 + -0x6074))
              (*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc),
               (byte *)((int)unaff_s4 + 1));
    *(byte *)((int)unaff_s4 + 1) = 0;
  }
  if (**(int **)(pcStack_230 + -0x6f38) == 0) {
LAB_000fb830:
    iVar13 = *(int *)(pcStack_230 + -0x7fd4);
    iVar5 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(iVar13 + -0x3fd8));
    uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);
    uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(iVar13 + -0x3fd8));
    *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = uVar7;
  }
  else {
    if ((code *)**(undefined4 **)(pcStack_230 + -0x6de4) == (code *)0x0) goto LAB_000fb830;
    uVar7 = (*(code *)**(undefined4 **)(pcStack_230 + -0x6de4))
                      (*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8),
                       **(undefined4 **)(pcStack_230 + -0x6f34));
    *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = uVar7;
  }
  bVar3 = **(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) == '~';
  if (bVar3) {
    uVar7 = (**(code **)(pcStack_230 + -0x7a34))();
    iVar5 = *(int *)(pcStack_230 + -0x7fd4);
    (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fd8));
    *(undefined4 *)(iVar5 + -0x3fd8) = uVar7;
  }
  unaff_s3 = (word *)(uint)bVar3;
  if ((code *)**(undefined4 **)(pcStack_230 + -0x6f40) == (code *)0x0) {
    if ((code *)**(undefined4 **)(pcStack_230 + -0x6f3c) != (code *)0x0) {
      iVar5 = (*(code *)**(undefined4 **)(pcStack_230 + -0x6f3c))
                        (*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);
      iVar13 = *(int *)(pcStack_230 + -0x7fd4);
      if (iVar5 != 0) {
        (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar13 + -0x3fe0));
        unaff_s3 = *(word **)(pcStack_230 + -0x7fd4);
        iVar5 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1fec));
        uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);
        uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1fec));
        *(undefined4 *)(iVar13 + -0x3fe0) = uVar7;
        goto LAB_000fb8b4;
      }
    }
    iVar5 = *(int *)(pcStack_230 + -0x7fd4);
    if ((unaff_s3 == (word *)0x0) &&
       (iVar5 = *(int *)(pcStack_230 + -0x7fd4), **(int **)(pcStack_230 + -0x6f38) != 0)) {
      iVar5 = *(int *)(pcStack_230 + -0x7fd4);
      if (**(int **)(pcStack_230 + -0x6de4) != 0) {
        (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fd8));
        unaff_s3 = *(word **)(pcStack_230 + -0x7fd4);
        iVar13 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1ff0));
        uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar13 + 1);
        uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1ff0));
        *(undefined4 *)(iVar5 + -0x3fd8) = uVar7;
      }
      goto LAB_000fb8b4;
    }
  }
  else {
    (*(code *)**(undefined4 **)(pcStack_230 + -0x6f40))(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);
LAB_000fb8b4:
    iVar5 = *(int *)(pcStack_230 + -0x7fd4);
  }
  uVar7 = (**(code **)(pcStack_230 + -0x6288))(*(undefined4 *)(iVar5 + -0x3fd8));
  *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) = uVar7;
  iVar5 = *(int *)(pcStack_230 + -0x7fd4);
  if ((**(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) != '\0') &&
     (iVar5 = *(int *)(pcStack_230 + -0x7fd4), **(int **)(pcStack_230 + -0x6f38) != 0)) {
    if ((code *)**(undefined4 **)(pcStack_230 + -0x6de4) != (code *)0x0) {
      unaff_s3 = (word *)(*(code *)**(undefined4 **)(pcStack_230 + -0x6de4))
                                   (*(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc),
                                    **(undefined4 **)(pcStack_230 + -0x6f34));
      iVar5 = *(int *)(pcStack_230 + -0x7fd4);
      (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fdc));
      *(word **)(iVar5 + -0x3fdc) = unaff_s3;
    }
    iVar5 = *(int *)(pcStack_230 + -0x7fd4);
  }
  uVar7 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(iVar5 + -0x3fdc));
  *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe4) = uVar7;
  **(undefined4 **)(pcStack_230 + -0x6f0c) = 1;
LAB_000fb968:
  iVar5 = 0;
  iStack_224 = *(int *)(pcStack_230 + -0x7fd4);
  puStack_220 = *(undefined4 **)(pcStack_230 + -0x6df0);
  iStack_21c = *(int *)(pcStack_230 + -0x7fd4);
  iStack_218 = *(int *)(pcStack_230 + -0x7fd4);
  piStack_20c = *(int **)(pcStack_230 + -0x65bc);
  pcVar23 = pcStack_230;
LAB_000fbb0c:
  iVar13 = *(int *)(iStack_224 + -0x3fd4);
LAB_000fbb10:
  if (iVar13 == 0) {
    if (iVar5 != 0) goto LAB_000fbbb0;
    iVar5 = *(int *)(*(int *)(pcVar23 + -0x7fd4) + -0x3fd8);
LAB_000fc3a0:
    if (iVar5 != 0) {
      (**(code **)(pcVar23 + -0x798c))();
      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) = 0;
      pcVar23 = pcStack_230;
    }
    if (*(int *)(*(int *)(pcVar23 + -0x7fd4) + -0x3fdc) != 0) {
      (**(code **)(pcVar23 + -0x798c))();
      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) = 0;
      pcVar23 = pcStack_230;
    }
    pwVar14 = *(word **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0);
    if (pwVar14 != (word *)0x0) {
      (**(code **)(pcVar23 + -0x798c))(pwVar14);
      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = 0;
      pwVar14 = (word *)0x0;
      pcVar23 = pcStack_230;
    }
    goto LAB_000fbca4;
  }
  iVar5 = (**(code **)(pcVar23 + -0x6214))();
  if (iVar5 == 0) {
    if (*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) != 0) {
      (**(code **)(pcStack_230 + -0x6284))();
      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) = 0;
    }
    iVar5 = *(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);
    pcVar23 = pcStack_230;
    goto LAB_000fc3a0;
  }
  pwVar18 = (word *)(iVar5 + 0x13);
  unaff_s4 = (word *)(**(code **)(pcStack_230 + -0x60fc))(pwVar18);
  pwVar16 = pwVar18;
  if (((code *)*puStack_220 != (code *)0x0) &&
     (pwVar16 = (word *)(*(code *)*puStack_220)(pwVar18,unaff_s4), pwVar18 != pwVar16)) {
    unaff_s4 = (word *)(**(code **)(pcStack_230 + -0x60fc))(pwVar16);
  }
  unaff_s3 = *(word **)(iStack_21c + -0x3fe4);
  pcVar23 = pcStack_230;
  if (unaff_s3 == (word *)0x0) {
    if (**(int **)(pcStack_230 + -0x65ac) == 0) {
      if (*(byte *)pwVar16 != 0x2e) goto LAB_000fbbb0;
    }
    else {
      iVar13 = *(int *)(pcStack_230 + -0x7fd4);
      if ((*(byte *)pwVar16 != 0x2e) ||
         (((byte)*pwVar16 != 0 &&
          ((iVar13 = *(int *)(pcStack_230 + -0x7fd4), (byte)*pwVar16 != 0x2e ||
           (iVar13 = *(int *)(pcStack_230 + -0x7fd4), *(byte *)(pwVar16 + 1) != 0))))))
      goto LAB_000fbbb4;
    }
    goto LAB_000fbb0c;
  }
  pbStack_228 = *(byte **)(iStack_218 + -0x3fdc);
  pbStack_1f4 = (byte *)0x0;
  uStack_1f0 = 0;
  uStack_1ec = 0;
  uStack_1e8 = 0;
  if ((int)unaff_s4 < (int)unaff_s3) goto LAB_000fbb0c;
  if (*piStack_20c != 0) {
    if (**(int **)(pcStack_230 + -0x65a4) == 0) {
      uVar4 = (**(code **)(pcStack_230 + -0x6060))();
      if ((1 < uVar4) && (unaff_s8 = &pbStack_1f4, **(int **)(pcStack_230 + -0x6728) == 0)) {
        unaff_s7 = (word *)&iStack_1fc;
        unaff_s6 = (word *)&uStack_1ec;
        unaff_s5 = (word *)&iStack_1f8;
        pwStack_214 = pwVar16;
        pwStack_208 = unaff_s3;
        goto LAB_000fc0a8;
      }
      unaff_s5 = (word *)(int)(char)*(byte *)pwVar16;
      pbVar24 = (byte *)(uint)*(byte *)pwVar16;
      if (((word *)pbVar24 == unaff_s5) &&
         (piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))(),
         (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0)) {
        piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();
        unaff_s5 = *(word **)(*piVar9 + (int)pbVar24 * 4);
      }
      unaff_s6 = (word *)(int)(char)*pbStack_228;
      unaff_s4 = (word *)(uint)*pbStack_228;
      if (unaff_s4 == unaff_s6) {
        piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))();
        if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {
          piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();
          unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);
          unaff_s6 = *(word **)unaff_s4;
        }
      }
      pwVar15 = unaff_s3;
      pcVar23 = pcStack_230;
      if (unaff_s5 == unaff_s6) {
        iVar13 = (**(code **)(pcStack_230 + -0x6188))(pbStack_228,pwVar16);
        goto LAB_000fc280;
      }
    }
    else {
      uVar4 = (**(code **)(pcStack_230 + -0x6060))();
      if ((1 < uVar4) && (unaff_s6 = (word *)&uStack_1ec, **(int **)(pcStack_230 + -0x6728) == 0)) {
        unaff_s8 = &pbStack_1f4;
        unaff_s7 = (word *)&iStack_1fc;
        unaff_s5 = (word *)&iStack_1f8;
        pwStack_214 = pwVar16;
        pwStack_208 = unaff_s3;
        do {
          pwStack_210 = (word *)(**(code **)(pcStack_230 + -0x6084))
                                          (unaff_s7,pwStack_214,unaff_s4,unaff_s8);
          pwVar15 = unaff_s3;
          iVar13 = (**(code **)(pcStack_230 + -0x6084))(unaff_s5,pbStack_228,unaff_s3,unaff_s6);
          pcVar23 = pcStack_230;
          if (pwStack_210 == (word *)0x0) {
            if (iVar13 == 0) goto LAB_000fbbb0;
LAB_000fbe6c:
            if (iVar13 + 2U < 2) goto LAB_000fbdb4;
            iStack_204 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc);
            iStack_1fc = iStack_204;
            iStack_1f8 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8);
            pwStack_214 = (word *)((int)pwStack_214 + (int)pwStack_210);
            pbStack_228 = pbStack_228 + (int)pwStack_210;
            pwStack_208 = (word *)((int)pwStack_208 - (int)pwStack_210);
            if ((((iStack_204 != 0x2d) && (iStack_204 != 0x5f)) ||
                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))) && (iStack_204 != iStack_1f8))
            goto code_r0x000fbef4;
          }
          else {
            if ((word *)0x1 < pwStack_210 + 1) goto LAB_000fbe6c;
LAB_000fbdb4:
            bVar2 = *(byte *)pwStack_214;
            if (((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||
               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))) goto LAB_000fbb0c;
            pwStack_214 = (word *)((int)pwStack_214 + 1);
            pbStack_228 = pbStack_228 + 1;
            pwStack_208 = (word *)((int)pwStack_208 + -1);
          }
          iVar13 = *(int *)(pcStack_230 + -0x7fd4);
          pcVar23 = pcStack_230;
          if (pwStack_208 == (word *)0x0) goto LAB_000fbbb4;
        } while( true );
      }
      unaff_s7 = (word *)&DAT_0000002d;
      unaff_s8 = (byte **)0x5f;
      pwStack_208 = (word *)((int)pwVar16 + (int)unaff_s3);
      unaff_s4 = pwVar16;
      pcVar23 = pcStack_230;
      while( true ) {
        unaff_s3 = (word *)(int)(char)*(byte *)unaff_s4;
        pbVar24 = (byte *)(uint)*(byte *)unaff_s4;
        pwStack_214 = unaff_s3;
        if (((word *)pbVar24 == unaff_s3) &&
           (piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))(), pcVar23 = pcStack_230,
           (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0)) {
          piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();
          pwStack_214 = *(word **)(*piVar9 + (int)pbVar24 * 4);
          pcVar23 = pcStack_230;
        }
        unaff_s5 = (word *)(int)(char)*pbStack_228;
        unaff_s6 = (word *)(uint)*pbStack_228;
        pwStack_210 = unaff_s5;
        if (unaff_s6 == unaff_s5) {
          piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))();
          pcVar23 = pcStack_230;
          if ((*(ushort *)(*piVar9 + (int)unaff_s6 * 2) & 1) != 0) {
            piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();
            unaff_s6 = (word *)(*piVar9 + (int)unaff_s6 * 4);
            pwStack_210 = *(word **)unaff_s6;
            pcVar23 = pcStack_230;
          }
        }
        if ((((unaff_s3 != (word *)&DAT_0000002d) && (unaff_s3 != (word *)0x5f)) ||
            ((unaff_s5 != (word *)&DAT_0000002d && (unaff_s5 != (word *)0x5f)))) &&
           (pwStack_214 != pwStack_210)) break;
        unaff_s4 = (word *)((int)unaff_s4 + 1);
        pbStack_228 = pbStack_228 + 1;
        iVar13 = *(int *)(pcVar23 + -0x7fd4);
        if (unaff_s4 == pwStack_208) goto LAB_000fbbb4;
      }
    }
    goto LAB_000fbb0c;
  }
  if (*(byte *)pwVar16 != *pbStack_228) goto LAB_000fbb0c;
  pwVar15 = unaff_s3;
  iVar13 = (**(code **)(pcStack_230 + -0x6238))(pbStack_228,pwVar16);
LAB_000fc280:
  pcVar23 = pcStack_230;
  if (iVar13 != 0) goto LAB_000fbb0c;
  pcVar19 = *(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);
  goto LAB_000fbbb8;
LAB_000fc0a8:
  pwStack_210 = (word *)(**(code **)(pcStack_230 + -0x6084))(unaff_s7,pwStack_214,unaff_s4,unaff_s8)
  ;
  pwVar15 = unaff_s3;
  iVar13 = (**(code **)(pcStack_230 + -0x6084))(unaff_s5,pbStack_228,unaff_s3,unaff_s6);
  pcVar23 = pcStack_230;
  if (pwStack_210 == (word *)0x0) {
    if (iVar13 == 0) goto LAB_000fbbb0;
LAB_000fc100:
    if (iVar13 + 2U < 2) goto LAB_000fc060;
    iStack_204 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc);
    iStack_1fc = iStack_204;
    iStack_1f8 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8);
    pcVar23 = pcStack_230;
    if (iStack_204 != iStack_1f8) goto LAB_000fbb0c;
    pwStack_214 = (word *)((int)pwStack_214 + (int)pwStack_210);
    pbStack_228 = pbStack_228 + (int)pwStack_210;
    pwStack_208 = (word *)((int)pwStack_208 - (int)pwStack_210);
  }
  else {
    if ((word *)0x1 < pwStack_210 + 1) goto LAB_000fc100;
LAB_000fc060:
    if (*(byte *)pwStack_214 != *pbStack_228) goto LAB_000fbb0c;
    pwStack_214 = (word *)((int)pwStack_214 + 1);
    pbStack_228 = pbStack_228 + 1;
    pwStack_208 = (word *)((int)pwStack_208 + -1);
  }
  iVar13 = *(int *)(pcStack_230 + -0x7fd4);
  pcVar23 = pcStack_230;
  if (pwStack_208 == (word *)0x0) goto LAB_000fbbb4;
  goto LAB_000fc0a8;
code_r0x000fbef4:
  iVar13 = *(int *)(iStack_224 + -0x3fd4);
  pcVar23 = pcStack_230;
  goto LAB_000fbb10;
LAB_000fbbb0:
  iVar13 = *(int *)(pcVar23 + -0x7fd4);
LAB_000fbbb4:
  pcVar19 = *(char **)(iVar13 + -0x3fd8);
LAB_000fbbb8:
  if ((pcVar19 == (char *)0x0) ||
     ((piVar9 = *(int **)(pcVar23 + -0x65a8), *pcVar19 == '.' &&
      (piVar9 = *(int **)(pcVar23 + -0x65a8), pcVar19[1] == '\0')))) {
    iVar5 = (**(code **)(pcVar23 + -0x60fc))(pwVar16);
    uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);
    pwVar14 = (word *)(**(code **)(pcStack_230 + -0x6074))(uVar7,pwVar16);
  }
  else {
    if ((*piVar9 == 0) || (**(char **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0) != '~')) {
      iVar13 = *(int *)(pcVar23 + -0x7fd4);
      unaff_s3 = (word *)(**(code **)(pcVar23 + -0x60fc))(*(undefined4 *)(iVar13 + -0x3fe0));
      iVar5 = (**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13);
      pwVar14 = (word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2));
      iVar5 = *(int *)(iVar13 + -0x3fe0);
      (**(code **)(pcStack_230 + -0x6074))(pwVar14,iVar5);
      unaff_s4 = (word *)((int)unaff_s3 + iVar5);
      unaff_s5 = unaff_s3;
      if (*(byte *)((int)unaff_s4 + -1) != 0x2f) {
        unaff_s5 = (word *)((int)unaff_s3 + 1);
        unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);
        *(byte *)unaff_s3 = 0x2f;
      }
    }
    else {
      unaff_s3 = (word *)(**(code **)(pcVar23 + -0x60fc))();
      iVar5 = (**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13);
      pwVar14 = (word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2));
      unaff_s4 = *(word **)(pcStack_230 + -0x7fd4);
      (**(code **)(pcStack_230 + -0x6074))(pwVar14,*(undefined4 *)(unaff_s4 + -0x1fec));
      unaff_s5 = unaff_s3;
      if (*(byte *)((int)unaff_s3 + *(int *)(unaff_s4 + -0x1fec) + -1) != 0x2f) {
        unaff_s5 = (word *)((int)unaff_s3 + 1);
        unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);
        *(byte *)unaff_s3 = 0x2f;
        *(byte *)((int)pwVar14 + (int)unaff_s5) = 0;
      }
    }
    (**(code **)(pcStack_230 + -0x6074))((byte *)((int)pwVar14 + (int)unaff_s5),pwVar16);
  }
  pcVar23 = pcStack_230;
  if (pwVar18 != pwVar16) {
    (**(code **)(pcStack_230 + -0x798c))(pwVar16);
    pcVar23 = pcStack_230;
  }
LAB_000fbca4:
  if (iStack_1e4 == **(int **)(pcVar23 + -0x5fb4)) {
    return pwVar14;
  }
  pcVar23 = *(code **)(pcVar23 + -0x6004);
  pcVar25 = FUN_000fc42c;
  iVar5 = iStack_1e4;
  (*pcVar23)();
  pcStack_280 = pcVar23 + 0x62114;
  aiStack_278[3] = **(int **)(pcVar23 + 0x5c160);
  pwStack_268 = pwVar16;
  pwStack_264 = pwVar18;
  pwStack_260 = pwVar14;
  pwStack_25c = unaff_s3;
  pwStack_258 = unaff_s4;
  pwStack_254 = unaff_s5;
  pwStack_250 = unaff_s6;
  pwStack_24c = unaff_s7;
  ppbStack_248 = unaff_s8;
  pcStack_244 = pcVar25;
  iVar10 = (**(code **)(pcVar23 + 0x5c018))();
  aiStack_278[1] = 0;
  aiStack_278[2] = 0;
  pwVar16 = (word *)0x0;
  iVar13 = 0;
  pcVar23 = pcStack_280;
  while( true ) {
    pwVar14 = (word *)(iVar5 + iVar13);
    bVar2 = *(byte *)pwVar14;
    iVar17 = iVar13;
    if (bVar2 == 0) break;
    if ((bVar2 < 0x20) || (bVar2 == 0x7f)) {
      pwVar16 = pwVar16 + 1;
      iVar13 = iVar13 + 1;
    }
    else {
      pwVar15 = (word *)((iVar10 + 1) - iVar13);
      iVar11 = (**(code **)(pcVar23 + -0x6084))(aiStack_278,pwVar14,pwVar15,aiStack_278 + 1);
      pcVar23 = pcStack_280;
      if (iVar11 + 2U < 2) {
        pwVar16 = (word *)((int)pwVar16 + 1);
        iVar13 = iVar13 + 1;
        aiStack_278[1] = 0;
        aiStack_278[2] = 0;
      }
      else {
        iVar17 = iVar13 + iVar11;
        if (iVar11 == 0) break;
        if (aiStack_278[0] < 0x40) {
          iVar13 = 1;
          if (aiStack_278[0] < 0x25) {
            if (3 < aiStack_278[0] - 0x20U) {
              pcVar23 = *(code **)(pcStack_280 + -0x5f84);
              goto LAB_000fc594;
            }
            iVar13 = 1;
          }
        }
        else {
          pcVar23 = *(code **)(pcStack_280 + -0x5f84);
          if (aiStack_278[0] < 0x41) {
LAB_000fc594:
            iVar13 = (*pcVar23)();
          }
          else {
            iVar13 = 1;
            if (0x5f < aiStack_278[0]) {
              if (0x1d < aiStack_278[0] - 0x61U) goto LAB_000fc594;
              iVar13 = 1;
            }
          }
        }
        if (iVar13 < 0) {
          iVar13 = 1;
        }
        pwVar16 = (word *)((int)pwVar16 + iVar13);
        iVar13 = iVar17;
        pcVar23 = pcStack_280;
      }
    }
  }
  if (aiStack_278[3] == **(int **)(pcVar23 + -0x5fb4)) {
    return pwVar16;
  }
  pcVar23 = *(code **)(pcVar23 + -0x6004);
  pcVar25 = FUN_000fc5fc;
  iVar11 = aiStack_278[3];
  (*pcVar23)();
  pcStack_2e0 = pcVar23 + 0x61f44;
  uStack_2a4 = 1;
  uStack_2a8 = 0x7f;
  pbStack_2bc = (byte *)**(undefined4 **)(pcVar23 + 0x5bf90);
  pwVar18 = pwVar14;
  pwStack_2cc = pwVar15;
  iStack_2b8 = iVar17;
  pwStack_2b4 = pwVar16;
  iStack_2b0 = iVar13;
  iStack_2ac = iVar5;
  piStack_2a0 = aiStack_278 + 1;
  piStack_29c = aiStack_278;
  iStack_298 = iVar10 + 1;
  pcStack_294 = pcVar25;
  iVar5 = (**(code **)(pcVar23 + 0x5be48))();
  iStack_2d4 = iVar11 + iVar5 + 1;
  aiStack_2c8[1] = 0;
  aiStack_2c8[2] = 0;
  if ((**(int **)(pcStack_2e0 + -0x65a0) < 1) || ((int)pwVar14 < iVar5)) {
    if (**(int **)(pcStack_2e0 + -0x67a8) == 0) goto LAB_000fc714;
    if ((pwVar14 == (word *)0x0) || (**(int **)(pcStack_2e0 + -0x67a4) < 1)) goto LAB_000fc6f0;
    if (0 < **(int **)(pcStack_2e0 + -0x65a0)) goto LAB_000fc750;
    pcVar23 = *(code **)(pcStack_2e0 + -0x659c);
    pwVar6 = pwVar14;
LAB_000fc6c0:
    (*pcVar23)();
    (**(code **)(pcStack_2e0 + -0x6598))();
    pwVar20 = (word *)0x0;
    pwVar14 = (word *)0x0;
  }
  else if (**(int **)(pcStack_2e0 + -0x67a8) == 0) {
    pwVar14 = (word *)0x0;
    pwVar20 = (word *)0x0;
    pwVar6 = (word *)0x0;
  }
  else {
    pwVar14 = (word *)0x0;
LAB_000fc6f0:
    (**(code **)(pcStack_2e0 + -0x659c))();
    (**(code **)(pcStack_2e0 + -0x6594))(pwStack_2cc);
LAB_000fc714:
    pwVar6 = pwVar14;
    if (pwVar14 == (word *)0x0) {
      pwVar20 = (word *)0x0;
    }
    else if (**(int **)(pcStack_2e0 + -0x65a0) < 1) {
      pcVar23 = *(code **)(pcStack_2e0 + -0x659c);
      if (0 < **(int **)(pcStack_2e0 + -0x67a4)) goto LAB_000fc6c0;
      pwVar6 = (word *)0x0;
      pwVar20 = (word *)0x0;
    }
    else {
LAB_000fc750:
      pwVar16 = (word *)0x2e;
      if (*(byte *)((int)pwVar14 + iVar11) == 0x2e) {
        pwVar16 = (word *)0x5f;
      }
      puVar21 = *(undefined4 **)(pcStack_2e0 + -0x6ef0);
      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);
      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);
      pwVar18 = (word *)*puVar21;
      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16);
      pwVar20 = (word *)0x3;
      pwVar6 = (word *)0x0;
    }
  }
  pwVar14 = (word *)((int)pwVar14 + iVar11);
  puVar21 = *(undefined4 **)(pcStack_2e0 + -0x6ef0);
  iStack_2d0 = *(int *)(pcStack_2e0 + -26000) + 0xb8;
  while (bVar2 = *(byte *)pwVar14, bVar2 != 0) {
    if (bVar2 < 0x20) {
      (**(code **)(pcStack_2e0 + -0x61f0))(0x5e,*puVar21);
      pwVar16 = (word *)((int)(char)*(byte *)pwVar14 | 0x40);
      pbVar24 = (byte *)(*(byte *)pwVar14 | 0x40);
      if ((word *)pbVar24 == pwVar16) {
        piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x6290))();
        if ((*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 2) != 0) {
          piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x5f10))();
          pwVar16 = *(word **)(*piVar9 + (int)pbVar24 * 4);
        }
      }
      pwVar18 = (word *)*puVar21;
      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16);
      pwVar20 = pwVar20 + 1;
      pwVar14 = (word *)((int)pwVar14 + 1);
      aiStack_2c8[1] = 0;
      aiStack_2c8[2] = 0;
    }
    else if (bVar2 == 0x7f) {
      (**(code **)(pcStack_2e0 + -0x61f0))(0x5e,*puVar21);
      pwVar18 = (word *)*puVar21;
      (**(code **)(pcStack_2e0 + -0x61f0))(0x3f);
      pwVar20 = pwVar20 + 1;
      pwVar14 = (word *)((int)pwVar14 + 1);
      aiStack_2c8[1] = 0;
      aiStack_2c8[2] = 0;
    }
    else {
      pwVar15 = (word *)(iStack_2d4 - (int)pwVar14);
      pwVar18 = pwVar14;
      pwVar16 = (word *)(**(code **)(pcStack_2e0 + -0x6084))(aiStack_2c8,pwVar14,pwVar15);
      iVar5 = 1;
      if (pwVar16 + 1 < (word *)0x2) {
        aiStack_2c8[1] = 0;
        aiStack_2c8[2] = 0;
        pwVar16 = (word *)0x1;
      }
      else {
        if (pwVar16 == (word *)0x0) break;
        if (aiStack_2c8[0] < 0x40) {
          if (aiStack_2c8[0] < 0x25) {
            pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);
            if (3 < aiStack_2c8[0] - 0x20U) goto LAB_000fc9c0;
          }
          else {
            iVar5 = 1;
          }
        }
        else if (aiStack_2c8[0] < 0x41) {
          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);
LAB_000fc9c0:
          iVar5 = (*pcVar23)();
        }
        else if (aiStack_2c8[0] < 0x60) {
          iVar5 = 1;
        }
        else {
          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);
          if (0x1d < aiStack_2c8[0] - 0x61U) goto LAB_000fc9c0;
          iVar5 = 1;
        }
        if (iVar5 < 0) {
          iVar5 = 1;
        }
      }
      pwVar18 = (word *)0x1;
      pwVar15 = pwVar16;
      (**(code **)(pcStack_2e0 + -0x6054))(pwVar14,1,pwVar16,*puVar21);
      pwVar14 = (word *)((int)pwVar14 + (int)pwVar16);
      pwVar20 = (word *)((int)pwVar20 + iVar5);
    }
    if ((0 < (int)pwVar6) && ((int)pwVar6 <= (int)pwVar14 - iVar11)) {
      (**(code **)(pcStack_2e0 + -0x658c))();
      (**(code **)(pcStack_2e0 + -0x6588))(iStack_2d0);
      pwVar6 = (word *)**(undefined4 **)(pcStack_2e0 + -0x67a8);
      if (pwVar6 != (word *)0x0) {
        (**(code **)(pcStack_2e0 + -0x659c))();
        (**(code **)(pcStack_2e0 + -0x6594))(pwStack_2cc);
        pwVar6 = (word *)0x0;
      }
    }
  }
  if (**(int **)(pcStack_2e0 + -0x67a8) != 0) {
    (**(code **)(pcStack_2e0 + -0x658c))();
    (**(code **)(pcStack_2e0 + -0x6588))(*(int *)(pcStack_2e0 + -26000) + 0xb8);
  }
  if (pbStack_2bc == (byte *)**(undefined4 **)(pcStack_2e0 + -0x5fb4)) {
    return pwVar20;
  }
  pcVar23 = *(code **)(pcStack_2e0 + -0x6004);
  pcVar25 = FUN_000fcae4;
  pbVar24 = pbStack_2bc;
  (*pcVar23)();
  iStack_314 = **(int **)(pcVar23 + 0x5baa8);
  pwStack_310 = pwVar14;
  pwStack_30c = pwVar16;
  pwStack_308 = pwVar20;
  pwStack_304 = pwVar6;
  piStack_300 = aiStack_2c8 + 1;
  puStack_2fc = puVar21;
  iStack_2f8 = iVar11;
  pcStack_2f4 = pcVar25;
  if ((**(int **)(pcVar23 + 0x5b2b4) == 0) ||
     (piVar9 = *(int **)(pcVar23 + 0x5b4d8), **(int **)(pcVar23 + 0x5ab50) == 0)) {
    pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,pbVar24);
    piVar9 = *(int **)(pcVar23 + 0x5b4d8);
    if (**(int **)(pcVar23 + 0x5ab50) == 0) goto LAB_000fcb84;
  }
  if ((*piVar9 == 0 && **(int **)(pcVar23 + 0x5b2b4) == 0) && **(int **)(pcVar23 + 0x5b49c) == 0)
  goto LAB_000fcb84;
  if ((word *)pbVar24 == pwVar18) {
    iStack_31c = (**(code **)(pcVar23 + 0x5a028))(pwVar18);
    if (**(int **)(pcVar23 + 0x5b4d8) != 0) {
      iVar5 = FUN_000f9fd0(iStack_31c);
      if (**(int **)(pcVar23 + 0x5b2b4) != 0) goto LAB_000fcf40;
      goto LAB_000fcddc;
    }
    if (**(int **)(pcVar23 + 0x5b49c) == 0) {
      piVar9 = *(int **)(pcVar23 + 0x5b2b4);
LAB_000fcef0:
      iVar5 = 0;
      if (*piVar9 == 0) {
        (**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);
        goto LAB_000fcb84;
      }
LAB_000fcf40:
      pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,iStack_31c);
      goto LAB_000fcddc;
    }
    iVar5 = FUN_000fa188(iStack_31c);
    piVar9 = *(int **)(pcVar23 + 0x5b2b4);
    if (iVar5 == 0) goto LAB_000fcef0;
    if (*piVar9 != 0) {
      iVar5 = 0x2f;
      goto LAB_000fcf40;
    }
    (**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);
    iVar5 = 0x2f;
  }
  else {
    bVar2 = pbVar24[-1];
    pbVar24[-1] = 0;
    if ((pwVar18 == (word *)0x0) || (*(byte *)pwVar18 == 0)) {
      pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);
    }
    else {
      pwStack_318 = pwVar18;
      if (*(byte *)pwVar18 == 0x2f) {
        if ((byte)*pwVar18 == 0) {
          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59acc) + -0x794);
        }
        else if (((byte)*pwVar18 == 0x2f) && (*(byte *)(pwVar18 + 1) == 0)) {
          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);
        }
      }
    }
    iStack_31c = (**(code **)(pcVar23 + 0x5a028))(pwStack_318);
    if ((code *)**(undefined4 **)(pcVar23 + 0x5ab20) != (code *)0x0) {
      (*(code *)**(undefined4 **)(pcVar23 + 0x5ab20))(&iStack_31c);
    }
    iVar5 = (**(code **)(pcVar23 + 0x5b960))(iStack_31c);
    iVar13 = (**(code **)(pcVar23 + 0x5b960))(pbVar24);
    pwVar16 = (word *)(**(code **)(pcVar23 + 0x59ad4))(iVar13 + iVar5 + 2);
    (**(code **)(pcVar23 + 0x5b9e8))(pwVar16,iStack_31c);
    if (*(char *)(iStack_31c + iVar5 + -1) == '/') {
      iVar5 = iVar5 + -1;
    }
    else {
      *(byte *)((int)pwVar16 + iVar5) = 0x2f;
    }
    (**(code **)(pcVar23 + 0x5b9e8))((byte *)((int)pwVar16 + iVar5 + 1),pbVar24);
    if (**(int **)(pcVar23 + 0x5b4d8) == 0) {
      iVar5 = **(int **)(pcVar23 + 0x5b49c);
      piVar9 = *(int **)(pcVar23 + 0x5b2b4);
      if (iVar5 != 0) {
        pwStack_318 = (word *)0x0;
        if ((**(int **)(pcVar23 + 0x5ab20) == 0) && (**(int **)(pcVar23 + 0x5ac70) != 0)) {
          iVar5 = (**(code **)(pcVar23 + 0x5b960))(pwVar16);
          uVar7 = (**(code **)(pcVar23 + 0x59ad4))(iVar5 + 1);
          pwStack_318 = (word *)(**(code **)(pcVar23 + 0x5b9e8))(uVar7,pwVar16);
          (*(code *)**(undefined4 **)(pcVar23 + 0x5ac70))(&pwStack_318);
          (**(code **)(pcVar23 + 0x5a0d0))(pwVar16);
          pwVar16 = pwStack_318;
        }
        iVar5 = FUN_000fa188(pwVar16);
        if (iVar5 != 0) {
          iVar5 = 0x2f;
        }
        goto LAB_000fcdb0;
      }
    }
    else {
      iVar5 = FUN_000f9fd0(pwVar16);
LAB_000fcdb0:
      piVar9 = *(int **)(pcVar23 + 0x5b2b4);
    }
    if (*piVar9 != 0) {
      pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,pwVar16);
    }
    (**(code **)(pcVar23 + 0x5a0d0))(pwVar16);
    pbVar24[-1] = bVar2;
LAB_000fcddc:
    (**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);
    if (iVar5 == 0) goto LAB_000fcb84;
  }
  (**(code **)(pcVar23 + 0x5b86c))(iVar5,**(undefined4 **)(pcVar23 + 0x5ab6c));
  pwVar6 = (word *)((int)pwVar6 + 1);
LAB_000fcb84:
  if (iStack_314 == **(int **)(pcVar23 + 0x5baa8)) {
    return pwVar6;
  }
  pcVar23 = *(code **)(pcVar23 + 0x5ba58);
  (*pcVar23)();
  if ((**(int **)(pcVar23 + 0x5a67c) == iStack_314) &&
     (*(int *)(*(int *)(pcVar23 + 0x595b0) + -0x3fb8) == 0)) {
    return (word *)0x3f;
  }
  if (**(int **)(pcVar23 + 0x5b004) == 0) {
    pwVar16 = (word *)&DAT_00000009;
    if (**(int **)(pcVar23 + 0x5b008) != 0) {
      pwVar16 = (word *)0x40;
    }
    return pwVar16;
  }
  return (word *)&DAT_00000021;
}


lui gp,0x6
addiu gp,gp,0x3d64
addu gp,gp,t9
addiu sp,sp,-0xd8
sw ra,0xd4(sp)
sw s2,0xd0(sp)
sw s1,0xcc(sp)
sw s0,0xc8(sp)
sw gp,0x10(sp)
or s1,a3,zero
lw v0,-0x5fb4(gp)
lw v0,0x0(v0)
sw v0,0xc4(sp)
beq a2,zero,0x000fa854
_lw v0,-0x6f50(gp)
lw v0,0x0(v0)
beq v0,zero,0x000fa850
_lw v1,-0x6f28(gp)
lw v1,0x0(v1)
bne v1,zero,0x000fa8cc
_lw a3,-0x6f58(gp)
lw a3,0x0(a3)
addu v0,a3,v0
lb v0,-0x1(v0)
beq v0,a2,0x000fa8d4
_nop
sb a2,0xc0(sp)
b 0x000fa854
_li a2,0x1
or a2,v0,zero
beq a1,zero,0x000fa8dc
_lw v0,-0x6f1c(gp)
addiu v0,sp,0xc8
addu v0,v0,a2
sb a1,-0x8(v0)
addiu a2,a2,0x1
addiu s0,a2,0x1
addiu v0,sp,0xc8
addu a2,v0,a2
sb zero,-0x8(a2)
lw v0,-0x6f0c(gp)
lw v0,0x0(v0)
bne v0,zero,0x000fa908
_lw v0,-0x6f50(gp)
lw v1,0x0(v0)
lw v0,-0x6f54(gp)
lw v0,0x0(v0)
beq v1,v0,0x000fab0c
_addiu a0,sp,0xc0
or v0,s0,zero
lw a0,0xc4(sp)
lw v1,-0x5fb4(gp)
lw v1,0x0(v1)
bne a0,v1,0x000fab24
_lw ra,0xd4(sp)
lw s2,0xd0(sp)
lw s1,0xcc(sp)
lw s0,0xc8(sp)
jr ra
_addiu sp,sp,0xd8
b 0x000fa854
_or a2,zero,zero
b 0x000fa854
_or a2,v1,zero
lw v0,0x0(v0)
bne v0,zero,0x000fa870
_addiu s0,a2,0x1
lw v0,-0x6f18(gp)
lw v0,0x0(v0)
beq v0,zero,0x000fa870
_addiu v1,sp,0xc8
addu v1,v1,a2
sb v0,-0x8(v1)
b 0x000fa86c
_addiu a2,a2,0x1
lw t9,-0x7a34(gp)
jalr t9
_nop
lw gp,0x10(sp)
or s2,v0,zero
lw v0,-0x6dec(gp)
lw v0,0x0(v0)
beq v0,zero,0x000fa99c
_or a0,s2,zero
lw t9,-0x60fc(gp)
jalr t9
_nop
lw gp,0x10(sp)
addiu a0,v0,0x1
lw t9,-0x7f88(gp)
jalr t9
_nop
lw gp,0x10(sp)
or a1,s2,zero
or a0,v0,zero
lw t9,-0x6074(gp)
jalr t9
_nop
lw gp,0x10(sp)
sw v0,0x1c(sp)
lw v0,-0x6dec(gp)
lw t9,0x0(v0)
addiu a0,sp,0x1c
jalr t9
_nop
lw gp,0x10(sp)
or a0,s2,zero
lw t9,-0x798c(gp)
jalr t9
_nop
lw gp,0x10(sp)
lw s2,0x1c(sp)
beq s1,zero,0x000fa9b0
_lw v0,-0x6c9c(gp)
lw v0,0x0(v0)
beq v0,zero,0x000faa20
_addiu a2,sp,0x20
addiu a2,sp,0x20
or a1,s2,zero
li a0,0x3
lw t9,-0x6258(gp)
jalr t9
_nop
lw gp,0x10(sp)
bne v0,zero,0x000fa9f0
_lw v0,-0x6f50(gp)
lw v0,0x38(sp)
andi v0,v0,0xf000
li v1,0x4000
beq v0,v1,0x000faa40
_ori v1,zero,0xa000
beq v0,v1,0x000faacc
_lw v0,-0x6f50(gp)
lw v1,0x0(v0)
lw v0,-0x6f54(gp)
lw v0,0x0(v0)
beq v1,v0,0x000faaf4
_addiu a0,sp,0xc0
or a0,s2,zero
lw t9,-0x798c(gp)
jalr t9
_nop
lw gp,0x10(sp)
b 0x000fa8a4
_or v0,s0,zero
or a1,s2,zero
li a0,0x3
lw t9,-0x6278(gp)
jalr t9
_nop
lw gp,0x10(sp)
b 0x000fa9cc
_nop
lw v0,-0x65c0(gp)
lw v0,0x0(v0)
beq v0,zero,0x000faa08
_or a0,s2,zero
lw v0,-0x6f50(gp)
lw v0,0x0(v0)
beq v0,zero,0x000faa94
_lw v1,-0x6f58(gp)
lw v1,0x0(v1)
addu a0,v1,v0
lb a0,0x0(a0)
bne a0,zero,0x000faa90
_nop
addu v0,v1,v0
lb v1,-0x1(v0)
li v0,0x2f
bne v1,v0,0x000faaac
_nop
b 0x000faa08
_or a0,s2,zero
lw v1,-0x6f58(gp)
lw v1,0x0(v1)
addu v0,v1,v0
lb v1,0x0(v0)
li v0,0x2f
beq v1,v0,0x000faa04
_nop
lw a0,-0x7eec(gp)
addiu a0,a0,-0x5e9c
lw t9,-0x6ec8(gp)
bal 0x00115db0
_nop
lw gp,0x10(sp)
b 0x000faa08
_or a0,s2,zero
or a0,s2,zero
lw t9,-0x6624(gp)
addiu t9,t9,-0x5e78
bal 0x000fa188
_nop
lw gp,0x10(sp)
bne v0,zero,0x000faa08
_or a0,s2,zero
b 0x000fa9f0
_lw v0,-0x6f50(gp)
lw t9,-0x6ec8(gp)
bal 0x00115db0
_nop
lw gp,0x10(sp)
b 0x000faa08
_or a0,s2,zero
lw t9,-0x6ec8(gp)
bal 0x00115db0
_nop
lw gp,0x10(sp)
b 0x000fa8a4
_or v0,s0,zero
lw t9,-0x6004(gp)
jalr t9
_nop
(translation_unit "/* WARNING: Type propagation algorithm not settling */\n\nword * FUN_000fa7dc(undefined4 param_1,word *param_2,int param_3,byte *param_4)\n\n{\n  char cVar1;\n  byte bVar2;\n  bool bVar3;\n  uint uVar4;\n  int iVar5;\n  word *pwVar6;\n  undefined4 uVar7;\n  undefined1 *puVar8;\n  int *piVar9;\n  int iVar10;\n  int iVar11;\n  byte *pbVar12;\n  int iVar13;\n  word *pwVar14;\n  word *pwVar15;\n  word *pwVar16;\n  int iVar17;\n  word *pwVar18;\n  word *unaff_s2;\n  char *pcVar19;\n  word *pwVar20;\n  word *unaff_s3;\n  word *unaff_s4;\n  word *unaff_s5;\n  undefined4 *puVar21;\n  word *unaff_s6;\n  word *unaff_s7;\n  undefined *puVar22;\n  code *pcVar23;\n  byte **unaff_s8;\n  byte *pbVar24;\n  code *pcVar25;\n  int iStack_31c;\n  word *pwStack_318;\n  int iStack_314;\n  word *pwStack_310;\n  word *pwStack_30c;\n  word *pwStack_308;\n  word *pwStack_304;\n  int *piStack_300;\n  undefined4 *puStack_2fc;\n  int iStack_2f8;\n  code *pcStack_2f4;\n  code *pcStack_2e0;\n  int iStack_2d4;\n  int iStack_2d0;\n  word *pwStack_2cc;\n  int aiStack_2c8 [3];\n  byte *pbStack_2bc;\n  int iStack_2b8;\n  word *pwStack_2b4;\n  int iStack_2b0;\n  int iStack_2ac;\n  undefined4 uStack_2a8;\n  undefined4 uStack_2a4;\n  int *piStack_2a0;\n  int *piStack_29c;\n  int iStack_298;\n  code *pcStack_294;\n  code *pcStack_280;\n  int aiStack_278 [4];\n  word *pwStack_268;\n  word *pwStack_264;\n  word *pwStack_260;\n  word *pwStack_25c;\n  word *pwStack_258;\n  word *pwStack_254;\n  word *pwStack_250;\n  word *pwStack_24c;\n  byte **ppbStack_248;\n  code *pcStack_244;\n  code *pcStack_230;\n  byte *pbStack_228;\n  int iStack_224;\n  undefined4 *puStack_220;\n  int iStack_21c;\n  int iStack_218;\n  word *pwStack_214;\n  word *pwStack_210;\n  int *piStack_20c;\n  word *pwStack_208;\n  int iStack_204;\n  int iStack_1fc;\n  int iStack_1f8;\n  byte *pbStack_1f4;\n  undefined4 uStack_1f0;\n  undefined4 uStack_1ec;\n  undefined4 uStack_1e8;\n  int iStack_1e4;\n  word *pwStack_1e0;\n  word *pwStack_1dc;\n  undefined4 *puStack_1d8;\n  word *pwStack_1d4;\n  word *pwStack_1d0;\n  word *pwStack_1cc;\n  word *pwStack_1c8;\n  word *pwStack_1c4;\n  byte **ppbStack_1c0;\n  code *pcStack_1bc;\n  code *pcStack_1a8;\n  undefined1 auStack_19d [9];\n  word *pwStack_194;\n  byte *pbStack_190;\n  word *pwStack_18c;\n  word *pwStack_188;\n  word *pwStack_184;\n  word *pwStack_180;\n  word *pwStack_17c;\n  word *pwStack_178;\n  code *pcStack_174;\n  word *pwStack_160;\n  word *pwStack_15c;\n  undefined *puStack_158;\n  word *pwStack_14c;\n  word *pwStack_148;\n  word *pwStack_144;\n  word *pwStack_140;\n  word *pwStack_13c;\n  uint uStack_138;\n  int *piStack_134;\n  word *pwStack_130;\n  int *piStack_12c;\n  byte *pbStack_124;\n  byte *pbStack_120;\n  undefined4 uStack_11c;\n  undefined4 uStack_118;\n  undefined4 uStack_114;\n  undefined4 uStack_110;\n  undefined4 uStack_10c;\n  undefined4 uStack_108;\n  undefined4 *puStack_104;\n  word *pwStack_100;\n  byte *pbStack_fc;\n  word *pwStack_f8;\n  word *local_bc;\n  word awStack_b8 [12];\n  uint local_a0;\n  undefined1 local_18 [4];\n  int *local_14;\n  \n  local_14 = *(int **)PTR___stack_chk_guard_0015858c;\n  if (param_3 != 0) {\n    if (*(int *)PTR_rl_point_001575f0 == 0) {\n      param_3 = 0;\n    }\n    else if (*(int *)PTR_rl_completion_suppress_quote_00157618 == 0) {\n      if (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + *(int *)PTR_rl_point_001575f0 + -1) ==\n          param_3) {\n        param_3 = 0;\n      }\n      else {\n        local_18[0] = (undefined1)param_3;\n        param_3 = 1;\n      }\n    }\n    else {\n      param_3 = 0;\n    }\n  }\n  if (param_2 == (word *)0x0) {\n    pwVar16 = (word *)(param_3 + 1);\n    if ((*(int *)PTR_rl_completion_suppress_append_00157624 == 0) &&\n       (*(int *)PTR_rl_completion_append_character_00157628 != 0)) {\n      local_18[param_3] = (char)*(int *)PTR_rl_completion_append_character_00157628;\n      goto LAB_000fa86c;\n    }\n  }\n  else {\n    local_18[param_3] = (char)param_2;\nLAB_000fa86c:\n    pwVar16 = (word *)(param_3 + 2);\n    param_3 = param_3 + 1;\n  }\n  pwVar15 = (word *)(&stack0xfffffff0 + param_3);\n  local_18[param_3] = 0;\n  if (*(int *)PTR_rl_filename_completion_desired_00157634 == 0) {\n    if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {\n      rl_insert_text(local_18);\n    }\n  }\n  else {\n    unaff_s2 = (word *)(*(code *)PTR_tilde_expand_00156b0c)();\n    if (*(int *)PTR_rl_filename_stat_hook_00157754 != 0) {\n      iVar5 = (*(code *)PTR_strlen_00158444)(unaff_s2);\n      uVar7 = (*(code *)PTR_xmalloc_001565b8)(iVar5 + 1);\n      local_bc = (word *)(*(code *)PTR_strcpy_001584cc)(uVar7,unaff_s2);\n      (**(code **)PTR_rl_filename_stat_hook_00157754)(&local_bc);\n      (*(code *)PTR_xfree_00156bb4)(unaff_s2);\n      unaff_s2 = local_bc;\n    }\n    param_2 = unaff_s2;\n    if ((param_4 == (byte *)0x0) ||\n       (pwVar15 = awStack_b8, *(int *)PTR_rl_completion_mark_symlink_dirs_001578a4 != 0)) {\n      pwVar15 = awStack_b8;\n      iVar5 = (*(code *)PTR___xstat64_001582e8)(3);\n    }\n    else {\n      iVar5 = (*(code *)PTR___lxstat64_001582c8)(3);\n    }\n    if (iVar5 == 0) {\n      if ((local_a0 & 0xf000) == 0x4000) {\n        if (*(int *)PTR__rl_complete_mark_directories_00157f80 != 0) {\n          iVar5 = *(int *)PTR_rl_point_001575f0;\n          if ((iVar5 == 0) || (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5) != '\0')) {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5);\n          }\n          else {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5 + -1);\n          }\n          if (cVar1 != '/') {\n            rl_insert_text(PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c);\n          }\n        }\n      }\n      else if (((local_a0 & 0xf000) != 0xa000) || (iVar5 = FUN_000fa188(unaff_s2), iVar5 == 0))\n      goto LAB_000fa9f0;\n    }\n    else {\nLAB_000fa9f0:\n      if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {\n        rl_insert_text(local_18);\n      }\n    }\n    (*(code *)PTR_xfree_00156bb4)(unaff_s2);\n  }\n  if (local_14 == *(int **)PTR___stack_chk_guard_0015858c) {\n    return pwVar16;\n  }\n  piVar9 = local_14;\n  puVar22 = PTR___stack_chk_fail_0015853c;\n  (*(code *)PTR___stack_chk_fail_0015853c)();\n  puStack_158 = puVar22 + 0x63a10;\n  puStack_104 = (undefined4 *)**(undefined4 **)(puVar22 + 0x5da5c);\n  pwVar14 = param_2;\n  pwStack_130 = pwVar15;\n  piStack_12c = piVar9;\n  pwStack_100 = pwVar16;\n  pbStack_fc = param_4;\n  pwStack_f8 = unaff_s2;\n  if (param_2 == (word *)0x1) {\n    *piVar9 = piVar9[1];\n    piVar9[1] = 0;\n    pwStack_13c = param_2;\n  }\n  else {\n    if ((int)param_2 < 2) {\n      pwStack_140 = (word *)&__DT_SYMTAB[0x3d1].st_info;\n    }\n    else {\n      pwVar18 = (word *)(piVar9 + 1);\n      pwStack_140 = (word *)&__DT_SYMTAB[0x3d1].st_info;\n      pwStack_13c = (word *)0x1;\n      unaff_s3 = *(word **)(puVar22 + 0x5d2e8);\n      piStack_134 = *(int **)(puVar22 + 0x5d454);\n      unaff_s8 = &pbStack_124;\n      do {\n        uVar4 = (**(code **)(puStack_158 + -0x6060))();\n        if ((1 < uVar4) && (*(int *)unaff_s3 == 0)) {\n          uStack_11c = 0;\n          uStack_118 = 0;\n          uStack_114 = 0;\n          uStack_110 = 0;\n        }\n        if (*piStack_134 == 0) {\n          param_4 = (byte *)(int)**(char **)pwVar18;\n          unaff_s5 = pwVar18;\n          if (param_4 == (byte *)0x0) {\n            pwVar16 = (word *)0x0;\n            goto LAB_000fac1c;\n          }\n          pwVar16 = (word *)(int)**(char **)(pwVar18 + 2);\n          pwStack_14c = (word *)0x0;\n          unaff_s4 = pwVar16;\n          if (pwVar16 == (word *)0x0) goto LAB_000fac1c;\n          unaff_s6 = (word *)&uStack_11c;\n          pwStack_148 = (word *)&uStack_114;\n          unaff_s7 = (word *)&uStack_10c;\n          do {\n            pwVar16 = pwStack_14c;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\n              if ((word *)param_4 != unaff_s4) goto LAB_000fac1c;\n            }\n            else {\n              uStack_10c = uStack_11c;\n              uStack_108 = uStack_118;\n              pwStack_15c = pwStack_148;\n              pwVar15 = unaff_s6;\n              pwStack_160 = pwVar16;\n              iVar5 = (**(code **)(puStack_158 + -0x65b8))\n                                (*(undefined4 *)pwVar18,pwVar16,unaff_s6,\n                                 *(undefined4 *)(pwVar18 + 2));\n              pwVar14 = unaff_s7;\n              if (iVar5 == 0) goto LAB_000fac1c;\n              iVar5 = (**(code **)(puStack_158 + -0x65b4))\n                                ((byte *)((int)pwStack_14c + *(int *)pwVar18));\n              if (1 < iVar5) {\n                pwVar16 = (word *)((int)pwVar16 + iVar5 + -1);\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_14c = pwVar16;\n            if (param_4 == (byte *)0x0) goto LAB_000fac1c;\n            unaff_s4 = (word *)(int)(char)*(byte *)((int)pwVar16 + *(int *)(pwVar18 + 2));\n            bVar3 = (int)pwVar16 < (int)pwStack_140;\n          } while (unaff_s4 != (word *)0x0);\n        }\n        else {\n          pwVar16 = (word *)0x0;\n          unaff_s7 = (word *)&uStack_11c;\n          unaff_s6 = (word *)&uStack_114;\n          while( true ) {\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_148 = pwVar16;\n            pwStack_144 = pwVar18;\n            if (unaff_s4 == (word *)param_4) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))();\n              if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n                param_4 = *(byte **)unaff_s4;\n              }\n            }\n            unaff_s5 = (word *)&pbStack_120;\n            if (param_4 == (byte *)0x0) break;\n            pwStack_14c = (word *)(int)(char)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))\n            ;\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n            if ((unaff_s4 == pwStack_14c) &&\n               (piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0)) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n              unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n              pwStack_14c = *(word **)unaff_s4;\n            }\n            if (pwStack_14c == (word *)0x0) break;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\njoined_r0x000facac:\n              if ((word *)param_4 != pwStack_14c) break;\n            }\n            else {\n              pbVar24 = (byte *)((int)pwStack_148 + *(int *)pwStack_144);\n              uVar7 = (**(code **)(puStack_158 + -0x60fc))(pbVar24);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,pbVar24,uVar7,unaff_s7);\n              unaff_s4 = (word *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n              pwVar15 = (word *)(**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              pwVar14 = unaff_s4;\n              iVar5 = (**(code **)(puStack_158 + -0x6084))(&pbStack_120,unaff_s4,pwVar15,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar5 + 2U < 2)) goto joined_r0x000facac;\n              param_4 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_124);\n              pbStack_124 = param_4;\n              pbStack_120 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_120);\n              if (param_4 != pbStack_120) break;\n              if (1 < uStack_138) {\n                pwVar16 = (word *)((int)pwStack_148 + (uStack_138 - 1));\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\nLAB_000fac1c:\n          bVar3 = (int)pwVar16 < (int)pwStack_140;\n        }\n        pwVar6 = pwStack_130;\n        if (bVar3) {\n          pwStack_140 = pwVar16;\n        }\n        pwStack_13c = (word *)((int)pwStack_13c + 1);\n        pwVar18 = pwVar18 + 2;\n      } while (param_2 != pwStack_13c);\n      unaff_s2 = pwVar18;\n      if (((pwStack_140 == (word *)0x0) && (pwStack_130 != (word *)0x0)) &&\n         (pwVar16 = pwStack_130, *(byte *)pwStack_130 != 0)) {\n        iVar5 = (**(code **)(puStack_158 + -0x60fc))(pwStack_130);\n        iVar5 = (**(code **)(puStack_158 + -0x7f88))(iVar5 + 1);\n        *piStack_12c = iVar5;\n        pwVar14 = pwVar6;\n        (**(code **)(puStack_158 + -0x6074))(iVar5);\n        pwVar16 = pwVar6;\n        goto LAB_000fb1f0;\n      }\n    }\n    iVar5 = (**(code **)(puStack_158 + -0x7f88))((byte *)((int)pwStack_140 + 1));\n    *piStack_12c = iVar5;\n    if (**(int **)(puStack_158 + -0x65bc) == 0) {\n      pwVar14 = (word *)piStack_12c[1];\n      pwVar15 = pwStack_140;\n      (**(code **)(puStack_158 + -0x615c))(iVar5);\n    }\n    else {\n      unaff_s3 = (word *)0x0;\n      if (**(int **)(puStack_158 + -0x6f0c) != 0) {\n        if ((code *)**(undefined4 **)(puStack_158 + -0x6de4) == (code *)0x0) {\n          unaff_s3 = (word *)0x0;\n        }\n        else if ((**(int **)(puStack_158 + -0x6f38) != 0) &&\n                (**(int **)(puStack_158 + -0x702c) != 0)) {\n          pwVar14 = (word *)**(undefined4 **)(puStack_158 + -0x6f34);\n          unaff_s3 = (word *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(pwStack_130);\n          pwStack_130 = unaff_s3;\n        }\n      }\n      if (**(int **)(puStack_158 + -0x6f10) != 0) {\n        pwVar14 = param_2;\n        (**(code **)(puStack_158 + -0x6218))\n                  (piStack_12c + 1,param_2,4,*(undefined4 *)(puStack_158 + -0x6660));\n      }\n      pwVar16 = (word *)(**(code **)(puStack_158 + -0x60fc))(pwStack_130);\n      unaff_s4 = pwStack_140;\n      if ((int)pwVar16 <= (int)pwStack_140) {\n        unaff_s4 = pwVar16;\n      }\n      if ((int)param_2 < 1) {\n        pwVar16 = (word *)0x1;\nLAB_000fb1a8:\n        pwVar16 = (word *)(uint)((int)param_2 < (int)pwVar16);\n        pwVar15 = pwStack_140;\n        if (pwVar16 != (word *)0x0) goto LAB_000fb12c;\n      }\n      else {\n        param_4 = (byte *)(piStack_12c + 1);\n        pwVar16 = (word *)0x1;\n        do {\n          unaff_s2 = *(word **)param_4;\n          iVar5 = (**(code **)(puStack_158 + -0x6238))(unaff_s2,pwStack_130,unaff_s4);\n          if (iVar5 == 0) {\n            pwVar14 = unaff_s2;\n            (**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,pwStack_140);\n            goto LAB_000fb1a8;\n          }\n          pwVar16 = (word *)((int)pwVar16 + 1);\n          param_4 = param_4 + 4;\n        } while ((int)pwVar16 <= (int)param_2);\nLAB_000fb12c:\n        pwVar14 = (word *)piStack_12c[1];\n        pwVar15 = pwStack_140;\n        (**(code **)(puStack_158 + -0x615c))(*piStack_12c);\n      }\n      if (unaff_s3 != (word *)0x0) {\n        (**(code **)(puStack_158 + -0x5f94))(unaff_s3);\n      }\n    }\n    *(byte *)((int)pwStack_140 + *piStack_12c) = 0;\n    pwStack_13c = param_2;\n  }\nLAB_000fb1f0:\n  if (puStack_104 == (undefined4 *)**(undefined4 **)(puStack_158 + -0x5fb4)) {\n    return pwStack_13c;\n  }\n  pcVar23 = *(code **)(puStack_158 + -0x6004);\n  pcVar25 = FUN_000fb268;\n  puVar21 = puStack_104;\n  (*pcVar23)();\n  pcStack_1a8 = pcVar23 + 0x632d8;\n  auStack_19d._1_4_ = **(undefined4 **)(pcVar23 + 0x5d324);\n  pwVar18 = (word *)*puVar21;\n  pwStack_194 = pwVar16;\n  pbStack_190 = param_4;\n  pwStack_18c = unaff_s2;\n  pwStack_188 = unaff_s3;\n  pwStack_184 = unaff_s4;\n  pwStack_180 = unaff_s5;\n  pwStack_17c = unaff_s6;\n  pwStack_178 = unaff_s7;\n  pcStack_174 = pcVar25;\n  if (pwVar18 == (word *)0x0) {\n    pwVar6 = (word *)0x0;\n  }\n  else {\n    pwVar20 = pwVar14;\n    pwVar6 = pwVar18;\n    if (**(int **)(pcVar23 + 0x5cd28) != 0) {\n      if (*(int *)pwVar18 == 0) {\nLAB_000fb370:\n        uVar7 = *(undefined4 *)pwVar18;\n      }\n      else {\n        pwVar15 = (word *)0x0;\n        pwVar16 = pwVar18;\n        do {\n          pwVar16 = pwVar16 + 2;\n          pwVar15 = (word *)((int)pwVar15 + 1);\n        } while (*(int *)pwVar16 != 0);\n        if ((pwVar15 == (word *)0x0) || (**(int **)(pcVar23 + 0x5c3c8) == 0)) goto LAB_000fb370;\n        pwVar15 = (word *)&DAT_00000004;\n        (**(code **)(pcVar23 + 0x5d0c0))();\n        uVar7 = *(undefined4 *)pwVar18;\n      }\n      iVar5 = (**(code **)(pcStack_1a8 + -0x60fc))(uVar7);\n      uVar7 = (**(code **)(pcStack_1a8 + -0x7f88))(iVar5 + 1);\n      unaff_s4 = (word *)(**(code **)(pcStack_1a8 + -0x6074))(uVar7,*(undefined4 *)pwVar18);\n      if (*(int *)(pwVar18 + 2) == 0) {\n        unaff_s6 = (word *)0x0;\n        pbVar24 = (byte *)0x3;\n        pwVar20 = (word *)0x0;\n      }\n      else {\n        unaff_s6 = (word *)0x0;\n        unaff_s7 = (word *)auStack_19d;\n        pwVar16 = pwVar18;\n        do {\n          uVar7 = *(undefined4 *)pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(uVar7);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(uVar7);\n            *(word **)pwVar16 = unaff_s7;\n          }\n          else {\n            unaff_s6 = (word *)((int)unaff_s6 + 1);\n          }\n          pwVar20 = *(word **)(pwVar16 + 4);\n          pbVar24 = (byte *)((int)unaff_s6 + 3);\n          pwVar16 = pwVar16 + 2;\n        } while (pwVar20 != (word *)0x0);\n      }\n      pwVar6 = (word *)(**(code **)(pcStack_1a8 + -0x7f88))((int)pbVar24 << 2);\n      pbVar24 = *(byte **)(pwVar18 + 2);\n      if (pbVar24 == (byte *)0x0) {\n        pbVar24 = (byte *)(pwVar6 + 2);\n        pbVar24[0] = 0;\n        pbVar24[1] = 0;\n        pbVar24[2] = 0;\n        pbVar24[3] = 0;\n        pwVar16 = (word *)0x1;\n        if (*(undefined1 **)pwVar18 != auStack_19d) {\n          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);\n          goto LAB_000fb4b4;\n        }\n        *(word **)pwVar6 = unaff_s4;\n      }\n      else {\n        pwVar16 = (word *)0x1;\n        pwVar20 = (word *)auStack_19d;\n        pbVar12 = (byte *)(pwVar18 + 4);\n        do {\n          if ((word *)pbVar24 != pwVar20) {\n            *(byte **)(pwVar6 + (int)pwVar16 * 2) = pbVar24;\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\n          pbVar24 = *(byte **)pbVar12;\n          pbVar12 = pbVar12 + 4;\n        } while (pbVar24 != (byte *)0x0);\n        *(undefined4 *)(pwVar6 + (int)pwVar16 * 2) = 0;\n        if (*(undefined1 **)pwVar18 != auStack_19d) {\n          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);\nLAB_000fb4b4:\n          (*pcVar23)();\n        }\n        *(word **)pwVar6 = unaff_s4;\n        if (pwVar16 == (word *)0x2) {\n          pwVar16 = *(word **)(pwVar6 + 2);\n          pwVar20 = pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(unaff_s4);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(pwVar16);\n            pbVar24 = (byte *)(pwVar6 + 2);\n            pbVar24[0] = 0;\n            pbVar24[1] = 0;\n            pbVar24[2] = 0;\n            pbVar24[3] = 0;\n          }\n        }\n      }\n      (**(code **)(pcStack_1a8 + -0x798c))(pwVar18);\n      unaff_s5 = pwVar6;\n    }\n    unaff_s3 = pwVar14;\n    pwVar18 = pwVar6;\n    if (((code *)**(undefined4 **)(pcStack_1a8 + -0x703c) == (code *)0x0) ||\n       (pwVar14 == (word *)0x0)) goto LAB_000fb570;\n    if (*(int *)(pwVar6 + 2) == 0) {\n      pwVar16 = (word *)0x1;\n    }\n    else {\n      pwVar16 = (word *)0x1;\n      pbVar24 = (byte *)(pwVar6 + 4);\n      do {\n        iVar5 = *(int *)pbVar24;\n        pwVar16 = (word *)((int)pwVar16 + 1);\n        pbVar24 = pbVar24 + 4;\n      } while (iVar5 != 0);\n    }\n    (*(code *)**(undefined4 **)(pcStack_1a8 + -0x703c))(pwVar6);\n    unaff_s3 = *(word **)pwVar6;\n    if (unaff_s3 == (word *)0x0) {\n      (**(code **)(pcStack_1a8 + -0x5f94))(pwVar6);\n      *puVar21 = 0;\n      pwVar6 = (word *)0x0;\n      pwVar14 = pwVar20;\n      goto LAB_000fb578;\n    }\n    if (*(int *)(pwVar6 + 2) == 0) {\nLAB_000fb570:\n      *puVar21 = pwVar6;\n    }\n    else {\n      pbVar24 = (byte *)(pwVar6 + 4);\n      pwVar14 = (word *)0x1;\n      do {\n        pwVar20 = pwVar14;\n        iVar5 = *(int *)pbVar24;\n        pwVar14 = (word *)((int)pwVar20 + 1);\n        pbVar24 = pbVar24 + 4;\n      } while (iVar5 != 0);\n      pwVar16 = (word *)(uint)((int)pwVar14 < (int)pwVar16);\n      if (((int)pwVar14 < 2) || (pwVar15 = unaff_s3, pwVar16 == (word *)0x0)) goto LAB_000fb570;\n      FUN_000fab30(pwVar6);\n      (**(code **)(pcStack_1a8 + -0x5f94))(unaff_s3);\n      *puVar21 = pwVar6;\n    }\n    pwVar6 = (word *)0x1;\n    pwVar14 = pwVar20;\n  }\nLAB_000fb578:\n  if ((char *)auStack_19d._1_4_ == (char *)**(undefined4 **)(pcStack_1a8 + -0x5fb4)) {\n    return pwVar6;\n  }\n  pcVar23 = *(code **)(pcStack_1a8 + -0x6004);\n  pcVar25 = rl_filename_completion_function;\n  pcVar19 = (char *)auStack_19d._1_4_;\n  (*pcVar23)();\n  pcStack_230 = pcVar23 + 0x62f20;\n  iStack_1e4 = **(int **)(pcVar23 + 0x5cf6c);\n  pwStack_1e0 = pwVar16;\n  pwStack_1dc = pwVar18;\n  puStack_1d8 = puVar21;\n  pwStack_1d4 = unaff_s3;\n  pwStack_1d0 = unaff_s4;\n  pwStack_1cc = unaff_s5;\n  pwStack_1c8 = unaff_s6;\n  pwStack_1c4 = unaff_s7;\n  ppbStack_1c0 = unaff_s8;\n  pcStack_1bc = pcVar25;\n  if (pwVar14 != (word *)0x0) goto LAB_000fb968;\n  if (*(int *)(*(int *)(pcVar23 + 0x5af4c) + -0x3fd4) != 0) {\n    (**(code **)(pcVar23 + 0x5cc9c))();\n    *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) = 0;\n  }\n  if (*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) != 0) {\n    (**(code **)(pcStack_230 + -0x5f94))();\n  }\n  if (*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) != 0) {\n    (**(code **)(pcStack_230 + -0x5f94))();\n  }\n  if (*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) != 0) {\n    (**(code **)(pcStack_230 + -0x5f94))();\n  }\n  iVar5 = (**(code **)(pcStack_230 + -0x60fc))(pcVar19);\n  uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);\n  uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,pcVar19);\n  *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) = uVar7;\n  if (*pcVar19 == '\0') {\n    pcVar19 = (char *)(*(int *)(pcStack_230 + -0x7f90) + -0x5e18);\n  }\n  iVar5 = (**(code **)(pcStack_230 + -0x60fc))(pcVar19);\n  uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);\n  puVar8 = (undefined1 *)(**(code **)(pcStack_230 + -0x6074))(uVar7,pcVar19);\n  *(undefined1 **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) = puVar8;\n  unaff_s4 = (word *)(**(code **)(pcStack_230 + -0x61d4))(puVar8,0x2f);\n  if (unaff_s4 == (word *)0x0) {\n    *puVar8 = 0x2e;\n    *(undefined1 *)(*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) + 1) = 0;\n  }\n  else {\n    (**(code **)(pcStack_230 + -0x6074))\n              (*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc),\n               (byte *)((int)unaff_s4 + 1));\n    *(byte *)((int)unaff_s4 + 1) = 0;\n  }\n  if (**(int **)(pcStack_230 + -0x6f38) == 0) {\nLAB_000fb830:\n    iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n    iVar5 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(iVar13 + -0x3fd8));\n    uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);\n    uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(iVar13 + -0x3fd8));\n    *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = uVar7;\n  }\n  else {\n    if ((code *)**(undefined4 **)(pcStack_230 + -0x6de4) == (code *)0x0) goto LAB_000fb830;\n    uVar7 = (*(code *)**(undefined4 **)(pcStack_230 + -0x6de4))\n                      (*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8),\n                       **(undefined4 **)(pcStack_230 + -0x6f34));\n    *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = uVar7;\n  }\n  bVar3 = **(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) == '~';\n  if (bVar3) {\n    uVar7 = (**(code **)(pcStack_230 + -0x7a34))();\n    iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n    (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fd8));\n    *(undefined4 *)(iVar5 + -0x3fd8) = uVar7;\n  }\n  unaff_s3 = (word *)(uint)bVar3;\n  if ((code *)**(undefined4 **)(pcStack_230 + -0x6f40) == (code *)0x0) {\n    if ((code *)**(undefined4 **)(pcStack_230 + -0x6f3c) != (code *)0x0) {\n      iVar5 = (*(code *)**(undefined4 **)(pcStack_230 + -0x6f3c))\n                        (*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);\n      iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n      if (iVar5 != 0) {\n        (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar13 + -0x3fe0));\n        unaff_s3 = *(word **)(pcStack_230 + -0x7fd4);\n        iVar5 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1fec));\n        uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);\n        uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1fec));\n        *(undefined4 *)(iVar13 + -0x3fe0) = uVar7;\n        goto LAB_000fb8b4;\n      }\n    }\n    iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n    if ((unaff_s3 == (word *)0x0) &&\n       (iVar5 = *(int *)(pcStack_230 + -0x7fd4), **(int **)(pcStack_230 + -0x6f38) != 0)) {\n      iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n      if (**(int **)(pcStack_230 + -0x6de4) != 0) {\n        (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fd8));\n        unaff_s3 = *(word **)(pcStack_230 + -0x7fd4);\n        iVar13 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1ff0));\n        uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar13 + 1);\n        uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1ff0));\n        *(undefined4 *)(iVar5 + -0x3fd8) = uVar7;\n      }\n      goto LAB_000fb8b4;\n    }\n  }\n  else {\n    (*(code *)**(undefined4 **)(pcStack_230 + -0x6f40))(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);\nLAB_000fb8b4:\n    iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n  }\n  uVar7 = (**(code **)(pcStack_230 + -0x6288))(*(undefined4 *)(iVar5 + -0x3fd8));\n  *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) = uVar7;\n  iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n  if ((**(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) != '\0') &&\n     (iVar5 = *(int *)(pcStack_230 + -0x7fd4), **(int **)(pcStack_230 + -0x6f38) != 0)) {\n    if ((code *)**(undefined4 **)(pcStack_230 + -0x6de4) != (code *)0x0) {\n      unaff_s3 = (word *)(*(code *)**(undefined4 **)(pcStack_230 + -0x6de4))\n                                   (*(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc),\n                                    **(undefined4 **)(pcStack_230 + -0x6f34));\n      iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n      (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fdc));\n      *(word **)(iVar5 + -0x3fdc) = unaff_s3;\n    }\n    iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n  }\n  uVar7 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(iVar5 + -0x3fdc));\n  *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe4) = uVar7;\n  **(undefined4 **)(pcStack_230 + -0x6f0c) = 1;\nLAB_000fb968:\n  iVar5 = 0;\n  iStack_224 = *(int *)(pcStack_230 + -0x7fd4);\n  puStack_220 = *(undefined4 **)(pcStack_230 + -0x6df0);\n  iStack_21c = *(int *)(pcStack_230 + -0x7fd4);\n  iStack_218 = *(int *)(pcStack_230 + -0x7fd4);\n  piStack_20c = *(int **)(pcStack_230 + -0x65bc);\n  pcVar23 = pcStack_230;\nLAB_000fbb0c:\n  iVar13 = *(int *)(iStack_224 + -0x3fd4);\nLAB_000fbb10:\n  if (iVar13 == 0) {\n    if (iVar5 != 0) goto LAB_000fbbb0;\n    iVar5 = *(int *)(*(int *)(pcVar23 + -0x7fd4) + -0x3fd8);\nLAB_000fc3a0:\n    if (iVar5 != 0) {\n      (**(code **)(pcVar23 + -0x798c))();\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) = 0;\n      pcVar23 = pcStack_230;\n    }\n    if (*(int *)(*(int *)(pcVar23 + -0x7fd4) + -0x3fdc) != 0) {\n      (**(code **)(pcVar23 + -0x798c))();\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) = 0;\n      pcVar23 = pcStack_230;\n    }\n    pwVar14 = *(word **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0);\n    if (pwVar14 != (word *)0x0) {\n      (**(code **)(pcVar23 + -0x798c))(pwVar14);\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = 0;\n      pwVar14 = (word *)0x0;\n      pcVar23 = pcStack_230;\n    }\n    goto LAB_000fbca4;\n  }\n  iVar5 = (**(code **)(pcVar23 + -0x6214))();\n  if (iVar5 == 0) {\n    if (*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) != 0) {\n      (**(code **)(pcStack_230 + -0x6284))();\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) = 0;\n    }\n    iVar5 = *(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);\n    pcVar23 = pcStack_230;\n    goto LAB_000fc3a0;\n  }\n  pwVar18 = (word *)(iVar5 + 0x13);\n  unaff_s4 = (word *)(**(code **)(pcStack_230 + -0x60fc))(pwVar18);\n  pwVar16 = pwVar18;\n  if (((code *)*puStack_220 != (code *)0x0) &&\n     (pwVar16 = (word *)(*(code *)*puStack_220)(pwVar18,unaff_s4), pwVar18 != pwVar16)) {\n    unaff_s4 = (word *)(**(code **)(pcStack_230 + -0x60fc))(pwVar16);\n  }\n  unaff_s3 = *(word **)(iStack_21c + -0x3fe4);\n  pcVar23 = pcStack_230;\n  if (unaff_s3 == (word *)0x0) {\n    if (**(int **)(pcStack_230 + -0x65ac) == 0) {\n      if (*(byte *)pwVar16 != 0x2e) goto LAB_000fbbb0;\n    }\n    else {\n      iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n      if ((*(byte *)pwVar16 != 0x2e) ||\n         (((byte)*pwVar16 != 0 &&\n          ((iVar13 = *(int *)(pcStack_230 + -0x7fd4), (byte)*pwVar16 != 0x2e ||\n           (iVar13 = *(int *)(pcStack_230 + -0x7fd4), *(byte *)(pwVar16 + 1) != 0))))))\n      goto LAB_000fbbb4;\n    }\n    goto LAB_000fbb0c;\n  }\n  pbStack_228 = *(byte **)(iStack_218 + -0x3fdc);\n  pbStack_1f4 = (byte *)0x0;\n  uStack_1f0 = 0;\n  uStack_1ec = 0;\n  uStack_1e8 = 0;\n  if ((int)unaff_s4 < (int)unaff_s3) goto LAB_000fbb0c;\n  if (*piStack_20c != 0) {\n    if (**(int **)(pcStack_230 + -0x65a4) == 0) {\n      uVar4 = (**(code **)(pcStack_230 + -0x6060))();\n      if ((1 < uVar4) && (unaff_s8 = &pbStack_1f4, **(int **)(pcStack_230 + -0x6728) == 0)) {\n        unaff_s7 = (word *)&iStack_1fc;\n        unaff_s6 = (word *)&uStack_1ec;\n        unaff_s5 = (word *)&iStack_1f8;\n        pwStack_214 = pwVar16;\n        pwStack_208 = unaff_s3;\n        goto LAB_000fc0a8;\n      }\n      unaff_s5 = (word *)(int)(char)*(byte *)pwVar16;\n      pbVar24 = (byte *)(uint)*(byte *)pwVar16;\n      if (((word *)pbVar24 == unaff_s5) &&\n         (piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))(),\n         (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0)) {\n        piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n        unaff_s5 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n      }\n      unaff_s6 = (word *)(int)(char)*pbStack_228;\n      unaff_s4 = (word *)(uint)*pbStack_228;\n      if (unaff_s4 == unaff_s6) {\n        piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))();\n        if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n          piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n          unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n          unaff_s6 = *(word **)unaff_s4;\n        }\n      }\n      pwVar15 = unaff_s3;\n      pcVar23 = pcStack_230;\n      if (unaff_s5 == unaff_s6) {\n        iVar13 = (**(code **)(pcStack_230 + -0x6188))(pbStack_228,pwVar16);\n        goto LAB_000fc280;\n      }\n    }\n    else {\n      uVar4 = (**(code **)(pcStack_230 + -0x6060))();\n      if ((1 < uVar4) && (unaff_s6 = (word *)&uStack_1ec, **(int **)(pcStack_230 + -0x6728) == 0)) {\n        unaff_s8 = &pbStack_1f4;\n        unaff_s7 = (word *)&iStack_1fc;\n        unaff_s5 = (word *)&iStack_1f8;\n        pwStack_214 = pwVar16;\n        pwStack_208 = unaff_s3;\n        do {\n          pwStack_210 = (word *)(**(code **)(pcStack_230 + -0x6084))\n                                          (unaff_s7,pwStack_214,unaff_s4,unaff_s8);\n          pwVar15 = unaff_s3;\n          iVar13 = (**(code **)(pcStack_230 + -0x6084))(unaff_s5,pbStack_228,unaff_s3,unaff_s6);\n          pcVar23 = pcStack_230;\n          if (pwStack_210 == (word *)0x0) {\n            if (iVar13 == 0) goto LAB_000fbbb0;\nLAB_000fbe6c:\n            if (iVar13 + 2U < 2) goto LAB_000fbdb4;\n            iStack_204 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc);\n            iStack_1fc = iStack_204;\n            iStack_1f8 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8);\n            pwStack_214 = (word *)((int)pwStack_214 + (int)pwStack_210);\n            pbStack_228 = pbStack_228 + (int)pwStack_210;\n            pwStack_208 = (word *)((int)pwStack_208 - (int)pwStack_210);\n            if ((((iStack_204 != 0x2d) && (iStack_204 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))) && (iStack_204 != iStack_1f8))\n            goto code_r0x000fbef4;\n          }\n          else {\n            if ((word *)0x1 < pwStack_210 + 1) goto LAB_000fbe6c;\nLAB_000fbdb4:\n            bVar2 = *(byte *)pwStack_214;\n            if (((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||\n               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))) goto LAB_000fbb0c;\n            pwStack_214 = (word *)((int)pwStack_214 + 1);\n            pbStack_228 = pbStack_228 + 1;\n            pwStack_208 = (word *)((int)pwStack_208 + -1);\n          }\n          iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n          pcVar23 = pcStack_230;\n          if (pwStack_208 == (word *)0x0) goto LAB_000fbbb4;\n        } while( true );\n      }\n      unaff_s7 = (word *)&DAT_0000002d;\n      unaff_s8 = (byte **)0x5f;\n      pwStack_208 = (word *)((int)pwVar16 + (int)unaff_s3);\n      unaff_s4 = pwVar16;\n      pcVar23 = pcStack_230;\n      while( true ) {\n        unaff_s3 = (word *)(int)(char)*(byte *)unaff_s4;\n        pbVar24 = (byte *)(uint)*(byte *)unaff_s4;\n        pwStack_214 = unaff_s3;\n        if (((word *)pbVar24 == unaff_s3) &&\n           (piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))(), pcVar23 = pcStack_230,\n           (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0)) {\n          piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n          pwStack_214 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n          pcVar23 = pcStack_230;\n        }\n        unaff_s5 = (word *)(int)(char)*pbStack_228;\n        unaff_s6 = (word *)(uint)*pbStack_228;\n        pwStack_210 = unaff_s5;\n        if (unaff_s6 == unaff_s5) {\n          piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))();\n          pcVar23 = pcStack_230;\n          if ((*(ushort *)(*piVar9 + (int)unaff_s6 * 2) & 1) != 0) {\n            piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n            unaff_s6 = (word *)(*piVar9 + (int)unaff_s6 * 4);\n            pwStack_210 = *(word **)unaff_s6;\n            pcVar23 = pcStack_230;\n          }\n        }\n        if ((((unaff_s3 != (word *)&DAT_0000002d) && (unaff_s3 != (word *)0x5f)) ||\n            ((unaff_s5 != (word *)&DAT_0000002d && (unaff_s5 != (word *)0x5f)))) &&\n           (pwStack_214 != pwStack_210)) break;\n        unaff_s4 = (word *)((int)unaff_s4 + 1);\n        pbStack_228 = pbStack_228 + 1;\n        iVar13 = *(int *)(pcVar23 + -0x7fd4);\n        if (unaff_s4 == pwStack_208) goto LAB_000fbbb4;\n      }\n    }\n    goto LAB_000fbb0c;\n  }\n  if (*(byte *)pwVar16 != *pbStack_228) goto LAB_000fbb0c;\n  pwVar15 = unaff_s3;\n  iVar13 = (**(code **)(pcStack_230 + -0x6238))(pbStack_228,pwVar16);\nLAB_000fc280:\n  pcVar23 = pcStack_230;\n  if (iVar13 != 0) goto LAB_000fbb0c;\n  pcVar19 = *(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);\n  goto LAB_000fbbb8;\nLAB_000fc0a8:\n  pwStack_210 = (word *)(**(code **)(pcStack_230 + -0x6084))(unaff_s7,pwStack_214,unaff_s4,unaff_s8)\n  ;\n  pwVar15 = unaff_s3;\n  iVar13 = (**(code **)(pcStack_230 + -0x6084))(unaff_s5,pbStack_228,unaff_s3,unaff_s6);\n  pcVar23 = pcStack_230;\n  if (pwStack_210 == (word *)0x0) {\n    if (iVar13 == 0) goto LAB_000fbbb0;\nLAB_000fc100:\n    if (iVar13 + 2U < 2) goto LAB_000fc060;\n    iStack_204 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc);\n    iStack_1fc = iStack_204;\n    iStack_1f8 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8);\n    pcVar23 = pcStack_230;\n    if (iStack_204 != iStack_1f8) goto LAB_000fbb0c;\n    pwStack_214 = (word *)((int)pwStack_214 + (int)pwStack_210);\n    pbStack_228 = pbStack_228 + (int)pwStack_210;\n    pwStack_208 = (word *)((int)pwStack_208 - (int)pwStack_210);\n  }\n  else {\n    if ((word *)0x1 < pwStack_210 + 1) goto LAB_000fc100;\nLAB_000fc060:\n    if (*(byte *)pwStack_214 != *pbStack_228) goto LAB_000fbb0c;\n    pwStack_214 = (word *)((int)pwStack_214 + 1);\n    pbStack_228 = pbStack_228 + 1;\n    pwStack_208 = (word *)((int)pwStack_208 + -1);\n  }\n  iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n  pcVar23 = pcStack_230;\n  if (pwStack_208 == (word *)0x0) goto LAB_000fbbb4;\n  goto LAB_000fc0a8;\ncode_r0x000fbef4:\n  iVar13 = *(int *)(iStack_224 + -0x3fd4);\n  pcVar23 = pcStack_230;\n  goto LAB_000fbb10;\nLAB_000fbbb0:\n  iVar13 = *(int *)(pcVar23 + -0x7fd4);\nLAB_000fbbb4:\n  pcVar19 = *(char **)(iVar13 + -0x3fd8);\nLAB_000fbbb8:\n  if ((pcVar19 == (char *)0x0) ||\n     ((piVar9 = *(int **)(pcVar23 + -0x65a8), *pcVar19 == '.' &&\n      (piVar9 = *(int **)(pcVar23 + -0x65a8), pcVar19[1] == '\0')))) {\n    iVar5 = (**(code **)(pcVar23 + -0x60fc))(pwVar16);\n    uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);\n    pwVar14 = (word *)(**(code **)(pcStack_230 + -0x6074))(uVar7,pwVar16);\n  }\n  else {\n    if ((*piVar9 == 0) || (**(char **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0) != '~')) {\n      iVar13 = *(int *)(pcVar23 + -0x7fd4);\n      unaff_s3 = (word *)(**(code **)(pcVar23 + -0x60fc))(*(undefined4 *)(iVar13 + -0x3fe0));\n      iVar5 = (**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13);\n      pwVar14 = (word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2));\n      iVar5 = *(int *)(iVar13 + -0x3fe0);\n      (**(code **)(pcStack_230 + -0x6074))(pwVar14,iVar5);\n      unaff_s4 = (word *)((int)unaff_s3 + iVar5);\n      unaff_s5 = unaff_s3;\n      if (*(byte *)((int)unaff_s4 + -1) != 0x2f) {\n        unaff_s5 = (word *)((int)unaff_s3 + 1);\n        unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);\n        *(byte *)unaff_s3 = 0x2f;\n      }\n    }\n    else {\n      unaff_s3 = (word *)(**(code **)(pcVar23 + -0x60fc))();\n      iVar5 = (**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13);\n      pwVar14 = (word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2));\n      unaff_s4 = *(word **)(pcStack_230 + -0x7fd4);\n      (**(code **)(pcStack_230 + -0x6074))(pwVar14,*(undefined4 *)(unaff_s4 + -0x1fec));\n      unaff_s5 = unaff_s3;\n      if (*(byte *)((int)unaff_s3 + *(int *)(unaff_s4 + -0x1fec) + -1) != 0x2f) {\n        unaff_s5 = (word *)((int)unaff_s3 + 1);\n        unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);\n        *(byte *)unaff_s3 = 0x2f;\n        *(byte *)((int)pwVar14 + (int)unaff_s5) = 0;\n      }\n    }\n    (**(code **)(pcStack_230 + -0x6074))((byte *)((int)pwVar14 + (int)unaff_s5),pwVar16);\n  }\n  pcVar23 = pcStack_230;\n  if (pwVar18 != pwVar16) {\n    (**(code **)(pcStack_230 + -0x798c))(pwVar16);\n    pcVar23 = pcStack_230;\n  }\nLAB_000fbca4:\n  if (iStack_1e4 == **(int **)(pcVar23 + -0x5fb4)) {\n    return pwVar14;\n  }\n  pcVar23 = *(code **)(pcVar23 + -0x6004);\n  pcVar25 = FUN_000fc42c;\n  iVar5 = iStack_1e4;\n  (*pcVar23)();\n  pcStack_280 = pcVar23 + 0x62114;\n  aiStack_278[3] = **(int **)(pcVar23 + 0x5c160);\n  pwStack_268 = pwVar16;\n  pwStack_264 = pwVar18;\n  pwStack_260 = pwVar14;\n  pwStack_25c = unaff_s3;\n  pwStack_258 = unaff_s4;\n  pwStack_254 = unaff_s5;\n  pwStack_250 = unaff_s6;\n  pwStack_24c = unaff_s7;\n  ppbStack_248 = unaff_s8;\n  pcStack_244 = pcVar25;\n  iVar10 = (**(code **)(pcVar23 + 0x5c018))();\n  aiStack_278[1] = 0;\n  aiStack_278[2] = 0;\n  pwVar16 = (word *)0x0;\n  iVar13 = 0;\n  pcVar23 = pcStack_280;\n  while( true ) {\n    pwVar14 = (word *)(iVar5 + iVar13);\n    bVar2 = *(byte *)pwVar14;\n    iVar17 = iVar13;\n    if (bVar2 == 0) break;\n    if ((bVar2 < 0x20) || (bVar2 == 0x7f)) {\n      pwVar16 = pwVar16 + 1;\n      iVar13 = iVar13 + 1;\n    }\n    else {\n      pwVar15 = (word *)((iVar10 + 1) - iVar13);\n      iVar11 = (**(code **)(pcVar23 + -0x6084))(aiStack_278,pwVar14,pwVar15,aiStack_278 + 1);\n      pcVar23 = pcStack_280;\n      if (iVar11 + 2U < 2) {\n        pwVar16 = (word *)((int)pwVar16 + 1);\n        iVar13 = iVar13 + 1;\n        aiStack_278[1] = 0;\n        aiStack_278[2] = 0;\n      }\n      else {\n        iVar17 = iVar13 + iVar11;\n        if (iVar11 == 0) break;\n        if (aiStack_278[0] < 0x40) {\n          iVar13 = 1;\n          if (aiStack_278[0] < 0x25) {\n            if (3 < aiStack_278[0] - 0x20U) {\n              pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n              goto LAB_000fc594;\n            }\n            iVar13 = 1;\n          }\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n          if (aiStack_278[0] < 0x41) {\nLAB_000fc594:\n            iVar13 = (*pcVar23)();\n          }\n          else {\n            iVar13 = 1;\n            if (0x5f < aiStack_278[0]) {\n              if (0x1d < aiStack_278[0] - 0x61U) goto LAB_000fc594;\n              iVar13 = 1;\n            }\n          }\n        }\n        if (iVar13 < 0) {\n          iVar13 = 1;\n        }\n        pwVar16 = (word *)((int)pwVar16 + iVar13);\n        iVar13 = iVar17;\n        pcVar23 = pcStack_280;\n      }\n    }\n  }\n  if (aiStack_278[3] == **(int **)(pcVar23 + -0x5fb4)) {\n    return pwVar16;\n  }\n  pcVar23 = *(code **)(pcVar23 + -0x6004);\n  pcVar25 = FUN_000fc5fc;\n  iVar11 = aiStack_278[3];\n  (*pcVar23)();\n  pcStack_2e0 = pcVar23 + 0x61f44;\n  uStack_2a4 = 1;\n  uStack_2a8 = 0x7f;\n  pbStack_2bc = (byte *)**(undefined4 **)(pcVar23 + 0x5bf90);\n  pwVar18 = pwVar14;\n  pwStack_2cc = pwVar15;\n  iStack_2b8 = iVar17;\n  pwStack_2b4 = pwVar16;\n  iStack_2b0 = iVar13;\n  iStack_2ac = iVar5;\n  piStack_2a0 = aiStack_278 + 1;\n  piStack_29c = aiStack_278;\n  iStack_298 = iVar10 + 1;\n  pcStack_294 = pcVar25;\n  iVar5 = (**(code **)(pcVar23 + 0x5be48))();\n  iStack_2d4 = iVar11 + iVar5 + 1;\n  aiStack_2c8[1] = 0;\n  aiStack_2c8[2] = 0;\n  if ((**(int **)(pcStack_2e0 + -0x65a0) < 1) || ((int)pwVar14 < iVar5)) {\n    if (**(int **)(pcStack_2e0 + -0x67a8) == 0) goto LAB_000fc714;\n    if ((pwVar14 == (word *)0x0) || (**(int **)(pcStack_2e0 + -0x67a4) < 1)) goto LAB_000fc6f0;\n    if (0 < **(int **)(pcStack_2e0 + -0x65a0)) goto LAB_000fc750;\n    pcVar23 = *(code **)(pcStack_2e0 + -0x659c);\n    pwVar6 = pwVar14;\nLAB_000fc6c0:\n    (*pcVar23)();\n    (**(code **)(pcStack_2e0 + -0x6598))();\n    pwVar20 = (word *)0x0;\n    pwVar14 = (word *)0x0;\n  }\n  else if (**(int **)(pcStack_2e0 + -0x67a8) == 0) {\n    pwVar14 = (word *)0x0;\n    pwVar20 = (word *)0x0;\n    pwVar6 = (word *)0x0;\n  }\n  else {\n    pwVar14 = (word *)0x0;\nLAB_000fc6f0:\n    (**(code **)(pcStack_2e0 + -0x659c))();\n    (**(code **)(pcStack_2e0 + -0x6594))(pwStack_2cc);\nLAB_000fc714:\n    pwVar6 = pwVar14;\n    if (pwVar14 == (word *)0x0) {\n      pwVar20 = (word *)0x0;\n    }\n    else if (**(int **)(pcStack_2e0 + -0x65a0) < 1) {\n      pcVar23 = *(code **)(pcStack_2e0 + -0x659c);\n      if (0 < **(int **)(pcStack_2e0 + -0x67a4)) goto LAB_000fc6c0;\n      pwVar6 = (word *)0x0;\n      pwVar20 = (word *)0x0;\n    }\n    else {\nLAB_000fc750:\n      pwVar16 = (word *)0x2e;\n      if (*(byte *)((int)pwVar14 + iVar11) == 0x2e) {\n        pwVar16 = (word *)0x5f;\n      }\n      puVar21 = *(undefined4 **)(pcStack_2e0 + -0x6ef0);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16);\n      pwVar20 = (word *)0x3;\n      pwVar6 = (word *)0x0;\n    }\n  }\n  pwVar14 = (word *)((int)pwVar14 + iVar11);\n  puVar21 = *(undefined4 **)(pcStack_2e0 + -0x6ef0);\n  iStack_2d0 = *(int *)(pcStack_2e0 + -26000) + 0xb8;\n  while (bVar2 = *(byte *)pwVar14, bVar2 != 0) {\n    if (bVar2 < 0x20) {\n      (**(code **)(pcStack_2e0 + -0x61f0))(0x5e,*puVar21);\n      pwVar16 = (word *)((int)(char)*(byte *)pwVar14 | 0x40);\n      pbVar24 = (byte *)(*(byte *)pwVar14 | 0x40);\n      if ((word *)pbVar24 == pwVar16) {\n        piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x6290))();\n        if ((*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 2) != 0) {\n          piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x5f10))();\n          pwVar16 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n        }\n      }\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16);\n      pwVar20 = pwVar20 + 1;\n      pwVar14 = (word *)((int)pwVar14 + 1);\n      aiStack_2c8[1] = 0;\n      aiStack_2c8[2] = 0;\n    }\n    else if (bVar2 == 0x7f) {\n      (**(code **)(pcStack_2e0 + -0x61f0))(0x5e,*puVar21);\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(0x3f);\n      pwVar20 = pwVar20 + 1;\n      pwVar14 = (word *)((int)pwVar14 + 1);\n      aiStack_2c8[1] = 0;\n      aiStack_2c8[2] = 0;\n    }\n    else {\n      pwVar15 = (word *)(iStack_2d4 - (int)pwVar14);\n      pwVar18 = pwVar14;\n      pwVar16 = (word *)(**(code **)(pcStack_2e0 + -0x6084))(aiStack_2c8,pwVar14,pwVar15);\n      iVar5 = 1;\n      if (pwVar16 + 1 < (word *)0x2) {\n        aiStack_2c8[1] = 0;\n        aiStack_2c8[2] = 0;\n        pwVar16 = (word *)0x1;\n      }\n      else {\n        if (pwVar16 == (word *)0x0) break;\n        if (aiStack_2c8[0] < 0x40) {\n          if (aiStack_2c8[0] < 0x25) {\n            pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n            if (3 < aiStack_2c8[0] - 0x20U) goto LAB_000fc9c0;\n          }\n          else {\n            iVar5 = 1;\n          }\n        }\n        else if (aiStack_2c8[0] < 0x41) {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\nLAB_000fc9c0:\n          iVar5 = (*pcVar23)();\n        }\n        else if (aiStack_2c8[0] < 0x60) {\n          iVar5 = 1;\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n          if (0x1d < aiStack_2c8[0] - 0x61U) goto LAB_000fc9c0;\n          iVar5 = 1;\n        }\n        if (iVar5 < 0) {\n          iVar5 = 1;\n        }\n      }\n      pwVar18 = (word *)0x1;\n      pwVar15 = pwVar16;\n      (**(code **)(pcStack_2e0 + -0x6054))(pwVar14,1,pwVar16,*puVar21);\n      pwVar14 = (word *)((int)pwVar14 + (int)pwVar16);\n      pwVar20 = (word *)((int)pwVar20 + iVar5);\n    }\n    if ((0 < (int)pwVar6) && ((int)pwVar6 <= (int)pwVar14 - iVar11)) {\n      (**(code **)(pcStack_2e0 + -0x658c))();\n      (**(code **)(pcStack_2e0 + -0x6588))(iStack_2d0);\n      pwVar6 = (word *)**(undefined4 **)(pcStack_2e0 + -0x67a8);\n      if (pwVar6 != (word *)0x0) {\n        (**(code **)(pcStack_2e0 + -0x659c))();\n        (**(code **)(pcStack_2e0 + -0x6594))(pwStack_2cc);\n        pwVar6 = (word *)0x0;\n      }\n    }\n  }\n  if (**(int **)(pcStack_2e0 + -0x67a8) != 0) {\n    (**(code **)(pcStack_2e0 + -0x658c))();\n    (**(code **)(pcStack_2e0 + -0x6588))(*(int *)(pcStack_2e0 + -26000) + 0xb8);\n  }\n  if (pbStack_2bc == (byte *)**(undefined4 **)(pcStack_2e0 + -0x5fb4)) {\n    return pwVar20;\n  }\n  pcVar23 = *(code **)(pcStack_2e0 + -0x6004);\n  pcVar25 = FUN_000fcae4;\n  pbVar24 = pbStack_2bc;\n  (*pcVar23)();\n  iStack_314 = **(int **)(pcVar23 + 0x5baa8);\n  pwStack_310 = pwVar14;\n  pwStack_30c = pwVar16;\n  pwStack_308 = pwVar20;\n  pwStack_304 = pwVar6;\n  piStack_300 = aiStack_2c8 + 1;\n  puStack_2fc = puVar21;\n  iStack_2f8 = iVar11;\n  pcStack_2f4 = pcVar25;\n  if ((**(int **)(pcVar23 + 0x5b2b4) == 0) ||\n     (piVar9 = *(int **)(pcVar23 + 0x5b4d8), **(int **)(pcVar23 + 0x5ab50) == 0)) {\n    pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,pbVar24);\n    piVar9 = *(int **)(pcVar23 + 0x5b4d8);\n    if (**(int **)(pcVar23 + 0x5ab50) == 0) goto LAB_000fcb84;\n  }\n  if ((*piVar9 == 0 && **(int **)(pcVar23 + 0x5b2b4) == 0) && **(int **)(pcVar23 + 0x5b49c) == 0)\n  goto LAB_000fcb84;\n  if ((word *)pbVar24 == pwVar18) {\n    iStack_31c = (**(code **)(pcVar23 + 0x5a028))(pwVar18);\n    if (**(int **)(pcVar23 + 0x5b4d8) != 0) {\n      iVar5 = FUN_000f9fd0(iStack_31c);\n      if (**(int **)(pcVar23 + 0x5b2b4) != 0) goto LAB_000fcf40;\n      goto LAB_000fcddc;\n    }\n    if (**(int **)(pcVar23 + 0x5b49c) == 0) {\n      piVar9 = *(int **)(pcVar23 + 0x5b2b4);\nLAB_000fcef0:\n      iVar5 = 0;\n      if (*piVar9 == 0) {\n        (**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);\n        goto LAB_000fcb84;\n      }\nLAB_000fcf40:\n      pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,iStack_31c);\n      goto LAB_000fcddc;\n    }\n    iVar5 = FUN_000fa188(iStack_31c);\n    piVar9 = *(int **)(pcVar23 + 0x5b2b4);\n    if (iVar5 == 0) goto LAB_000fcef0;\n    if (*piVar9 != 0) {\n      iVar5 = 0x2f;\n      goto LAB_000fcf40;\n    }\n    (**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);\n    iVar5 = 0x2f;\n  }\n  else {\n    bVar2 = pbVar24[-1];\n    pbVar24[-1] = 0;\n    if ((pwVar18 == (word *)0x0) || (*(byte *)pwVar18 == 0)) {\n      pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);\n    }\n    else {\n      pwStack_318 = pwVar18;\n      if (*(byte *)pwVar18 == 0x2f) {\n        if ((byte)*pwVar18 == 0) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59acc) + -0x794);\n        }\n        else if (((byte)*pwVar18 == 0x2f) && (*(byte *)(pwVar18 + 1) == 0)) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);\n        }\n      }\n    }\n    iStack_31c = (**(code **)(pcVar23 + 0x5a028))(pwStack_318);\n    if ((code *)**(undefined4 **)(pcVar23 + 0x5ab20) != (code *)0x0) {\n      (*(code *)**(undefined4 **)(pcVar23 + 0x5ab20))(&iStack_31c);\n    }\n    iVar5 = (**(code **)(pcVar23 + 0x5b960))(iStack_31c);\n    iVar13 = (**(code **)(pcVar23 + 0x5b960))(pbVar24);\n    pwVar16 = (word *)(**(code **)(pcVar23 + 0x59ad4))(iVar13 + iVar5 + 2);\n    (**(code **)(pcVar23 + 0x5b9e8))(pwVar16,iStack_31c);\n    if (*(char *)(iStack_31c + iVar5 + -1) == '/') {\n      iVar5 = iVar5 + -1;\n    }\n    else {\n      *(byte *)((int)pwVar16 + iVar5) = 0x2f;\n    }\n    (**(code **)(pcVar23 + 0x5b9e8))((byte *)((int)pwVar16 + iVar5 + 1),pbVar24);\n    if (**(int **)(pcVar23 + 0x5b4d8) == 0) {\n      iVar5 = **(int **)(pcVar23 + 0x5b49c);\n      piVar9 = *(int **)(pcVar23 + 0x5b2b4);\n      if (iVar5 != 0) {\n        pwStack_318 = (word *)0x0;\n        if ((**(int **)(pcVar23 + 0x5ab20) == 0) && (**(int **)(pcVar23 + 0x5ac70) != 0)) {\n          iVar5 = (**(code **)(pcVar23 + 0x5b960))(pwVar16);\n          uVar7 = (**(code **)(pcVar23 + 0x59ad4))(iVar5 + 1);\n          pwStack_318 = (word *)(**(code **)(pcVar23 + 0x5b9e8))(uVar7,pwVar16);\n          (*(code *)**(undefined4 **)(pcVar23 + 0x5ac70))(&pwStack_318);\n          (**(code **)(pcVar23 + 0x5a0d0))(pwVar16);\n          pwVar16 = pwStack_318;\n        }\n        iVar5 = FUN_000fa188(pwVar16);\n        if (iVar5 != 0) {\n          iVar5 = 0x2f;\n        }\n        goto LAB_000fcdb0;\n      }\n    }\n    else {\n      iVar5 = FUN_000f9fd0(pwVar16);\nLAB_000fcdb0:\n      piVar9 = *(int **)(pcVar23 + 0x5b2b4);\n    }\n    if (*piVar9 != 0) {\n      pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,pwVar16);\n    }\n    (**(code **)(pcVar23 + 0x5a0d0))(pwVar16);\n    pbVar24[-1] = bVar2;\nLAB_000fcddc:\n    (**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);\n    if (iVar5 == 0) goto LAB_000fcb84;\n  }\n  (**(code **)(pcVar23 + 0x5b86c))(iVar5,**(undefined4 **)(pcVar23 + 0x5ab6c));\n  pwVar6 = (word *)((int)pwVar6 + 1);\nLAB_000fcb84:\n  if (iStack_314 == **(int **)(pcVar23 + 0x5baa8)) {\n    return pwVar6;\n  }\n  pcVar23 = *(code **)(pcVar23 + 0x5ba58);\n  (*pcVar23)();\n  if ((**(int **)(pcVar23 + 0x5a67c) == iStack_314) &&\n     (*(int *)(*(int *)(pcVar23 + 0x595b0) + -0x3fb8) == 0)) {\n    return (word *)0x3f;\n  }\n  if (**(int **)(pcVar23 + 0x5b004) == 0) {\n    pwVar16 = (word *)&DAT_00000009;\n    if (**(int **)(pcVar23 + 0x5b008) != 0) {\n      pwVar16 = (word *)0x40;\n    }\n    return pwVar16;\n  }\n  return (word *)&DAT_00000021;\n}\n\n" comment (function_definition "word * FUN_000fa7dc(undefined4 param_1,word *param_2,int param_3,byte *param_4)\n\n{\n  char cVar1;\n  byte bVar2;\n  bool bVar3;\n  uint uVar4;\n  int iVar5;\n  word *pwVar6;\n  undefined4 uVar7;\n  undefined1 *puVar8;\n  int *piVar9;\n  int iVar10;\n  int iVar11;\n  byte *pbVar12;\n  int iVar13;\n  word *pwVar14;\n  word *pwVar15;\n  word *pwVar16;\n  int iVar17;\n  word *pwVar18;\n  word *unaff_s2;\n  char *pcVar19;\n  word *pwVar20;\n  word *unaff_s3;\n  word *unaff_s4;\n  word *unaff_s5;\n  undefined4 *puVar21;\n  word *unaff_s6;\n  word *unaff_s7;\n  undefined *puVar22;\n  code *pcVar23;\n  byte **unaff_s8;\n  byte *pbVar24;\n  code *pcVar25;\n  int iStack_31c;\n  word *pwStack_318;\n  int iStack_314;\n  word *pwStack_310;\n  word *pwStack_30c;\n  word *pwStack_308;\n  word *pwStack_304;\n  int *piStack_300;\n  undefined4 *puStack_2fc;\n  int iStack_2f8;\n  code *pcStack_2f4;\n  code *pcStack_2e0;\n  int iStack_2d4;\n  int iStack_2d0;\n  word *pwStack_2cc;\n  int aiStack_2c8 [3];\n  byte *pbStack_2bc;\n  int iStack_2b8;\n  word *pwStack_2b4;\n  int iStack_2b0;\n  int iStack_2ac;\n  undefined4 uStack_2a8;\n  undefined4 uStack_2a4;\n  int *piStack_2a0;\n  int *piStack_29c;\n  int iStack_298;\n  code *pcStack_294;\n  code *pcStack_280;\n  int aiStack_278 [4];\n  word *pwStack_268;\n  word *pwStack_264;\n  word *pwStack_260;\n  word *pwStack_25c;\n  word *pwStack_258;\n  word *pwStack_254;\n  word *pwStack_250;\n  word *pwStack_24c;\n  byte **ppbStack_248;\n  code *pcStack_244;\n  code *pcStack_230;\n  byte *pbStack_228;\n  int iStack_224;\n  undefined4 *puStack_220;\n  int iStack_21c;\n  int iStack_218;\n  word *pwStack_214;\n  word *pwStack_210;\n  int *piStack_20c;\n  word *pwStack_208;\n  int iStack_204;\n  int iStack_1fc;\n  int iStack_1f8;\n  byte *pbStack_1f4;\n  undefined4 uStack_1f0;\n  undefined4 uStack_1ec;\n  undefined4 uStack_1e8;\n  int iStack_1e4;\n  word *pwStack_1e0;\n  word *pwStack_1dc;\n  undefined4 *puStack_1d8;\n  word *pwStack_1d4;\n  word *pwStack_1d0;\n  word *pwStack_1cc;\n  word *pwStack_1c8;\n  word *pwStack_1c4;\n  byte **ppbStack_1c0;\n  code *pcStack_1bc;\n  code *pcStack_1a8;\n  undefined1 auStack_19d [9];\n  word *pwStack_194;\n  byte *pbStack_190;\n  word *pwStack_18c;\n  word *pwStack_188;\n  word *pwStack_184;\n  word *pwStack_180;\n  word *pwStack_17c;\n  word *pwStack_178;\n  code *pcStack_174;\n  word *pwStack_160;\n  word *pwStack_15c;\n  undefined *puStack_158;\n  word *pwStack_14c;\n  word *pwStack_148;\n  word *pwStack_144;\n  word *pwStack_140;\n  word *pwStack_13c;\n  uint uStack_138;\n  int *piStack_134;\n  word *pwStack_130;\n  int *piStack_12c;\n  byte *pbStack_124;\n  byte *pbStack_120;\n  undefined4 uStack_11c;\n  undefined4 uStack_118;\n  undefined4 uStack_114;\n  undefined4 uStack_110;\n  undefined4 uStack_10c;\n  undefined4 uStack_108;\n  undefined4 *puStack_104;\n  word *pwStack_100;\n  byte *pbStack_fc;\n  word *pwStack_f8;\n  word *local_bc;\n  word awStack_b8 [12];\n  uint local_a0;\n  undefined1 local_18 [4];\n  int *local_14;\n  \n  local_14 = *(int **)PTR___stack_chk_guard_0015858c;\n  if (param_3 != 0) {\n    if (*(int *)PTR_rl_point_001575f0 == 0) {\n      param_3 = 0;\n    }\n    else if (*(int *)PTR_rl_completion_suppress_quote_00157618 == 0) {\n      if (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + *(int *)PTR_rl_point_001575f0 + -1) ==\n          param_3) {\n        param_3 = 0;\n      }\n      else {\n        local_18[0] = (undefined1)param_3;\n        param_3 = 1;\n      }\n    }\n    else {\n      param_3 = 0;\n    }\n  }\n  if (param_2 == (word *)0x0) {\n    pwVar16 = (word *)(param_3 + 1);\n    if ((*(int *)PTR_rl_completion_suppress_append_00157624 == 0) &&\n       (*(int *)PTR_rl_completion_append_character_00157628 != 0)) {\n      local_18[param_3] = (char)*(int *)PTR_rl_completion_append_character_00157628;\n      goto LAB_000fa86c;\n    }\n  }\n  else {\n    local_18[param_3] = (char)param_2;\nLAB_000fa86c:\n    pwVar16 = (word *)(param_3 + 2);\n    param_3 = param_3 + 1;\n  }\n  pwVar15 = (word *)(&stack0xfffffff0 + param_3);\n  local_18[param_3] = 0;\n  if (*(int *)PTR_rl_filename_completion_desired_00157634 == 0) {\n    if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {\n      rl_insert_text(local_18);\n    }\n  }\n  else {\n    unaff_s2 = (word *)(*(code *)PTR_tilde_expand_00156b0c)();\n    if (*(int *)PTR_rl_filename_stat_hook_00157754 != 0) {\n      iVar5 = (*(code *)PTR_strlen_00158444)(unaff_s2);\n      uVar7 = (*(code *)PTR_xmalloc_001565b8)(iVar5 + 1);\n      local_bc = (word *)(*(code *)PTR_strcpy_001584cc)(uVar7,unaff_s2);\n      (**(code **)PTR_rl_filename_stat_hook_00157754)(&local_bc);\n      (*(code *)PTR_xfree_00156bb4)(unaff_s2);\n      unaff_s2 = local_bc;\n    }\n    param_2 = unaff_s2;\n    if ((param_4 == (byte *)0x0) ||\n       (pwVar15 = awStack_b8, *(int *)PTR_rl_completion_mark_symlink_dirs_001578a4 != 0)) {\n      pwVar15 = awStack_b8;\n      iVar5 = (*(code *)PTR___xstat64_001582e8)(3);\n    }\n    else {\n      iVar5 = (*(code *)PTR___lxstat64_001582c8)(3);\n    }\n    if (iVar5 == 0) {\n      if ((local_a0 & 0xf000) == 0x4000) {\n        if (*(int *)PTR__rl_complete_mark_directories_00157f80 != 0) {\n          iVar5 = *(int *)PTR_rl_point_001575f0;\n          if ((iVar5 == 0) || (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5) != '\0')) {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5);\n          }\n          else {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5 + -1);\n          }\n          if (cVar1 != '/') {\n            rl_insert_text(PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c);\n          }\n        }\n      }\n      else if (((local_a0 & 0xf000) != 0xa000) || (iVar5 = FUN_000fa188(unaff_s2), iVar5 == 0))\n      goto LAB_000fa9f0;\n    }\n    else {\nLAB_000fa9f0:\n      if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {\n        rl_insert_text(local_18);\n      }\n    }\n    (*(code *)PTR_xfree_00156bb4)(unaff_s2);\n  }\n  if (local_14 == *(int **)PTR___stack_chk_guard_0015858c) {\n    return pwVar16;\n  }\n  piVar9 = local_14;\n  puVar22 = PTR___stack_chk_fail_0015853c;\n  (*(code *)PTR___stack_chk_fail_0015853c)();\n  puStack_158 = puVar22 + 0x63a10;\n  puStack_104 = (undefined4 *)**(undefined4 **)(puVar22 + 0x5da5c);\n  pwVar14 = param_2;\n  pwStack_130 = pwVar15;\n  piStack_12c = piVar9;\n  pwStack_100 = pwVar16;\n  pbStack_fc = param_4;\n  pwStack_f8 = unaff_s2;\n  if (param_2 == (word *)0x1) {\n    *piVar9 = piVar9[1];\n    piVar9[1] = 0;\n    pwStack_13c = param_2;\n  }\n  else {\n    if ((int)param_2 < 2) {\n      pwStack_140 = (word *)&__DT_SYMTAB[0x3d1].st_info;\n    }\n    else {\n      pwVar18 = (word *)(piVar9 + 1);\n      pwStack_140 = (word *)&__DT_SYMTAB[0x3d1].st_info;\n      pwStack_13c = (word *)0x1;\n      unaff_s3 = *(word **)(puVar22 + 0x5d2e8);\n      piStack_134 = *(int **)(puVar22 + 0x5d454);\n      unaff_s8 = &pbStack_124;\n      do {\n        uVar4 = (**(code **)(puStack_158 + -0x6060))();\n        if ((1 < uVar4) && (*(int *)unaff_s3 == 0)) {\n          uStack_11c = 0;\n          uStack_118 = 0;\n          uStack_114 = 0;\n          uStack_110 = 0;\n        }\n        if (*piStack_134 == 0) {\n          param_4 = (byte *)(int)**(char **)pwVar18;\n          unaff_s5 = pwVar18;\n          if (param_4 == (byte *)0x0) {\n            pwVar16 = (word *)0x0;\n            goto LAB_000fac1c;\n          }\n          pwVar16 = (word *)(int)**(char **)(pwVar18 + 2);\n          pwStack_14c = (word *)0x0;\n          unaff_s4 = pwVar16;\n          if (pwVar16 == (word *)0x0) goto LAB_000fac1c;\n          unaff_s6 = (word *)&uStack_11c;\n          pwStack_148 = (word *)&uStack_114;\n          unaff_s7 = (word *)&uStack_10c;\n          do {\n            pwVar16 = pwStack_14c;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\n              if ((word *)param_4 != unaff_s4) goto LAB_000fac1c;\n            }\n            else {\n              uStack_10c = uStack_11c;\n              uStack_108 = uStack_118;\n              pwStack_15c = pwStack_148;\n              pwVar15 = unaff_s6;\n              pwStack_160 = pwVar16;\n              iVar5 = (**(code **)(puStack_158 + -0x65b8))\n                                (*(undefined4 *)pwVar18,pwVar16,unaff_s6,\n                                 *(undefined4 *)(pwVar18 + 2));\n              pwVar14 = unaff_s7;\n              if (iVar5 == 0) goto LAB_000fac1c;\n              iVar5 = (**(code **)(puStack_158 + -0x65b4))\n                                ((byte *)((int)pwStack_14c + *(int *)pwVar18));\n              if (1 < iVar5) {\n                pwVar16 = (word *)((int)pwVar16 + iVar5 + -1);\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_14c = pwVar16;\n            if (param_4 == (byte *)0x0) goto LAB_000fac1c;\n            unaff_s4 = (word *)(int)(char)*(byte *)((int)pwVar16 + *(int *)(pwVar18 + 2));\n            bVar3 = (int)pwVar16 < (int)pwStack_140;\n          } while (unaff_s4 != (word *)0x0);\n        }\n        else {\n          pwVar16 = (word *)0x0;\n          unaff_s7 = (word *)&uStack_11c;\n          unaff_s6 = (word *)&uStack_114;\n          while( true ) {\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_148 = pwVar16;\n            pwStack_144 = pwVar18;\n            if (unaff_s4 == (word *)param_4) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))();\n              if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n                param_4 = *(byte **)unaff_s4;\n              }\n            }\n            unaff_s5 = (word *)&pbStack_120;\n            if (param_4 == (byte *)0x0) break;\n            pwStack_14c = (word *)(int)(char)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))\n            ;\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n            if ((unaff_s4 == pwStack_14c) &&\n               (piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0)) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n              unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n              pwStack_14c = *(word **)unaff_s4;\n            }\n            if (pwStack_14c == (word *)0x0) break;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\njoined_r0x000facac:\n              if ((word *)param_4 != pwStack_14c) break;\n            }\n            else {\n              pbVar24 = (byte *)((int)pwStack_148 + *(int *)pwStack_144);\n              uVar7 = (**(code **)(puStack_158 + -0x60fc))(pbVar24);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,pbVar24,uVar7,unaff_s7);\n              unaff_s4 = (word *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n              pwVar15 = (word *)(**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              pwVar14 = unaff_s4;\n              iVar5 = (**(code **)(puStack_158 + -0x6084))(&pbStack_120,unaff_s4,pwVar15,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar5 + 2U < 2)) goto joined_r0x000facac;\n              param_4 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_124);\n              pbStack_124 = param_4;\n              pbStack_120 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_120);\n              if (param_4 != pbStack_120) break;\n              if (1 < uStack_138) {\n                pwVar16 = (word *)((int)pwStack_148 + (uStack_138 - 1));\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\nLAB_000fac1c:\n          bVar3 = (int)pwVar16 < (int)pwStack_140;\n        }\n        pwVar6 = pwStack_130;\n        if (bVar3) {\n          pwStack_140 = pwVar16;\n        }\n        pwStack_13c = (word *)((int)pwStack_13c + 1);\n        pwVar18 = pwVar18 + 2;\n      } while (param_2 != pwStack_13c);\n      unaff_s2 = pwVar18;\n      if (((pwStack_140 == (word *)0x0) && (pwStack_130 != (word *)0x0)) &&\n         (pwVar16 = pwStack_130, *(byte *)pwStack_130 != 0)) {\n        iVar5 = (**(code **)(puStack_158 + -0x60fc))(pwStack_130);\n        iVar5 = (**(code **)(puStack_158 + -0x7f88))(iVar5 + 1);\n        *piStack_12c = iVar5;\n        pwVar14 = pwVar6;\n        (**(code **)(puStack_158 + -0x6074))(iVar5);\n        pwVar16 = pwVar6;\n        goto LAB_000fb1f0;\n      }\n    }\n    iVar5 = (**(code **)(puStack_158 + -0x7f88))((byte *)((int)pwStack_140 + 1));\n    *piStack_12c = iVar5;\n    if (**(int **)(puStack_158 + -0x65bc) == 0) {\n      pwVar14 = (word *)piStack_12c[1];\n      pwVar15 = pwStack_140;\n      (**(code **)(puStack_158 + -0x615c))(iVar5);\n    }\n    else {\n      unaff_s3 = (word *)0x0;\n      if (**(int **)(puStack_158 + -0x6f0c) != 0) {\n        if ((code *)**(undefined4 **)(puStack_158 + -0x6de4) == (code *)0x0) {\n          unaff_s3 = (word *)0x0;\n        }\n        else if ((**(int **)(puStack_158 + -0x6f38) != 0) &&\n                (**(int **)(puStack_158 + -0x702c) != 0)) {\n          pwVar14 = (word *)**(undefined4 **)(puStack_158 + -0x6f34);\n          unaff_s3 = (word *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(pwStack_130);\n          pwStack_130 = unaff_s3;\n        }\n      }\n      if (**(int **)(puStack_158 + -0x6f10) != 0) {\n        pwVar14 = param_2;\n        (**(code **)(puStack_158 + -0x6218))\n                  (piStack_12c + 1,param_2,4,*(undefined4 *)(puStack_158 + -0x6660));\n      }\n      pwVar16 = (word *)(**(code **)(puStack_158 + -0x60fc))(pwStack_130);\n      unaff_s4 = pwStack_140;\n      if ((int)pwVar16 <= (int)pwStack_140) {\n        unaff_s4 = pwVar16;\n      }\n      if ((int)param_2 < 1) {\n        pwVar16 = (word *)0x1;\nLAB_000fb1a8:\n        pwVar16 = (word *)(uint)((int)param_2 < (int)pwVar16);\n        pwVar15 = pwStack_140;\n        if (pwVar16 != (word *)0x0) goto LAB_000fb12c;\n      }\n      else {\n        param_4 = (byte *)(piStack_12c + 1);\n        pwVar16 = (word *)0x1;\n        do {\n          unaff_s2 = *(word **)param_4;\n          iVar5 = (**(code **)(puStack_158 + -0x6238))(unaff_s2,pwStack_130,unaff_s4);\n          if (iVar5 == 0) {\n            pwVar14 = unaff_s2;\n            (**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,pwStack_140);\n            goto LAB_000fb1a8;\n          }\n          pwVar16 = (word *)((int)pwVar16 + 1);\n          param_4 = param_4 + 4;\n        } while ((int)pwVar16 <= (int)param_2);\nLAB_000fb12c:\n        pwVar14 = (word *)piStack_12c[1];\n        pwVar15 = pwStack_140;\n        (**(code **)(puStack_158 + -0x615c))(*piStack_12c);\n      }\n      if (unaff_s3 != (word *)0x0) {\n        (**(code **)(puStack_158 + -0x5f94))(unaff_s3);\n      }\n    }\n    *(byte *)((int)pwStack_140 + *piStack_12c) = 0;\n    pwStack_13c = param_2;\n  }\nLAB_000fb1f0:\n  if (puStack_104 == (undefined4 *)**(undefined4 **)(puStack_158 + -0x5fb4)) {\n    return pwStack_13c;\n  }\n  pcVar23 = *(code **)(puStack_158 + -0x6004);\n  pcVar25 = FUN_000fb268;\n  puVar21 = puStack_104;\n  (*pcVar23)();\n  pcStack_1a8 = pcVar23 + 0x632d8;\n  auStack_19d._1_4_ = **(undefined4 **)(pcVar23 + 0x5d324);\n  pwVar18 = (word *)*puVar21;\n  pwStack_194 = pwVar16;\n  pbStack_190 = param_4;\n  pwStack_18c = unaff_s2;\n  pwStack_188 = unaff_s3;\n  pwStack_184 = unaff_s4;\n  pwStack_180 = unaff_s5;\n  pwStack_17c = unaff_s6;\n  pwStack_178 = unaff_s7;\n  pcStack_174 = pcVar25;\n  if (pwVar18 == (word *)0x0) {\n    pwVar6 = (word *)0x0;\n  }\n  else {\n    pwVar20 = pwVar14;\n    pwVar6 = pwVar18;\n    if (**(int **)(pcVar23 + 0x5cd28) != 0) {\n      if (*(int *)pwVar18 == 0) {\nLAB_000fb370:\n        uVar7 = *(undefined4 *)pwVar18;\n      }\n      else {\n        pwVar15 = (word *)0x0;\n        pwVar16 = pwVar18;\n        do {\n          pwVar16 = pwVar16 + 2;\n          pwVar15 = (word *)((int)pwVar15 + 1);\n        } while (*(int *)pwVar16 != 0);\n        if ((pwVar15 == (word *)0x0) || (**(int **)(pcVar23 + 0x5c3c8) == 0)) goto LAB_000fb370;\n        pwVar15 = (word *)&DAT_00000004;\n        (**(code **)(pcVar23 + 0x5d0c0))();\n        uVar7 = *(undefined4 *)pwVar18;\n      }\n      iVar5 = (**(code **)(pcStack_1a8 + -0x60fc))(uVar7);\n      uVar7 = (**(code **)(pcStack_1a8 + -0x7f88))(iVar5 + 1);\n      unaff_s4 = (word *)(**(code **)(pcStack_1a8 + -0x6074))(uVar7,*(undefined4 *)pwVar18);\n      if (*(int *)(pwVar18 + 2) == 0) {\n        unaff_s6 = (word *)0x0;\n        pbVar24 = (byte *)0x3;\n        pwVar20 = (word *)0x0;\n      }\n      else {\n        unaff_s6 = (word *)0x0;\n        unaff_s7 = (word *)auStack_19d;\n        pwVar16 = pwVar18;\n        do {\n          uVar7 = *(undefined4 *)pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(uVar7);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(uVar7);\n            *(word **)pwVar16 = unaff_s7;\n          }\n          else {\n            unaff_s6 = (word *)((int)unaff_s6 + 1);\n          }\n          pwVar20 = *(word **)(pwVar16 + 4);\n          pbVar24 = (byte *)((int)unaff_s6 + 3);\n          pwVar16 = pwVar16 + 2;\n        } while (pwVar20 != (word *)0x0);\n      }\n      pwVar6 = (word *)(**(code **)(pcStack_1a8 + -0x7f88))((int)pbVar24 << 2);\n      pbVar24 = *(byte **)(pwVar18 + 2);\n      if (pbVar24 == (byte *)0x0) {\n        pbVar24 = (byte *)(pwVar6 + 2);\n        pbVar24[0] = 0;\n        pbVar24[1] = 0;\n        pbVar24[2] = 0;\n        pbVar24[3] = 0;\n        pwVar16 = (word *)0x1;\n        if (*(undefined1 **)pwVar18 != auStack_19d) {\n          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);\n          goto LAB_000fb4b4;\n        }\n        *(word **)pwVar6 = unaff_s4;\n      }\n      else {\n        pwVar16 = (word *)0x1;\n        pwVar20 = (word *)auStack_19d;\n        pbVar12 = (byte *)(pwVar18 + 4);\n        do {\n          if ((word *)pbVar24 != pwVar20) {\n            *(byte **)(pwVar6 + (int)pwVar16 * 2) = pbVar24;\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\n          pbVar24 = *(byte **)pbVar12;\n          pbVar12 = pbVar12 + 4;\n        } while (pbVar24 != (byte *)0x0);\n        *(undefined4 *)(pwVar6 + (int)pwVar16 * 2) = 0;\n        if (*(undefined1 **)pwVar18 != auStack_19d) {\n          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);\nLAB_000fb4b4:\n          (*pcVar23)();\n        }\n        *(word **)pwVar6 = unaff_s4;\n        if (pwVar16 == (word *)0x2) {\n          pwVar16 = *(word **)(pwVar6 + 2);\n          pwVar20 = pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(unaff_s4);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(pwVar16);\n            pbVar24 = (byte *)(pwVar6 + 2);\n            pbVar24[0] = 0;\n            pbVar24[1] = 0;\n            pbVar24[2] = 0;\n            pbVar24[3] = 0;\n          }\n        }\n      }\n      (**(code **)(pcStack_1a8 + -0x798c))(pwVar18);\n      unaff_s5 = pwVar6;\n    }\n    unaff_s3 = pwVar14;\n    pwVar18 = pwVar6;\n    if (((code *)**(undefined4 **)(pcStack_1a8 + -0x703c) == (code *)0x0) ||\n       (pwVar14 == (word *)0x0)) goto LAB_000fb570;\n    if (*(int *)(pwVar6 + 2) == 0) {\n      pwVar16 = (word *)0x1;\n    }\n    else {\n      pwVar16 = (word *)0x1;\n      pbVar24 = (byte *)(pwVar6 + 4);\n      do {\n        iVar5 = *(int *)pbVar24;\n        pwVar16 = (word *)((int)pwVar16 + 1);\n        pbVar24 = pbVar24 + 4;\n      } while (iVar5 != 0);\n    }\n    (*(code *)**(undefined4 **)(pcStack_1a8 + -0x703c))(pwVar6);\n    unaff_s3 = *(word **)pwVar6;\n    if (unaff_s3 == (word *)0x0) {\n      (**(code **)(pcStack_1a8 + -0x5f94))(pwVar6);\n      *puVar21 = 0;\n      pwVar6 = (word *)0x0;\n      pwVar14 = pwVar20;\n      goto LAB_000fb578;\n    }\n    if (*(int *)(pwVar6 + 2) == 0) {\nLAB_000fb570:\n      *puVar21 = pwVar6;\n    }\n    else {\n      pbVar24 = (byte *)(pwVar6 + 4);\n      pwVar14 = (word *)0x1;\n      do {\n        pwVar20 = pwVar14;\n        iVar5 = *(int *)pbVar24;\n        pwVar14 = (word *)((int)pwVar20 + 1);\n        pbVar24 = pbVar24 + 4;\n      } while (iVar5 != 0);\n      pwVar16 = (word *)(uint)((int)pwVar14 < (int)pwVar16);\n      if (((int)pwVar14 < 2) || (pwVar15 = unaff_s3, pwVar16 == (word *)0x0)) goto LAB_000fb570;\n      FUN_000fab30(pwVar6);\n      (**(code **)(pcStack_1a8 + -0x5f94))(unaff_s3);\n      *puVar21 = pwVar6;\n    }\n    pwVar6 = (word *)0x1;\n    pwVar14 = pwVar20;\n  }\nLAB_000fb578:\n  if ((char *)auStack_19d._1_4_ == (char *)**(undefined4 **)(pcStack_1a8 + -0x5fb4)) {\n    return pwVar6;\n  }\n  pcVar23 = *(code **)(pcStack_1a8 + -0x6004);\n  pcVar25 = rl_filename_completion_function;\n  pcVar19 = (char *)auStack_19d._1_4_;\n  (*pcVar23)();\n  pcStack_230 = pcVar23 + 0x62f20;\n  iStack_1e4 = **(int **)(pcVar23 + 0x5cf6c);\n  pwStack_1e0 = pwVar16;\n  pwStack_1dc = pwVar18;\n  puStack_1d8 = puVar21;\n  pwStack_1d4 = unaff_s3;\n  pwStack_1d0 = unaff_s4;\n  pwStack_1cc = unaff_s5;\n  pwStack_1c8 = unaff_s6;\n  pwStack_1c4 = unaff_s7;\n  ppbStack_1c0 = unaff_s8;\n  pcStack_1bc = pcVar25;\n  if (pwVar14 != (word *)0x0) goto LAB_000fb968;\n  if (*(int *)(*(int *)(pcVar23 + 0x5af4c) + -0x3fd4) != 0) {\n    (**(code **)(pcVar23 + 0x5cc9c))();\n    *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) = 0;\n  }\n  if (*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) != 0) {\n    (**(code **)(pcStack_230 + -0x5f94))();\n  }\n  if (*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) != 0) {\n    (**(code **)(pcStack_230 + -0x5f94))();\n  }\n  if (*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) != 0) {\n    (**(code **)(pcStack_230 + -0x5f94))();\n  }\n  iVar5 = (**(code **)(pcStack_230 + -0x60fc))(pcVar19);\n  uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);\n  uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,pcVar19);\n  *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) = uVar7;\n  if (*pcVar19 == '\0') {\n    pcVar19 = (char *)(*(int *)(pcStack_230 + -0x7f90) + -0x5e18);\n  }\n  iVar5 = (**(code **)(pcStack_230 + -0x60fc))(pcVar19);\n  uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);\n  puVar8 = (undefined1 *)(**(code **)(pcStack_230 + -0x6074))(uVar7,pcVar19);\n  *(undefined1 **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) = puVar8;\n  unaff_s4 = (word *)(**(code **)(pcStack_230 + -0x61d4))(puVar8,0x2f);\n  if (unaff_s4 == (word *)0x0) {\n    *puVar8 = 0x2e;\n    *(undefined1 *)(*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) + 1) = 0;\n  }\n  else {\n    (**(code **)(pcStack_230 + -0x6074))\n              (*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc),\n               (byte *)((int)unaff_s4 + 1));\n    *(byte *)((int)unaff_s4 + 1) = 0;\n  }\n  if (**(int **)(pcStack_230 + -0x6f38) == 0) {\nLAB_000fb830:\n    iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n    iVar5 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(iVar13 + -0x3fd8));\n    uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);\n    uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(iVar13 + -0x3fd8));\n    *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = uVar7;\n  }\n  else {\n    if ((code *)**(undefined4 **)(pcStack_230 + -0x6de4) == (code *)0x0) goto LAB_000fb830;\n    uVar7 = (*(code *)**(undefined4 **)(pcStack_230 + -0x6de4))\n                      (*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8),\n                       **(undefined4 **)(pcStack_230 + -0x6f34));\n    *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = uVar7;\n  }\n  bVar3 = **(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) == '~';\n  if (bVar3) {\n    uVar7 = (**(code **)(pcStack_230 + -0x7a34))();\n    iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n    (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fd8));\n    *(undefined4 *)(iVar5 + -0x3fd8) = uVar7;\n  }\n  unaff_s3 = (word *)(uint)bVar3;\n  if ((code *)**(undefined4 **)(pcStack_230 + -0x6f40) == (code *)0x0) {\n    if ((code *)**(undefined4 **)(pcStack_230 + -0x6f3c) != (code *)0x0) {\n      iVar5 = (*(code *)**(undefined4 **)(pcStack_230 + -0x6f3c))\n                        (*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);\n      iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n      if (iVar5 != 0) {\n        (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar13 + -0x3fe0));\n        unaff_s3 = *(word **)(pcStack_230 + -0x7fd4);\n        iVar5 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1fec));\n        uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);\n        uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1fec));\n        *(undefined4 *)(iVar13 + -0x3fe0) = uVar7;\n        goto LAB_000fb8b4;\n      }\n    }\n    iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n    if ((unaff_s3 == (word *)0x0) &&\n       (iVar5 = *(int *)(pcStack_230 + -0x7fd4), **(int **)(pcStack_230 + -0x6f38) != 0)) {\n      iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n      if (**(int **)(pcStack_230 + -0x6de4) != 0) {\n        (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fd8));\n        unaff_s3 = *(word **)(pcStack_230 + -0x7fd4);\n        iVar13 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1ff0));\n        uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar13 + 1);\n        uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1ff0));\n        *(undefined4 *)(iVar5 + -0x3fd8) = uVar7;\n      }\n      goto LAB_000fb8b4;\n    }\n  }\n  else {\n    (*(code *)**(undefined4 **)(pcStack_230 + -0x6f40))(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);\nLAB_000fb8b4:\n    iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n  }\n  uVar7 = (**(code **)(pcStack_230 + -0x6288))(*(undefined4 *)(iVar5 + -0x3fd8));\n  *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) = uVar7;\n  iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n  if ((**(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) != '\0') &&\n     (iVar5 = *(int *)(pcStack_230 + -0x7fd4), **(int **)(pcStack_230 + -0x6f38) != 0)) {\n    if ((code *)**(undefined4 **)(pcStack_230 + -0x6de4) != (code *)0x0) {\n      unaff_s3 = (word *)(*(code *)**(undefined4 **)(pcStack_230 + -0x6de4))\n                                   (*(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc),\n                                    **(undefined4 **)(pcStack_230 + -0x6f34));\n      iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n      (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fdc));\n      *(word **)(iVar5 + -0x3fdc) = unaff_s3;\n    }\n    iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n  }\n  uVar7 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(iVar5 + -0x3fdc));\n  *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe4) = uVar7;\n  **(undefined4 **)(pcStack_230 + -0x6f0c) = 1;\nLAB_000fb968:\n  iVar5 = 0;\n  iStack_224 = *(int *)(pcStack_230 + -0x7fd4);\n  puStack_220 = *(undefined4 **)(pcStack_230 + -0x6df0);\n  iStack_21c = *(int *)(pcStack_230 + -0x7fd4);\n  iStack_218 = *(int *)(pcStack_230 + -0x7fd4);\n  piStack_20c = *(int **)(pcStack_230 + -0x65bc);\n  pcVar23 = pcStack_230;\nLAB_000fbb0c:\n  iVar13 = *(int *)(iStack_224 + -0x3fd4);\nLAB_000fbb10:\n  if (iVar13 == 0) {\n    if (iVar5 != 0) goto LAB_000fbbb0;\n    iVar5 = *(int *)(*(int *)(pcVar23 + -0x7fd4) + -0x3fd8);\nLAB_000fc3a0:\n    if (iVar5 != 0) {\n      (**(code **)(pcVar23 + -0x798c))();\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) = 0;\n      pcVar23 = pcStack_230;\n    }\n    if (*(int *)(*(int *)(pcVar23 + -0x7fd4) + -0x3fdc) != 0) {\n      (**(code **)(pcVar23 + -0x798c))();\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) = 0;\n      pcVar23 = pcStack_230;\n    }\n    pwVar14 = *(word **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0);\n    if (pwVar14 != (word *)0x0) {\n      (**(code **)(pcVar23 + -0x798c))(pwVar14);\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = 0;\n      pwVar14 = (word *)0x0;\n      pcVar23 = pcStack_230;\n    }\n    goto LAB_000fbca4;\n  }\n  iVar5 = (**(code **)(pcVar23 + -0x6214))();\n  if (iVar5 == 0) {\n    if (*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) != 0) {\n      (**(code **)(pcStack_230 + -0x6284))();\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) = 0;\n    }\n    iVar5 = *(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);\n    pcVar23 = pcStack_230;\n    goto LAB_000fc3a0;\n  }\n  pwVar18 = (word *)(iVar5 + 0x13);\n  unaff_s4 = (word *)(**(code **)(pcStack_230 + -0x60fc))(pwVar18);\n  pwVar16 = pwVar18;\n  if (((code *)*puStack_220 != (code *)0x0) &&\n     (pwVar16 = (word *)(*(code *)*puStack_220)(pwVar18,unaff_s4), pwVar18 != pwVar16)) {\n    unaff_s4 = (word *)(**(code **)(pcStack_230 + -0x60fc))(pwVar16);\n  }\n  unaff_s3 = *(word **)(iStack_21c + -0x3fe4);\n  pcVar23 = pcStack_230;\n  if (unaff_s3 == (word *)0x0) {\n    if (**(int **)(pcStack_230 + -0x65ac) == 0) {\n      if (*(byte *)pwVar16 != 0x2e) goto LAB_000fbbb0;\n    }\n    else {\n      iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n      if ((*(byte *)pwVar16 != 0x2e) ||\n         (((byte)*pwVar16 != 0 &&\n          ((iVar13 = *(int *)(pcStack_230 + -0x7fd4), (byte)*pwVar16 != 0x2e ||\n           (iVar13 = *(int *)(pcStack_230 + -0x7fd4), *(byte *)(pwVar16 + 1) != 0))))))\n      goto LAB_000fbbb4;\n    }\n    goto LAB_000fbb0c;\n  }\n  pbStack_228 = *(byte **)(iStack_218 + -0x3fdc);\n  pbStack_1f4 = (byte *)0x0;\n  uStack_1f0 = 0;\n  uStack_1ec = 0;\n  uStack_1e8 = 0;\n  if ((int)unaff_s4 < (int)unaff_s3) goto LAB_000fbb0c;\n  if (*piStack_20c != 0) {\n    if (**(int **)(pcStack_230 + -0x65a4) == 0) {\n      uVar4 = (**(code **)(pcStack_230 + -0x6060))();\n      if ((1 < uVar4) && (unaff_s8 = &pbStack_1f4, **(int **)(pcStack_230 + -0x6728) == 0)) {\n        unaff_s7 = (word *)&iStack_1fc;\n        unaff_s6 = (word *)&uStack_1ec;\n        unaff_s5 = (word *)&iStack_1f8;\n        pwStack_214 = pwVar16;\n        pwStack_208 = unaff_s3;\n        goto LAB_000fc0a8;\n      }\n      unaff_s5 = (word *)(int)(char)*(byte *)pwVar16;\n      pbVar24 = (byte *)(uint)*(byte *)pwVar16;\n      if (((word *)pbVar24 == unaff_s5) &&\n         (piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))(),\n         (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0)) {\n        piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n        unaff_s5 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n      }\n      unaff_s6 = (word *)(int)(char)*pbStack_228;\n      unaff_s4 = (word *)(uint)*pbStack_228;\n      if (unaff_s4 == unaff_s6) {\n        piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))();\n        if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n          piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n          unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n          unaff_s6 = *(word **)unaff_s4;\n        }\n      }\n      pwVar15 = unaff_s3;\n      pcVar23 = pcStack_230;\n      if (unaff_s5 == unaff_s6) {\n        iVar13 = (**(code **)(pcStack_230 + -0x6188))(pbStack_228,pwVar16);\n        goto LAB_000fc280;\n      }\n    }\n    else {\n      uVar4 = (**(code **)(pcStack_230 + -0x6060))();\n      if ((1 < uVar4) && (unaff_s6 = (word *)&uStack_1ec, **(int **)(pcStack_230 + -0x6728) == 0)) {\n        unaff_s8 = &pbStack_1f4;\n        unaff_s7 = (word *)&iStack_1fc;\n        unaff_s5 = (word *)&iStack_1f8;\n        pwStack_214 = pwVar16;\n        pwStack_208 = unaff_s3;\n        do {\n          pwStack_210 = (word *)(**(code **)(pcStack_230 + -0x6084))\n                                          (unaff_s7,pwStack_214,unaff_s4,unaff_s8);\n          pwVar15 = unaff_s3;\n          iVar13 = (**(code **)(pcStack_230 + -0x6084))(unaff_s5,pbStack_228,unaff_s3,unaff_s6);\n          pcVar23 = pcStack_230;\n          if (pwStack_210 == (word *)0x0) {\n            if (iVar13 == 0) goto LAB_000fbbb0;\nLAB_000fbe6c:\n            if (iVar13 + 2U < 2) goto LAB_000fbdb4;\n            iStack_204 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc);\n            iStack_1fc = iStack_204;\n            iStack_1f8 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8);\n            pwStack_214 = (word *)((int)pwStack_214 + (int)pwStack_210);\n            pbStack_228 = pbStack_228 + (int)pwStack_210;\n            pwStack_208 = (word *)((int)pwStack_208 - (int)pwStack_210);\n            if ((((iStack_204 != 0x2d) && (iStack_204 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))) && (iStack_204 != iStack_1f8))\n            goto code_r0x000fbef4;\n          }\n          else {\n            if ((word *)0x1 < pwStack_210 + 1) goto LAB_000fbe6c;\nLAB_000fbdb4:\n            bVar2 = *(byte *)pwStack_214;\n            if (((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||\n               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))) goto LAB_000fbb0c;\n            pwStack_214 = (word *)((int)pwStack_214 + 1);\n            pbStack_228 = pbStack_228 + 1;\n            pwStack_208 = (word *)((int)pwStack_208 + -1);\n          }\n          iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n          pcVar23 = pcStack_230;\n          if (pwStack_208 == (word *)0x0) goto LAB_000fbbb4;\n        } while( true );\n      }\n      unaff_s7 = (word *)&DAT_0000002d;\n      unaff_s8 = (byte **)0x5f;\n      pwStack_208 = (word *)((int)pwVar16 + (int)unaff_s3);\n      unaff_s4 = pwVar16;\n      pcVar23 = pcStack_230;\n      while( true ) {\n        unaff_s3 = (word *)(int)(char)*(byte *)unaff_s4;\n        pbVar24 = (byte *)(uint)*(byte *)unaff_s4;\n        pwStack_214 = unaff_s3;\n        if (((word *)pbVar24 == unaff_s3) &&\n           (piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))(), pcVar23 = pcStack_230,\n           (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0)) {\n          piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n          pwStack_214 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n          pcVar23 = pcStack_230;\n        }\n        unaff_s5 = (word *)(int)(char)*pbStack_228;\n        unaff_s6 = (word *)(uint)*pbStack_228;\n        pwStack_210 = unaff_s5;\n        if (unaff_s6 == unaff_s5) {\n          piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))();\n          pcVar23 = pcStack_230;\n          if ((*(ushort *)(*piVar9 + (int)unaff_s6 * 2) & 1) != 0) {\n            piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n            unaff_s6 = (word *)(*piVar9 + (int)unaff_s6 * 4);\n            pwStack_210 = *(word **)unaff_s6;\n            pcVar23 = pcStack_230;\n          }\n        }\n        if ((((unaff_s3 != (word *)&DAT_0000002d) && (unaff_s3 != (word *)0x5f)) ||\n            ((unaff_s5 != (word *)&DAT_0000002d && (unaff_s5 != (word *)0x5f)))) &&\n           (pwStack_214 != pwStack_210)) break;\n        unaff_s4 = (word *)((int)unaff_s4 + 1);\n        pbStack_228 = pbStack_228 + 1;\n        iVar13 = *(int *)(pcVar23 + -0x7fd4);\n        if (unaff_s4 == pwStack_208) goto LAB_000fbbb4;\n      }\n    }\n    goto LAB_000fbb0c;\n  }\n  if (*(byte *)pwVar16 != *pbStack_228) goto LAB_000fbb0c;\n  pwVar15 = unaff_s3;\n  iVar13 = (**(code **)(pcStack_230 + -0x6238))(pbStack_228,pwVar16);\nLAB_000fc280:\n  pcVar23 = pcStack_230;\n  if (iVar13 != 0) goto LAB_000fbb0c;\n  pcVar19 = *(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);\n  goto LAB_000fbbb8;\nLAB_000fc0a8:\n  pwStack_210 = (word *)(**(code **)(pcStack_230 + -0x6084))(unaff_s7,pwStack_214,unaff_s4,unaff_s8)\n  ;\n  pwVar15 = unaff_s3;\n  iVar13 = (**(code **)(pcStack_230 + -0x6084))(unaff_s5,pbStack_228,unaff_s3,unaff_s6);\n  pcVar23 = pcStack_230;\n  if (pwStack_210 == (word *)0x0) {\n    if (iVar13 == 0) goto LAB_000fbbb0;\nLAB_000fc100:\n    if (iVar13 + 2U < 2) goto LAB_000fc060;\n    iStack_204 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc);\n    iStack_1fc = iStack_204;\n    iStack_1f8 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8);\n    pcVar23 = pcStack_230;\n    if (iStack_204 != iStack_1f8) goto LAB_000fbb0c;\n    pwStack_214 = (word *)((int)pwStack_214 + (int)pwStack_210);\n    pbStack_228 = pbStack_228 + (int)pwStack_210;\n    pwStack_208 = (word *)((int)pwStack_208 - (int)pwStack_210);\n  }\n  else {\n    if ((word *)0x1 < pwStack_210 + 1) goto LAB_000fc100;\nLAB_000fc060:\n    if (*(byte *)pwStack_214 != *pbStack_228) goto LAB_000fbb0c;\n    pwStack_214 = (word *)((int)pwStack_214 + 1);\n    pbStack_228 = pbStack_228 + 1;\n    pwStack_208 = (word *)((int)pwStack_208 + -1);\n  }\n  iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n  pcVar23 = pcStack_230;\n  if (pwStack_208 == (word *)0x0) goto LAB_000fbbb4;\n  goto LAB_000fc0a8;\ncode_r0x000fbef4:\n  iVar13 = *(int *)(iStack_224 + -0x3fd4);\n  pcVar23 = pcStack_230;\n  goto LAB_000fbb10;\nLAB_000fbbb0:\n  iVar13 = *(int *)(pcVar23 + -0x7fd4);\nLAB_000fbbb4:\n  pcVar19 = *(char **)(iVar13 + -0x3fd8);\nLAB_000fbbb8:\n  if ((pcVar19 == (char *)0x0) ||\n     ((piVar9 = *(int **)(pcVar23 + -0x65a8), *pcVar19 == '.' &&\n      (piVar9 = *(int **)(pcVar23 + -0x65a8), pcVar19[1] == '\0')))) {\n    iVar5 = (**(code **)(pcVar23 + -0x60fc))(pwVar16);\n    uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);\n    pwVar14 = (word *)(**(code **)(pcStack_230 + -0x6074))(uVar7,pwVar16);\n  }\n  else {\n    if ((*piVar9 == 0) || (**(char **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0) != '~')) {\n      iVar13 = *(int *)(pcVar23 + -0x7fd4);\n      unaff_s3 = (word *)(**(code **)(pcVar23 + -0x60fc))(*(undefined4 *)(iVar13 + -0x3fe0));\n      iVar5 = (**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13);\n      pwVar14 = (word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2));\n      iVar5 = *(int *)(iVar13 + -0x3fe0);\n      (**(code **)(pcStack_230 + -0x6074))(pwVar14,iVar5);\n      unaff_s4 = (word *)((int)unaff_s3 + iVar5);\n      unaff_s5 = unaff_s3;\n      if (*(byte *)((int)unaff_s4 + -1) != 0x2f) {\n        unaff_s5 = (word *)((int)unaff_s3 + 1);\n        unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);\n        *(byte *)unaff_s3 = 0x2f;\n      }\n    }\n    else {\n      unaff_s3 = (word *)(**(code **)(pcVar23 + -0x60fc))();\n      iVar5 = (**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13);\n      pwVar14 = (word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2));\n      unaff_s4 = *(word **)(pcStack_230 + -0x7fd4);\n      (**(code **)(pcStack_230 + -0x6074))(pwVar14,*(undefined4 *)(unaff_s4 + -0x1fec));\n      unaff_s5 = unaff_s3;\n      if (*(byte *)((int)unaff_s3 + *(int *)(unaff_s4 + -0x1fec) + -1) != 0x2f) {\n        unaff_s5 = (word *)((int)unaff_s3 + 1);\n        unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);\n        *(byte *)unaff_s3 = 0x2f;\n        *(byte *)((int)pwVar14 + (int)unaff_s5) = 0;\n      }\n    }\n    (**(code **)(pcStack_230 + -0x6074))((byte *)((int)pwVar14 + (int)unaff_s5),pwVar16);\n  }\n  pcVar23 = pcStack_230;\n  if (pwVar18 != pwVar16) {\n    (**(code **)(pcStack_230 + -0x798c))(pwVar16);\n    pcVar23 = pcStack_230;\n  }\nLAB_000fbca4:\n  if (iStack_1e4 == **(int **)(pcVar23 + -0x5fb4)) {\n    return pwVar14;\n  }\n  pcVar23 = *(code **)(pcVar23 + -0x6004);\n  pcVar25 = FUN_000fc42c;\n  iVar5 = iStack_1e4;\n  (*pcVar23)();\n  pcStack_280 = pcVar23 + 0x62114;\n  aiStack_278[3] = **(int **)(pcVar23 + 0x5c160);\n  pwStack_268 = pwVar16;\n  pwStack_264 = pwVar18;\n  pwStack_260 = pwVar14;\n  pwStack_25c = unaff_s3;\n  pwStack_258 = unaff_s4;\n  pwStack_254 = unaff_s5;\n  pwStack_250 = unaff_s6;\n  pwStack_24c = unaff_s7;\n  ppbStack_248 = unaff_s8;\n  pcStack_244 = pcVar25;\n  iVar10 = (**(code **)(pcVar23 + 0x5c018))();\n  aiStack_278[1] = 0;\n  aiStack_278[2] = 0;\n  pwVar16 = (word *)0x0;\n  iVar13 = 0;\n  pcVar23 = pcStack_280;\n  while( true ) {\n    pwVar14 = (word *)(iVar5 + iVar13);\n    bVar2 = *(byte *)pwVar14;\n    iVar17 = iVar13;\n    if (bVar2 == 0) break;\n    if ((bVar2 < 0x20) || (bVar2 == 0x7f)) {\n      pwVar16 = pwVar16 + 1;\n      iVar13 = iVar13 + 1;\n    }\n    else {\n      pwVar15 = (word *)((iVar10 + 1) - iVar13);\n      iVar11 = (**(code **)(pcVar23 + -0x6084))(aiStack_278,pwVar14,pwVar15,aiStack_278 + 1);\n      pcVar23 = pcStack_280;\n      if (iVar11 + 2U < 2) {\n        pwVar16 = (word *)((int)pwVar16 + 1);\n        iVar13 = iVar13 + 1;\n        aiStack_278[1] = 0;\n        aiStack_278[2] = 0;\n      }\n      else {\n        iVar17 = iVar13 + iVar11;\n        if (iVar11 == 0) break;\n        if (aiStack_278[0] < 0x40) {\n          iVar13 = 1;\n          if (aiStack_278[0] < 0x25) {\n            if (3 < aiStack_278[0] - 0x20U) {\n              pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n              goto LAB_000fc594;\n            }\n            iVar13 = 1;\n          }\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n          if (aiStack_278[0] < 0x41) {\nLAB_000fc594:\n            iVar13 = (*pcVar23)();\n          }\n          else {\n            iVar13 = 1;\n            if (0x5f < aiStack_278[0]) {\n              if (0x1d < aiStack_278[0] - 0x61U) goto LAB_000fc594;\n              iVar13 = 1;\n            }\n          }\n        }\n        if (iVar13 < 0) {\n          iVar13 = 1;\n        }\n        pwVar16 = (word *)((int)pwVar16 + iVar13);\n        iVar13 = iVar17;\n        pcVar23 = pcStack_280;\n      }\n    }\n  }\n  if (aiStack_278[3] == **(int **)(pcVar23 + -0x5fb4)) {\n    return pwVar16;\n  }\n  pcVar23 = *(code **)(pcVar23 + -0x6004);\n  pcVar25 = FUN_000fc5fc;\n  iVar11 = aiStack_278[3];\n  (*pcVar23)();\n  pcStack_2e0 = pcVar23 + 0x61f44;\n  uStack_2a4 = 1;\n  uStack_2a8 = 0x7f;\n  pbStack_2bc = (byte *)**(undefined4 **)(pcVar23 + 0x5bf90);\n  pwVar18 = pwVar14;\n  pwStack_2cc = pwVar15;\n  iStack_2b8 = iVar17;\n  pwStack_2b4 = pwVar16;\n  iStack_2b0 = iVar13;\n  iStack_2ac = iVar5;\n  piStack_2a0 = aiStack_278 + 1;\n  piStack_29c = aiStack_278;\n  iStack_298 = iVar10 + 1;\n  pcStack_294 = pcVar25;\n  iVar5 = (**(code **)(pcVar23 + 0x5be48))();\n  iStack_2d4 = iVar11 + iVar5 + 1;\n  aiStack_2c8[1] = 0;\n  aiStack_2c8[2] = 0;\n  if ((**(int **)(pcStack_2e0 + -0x65a0) < 1) || ((int)pwVar14 < iVar5)) {\n    if (**(int **)(pcStack_2e0 + -0x67a8) == 0) goto LAB_000fc714;\n    if ((pwVar14 == (word *)0x0) || (**(int **)(pcStack_2e0 + -0x67a4) < 1)) goto LAB_000fc6f0;\n    if (0 < **(int **)(pcStack_2e0 + -0x65a0)) goto LAB_000fc750;\n    pcVar23 = *(code **)(pcStack_2e0 + -0x659c);\n    pwVar6 = pwVar14;\nLAB_000fc6c0:\n    (*pcVar23)();\n    (**(code **)(pcStack_2e0 + -0x6598))();\n    pwVar20 = (word *)0x0;\n    pwVar14 = (word *)0x0;\n  }\n  else if (**(int **)(pcStack_2e0 + -0x67a8) == 0) {\n    pwVar14 = (word *)0x0;\n    pwVar20 = (word *)0x0;\n    pwVar6 = (word *)0x0;\n  }\n  else {\n    pwVar14 = (word *)0x0;\nLAB_000fc6f0:\n    (**(code **)(pcStack_2e0 + -0x659c))();\n    (**(code **)(pcStack_2e0 + -0x6594))(pwStack_2cc);\nLAB_000fc714:\n    pwVar6 = pwVar14;\n    if (pwVar14 == (word *)0x0) {\n      pwVar20 = (word *)0x0;\n    }\n    else if (**(int **)(pcStack_2e0 + -0x65a0) < 1) {\n      pcVar23 = *(code **)(pcStack_2e0 + -0x659c);\n      if (0 < **(int **)(pcStack_2e0 + -0x67a4)) goto LAB_000fc6c0;\n      pwVar6 = (word *)0x0;\n      pwVar20 = (word *)0x0;\n    }\n    else {\nLAB_000fc750:\n      pwVar16 = (word *)0x2e;\n      if (*(byte *)((int)pwVar14 + iVar11) == 0x2e) {\n        pwVar16 = (word *)0x5f;\n      }\n      puVar21 = *(undefined4 **)(pcStack_2e0 + -0x6ef0);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16);\n      pwVar20 = (word *)0x3;\n      pwVar6 = (word *)0x0;\n    }\n  }\n  pwVar14 = (word *)((int)pwVar14 + iVar11);\n  puVar21 = *(undefined4 **)(pcStack_2e0 + -0x6ef0);\n  iStack_2d0 = *(int *)(pcStack_2e0 + -26000) + 0xb8;\n  while (bVar2 = *(byte *)pwVar14, bVar2 != 0) {\n    if (bVar2 < 0x20) {\n      (**(code **)(pcStack_2e0 + -0x61f0))(0x5e,*puVar21);\n      pwVar16 = (word *)((int)(char)*(byte *)pwVar14 | 0x40);\n      pbVar24 = (byte *)(*(byte *)pwVar14 | 0x40);\n      if ((word *)pbVar24 == pwVar16) {\n        piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x6290))();\n        if ((*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 2) != 0) {\n          piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x5f10))();\n          pwVar16 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n        }\n      }\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16);\n      pwVar20 = pwVar20 + 1;\n      pwVar14 = (word *)((int)pwVar14 + 1);\n      aiStack_2c8[1] = 0;\n      aiStack_2c8[2] = 0;\n    }\n    else if (bVar2 == 0x7f) {\n      (**(code **)(pcStack_2e0 + -0x61f0))(0x5e,*puVar21);\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(0x3f);\n      pwVar20 = pwVar20 + 1;\n      pwVar14 = (word *)((int)pwVar14 + 1);\n      aiStack_2c8[1] = 0;\n      aiStack_2c8[2] = 0;\n    }\n    else {\n      pwVar15 = (word *)(iStack_2d4 - (int)pwVar14);\n      pwVar18 = pwVar14;\n      pwVar16 = (word *)(**(code **)(pcStack_2e0 + -0x6084))(aiStack_2c8,pwVar14,pwVar15);\n      iVar5 = 1;\n      if (pwVar16 + 1 < (word *)0x2) {\n        aiStack_2c8[1] = 0;\n        aiStack_2c8[2] = 0;\n        pwVar16 = (word *)0x1;\n      }\n      else {\n        if (pwVar16 == (word *)0x0) break;\n        if (aiStack_2c8[0] < 0x40) {\n          if (aiStack_2c8[0] < 0x25) {\n            pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n            if (3 < aiStack_2c8[0] - 0x20U) goto LAB_000fc9c0;\n          }\n          else {\n            iVar5 = 1;\n          }\n        }\n        else if (aiStack_2c8[0] < 0x41) {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\nLAB_000fc9c0:\n          iVar5 = (*pcVar23)();\n        }\n        else if (aiStack_2c8[0] < 0x60) {\n          iVar5 = 1;\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n          if (0x1d < aiStack_2c8[0] - 0x61U) goto LAB_000fc9c0;\n          iVar5 = 1;\n        }\n        if (iVar5 < 0) {\n          iVar5 = 1;\n        }\n      }\n      pwVar18 = (word *)0x1;\n      pwVar15 = pwVar16;\n      (**(code **)(pcStack_2e0 + -0x6054))(pwVar14,1,pwVar16,*puVar21);\n      pwVar14 = (word *)((int)pwVar14 + (int)pwVar16);\n      pwVar20 = (word *)((int)pwVar20 + iVar5);\n    }\n    if ((0 < (int)pwVar6) && ((int)pwVar6 <= (int)pwVar14 - iVar11)) {\n      (**(code **)(pcStack_2e0 + -0x658c))();\n      (**(code **)(pcStack_2e0 + -0x6588))(iStack_2d0);\n      pwVar6 = (word *)**(undefined4 **)(pcStack_2e0 + -0x67a8);\n      if (pwVar6 != (word *)0x0) {\n        (**(code **)(pcStack_2e0 + -0x659c))();\n        (**(code **)(pcStack_2e0 + -0x6594))(pwStack_2cc);\n        pwVar6 = (word *)0x0;\n      }\n    }\n  }\n  if (**(int **)(pcStack_2e0 + -0x67a8) != 0) {\n    (**(code **)(pcStack_2e0 + -0x658c))();\n    (**(code **)(pcStack_2e0 + -0x6588))(*(int *)(pcStack_2e0 + -26000) + 0xb8);\n  }\n  if (pbStack_2bc == (byte *)**(undefined4 **)(pcStack_2e0 + -0x5fb4)) {\n    return pwVar20;\n  }\n  pcVar23 = *(code **)(pcStack_2e0 + -0x6004);\n  pcVar25 = FUN_000fcae4;\n  pbVar24 = pbStack_2bc;\n  (*pcVar23)();\n  iStack_314 = **(int **)(pcVar23 + 0x5baa8);\n  pwStack_310 = pwVar14;\n  pwStack_30c = pwVar16;\n  pwStack_308 = pwVar20;\n  pwStack_304 = pwVar6;\n  piStack_300 = aiStack_2c8 + 1;\n  puStack_2fc = puVar21;\n  iStack_2f8 = iVar11;\n  pcStack_2f4 = pcVar25;\n  if ((**(int **)(pcVar23 + 0x5b2b4) == 0) ||\n     (piVar9 = *(int **)(pcVar23 + 0x5b4d8), **(int **)(pcVar23 + 0x5ab50) == 0)) {\n    pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,pbVar24);\n    piVar9 = *(int **)(pcVar23 + 0x5b4d8);\n    if (**(int **)(pcVar23 + 0x5ab50) == 0) goto LAB_000fcb84;\n  }\n  if ((*piVar9 == 0 && **(int **)(pcVar23 + 0x5b2b4) == 0) && **(int **)(pcVar23 + 0x5b49c) == 0)\n  goto LAB_000fcb84;\n  if ((word *)pbVar24 == pwVar18) {\n    iStack_31c = (**(code **)(pcVar23 + 0x5a028))(pwVar18);\n    if (**(int **)(pcVar23 + 0x5b4d8) != 0) {\n      iVar5 = FUN_000f9fd0(iStack_31c);\n      if (**(int **)(pcVar23 + 0x5b2b4) != 0) goto LAB_000fcf40;\n      goto LAB_000fcddc;\n    }\n    if (**(int **)(pcVar23 + 0x5b49c) == 0) {\n      piVar9 = *(int **)(pcVar23 + 0x5b2b4);\nLAB_000fcef0:\n      iVar5 = 0;\n      if (*piVar9 == 0) {\n        (**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);\n        goto LAB_000fcb84;\n      }\nLAB_000fcf40:\n      pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,iStack_31c);\n      goto LAB_000fcddc;\n    }\n    iVar5 = FUN_000fa188(iStack_31c);\n    piVar9 = *(int **)(pcVar23 + 0x5b2b4);\n    if (iVar5 == 0) goto LAB_000fcef0;\n    if (*piVar9 != 0) {\n      iVar5 = 0x2f;\n      goto LAB_000fcf40;\n    }\n    (**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);\n    iVar5 = 0x2f;\n  }\n  else {\n    bVar2 = pbVar24[-1];\n    pbVar24[-1] = 0;\n    if ((pwVar18 == (word *)0x0) || (*(byte *)pwVar18 == 0)) {\n      pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);\n    }\n    else {\n      pwStack_318 = pwVar18;\n      if (*(byte *)pwVar18 == 0x2f) {\n        if ((byte)*pwVar18 == 0) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59acc) + -0x794);\n        }\n        else if (((byte)*pwVar18 == 0x2f) && (*(byte *)(pwVar18 + 1) == 0)) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);\n        }\n      }\n    }\n    iStack_31c = (**(code **)(pcVar23 + 0x5a028))(pwStack_318);\n    if ((code *)**(undefined4 **)(pcVar23 + 0x5ab20) != (code *)0x0) {\n      (*(code *)**(undefined4 **)(pcVar23 + 0x5ab20))(&iStack_31c);\n    }\n    iVar5 = (**(code **)(pcVar23 + 0x5b960))(iStack_31c);\n    iVar13 = (**(code **)(pcVar23 + 0x5b960))(pbVar24);\n    pwVar16 = (word *)(**(code **)(pcVar23 + 0x59ad4))(iVar13 + iVar5 + 2);\n    (**(code **)(pcVar23 + 0x5b9e8))(pwVar16,iStack_31c);\n    if (*(char *)(iStack_31c + iVar5 + -1) == '/') {\n      iVar5 = iVar5 + -1;\n    }\n    else {\n      *(byte *)((int)pwVar16 + iVar5) = 0x2f;\n    }\n    (**(code **)(pcVar23 + 0x5b9e8))((byte *)((int)pwVar16 + iVar5 + 1),pbVar24);\n    if (**(int **)(pcVar23 + 0x5b4d8) == 0) {\n      iVar5 = **(int **)(pcVar23 + 0x5b49c);\n      piVar9 = *(int **)(pcVar23 + 0x5b2b4);\n      if (iVar5 != 0) {\n        pwStack_318 = (word *)0x0;\n        if ((**(int **)(pcVar23 + 0x5ab20) == 0) && (**(int **)(pcVar23 + 0x5ac70) != 0)) {\n          iVar5 = (**(code **)(pcVar23 + 0x5b960))(pwVar16);\n          uVar7 = (**(code **)(pcVar23 + 0x59ad4))(iVar5 + 1);\n          pwStack_318 = (word *)(**(code **)(pcVar23 + 0x5b9e8))(uVar7,pwVar16);\n          (*(code *)**(undefined4 **)(pcVar23 + 0x5ac70))(&pwStack_318);\n          (**(code **)(pcVar23 + 0x5a0d0))(pwVar16);\n          pwVar16 = pwStack_318;\n        }\n        iVar5 = FUN_000fa188(pwVar16);\n        if (iVar5 != 0) {\n          iVar5 = 0x2f;\n        }\n        goto LAB_000fcdb0;\n      }\n    }\n    else {\n      iVar5 = FUN_000f9fd0(pwVar16);\nLAB_000fcdb0:\n      piVar9 = *(int **)(pcVar23 + 0x5b2b4);\n    }\n    if (*piVar9 != 0) {\n      pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,pwVar16);\n    }\n    (**(code **)(pcVar23 + 0x5a0d0))(pwVar16);\n    pbVar24[-1] = bVar2;\nLAB_000fcddc:\n    (**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);\n    if (iVar5 == 0) goto LAB_000fcb84;\n  }\n  (**(code **)(pcVar23 + 0x5b86c))(iVar5,**(undefined4 **)(pcVar23 + 0x5ab6c));\n  pwVar6 = (word *)((int)pwVar6 + 1);\nLAB_000fcb84:\n  if (iStack_314 == **(int **)(pcVar23 + 0x5baa8)) {\n    return pwVar6;\n  }\n  pcVar23 = *(code **)(pcVar23 + 0x5ba58);\n  (*pcVar23)();\n  if ((**(int **)(pcVar23 + 0x5a67c) == iStack_314) &&\n     (*(int *)(*(int *)(pcVar23 + 0x595b0) + -0x3fb8) == 0)) {\n    return (word *)0x3f;\n  }\n  if (**(int **)(pcVar23 + 0x5b004) == 0) {\n    pwVar16 = (word *)&DAT_00000009;\n    if (**(int **)(pcVar23 + 0x5b008) != 0) {\n      pwVar16 = (word *)0x40;\n    }\n    return pwVar16;\n  }\n  return (word *)&DAT_00000021;\n}" type_identifier (pointer_declarator "* FUN_000fa7dc(undefined4 param_1,word *param_2,int param_3,byte *param_4)" * (function_declarator "FUN_000fa7dc(undefined4 param_1,word *param_2,int param_3,byte *param_4)" identifier (parameter_list "(undefined4 param_1,word *param_2,int param_3,byte *param_4)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "word *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "byte *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) )))) (compound_statement "{\n  char cVar1;\n  byte bVar2;\n  bool bVar3;\n  uint uVar4;\n  int iVar5;\n  word *pwVar6;\n  undefined4 uVar7;\n  undefined1 *puVar8;\n  int *piVar9;\n  int iVar10;\n  int iVar11;\n  byte *pbVar12;\n  int iVar13;\n  word *pwVar14;\n  word *pwVar15;\n  word *pwVar16;\n  int iVar17;\n  word *pwVar18;\n  word *unaff_s2;\n  char *pcVar19;\n  word *pwVar20;\n  word *unaff_s3;\n  word *unaff_s4;\n  word *unaff_s5;\n  undefined4 *puVar21;\n  word *unaff_s6;\n  word *unaff_s7;\n  undefined *puVar22;\n  code *pcVar23;\n  byte **unaff_s8;\n  byte *pbVar24;\n  code *pcVar25;\n  int iStack_31c;\n  word *pwStack_318;\n  int iStack_314;\n  word *pwStack_310;\n  word *pwStack_30c;\n  word *pwStack_308;\n  word *pwStack_304;\n  int *piStack_300;\n  undefined4 *puStack_2fc;\n  int iStack_2f8;\n  code *pcStack_2f4;\n  code *pcStack_2e0;\n  int iStack_2d4;\n  int iStack_2d0;\n  word *pwStack_2cc;\n  int aiStack_2c8 [3];\n  byte *pbStack_2bc;\n  int iStack_2b8;\n  word *pwStack_2b4;\n  int iStack_2b0;\n  int iStack_2ac;\n  undefined4 uStack_2a8;\n  undefined4 uStack_2a4;\n  int *piStack_2a0;\n  int *piStack_29c;\n  int iStack_298;\n  code *pcStack_294;\n  code *pcStack_280;\n  int aiStack_278 [4];\n  word *pwStack_268;\n  word *pwStack_264;\n  word *pwStack_260;\n  word *pwStack_25c;\n  word *pwStack_258;\n  word *pwStack_254;\n  word *pwStack_250;\n  word *pwStack_24c;\n  byte **ppbStack_248;\n  code *pcStack_244;\n  code *pcStack_230;\n  byte *pbStack_228;\n  int iStack_224;\n  undefined4 *puStack_220;\n  int iStack_21c;\n  int iStack_218;\n  word *pwStack_214;\n  word *pwStack_210;\n  int *piStack_20c;\n  word *pwStack_208;\n  int iStack_204;\n  int iStack_1fc;\n  int iStack_1f8;\n  byte *pbStack_1f4;\n  undefined4 uStack_1f0;\n  undefined4 uStack_1ec;\n  undefined4 uStack_1e8;\n  int iStack_1e4;\n  word *pwStack_1e0;\n  word *pwStack_1dc;\n  undefined4 *puStack_1d8;\n  word *pwStack_1d4;\n  word *pwStack_1d0;\n  word *pwStack_1cc;\n  word *pwStack_1c8;\n  word *pwStack_1c4;\n  byte **ppbStack_1c0;\n  code *pcStack_1bc;\n  code *pcStack_1a8;\n  undefined1 auStack_19d [9];\n  word *pwStack_194;\n  byte *pbStack_190;\n  word *pwStack_18c;\n  word *pwStack_188;\n  word *pwStack_184;\n  word *pwStack_180;\n  word *pwStack_17c;\n  word *pwStack_178;\n  code *pcStack_174;\n  word *pwStack_160;\n  word *pwStack_15c;\n  undefined *puStack_158;\n  word *pwStack_14c;\n  word *pwStack_148;\n  word *pwStack_144;\n  word *pwStack_140;\n  word *pwStack_13c;\n  uint uStack_138;\n  int *piStack_134;\n  word *pwStack_130;\n  int *piStack_12c;\n  byte *pbStack_124;\n  byte *pbStack_120;\n  undefined4 uStack_11c;\n  undefined4 uStack_118;\n  undefined4 uStack_114;\n  undefined4 uStack_110;\n  undefined4 uStack_10c;\n  undefined4 uStack_108;\n  undefined4 *puStack_104;\n  word *pwStack_100;\n  byte *pbStack_fc;\n  word *pwStack_f8;\n  word *local_bc;\n  word awStack_b8 [12];\n  uint local_a0;\n  undefined1 local_18 [4];\n  int *local_14;\n  \n  local_14 = *(int **)PTR___stack_chk_guard_0015858c;\n  if (param_3 != 0) {\n    if (*(int *)PTR_rl_point_001575f0 == 0) {\n      param_3 = 0;\n    }\n    else if (*(int *)PTR_rl_completion_suppress_quote_00157618 == 0) {\n      if (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + *(int *)PTR_rl_point_001575f0 + -1) ==\n          param_3) {\n        param_3 = 0;\n      }\n      else {\n        local_18[0] = (undefined1)param_3;\n        param_3 = 1;\n      }\n    }\n    else {\n      param_3 = 0;\n    }\n  }\n  if (param_2 == (word *)0x0) {\n    pwVar16 = (word *)(param_3 + 1);\n    if ((*(int *)PTR_rl_completion_suppress_append_00157624 == 0) &&\n       (*(int *)PTR_rl_completion_append_character_00157628 != 0)) {\n      local_18[param_3] = (char)*(int *)PTR_rl_completion_append_character_00157628;\n      goto LAB_000fa86c;\n    }\n  }\n  else {\n    local_18[param_3] = (char)param_2;\nLAB_000fa86c:\n    pwVar16 = (word *)(param_3 + 2);\n    param_3 = param_3 + 1;\n  }\n  pwVar15 = (word *)(&stack0xfffffff0 + param_3);\n  local_18[param_3] = 0;\n  if (*(int *)PTR_rl_filename_completion_desired_00157634 == 0) {\n    if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {\n      rl_insert_text(local_18);\n    }\n  }\n  else {\n    unaff_s2 = (word *)(*(code *)PTR_tilde_expand_00156b0c)();\n    if (*(int *)PTR_rl_filename_stat_hook_00157754 != 0) {\n      iVar5 = (*(code *)PTR_strlen_00158444)(unaff_s2);\n      uVar7 = (*(code *)PTR_xmalloc_001565b8)(iVar5 + 1);\n      local_bc = (word *)(*(code *)PTR_strcpy_001584cc)(uVar7,unaff_s2);\n      (**(code **)PTR_rl_filename_stat_hook_00157754)(&local_bc);\n      (*(code *)PTR_xfree_00156bb4)(unaff_s2);\n      unaff_s2 = local_bc;\n    }\n    param_2 = unaff_s2;\n    if ((param_4 == (byte *)0x0) ||\n       (pwVar15 = awStack_b8, *(int *)PTR_rl_completion_mark_symlink_dirs_001578a4 != 0)) {\n      pwVar15 = awStack_b8;\n      iVar5 = (*(code *)PTR___xstat64_001582e8)(3);\n    }\n    else {\n      iVar5 = (*(code *)PTR___lxstat64_001582c8)(3);\n    }\n    if (iVar5 == 0) {\n      if ((local_a0 & 0xf000) == 0x4000) {\n        if (*(int *)PTR__rl_complete_mark_directories_00157f80 != 0) {\n          iVar5 = *(int *)PTR_rl_point_001575f0;\n          if ((iVar5 == 0) || (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5) != '\0')) {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5);\n          }\n          else {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5 + -1);\n          }\n          if (cVar1 != '/') {\n            rl_insert_text(PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c);\n          }\n        }\n      }\n      else if (((local_a0 & 0xf000) != 0xa000) || (iVar5 = FUN_000fa188(unaff_s2), iVar5 == 0))\n      goto LAB_000fa9f0;\n    }\n    else {\nLAB_000fa9f0:\n      if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {\n        rl_insert_text(local_18);\n      }\n    }\n    (*(code *)PTR_xfree_00156bb4)(unaff_s2);\n  }\n  if (local_14 == *(int **)PTR___stack_chk_guard_0015858c) {\n    return pwVar16;\n  }\n  piVar9 = local_14;\n  puVar22 = PTR___stack_chk_fail_0015853c;\n  (*(code *)PTR___stack_chk_fail_0015853c)();\n  puStack_158 = puVar22 + 0x63a10;\n  puStack_104 = (undefined4 *)**(undefined4 **)(puVar22 + 0x5da5c);\n  pwVar14 = param_2;\n  pwStack_130 = pwVar15;\n  piStack_12c = piVar9;\n  pwStack_100 = pwVar16;\n  pbStack_fc = param_4;\n  pwStack_f8 = unaff_s2;\n  if (param_2 == (word *)0x1) {\n    *piVar9 = piVar9[1];\n    piVar9[1] = 0;\n    pwStack_13c = param_2;\n  }\n  else {\n    if ((int)param_2 < 2) {\n      pwStack_140 = (word *)&__DT_SYMTAB[0x3d1].st_info;\n    }\n    else {\n      pwVar18 = (word *)(piVar9 + 1);\n      pwStack_140 = (word *)&__DT_SYMTAB[0x3d1].st_info;\n      pwStack_13c = (word *)0x1;\n      unaff_s3 = *(word **)(puVar22 + 0x5d2e8);\n      piStack_134 = *(int **)(puVar22 + 0x5d454);\n      unaff_s8 = &pbStack_124;\n      do {\n        uVar4 = (**(code **)(puStack_158 + -0x6060))();\n        if ((1 < uVar4) && (*(int *)unaff_s3 == 0)) {\n          uStack_11c = 0;\n          uStack_118 = 0;\n          uStack_114 = 0;\n          uStack_110 = 0;\n        }\n        if (*piStack_134 == 0) {\n          param_4 = (byte *)(int)**(char **)pwVar18;\n          unaff_s5 = pwVar18;\n          if (param_4 == (byte *)0x0) {\n            pwVar16 = (word *)0x0;\n            goto LAB_000fac1c;\n          }\n          pwVar16 = (word *)(int)**(char **)(pwVar18 + 2);\n          pwStack_14c = (word *)0x0;\n          unaff_s4 = pwVar16;\n          if (pwVar16 == (word *)0x0) goto LAB_000fac1c;\n          unaff_s6 = (word *)&uStack_11c;\n          pwStack_148 = (word *)&uStack_114;\n          unaff_s7 = (word *)&uStack_10c;\n          do {\n            pwVar16 = pwStack_14c;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\n              if ((word *)param_4 != unaff_s4) goto LAB_000fac1c;\n            }\n            else {\n              uStack_10c = uStack_11c;\n              uStack_108 = uStack_118;\n              pwStack_15c = pwStack_148;\n              pwVar15 = unaff_s6;\n              pwStack_160 = pwVar16;\n              iVar5 = (**(code **)(puStack_158 + -0x65b8))\n                                (*(undefined4 *)pwVar18,pwVar16,unaff_s6,\n                                 *(undefined4 *)(pwVar18 + 2));\n              pwVar14 = unaff_s7;\n              if (iVar5 == 0) goto LAB_000fac1c;\n              iVar5 = (**(code **)(puStack_158 + -0x65b4))\n                                ((byte *)((int)pwStack_14c + *(int *)pwVar18));\n              if (1 < iVar5) {\n                pwVar16 = (word *)((int)pwVar16 + iVar5 + -1);\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_14c = pwVar16;\n            if (param_4 == (byte *)0x0) goto LAB_000fac1c;\n            unaff_s4 = (word *)(int)(char)*(byte *)((int)pwVar16 + *(int *)(pwVar18 + 2));\n            bVar3 = (int)pwVar16 < (int)pwStack_140;\n          } while (unaff_s4 != (word *)0x0);\n        }\n        else {\n          pwVar16 = (word *)0x0;\n          unaff_s7 = (word *)&uStack_11c;\n          unaff_s6 = (word *)&uStack_114;\n          while( true ) {\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_148 = pwVar16;\n            pwStack_144 = pwVar18;\n            if (unaff_s4 == (word *)param_4) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))();\n              if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n                param_4 = *(byte **)unaff_s4;\n              }\n            }\n            unaff_s5 = (word *)&pbStack_120;\n            if (param_4 == (byte *)0x0) break;\n            pwStack_14c = (word *)(int)(char)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))\n            ;\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n            if ((unaff_s4 == pwStack_14c) &&\n               (piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0)) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n              unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n              pwStack_14c = *(word **)unaff_s4;\n            }\n            if (pwStack_14c == (word *)0x0) break;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\njoined_r0x000facac:\n              if ((word *)param_4 != pwStack_14c) break;\n            }\n            else {\n              pbVar24 = (byte *)((int)pwStack_148 + *(int *)pwStack_144);\n              uVar7 = (**(code **)(puStack_158 + -0x60fc))(pbVar24);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,pbVar24,uVar7,unaff_s7);\n              unaff_s4 = (word *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n              pwVar15 = (word *)(**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              pwVar14 = unaff_s4;\n              iVar5 = (**(code **)(puStack_158 + -0x6084))(&pbStack_120,unaff_s4,pwVar15,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar5 + 2U < 2)) goto joined_r0x000facac;\n              param_4 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_124);\n              pbStack_124 = param_4;\n              pbStack_120 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_120);\n              if (param_4 != pbStack_120) break;\n              if (1 < uStack_138) {\n                pwVar16 = (word *)((int)pwStack_148 + (uStack_138 - 1));\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\nLAB_000fac1c:\n          bVar3 = (int)pwVar16 < (int)pwStack_140;\n        }\n        pwVar6 = pwStack_130;\n        if (bVar3) {\n          pwStack_140 = pwVar16;\n        }\n        pwStack_13c = (word *)((int)pwStack_13c + 1);\n        pwVar18 = pwVar18 + 2;\n      } while (param_2 != pwStack_13c);\n      unaff_s2 = pwVar18;\n      if (((pwStack_140 == (word *)0x0) && (pwStack_130 != (word *)0x0)) &&\n         (pwVar16 = pwStack_130, *(byte *)pwStack_130 != 0)) {\n        iVar5 = (**(code **)(puStack_158 + -0x60fc))(pwStack_130);\n        iVar5 = (**(code **)(puStack_158 + -0x7f88))(iVar5 + 1);\n        *piStack_12c = iVar5;\n        pwVar14 = pwVar6;\n        (**(code **)(puStack_158 + -0x6074))(iVar5);\n        pwVar16 = pwVar6;\n        goto LAB_000fb1f0;\n      }\n    }\n    iVar5 = (**(code **)(puStack_158 + -0x7f88))((byte *)((int)pwStack_140 + 1));\n    *piStack_12c = iVar5;\n    if (**(int **)(puStack_158 + -0x65bc) == 0) {\n      pwVar14 = (word *)piStack_12c[1];\n      pwVar15 = pwStack_140;\n      (**(code **)(puStack_158 + -0x615c))(iVar5);\n    }\n    else {\n      unaff_s3 = (word *)0x0;\n      if (**(int **)(puStack_158 + -0x6f0c) != 0) {\n        if ((code *)**(undefined4 **)(puStack_158 + -0x6de4) == (code *)0x0) {\n          unaff_s3 = (word *)0x0;\n        }\n        else if ((**(int **)(puStack_158 + -0x6f38) != 0) &&\n                (**(int **)(puStack_158 + -0x702c) != 0)) {\n          pwVar14 = (word *)**(undefined4 **)(puStack_158 + -0x6f34);\n          unaff_s3 = (word *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(pwStack_130);\n          pwStack_130 = unaff_s3;\n        }\n      }\n      if (**(int **)(puStack_158 + -0x6f10) != 0) {\n        pwVar14 = param_2;\n        (**(code **)(puStack_158 + -0x6218))\n                  (piStack_12c + 1,param_2,4,*(undefined4 *)(puStack_158 + -0x6660));\n      }\n      pwVar16 = (word *)(**(code **)(puStack_158 + -0x60fc))(pwStack_130);\n      unaff_s4 = pwStack_140;\n      if ((int)pwVar16 <= (int)pwStack_140) {\n        unaff_s4 = pwVar16;\n      }\n      if ((int)param_2 < 1) {\n        pwVar16 = (word *)0x1;\nLAB_000fb1a8:\n        pwVar16 = (word *)(uint)((int)param_2 < (int)pwVar16);\n        pwVar15 = pwStack_140;\n        if (pwVar16 != (word *)0x0) goto LAB_000fb12c;\n      }\n      else {\n        param_4 = (byte *)(piStack_12c + 1);\n        pwVar16 = (word *)0x1;\n        do {\n          unaff_s2 = *(word **)param_4;\n          iVar5 = (**(code **)(puStack_158 + -0x6238))(unaff_s2,pwStack_130,unaff_s4);\n          if (iVar5 == 0) {\n            pwVar14 = unaff_s2;\n            (**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,pwStack_140);\n            goto LAB_000fb1a8;\n          }\n          pwVar16 = (word *)((int)pwVar16 + 1);\n          param_4 = param_4 + 4;\n        } while ((int)pwVar16 <= (int)param_2);\nLAB_000fb12c:\n        pwVar14 = (word *)piStack_12c[1];\n        pwVar15 = pwStack_140;\n        (**(code **)(puStack_158 + -0x615c))(*piStack_12c);\n      }\n      if (unaff_s3 != (word *)0x0) {\n        (**(code **)(puStack_158 + -0x5f94))(unaff_s3);\n      }\n    }\n    *(byte *)((int)pwStack_140 + *piStack_12c) = 0;\n    pwStack_13c = param_2;\n  }\nLAB_000fb1f0:\n  if (puStack_104 == (undefined4 *)**(undefined4 **)(puStack_158 + -0x5fb4)) {\n    return pwStack_13c;\n  }\n  pcVar23 = *(code **)(puStack_158 + -0x6004);\n  pcVar25 = FUN_000fb268;\n  puVar21 = puStack_104;\n  (*pcVar23)();\n  pcStack_1a8 = pcVar23 + 0x632d8;\n  auStack_19d._1_4_ = **(undefined4 **)(pcVar23 + 0x5d324);\n  pwVar18 = (word *)*puVar21;\n  pwStack_194 = pwVar16;\n  pbStack_190 = param_4;\n  pwStack_18c = unaff_s2;\n  pwStack_188 = unaff_s3;\n  pwStack_184 = unaff_s4;\n  pwStack_180 = unaff_s5;\n  pwStack_17c = unaff_s6;\n  pwStack_178 = unaff_s7;\n  pcStack_174 = pcVar25;\n  if (pwVar18 == (word *)0x0) {\n    pwVar6 = (word *)0x0;\n  }\n  else {\n    pwVar20 = pwVar14;\n    pwVar6 = pwVar18;\n    if (**(int **)(pcVar23 + 0x5cd28) != 0) {\n      if (*(int *)pwVar18 == 0) {\nLAB_000fb370:\n        uVar7 = *(undefined4 *)pwVar18;\n      }\n      else {\n        pwVar15 = (word *)0x0;\n        pwVar16 = pwVar18;\n        do {\n          pwVar16 = pwVar16 + 2;\n          pwVar15 = (word *)((int)pwVar15 + 1);\n        } while (*(int *)pwVar16 != 0);\n        if ((pwVar15 == (word *)0x0) || (**(int **)(pcVar23 + 0x5c3c8) == 0)) goto LAB_000fb370;\n        pwVar15 = (word *)&DAT_00000004;\n        (**(code **)(pcVar23 + 0x5d0c0))();\n        uVar7 = *(undefined4 *)pwVar18;\n      }\n      iVar5 = (**(code **)(pcStack_1a8 + -0x60fc))(uVar7);\n      uVar7 = (**(code **)(pcStack_1a8 + -0x7f88))(iVar5 + 1);\n      unaff_s4 = (word *)(**(code **)(pcStack_1a8 + -0x6074))(uVar7,*(undefined4 *)pwVar18);\n      if (*(int *)(pwVar18 + 2) == 0) {\n        unaff_s6 = (word *)0x0;\n        pbVar24 = (byte *)0x3;\n        pwVar20 = (word *)0x0;\n      }\n      else {\n        unaff_s6 = (word *)0x0;\n        unaff_s7 = (word *)auStack_19d;\n        pwVar16 = pwVar18;\n        do {\n          uVar7 = *(undefined4 *)pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(uVar7);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(uVar7);\n            *(word **)pwVar16 = unaff_s7;\n          }\n          else {\n            unaff_s6 = (word *)((int)unaff_s6 + 1);\n          }\n          pwVar20 = *(word **)(pwVar16 + 4);\n          pbVar24 = (byte *)((int)unaff_s6 + 3);\n          pwVar16 = pwVar16 + 2;\n        } while (pwVar20 != (word *)0x0);\n      }\n      pwVar6 = (word *)(**(code **)(pcStack_1a8 + -0x7f88))((int)pbVar24 << 2);\n      pbVar24 = *(byte **)(pwVar18 + 2);\n      if (pbVar24 == (byte *)0x0) {\n        pbVar24 = (byte *)(pwVar6 + 2);\n        pbVar24[0] = 0;\n        pbVar24[1] = 0;\n        pbVar24[2] = 0;\n        pbVar24[3] = 0;\n        pwVar16 = (word *)0x1;\n        if (*(undefined1 **)pwVar18 != auStack_19d) {\n          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);\n          goto LAB_000fb4b4;\n        }\n        *(word **)pwVar6 = unaff_s4;\n      }\n      else {\n        pwVar16 = (word *)0x1;\n        pwVar20 = (word *)auStack_19d;\n        pbVar12 = (byte *)(pwVar18 + 4);\n        do {\n          if ((word *)pbVar24 != pwVar20) {\n            *(byte **)(pwVar6 + (int)pwVar16 * 2) = pbVar24;\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\n          pbVar24 = *(byte **)pbVar12;\n          pbVar12 = pbVar12 + 4;\n        } while (pbVar24 != (byte *)0x0);\n        *(undefined4 *)(pwVar6 + (int)pwVar16 * 2) = 0;\n        if (*(undefined1 **)pwVar18 != auStack_19d) {\n          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);\nLAB_000fb4b4:\n          (*pcVar23)();\n        }\n        *(word **)pwVar6 = unaff_s4;\n        if (pwVar16 == (word *)0x2) {\n          pwVar16 = *(word **)(pwVar6 + 2);\n          pwVar20 = pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(unaff_s4);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(pwVar16);\n            pbVar24 = (byte *)(pwVar6 + 2);\n            pbVar24[0] = 0;\n            pbVar24[1] = 0;\n            pbVar24[2] = 0;\n            pbVar24[3] = 0;\n          }\n        }\n      }\n      (**(code **)(pcStack_1a8 + -0x798c))(pwVar18);\n      unaff_s5 = pwVar6;\n    }\n    unaff_s3 = pwVar14;\n    pwVar18 = pwVar6;\n    if (((code *)**(undefined4 **)(pcStack_1a8 + -0x703c) == (code *)0x0) ||\n       (pwVar14 == (word *)0x0)) goto LAB_000fb570;\n    if (*(int *)(pwVar6 + 2) == 0) {\n      pwVar16 = (word *)0x1;\n    }\n    else {\n      pwVar16 = (word *)0x1;\n      pbVar24 = (byte *)(pwVar6 + 4);\n      do {\n        iVar5 = *(int *)pbVar24;\n        pwVar16 = (word *)((int)pwVar16 + 1);\n        pbVar24 = pbVar24 + 4;\n      } while (iVar5 != 0);\n    }\n    (*(code *)**(undefined4 **)(pcStack_1a8 + -0x703c))(pwVar6);\n    unaff_s3 = *(word **)pwVar6;\n    if (unaff_s3 == (word *)0x0) {\n      (**(code **)(pcStack_1a8 + -0x5f94))(pwVar6);\n      *puVar21 = 0;\n      pwVar6 = (word *)0x0;\n      pwVar14 = pwVar20;\n      goto LAB_000fb578;\n    }\n    if (*(int *)(pwVar6 + 2) == 0) {\nLAB_000fb570:\n      *puVar21 = pwVar6;\n    }\n    else {\n      pbVar24 = (byte *)(pwVar6 + 4);\n      pwVar14 = (word *)0x1;\n      do {\n        pwVar20 = pwVar14;\n        iVar5 = *(int *)pbVar24;\n        pwVar14 = (word *)((int)pwVar20 + 1);\n        pbVar24 = pbVar24 + 4;\n      } while (iVar5 != 0);\n      pwVar16 = (word *)(uint)((int)pwVar14 < (int)pwVar16);\n      if (((int)pwVar14 < 2) || (pwVar15 = unaff_s3, pwVar16 == (word *)0x0)) goto LAB_000fb570;\n      FUN_000fab30(pwVar6);\n      (**(code **)(pcStack_1a8 + -0x5f94))(unaff_s3);\n      *puVar21 = pwVar6;\n    }\n    pwVar6 = (word *)0x1;\n    pwVar14 = pwVar20;\n  }\nLAB_000fb578:\n  if ((char *)auStack_19d._1_4_ == (char *)**(undefined4 **)(pcStack_1a8 + -0x5fb4)) {\n    return pwVar6;\n  }\n  pcVar23 = *(code **)(pcStack_1a8 + -0x6004);\n  pcVar25 = rl_filename_completion_function;\n  pcVar19 = (char *)auStack_19d._1_4_;\n  (*pcVar23)();\n  pcStack_230 = pcVar23 + 0x62f20;\n  iStack_1e4 = **(int **)(pcVar23 + 0x5cf6c);\n  pwStack_1e0 = pwVar16;\n  pwStack_1dc = pwVar18;\n  puStack_1d8 = puVar21;\n  pwStack_1d4 = unaff_s3;\n  pwStack_1d0 = unaff_s4;\n  pwStack_1cc = unaff_s5;\n  pwStack_1c8 = unaff_s6;\n  pwStack_1c4 = unaff_s7;\n  ppbStack_1c0 = unaff_s8;\n  pcStack_1bc = pcVar25;\n  if (pwVar14 != (word *)0x0) goto LAB_000fb968;\n  if (*(int *)(*(int *)(pcVar23 + 0x5af4c) + -0x3fd4) != 0) {\n    (**(code **)(pcVar23 + 0x5cc9c))();\n    *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) = 0;\n  }\n  if (*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) != 0) {\n    (**(code **)(pcStack_230 + -0x5f94))();\n  }\n  if (*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) != 0) {\n    (**(code **)(pcStack_230 + -0x5f94))();\n  }\n  if (*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) != 0) {\n    (**(code **)(pcStack_230 + -0x5f94))();\n  }\n  iVar5 = (**(code **)(pcStack_230 + -0x60fc))(pcVar19);\n  uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);\n  uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,pcVar19);\n  *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) = uVar7;\n  if (*pcVar19 == '\0') {\n    pcVar19 = (char *)(*(int *)(pcStack_230 + -0x7f90) + -0x5e18);\n  }\n  iVar5 = (**(code **)(pcStack_230 + -0x60fc))(pcVar19);\n  uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);\n  puVar8 = (undefined1 *)(**(code **)(pcStack_230 + -0x6074))(uVar7,pcVar19);\n  *(undefined1 **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) = puVar8;\n  unaff_s4 = (word *)(**(code **)(pcStack_230 + -0x61d4))(puVar8,0x2f);\n  if (unaff_s4 == (word *)0x0) {\n    *puVar8 = 0x2e;\n    *(undefined1 *)(*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) + 1) = 0;\n  }\n  else {\n    (**(code **)(pcStack_230 + -0x6074))\n              (*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc),\n               (byte *)((int)unaff_s4 + 1));\n    *(byte *)((int)unaff_s4 + 1) = 0;\n  }\n  if (**(int **)(pcStack_230 + -0x6f38) == 0) {\nLAB_000fb830:\n    iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n    iVar5 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(iVar13 + -0x3fd8));\n    uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);\n    uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(iVar13 + -0x3fd8));\n    *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = uVar7;\n  }\n  else {\n    if ((code *)**(undefined4 **)(pcStack_230 + -0x6de4) == (code *)0x0) goto LAB_000fb830;\n    uVar7 = (*(code *)**(undefined4 **)(pcStack_230 + -0x6de4))\n                      (*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8),\n                       **(undefined4 **)(pcStack_230 + -0x6f34));\n    *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = uVar7;\n  }\n  bVar3 = **(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) == '~';\n  if (bVar3) {\n    uVar7 = (**(code **)(pcStack_230 + -0x7a34))();\n    iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n    (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fd8));\n    *(undefined4 *)(iVar5 + -0x3fd8) = uVar7;\n  }\n  unaff_s3 = (word *)(uint)bVar3;\n  if ((code *)**(undefined4 **)(pcStack_230 + -0x6f40) == (code *)0x0) {\n    if ((code *)**(undefined4 **)(pcStack_230 + -0x6f3c) != (code *)0x0) {\n      iVar5 = (*(code *)**(undefined4 **)(pcStack_230 + -0x6f3c))\n                        (*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);\n      iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n      if (iVar5 != 0) {\n        (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar13 + -0x3fe0));\n        unaff_s3 = *(word **)(pcStack_230 + -0x7fd4);\n        iVar5 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1fec));\n        uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);\n        uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1fec));\n        *(undefined4 *)(iVar13 + -0x3fe0) = uVar7;\n        goto LAB_000fb8b4;\n      }\n    }\n    iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n    if ((unaff_s3 == (word *)0x0) &&\n       (iVar5 = *(int *)(pcStack_230 + -0x7fd4), **(int **)(pcStack_230 + -0x6f38) != 0)) {\n      iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n      if (**(int **)(pcStack_230 + -0x6de4) != 0) {\n        (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fd8));\n        unaff_s3 = *(word **)(pcStack_230 + -0x7fd4);\n        iVar13 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1ff0));\n        uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar13 + 1);\n        uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1ff0));\n        *(undefined4 *)(iVar5 + -0x3fd8) = uVar7;\n      }\n      goto LAB_000fb8b4;\n    }\n  }\n  else {\n    (*(code *)**(undefined4 **)(pcStack_230 + -0x6f40))(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);\nLAB_000fb8b4:\n    iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n  }\n  uVar7 = (**(code **)(pcStack_230 + -0x6288))(*(undefined4 *)(iVar5 + -0x3fd8));\n  *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) = uVar7;\n  iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n  if ((**(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) != '\0') &&\n     (iVar5 = *(int *)(pcStack_230 + -0x7fd4), **(int **)(pcStack_230 + -0x6f38) != 0)) {\n    if ((code *)**(undefined4 **)(pcStack_230 + -0x6de4) != (code *)0x0) {\n      unaff_s3 = (word *)(*(code *)**(undefined4 **)(pcStack_230 + -0x6de4))\n                                   (*(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc),\n                                    **(undefined4 **)(pcStack_230 + -0x6f34));\n      iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n      (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fdc));\n      *(word **)(iVar5 + -0x3fdc) = unaff_s3;\n    }\n    iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n  }\n  uVar7 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(iVar5 + -0x3fdc));\n  *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe4) = uVar7;\n  **(undefined4 **)(pcStack_230 + -0x6f0c) = 1;\nLAB_000fb968:\n  iVar5 = 0;\n  iStack_224 = *(int *)(pcStack_230 + -0x7fd4);\n  puStack_220 = *(undefined4 **)(pcStack_230 + -0x6df0);\n  iStack_21c = *(int *)(pcStack_230 + -0x7fd4);\n  iStack_218 = *(int *)(pcStack_230 + -0x7fd4);\n  piStack_20c = *(int **)(pcStack_230 + -0x65bc);\n  pcVar23 = pcStack_230;\nLAB_000fbb0c:\n  iVar13 = *(int *)(iStack_224 + -0x3fd4);\nLAB_000fbb10:\n  if (iVar13 == 0) {\n    if (iVar5 != 0) goto LAB_000fbbb0;\n    iVar5 = *(int *)(*(int *)(pcVar23 + -0x7fd4) + -0x3fd8);\nLAB_000fc3a0:\n    if (iVar5 != 0) {\n      (**(code **)(pcVar23 + -0x798c))();\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) = 0;\n      pcVar23 = pcStack_230;\n    }\n    if (*(int *)(*(int *)(pcVar23 + -0x7fd4) + -0x3fdc) != 0) {\n      (**(code **)(pcVar23 + -0x798c))();\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) = 0;\n      pcVar23 = pcStack_230;\n    }\n    pwVar14 = *(word **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0);\n    if (pwVar14 != (word *)0x0) {\n      (**(code **)(pcVar23 + -0x798c))(pwVar14);\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = 0;\n      pwVar14 = (word *)0x0;\n      pcVar23 = pcStack_230;\n    }\n    goto LAB_000fbca4;\n  }\n  iVar5 = (**(code **)(pcVar23 + -0x6214))();\n  if (iVar5 == 0) {\n    if (*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) != 0) {\n      (**(code **)(pcStack_230 + -0x6284))();\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) = 0;\n    }\n    iVar5 = *(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);\n    pcVar23 = pcStack_230;\n    goto LAB_000fc3a0;\n  }\n  pwVar18 = (word *)(iVar5 + 0x13);\n  unaff_s4 = (word *)(**(code **)(pcStack_230 + -0x60fc))(pwVar18);\n  pwVar16 = pwVar18;\n  if (((code *)*puStack_220 != (code *)0x0) &&\n     (pwVar16 = (word *)(*(code *)*puStack_220)(pwVar18,unaff_s4), pwVar18 != pwVar16)) {\n    unaff_s4 = (word *)(**(code **)(pcStack_230 + -0x60fc))(pwVar16);\n  }\n  unaff_s3 = *(word **)(iStack_21c + -0x3fe4);\n  pcVar23 = pcStack_230;\n  if (unaff_s3 == (word *)0x0) {\n    if (**(int **)(pcStack_230 + -0x65ac) == 0) {\n      if (*(byte *)pwVar16 != 0x2e) goto LAB_000fbbb0;\n    }\n    else {\n      iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n      if ((*(byte *)pwVar16 != 0x2e) ||\n         (((byte)*pwVar16 != 0 &&\n          ((iVar13 = *(int *)(pcStack_230 + -0x7fd4), (byte)*pwVar16 != 0x2e ||\n           (iVar13 = *(int *)(pcStack_230 + -0x7fd4), *(byte *)(pwVar16 + 1) != 0))))))\n      goto LAB_000fbbb4;\n    }\n    goto LAB_000fbb0c;\n  }\n  pbStack_228 = *(byte **)(iStack_218 + -0x3fdc);\n  pbStack_1f4 = (byte *)0x0;\n  uStack_1f0 = 0;\n  uStack_1ec = 0;\n  uStack_1e8 = 0;\n  if ((int)unaff_s4 < (int)unaff_s3) goto LAB_000fbb0c;\n  if (*piStack_20c != 0) {\n    if (**(int **)(pcStack_230 + -0x65a4) == 0) {\n      uVar4 = (**(code **)(pcStack_230 + -0x6060))();\n      if ((1 < uVar4) && (unaff_s8 = &pbStack_1f4, **(int **)(pcStack_230 + -0x6728) == 0)) {\n        unaff_s7 = (word *)&iStack_1fc;\n        unaff_s6 = (word *)&uStack_1ec;\n        unaff_s5 = (word *)&iStack_1f8;\n        pwStack_214 = pwVar16;\n        pwStack_208 = unaff_s3;\n        goto LAB_000fc0a8;\n      }\n      unaff_s5 = (word *)(int)(char)*(byte *)pwVar16;\n      pbVar24 = (byte *)(uint)*(byte *)pwVar16;\n      if (((word *)pbVar24 == unaff_s5) &&\n         (piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))(),\n         (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0)) {\n        piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n        unaff_s5 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n      }\n      unaff_s6 = (word *)(int)(char)*pbStack_228;\n      unaff_s4 = (word *)(uint)*pbStack_228;\n      if (unaff_s4 == unaff_s6) {\n        piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))();\n        if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n          piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n          unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n          unaff_s6 = *(word **)unaff_s4;\n        }\n      }\n      pwVar15 = unaff_s3;\n      pcVar23 = pcStack_230;\n      if (unaff_s5 == unaff_s6) {\n        iVar13 = (**(code **)(pcStack_230 + -0x6188))(pbStack_228,pwVar16);\n        goto LAB_000fc280;\n      }\n    }\n    else {\n      uVar4 = (**(code **)(pcStack_230 + -0x6060))();\n      if ((1 < uVar4) && (unaff_s6 = (word *)&uStack_1ec, **(int **)(pcStack_230 + -0x6728) == 0)) {\n        unaff_s8 = &pbStack_1f4;\n        unaff_s7 = (word *)&iStack_1fc;\n        unaff_s5 = (word *)&iStack_1f8;\n        pwStack_214 = pwVar16;\n        pwStack_208 = unaff_s3;\n        do {\n          pwStack_210 = (word *)(**(code **)(pcStack_230 + -0x6084))\n                                          (unaff_s7,pwStack_214,unaff_s4,unaff_s8);\n          pwVar15 = unaff_s3;\n          iVar13 = (**(code **)(pcStack_230 + -0x6084))(unaff_s5,pbStack_228,unaff_s3,unaff_s6);\n          pcVar23 = pcStack_230;\n          if (pwStack_210 == (word *)0x0) {\n            if (iVar13 == 0) goto LAB_000fbbb0;\nLAB_000fbe6c:\n            if (iVar13 + 2U < 2) goto LAB_000fbdb4;\n            iStack_204 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc);\n            iStack_1fc = iStack_204;\n            iStack_1f8 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8);\n            pwStack_214 = (word *)((int)pwStack_214 + (int)pwStack_210);\n            pbStack_228 = pbStack_228 + (int)pwStack_210;\n            pwStack_208 = (word *)((int)pwStack_208 - (int)pwStack_210);\n            if ((((iStack_204 != 0x2d) && (iStack_204 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))) && (iStack_204 != iStack_1f8))\n            goto code_r0x000fbef4;\n          }\n          else {\n            if ((word *)0x1 < pwStack_210 + 1) goto LAB_000fbe6c;\nLAB_000fbdb4:\n            bVar2 = *(byte *)pwStack_214;\n            if (((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||\n               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))) goto LAB_000fbb0c;\n            pwStack_214 = (word *)((int)pwStack_214 + 1);\n            pbStack_228 = pbStack_228 + 1;\n            pwStack_208 = (word *)((int)pwStack_208 + -1);\n          }\n          iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n          pcVar23 = pcStack_230;\n          if (pwStack_208 == (word *)0x0) goto LAB_000fbbb4;\n        } while( true );\n      }\n      unaff_s7 = (word *)&DAT_0000002d;\n      unaff_s8 = (byte **)0x5f;\n      pwStack_208 = (word *)((int)pwVar16 + (int)unaff_s3);\n      unaff_s4 = pwVar16;\n      pcVar23 = pcStack_230;\n      while( true ) {\n        unaff_s3 = (word *)(int)(char)*(byte *)unaff_s4;\n        pbVar24 = (byte *)(uint)*(byte *)unaff_s4;\n        pwStack_214 = unaff_s3;\n        if (((word *)pbVar24 == unaff_s3) &&\n           (piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))(), pcVar23 = pcStack_230,\n           (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0)) {\n          piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n          pwStack_214 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n          pcVar23 = pcStack_230;\n        }\n        unaff_s5 = (word *)(int)(char)*pbStack_228;\n        unaff_s6 = (word *)(uint)*pbStack_228;\n        pwStack_210 = unaff_s5;\n        if (unaff_s6 == unaff_s5) {\n          piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))();\n          pcVar23 = pcStack_230;\n          if ((*(ushort *)(*piVar9 + (int)unaff_s6 * 2) & 1) != 0) {\n            piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n            unaff_s6 = (word *)(*piVar9 + (int)unaff_s6 * 4);\n            pwStack_210 = *(word **)unaff_s6;\n            pcVar23 = pcStack_230;\n          }\n        }\n        if ((((unaff_s3 != (word *)&DAT_0000002d) && (unaff_s3 != (word *)0x5f)) ||\n            ((unaff_s5 != (word *)&DAT_0000002d && (unaff_s5 != (word *)0x5f)))) &&\n           (pwStack_214 != pwStack_210)) break;\n        unaff_s4 = (word *)((int)unaff_s4 + 1);\n        pbStack_228 = pbStack_228 + 1;\n        iVar13 = *(int *)(pcVar23 + -0x7fd4);\n        if (unaff_s4 == pwStack_208) goto LAB_000fbbb4;\n      }\n    }\n    goto LAB_000fbb0c;\n  }\n  if (*(byte *)pwVar16 != *pbStack_228) goto LAB_000fbb0c;\n  pwVar15 = unaff_s3;\n  iVar13 = (**(code **)(pcStack_230 + -0x6238))(pbStack_228,pwVar16);\nLAB_000fc280:\n  pcVar23 = pcStack_230;\n  if (iVar13 != 0) goto LAB_000fbb0c;\n  pcVar19 = *(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);\n  goto LAB_000fbbb8;\nLAB_000fc0a8:\n  pwStack_210 = (word *)(**(code **)(pcStack_230 + -0x6084))(unaff_s7,pwStack_214,unaff_s4,unaff_s8)\n  ;\n  pwVar15 = unaff_s3;\n  iVar13 = (**(code **)(pcStack_230 + -0x6084))(unaff_s5,pbStack_228,unaff_s3,unaff_s6);\n  pcVar23 = pcStack_230;\n  if (pwStack_210 == (word *)0x0) {\n    if (iVar13 == 0) goto LAB_000fbbb0;\nLAB_000fc100:\n    if (iVar13 + 2U < 2) goto LAB_000fc060;\n    iStack_204 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc);\n    iStack_1fc = iStack_204;\n    iStack_1f8 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8);\n    pcVar23 = pcStack_230;\n    if (iStack_204 != iStack_1f8) goto LAB_000fbb0c;\n    pwStack_214 = (word *)((int)pwStack_214 + (int)pwStack_210);\n    pbStack_228 = pbStack_228 + (int)pwStack_210;\n    pwStack_208 = (word *)((int)pwStack_208 - (int)pwStack_210);\n  }\n  else {\n    if ((word *)0x1 < pwStack_210 + 1) goto LAB_000fc100;\nLAB_000fc060:\n    if (*(byte *)pwStack_214 != *pbStack_228) goto LAB_000fbb0c;\n    pwStack_214 = (word *)((int)pwStack_214 + 1);\n    pbStack_228 = pbStack_228 + 1;\n    pwStack_208 = (word *)((int)pwStack_208 + -1);\n  }\n  iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n  pcVar23 = pcStack_230;\n  if (pwStack_208 == (word *)0x0) goto LAB_000fbbb4;\n  goto LAB_000fc0a8;\ncode_r0x000fbef4:\n  iVar13 = *(int *)(iStack_224 + -0x3fd4);\n  pcVar23 = pcStack_230;\n  goto LAB_000fbb10;\nLAB_000fbbb0:\n  iVar13 = *(int *)(pcVar23 + -0x7fd4);\nLAB_000fbbb4:\n  pcVar19 = *(char **)(iVar13 + -0x3fd8);\nLAB_000fbbb8:\n  if ((pcVar19 == (char *)0x0) ||\n     ((piVar9 = *(int **)(pcVar23 + -0x65a8), *pcVar19 == '.' &&\n      (piVar9 = *(int **)(pcVar23 + -0x65a8), pcVar19[1] == '\0')))) {\n    iVar5 = (**(code **)(pcVar23 + -0x60fc))(pwVar16);\n    uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);\n    pwVar14 = (word *)(**(code **)(pcStack_230 + -0x6074))(uVar7,pwVar16);\n  }\n  else {\n    if ((*piVar9 == 0) || (**(char **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0) != '~')) {\n      iVar13 = *(int *)(pcVar23 + -0x7fd4);\n      unaff_s3 = (word *)(**(code **)(pcVar23 + -0x60fc))(*(undefined4 *)(iVar13 + -0x3fe0));\n      iVar5 = (**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13);\n      pwVar14 = (word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2));\n      iVar5 = *(int *)(iVar13 + -0x3fe0);\n      (**(code **)(pcStack_230 + -0x6074))(pwVar14,iVar5);\n      unaff_s4 = (word *)((int)unaff_s3 + iVar5);\n      unaff_s5 = unaff_s3;\n      if (*(byte *)((int)unaff_s4 + -1) != 0x2f) {\n        unaff_s5 = (word *)((int)unaff_s3 + 1);\n        unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);\n        *(byte *)unaff_s3 = 0x2f;\n      }\n    }\n    else {\n      unaff_s3 = (word *)(**(code **)(pcVar23 + -0x60fc))();\n      iVar5 = (**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13);\n      pwVar14 = (word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2));\n      unaff_s4 = *(word **)(pcStack_230 + -0x7fd4);\n      (**(code **)(pcStack_230 + -0x6074))(pwVar14,*(undefined4 *)(unaff_s4 + -0x1fec));\n      unaff_s5 = unaff_s3;\n      if (*(byte *)((int)unaff_s3 + *(int *)(unaff_s4 + -0x1fec) + -1) != 0x2f) {\n        unaff_s5 = (word *)((int)unaff_s3 + 1);\n        unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);\n        *(byte *)unaff_s3 = 0x2f;\n        *(byte *)((int)pwVar14 + (int)unaff_s5) = 0;\n      }\n    }\n    (**(code **)(pcStack_230 + -0x6074))((byte *)((int)pwVar14 + (int)unaff_s5),pwVar16);\n  }\n  pcVar23 = pcStack_230;\n  if (pwVar18 != pwVar16) {\n    (**(code **)(pcStack_230 + -0x798c))(pwVar16);\n    pcVar23 = pcStack_230;\n  }\nLAB_000fbca4:\n  if (iStack_1e4 == **(int **)(pcVar23 + -0x5fb4)) {\n    return pwVar14;\n  }\n  pcVar23 = *(code **)(pcVar23 + -0x6004);\n  pcVar25 = FUN_000fc42c;\n  iVar5 = iStack_1e4;\n  (*pcVar23)();\n  pcStack_280 = pcVar23 + 0x62114;\n  aiStack_278[3] = **(int **)(pcVar23 + 0x5c160);\n  pwStack_268 = pwVar16;\n  pwStack_264 = pwVar18;\n  pwStack_260 = pwVar14;\n  pwStack_25c = unaff_s3;\n  pwStack_258 = unaff_s4;\n  pwStack_254 = unaff_s5;\n  pwStack_250 = unaff_s6;\n  pwStack_24c = unaff_s7;\n  ppbStack_248 = unaff_s8;\n  pcStack_244 = pcVar25;\n  iVar10 = (**(code **)(pcVar23 + 0x5c018))();\n  aiStack_278[1] = 0;\n  aiStack_278[2] = 0;\n  pwVar16 = (word *)0x0;\n  iVar13 = 0;\n  pcVar23 = pcStack_280;\n  while( true ) {\n    pwVar14 = (word *)(iVar5 + iVar13);\n    bVar2 = *(byte *)pwVar14;\n    iVar17 = iVar13;\n    if (bVar2 == 0) break;\n    if ((bVar2 < 0x20) || (bVar2 == 0x7f)) {\n      pwVar16 = pwVar16 + 1;\n      iVar13 = iVar13 + 1;\n    }\n    else {\n      pwVar15 = (word *)((iVar10 + 1) - iVar13);\n      iVar11 = (**(code **)(pcVar23 + -0x6084))(aiStack_278,pwVar14,pwVar15,aiStack_278 + 1);\n      pcVar23 = pcStack_280;\n      if (iVar11 + 2U < 2) {\n        pwVar16 = (word *)((int)pwVar16 + 1);\n        iVar13 = iVar13 + 1;\n        aiStack_278[1] = 0;\n        aiStack_278[2] = 0;\n      }\n      else {\n        iVar17 = iVar13 + iVar11;\n        if (iVar11 == 0) break;\n        if (aiStack_278[0] < 0x40) {\n          iVar13 = 1;\n          if (aiStack_278[0] < 0x25) {\n            if (3 < aiStack_278[0] - 0x20U) {\n              pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n              goto LAB_000fc594;\n            }\n            iVar13 = 1;\n          }\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n          if (aiStack_278[0] < 0x41) {\nLAB_000fc594:\n            iVar13 = (*pcVar23)();\n          }\n          else {\n            iVar13 = 1;\n            if (0x5f < aiStack_278[0]) {\n              if (0x1d < aiStack_278[0] - 0x61U) goto LAB_000fc594;\n              iVar13 = 1;\n            }\n          }\n        }\n        if (iVar13 < 0) {\n          iVar13 = 1;\n        }\n        pwVar16 = (word *)((int)pwVar16 + iVar13);\n        iVar13 = iVar17;\n        pcVar23 = pcStack_280;\n      }\n    }\n  }\n  if (aiStack_278[3] == **(int **)(pcVar23 + -0x5fb4)) {\n    return pwVar16;\n  }\n  pcVar23 = *(code **)(pcVar23 + -0x6004);\n  pcVar25 = FUN_000fc5fc;\n  iVar11 = aiStack_278[3];\n  (*pcVar23)();\n  pcStack_2e0 = pcVar23 + 0x61f44;\n  uStack_2a4 = 1;\n  uStack_2a8 = 0x7f;\n  pbStack_2bc = (byte *)**(undefined4 **)(pcVar23 + 0x5bf90);\n  pwVar18 = pwVar14;\n  pwStack_2cc = pwVar15;\n  iStack_2b8 = iVar17;\n  pwStack_2b4 = pwVar16;\n  iStack_2b0 = iVar13;\n  iStack_2ac = iVar5;\n  piStack_2a0 = aiStack_278 + 1;\n  piStack_29c = aiStack_278;\n  iStack_298 = iVar10 + 1;\n  pcStack_294 = pcVar25;\n  iVar5 = (**(code **)(pcVar23 + 0x5be48))();\n  iStack_2d4 = iVar11 + iVar5 + 1;\n  aiStack_2c8[1] = 0;\n  aiStack_2c8[2] = 0;\n  if ((**(int **)(pcStack_2e0 + -0x65a0) < 1) || ((int)pwVar14 < iVar5)) {\n    if (**(int **)(pcStack_2e0 + -0x67a8) == 0) goto LAB_000fc714;\n    if ((pwVar14 == (word *)0x0) || (**(int **)(pcStack_2e0 + -0x67a4) < 1)) goto LAB_000fc6f0;\n    if (0 < **(int **)(pcStack_2e0 + -0x65a0)) goto LAB_000fc750;\n    pcVar23 = *(code **)(pcStack_2e0 + -0x659c);\n    pwVar6 = pwVar14;\nLAB_000fc6c0:\n    (*pcVar23)();\n    (**(code **)(pcStack_2e0 + -0x6598))();\n    pwVar20 = (word *)0x0;\n    pwVar14 = (word *)0x0;\n  }\n  else if (**(int **)(pcStack_2e0 + -0x67a8) == 0) {\n    pwVar14 = (word *)0x0;\n    pwVar20 = (word *)0x0;\n    pwVar6 = (word *)0x0;\n  }\n  else {\n    pwVar14 = (word *)0x0;\nLAB_000fc6f0:\n    (**(code **)(pcStack_2e0 + -0x659c))();\n    (**(code **)(pcStack_2e0 + -0x6594))(pwStack_2cc);\nLAB_000fc714:\n    pwVar6 = pwVar14;\n    if (pwVar14 == (word *)0x0) {\n      pwVar20 = (word *)0x0;\n    }\n    else if (**(int **)(pcStack_2e0 + -0x65a0) < 1) {\n      pcVar23 = *(code **)(pcStack_2e0 + -0x659c);\n      if (0 < **(int **)(pcStack_2e0 + -0x67a4)) goto LAB_000fc6c0;\n      pwVar6 = (word *)0x0;\n      pwVar20 = (word *)0x0;\n    }\n    else {\nLAB_000fc750:\n      pwVar16 = (word *)0x2e;\n      if (*(byte *)((int)pwVar14 + iVar11) == 0x2e) {\n        pwVar16 = (word *)0x5f;\n      }\n      puVar21 = *(undefined4 **)(pcStack_2e0 + -0x6ef0);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16);\n      pwVar20 = (word *)0x3;\n      pwVar6 = (word *)0x0;\n    }\n  }\n  pwVar14 = (word *)((int)pwVar14 + iVar11);\n  puVar21 = *(undefined4 **)(pcStack_2e0 + -0x6ef0);\n  iStack_2d0 = *(int *)(pcStack_2e0 + -26000) + 0xb8;\n  while (bVar2 = *(byte *)pwVar14, bVar2 != 0) {\n    if (bVar2 < 0x20) {\n      (**(code **)(pcStack_2e0 + -0x61f0))(0x5e,*puVar21);\n      pwVar16 = (word *)((int)(char)*(byte *)pwVar14 | 0x40);\n      pbVar24 = (byte *)(*(byte *)pwVar14 | 0x40);\n      if ((word *)pbVar24 == pwVar16) {\n        piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x6290))();\n        if ((*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 2) != 0) {\n          piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x5f10))();\n          pwVar16 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n        }\n      }\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16);\n      pwVar20 = pwVar20 + 1;\n      pwVar14 = (word *)((int)pwVar14 + 1);\n      aiStack_2c8[1] = 0;\n      aiStack_2c8[2] = 0;\n    }\n    else if (bVar2 == 0x7f) {\n      (**(code **)(pcStack_2e0 + -0x61f0))(0x5e,*puVar21);\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(0x3f);\n      pwVar20 = pwVar20 + 1;\n      pwVar14 = (word *)((int)pwVar14 + 1);\n      aiStack_2c8[1] = 0;\n      aiStack_2c8[2] = 0;\n    }\n    else {\n      pwVar15 = (word *)(iStack_2d4 - (int)pwVar14);\n      pwVar18 = pwVar14;\n      pwVar16 = (word *)(**(code **)(pcStack_2e0 + -0x6084))(aiStack_2c8,pwVar14,pwVar15);\n      iVar5 = 1;\n      if (pwVar16 + 1 < (word *)0x2) {\n        aiStack_2c8[1] = 0;\n        aiStack_2c8[2] = 0;\n        pwVar16 = (word *)0x1;\n      }\n      else {\n        if (pwVar16 == (word *)0x0) break;\n        if (aiStack_2c8[0] < 0x40) {\n          if (aiStack_2c8[0] < 0x25) {\n            pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n            if (3 < aiStack_2c8[0] - 0x20U) goto LAB_000fc9c0;\n          }\n          else {\n            iVar5 = 1;\n          }\n        }\n        else if (aiStack_2c8[0] < 0x41) {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\nLAB_000fc9c0:\n          iVar5 = (*pcVar23)();\n        }\n        else if (aiStack_2c8[0] < 0x60) {\n          iVar5 = 1;\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n          if (0x1d < aiStack_2c8[0] - 0x61U) goto LAB_000fc9c0;\n          iVar5 = 1;\n        }\n        if (iVar5 < 0) {\n          iVar5 = 1;\n        }\n      }\n      pwVar18 = (word *)0x1;\n      pwVar15 = pwVar16;\n      (**(code **)(pcStack_2e0 + -0x6054))(pwVar14,1,pwVar16,*puVar21);\n      pwVar14 = (word *)((int)pwVar14 + (int)pwVar16);\n      pwVar20 = (word *)((int)pwVar20 + iVar5);\n    }\n    if ((0 < (int)pwVar6) && ((int)pwVar6 <= (int)pwVar14 - iVar11)) {\n      (**(code **)(pcStack_2e0 + -0x658c))();\n      (**(code **)(pcStack_2e0 + -0x6588))(iStack_2d0);\n      pwVar6 = (word *)**(undefined4 **)(pcStack_2e0 + -0x67a8);\n      if (pwVar6 != (word *)0x0) {\n        (**(code **)(pcStack_2e0 + -0x659c))();\n        (**(code **)(pcStack_2e0 + -0x6594))(pwStack_2cc);\n        pwVar6 = (word *)0x0;\n      }\n    }\n  }\n  if (**(int **)(pcStack_2e0 + -0x67a8) != 0) {\n    (**(code **)(pcStack_2e0 + -0x658c))();\n    (**(code **)(pcStack_2e0 + -0x6588))(*(int *)(pcStack_2e0 + -26000) + 0xb8);\n  }\n  if (pbStack_2bc == (byte *)**(undefined4 **)(pcStack_2e0 + -0x5fb4)) {\n    return pwVar20;\n  }\n  pcVar23 = *(code **)(pcStack_2e0 + -0x6004);\n  pcVar25 = FUN_000fcae4;\n  pbVar24 = pbStack_2bc;\n  (*pcVar23)();\n  iStack_314 = **(int **)(pcVar23 + 0x5baa8);\n  pwStack_310 = pwVar14;\n  pwStack_30c = pwVar16;\n  pwStack_308 = pwVar20;\n  pwStack_304 = pwVar6;\n  piStack_300 = aiStack_2c8 + 1;\n  puStack_2fc = puVar21;\n  iStack_2f8 = iVar11;\n  pcStack_2f4 = pcVar25;\n  if ((**(int **)(pcVar23 + 0x5b2b4) == 0) ||\n     (piVar9 = *(int **)(pcVar23 + 0x5b4d8), **(int **)(pcVar23 + 0x5ab50) == 0)) {\n    pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,pbVar24);\n    piVar9 = *(int **)(pcVar23 + 0x5b4d8);\n    if (**(int **)(pcVar23 + 0x5ab50) == 0) goto LAB_000fcb84;\n  }\n  if ((*piVar9 == 0 && **(int **)(pcVar23 + 0x5b2b4) == 0) && **(int **)(pcVar23 + 0x5b49c) == 0)\n  goto LAB_000fcb84;\n  if ((word *)pbVar24 == pwVar18) {\n    iStack_31c = (**(code **)(pcVar23 + 0x5a028))(pwVar18);\n    if (**(int **)(pcVar23 + 0x5b4d8) != 0) {\n      iVar5 = FUN_000f9fd0(iStack_31c);\n      if (**(int **)(pcVar23 + 0x5b2b4) != 0) goto LAB_000fcf40;\n      goto LAB_000fcddc;\n    }\n    if (**(int **)(pcVar23 + 0x5b49c) == 0) {\n      piVar9 = *(int **)(pcVar23 + 0x5b2b4);\nLAB_000fcef0:\n      iVar5 = 0;\n      if (*piVar9 == 0) {\n        (**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);\n        goto LAB_000fcb84;\n      }\nLAB_000fcf40:\n      pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,iStack_31c);\n      goto LAB_000fcddc;\n    }\n    iVar5 = FUN_000fa188(iStack_31c);\n    piVar9 = *(int **)(pcVar23 + 0x5b2b4);\n    if (iVar5 == 0) goto LAB_000fcef0;\n    if (*piVar9 != 0) {\n      iVar5 = 0x2f;\n      goto LAB_000fcf40;\n    }\n    (**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);\n    iVar5 = 0x2f;\n  }\n  else {\n    bVar2 = pbVar24[-1];\n    pbVar24[-1] = 0;\n    if ((pwVar18 == (word *)0x0) || (*(byte *)pwVar18 == 0)) {\n      pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);\n    }\n    else {\n      pwStack_318 = pwVar18;\n      if (*(byte *)pwVar18 == 0x2f) {\n        if ((byte)*pwVar18 == 0) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59acc) + -0x794);\n        }\n        else if (((byte)*pwVar18 == 0x2f) && (*(byte *)(pwVar18 + 1) == 0)) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);\n        }\n      }\n    }\n    iStack_31c = (**(code **)(pcVar23 + 0x5a028))(pwStack_318);\n    if ((code *)**(undefined4 **)(pcVar23 + 0x5ab20) != (code *)0x0) {\n      (*(code *)**(undefined4 **)(pcVar23 + 0x5ab20))(&iStack_31c);\n    }\n    iVar5 = (**(code **)(pcVar23 + 0x5b960))(iStack_31c);\n    iVar13 = (**(code **)(pcVar23 + 0x5b960))(pbVar24);\n    pwVar16 = (word *)(**(code **)(pcVar23 + 0x59ad4))(iVar13 + iVar5 + 2);\n    (**(code **)(pcVar23 + 0x5b9e8))(pwVar16,iStack_31c);\n    if (*(char *)(iStack_31c + iVar5 + -1) == '/') {\n      iVar5 = iVar5 + -1;\n    }\n    else {\n      *(byte *)((int)pwVar16 + iVar5) = 0x2f;\n    }\n    (**(code **)(pcVar23 + 0x5b9e8))((byte *)((int)pwVar16 + iVar5 + 1),pbVar24);\n    if (**(int **)(pcVar23 + 0x5b4d8) == 0) {\n      iVar5 = **(int **)(pcVar23 + 0x5b49c);\n      piVar9 = *(int **)(pcVar23 + 0x5b2b4);\n      if (iVar5 != 0) {\n        pwStack_318 = (word *)0x0;\n        if ((**(int **)(pcVar23 + 0x5ab20) == 0) && (**(int **)(pcVar23 + 0x5ac70) != 0)) {\n          iVar5 = (**(code **)(pcVar23 + 0x5b960))(pwVar16);\n          uVar7 = (**(code **)(pcVar23 + 0x59ad4))(iVar5 + 1);\n          pwStack_318 = (word *)(**(code **)(pcVar23 + 0x5b9e8))(uVar7,pwVar16);\n          (*(code *)**(undefined4 **)(pcVar23 + 0x5ac70))(&pwStack_318);\n          (**(code **)(pcVar23 + 0x5a0d0))(pwVar16);\n          pwVar16 = pwStack_318;\n        }\n        iVar5 = FUN_000fa188(pwVar16);\n        if (iVar5 != 0) {\n          iVar5 = 0x2f;\n        }\n        goto LAB_000fcdb0;\n      }\n    }\n    else {\n      iVar5 = FUN_000f9fd0(pwVar16);\nLAB_000fcdb0:\n      piVar9 = *(int **)(pcVar23 + 0x5b2b4);\n    }\n    if (*piVar9 != 0) {\n      pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,pwVar16);\n    }\n    (**(code **)(pcVar23 + 0x5a0d0))(pwVar16);\n    pbVar24[-1] = bVar2;\nLAB_000fcddc:\n    (**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);\n    if (iVar5 == 0) goto LAB_000fcb84;\n  }\n  (**(code **)(pcVar23 + 0x5b86c))(iVar5,**(undefined4 **)(pcVar23 + 0x5ab6c));\n  pwVar6 = (word *)((int)pwVar6 + 1);\nLAB_000fcb84:\n  if (iStack_314 == **(int **)(pcVar23 + 0x5baa8)) {\n    return pwVar6;\n  }\n  pcVar23 = *(code **)(pcVar23 + 0x5ba58);\n  (*pcVar23)();\n  if ((**(int **)(pcVar23 + 0x5a67c) == iStack_314) &&\n     (*(int *)(*(int *)(pcVar23 + 0x595b0) + -0x3fb8) == 0)) {\n    return (word *)0x3f;\n  }\n  if (**(int **)(pcVar23 + 0x5b004) == 0) {\n    pwVar16 = (word *)&DAT_00000009;\n    if (**(int **)(pcVar23 + 0x5b008) != 0) {\n      pwVar16 = (word *)0x40;\n    }\n    return pwVar16;\n  }\n  return (word *)&DAT_00000021;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "bool bVar3;" primitive_type identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "word *pwVar6;" type_identifier (pointer_declarator "*pwVar6" * identifier) ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "undefined1 *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "byte *pbVar12;" type_identifier (pointer_declarator "*pbVar12" * identifier) ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "word *pwVar14;" type_identifier (pointer_declarator "*pwVar14" * identifier) ;) (declaration "word *pwVar15;" type_identifier (pointer_declarator "*pwVar15" * identifier) ;) (declaration "word *pwVar16;" type_identifier (pointer_declarator "*pwVar16" * identifier) ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "word *pwVar18;" type_identifier (pointer_declarator "*pwVar18" * identifier) ;) (declaration "word *unaff_s2;" type_identifier (pointer_declarator "*unaff_s2" * identifier) ;) (declaration "char *pcVar19;" primitive_type (pointer_declarator "*pcVar19" * identifier) ;) (declaration "word *pwVar20;" type_identifier (pointer_declarator "*pwVar20" * identifier) ;) (declaration "word *unaff_s3;" type_identifier (pointer_declarator "*unaff_s3" * identifier) ;) (declaration "word *unaff_s4;" type_identifier (pointer_declarator "*unaff_s4" * identifier) ;) (declaration "word *unaff_s5;" type_identifier (pointer_declarator "*unaff_s5" * identifier) ;) (declaration "undefined4 *puVar21;" type_identifier (pointer_declarator "*puVar21" * identifier) ;) (declaration "word *unaff_s6;" type_identifier (pointer_declarator "*unaff_s6" * identifier) ;) (declaration "word *unaff_s7;" type_identifier (pointer_declarator "*unaff_s7" * identifier) ;) (declaration "undefined *puVar22;" type_identifier (pointer_declarator "*puVar22" * identifier) ;) (declaration "code *pcVar23;" type_identifier (pointer_declarator "*pcVar23" * identifier) ;) (declaration "byte **unaff_s8;" type_identifier (pointer_declarator "**unaff_s8" * (pointer_declarator "*unaff_s8" * identifier)) ;) (declaration "byte *pbVar24;" type_identifier (pointer_declarator "*pbVar24" * identifier) ;) (declaration "code *pcVar25;" type_identifier (pointer_declarator "*pcVar25" * identifier) ;) (declaration "int iStack_31c;" primitive_type identifier ;) (declaration "word *pwStack_318;" type_identifier (pointer_declarator "*pwStack_318" * identifier) ;) (declaration "int iStack_314;" primitive_type identifier ;) (declaration "word *pwStack_310;" type_identifier (pointer_declarator "*pwStack_310" * identifier) ;) (declaration "word *pwStack_30c;" type_identifier (pointer_declarator "*pwStack_30c" * identifier) ;) (declaration "word *pwStack_308;" type_identifier (pointer_declarator "*pwStack_308" * identifier) ;) (declaration "word *pwStack_304;" type_identifier (pointer_declarator "*pwStack_304" * identifier) ;) (declaration "int *piStack_300;" primitive_type (pointer_declarator "*piStack_300" * identifier) ;) (declaration "undefined4 *puStack_2fc;" type_identifier (pointer_declarator "*puStack_2fc" * identifier) ;) (declaration "int iStack_2f8;" primitive_type identifier ;) (declaration "code *pcStack_2f4;" type_identifier (pointer_declarator "*pcStack_2f4" * identifier) ;) (declaration "code *pcStack_2e0;" type_identifier (pointer_declarator "*pcStack_2e0" * identifier) ;) (declaration "int iStack_2d4;" primitive_type identifier ;) (declaration "int iStack_2d0;" primitive_type identifier ;) (declaration "word *pwStack_2cc;" type_identifier (pointer_declarator "*pwStack_2cc" * identifier) ;) (declaration "int aiStack_2c8 [3];" primitive_type (array_declarator "aiStack_2c8 [3]" identifier [ number_literal ]) ;) (declaration "byte *pbStack_2bc;" type_identifier (pointer_declarator "*pbStack_2bc" * identifier) ;) (declaration "int iStack_2b8;" primitive_type identifier ;) (declaration "word *pwStack_2b4;" type_identifier (pointer_declarator "*pwStack_2b4" * identifier) ;) (declaration "int iStack_2b0;" primitive_type identifier ;) (declaration "int iStack_2ac;" primitive_type identifier ;) (declaration "undefined4 uStack_2a8;" type_identifier identifier ;) (declaration "undefined4 uStack_2a4;" type_identifier identifier ;) (declaration "int *piStack_2a0;" primitive_type (pointer_declarator "*piStack_2a0" * identifier) ;) (declaration "int *piStack_29c;" primitive_type (pointer_declarator "*piStack_29c" * identifier) ;) (declaration "int iStack_298;" primitive_type identifier ;) (declaration "code *pcStack_294;" type_identifier (pointer_declarator "*pcStack_294" * identifier) ;) (declaration "code *pcStack_280;" type_identifier (pointer_declarator "*pcStack_280" * identifier) ;) (declaration "int aiStack_278 [4];" primitive_type (array_declarator "aiStack_278 [4]" identifier [ number_literal ]) ;) (declaration "word *pwStack_268;" type_identifier (pointer_declarator "*pwStack_268" * identifier) ;) (declaration "word *pwStack_264;" type_identifier (pointer_declarator "*pwStack_264" * identifier) ;) (declaration "word *pwStack_260;" type_identifier (pointer_declarator "*pwStack_260" * identifier) ;) (declaration "word *pwStack_25c;" type_identifier (pointer_declarator "*pwStack_25c" * identifier) ;) (declaration "word *pwStack_258;" type_identifier (pointer_declarator "*pwStack_258" * identifier) ;) (declaration "word *pwStack_254;" type_identifier (pointer_declarator "*pwStack_254" * identifier) ;) (declaration "word *pwStack_250;" type_identifier (pointer_declarator "*pwStack_250" * identifier) ;) (declaration "word *pwStack_24c;" type_identifier (pointer_declarator "*pwStack_24c" * identifier) ;) (declaration "byte **ppbStack_248;" type_identifier (pointer_declarator "**ppbStack_248" * (pointer_declarator "*ppbStack_248" * identifier)) ;) (declaration "code *pcStack_244;" type_identifier (pointer_declarator "*pcStack_244" * identifier) ;) (declaration "code *pcStack_230;" type_identifier (pointer_declarator "*pcStack_230" * identifier) ;) (declaration "byte *pbStack_228;" type_identifier (pointer_declarator "*pbStack_228" * identifier) ;) (declaration "int iStack_224;" primitive_type identifier ;) (declaration "undefined4 *puStack_220;" type_identifier (pointer_declarator "*puStack_220" * identifier) ;) (declaration "int iStack_21c;" primitive_type identifier ;) (declaration "int iStack_218;" primitive_type identifier ;) (declaration "word *pwStack_214;" type_identifier (pointer_declarator "*pwStack_214" * identifier) ;) (declaration "word *pwStack_210;" type_identifier (pointer_declarator "*pwStack_210" * identifier) ;) (declaration "int *piStack_20c;" primitive_type (pointer_declarator "*piStack_20c" * identifier) ;) (declaration "word *pwStack_208;" type_identifier (pointer_declarator "*pwStack_208" * identifier) ;) (declaration "int iStack_204;" primitive_type identifier ;) (declaration "int iStack_1fc;" primitive_type identifier ;) (declaration "int iStack_1f8;" primitive_type identifier ;) (declaration "byte *pbStack_1f4;" type_identifier (pointer_declarator "*pbStack_1f4" * identifier) ;) (declaration "undefined4 uStack_1f0;" type_identifier identifier ;) (declaration "undefined4 uStack_1ec;" type_identifier identifier ;) (declaration "undefined4 uStack_1e8;" type_identifier identifier ;) (declaration "int iStack_1e4;" primitive_type identifier ;) (declaration "word *pwStack_1e0;" type_identifier (pointer_declarator "*pwStack_1e0" * identifier) ;) (declaration "word *pwStack_1dc;" type_identifier (pointer_declarator "*pwStack_1dc" * identifier) ;) (declaration "undefined4 *puStack_1d8;" type_identifier (pointer_declarator "*puStack_1d8" * identifier) ;) (declaration "word *pwStack_1d4;" type_identifier (pointer_declarator "*pwStack_1d4" * identifier) ;) (declaration "word *pwStack_1d0;" type_identifier (pointer_declarator "*pwStack_1d0" * identifier) ;) (declaration "word *pwStack_1cc;" type_identifier (pointer_declarator "*pwStack_1cc" * identifier) ;) (declaration "word *pwStack_1c8;" type_identifier (pointer_declarator "*pwStack_1c8" * identifier) ;) (declaration "word *pwStack_1c4;" type_identifier (pointer_declarator "*pwStack_1c4" * identifier) ;) (declaration "byte **ppbStack_1c0;" type_identifier (pointer_declarator "**ppbStack_1c0" * (pointer_declarator "*ppbStack_1c0" * identifier)) ;) (declaration "code *pcStack_1bc;" type_identifier (pointer_declarator "*pcStack_1bc" * identifier) ;) (declaration "code *pcStack_1a8;" type_identifier (pointer_declarator "*pcStack_1a8" * identifier) ;) (declaration "undefined1 auStack_19d [9];" type_identifier (array_declarator "auStack_19d [9]" identifier [ number_literal ]) ;) (declaration "word *pwStack_194;" type_identifier (pointer_declarator "*pwStack_194" * identifier) ;) (declaration "byte *pbStack_190;" type_identifier (pointer_declarator "*pbStack_190" * identifier) ;) (declaration "word *pwStack_18c;" type_identifier (pointer_declarator "*pwStack_18c" * identifier) ;) (declaration "word *pwStack_188;" type_identifier (pointer_declarator "*pwStack_188" * identifier) ;) (declaration "word *pwStack_184;" type_identifier (pointer_declarator "*pwStack_184" * identifier) ;) (declaration "word *pwStack_180;" type_identifier (pointer_declarator "*pwStack_180" * identifier) ;) (declaration "word *pwStack_17c;" type_identifier (pointer_declarator "*pwStack_17c" * identifier) ;) (declaration "word *pwStack_178;" type_identifier (pointer_declarator "*pwStack_178" * identifier) ;) (declaration "code *pcStack_174;" type_identifier (pointer_declarator "*pcStack_174" * identifier) ;) (declaration "word *pwStack_160;" type_identifier (pointer_declarator "*pwStack_160" * identifier) ;) (declaration "word *pwStack_15c;" type_identifier (pointer_declarator "*pwStack_15c" * identifier) ;) (declaration "undefined *puStack_158;" type_identifier (pointer_declarator "*puStack_158" * identifier) ;) (declaration "word *pwStack_14c;" type_identifier (pointer_declarator "*pwStack_14c" * identifier) ;) (declaration "word *pwStack_148;" type_identifier (pointer_declarator "*pwStack_148" * identifier) ;) (declaration "word *pwStack_144;" type_identifier (pointer_declarator "*pwStack_144" * identifier) ;) (declaration "word *pwStack_140;" type_identifier (pointer_declarator "*pwStack_140" * identifier) ;) (declaration "word *pwStack_13c;" type_identifier (pointer_declarator "*pwStack_13c" * identifier) ;) (declaration "uint uStack_138;" type_identifier identifier ;) (declaration "int *piStack_134;" primitive_type (pointer_declarator "*piStack_134" * identifier) ;) (declaration "word *pwStack_130;" type_identifier (pointer_declarator "*pwStack_130" * identifier) ;) (declaration "int *piStack_12c;" primitive_type (pointer_declarator "*piStack_12c" * identifier) ;) (declaration "byte *pbStack_124;" type_identifier (pointer_declarator "*pbStack_124" * identifier) ;) (declaration "byte *pbStack_120;" type_identifier (pointer_declarator "*pbStack_120" * identifier) ;) (declaration "undefined4 uStack_11c;" type_identifier identifier ;) (declaration "undefined4 uStack_118;" type_identifier identifier ;) (declaration "undefined4 uStack_114;" type_identifier identifier ;) (declaration "undefined4 uStack_110;" type_identifier identifier ;) (declaration "undefined4 uStack_10c;" type_identifier identifier ;) (declaration "undefined4 uStack_108;" type_identifier identifier ;) (declaration "undefined4 *puStack_104;" type_identifier (pointer_declarator "*puStack_104" * identifier) ;) (declaration "word *pwStack_100;" type_identifier (pointer_declarator "*pwStack_100" * identifier) ;) (declaration "byte *pbStack_fc;" type_identifier (pointer_declarator "*pbStack_fc" * identifier) ;) (declaration "word *pwStack_f8;" type_identifier (pointer_declarator "*pwStack_f8" * identifier) ;) (declaration "word *local_bc;" type_identifier (pointer_declarator "*local_bc" * identifier) ;) (declaration "word awStack_b8 [12];" type_identifier (array_declarator "awStack_b8 [12]" identifier [ number_literal ]) ;) (declaration "uint local_a0;" type_identifier identifier ;) (declaration "undefined1 local_18 [4];" type_identifier (array_declarator "local_18 [4]" identifier [ number_literal ]) ;) (declaration "int *local_14;" primitive_type (pointer_declarator "*local_14" * identifier) ;) (expression_statement "local_14 = *(int **)PTR___stack_chk_guard_0015858c;" (assignment_expression "local_14 = *(int **)PTR___stack_chk_guard_0015858c" identifier = (pointer_expression "*(int **)PTR___stack_chk_guard_0015858c" * (cast_expression "(int **)PTR___stack_chk_guard_0015858c" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (if_statement "if (param_3 != 0) {\n    if (*(int *)PTR_rl_point_001575f0 == 0) {\n      param_3 = 0;\n    }\n    else if (*(int *)PTR_rl_completion_suppress_quote_00157618 == 0) {\n      if (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + *(int *)PTR_rl_point_001575f0 + -1) ==\n          param_3) {\n        param_3 = 0;\n      }\n      else {\n        local_18[0] = (undefined1)param_3;\n        param_3 = 1;\n      }\n    }\n    else {\n      param_3 = 0;\n    }\n  }" if (parenthesized_expression "(param_3 != 0)" ( (binary_expression "param_3 != 0" identifier != number_literal) )) (compound_statement "{\n    if (*(int *)PTR_rl_point_001575f0 == 0) {\n      param_3 = 0;\n    }\n    else if (*(int *)PTR_rl_completion_suppress_quote_00157618 == 0) {\n      if (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + *(int *)PTR_rl_point_001575f0 + -1) ==\n          param_3) {\n        param_3 = 0;\n      }\n      else {\n        local_18[0] = (undefined1)param_3;\n        param_3 = 1;\n      }\n    }\n    else {\n      param_3 = 0;\n    }\n  }" { (if_statement "if (*(int *)PTR_rl_point_001575f0 == 0) {\n      param_3 = 0;\n    }\n    else if (*(int *)PTR_rl_completion_suppress_quote_00157618 == 0) {\n      if (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + *(int *)PTR_rl_point_001575f0 + -1) ==\n          param_3) {\n        param_3 = 0;\n      }\n      else {\n        local_18[0] = (undefined1)param_3;\n        param_3 = 1;\n      }\n    }\n    else {\n      param_3 = 0;\n    }" if (parenthesized_expression "(*(int *)PTR_rl_point_001575f0 == 0)" ( (binary_expression "*(int *)PTR_rl_point_001575f0 == 0" (pointer_expression "*(int *)PTR_rl_point_001575f0" * (cast_expression "(int *)PTR_rl_point_001575f0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal) )) (compound_statement "{\n      param_3 = 0;\n    }" { (expression_statement "param_3 = 0;" (assignment_expression "param_3 = 0" identifier = number_literal) ;) }) (else_clause "else if (*(int *)PTR_rl_completion_suppress_quote_00157618 == 0) {\n      if (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + *(int *)PTR_rl_point_001575f0 + -1) ==\n          param_3) {\n        param_3 = 0;\n      }\n      else {\n        local_18[0] = (undefined1)param_3;\n        param_3 = 1;\n      }\n    }\n    else {\n      param_3 = 0;\n    }" else (if_statement "if (*(int *)PTR_rl_completion_suppress_quote_00157618 == 0) {\n      if (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + *(int *)PTR_rl_point_001575f0 + -1) ==\n          param_3) {\n        param_3 = 0;\n      }\n      else {\n        local_18[0] = (undefined1)param_3;\n        param_3 = 1;\n      }\n    }\n    else {\n      param_3 = 0;\n    }" if (parenthesized_expression "(*(int *)PTR_rl_completion_suppress_quote_00157618 == 0)" ( (binary_expression "*(int *)PTR_rl_completion_suppress_quote_00157618 == 0" (pointer_expression "*(int *)PTR_rl_completion_suppress_quote_00157618" * (cast_expression "(int *)PTR_rl_completion_suppress_quote_00157618" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal) )) (compound_statement "{\n      if (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + *(int *)PTR_rl_point_001575f0 + -1) ==\n          param_3) {\n        param_3 = 0;\n      }\n      else {\n        local_18[0] = (undefined1)param_3;\n        param_3 = 1;\n      }\n    }" { (if_statement "if (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + *(int *)PTR_rl_point_001575f0 + -1) ==\n          param_3) {\n        param_3 = 0;\n      }\n      else {\n        local_18[0] = (undefined1)param_3;\n        param_3 = 1;\n      }" if (parenthesized_expression "(*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + *(int *)PTR_rl_point_001575f0 + -1) ==\n          param_3)" ( (binary_expression "*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + *(int *)PTR_rl_point_001575f0 + -1) ==\n          param_3" (pointer_expression "*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + *(int *)PTR_rl_point_001575f0 + -1)" * (cast_expression "(char *)(*(int *)PTR_rl_line_buffer_001575e8 + *(int *)PTR_rl_point_001575f0 + -1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_rl_line_buffer_001575e8 + *(int *)PTR_rl_point_001575f0 + -1)" ( (binary_expression "*(int *)PTR_rl_line_buffer_001575e8 + *(int *)PTR_rl_point_001575f0 + -1" (binary_expression "*(int *)PTR_rl_line_buffer_001575e8 + *(int *)PTR_rl_point_001575f0" (pointer_expression "*(int *)PTR_rl_line_buffer_001575e8" * (cast_expression "(int *)PTR_rl_line_buffer_001575e8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + (pointer_expression "*(int *)PTR_rl_point_001575f0" * (cast_expression "(int *)PTR_rl_point_001575f0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) + number_literal) )))) == identifier) )) (compound_statement "{\n        param_3 = 0;\n      }" { (expression_statement "param_3 = 0;" (assignment_expression "param_3 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        local_18[0] = (undefined1)param_3;\n        param_3 = 1;\n      }" else (compound_statement "{\n        local_18[0] = (undefined1)param_3;\n        param_3 = 1;\n      }" { (expression_statement "local_18[0] = (undefined1)param_3;" (assignment_expression "local_18[0] = (undefined1)param_3" (subscript_expression "local_18[0]" identifier [ number_literal ]) = (cast_expression "(undefined1)param_3" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) (expression_statement "param_3 = 1;" (assignment_expression "param_3 = 1" identifier = number_literal) ;) }))) }) (else_clause "else {\n      param_3 = 0;\n    }" else (compound_statement "{\n      param_3 = 0;\n    }" { (expression_statement "param_3 = 0;" (assignment_expression "param_3 = 0" identifier = number_literal) ;) }))))) })) (if_statement "if (param_2 == (word *)0x0) {\n    pwVar16 = (word *)(param_3 + 1);\n    if ((*(int *)PTR_rl_completion_suppress_append_00157624 == 0) &&\n       (*(int *)PTR_rl_completion_append_character_00157628 != 0)) {\n      local_18[param_3] = (char)*(int *)PTR_rl_completion_append_character_00157628;\n      goto LAB_000fa86c;\n    }\n  }\n  else {\n    local_18[param_3] = (char)param_2;\nLAB_000fa86c:\n    pwVar16 = (word *)(param_3 + 2);\n    param_3 = param_3 + 1;\n  }" if (parenthesized_expression "(param_2 == (word *)0x0)" ( (binary_expression "param_2 == (word *)0x0" identifier == (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pwVar16 = (word *)(param_3 + 1);\n    if ((*(int *)PTR_rl_completion_suppress_append_00157624 == 0) &&\n       (*(int *)PTR_rl_completion_append_character_00157628 != 0)) {\n      local_18[param_3] = (char)*(int *)PTR_rl_completion_append_character_00157628;\n      goto LAB_000fa86c;\n    }\n  }" { (expression_statement "pwVar16 = (word *)(param_3 + 1);" (assignment_expression "pwVar16 = (word *)(param_3 + 1)" identifier = (cast_expression "(word *)(param_3 + 1)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 1)" ( (binary_expression "param_3 + 1" identifier + number_literal) )))) ;) (if_statement "if ((*(int *)PTR_rl_completion_suppress_append_00157624 == 0) &&\n       (*(int *)PTR_rl_completion_append_character_00157628 != 0)) {\n      local_18[param_3] = (char)*(int *)PTR_rl_completion_append_character_00157628;\n      goto LAB_000fa86c;\n    }" if (parenthesized_expression "((*(int *)PTR_rl_completion_suppress_append_00157624 == 0) &&\n       (*(int *)PTR_rl_completion_append_character_00157628 != 0))" ( (binary_expression "(*(int *)PTR_rl_completion_suppress_append_00157624 == 0) &&\n       (*(int *)PTR_rl_completion_append_character_00157628 != 0)" (parenthesized_expression "(*(int *)PTR_rl_completion_suppress_append_00157624 == 0)" ( (binary_expression "*(int *)PTR_rl_completion_suppress_append_00157624 == 0" (pointer_expression "*(int *)PTR_rl_completion_suppress_append_00157624" * (cast_expression "(int *)PTR_rl_completion_suppress_append_00157624" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal) )) && (parenthesized_expression "(*(int *)PTR_rl_completion_append_character_00157628 != 0)" ( (binary_expression "*(int *)PTR_rl_completion_append_character_00157628 != 0" (pointer_expression "*(int *)PTR_rl_completion_append_character_00157628" * (cast_expression "(int *)PTR_rl_completion_append_character_00157628" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) ))) )) (compound_statement "{\n      local_18[param_3] = (char)*(int *)PTR_rl_completion_append_character_00157628;\n      goto LAB_000fa86c;\n    }" { (expression_statement "local_18[param_3] = (char)*(int *)PTR_rl_completion_append_character_00157628;" (assignment_expression "local_18[param_3] = (char)*(int *)PTR_rl_completion_append_character_00157628" (subscript_expression "local_18[param_3]" identifier [ identifier ]) = (cast_expression "(char)*(int *)PTR_rl_completion_append_character_00157628" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(int *)PTR_rl_completion_append_character_00157628" * (cast_expression "(int *)PTR_rl_completion_append_character_00157628" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (goto_statement "goto LAB_000fa86c;" goto statement_identifier ;) })) }) (else_clause "else {\n    local_18[param_3] = (char)param_2;\nLAB_000fa86c:\n    pwVar16 = (word *)(param_3 + 2);\n    param_3 = param_3 + 1;\n  }" else (compound_statement "{\n    local_18[param_3] = (char)param_2;\nLAB_000fa86c:\n    pwVar16 = (word *)(param_3 + 2);\n    param_3 = param_3 + 1;\n  }" { (expression_statement "local_18[param_3] = (char)param_2;" (assignment_expression "local_18[param_3] = (char)param_2" (subscript_expression "local_18[param_3]" identifier [ identifier ]) = (cast_expression "(char)param_2" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (labeled_statement "LAB_000fa86c:\n    pwVar16 = (word *)(param_3 + 2);" statement_identifier : (expression_statement "pwVar16 = (word *)(param_3 + 2);" (assignment_expression "pwVar16 = (word *)(param_3 + 2)" identifier = (cast_expression "(word *)(param_3 + 2)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) )))) ;)) (expression_statement "param_3 = param_3 + 1;" (assignment_expression "param_3 = param_3 + 1" identifier = (binary_expression "param_3 + 1" identifier + number_literal)) ;) }))) (expression_statement "pwVar15 = (word *)(&stack0xfffffff0 + param_3);" (assignment_expression "pwVar15 = (word *)(&stack0xfffffff0 + param_3)" identifier = (cast_expression "(word *)(&stack0xfffffff0 + param_3)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&stack0xfffffff0 + param_3)" ( (binary_expression "&stack0xfffffff0 + param_3" (pointer_expression "&stack0xfffffff0" & identifier) + identifier) )))) ;) (expression_statement "local_18[param_3] = 0;" (assignment_expression "local_18[param_3] = 0" (subscript_expression "local_18[param_3]" identifier [ identifier ]) = number_literal) ;) (if_statement "if (*(int *)PTR_rl_filename_completion_desired_00157634 == 0) {\n    if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {\n      rl_insert_text(local_18);\n    }\n  }\n  else {\n    unaff_s2 = (word *)(*(code *)PTR_tilde_expand_00156b0c)();\n    if (*(int *)PTR_rl_filename_stat_hook_00157754 != 0) {\n      iVar5 = (*(code *)PTR_strlen_00158444)(unaff_s2);\n      uVar7 = (*(code *)PTR_xmalloc_001565b8)(iVar5 + 1);\n      local_bc = (word *)(*(code *)PTR_strcpy_001584cc)(uVar7,unaff_s2);\n      (**(code **)PTR_rl_filename_stat_hook_00157754)(&local_bc);\n      (*(code *)PTR_xfree_00156bb4)(unaff_s2);\n      unaff_s2 = local_bc;\n    }\n    param_2 = unaff_s2;\n    if ((param_4 == (byte *)0x0) ||\n       (pwVar15 = awStack_b8, *(int *)PTR_rl_completion_mark_symlink_dirs_001578a4 != 0)) {\n      pwVar15 = awStack_b8;\n      iVar5 = (*(code *)PTR___xstat64_001582e8)(3);\n    }\n    else {\n      iVar5 = (*(code *)PTR___lxstat64_001582c8)(3);\n    }\n    if (iVar5 == 0) {\n      if ((local_a0 & 0xf000) == 0x4000) {\n        if (*(int *)PTR__rl_complete_mark_directories_00157f80 != 0) {\n          iVar5 = *(int *)PTR_rl_point_001575f0;\n          if ((iVar5 == 0) || (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5) != '\0')) {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5);\n          }\n          else {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5 + -1);\n          }\n          if (cVar1 != '/') {\n            rl_insert_text(PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c);\n          }\n        }\n      }\n      else if (((local_a0 & 0xf000) != 0xa000) || (iVar5 = FUN_000fa188(unaff_s2), iVar5 == 0))\n      goto LAB_000fa9f0;\n    }\n    else {\nLAB_000fa9f0:\n      if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {\n        rl_insert_text(local_18);\n      }\n    }\n    (*(code *)PTR_xfree_00156bb4)(unaff_s2);\n  }" if (parenthesized_expression "(*(int *)PTR_rl_filename_completion_desired_00157634 == 0)" ( (binary_expression "*(int *)PTR_rl_filename_completion_desired_00157634 == 0" (pointer_expression "*(int *)PTR_rl_filename_completion_desired_00157634" * (cast_expression "(int *)PTR_rl_filename_completion_desired_00157634" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal) )) (compound_statement "{\n    if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {\n      rl_insert_text(local_18);\n    }\n  }" { (if_statement "if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {\n      rl_insert_text(local_18);\n    }" if (parenthesized_expression "(*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec)" ( (binary_expression "*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec" (pointer_expression "*(int *)PTR_rl_point_001575f0" * (cast_expression "(int *)PTR_rl_point_001575f0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == (pointer_expression "*(int *)PTR_rl_end_001575ec" * (cast_expression "(int *)PTR_rl_end_001575ec" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n      rl_insert_text(local_18);\n    }" { (expression_statement "rl_insert_text(local_18);" (call_expression "rl_insert_text(local_18)" identifier (argument_list "(local_18)" ( identifier ))) ;) })) }) (else_clause "else {\n    unaff_s2 = (word *)(*(code *)PTR_tilde_expand_00156b0c)();\n    if (*(int *)PTR_rl_filename_stat_hook_00157754 != 0) {\n      iVar5 = (*(code *)PTR_strlen_00158444)(unaff_s2);\n      uVar7 = (*(code *)PTR_xmalloc_001565b8)(iVar5 + 1);\n      local_bc = (word *)(*(code *)PTR_strcpy_001584cc)(uVar7,unaff_s2);\n      (**(code **)PTR_rl_filename_stat_hook_00157754)(&local_bc);\n      (*(code *)PTR_xfree_00156bb4)(unaff_s2);\n      unaff_s2 = local_bc;\n    }\n    param_2 = unaff_s2;\n    if ((param_4 == (byte *)0x0) ||\n       (pwVar15 = awStack_b8, *(int *)PTR_rl_completion_mark_symlink_dirs_001578a4 != 0)) {\n      pwVar15 = awStack_b8;\n      iVar5 = (*(code *)PTR___xstat64_001582e8)(3);\n    }\n    else {\n      iVar5 = (*(code *)PTR___lxstat64_001582c8)(3);\n    }\n    if (iVar5 == 0) {\n      if ((local_a0 & 0xf000) == 0x4000) {\n        if (*(int *)PTR__rl_complete_mark_directories_00157f80 != 0) {\n          iVar5 = *(int *)PTR_rl_point_001575f0;\n          if ((iVar5 == 0) || (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5) != '\0')) {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5);\n          }\n          else {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5 + -1);\n          }\n          if (cVar1 != '/') {\n            rl_insert_text(PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c);\n          }\n        }\n      }\n      else if (((local_a0 & 0xf000) != 0xa000) || (iVar5 = FUN_000fa188(unaff_s2), iVar5 == 0))\n      goto LAB_000fa9f0;\n    }\n    else {\nLAB_000fa9f0:\n      if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {\n        rl_insert_text(local_18);\n      }\n    }\n    (*(code *)PTR_xfree_00156bb4)(unaff_s2);\n  }" else (compound_statement "{\n    unaff_s2 = (word *)(*(code *)PTR_tilde_expand_00156b0c)();\n    if (*(int *)PTR_rl_filename_stat_hook_00157754 != 0) {\n      iVar5 = (*(code *)PTR_strlen_00158444)(unaff_s2);\n      uVar7 = (*(code *)PTR_xmalloc_001565b8)(iVar5 + 1);\n      local_bc = (word *)(*(code *)PTR_strcpy_001584cc)(uVar7,unaff_s2);\n      (**(code **)PTR_rl_filename_stat_hook_00157754)(&local_bc);\n      (*(code *)PTR_xfree_00156bb4)(unaff_s2);\n      unaff_s2 = local_bc;\n    }\n    param_2 = unaff_s2;\n    if ((param_4 == (byte *)0x0) ||\n       (pwVar15 = awStack_b8, *(int *)PTR_rl_completion_mark_symlink_dirs_001578a4 != 0)) {\n      pwVar15 = awStack_b8;\n      iVar5 = (*(code *)PTR___xstat64_001582e8)(3);\n    }\n    else {\n      iVar5 = (*(code *)PTR___lxstat64_001582c8)(3);\n    }\n    if (iVar5 == 0) {\n      if ((local_a0 & 0xf000) == 0x4000) {\n        if (*(int *)PTR__rl_complete_mark_directories_00157f80 != 0) {\n          iVar5 = *(int *)PTR_rl_point_001575f0;\n          if ((iVar5 == 0) || (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5) != '\0')) {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5);\n          }\n          else {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5 + -1);\n          }\n          if (cVar1 != '/') {\n            rl_insert_text(PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c);\n          }\n        }\n      }\n      else if (((local_a0 & 0xf000) != 0xa000) || (iVar5 = FUN_000fa188(unaff_s2), iVar5 == 0))\n      goto LAB_000fa9f0;\n    }\n    else {\nLAB_000fa9f0:\n      if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {\n        rl_insert_text(local_18);\n      }\n    }\n    (*(code *)PTR_xfree_00156bb4)(unaff_s2);\n  }" { (expression_statement "unaff_s2 = (word *)(*(code *)PTR_tilde_expand_00156b0c)();" (assignment_expression "unaff_s2 = (word *)(*(code *)PTR_tilde_expand_00156b0c)()" identifier = (cast_expression "(word *)(*(code *)PTR_tilde_expand_00156b0c)()" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_tilde_expand_00156b0c)()" (parenthesized_expression "(*(code *)PTR_tilde_expand_00156b0c)" ( (pointer_expression "*(code *)PTR_tilde_expand_00156b0c" * (cast_expression "(code *)PTR_tilde_expand_00156b0c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (if_statement "if (*(int *)PTR_rl_filename_stat_hook_00157754 != 0) {\n      iVar5 = (*(code *)PTR_strlen_00158444)(unaff_s2);\n      uVar7 = (*(code *)PTR_xmalloc_001565b8)(iVar5 + 1);\n      local_bc = (word *)(*(code *)PTR_strcpy_001584cc)(uVar7,unaff_s2);\n      (**(code **)PTR_rl_filename_stat_hook_00157754)(&local_bc);\n      (*(code *)PTR_xfree_00156bb4)(unaff_s2);\n      unaff_s2 = local_bc;\n    }" if (parenthesized_expression "(*(int *)PTR_rl_filename_stat_hook_00157754 != 0)" ( (binary_expression "*(int *)PTR_rl_filename_stat_hook_00157754 != 0" (pointer_expression "*(int *)PTR_rl_filename_stat_hook_00157754" * (cast_expression "(int *)PTR_rl_filename_stat_hook_00157754" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) )) (compound_statement "{\n      iVar5 = (*(code *)PTR_strlen_00158444)(unaff_s2);\n      uVar7 = (*(code *)PTR_xmalloc_001565b8)(iVar5 + 1);\n      local_bc = (word *)(*(code *)PTR_strcpy_001584cc)(uVar7,unaff_s2);\n      (**(code **)PTR_rl_filename_stat_hook_00157754)(&local_bc);\n      (*(code *)PTR_xfree_00156bb4)(unaff_s2);\n      unaff_s2 = local_bc;\n    }" { (expression_statement "iVar5 = (*(code *)PTR_strlen_00158444)(unaff_s2);" (assignment_expression "iVar5 = (*(code *)PTR_strlen_00158444)(unaff_s2)" identifier = (call_expression "(*(code *)PTR_strlen_00158444)(unaff_s2)" (parenthesized_expression "(*(code *)PTR_strlen_00158444)" ( (pointer_expression "*(code *)PTR_strlen_00158444" * (cast_expression "(code *)PTR_strlen_00158444" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s2)" ( identifier )))) ;) (expression_statement "uVar7 = (*(code *)PTR_xmalloc_001565b8)(iVar5 + 1);" (assignment_expression "uVar7 = (*(code *)PTR_xmalloc_001565b8)(iVar5 + 1)" identifier = (call_expression "(*(code *)PTR_xmalloc_001565b8)(iVar5 + 1)" (parenthesized_expression "(*(code *)PTR_xmalloc_001565b8)" ( (pointer_expression "*(code *)PTR_xmalloc_001565b8" * (cast_expression "(code *)PTR_xmalloc_001565b8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar5 + 1)" ( (binary_expression "iVar5 + 1" identifier + number_literal) )))) ;) (expression_statement "local_bc = (word *)(*(code *)PTR_strcpy_001584cc)(uVar7,unaff_s2);" (assignment_expression "local_bc = (word *)(*(code *)PTR_strcpy_001584cc)(uVar7,unaff_s2)" identifier = (cast_expression "(word *)(*(code *)PTR_strcpy_001584cc)(uVar7,unaff_s2)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_strcpy_001584cc)(uVar7,unaff_s2)" (parenthesized_expression "(*(code *)PTR_strcpy_001584cc)" ( (pointer_expression "*(code *)PTR_strcpy_001584cc" * (cast_expression "(code *)PTR_strcpy_001584cc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar7,unaff_s2)" ( identifier , identifier ))))) ;) (expression_statement "(**(code **)PTR_rl_filename_stat_hook_00157754)(&local_bc);" (call_expression "(**(code **)PTR_rl_filename_stat_hook_00157754)(&local_bc)" (parenthesized_expression "(**(code **)PTR_rl_filename_stat_hook_00157754)" ( (pointer_expression "**(code **)PTR_rl_filename_stat_hook_00157754" * (pointer_expression "*(code **)PTR_rl_filename_stat_hook_00157754" * (cast_expression "(code **)PTR_rl_filename_stat_hook_00157754" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (argument_list "(&local_bc)" ( (pointer_expression "&local_bc" & identifier) ))) ;) (expression_statement "(*(code *)PTR_xfree_00156bb4)(unaff_s2);" (call_expression "(*(code *)PTR_xfree_00156bb4)(unaff_s2)" (parenthesized_expression "(*(code *)PTR_xfree_00156bb4)" ( (pointer_expression "*(code *)PTR_xfree_00156bb4" * (cast_expression "(code *)PTR_xfree_00156bb4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s2)" ( identifier ))) ;) (expression_statement "unaff_s2 = local_bc;" (assignment_expression "unaff_s2 = local_bc" identifier = identifier) ;) })) (expression_statement "param_2 = unaff_s2;" (assignment_expression "param_2 = unaff_s2" identifier = identifier) ;) (if_statement "if ((param_4 == (byte *)0x0) ||\n       (pwVar15 = awStack_b8, *(int *)PTR_rl_completion_mark_symlink_dirs_001578a4 != 0)) {\n      pwVar15 = awStack_b8;\n      iVar5 = (*(code *)PTR___xstat64_001582e8)(3);\n    }\n    else {\n      iVar5 = (*(code *)PTR___lxstat64_001582c8)(3);\n    }" if (parenthesized_expression "((param_4 == (byte *)0x0) ||\n       (pwVar15 = awStack_b8, *(int *)PTR_rl_completion_mark_symlink_dirs_001578a4 != 0))" ( (binary_expression "(param_4 == (byte *)0x0) ||\n       (pwVar15 = awStack_b8, *(int *)PTR_rl_completion_mark_symlink_dirs_001578a4 != 0)" (parenthesized_expression "(param_4 == (byte *)0x0)" ( (binary_expression "param_4 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(pwVar15 = awStack_b8, *(int *)PTR_rl_completion_mark_symlink_dirs_001578a4 != 0)" ( (comma_expression "pwVar15 = awStack_b8, *(int *)PTR_rl_completion_mark_symlink_dirs_001578a4 != 0" (assignment_expression "pwVar15 = awStack_b8" identifier = identifier) , (binary_expression "*(int *)PTR_rl_completion_mark_symlink_dirs_001578a4 != 0" (pointer_expression "*(int *)PTR_rl_completion_mark_symlink_dirs_001578a4" * (cast_expression "(int *)PTR_rl_completion_mark_symlink_dirs_001578a4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal)) ))) )) (compound_statement "{\n      pwVar15 = awStack_b8;\n      iVar5 = (*(code *)PTR___xstat64_001582e8)(3);\n    }" { (expression_statement "pwVar15 = awStack_b8;" (assignment_expression "pwVar15 = awStack_b8" identifier = identifier) ;) (expression_statement "iVar5 = (*(code *)PTR___xstat64_001582e8)(3);" (assignment_expression "iVar5 = (*(code *)PTR___xstat64_001582e8)(3)" identifier = (call_expression "(*(code *)PTR___xstat64_001582e8)(3)" (parenthesized_expression "(*(code *)PTR___xstat64_001582e8)" ( (pointer_expression "*(code *)PTR___xstat64_001582e8" * (cast_expression "(code *)PTR___xstat64_001582e8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(3)" ( number_literal )))) ;) }) (else_clause "else {\n      iVar5 = (*(code *)PTR___lxstat64_001582c8)(3);\n    }" else (compound_statement "{\n      iVar5 = (*(code *)PTR___lxstat64_001582c8)(3);\n    }" { (expression_statement "iVar5 = (*(code *)PTR___lxstat64_001582c8)(3);" (assignment_expression "iVar5 = (*(code *)PTR___lxstat64_001582c8)(3)" identifier = (call_expression "(*(code *)PTR___lxstat64_001582c8)(3)" (parenthesized_expression "(*(code *)PTR___lxstat64_001582c8)" ( (pointer_expression "*(code *)PTR___lxstat64_001582c8" * (cast_expression "(code *)PTR___lxstat64_001582c8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(3)" ( number_literal )))) ;) }))) (if_statement "if (iVar5 == 0) {\n      if ((local_a0 & 0xf000) == 0x4000) {\n        if (*(int *)PTR__rl_complete_mark_directories_00157f80 != 0) {\n          iVar5 = *(int *)PTR_rl_point_001575f0;\n          if ((iVar5 == 0) || (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5) != '\0')) {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5);\n          }\n          else {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5 + -1);\n          }\n          if (cVar1 != '/') {\n            rl_insert_text(PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c);\n          }\n        }\n      }\n      else if (((local_a0 & 0xf000) != 0xa000) || (iVar5 = FUN_000fa188(unaff_s2), iVar5 == 0))\n      goto LAB_000fa9f0;\n    }\n    else {\nLAB_000fa9f0:\n      if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {\n        rl_insert_text(local_18);\n      }\n    }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n      if ((local_a0 & 0xf000) == 0x4000) {\n        if (*(int *)PTR__rl_complete_mark_directories_00157f80 != 0) {\n          iVar5 = *(int *)PTR_rl_point_001575f0;\n          if ((iVar5 == 0) || (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5) != '\0')) {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5);\n          }\n          else {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5 + -1);\n          }\n          if (cVar1 != '/') {\n            rl_insert_text(PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c);\n          }\n        }\n      }\n      else if (((local_a0 & 0xf000) != 0xa000) || (iVar5 = FUN_000fa188(unaff_s2), iVar5 == 0))\n      goto LAB_000fa9f0;\n    }" { (if_statement "if ((local_a0 & 0xf000) == 0x4000) {\n        if (*(int *)PTR__rl_complete_mark_directories_00157f80 != 0) {\n          iVar5 = *(int *)PTR_rl_point_001575f0;\n          if ((iVar5 == 0) || (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5) != '\0')) {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5);\n          }\n          else {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5 + -1);\n          }\n          if (cVar1 != '/') {\n            rl_insert_text(PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c);\n          }\n        }\n      }\n      else if (((local_a0 & 0xf000) != 0xa000) || (iVar5 = FUN_000fa188(unaff_s2), iVar5 == 0))\n      goto LAB_000fa9f0;" if (parenthesized_expression "((local_a0 & 0xf000) == 0x4000)" ( (binary_expression "(local_a0 & 0xf000) == 0x4000" (parenthesized_expression "(local_a0 & 0xf000)" ( (binary_expression "local_a0 & 0xf000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        if (*(int *)PTR__rl_complete_mark_directories_00157f80 != 0) {\n          iVar5 = *(int *)PTR_rl_point_001575f0;\n          if ((iVar5 == 0) || (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5) != '\0')) {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5);\n          }\n          else {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5 + -1);\n          }\n          if (cVar1 != '/') {\n            rl_insert_text(PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c);\n          }\n        }\n      }" { (if_statement "if (*(int *)PTR__rl_complete_mark_directories_00157f80 != 0) {\n          iVar5 = *(int *)PTR_rl_point_001575f0;\n          if ((iVar5 == 0) || (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5) != '\0')) {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5);\n          }\n          else {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5 + -1);\n          }\n          if (cVar1 != '/') {\n            rl_insert_text(PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c);\n          }\n        }" if (parenthesized_expression "(*(int *)PTR__rl_complete_mark_directories_00157f80 != 0)" ( (binary_expression "*(int *)PTR__rl_complete_mark_directories_00157f80 != 0" (pointer_expression "*(int *)PTR__rl_complete_mark_directories_00157f80" * (cast_expression "(int *)PTR__rl_complete_mark_directories_00157f80" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) )) (compound_statement "{\n          iVar5 = *(int *)PTR_rl_point_001575f0;\n          if ((iVar5 == 0) || (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5) != '\0')) {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5);\n          }\n          else {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5 + -1);\n          }\n          if (cVar1 != '/') {\n            rl_insert_text(PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c);\n          }\n        }" { (expression_statement "iVar5 = *(int *)PTR_rl_point_001575f0;" (assignment_expression "iVar5 = *(int *)PTR_rl_point_001575f0" identifier = (pointer_expression "*(int *)PTR_rl_point_001575f0" * (cast_expression "(int *)PTR_rl_point_001575f0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if ((iVar5 == 0) || (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5) != '\0')) {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5);\n          }\n          else {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5 + -1);\n          }" if (parenthesized_expression "((iVar5 == 0) || (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5) != '\0'))" ( (binary_expression "(iVar5 == 0) || (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5) != '\0')" (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) || (parenthesized_expression "(*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5) != '\0')" ( (binary_expression "*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5) != '\0'" (pointer_expression "*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5)" * (cast_expression "(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_rl_line_buffer_001575e8 + iVar5)" ( (binary_expression "*(int *)PTR_rl_line_buffer_001575e8 + iVar5" (pointer_expression "*(int *)PTR_rl_line_buffer_001575e8" * (cast_expression "(int *)PTR_rl_line_buffer_001575e8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + identifier) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5);\n          }" { (expression_statement "cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5);" (assignment_expression "cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5)" identifier = (pointer_expression "*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5)" * (cast_expression "(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_rl_line_buffer_001575e8 + iVar5)" ( (binary_expression "*(int *)PTR_rl_line_buffer_001575e8 + iVar5" (pointer_expression "*(int *)PTR_rl_line_buffer_001575e8" * (cast_expression "(int *)PTR_rl_line_buffer_001575e8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + identifier) ))))) ;) }) (else_clause "else {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5 + -1);\n          }" else (compound_statement "{\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5 + -1);\n          }" { (expression_statement "cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5 + -1);" (assignment_expression "cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5 + -1)" identifier = (pointer_expression "*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5 + -1)" * (cast_expression "(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5 + -1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_rl_line_buffer_001575e8 + iVar5 + -1)" ( (binary_expression "*(int *)PTR_rl_line_buffer_001575e8 + iVar5 + -1" (binary_expression "*(int *)PTR_rl_line_buffer_001575e8 + iVar5" (pointer_expression "*(int *)PTR_rl_line_buffer_001575e8" * (cast_expression "(int *)PTR_rl_line_buffer_001575e8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + identifier) + number_literal) ))))) ;) }))) (if_statement "if (cVar1 != '/') {\n            rl_insert_text(PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c);\n          }" if (parenthesized_expression "(cVar1 != '/')" ( (binary_expression "cVar1 != '/'" identifier != (char_literal "'/'" ' character ')) )) (compound_statement "{\n            rl_insert_text(PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c);\n          }" { (expression_statement "rl_insert_text(PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c);" (call_expression "rl_insert_text(PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c)" identifier (argument_list "(PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c)" ( (binary_expression "PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c" identifier + number_literal) ))) ;) })) })) }) (else_clause "else if (((local_a0 & 0xf000) != 0xa000) || (iVar5 = FUN_000fa188(unaff_s2), iVar5 == 0))\n      goto LAB_000fa9f0;" else (if_statement "if (((local_a0 & 0xf000) != 0xa000) || (iVar5 = FUN_000fa188(unaff_s2), iVar5 == 0))\n      goto LAB_000fa9f0;" if (parenthesized_expression "(((local_a0 & 0xf000) != 0xa000) || (iVar5 = FUN_000fa188(unaff_s2), iVar5 == 0))" ( (binary_expression "((local_a0 & 0xf000) != 0xa000) || (iVar5 = FUN_000fa188(unaff_s2), iVar5 == 0)" (parenthesized_expression "((local_a0 & 0xf000) != 0xa000)" ( (binary_expression "(local_a0 & 0xf000) != 0xa000" (parenthesized_expression "(local_a0 & 0xf000)" ( (binary_expression "local_a0 & 0xf000" identifier & number_literal) )) != number_literal) )) || (parenthesized_expression "(iVar5 = FUN_000fa188(unaff_s2), iVar5 == 0)" ( (comma_expression "iVar5 = FUN_000fa188(unaff_s2), iVar5 == 0" (assignment_expression "iVar5 = FUN_000fa188(unaff_s2)" identifier = (call_expression "FUN_000fa188(unaff_s2)" identifier (argument_list "(unaff_s2)" ( identifier )))) , (binary_expression "iVar5 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_000fa9f0;" goto statement_identifier ;)))) }) (else_clause "else {\nLAB_000fa9f0:\n      if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {\n        rl_insert_text(local_18);\n      }\n    }" else (compound_statement "{\nLAB_000fa9f0:\n      if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {\n        rl_insert_text(local_18);\n      }\n    }" { (labeled_statement "LAB_000fa9f0:\n      if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {\n        rl_insert_text(local_18);\n      }" statement_identifier : (if_statement "if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {\n        rl_insert_text(local_18);\n      }" if (parenthesized_expression "(*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec)" ( (binary_expression "*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec" (pointer_expression "*(int *)PTR_rl_point_001575f0" * (cast_expression "(int *)PTR_rl_point_001575f0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == (pointer_expression "*(int *)PTR_rl_end_001575ec" * (cast_expression "(int *)PTR_rl_end_001575ec" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n        rl_insert_text(local_18);\n      }" { (expression_statement "rl_insert_text(local_18);" (call_expression "rl_insert_text(local_18)" identifier (argument_list "(local_18)" ( identifier ))) ;) }))) }))) (expression_statement "(*(code *)PTR_xfree_00156bb4)(unaff_s2);" (call_expression "(*(code *)PTR_xfree_00156bb4)(unaff_s2)" (parenthesized_expression "(*(code *)PTR_xfree_00156bb4)" ( (pointer_expression "*(code *)PTR_xfree_00156bb4" * (cast_expression "(code *)PTR_xfree_00156bb4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s2)" ( identifier ))) ;) }))) (if_statement "if (local_14 == *(int **)PTR___stack_chk_guard_0015858c) {\n    return pwVar16;\n  }" if (parenthesized_expression "(local_14 == *(int **)PTR___stack_chk_guard_0015858c)" ( (binary_expression "local_14 == *(int **)PTR___stack_chk_guard_0015858c" identifier == (pointer_expression "*(int **)PTR___stack_chk_guard_0015858c" * (cast_expression "(int **)PTR___stack_chk_guard_0015858c" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n    return pwVar16;\n  }" { (return_statement "return pwVar16;" return identifier ;) })) (expression_statement "piVar9 = local_14;" (assignment_expression "piVar9 = local_14" identifier = identifier) ;) (expression_statement "puVar22 = PTR___stack_chk_fail_0015853c;" (assignment_expression "puVar22 = PTR___stack_chk_fail_0015853c" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_0015853c)();" (call_expression "(*(code *)PTR___stack_chk_fail_0015853c)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0015853c)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_0015853c" * (cast_expression "(code *)PTR___stack_chk_fail_0015853c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "puStack_158 = puVar22 + 0x63a10;" (assignment_expression "puStack_158 = puVar22 + 0x63a10" identifier = (binary_expression "puVar22 + 0x63a10" identifier + number_literal)) ;) (expression_statement "puStack_104 = (undefined4 *)**(undefined4 **)(puVar22 + 0x5da5c);" (assignment_expression "puStack_104 = (undefined4 *)**(undefined4 **)(puVar22 + 0x5da5c)" identifier = (cast_expression "(undefined4 *)**(undefined4 **)(puVar22 + 0x5da5c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(puVar22 + 0x5da5c)" * (pointer_expression "*(undefined4 **)(puVar22 + 0x5da5c)" * (cast_expression "(undefined4 **)(puVar22 + 0x5da5c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + 0x5da5c)" ( (binary_expression "puVar22 + 0x5da5c" identifier + number_literal) ))))))) ;) (expression_statement "pwVar14 = param_2;" (assignment_expression "pwVar14 = param_2" identifier = identifier) ;) (expression_statement "pwStack_130 = pwVar15;" (assignment_expression "pwStack_130 = pwVar15" identifier = identifier) ;) (expression_statement "piStack_12c = piVar9;" (assignment_expression "piStack_12c = piVar9" identifier = identifier) ;) (expression_statement "pwStack_100 = pwVar16;" (assignment_expression "pwStack_100 = pwVar16" identifier = identifier) ;) (expression_statement "pbStack_fc = param_4;" (assignment_expression "pbStack_fc = param_4" identifier = identifier) ;) (expression_statement "pwStack_f8 = unaff_s2;" (assignment_expression "pwStack_f8 = unaff_s2" identifier = identifier) ;) (if_statement "if (param_2 == (word *)0x1) {\n    *piVar9 = piVar9[1];\n    piVar9[1] = 0;\n    pwStack_13c = param_2;\n  }\n  else {\n    if ((int)param_2 < 2) {\n      pwStack_140 = (word *)&__DT_SYMTAB[0x3d1].st_info;\n    }\n    else {\n      pwVar18 = (word *)(piVar9 + 1);\n      pwStack_140 = (word *)&__DT_SYMTAB[0x3d1].st_info;\n      pwStack_13c = (word *)0x1;\n      unaff_s3 = *(word **)(puVar22 + 0x5d2e8);\n      piStack_134 = *(int **)(puVar22 + 0x5d454);\n      unaff_s8 = &pbStack_124;\n      do {\n        uVar4 = (**(code **)(puStack_158 + -0x6060))();\n        if ((1 < uVar4) && (*(int *)unaff_s3 == 0)) {\n          uStack_11c = 0;\n          uStack_118 = 0;\n          uStack_114 = 0;\n          uStack_110 = 0;\n        }\n        if (*piStack_134 == 0) {\n          param_4 = (byte *)(int)**(char **)pwVar18;\n          unaff_s5 = pwVar18;\n          if (param_4 == (byte *)0x0) {\n            pwVar16 = (word *)0x0;\n            goto LAB_000fac1c;\n          }\n          pwVar16 = (word *)(int)**(char **)(pwVar18 + 2);\n          pwStack_14c = (word *)0x0;\n          unaff_s4 = pwVar16;\n          if (pwVar16 == (word *)0x0) goto LAB_000fac1c;\n          unaff_s6 = (word *)&uStack_11c;\n          pwStack_148 = (word *)&uStack_114;\n          unaff_s7 = (word *)&uStack_10c;\n          do {\n            pwVar16 = pwStack_14c;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\n              if ((word *)param_4 != unaff_s4) goto LAB_000fac1c;\n            }\n            else {\n              uStack_10c = uStack_11c;\n              uStack_108 = uStack_118;\n              pwStack_15c = pwStack_148;\n              pwVar15 = unaff_s6;\n              pwStack_160 = pwVar16;\n              iVar5 = (**(code **)(puStack_158 + -0x65b8))\n                                (*(undefined4 *)pwVar18,pwVar16,unaff_s6,\n                                 *(undefined4 *)(pwVar18 + 2));\n              pwVar14 = unaff_s7;\n              if (iVar5 == 0) goto LAB_000fac1c;\n              iVar5 = (**(code **)(puStack_158 + -0x65b4))\n                                ((byte *)((int)pwStack_14c + *(int *)pwVar18));\n              if (1 < iVar5) {\n                pwVar16 = (word *)((int)pwVar16 + iVar5 + -1);\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_14c = pwVar16;\n            if (param_4 == (byte *)0x0) goto LAB_000fac1c;\n            unaff_s4 = (word *)(int)(char)*(byte *)((int)pwVar16 + *(int *)(pwVar18 + 2));\n            bVar3 = (int)pwVar16 < (int)pwStack_140;\n          } while (unaff_s4 != (word *)0x0);\n        }\n        else {\n          pwVar16 = (word *)0x0;\n          unaff_s7 = (word *)&uStack_11c;\n          unaff_s6 = (word *)&uStack_114;\n          while( true ) {\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_148 = pwVar16;\n            pwStack_144 = pwVar18;\n            if (unaff_s4 == (word *)param_4) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))();\n              if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n                param_4 = *(byte **)unaff_s4;\n              }\n            }\n            unaff_s5 = (word *)&pbStack_120;\n            if (param_4 == (byte *)0x0) break;\n            pwStack_14c = (word *)(int)(char)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))\n            ;\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n            if ((unaff_s4 == pwStack_14c) &&\n               (piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0)) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n              unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n              pwStack_14c = *(word **)unaff_s4;\n            }\n            if (pwStack_14c == (word *)0x0) break;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\njoined_r0x000facac:\n              if ((word *)param_4 != pwStack_14c) break;\n            }\n            else {\n              pbVar24 = (byte *)((int)pwStack_148 + *(int *)pwStack_144);\n              uVar7 = (**(code **)(puStack_158 + -0x60fc))(pbVar24);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,pbVar24,uVar7,unaff_s7);\n              unaff_s4 = (word *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n              pwVar15 = (word *)(**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              pwVar14 = unaff_s4;\n              iVar5 = (**(code **)(puStack_158 + -0x6084))(&pbStack_120,unaff_s4,pwVar15,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar5 + 2U < 2)) goto joined_r0x000facac;\n              param_4 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_124);\n              pbStack_124 = param_4;\n              pbStack_120 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_120);\n              if (param_4 != pbStack_120) break;\n              if (1 < uStack_138) {\n                pwVar16 = (word *)((int)pwStack_148 + (uStack_138 - 1));\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\nLAB_000fac1c:\n          bVar3 = (int)pwVar16 < (int)pwStack_140;\n        }\n        pwVar6 = pwStack_130;\n        if (bVar3) {\n          pwStack_140 = pwVar16;\n        }\n        pwStack_13c = (word *)((int)pwStack_13c + 1);\n        pwVar18 = pwVar18 + 2;\n      } while (param_2 != pwStack_13c);\n      unaff_s2 = pwVar18;\n      if (((pwStack_140 == (word *)0x0) && (pwStack_130 != (word *)0x0)) &&\n         (pwVar16 = pwStack_130, *(byte *)pwStack_130 != 0)) {\n        iVar5 = (**(code **)(puStack_158 + -0x60fc))(pwStack_130);\n        iVar5 = (**(code **)(puStack_158 + -0x7f88))(iVar5 + 1);\n        *piStack_12c = iVar5;\n        pwVar14 = pwVar6;\n        (**(code **)(puStack_158 + -0x6074))(iVar5);\n        pwVar16 = pwVar6;\n        goto LAB_000fb1f0;\n      }\n    }\n    iVar5 = (**(code **)(puStack_158 + -0x7f88))((byte *)((int)pwStack_140 + 1));\n    *piStack_12c = iVar5;\n    if (**(int **)(puStack_158 + -0x65bc) == 0) {\n      pwVar14 = (word *)piStack_12c[1];\n      pwVar15 = pwStack_140;\n      (**(code **)(puStack_158 + -0x615c))(iVar5);\n    }\n    else {\n      unaff_s3 = (word *)0x0;\n      if (**(int **)(puStack_158 + -0x6f0c) != 0) {\n        if ((code *)**(undefined4 **)(puStack_158 + -0x6de4) == (code *)0x0) {\n          unaff_s3 = (word *)0x0;\n        }\n        else if ((**(int **)(puStack_158 + -0x6f38) != 0) &&\n                (**(int **)(puStack_158 + -0x702c) != 0)) {\n          pwVar14 = (word *)**(undefined4 **)(puStack_158 + -0x6f34);\n          unaff_s3 = (word *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(pwStack_130);\n          pwStack_130 = unaff_s3;\n        }\n      }\n      if (**(int **)(puStack_158 + -0x6f10) != 0) {\n        pwVar14 = param_2;\n        (**(code **)(puStack_158 + -0x6218))\n                  (piStack_12c + 1,param_2,4,*(undefined4 *)(puStack_158 + -0x6660));\n      }\n      pwVar16 = (word *)(**(code **)(puStack_158 + -0x60fc))(pwStack_130);\n      unaff_s4 = pwStack_140;\n      if ((int)pwVar16 <= (int)pwStack_140) {\n        unaff_s4 = pwVar16;\n      }\n      if ((int)param_2 < 1) {\n        pwVar16 = (word *)0x1;\nLAB_000fb1a8:\n        pwVar16 = (word *)(uint)((int)param_2 < (int)pwVar16);\n        pwVar15 = pwStack_140;\n        if (pwVar16 != (word *)0x0) goto LAB_000fb12c;\n      }\n      else {\n        param_4 = (byte *)(piStack_12c + 1);\n        pwVar16 = (word *)0x1;\n        do {\n          unaff_s2 = *(word **)param_4;\n          iVar5 = (**(code **)(puStack_158 + -0x6238))(unaff_s2,pwStack_130,unaff_s4);\n          if (iVar5 == 0) {\n            pwVar14 = unaff_s2;\n            (**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,pwStack_140);\n            goto LAB_000fb1a8;\n          }\n          pwVar16 = (word *)((int)pwVar16 + 1);\n          param_4 = param_4 + 4;\n        } while ((int)pwVar16 <= (int)param_2);\nLAB_000fb12c:\n        pwVar14 = (word *)piStack_12c[1];\n        pwVar15 = pwStack_140;\n        (**(code **)(puStack_158 + -0x615c))(*piStack_12c);\n      }\n      if (unaff_s3 != (word *)0x0) {\n        (**(code **)(puStack_158 + -0x5f94))(unaff_s3);\n      }\n    }\n    *(byte *)((int)pwStack_140 + *piStack_12c) = 0;\n    pwStack_13c = param_2;\n  }" if (parenthesized_expression "(param_2 == (word *)0x1)" ( (binary_expression "param_2 == (word *)0x1" identifier == (cast_expression "(word *)0x1" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    *piVar9 = piVar9[1];\n    piVar9[1] = 0;\n    pwStack_13c = param_2;\n  }" { (expression_statement "*piVar9 = piVar9[1];" (assignment_expression "*piVar9 = piVar9[1]" (pointer_expression "*piVar9" * identifier) = (subscript_expression "piVar9[1]" identifier [ number_literal ])) ;) (expression_statement "piVar9[1] = 0;" (assignment_expression "piVar9[1] = 0" (subscript_expression "piVar9[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pwStack_13c = param_2;" (assignment_expression "pwStack_13c = param_2" identifier = identifier) ;) }) (else_clause "else {\n    if ((int)param_2 < 2) {\n      pwStack_140 = (word *)&__DT_SYMTAB[0x3d1].st_info;\n    }\n    else {\n      pwVar18 = (word *)(piVar9 + 1);\n      pwStack_140 = (word *)&__DT_SYMTAB[0x3d1].st_info;\n      pwStack_13c = (word *)0x1;\n      unaff_s3 = *(word **)(puVar22 + 0x5d2e8);\n      piStack_134 = *(int **)(puVar22 + 0x5d454);\n      unaff_s8 = &pbStack_124;\n      do {\n        uVar4 = (**(code **)(puStack_158 + -0x6060))();\n        if ((1 < uVar4) && (*(int *)unaff_s3 == 0)) {\n          uStack_11c = 0;\n          uStack_118 = 0;\n          uStack_114 = 0;\n          uStack_110 = 0;\n        }\n        if (*piStack_134 == 0) {\n          param_4 = (byte *)(int)**(char **)pwVar18;\n          unaff_s5 = pwVar18;\n          if (param_4 == (byte *)0x0) {\n            pwVar16 = (word *)0x0;\n            goto LAB_000fac1c;\n          }\n          pwVar16 = (word *)(int)**(char **)(pwVar18 + 2);\n          pwStack_14c = (word *)0x0;\n          unaff_s4 = pwVar16;\n          if (pwVar16 == (word *)0x0) goto LAB_000fac1c;\n          unaff_s6 = (word *)&uStack_11c;\n          pwStack_148 = (word *)&uStack_114;\n          unaff_s7 = (word *)&uStack_10c;\n          do {\n            pwVar16 = pwStack_14c;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\n              if ((word *)param_4 != unaff_s4) goto LAB_000fac1c;\n            }\n            else {\n              uStack_10c = uStack_11c;\n              uStack_108 = uStack_118;\n              pwStack_15c = pwStack_148;\n              pwVar15 = unaff_s6;\n              pwStack_160 = pwVar16;\n              iVar5 = (**(code **)(puStack_158 + -0x65b8))\n                                (*(undefined4 *)pwVar18,pwVar16,unaff_s6,\n                                 *(undefined4 *)(pwVar18 + 2));\n              pwVar14 = unaff_s7;\n              if (iVar5 == 0) goto LAB_000fac1c;\n              iVar5 = (**(code **)(puStack_158 + -0x65b4))\n                                ((byte *)((int)pwStack_14c + *(int *)pwVar18));\n              if (1 < iVar5) {\n                pwVar16 = (word *)((int)pwVar16 + iVar5 + -1);\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_14c = pwVar16;\n            if (param_4 == (byte *)0x0) goto LAB_000fac1c;\n            unaff_s4 = (word *)(int)(char)*(byte *)((int)pwVar16 + *(int *)(pwVar18 + 2));\n            bVar3 = (int)pwVar16 < (int)pwStack_140;\n          } while (unaff_s4 != (word *)0x0);\n        }\n        else {\n          pwVar16 = (word *)0x0;\n          unaff_s7 = (word *)&uStack_11c;\n          unaff_s6 = (word *)&uStack_114;\n          while( true ) {\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_148 = pwVar16;\n            pwStack_144 = pwVar18;\n            if (unaff_s4 == (word *)param_4) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))();\n              if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n                param_4 = *(byte **)unaff_s4;\n              }\n            }\n            unaff_s5 = (word *)&pbStack_120;\n            if (param_4 == (byte *)0x0) break;\n            pwStack_14c = (word *)(int)(char)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))\n            ;\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n            if ((unaff_s4 == pwStack_14c) &&\n               (piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0)) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n              unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n              pwStack_14c = *(word **)unaff_s4;\n            }\n            if (pwStack_14c == (word *)0x0) break;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\njoined_r0x000facac:\n              if ((word *)param_4 != pwStack_14c) break;\n            }\n            else {\n              pbVar24 = (byte *)((int)pwStack_148 + *(int *)pwStack_144);\n              uVar7 = (**(code **)(puStack_158 + -0x60fc))(pbVar24);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,pbVar24,uVar7,unaff_s7);\n              unaff_s4 = (word *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n              pwVar15 = (word *)(**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              pwVar14 = unaff_s4;\n              iVar5 = (**(code **)(puStack_158 + -0x6084))(&pbStack_120,unaff_s4,pwVar15,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar5 + 2U < 2)) goto joined_r0x000facac;\n              param_4 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_124);\n              pbStack_124 = param_4;\n              pbStack_120 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_120);\n              if (param_4 != pbStack_120) break;\n              if (1 < uStack_138) {\n                pwVar16 = (word *)((int)pwStack_148 + (uStack_138 - 1));\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\nLAB_000fac1c:\n          bVar3 = (int)pwVar16 < (int)pwStack_140;\n        }\n        pwVar6 = pwStack_130;\n        if (bVar3) {\n          pwStack_140 = pwVar16;\n        }\n        pwStack_13c = (word *)((int)pwStack_13c + 1);\n        pwVar18 = pwVar18 + 2;\n      } while (param_2 != pwStack_13c);\n      unaff_s2 = pwVar18;\n      if (((pwStack_140 == (word *)0x0) && (pwStack_130 != (word *)0x0)) &&\n         (pwVar16 = pwStack_130, *(byte *)pwStack_130 != 0)) {\n        iVar5 = (**(code **)(puStack_158 + -0x60fc))(pwStack_130);\n        iVar5 = (**(code **)(puStack_158 + -0x7f88))(iVar5 + 1);\n        *piStack_12c = iVar5;\n        pwVar14 = pwVar6;\n        (**(code **)(puStack_158 + -0x6074))(iVar5);\n        pwVar16 = pwVar6;\n        goto LAB_000fb1f0;\n      }\n    }\n    iVar5 = (**(code **)(puStack_158 + -0x7f88))((byte *)((int)pwStack_140 + 1));\n    *piStack_12c = iVar5;\n    if (**(int **)(puStack_158 + -0x65bc) == 0) {\n      pwVar14 = (word *)piStack_12c[1];\n      pwVar15 = pwStack_140;\n      (**(code **)(puStack_158 + -0x615c))(iVar5);\n    }\n    else {\n      unaff_s3 = (word *)0x0;\n      if (**(int **)(puStack_158 + -0x6f0c) != 0) {\n        if ((code *)**(undefined4 **)(puStack_158 + -0x6de4) == (code *)0x0) {\n          unaff_s3 = (word *)0x0;\n        }\n        else if ((**(int **)(puStack_158 + -0x6f38) != 0) &&\n                (**(int **)(puStack_158 + -0x702c) != 0)) {\n          pwVar14 = (word *)**(undefined4 **)(puStack_158 + -0x6f34);\n          unaff_s3 = (word *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(pwStack_130);\n          pwStack_130 = unaff_s3;\n        }\n      }\n      if (**(int **)(puStack_158 + -0x6f10) != 0) {\n        pwVar14 = param_2;\n        (**(code **)(puStack_158 + -0x6218))\n                  (piStack_12c + 1,param_2,4,*(undefined4 *)(puStack_158 + -0x6660));\n      }\n      pwVar16 = (word *)(**(code **)(puStack_158 + -0x60fc))(pwStack_130);\n      unaff_s4 = pwStack_140;\n      if ((int)pwVar16 <= (int)pwStack_140) {\n        unaff_s4 = pwVar16;\n      }\n      if ((int)param_2 < 1) {\n        pwVar16 = (word *)0x1;\nLAB_000fb1a8:\n        pwVar16 = (word *)(uint)((int)param_2 < (int)pwVar16);\n        pwVar15 = pwStack_140;\n        if (pwVar16 != (word *)0x0) goto LAB_000fb12c;\n      }\n      else {\n        param_4 = (byte *)(piStack_12c + 1);\n        pwVar16 = (word *)0x1;\n        do {\n          unaff_s2 = *(word **)param_4;\n          iVar5 = (**(code **)(puStack_158 + -0x6238))(unaff_s2,pwStack_130,unaff_s4);\n          if (iVar5 == 0) {\n            pwVar14 = unaff_s2;\n            (**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,pwStack_140);\n            goto LAB_000fb1a8;\n          }\n          pwVar16 = (word *)((int)pwVar16 + 1);\n          param_4 = param_4 + 4;\n        } while ((int)pwVar16 <= (int)param_2);\nLAB_000fb12c:\n        pwVar14 = (word *)piStack_12c[1];\n        pwVar15 = pwStack_140;\n        (**(code **)(puStack_158 + -0x615c))(*piStack_12c);\n      }\n      if (unaff_s3 != (word *)0x0) {\n        (**(code **)(puStack_158 + -0x5f94))(unaff_s3);\n      }\n    }\n    *(byte *)((int)pwStack_140 + *piStack_12c) = 0;\n    pwStack_13c = param_2;\n  }" else (compound_statement "{\n    if ((int)param_2 < 2) {\n      pwStack_140 = (word *)&__DT_SYMTAB[0x3d1].st_info;\n    }\n    else {\n      pwVar18 = (word *)(piVar9 + 1);\n      pwStack_140 = (word *)&__DT_SYMTAB[0x3d1].st_info;\n      pwStack_13c = (word *)0x1;\n      unaff_s3 = *(word **)(puVar22 + 0x5d2e8);\n      piStack_134 = *(int **)(puVar22 + 0x5d454);\n      unaff_s8 = &pbStack_124;\n      do {\n        uVar4 = (**(code **)(puStack_158 + -0x6060))();\n        if ((1 < uVar4) && (*(int *)unaff_s3 == 0)) {\n          uStack_11c = 0;\n          uStack_118 = 0;\n          uStack_114 = 0;\n          uStack_110 = 0;\n        }\n        if (*piStack_134 == 0) {\n          param_4 = (byte *)(int)**(char **)pwVar18;\n          unaff_s5 = pwVar18;\n          if (param_4 == (byte *)0x0) {\n            pwVar16 = (word *)0x0;\n            goto LAB_000fac1c;\n          }\n          pwVar16 = (word *)(int)**(char **)(pwVar18 + 2);\n          pwStack_14c = (word *)0x0;\n          unaff_s4 = pwVar16;\n          if (pwVar16 == (word *)0x0) goto LAB_000fac1c;\n          unaff_s6 = (word *)&uStack_11c;\n          pwStack_148 = (word *)&uStack_114;\n          unaff_s7 = (word *)&uStack_10c;\n          do {\n            pwVar16 = pwStack_14c;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\n              if ((word *)param_4 != unaff_s4) goto LAB_000fac1c;\n            }\n            else {\n              uStack_10c = uStack_11c;\n              uStack_108 = uStack_118;\n              pwStack_15c = pwStack_148;\n              pwVar15 = unaff_s6;\n              pwStack_160 = pwVar16;\n              iVar5 = (**(code **)(puStack_158 + -0x65b8))\n                                (*(undefined4 *)pwVar18,pwVar16,unaff_s6,\n                                 *(undefined4 *)(pwVar18 + 2));\n              pwVar14 = unaff_s7;\n              if (iVar5 == 0) goto LAB_000fac1c;\n              iVar5 = (**(code **)(puStack_158 + -0x65b4))\n                                ((byte *)((int)pwStack_14c + *(int *)pwVar18));\n              if (1 < iVar5) {\n                pwVar16 = (word *)((int)pwVar16 + iVar5 + -1);\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_14c = pwVar16;\n            if (param_4 == (byte *)0x0) goto LAB_000fac1c;\n            unaff_s4 = (word *)(int)(char)*(byte *)((int)pwVar16 + *(int *)(pwVar18 + 2));\n            bVar3 = (int)pwVar16 < (int)pwStack_140;\n          } while (unaff_s4 != (word *)0x0);\n        }\n        else {\n          pwVar16 = (word *)0x0;\n          unaff_s7 = (word *)&uStack_11c;\n          unaff_s6 = (word *)&uStack_114;\n          while( true ) {\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_148 = pwVar16;\n            pwStack_144 = pwVar18;\n            if (unaff_s4 == (word *)param_4) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))();\n              if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n                param_4 = *(byte **)unaff_s4;\n              }\n            }\n            unaff_s5 = (word *)&pbStack_120;\n            if (param_4 == (byte *)0x0) break;\n            pwStack_14c = (word *)(int)(char)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))\n            ;\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n            if ((unaff_s4 == pwStack_14c) &&\n               (piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0)) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n              unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n              pwStack_14c = *(word **)unaff_s4;\n            }\n            if (pwStack_14c == (word *)0x0) break;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\njoined_r0x000facac:\n              if ((word *)param_4 != pwStack_14c) break;\n            }\n            else {\n              pbVar24 = (byte *)((int)pwStack_148 + *(int *)pwStack_144);\n              uVar7 = (**(code **)(puStack_158 + -0x60fc))(pbVar24);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,pbVar24,uVar7,unaff_s7);\n              unaff_s4 = (word *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n              pwVar15 = (word *)(**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              pwVar14 = unaff_s4;\n              iVar5 = (**(code **)(puStack_158 + -0x6084))(&pbStack_120,unaff_s4,pwVar15,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar5 + 2U < 2)) goto joined_r0x000facac;\n              param_4 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_124);\n              pbStack_124 = param_4;\n              pbStack_120 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_120);\n              if (param_4 != pbStack_120) break;\n              if (1 < uStack_138) {\n                pwVar16 = (word *)((int)pwStack_148 + (uStack_138 - 1));\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\nLAB_000fac1c:\n          bVar3 = (int)pwVar16 < (int)pwStack_140;\n        }\n        pwVar6 = pwStack_130;\n        if (bVar3) {\n          pwStack_140 = pwVar16;\n        }\n        pwStack_13c = (word *)((int)pwStack_13c + 1);\n        pwVar18 = pwVar18 + 2;\n      } while (param_2 != pwStack_13c);\n      unaff_s2 = pwVar18;\n      if (((pwStack_140 == (word *)0x0) && (pwStack_130 != (word *)0x0)) &&\n         (pwVar16 = pwStack_130, *(byte *)pwStack_130 != 0)) {\n        iVar5 = (**(code **)(puStack_158 + -0x60fc))(pwStack_130);\n        iVar5 = (**(code **)(puStack_158 + -0x7f88))(iVar5 + 1);\n        *piStack_12c = iVar5;\n        pwVar14 = pwVar6;\n        (**(code **)(puStack_158 + -0x6074))(iVar5);\n        pwVar16 = pwVar6;\n        goto LAB_000fb1f0;\n      }\n    }\n    iVar5 = (**(code **)(puStack_158 + -0x7f88))((byte *)((int)pwStack_140 + 1));\n    *piStack_12c = iVar5;\n    if (**(int **)(puStack_158 + -0x65bc) == 0) {\n      pwVar14 = (word *)piStack_12c[1];\n      pwVar15 = pwStack_140;\n      (**(code **)(puStack_158 + -0x615c))(iVar5);\n    }\n    else {\n      unaff_s3 = (word *)0x0;\n      if (**(int **)(puStack_158 + -0x6f0c) != 0) {\n        if ((code *)**(undefined4 **)(puStack_158 + -0x6de4) == (code *)0x0) {\n          unaff_s3 = (word *)0x0;\n        }\n        else if ((**(int **)(puStack_158 + -0x6f38) != 0) &&\n                (**(int **)(puStack_158 + -0x702c) != 0)) {\n          pwVar14 = (word *)**(undefined4 **)(puStack_158 + -0x6f34);\n          unaff_s3 = (word *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(pwStack_130);\n          pwStack_130 = unaff_s3;\n        }\n      }\n      if (**(int **)(puStack_158 + -0x6f10) != 0) {\n        pwVar14 = param_2;\n        (**(code **)(puStack_158 + -0x6218))\n                  (piStack_12c + 1,param_2,4,*(undefined4 *)(puStack_158 + -0x6660));\n      }\n      pwVar16 = (word *)(**(code **)(puStack_158 + -0x60fc))(pwStack_130);\n      unaff_s4 = pwStack_140;\n      if ((int)pwVar16 <= (int)pwStack_140) {\n        unaff_s4 = pwVar16;\n      }\n      if ((int)param_2 < 1) {\n        pwVar16 = (word *)0x1;\nLAB_000fb1a8:\n        pwVar16 = (word *)(uint)((int)param_2 < (int)pwVar16);\n        pwVar15 = pwStack_140;\n        if (pwVar16 != (word *)0x0) goto LAB_000fb12c;\n      }\n      else {\n        param_4 = (byte *)(piStack_12c + 1);\n        pwVar16 = (word *)0x1;\n        do {\n          unaff_s2 = *(word **)param_4;\n          iVar5 = (**(code **)(puStack_158 + -0x6238))(unaff_s2,pwStack_130,unaff_s4);\n          if (iVar5 == 0) {\n            pwVar14 = unaff_s2;\n            (**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,pwStack_140);\n            goto LAB_000fb1a8;\n          }\n          pwVar16 = (word *)((int)pwVar16 + 1);\n          param_4 = param_4 + 4;\n        } while ((int)pwVar16 <= (int)param_2);\nLAB_000fb12c:\n        pwVar14 = (word *)piStack_12c[1];\n        pwVar15 = pwStack_140;\n        (**(code **)(puStack_158 + -0x615c))(*piStack_12c);\n      }\n      if (unaff_s3 != (word *)0x0) {\n        (**(code **)(puStack_158 + -0x5f94))(unaff_s3);\n      }\n    }\n    *(byte *)((int)pwStack_140 + *piStack_12c) = 0;\n    pwStack_13c = param_2;\n  }" { (if_statement "if ((int)param_2 < 2) {\n      pwStack_140 = (word *)&__DT_SYMTAB[0x3d1].st_info;\n    }\n    else {\n      pwVar18 = (word *)(piVar9 + 1);\n      pwStack_140 = (word *)&__DT_SYMTAB[0x3d1].st_info;\n      pwStack_13c = (word *)0x1;\n      unaff_s3 = *(word **)(puVar22 + 0x5d2e8);\n      piStack_134 = *(int **)(puVar22 + 0x5d454);\n      unaff_s8 = &pbStack_124;\n      do {\n        uVar4 = (**(code **)(puStack_158 + -0x6060))();\n        if ((1 < uVar4) && (*(int *)unaff_s3 == 0)) {\n          uStack_11c = 0;\n          uStack_118 = 0;\n          uStack_114 = 0;\n          uStack_110 = 0;\n        }\n        if (*piStack_134 == 0) {\n          param_4 = (byte *)(int)**(char **)pwVar18;\n          unaff_s5 = pwVar18;\n          if (param_4 == (byte *)0x0) {\n            pwVar16 = (word *)0x0;\n            goto LAB_000fac1c;\n          }\n          pwVar16 = (word *)(int)**(char **)(pwVar18 + 2);\n          pwStack_14c = (word *)0x0;\n          unaff_s4 = pwVar16;\n          if (pwVar16 == (word *)0x0) goto LAB_000fac1c;\n          unaff_s6 = (word *)&uStack_11c;\n          pwStack_148 = (word *)&uStack_114;\n          unaff_s7 = (word *)&uStack_10c;\n          do {\n            pwVar16 = pwStack_14c;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\n              if ((word *)param_4 != unaff_s4) goto LAB_000fac1c;\n            }\n            else {\n              uStack_10c = uStack_11c;\n              uStack_108 = uStack_118;\n              pwStack_15c = pwStack_148;\n              pwVar15 = unaff_s6;\n              pwStack_160 = pwVar16;\n              iVar5 = (**(code **)(puStack_158 + -0x65b8))\n                                (*(undefined4 *)pwVar18,pwVar16,unaff_s6,\n                                 *(undefined4 *)(pwVar18 + 2));\n              pwVar14 = unaff_s7;\n              if (iVar5 == 0) goto LAB_000fac1c;\n              iVar5 = (**(code **)(puStack_158 + -0x65b4))\n                                ((byte *)((int)pwStack_14c + *(int *)pwVar18));\n              if (1 < iVar5) {\n                pwVar16 = (word *)((int)pwVar16 + iVar5 + -1);\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_14c = pwVar16;\n            if (param_4 == (byte *)0x0) goto LAB_000fac1c;\n            unaff_s4 = (word *)(int)(char)*(byte *)((int)pwVar16 + *(int *)(pwVar18 + 2));\n            bVar3 = (int)pwVar16 < (int)pwStack_140;\n          } while (unaff_s4 != (word *)0x0);\n        }\n        else {\n          pwVar16 = (word *)0x0;\n          unaff_s7 = (word *)&uStack_11c;\n          unaff_s6 = (word *)&uStack_114;\n          while( true ) {\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_148 = pwVar16;\n            pwStack_144 = pwVar18;\n            if (unaff_s4 == (word *)param_4) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))();\n              if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n                param_4 = *(byte **)unaff_s4;\n              }\n            }\n            unaff_s5 = (word *)&pbStack_120;\n            if (param_4 == (byte *)0x0) break;\n            pwStack_14c = (word *)(int)(char)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))\n            ;\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n            if ((unaff_s4 == pwStack_14c) &&\n               (piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0)) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n              unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n              pwStack_14c = *(word **)unaff_s4;\n            }\n            if (pwStack_14c == (word *)0x0) break;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\njoined_r0x000facac:\n              if ((word *)param_4 != pwStack_14c) break;\n            }\n            else {\n              pbVar24 = (byte *)((int)pwStack_148 + *(int *)pwStack_144);\n              uVar7 = (**(code **)(puStack_158 + -0x60fc))(pbVar24);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,pbVar24,uVar7,unaff_s7);\n              unaff_s4 = (word *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n              pwVar15 = (word *)(**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              pwVar14 = unaff_s4;\n              iVar5 = (**(code **)(puStack_158 + -0x6084))(&pbStack_120,unaff_s4,pwVar15,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar5 + 2U < 2)) goto joined_r0x000facac;\n              param_4 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_124);\n              pbStack_124 = param_4;\n              pbStack_120 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_120);\n              if (param_4 != pbStack_120) break;\n              if (1 < uStack_138) {\n                pwVar16 = (word *)((int)pwStack_148 + (uStack_138 - 1));\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\nLAB_000fac1c:\n          bVar3 = (int)pwVar16 < (int)pwStack_140;\n        }\n        pwVar6 = pwStack_130;\n        if (bVar3) {\n          pwStack_140 = pwVar16;\n        }\n        pwStack_13c = (word *)((int)pwStack_13c + 1);\n        pwVar18 = pwVar18 + 2;\n      } while (param_2 != pwStack_13c);\n      unaff_s2 = pwVar18;\n      if (((pwStack_140 == (word *)0x0) && (pwStack_130 != (word *)0x0)) &&\n         (pwVar16 = pwStack_130, *(byte *)pwStack_130 != 0)) {\n        iVar5 = (**(code **)(puStack_158 + -0x60fc))(pwStack_130);\n        iVar5 = (**(code **)(puStack_158 + -0x7f88))(iVar5 + 1);\n        *piStack_12c = iVar5;\n        pwVar14 = pwVar6;\n        (**(code **)(puStack_158 + -0x6074))(iVar5);\n        pwVar16 = pwVar6;\n        goto LAB_000fb1f0;\n      }\n    }" if (parenthesized_expression "((int)param_2 < 2)" ( (binary_expression "(int)param_2 < 2" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      pwStack_140 = (word *)&__DT_SYMTAB[0x3d1].st_info;\n    }" { (expression_statement "pwStack_140 = (word *)&__DT_SYMTAB[0x3d1].st_info;" (assignment_expression "pwStack_140 = (word *)&__DT_SYMTAB[0x3d1].st_info" identifier = (cast_expression "(word *)&__DT_SYMTAB[0x3d1].st_info" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&__DT_SYMTAB[0x3d1].st_info" & (field_expression "__DT_SYMTAB[0x3d1].st_info" (subscript_expression "__DT_SYMTAB[0x3d1]" identifier [ number_literal ]) . field_identifier)))) ;) }) (else_clause "else {\n      pwVar18 = (word *)(piVar9 + 1);\n      pwStack_140 = (word *)&__DT_SYMTAB[0x3d1].st_info;\n      pwStack_13c = (word *)0x1;\n      unaff_s3 = *(word **)(puVar22 + 0x5d2e8);\n      piStack_134 = *(int **)(puVar22 + 0x5d454);\n      unaff_s8 = &pbStack_124;\n      do {\n        uVar4 = (**(code **)(puStack_158 + -0x6060))();\n        if ((1 < uVar4) && (*(int *)unaff_s3 == 0)) {\n          uStack_11c = 0;\n          uStack_118 = 0;\n          uStack_114 = 0;\n          uStack_110 = 0;\n        }\n        if (*piStack_134 == 0) {\n          param_4 = (byte *)(int)**(char **)pwVar18;\n          unaff_s5 = pwVar18;\n          if (param_4 == (byte *)0x0) {\n            pwVar16 = (word *)0x0;\n            goto LAB_000fac1c;\n          }\n          pwVar16 = (word *)(int)**(char **)(pwVar18 + 2);\n          pwStack_14c = (word *)0x0;\n          unaff_s4 = pwVar16;\n          if (pwVar16 == (word *)0x0) goto LAB_000fac1c;\n          unaff_s6 = (word *)&uStack_11c;\n          pwStack_148 = (word *)&uStack_114;\n          unaff_s7 = (word *)&uStack_10c;\n          do {\n            pwVar16 = pwStack_14c;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\n              if ((word *)param_4 != unaff_s4) goto LAB_000fac1c;\n            }\n            else {\n              uStack_10c = uStack_11c;\n              uStack_108 = uStack_118;\n              pwStack_15c = pwStack_148;\n              pwVar15 = unaff_s6;\n              pwStack_160 = pwVar16;\n              iVar5 = (**(code **)(puStack_158 + -0x65b8))\n                                (*(undefined4 *)pwVar18,pwVar16,unaff_s6,\n                                 *(undefined4 *)(pwVar18 + 2));\n              pwVar14 = unaff_s7;\n              if (iVar5 == 0) goto LAB_000fac1c;\n              iVar5 = (**(code **)(puStack_158 + -0x65b4))\n                                ((byte *)((int)pwStack_14c + *(int *)pwVar18));\n              if (1 < iVar5) {\n                pwVar16 = (word *)((int)pwVar16 + iVar5 + -1);\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_14c = pwVar16;\n            if (param_4 == (byte *)0x0) goto LAB_000fac1c;\n            unaff_s4 = (word *)(int)(char)*(byte *)((int)pwVar16 + *(int *)(pwVar18 + 2));\n            bVar3 = (int)pwVar16 < (int)pwStack_140;\n          } while (unaff_s4 != (word *)0x0);\n        }\n        else {\n          pwVar16 = (word *)0x0;\n          unaff_s7 = (word *)&uStack_11c;\n          unaff_s6 = (word *)&uStack_114;\n          while( true ) {\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_148 = pwVar16;\n            pwStack_144 = pwVar18;\n            if (unaff_s4 == (word *)param_4) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))();\n              if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n                param_4 = *(byte **)unaff_s4;\n              }\n            }\n            unaff_s5 = (word *)&pbStack_120;\n            if (param_4 == (byte *)0x0) break;\n            pwStack_14c = (word *)(int)(char)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))\n            ;\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n            if ((unaff_s4 == pwStack_14c) &&\n               (piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0)) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n              unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n              pwStack_14c = *(word **)unaff_s4;\n            }\n            if (pwStack_14c == (word *)0x0) break;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\njoined_r0x000facac:\n              if ((word *)param_4 != pwStack_14c) break;\n            }\n            else {\n              pbVar24 = (byte *)((int)pwStack_148 + *(int *)pwStack_144);\n              uVar7 = (**(code **)(puStack_158 + -0x60fc))(pbVar24);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,pbVar24,uVar7,unaff_s7);\n              unaff_s4 = (word *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n              pwVar15 = (word *)(**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              pwVar14 = unaff_s4;\n              iVar5 = (**(code **)(puStack_158 + -0x6084))(&pbStack_120,unaff_s4,pwVar15,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar5 + 2U < 2)) goto joined_r0x000facac;\n              param_4 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_124);\n              pbStack_124 = param_4;\n              pbStack_120 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_120);\n              if (param_4 != pbStack_120) break;\n              if (1 < uStack_138) {\n                pwVar16 = (word *)((int)pwStack_148 + (uStack_138 - 1));\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\nLAB_000fac1c:\n          bVar3 = (int)pwVar16 < (int)pwStack_140;\n        }\n        pwVar6 = pwStack_130;\n        if (bVar3) {\n          pwStack_140 = pwVar16;\n        }\n        pwStack_13c = (word *)((int)pwStack_13c + 1);\n        pwVar18 = pwVar18 + 2;\n      } while (param_2 != pwStack_13c);\n      unaff_s2 = pwVar18;\n      if (((pwStack_140 == (word *)0x0) && (pwStack_130 != (word *)0x0)) &&\n         (pwVar16 = pwStack_130, *(byte *)pwStack_130 != 0)) {\n        iVar5 = (**(code **)(puStack_158 + -0x60fc))(pwStack_130);\n        iVar5 = (**(code **)(puStack_158 + -0x7f88))(iVar5 + 1);\n        *piStack_12c = iVar5;\n        pwVar14 = pwVar6;\n        (**(code **)(puStack_158 + -0x6074))(iVar5);\n        pwVar16 = pwVar6;\n        goto LAB_000fb1f0;\n      }\n    }" else (compound_statement "{\n      pwVar18 = (word *)(piVar9 + 1);\n      pwStack_140 = (word *)&__DT_SYMTAB[0x3d1].st_info;\n      pwStack_13c = (word *)0x1;\n      unaff_s3 = *(word **)(puVar22 + 0x5d2e8);\n      piStack_134 = *(int **)(puVar22 + 0x5d454);\n      unaff_s8 = &pbStack_124;\n      do {\n        uVar4 = (**(code **)(puStack_158 + -0x6060))();\n        if ((1 < uVar4) && (*(int *)unaff_s3 == 0)) {\n          uStack_11c = 0;\n          uStack_118 = 0;\n          uStack_114 = 0;\n          uStack_110 = 0;\n        }\n        if (*piStack_134 == 0) {\n          param_4 = (byte *)(int)**(char **)pwVar18;\n          unaff_s5 = pwVar18;\n          if (param_4 == (byte *)0x0) {\n            pwVar16 = (word *)0x0;\n            goto LAB_000fac1c;\n          }\n          pwVar16 = (word *)(int)**(char **)(pwVar18 + 2);\n          pwStack_14c = (word *)0x0;\n          unaff_s4 = pwVar16;\n          if (pwVar16 == (word *)0x0) goto LAB_000fac1c;\n          unaff_s6 = (word *)&uStack_11c;\n          pwStack_148 = (word *)&uStack_114;\n          unaff_s7 = (word *)&uStack_10c;\n          do {\n            pwVar16 = pwStack_14c;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\n              if ((word *)param_4 != unaff_s4) goto LAB_000fac1c;\n            }\n            else {\n              uStack_10c = uStack_11c;\n              uStack_108 = uStack_118;\n              pwStack_15c = pwStack_148;\n              pwVar15 = unaff_s6;\n              pwStack_160 = pwVar16;\n              iVar5 = (**(code **)(puStack_158 + -0x65b8))\n                                (*(undefined4 *)pwVar18,pwVar16,unaff_s6,\n                                 *(undefined4 *)(pwVar18 + 2));\n              pwVar14 = unaff_s7;\n              if (iVar5 == 0) goto LAB_000fac1c;\n              iVar5 = (**(code **)(puStack_158 + -0x65b4))\n                                ((byte *)((int)pwStack_14c + *(int *)pwVar18));\n              if (1 < iVar5) {\n                pwVar16 = (word *)((int)pwVar16 + iVar5 + -1);\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_14c = pwVar16;\n            if (param_4 == (byte *)0x0) goto LAB_000fac1c;\n            unaff_s4 = (word *)(int)(char)*(byte *)((int)pwVar16 + *(int *)(pwVar18 + 2));\n            bVar3 = (int)pwVar16 < (int)pwStack_140;\n          } while (unaff_s4 != (word *)0x0);\n        }\n        else {\n          pwVar16 = (word *)0x0;\n          unaff_s7 = (word *)&uStack_11c;\n          unaff_s6 = (word *)&uStack_114;\n          while( true ) {\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_148 = pwVar16;\n            pwStack_144 = pwVar18;\n            if (unaff_s4 == (word *)param_4) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))();\n              if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n                param_4 = *(byte **)unaff_s4;\n              }\n            }\n            unaff_s5 = (word *)&pbStack_120;\n            if (param_4 == (byte *)0x0) break;\n            pwStack_14c = (word *)(int)(char)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))\n            ;\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n            if ((unaff_s4 == pwStack_14c) &&\n               (piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0)) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n              unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n              pwStack_14c = *(word **)unaff_s4;\n            }\n            if (pwStack_14c == (word *)0x0) break;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\njoined_r0x000facac:\n              if ((word *)param_4 != pwStack_14c) break;\n            }\n            else {\n              pbVar24 = (byte *)((int)pwStack_148 + *(int *)pwStack_144);\n              uVar7 = (**(code **)(puStack_158 + -0x60fc))(pbVar24);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,pbVar24,uVar7,unaff_s7);\n              unaff_s4 = (word *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n              pwVar15 = (word *)(**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              pwVar14 = unaff_s4;\n              iVar5 = (**(code **)(puStack_158 + -0x6084))(&pbStack_120,unaff_s4,pwVar15,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar5 + 2U < 2)) goto joined_r0x000facac;\n              param_4 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_124);\n              pbStack_124 = param_4;\n              pbStack_120 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_120);\n              if (param_4 != pbStack_120) break;\n              if (1 < uStack_138) {\n                pwVar16 = (word *)((int)pwStack_148 + (uStack_138 - 1));\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\nLAB_000fac1c:\n          bVar3 = (int)pwVar16 < (int)pwStack_140;\n        }\n        pwVar6 = pwStack_130;\n        if (bVar3) {\n          pwStack_140 = pwVar16;\n        }\n        pwStack_13c = (word *)((int)pwStack_13c + 1);\n        pwVar18 = pwVar18 + 2;\n      } while (param_2 != pwStack_13c);\n      unaff_s2 = pwVar18;\n      if (((pwStack_140 == (word *)0x0) && (pwStack_130 != (word *)0x0)) &&\n         (pwVar16 = pwStack_130, *(byte *)pwStack_130 != 0)) {\n        iVar5 = (**(code **)(puStack_158 + -0x60fc))(pwStack_130);\n        iVar5 = (**(code **)(puStack_158 + -0x7f88))(iVar5 + 1);\n        *piStack_12c = iVar5;\n        pwVar14 = pwVar6;\n        (**(code **)(puStack_158 + -0x6074))(iVar5);\n        pwVar16 = pwVar6;\n        goto LAB_000fb1f0;\n      }\n    }" { (expression_statement "pwVar18 = (word *)(piVar9 + 1);" (assignment_expression "pwVar18 = (word *)(piVar9 + 1)" identifier = (cast_expression "(word *)(piVar9 + 1)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar9 + 1)" ( (binary_expression "piVar9 + 1" identifier + number_literal) )))) ;) (expression_statement "pwStack_140 = (word *)&__DT_SYMTAB[0x3d1].st_info;" (assignment_expression "pwStack_140 = (word *)&__DT_SYMTAB[0x3d1].st_info" identifier = (cast_expression "(word *)&__DT_SYMTAB[0x3d1].st_info" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&__DT_SYMTAB[0x3d1].st_info" & (field_expression "__DT_SYMTAB[0x3d1].st_info" (subscript_expression "__DT_SYMTAB[0x3d1]" identifier [ number_literal ]) . field_identifier)))) ;) (expression_statement "pwStack_13c = (word *)0x1;" (assignment_expression "pwStack_13c = (word *)0x1" identifier = (cast_expression "(word *)0x1" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "unaff_s3 = *(word **)(puVar22 + 0x5d2e8);" (assignment_expression "unaff_s3 = *(word **)(puVar22 + 0x5d2e8)" identifier = (pointer_expression "*(word **)(puVar22 + 0x5d2e8)" * (cast_expression "(word **)(puVar22 + 0x5d2e8)" ( (type_descriptor "word **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + 0x5d2e8)" ( (binary_expression "puVar22 + 0x5d2e8" identifier + number_literal) ))))) ;) (expression_statement "piStack_134 = *(int **)(puVar22 + 0x5d454);" (assignment_expression "piStack_134 = *(int **)(puVar22 + 0x5d454)" identifier = (pointer_expression "*(int **)(puVar22 + 0x5d454)" * (cast_expression "(int **)(puVar22 + 0x5d454)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + 0x5d454)" ( (binary_expression "puVar22 + 0x5d454" identifier + number_literal) ))))) ;) (expression_statement "unaff_s8 = &pbStack_124;" (assignment_expression "unaff_s8 = &pbStack_124" identifier = (pointer_expression "&pbStack_124" & identifier)) ;) (do_statement "do {\n        uVar4 = (**(code **)(puStack_158 + -0x6060))();\n        if ((1 < uVar4) && (*(int *)unaff_s3 == 0)) {\n          uStack_11c = 0;\n          uStack_118 = 0;\n          uStack_114 = 0;\n          uStack_110 = 0;\n        }\n        if (*piStack_134 == 0) {\n          param_4 = (byte *)(int)**(char **)pwVar18;\n          unaff_s5 = pwVar18;\n          if (param_4 == (byte *)0x0) {\n            pwVar16 = (word *)0x0;\n            goto LAB_000fac1c;\n          }\n          pwVar16 = (word *)(int)**(char **)(pwVar18 + 2);\n          pwStack_14c = (word *)0x0;\n          unaff_s4 = pwVar16;\n          if (pwVar16 == (word *)0x0) goto LAB_000fac1c;\n          unaff_s6 = (word *)&uStack_11c;\n          pwStack_148 = (word *)&uStack_114;\n          unaff_s7 = (word *)&uStack_10c;\n          do {\n            pwVar16 = pwStack_14c;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\n              if ((word *)param_4 != unaff_s4) goto LAB_000fac1c;\n            }\n            else {\n              uStack_10c = uStack_11c;\n              uStack_108 = uStack_118;\n              pwStack_15c = pwStack_148;\n              pwVar15 = unaff_s6;\n              pwStack_160 = pwVar16;\n              iVar5 = (**(code **)(puStack_158 + -0x65b8))\n                                (*(undefined4 *)pwVar18,pwVar16,unaff_s6,\n                                 *(undefined4 *)(pwVar18 + 2));\n              pwVar14 = unaff_s7;\n              if (iVar5 == 0) goto LAB_000fac1c;\n              iVar5 = (**(code **)(puStack_158 + -0x65b4))\n                                ((byte *)((int)pwStack_14c + *(int *)pwVar18));\n              if (1 < iVar5) {\n                pwVar16 = (word *)((int)pwVar16 + iVar5 + -1);\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_14c = pwVar16;\n            if (param_4 == (byte *)0x0) goto LAB_000fac1c;\n            unaff_s4 = (word *)(int)(char)*(byte *)((int)pwVar16 + *(int *)(pwVar18 + 2));\n            bVar3 = (int)pwVar16 < (int)pwStack_140;\n          } while (unaff_s4 != (word *)0x0);\n        }\n        else {\n          pwVar16 = (word *)0x0;\n          unaff_s7 = (word *)&uStack_11c;\n          unaff_s6 = (word *)&uStack_114;\n          while( true ) {\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_148 = pwVar16;\n            pwStack_144 = pwVar18;\n            if (unaff_s4 == (word *)param_4) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))();\n              if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n                param_4 = *(byte **)unaff_s4;\n              }\n            }\n            unaff_s5 = (word *)&pbStack_120;\n            if (param_4 == (byte *)0x0) break;\n            pwStack_14c = (word *)(int)(char)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))\n            ;\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n            if ((unaff_s4 == pwStack_14c) &&\n               (piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0)) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n              unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n              pwStack_14c = *(word **)unaff_s4;\n            }\n            if (pwStack_14c == (word *)0x0) break;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\njoined_r0x000facac:\n              if ((word *)param_4 != pwStack_14c) break;\n            }\n            else {\n              pbVar24 = (byte *)((int)pwStack_148 + *(int *)pwStack_144);\n              uVar7 = (**(code **)(puStack_158 + -0x60fc))(pbVar24);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,pbVar24,uVar7,unaff_s7);\n              unaff_s4 = (word *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n              pwVar15 = (word *)(**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              pwVar14 = unaff_s4;\n              iVar5 = (**(code **)(puStack_158 + -0x6084))(&pbStack_120,unaff_s4,pwVar15,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar5 + 2U < 2)) goto joined_r0x000facac;\n              param_4 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_124);\n              pbStack_124 = param_4;\n              pbStack_120 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_120);\n              if (param_4 != pbStack_120) break;\n              if (1 < uStack_138) {\n                pwVar16 = (word *)((int)pwStack_148 + (uStack_138 - 1));\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\nLAB_000fac1c:\n          bVar3 = (int)pwVar16 < (int)pwStack_140;\n        }\n        pwVar6 = pwStack_130;\n        if (bVar3) {\n          pwStack_140 = pwVar16;\n        }\n        pwStack_13c = (word *)((int)pwStack_13c + 1);\n        pwVar18 = pwVar18 + 2;\n      } while (param_2 != pwStack_13c);" do (compound_statement "{\n        uVar4 = (**(code **)(puStack_158 + -0x6060))();\n        if ((1 < uVar4) && (*(int *)unaff_s3 == 0)) {\n          uStack_11c = 0;\n          uStack_118 = 0;\n          uStack_114 = 0;\n          uStack_110 = 0;\n        }\n        if (*piStack_134 == 0) {\n          param_4 = (byte *)(int)**(char **)pwVar18;\n          unaff_s5 = pwVar18;\n          if (param_4 == (byte *)0x0) {\n            pwVar16 = (word *)0x0;\n            goto LAB_000fac1c;\n          }\n          pwVar16 = (word *)(int)**(char **)(pwVar18 + 2);\n          pwStack_14c = (word *)0x0;\n          unaff_s4 = pwVar16;\n          if (pwVar16 == (word *)0x0) goto LAB_000fac1c;\n          unaff_s6 = (word *)&uStack_11c;\n          pwStack_148 = (word *)&uStack_114;\n          unaff_s7 = (word *)&uStack_10c;\n          do {\n            pwVar16 = pwStack_14c;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\n              if ((word *)param_4 != unaff_s4) goto LAB_000fac1c;\n            }\n            else {\n              uStack_10c = uStack_11c;\n              uStack_108 = uStack_118;\n              pwStack_15c = pwStack_148;\n              pwVar15 = unaff_s6;\n              pwStack_160 = pwVar16;\n              iVar5 = (**(code **)(puStack_158 + -0x65b8))\n                                (*(undefined4 *)pwVar18,pwVar16,unaff_s6,\n                                 *(undefined4 *)(pwVar18 + 2));\n              pwVar14 = unaff_s7;\n              if (iVar5 == 0) goto LAB_000fac1c;\n              iVar5 = (**(code **)(puStack_158 + -0x65b4))\n                                ((byte *)((int)pwStack_14c + *(int *)pwVar18));\n              if (1 < iVar5) {\n                pwVar16 = (word *)((int)pwVar16 + iVar5 + -1);\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_14c = pwVar16;\n            if (param_4 == (byte *)0x0) goto LAB_000fac1c;\n            unaff_s4 = (word *)(int)(char)*(byte *)((int)pwVar16 + *(int *)(pwVar18 + 2));\n            bVar3 = (int)pwVar16 < (int)pwStack_140;\n          } while (unaff_s4 != (word *)0x0);\n        }\n        else {\n          pwVar16 = (word *)0x0;\n          unaff_s7 = (word *)&uStack_11c;\n          unaff_s6 = (word *)&uStack_114;\n          while( true ) {\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_148 = pwVar16;\n            pwStack_144 = pwVar18;\n            if (unaff_s4 == (word *)param_4) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))();\n              if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n                param_4 = *(byte **)unaff_s4;\n              }\n            }\n            unaff_s5 = (word *)&pbStack_120;\n            if (param_4 == (byte *)0x0) break;\n            pwStack_14c = (word *)(int)(char)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))\n            ;\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n            if ((unaff_s4 == pwStack_14c) &&\n               (piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0)) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n              unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n              pwStack_14c = *(word **)unaff_s4;\n            }\n            if (pwStack_14c == (word *)0x0) break;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\njoined_r0x000facac:\n              if ((word *)param_4 != pwStack_14c) break;\n            }\n            else {\n              pbVar24 = (byte *)((int)pwStack_148 + *(int *)pwStack_144);\n              uVar7 = (**(code **)(puStack_158 + -0x60fc))(pbVar24);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,pbVar24,uVar7,unaff_s7);\n              unaff_s4 = (word *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n              pwVar15 = (word *)(**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              pwVar14 = unaff_s4;\n              iVar5 = (**(code **)(puStack_158 + -0x6084))(&pbStack_120,unaff_s4,pwVar15,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar5 + 2U < 2)) goto joined_r0x000facac;\n              param_4 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_124);\n              pbStack_124 = param_4;\n              pbStack_120 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_120);\n              if (param_4 != pbStack_120) break;\n              if (1 < uStack_138) {\n                pwVar16 = (word *)((int)pwStack_148 + (uStack_138 - 1));\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\nLAB_000fac1c:\n          bVar3 = (int)pwVar16 < (int)pwStack_140;\n        }\n        pwVar6 = pwStack_130;\n        if (bVar3) {\n          pwStack_140 = pwVar16;\n        }\n        pwStack_13c = (word *)((int)pwStack_13c + 1);\n        pwVar18 = pwVar18 + 2;\n      }" { (expression_statement "uVar4 = (**(code **)(puStack_158 + -0x6060))();" (assignment_expression "uVar4 = (**(code **)(puStack_158 + -0x6060))()" identifier = (call_expression "(**(code **)(puStack_158 + -0x6060))()" (parenthesized_expression "(**(code **)(puStack_158 + -0x6060))" ( (pointer_expression "**(code **)(puStack_158 + -0x6060)" * (pointer_expression "*(code **)(puStack_158 + -0x6060)" * (cast_expression "(code **)(puStack_158 + -0x6060)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x6060)" ( (binary_expression "puStack_158 + -0x6060" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if ((1 < uVar4) && (*(int *)unaff_s3 == 0)) {\n          uStack_11c = 0;\n          uStack_118 = 0;\n          uStack_114 = 0;\n          uStack_110 = 0;\n        }" if (parenthesized_expression "((1 < uVar4) && (*(int *)unaff_s3 == 0))" ( (binary_expression "(1 < uVar4) && (*(int *)unaff_s3 == 0)" (parenthesized_expression "(1 < uVar4)" ( (binary_expression "1 < uVar4" number_literal < identifier) )) && (parenthesized_expression "(*(int *)unaff_s3 == 0)" ( (binary_expression "*(int *)unaff_s3 == 0" (pointer_expression "*(int *)unaff_s3" * (cast_expression "(int *)unaff_s3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal) ))) )) (compound_statement "{\n          uStack_11c = 0;\n          uStack_118 = 0;\n          uStack_114 = 0;\n          uStack_110 = 0;\n        }" { (expression_statement "uStack_11c = 0;" (assignment_expression "uStack_11c = 0" identifier = number_literal) ;) (expression_statement "uStack_118 = 0;" (assignment_expression "uStack_118 = 0" identifier = number_literal) ;) (expression_statement "uStack_114 = 0;" (assignment_expression "uStack_114 = 0" identifier = number_literal) ;) (expression_statement "uStack_110 = 0;" (assignment_expression "uStack_110 = 0" identifier = number_literal) ;) })) (if_statement "if (*piStack_134 == 0) {\n          param_4 = (byte *)(int)**(char **)pwVar18;\n          unaff_s5 = pwVar18;\n          if (param_4 == (byte *)0x0) {\n            pwVar16 = (word *)0x0;\n            goto LAB_000fac1c;\n          }\n          pwVar16 = (word *)(int)**(char **)(pwVar18 + 2);\n          pwStack_14c = (word *)0x0;\n          unaff_s4 = pwVar16;\n          if (pwVar16 == (word *)0x0) goto LAB_000fac1c;\n          unaff_s6 = (word *)&uStack_11c;\n          pwStack_148 = (word *)&uStack_114;\n          unaff_s7 = (word *)&uStack_10c;\n          do {\n            pwVar16 = pwStack_14c;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\n              if ((word *)param_4 != unaff_s4) goto LAB_000fac1c;\n            }\n            else {\n              uStack_10c = uStack_11c;\n              uStack_108 = uStack_118;\n              pwStack_15c = pwStack_148;\n              pwVar15 = unaff_s6;\n              pwStack_160 = pwVar16;\n              iVar5 = (**(code **)(puStack_158 + -0x65b8))\n                                (*(undefined4 *)pwVar18,pwVar16,unaff_s6,\n                                 *(undefined4 *)(pwVar18 + 2));\n              pwVar14 = unaff_s7;\n              if (iVar5 == 0) goto LAB_000fac1c;\n              iVar5 = (**(code **)(puStack_158 + -0x65b4))\n                                ((byte *)((int)pwStack_14c + *(int *)pwVar18));\n              if (1 < iVar5) {\n                pwVar16 = (word *)((int)pwVar16 + iVar5 + -1);\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_14c = pwVar16;\n            if (param_4 == (byte *)0x0) goto LAB_000fac1c;\n            unaff_s4 = (word *)(int)(char)*(byte *)((int)pwVar16 + *(int *)(pwVar18 + 2));\n            bVar3 = (int)pwVar16 < (int)pwStack_140;\n          } while (unaff_s4 != (word *)0x0);\n        }\n        else {\n          pwVar16 = (word *)0x0;\n          unaff_s7 = (word *)&uStack_11c;\n          unaff_s6 = (word *)&uStack_114;\n          while( true ) {\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_148 = pwVar16;\n            pwStack_144 = pwVar18;\n            if (unaff_s4 == (word *)param_4) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))();\n              if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n                param_4 = *(byte **)unaff_s4;\n              }\n            }\n            unaff_s5 = (word *)&pbStack_120;\n            if (param_4 == (byte *)0x0) break;\n            pwStack_14c = (word *)(int)(char)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))\n            ;\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n            if ((unaff_s4 == pwStack_14c) &&\n               (piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0)) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n              unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n              pwStack_14c = *(word **)unaff_s4;\n            }\n            if (pwStack_14c == (word *)0x0) break;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\njoined_r0x000facac:\n              if ((word *)param_4 != pwStack_14c) break;\n            }\n            else {\n              pbVar24 = (byte *)((int)pwStack_148 + *(int *)pwStack_144);\n              uVar7 = (**(code **)(puStack_158 + -0x60fc))(pbVar24);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,pbVar24,uVar7,unaff_s7);\n              unaff_s4 = (word *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n              pwVar15 = (word *)(**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              pwVar14 = unaff_s4;\n              iVar5 = (**(code **)(puStack_158 + -0x6084))(&pbStack_120,unaff_s4,pwVar15,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar5 + 2U < 2)) goto joined_r0x000facac;\n              param_4 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_124);\n              pbStack_124 = param_4;\n              pbStack_120 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_120);\n              if (param_4 != pbStack_120) break;\n              if (1 < uStack_138) {\n                pwVar16 = (word *)((int)pwStack_148 + (uStack_138 - 1));\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\nLAB_000fac1c:\n          bVar3 = (int)pwVar16 < (int)pwStack_140;\n        }" if (parenthesized_expression "(*piStack_134 == 0)" ( (binary_expression "*piStack_134 == 0" (pointer_expression "*piStack_134" * identifier) == number_literal) )) (compound_statement "{\n          param_4 = (byte *)(int)**(char **)pwVar18;\n          unaff_s5 = pwVar18;\n          if (param_4 == (byte *)0x0) {\n            pwVar16 = (word *)0x0;\n            goto LAB_000fac1c;\n          }\n          pwVar16 = (word *)(int)**(char **)(pwVar18 + 2);\n          pwStack_14c = (word *)0x0;\n          unaff_s4 = pwVar16;\n          if (pwVar16 == (word *)0x0) goto LAB_000fac1c;\n          unaff_s6 = (word *)&uStack_11c;\n          pwStack_148 = (word *)&uStack_114;\n          unaff_s7 = (word *)&uStack_10c;\n          do {\n            pwVar16 = pwStack_14c;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\n              if ((word *)param_4 != unaff_s4) goto LAB_000fac1c;\n            }\n            else {\n              uStack_10c = uStack_11c;\n              uStack_108 = uStack_118;\n              pwStack_15c = pwStack_148;\n              pwVar15 = unaff_s6;\n              pwStack_160 = pwVar16;\n              iVar5 = (**(code **)(puStack_158 + -0x65b8))\n                                (*(undefined4 *)pwVar18,pwVar16,unaff_s6,\n                                 *(undefined4 *)(pwVar18 + 2));\n              pwVar14 = unaff_s7;\n              if (iVar5 == 0) goto LAB_000fac1c;\n              iVar5 = (**(code **)(puStack_158 + -0x65b4))\n                                ((byte *)((int)pwStack_14c + *(int *)pwVar18));\n              if (1 < iVar5) {\n                pwVar16 = (word *)((int)pwVar16 + iVar5 + -1);\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_14c = pwVar16;\n            if (param_4 == (byte *)0x0) goto LAB_000fac1c;\n            unaff_s4 = (word *)(int)(char)*(byte *)((int)pwVar16 + *(int *)(pwVar18 + 2));\n            bVar3 = (int)pwVar16 < (int)pwStack_140;\n          } while (unaff_s4 != (word *)0x0);\n        }" { (expression_statement "param_4 = (byte *)(int)**(char **)pwVar18;" (assignment_expression "param_4 = (byte *)(int)**(char **)pwVar18" identifier = (cast_expression "(byte *)(int)**(char **)pwVar18" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)**(char **)pwVar18" ( (type_descriptor "int" primitive_type) ) (pointer_expression "**(char **)pwVar18" * (pointer_expression "*(char **)pwVar18" * (cast_expression "(char **)pwVar18" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)))))) ;) (expression_statement "unaff_s5 = pwVar18;" (assignment_expression "unaff_s5 = pwVar18" identifier = identifier) ;) (if_statement "if (param_4 == (byte *)0x0) {\n            pwVar16 = (word *)0x0;\n            goto LAB_000fac1c;\n          }" if (parenthesized_expression "(param_4 == (byte *)0x0)" ( (binary_expression "param_4 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            pwVar16 = (word *)0x0;\n            goto LAB_000fac1c;\n          }" { (expression_statement "pwVar16 = (word *)0x0;" (assignment_expression "pwVar16 = (word *)0x0" identifier = (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000fac1c;" goto statement_identifier ;) })) (expression_statement "pwVar16 = (word *)(int)**(char **)(pwVar18 + 2);" (assignment_expression "pwVar16 = (word *)(int)**(char **)(pwVar18 + 2)" identifier = (cast_expression "(word *)(int)**(char **)(pwVar18 + 2)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)**(char **)(pwVar18 + 2)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "**(char **)(pwVar18 + 2)" * (pointer_expression "*(char **)(pwVar18 + 2)" * (cast_expression "(char **)(pwVar18 + 2)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pwVar18 + 2)" ( (binary_expression "pwVar18 + 2" identifier + number_literal) )))))))) ;) (expression_statement "pwStack_14c = (word *)0x0;" (assignment_expression "pwStack_14c = (word *)0x0" identifier = (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "unaff_s4 = pwVar16;" (assignment_expression "unaff_s4 = pwVar16" identifier = identifier) ;) (if_statement "if (pwVar16 == (word *)0x0) goto LAB_000fac1c;" if (parenthesized_expression "(pwVar16 == (word *)0x0)" ( (binary_expression "pwVar16 == (word *)0x0" identifier == (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000fac1c;" goto statement_identifier ;)) (expression_statement "unaff_s6 = (word *)&uStack_11c;" (assignment_expression "unaff_s6 = (word *)&uStack_11c" identifier = (cast_expression "(word *)&uStack_11c" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&uStack_11c" & identifier))) ;) (expression_statement "pwStack_148 = (word *)&uStack_114;" (assignment_expression "pwStack_148 = (word *)&uStack_114" identifier = (cast_expression "(word *)&uStack_114" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&uStack_114" & identifier))) ;) (expression_statement "unaff_s7 = (word *)&uStack_10c;" (assignment_expression "unaff_s7 = (word *)&uStack_10c" identifier = (cast_expression "(word *)&uStack_10c" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&uStack_10c" & identifier))) ;) (do_statement "do {\n            pwVar16 = pwStack_14c;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\n              if ((word *)param_4 != unaff_s4) goto LAB_000fac1c;\n            }\n            else {\n              uStack_10c = uStack_11c;\n              uStack_108 = uStack_118;\n              pwStack_15c = pwStack_148;\n              pwVar15 = unaff_s6;\n              pwStack_160 = pwVar16;\n              iVar5 = (**(code **)(puStack_158 + -0x65b8))\n                                (*(undefined4 *)pwVar18,pwVar16,unaff_s6,\n                                 *(undefined4 *)(pwVar18 + 2));\n              pwVar14 = unaff_s7;\n              if (iVar5 == 0) goto LAB_000fac1c;\n              iVar5 = (**(code **)(puStack_158 + -0x65b4))\n                                ((byte *)((int)pwStack_14c + *(int *)pwVar18));\n              if (1 < iVar5) {\n                pwVar16 = (word *)((int)pwVar16 + iVar5 + -1);\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_14c = pwVar16;\n            if (param_4 == (byte *)0x0) goto LAB_000fac1c;\n            unaff_s4 = (word *)(int)(char)*(byte *)((int)pwVar16 + *(int *)(pwVar18 + 2));\n            bVar3 = (int)pwVar16 < (int)pwStack_140;\n          } while (unaff_s4 != (word *)0x0);" do (compound_statement "{\n            pwVar16 = pwStack_14c;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\n              if ((word *)param_4 != unaff_s4) goto LAB_000fac1c;\n            }\n            else {\n              uStack_10c = uStack_11c;\n              uStack_108 = uStack_118;\n              pwStack_15c = pwStack_148;\n              pwVar15 = unaff_s6;\n              pwStack_160 = pwVar16;\n              iVar5 = (**(code **)(puStack_158 + -0x65b8))\n                                (*(undefined4 *)pwVar18,pwVar16,unaff_s6,\n                                 *(undefined4 *)(pwVar18 + 2));\n              pwVar14 = unaff_s7;\n              if (iVar5 == 0) goto LAB_000fac1c;\n              iVar5 = (**(code **)(puStack_158 + -0x65b4))\n                                ((byte *)((int)pwStack_14c + *(int *)pwVar18));\n              if (1 < iVar5) {\n                pwVar16 = (word *)((int)pwVar16 + iVar5 + -1);\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_14c = pwVar16;\n            if (param_4 == (byte *)0x0) goto LAB_000fac1c;\n            unaff_s4 = (word *)(int)(char)*(byte *)((int)pwVar16 + *(int *)(pwVar18 + 2));\n            bVar3 = (int)pwVar16 < (int)pwStack_140;\n          }" { (expression_statement "pwVar16 = pwStack_14c;" (assignment_expression "pwVar16 = pwStack_14c" identifier = identifier) ;) (expression_statement "uVar4 = (**(code **)(puStack_158 + -0x6060))();" (assignment_expression "uVar4 = (**(code **)(puStack_158 + -0x6060))()" identifier = (call_expression "(**(code **)(puStack_158 + -0x6060))()" (parenthesized_expression "(**(code **)(puStack_158 + -0x6060))" ( (pointer_expression "**(code **)(puStack_158 + -0x6060)" * (pointer_expression "*(code **)(puStack_158 + -0x6060)" * (cast_expression "(code **)(puStack_158 + -0x6060)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x6060)" ( (binary_expression "puStack_158 + -0x6060" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\n              if ((word *)param_4 != unaff_s4) goto LAB_000fac1c;\n            }\n            else {\n              uStack_10c = uStack_11c;\n              uStack_108 = uStack_118;\n              pwStack_15c = pwStack_148;\n              pwVar15 = unaff_s6;\n              pwStack_160 = pwVar16;\n              iVar5 = (**(code **)(puStack_158 + -0x65b8))\n                                (*(undefined4 *)pwVar18,pwVar16,unaff_s6,\n                                 *(undefined4 *)(pwVar18 + 2));\n              pwVar14 = unaff_s7;\n              if (iVar5 == 0) goto LAB_000fac1c;\n              iVar5 = (**(code **)(puStack_158 + -0x65b4))\n                                ((byte *)((int)pwStack_14c + *(int *)pwVar18));\n              if (1 < iVar5) {\n                pwVar16 = (word *)((int)pwVar16 + iVar5 + -1);\n              }\n            }" if (parenthesized_expression "((uVar4 < 2) || (*(int *)unaff_s3 != 0))" ( (binary_expression "(uVar4 < 2) || (*(int *)unaff_s3 != 0)" (parenthesized_expression "(uVar4 < 2)" ( (binary_expression "uVar4 < 2" identifier < number_literal) )) || (parenthesized_expression "(*(int *)unaff_s3 != 0)" ( (binary_expression "*(int *)unaff_s3 != 0" (pointer_expression "*(int *)unaff_s3" * (cast_expression "(int *)unaff_s3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) ))) )) (compound_statement "{\n              if ((word *)param_4 != unaff_s4) goto LAB_000fac1c;\n            }" { (if_statement "if ((word *)param_4 != unaff_s4) goto LAB_000fac1c;" if (parenthesized_expression "((word *)param_4 != unaff_s4)" ( (binary_expression "(word *)param_4 != unaff_s4" (cast_expression "(word *)param_4" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) != identifier) )) (goto_statement "goto LAB_000fac1c;" goto statement_identifier ;)) }) (else_clause "else {\n              uStack_10c = uStack_11c;\n              uStack_108 = uStack_118;\n              pwStack_15c = pwStack_148;\n              pwVar15 = unaff_s6;\n              pwStack_160 = pwVar16;\n              iVar5 = (**(code **)(puStack_158 + -0x65b8))\n                                (*(undefined4 *)pwVar18,pwVar16,unaff_s6,\n                                 *(undefined4 *)(pwVar18 + 2));\n              pwVar14 = unaff_s7;\n              if (iVar5 == 0) goto LAB_000fac1c;\n              iVar5 = (**(code **)(puStack_158 + -0x65b4))\n                                ((byte *)((int)pwStack_14c + *(int *)pwVar18));\n              if (1 < iVar5) {\n                pwVar16 = (word *)((int)pwVar16 + iVar5 + -1);\n              }\n            }" else (compound_statement "{\n              uStack_10c = uStack_11c;\n              uStack_108 = uStack_118;\n              pwStack_15c = pwStack_148;\n              pwVar15 = unaff_s6;\n              pwStack_160 = pwVar16;\n              iVar5 = (**(code **)(puStack_158 + -0x65b8))\n                                (*(undefined4 *)pwVar18,pwVar16,unaff_s6,\n                                 *(undefined4 *)(pwVar18 + 2));\n              pwVar14 = unaff_s7;\n              if (iVar5 == 0) goto LAB_000fac1c;\n              iVar5 = (**(code **)(puStack_158 + -0x65b4))\n                                ((byte *)((int)pwStack_14c + *(int *)pwVar18));\n              if (1 < iVar5) {\n                pwVar16 = (word *)((int)pwVar16 + iVar5 + -1);\n              }\n            }" { (expression_statement "uStack_10c = uStack_11c;" (assignment_expression "uStack_10c = uStack_11c" identifier = identifier) ;) (expression_statement "uStack_108 = uStack_118;" (assignment_expression "uStack_108 = uStack_118" identifier = identifier) ;) (expression_statement "pwStack_15c = pwStack_148;" (assignment_expression "pwStack_15c = pwStack_148" identifier = identifier) ;) (expression_statement "pwVar15 = unaff_s6;" (assignment_expression "pwVar15 = unaff_s6" identifier = identifier) ;) (expression_statement "pwStack_160 = pwVar16;" (assignment_expression "pwStack_160 = pwVar16" identifier = identifier) ;) (expression_statement "iVar5 = (**(code **)(puStack_158 + -0x65b8))\n                                (*(undefined4 *)pwVar18,pwVar16,unaff_s6,\n                                 *(undefined4 *)(pwVar18 + 2));" (assignment_expression "iVar5 = (**(code **)(puStack_158 + -0x65b8))\n                                (*(undefined4 *)pwVar18,pwVar16,unaff_s6,\n                                 *(undefined4 *)(pwVar18 + 2))" identifier = (call_expression "(**(code **)(puStack_158 + -0x65b8))\n                                (*(undefined4 *)pwVar18,pwVar16,unaff_s6,\n                                 *(undefined4 *)(pwVar18 + 2))" (parenthesized_expression "(**(code **)(puStack_158 + -0x65b8))" ( (pointer_expression "**(code **)(puStack_158 + -0x65b8)" * (pointer_expression "*(code **)(puStack_158 + -0x65b8)" * (cast_expression "(code **)(puStack_158 + -0x65b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x65b8)" ( (binary_expression "puStack_158 + -0x65b8" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)pwVar18,pwVar16,unaff_s6,\n                                 *(undefined4 *)(pwVar18 + 2))" ( (pointer_expression "*(undefined4 *)pwVar18" * (cast_expression "(undefined4 *)pwVar18" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , identifier , identifier , (pointer_expression "*(undefined4 *)(pwVar18 + 2)" * (cast_expression "(undefined4 *)(pwVar18 + 2)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pwVar18 + 2)" ( (binary_expression "pwVar18 + 2" identifier + number_literal) )))) )))) ;) (expression_statement "pwVar14 = unaff_s7;" (assignment_expression "pwVar14 = unaff_s7" identifier = identifier) ;) (if_statement "if (iVar5 == 0) goto LAB_000fac1c;" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000fac1c;" goto statement_identifier ;)) (expression_statement "iVar5 = (**(code **)(puStack_158 + -0x65b4))\n                                ((byte *)((int)pwStack_14c + *(int *)pwVar18));" (assignment_expression "iVar5 = (**(code **)(puStack_158 + -0x65b4))\n                                ((byte *)((int)pwStack_14c + *(int *)pwVar18))" identifier = (call_expression "(**(code **)(puStack_158 + -0x65b4))\n                                ((byte *)((int)pwStack_14c + *(int *)pwVar18))" (parenthesized_expression "(**(code **)(puStack_158 + -0x65b4))" ( (pointer_expression "**(code **)(puStack_158 + -0x65b4)" * (pointer_expression "*(code **)(puStack_158 + -0x65b4)" * (cast_expression "(code **)(puStack_158 + -0x65b4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x65b4)" ( (binary_expression "puStack_158 + -0x65b4" identifier + number_literal) ))))) )) (argument_list "((byte *)((int)pwStack_14c + *(int *)pwVar18))" ( (cast_expression "(byte *)((int)pwStack_14c + *(int *)pwVar18)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwStack_14c + *(int *)pwVar18)" ( (binary_expression "(int)pwStack_14c + *(int *)pwVar18" (cast_expression "(int)pwStack_14c" ( (type_descriptor "int" primitive_type) ) identifier) + (pointer_expression "*(int *)pwVar18" * (cast_expression "(int *)pwVar18" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ))) )))) ;) (if_statement "if (1 < iVar5) {\n                pwVar16 = (word *)((int)pwVar16 + iVar5 + -1);\n              }" if (parenthesized_expression "(1 < iVar5)" ( (binary_expression "1 < iVar5" number_literal < identifier) )) (compound_statement "{\n                pwVar16 = (word *)((int)pwVar16 + iVar5 + -1);\n              }" { (expression_statement "pwVar16 = (word *)((int)pwVar16 + iVar5 + -1);" (assignment_expression "pwVar16 = (word *)((int)pwVar16 + iVar5 + -1)" identifier = (cast_expression "(word *)((int)pwVar16 + iVar5 + -1)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwVar16 + iVar5 + -1)" ( (binary_expression "(int)pwVar16 + iVar5 + -1" (binary_expression "(int)pwVar16 + iVar5" (cast_expression "(int)pwVar16" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) ;) })) }))) (expression_statement "pwVar16 = (word *)((int)pwVar16 + 1);" (assignment_expression "pwVar16 = (word *)((int)pwVar16 + 1)" identifier = (cast_expression "(word *)((int)pwVar16 + 1)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwVar16 + 1)" ( (binary_expression "(int)pwVar16 + 1" (cast_expression "(int)pwVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);" (assignment_expression "param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18)" identifier = (cast_expression "(byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18)" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)*(byte *)((int)pwVar16 + *(int *)pwVar18)" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(byte *)((int)pwVar16 + *(int *)pwVar18)" * (cast_expression "(byte *)((int)pwVar16 + *(int *)pwVar18)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwVar16 + *(int *)pwVar18)" ( (binary_expression "(int)pwVar16 + *(int *)pwVar18" (cast_expression "(int)pwVar16" ( (type_descriptor "int" primitive_type) ) identifier) + (pointer_expression "*(int *)pwVar18" * (cast_expression "(int *)pwVar18" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )))))))) ;) (expression_statement "pwStack_14c = pwVar16;" (assignment_expression "pwStack_14c = pwVar16" identifier = identifier) ;) (if_statement "if (param_4 == (byte *)0x0) goto LAB_000fac1c;" if (parenthesized_expression "(param_4 == (byte *)0x0)" ( (binary_expression "param_4 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000fac1c;" goto statement_identifier ;)) (expression_statement "unaff_s4 = (word *)(int)(char)*(byte *)((int)pwVar16 + *(int *)(pwVar18 + 2));" (assignment_expression "unaff_s4 = (word *)(int)(char)*(byte *)((int)pwVar16 + *(int *)(pwVar18 + 2))" identifier = (cast_expression "(word *)(int)(char)*(byte *)((int)pwVar16 + *(int *)(pwVar18 + 2))" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)(char)*(byte *)((int)pwVar16 + *(int *)(pwVar18 + 2))" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)*(byte *)((int)pwVar16 + *(int *)(pwVar18 + 2))" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(byte *)((int)pwVar16 + *(int *)(pwVar18 + 2))" * (cast_expression "(byte *)((int)pwVar16 + *(int *)(pwVar18 + 2))" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwVar16 + *(int *)(pwVar18 + 2))" ( (binary_expression "(int)pwVar16 + *(int *)(pwVar18 + 2)" (cast_expression "(int)pwVar16" ( (type_descriptor "int" primitive_type) ) identifier) + (pointer_expression "*(int *)(pwVar18 + 2)" * (cast_expression "(int *)(pwVar18 + 2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pwVar18 + 2)" ( (binary_expression "pwVar18 + 2" identifier + number_literal) ))))) )))))))) ;) (expression_statement "bVar3 = (int)pwVar16 < (int)pwStack_140;" (assignment_expression "bVar3 = (int)pwVar16 < (int)pwStack_140" identifier = (binary_expression "(int)pwVar16 < (int)pwStack_140" (cast_expression "(int)pwVar16" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pwStack_140" ( (type_descriptor "int" primitive_type) ) identifier))) ;) }) while (parenthesized_expression "(unaff_s4 != (word *)0x0)" ( (binary_expression "unaff_s4 != (word *)0x0" identifier != (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) }) (else_clause "else {\n          pwVar16 = (word *)0x0;\n          unaff_s7 = (word *)&uStack_11c;\n          unaff_s6 = (word *)&uStack_114;\n          while( true ) {\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_148 = pwVar16;\n            pwStack_144 = pwVar18;\n            if (unaff_s4 == (word *)param_4) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))();\n              if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n                param_4 = *(byte **)unaff_s4;\n              }\n            }\n            unaff_s5 = (word *)&pbStack_120;\n            if (param_4 == (byte *)0x0) break;\n            pwStack_14c = (word *)(int)(char)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))\n            ;\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n            if ((unaff_s4 == pwStack_14c) &&\n               (piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0)) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n              unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n              pwStack_14c = *(word **)unaff_s4;\n            }\n            if (pwStack_14c == (word *)0x0) break;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\njoined_r0x000facac:\n              if ((word *)param_4 != pwStack_14c) break;\n            }\n            else {\n              pbVar24 = (byte *)((int)pwStack_148 + *(int *)pwStack_144);\n              uVar7 = (**(code **)(puStack_158 + -0x60fc))(pbVar24);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,pbVar24,uVar7,unaff_s7);\n              unaff_s4 = (word *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n              pwVar15 = (word *)(**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              pwVar14 = unaff_s4;\n              iVar5 = (**(code **)(puStack_158 + -0x6084))(&pbStack_120,unaff_s4,pwVar15,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar5 + 2U < 2)) goto joined_r0x000facac;\n              param_4 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_124);\n              pbStack_124 = param_4;\n              pbStack_120 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_120);\n              if (param_4 != pbStack_120) break;\n              if (1 < uStack_138) {\n                pwVar16 = (word *)((int)pwStack_148 + (uStack_138 - 1));\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\nLAB_000fac1c:\n          bVar3 = (int)pwVar16 < (int)pwStack_140;\n        }" else (compound_statement "{\n          pwVar16 = (word *)0x0;\n          unaff_s7 = (word *)&uStack_11c;\n          unaff_s6 = (word *)&uStack_114;\n          while( true ) {\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_148 = pwVar16;\n            pwStack_144 = pwVar18;\n            if (unaff_s4 == (word *)param_4) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))();\n              if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n                param_4 = *(byte **)unaff_s4;\n              }\n            }\n            unaff_s5 = (word *)&pbStack_120;\n            if (param_4 == (byte *)0x0) break;\n            pwStack_14c = (word *)(int)(char)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))\n            ;\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n            if ((unaff_s4 == pwStack_14c) &&\n               (piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0)) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n              unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n              pwStack_14c = *(word **)unaff_s4;\n            }\n            if (pwStack_14c == (word *)0x0) break;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\njoined_r0x000facac:\n              if ((word *)param_4 != pwStack_14c) break;\n            }\n            else {\n              pbVar24 = (byte *)((int)pwStack_148 + *(int *)pwStack_144);\n              uVar7 = (**(code **)(puStack_158 + -0x60fc))(pbVar24);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,pbVar24,uVar7,unaff_s7);\n              unaff_s4 = (word *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n              pwVar15 = (word *)(**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              pwVar14 = unaff_s4;\n              iVar5 = (**(code **)(puStack_158 + -0x6084))(&pbStack_120,unaff_s4,pwVar15,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar5 + 2U < 2)) goto joined_r0x000facac;\n              param_4 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_124);\n              pbStack_124 = param_4;\n              pbStack_120 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_120);\n              if (param_4 != pbStack_120) break;\n              if (1 < uStack_138) {\n                pwVar16 = (word *)((int)pwStack_148 + (uStack_138 - 1));\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\nLAB_000fac1c:\n          bVar3 = (int)pwVar16 < (int)pwStack_140;\n        }" { (expression_statement "pwVar16 = (word *)0x0;" (assignment_expression "pwVar16 = (word *)0x0" identifier = (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "unaff_s7 = (word *)&uStack_11c;" (assignment_expression "unaff_s7 = (word *)&uStack_11c" identifier = (cast_expression "(word *)&uStack_11c" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&uStack_11c" & identifier))) ;) (expression_statement "unaff_s6 = (word *)&uStack_114;" (assignment_expression "unaff_s6 = (word *)&uStack_114" identifier = (cast_expression "(word *)&uStack_114" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&uStack_114" & identifier))) ;) (while_statement "while( true ) {\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_148 = pwVar16;\n            pwStack_144 = pwVar18;\n            if (unaff_s4 == (word *)param_4) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))();\n              if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n                param_4 = *(byte **)unaff_s4;\n              }\n            }\n            unaff_s5 = (word *)&pbStack_120;\n            if (param_4 == (byte *)0x0) break;\n            pwStack_14c = (word *)(int)(char)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))\n            ;\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n            if ((unaff_s4 == pwStack_14c) &&\n               (piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0)) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n              unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n              pwStack_14c = *(word **)unaff_s4;\n            }\n            if (pwStack_14c == (word *)0x0) break;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\njoined_r0x000facac:\n              if ((word *)param_4 != pwStack_14c) break;\n            }\n            else {\n              pbVar24 = (byte *)((int)pwStack_148 + *(int *)pwStack_144);\n              uVar7 = (**(code **)(puStack_158 + -0x60fc))(pbVar24);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,pbVar24,uVar7,unaff_s7);\n              unaff_s4 = (word *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n              pwVar15 = (word *)(**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              pwVar14 = unaff_s4;\n              iVar5 = (**(code **)(puStack_158 + -0x6084))(&pbStack_120,unaff_s4,pwVar15,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar5 + 2U < 2)) goto joined_r0x000facac;\n              param_4 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_124);\n              pbStack_124 = param_4;\n              pbStack_120 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_120);\n              if (param_4 != pbStack_120) break;\n              if (1 < uStack_138) {\n                pwVar16 = (word *)((int)pwStack_148 + (uStack_138 - 1));\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_148 = pwVar16;\n            pwStack_144 = pwVar18;\n            if (unaff_s4 == (word *)param_4) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))();\n              if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n                param_4 = *(byte **)unaff_s4;\n              }\n            }\n            unaff_s5 = (word *)&pbStack_120;\n            if (param_4 == (byte *)0x0) break;\n            pwStack_14c = (word *)(int)(char)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))\n            ;\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n            if ((unaff_s4 == pwStack_14c) &&\n               (piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0)) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n              unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n              pwStack_14c = *(word **)unaff_s4;\n            }\n            if (pwStack_14c == (word *)0x0) break;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\njoined_r0x000facac:\n              if ((word *)param_4 != pwStack_14c) break;\n            }\n            else {\n              pbVar24 = (byte *)((int)pwStack_148 + *(int *)pwStack_144);\n              uVar7 = (**(code **)(puStack_158 + -0x60fc))(pbVar24);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,pbVar24,uVar7,unaff_s7);\n              unaff_s4 = (word *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n              pwVar15 = (word *)(**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              pwVar14 = unaff_s4;\n              iVar5 = (**(code **)(puStack_158 + -0x6084))(&pbStack_120,unaff_s4,pwVar15,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar5 + 2U < 2)) goto joined_r0x000facac;\n              param_4 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_124);\n              pbStack_124 = param_4;\n              pbStack_120 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_120);\n              if (param_4 != pbStack_120) break;\n              if (1 < uStack_138) {\n                pwVar16 = (word *)((int)pwStack_148 + (uStack_138 - 1));\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }" { (expression_statement "param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);" (assignment_expression "param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18)" identifier = (cast_expression "(byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18)" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)*(byte *)((int)pwVar16 + *(int *)pwVar18)" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(byte *)((int)pwVar16 + *(int *)pwVar18)" * (cast_expression "(byte *)((int)pwVar16 + *(int *)pwVar18)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwVar16 + *(int *)pwVar18)" ( (binary_expression "(int)pwVar16 + *(int *)pwVar18" (cast_expression "(int)pwVar16" ( (type_descriptor "int" primitive_type) ) identifier) + (pointer_expression "*(int *)pwVar18" * (cast_expression "(int *)pwVar18" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )))))))) ;) (expression_statement "unaff_s4 = (word *)(uint)*(byte *)((int)pwVar16 + *(int *)pwVar18);" (assignment_expression "unaff_s4 = (word *)(uint)*(byte *)((int)pwVar16 + *(int *)pwVar18)" identifier = (binary_expression "(word *)(uint)*(byte *)((int)pwVar16 + *(int *)pwVar18)" (cast_expression "(word *)(uint)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(byte *)((int)pwVar16 + *(int *)pwVar18)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwVar16 + *(int *)pwVar18)" ( (binary_expression "(int)pwVar16 + *(int *)pwVar18" (cast_expression "(int)pwVar16" ( (type_descriptor "int" primitive_type) ) identifier) + (pointer_expression "*(int *)pwVar18" * (cast_expression "(int *)pwVar18" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ))))) ;) (expression_statement "pwStack_148 = pwVar16;" (assignment_expression "pwStack_148 = pwVar16" identifier = identifier) ;) (expression_statement "pwStack_144 = pwVar18;" (assignment_expression "pwStack_144 = pwVar18" identifier = identifier) ;) (if_statement "if (unaff_s4 == (word *)param_4) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))();\n              if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n                param_4 = *(byte **)unaff_s4;\n              }\n            }" if (parenthesized_expression "(unaff_s4 == (word *)param_4)" ( (binary_expression "unaff_s4 == (word *)param_4" identifier == (cast_expression "(word *)param_4" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (compound_statement "{\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))();\n              if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n                param_4 = *(byte **)unaff_s4;\n              }\n            }" { (expression_statement "piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))();" (assignment_expression "piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))()" identifier = (cast_expression "(int *)(**(code **)(puStack_158 + -0x6290))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puStack_158 + -0x6290))()" (parenthesized_expression "(**(code **)(puStack_158 + -0x6290))" ( (pointer_expression "**(code **)(puStack_158 + -0x6290)" * (pointer_expression "*(code **)(puStack_158 + -0x6290)" * (cast_expression "(code **)(puStack_158 + -0x6290)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x6290)" ( (binary_expression "puStack_158 + -0x6290" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (if_statement "if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n                param_4 = *(byte **)unaff_s4;\n              }" if (parenthesized_expression "((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0)" ( (binary_expression "(*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0" (parenthesized_expression "(*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1)" ( (binary_expression "*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1" (pointer_expression "*(ushort *)(*piVar9 + (int)unaff_s4 * 2)" * (cast_expression "(ushort *)(*piVar9 + (int)unaff_s4 * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar9 + (int)unaff_s4 * 2)" ( (binary_expression "*piVar9 + (int)unaff_s4 * 2" (pointer_expression "*piVar9" * identifier) + (binary_expression "(int)unaff_s4 * 2" (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n                piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n                param_4 = *(byte **)unaff_s4;\n              }" { (expression_statement "piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();" (assignment_expression "piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))()" identifier = (cast_expression "(int *)(**(code **)(puStack_158 + -0x628c))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puStack_158 + -0x628c))()" (parenthesized_expression "(**(code **)(puStack_158 + -0x628c))" ( (pointer_expression "**(code **)(puStack_158 + -0x628c)" * (pointer_expression "*(code **)(puStack_158 + -0x628c)" * (cast_expression "(code **)(puStack_158 + -0x628c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x628c)" ( (binary_expression "puStack_158 + -0x628c" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);" (assignment_expression "unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4)" identifier = (cast_expression "(word *)(*piVar9 + (int)unaff_s4 * 4)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar9 + (int)unaff_s4 * 4)" ( (binary_expression "*piVar9 + (int)unaff_s4 * 4" (pointer_expression "*piVar9" * identifier) + (binary_expression "(int)unaff_s4 * 4" (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) ;) (expression_statement "param_4 = *(byte **)unaff_s4;" (assignment_expression "param_4 = *(byte **)unaff_s4" identifier = (pointer_expression "*(byte **)unaff_s4" * (cast_expression "(byte **)unaff_s4" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) })) })) (expression_statement "unaff_s5 = (word *)&pbStack_120;" (assignment_expression "unaff_s5 = (word *)&pbStack_120" identifier = (cast_expression "(word *)&pbStack_120" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pbStack_120" & identifier))) ;) (if_statement "if (param_4 == (byte *)0x0) break;" if (parenthesized_expression "(param_4 == (byte *)0x0)" ( (binary_expression "param_4 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "pwStack_14c = (word *)(int)(char)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))\n            ;" (assignment_expression "pwStack_14c = (word *)(int)(char)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))" identifier = (cast_expression "(word *)(int)(char)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)(char)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))" * (cast_expression "(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwStack_148 + *(int *)(pwStack_144 + 2))" ( (binary_expression "(int)pwStack_148 + *(int *)(pwStack_144 + 2)" (cast_expression "(int)pwStack_148" ( (type_descriptor "int" primitive_type) ) identifier) + (pointer_expression "*(int *)(pwStack_144 + 2)" * (cast_expression "(int *)(pwStack_144 + 2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pwStack_144 + 2)" ( (binary_expression "pwStack_144 + 2" identifier + number_literal) ))))) )))))))) ;) (expression_statement "unaff_s4 = (word *)(uint)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));" (assignment_expression "unaff_s4 = (word *)(uint)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))" identifier = (binary_expression "(word *)(uint)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))" (cast_expression "(word *)(uint)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwStack_148 + *(int *)(pwStack_144 + 2))" ( (binary_expression "(int)pwStack_148 + *(int *)(pwStack_144 + 2)" (cast_expression "(int)pwStack_148" ( (type_descriptor "int" primitive_type) ) identifier) + (pointer_expression "*(int *)(pwStack_144 + 2)" * (cast_expression "(int *)(pwStack_144 + 2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pwStack_144 + 2)" ( (binary_expression "pwStack_144 + 2" identifier + number_literal) ))))) ))))) ;) (if_statement "if ((unaff_s4 == pwStack_14c) &&\n               (piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0)) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n              unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n              pwStack_14c = *(word **)unaff_s4;\n            }" if (parenthesized_expression "((unaff_s4 == pwStack_14c) &&\n               (piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0))" ( (binary_expression "(unaff_s4 == pwStack_14c) &&\n               (piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0)" (parenthesized_expression "(unaff_s4 == pwStack_14c)" ( (binary_expression "unaff_s4 == pwStack_14c" identifier == identifier) )) && (parenthesized_expression "(piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0)" ( (comma_expression "piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0" (assignment_expression "piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))()" identifier = (cast_expression "(int *)(**(code **)(puStack_158 + -0x6290))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puStack_158 + -0x6290))()" (parenthesized_expression "(**(code **)(puStack_158 + -0x6290))" ( (pointer_expression "**(code **)(puStack_158 + -0x6290)" * (pointer_expression "*(code **)(puStack_158 + -0x6290)" * (cast_expression "(code **)(puStack_158 + -0x6290)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x6290)" ( (binary_expression "puStack_158 + -0x6290" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) , (binary_expression "(*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0" (parenthesized_expression "(*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1)" ( (binary_expression "*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1" (pointer_expression "*(ushort *)(*piVar9 + (int)unaff_s4 * 2)" * (cast_expression "(ushort *)(*piVar9 + (int)unaff_s4 * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar9 + (int)unaff_s4 * 2)" ( (binary_expression "*piVar9 + (int)unaff_s4 * 2" (pointer_expression "*piVar9" * identifier) + (binary_expression "(int)unaff_s4 * 2" (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) & number_literal) )) != number_literal)) ))) )) (compound_statement "{\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n              unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n              pwStack_14c = *(word **)unaff_s4;\n            }" { (expression_statement "piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();" (assignment_expression "piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))()" identifier = (cast_expression "(int *)(**(code **)(puStack_158 + -0x628c))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puStack_158 + -0x628c))()" (parenthesized_expression "(**(code **)(puStack_158 + -0x628c))" ( (pointer_expression "**(code **)(puStack_158 + -0x628c)" * (pointer_expression "*(code **)(puStack_158 + -0x628c)" * (cast_expression "(code **)(puStack_158 + -0x628c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x628c)" ( (binary_expression "puStack_158 + -0x628c" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);" (assignment_expression "unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4)" identifier = (cast_expression "(word *)(*piVar9 + (int)unaff_s4 * 4)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar9 + (int)unaff_s4 * 4)" ( (binary_expression "*piVar9 + (int)unaff_s4 * 4" (pointer_expression "*piVar9" * identifier) + (binary_expression "(int)unaff_s4 * 4" (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) ;) (expression_statement "pwStack_14c = *(word **)unaff_s4;" (assignment_expression "pwStack_14c = *(word **)unaff_s4" identifier = (pointer_expression "*(word **)unaff_s4" * (cast_expression "(word **)unaff_s4" ( (type_descriptor "word **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) })) (if_statement "if (pwStack_14c == (word *)0x0) break;" if (parenthesized_expression "(pwStack_14c == (word *)0x0)" ( (binary_expression "pwStack_14c == (word *)0x0" identifier == (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "uVar4 = (**(code **)(puStack_158 + -0x6060))();" (assignment_expression "uVar4 = (**(code **)(puStack_158 + -0x6060))()" identifier = (call_expression "(**(code **)(puStack_158 + -0x6060))()" (parenthesized_expression "(**(code **)(puStack_158 + -0x6060))" ( (pointer_expression "**(code **)(puStack_158 + -0x6060)" * (pointer_expression "*(code **)(puStack_158 + -0x6060)" * (cast_expression "(code **)(puStack_158 + -0x6060)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x6060)" ( (binary_expression "puStack_158 + -0x6060" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\njoined_r0x000facac:\n              if ((word *)param_4 != pwStack_14c) break;\n            }\n            else {\n              pbVar24 = (byte *)((int)pwStack_148 + *(int *)pwStack_144);\n              uVar7 = (**(code **)(puStack_158 + -0x60fc))(pbVar24);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,pbVar24,uVar7,unaff_s7);\n              unaff_s4 = (word *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n              pwVar15 = (word *)(**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              pwVar14 = unaff_s4;\n              iVar5 = (**(code **)(puStack_158 + -0x6084))(&pbStack_120,unaff_s4,pwVar15,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar5 + 2U < 2)) goto joined_r0x000facac;\n              param_4 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_124);\n              pbStack_124 = param_4;\n              pbStack_120 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_120);\n              if (param_4 != pbStack_120) break;\n              if (1 < uStack_138) {\n                pwVar16 = (word *)((int)pwStack_148 + (uStack_138 - 1));\n              }\n            }" if (parenthesized_expression "((uVar4 < 2) || (*(int *)unaff_s3 != 0))" ( (binary_expression "(uVar4 < 2) || (*(int *)unaff_s3 != 0)" (parenthesized_expression "(uVar4 < 2)" ( (binary_expression "uVar4 < 2" identifier < number_literal) )) || (parenthesized_expression "(*(int *)unaff_s3 != 0)" ( (binary_expression "*(int *)unaff_s3 != 0" (pointer_expression "*(int *)unaff_s3" * (cast_expression "(int *)unaff_s3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) ))) )) (compound_statement "{\njoined_r0x000facac:\n              if ((word *)param_4 != pwStack_14c) break;\n            }" { (labeled_statement "joined_r0x000facac:\n              if ((word *)param_4 != pwStack_14c) break;" statement_identifier : (if_statement "if ((word *)param_4 != pwStack_14c) break;" if (parenthesized_expression "((word *)param_4 != pwStack_14c)" ( (binary_expression "(word *)param_4 != pwStack_14c" (cast_expression "(word *)param_4" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) != identifier) )) (break_statement "break;" break ;))) }) (else_clause "else {\n              pbVar24 = (byte *)((int)pwStack_148 + *(int *)pwStack_144);\n              uVar7 = (**(code **)(puStack_158 + -0x60fc))(pbVar24);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,pbVar24,uVar7,unaff_s7);\n              unaff_s4 = (word *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n              pwVar15 = (word *)(**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              pwVar14 = unaff_s4;\n              iVar5 = (**(code **)(puStack_158 + -0x6084))(&pbStack_120,unaff_s4,pwVar15,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar5 + 2U < 2)) goto joined_r0x000facac;\n              param_4 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_124);\n              pbStack_124 = param_4;\n              pbStack_120 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_120);\n              if (param_4 != pbStack_120) break;\n              if (1 < uStack_138) {\n                pwVar16 = (word *)((int)pwStack_148 + (uStack_138 - 1));\n              }\n            }" else (compound_statement "{\n              pbVar24 = (byte *)((int)pwStack_148 + *(int *)pwStack_144);\n              uVar7 = (**(code **)(puStack_158 + -0x60fc))(pbVar24);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,pbVar24,uVar7,unaff_s7);\n              unaff_s4 = (word *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n              pwVar15 = (word *)(**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              pwVar14 = unaff_s4;\n              iVar5 = (**(code **)(puStack_158 + -0x6084))(&pbStack_120,unaff_s4,pwVar15,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar5 + 2U < 2)) goto joined_r0x000facac;\n              param_4 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_124);\n              pbStack_124 = param_4;\n              pbStack_120 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_120);\n              if (param_4 != pbStack_120) break;\n              if (1 < uStack_138) {\n                pwVar16 = (word *)((int)pwStack_148 + (uStack_138 - 1));\n              }\n            }" { (expression_statement "pbVar24 = (byte *)((int)pwStack_148 + *(int *)pwStack_144);" (assignment_expression "pbVar24 = (byte *)((int)pwStack_148 + *(int *)pwStack_144)" identifier = (cast_expression "(byte *)((int)pwStack_148 + *(int *)pwStack_144)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwStack_148 + *(int *)pwStack_144)" ( (binary_expression "(int)pwStack_148 + *(int *)pwStack_144" (cast_expression "(int)pwStack_148" ( (type_descriptor "int" primitive_type) ) identifier) + (pointer_expression "*(int *)pwStack_144" * (cast_expression "(int *)pwStack_144" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )))) ;) (expression_statement "uVar7 = (**(code **)(puStack_158 + -0x60fc))(pbVar24);" (assignment_expression "uVar7 = (**(code **)(puStack_158 + -0x60fc))(pbVar24)" identifier = (call_expression "(**(code **)(puStack_158 + -0x60fc))(pbVar24)" (parenthesized_expression "(**(code **)(puStack_158 + -0x60fc))" ( (pointer_expression "**(code **)(puStack_158 + -0x60fc)" * (pointer_expression "*(code **)(puStack_158 + -0x60fc)" * (cast_expression "(code **)(puStack_158 + -0x60fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x60fc)" ( (binary_expression "puStack_158 + -0x60fc" identifier + number_literal) ))))) )) (argument_list "(pbVar24)" ( identifier )))) ;) (expression_statement "uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,pbVar24,uVar7,unaff_s7);" (assignment_expression "uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,pbVar24,uVar7,unaff_s7)" identifier = (call_expression "(**(code **)(puStack_158 + -0x6084))(unaff_s8,pbVar24,uVar7,unaff_s7)" (parenthesized_expression "(**(code **)(puStack_158 + -0x6084))" ( (pointer_expression "**(code **)(puStack_158 + -0x6084)" * (pointer_expression "*(code **)(puStack_158 + -0x6084)" * (cast_expression "(code **)(puStack_158 + -0x6084)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x6084)" ( (binary_expression "puStack_158 + -0x6084" identifier + number_literal) ))))) )) (argument_list "(unaff_s8,pbVar24,uVar7,unaff_s7)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "unaff_s4 = (word *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));" (assignment_expression "unaff_s4 = (word *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))" identifier = (cast_expression "(word *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwStack_148 + *(int *)(pwStack_144 + 2))" ( (binary_expression "(int)pwStack_148 + *(int *)(pwStack_144 + 2)" (cast_expression "(int)pwStack_148" ( (type_descriptor "int" primitive_type) ) identifier) + (pointer_expression "*(int *)(pwStack_144 + 2)" * (cast_expression "(int *)(pwStack_144 + 2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pwStack_144 + 2)" ( (binary_expression "pwStack_144 + 2" identifier + number_literal) ))))) )))) ;) (expression_statement "pwVar15 = (word *)(**(code **)(puStack_158 + -0x60fc))(unaff_s4);" (assignment_expression "pwVar15 = (word *)(**(code **)(puStack_158 + -0x60fc))(unaff_s4)" identifier = (cast_expression "(word *)(**(code **)(puStack_158 + -0x60fc))(unaff_s4)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puStack_158 + -0x60fc))(unaff_s4)" (parenthesized_expression "(**(code **)(puStack_158 + -0x60fc))" ( (pointer_expression "**(code **)(puStack_158 + -0x60fc)" * (pointer_expression "*(code **)(puStack_158 + -0x60fc)" * (cast_expression "(code **)(puStack_158 + -0x60fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x60fc)" ( (binary_expression "puStack_158 + -0x60fc" identifier + number_literal) ))))) )) (argument_list "(unaff_s4)" ( identifier ))))) ;) (expression_statement "pwVar14 = unaff_s4;" (assignment_expression "pwVar14 = unaff_s4" identifier = identifier) ;) (expression_statement "iVar5 = (**(code **)(puStack_158 + -0x6084))(&pbStack_120,unaff_s4,pwVar15,unaff_s6);" (assignment_expression "iVar5 = (**(code **)(puStack_158 + -0x6084))(&pbStack_120,unaff_s4,pwVar15,unaff_s6)" identifier = (call_expression "(**(code **)(puStack_158 + -0x6084))(&pbStack_120,unaff_s4,pwVar15,unaff_s6)" (parenthesized_expression "(**(code **)(puStack_158 + -0x6084))" ( (pointer_expression "**(code **)(puStack_158 + -0x6084)" * (pointer_expression "*(code **)(puStack_158 + -0x6084)" * (cast_expression "(code **)(puStack_158 + -0x6084)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x6084)" ( (binary_expression "puStack_158 + -0x6084" identifier + number_literal) ))))) )) (argument_list "(&pbStack_120,unaff_s4,pwVar15,unaff_s6)" ( (pointer_expression "&pbStack_120" & identifier) , identifier , identifier , identifier )))) ;) (if_statement "if ((uStack_138 + 2 < 2) || (iVar5 + 2U < 2)) goto joined_r0x000facac;" if (parenthesized_expression "((uStack_138 + 2 < 2) || (iVar5 + 2U < 2))" ( (binary_expression "(uStack_138 + 2 < 2) || (iVar5 + 2U < 2)" (parenthesized_expression "(uStack_138 + 2 < 2)" ( (binary_expression "uStack_138 + 2 < 2" (binary_expression "uStack_138 + 2" identifier + number_literal) < number_literal) )) || (parenthesized_expression "(iVar5 + 2U < 2)" ( (binary_expression "iVar5 + 2U < 2" (binary_expression "iVar5 + 2U" identifier + number_literal) < number_literal) ))) )) (goto_statement "goto joined_r0x000facac;" goto statement_identifier ;)) (expression_statement "param_4 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_124);" (assignment_expression "param_4 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_124)" identifier = (cast_expression "(byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_124)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puStack_158 + -0x5fc8))(pbStack_124)" (parenthesized_expression "(**(code **)(puStack_158 + -0x5fc8))" ( (pointer_expression "**(code **)(puStack_158 + -0x5fc8)" * (pointer_expression "*(code **)(puStack_158 + -0x5fc8)" * (cast_expression "(code **)(puStack_158 + -0x5fc8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x5fc8)" ( (binary_expression "puStack_158 + -0x5fc8" identifier + number_literal) ))))) )) (argument_list "(pbStack_124)" ( identifier ))))) ;) (expression_statement "pbStack_124 = param_4;" (assignment_expression "pbStack_124 = param_4" identifier = identifier) ;) (expression_statement "pbStack_120 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_120);" (assignment_expression "pbStack_120 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_120)" identifier = (cast_expression "(byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_120)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puStack_158 + -0x5fc8))(pbStack_120)" (parenthesized_expression "(**(code **)(puStack_158 + -0x5fc8))" ( (pointer_expression "**(code **)(puStack_158 + -0x5fc8)" * (pointer_expression "*(code **)(puStack_158 + -0x5fc8)" * (cast_expression "(code **)(puStack_158 + -0x5fc8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x5fc8)" ( (binary_expression "puStack_158 + -0x5fc8" identifier + number_literal) ))))) )) (argument_list "(pbStack_120)" ( identifier ))))) ;) (if_statement "if (param_4 != pbStack_120) break;" if (parenthesized_expression "(param_4 != pbStack_120)" ( (binary_expression "param_4 != pbStack_120" identifier != identifier) )) (break_statement "break;" break ;)) (if_statement "if (1 < uStack_138) {\n                pwVar16 = (word *)((int)pwStack_148 + (uStack_138 - 1));\n              }" if (parenthesized_expression "(1 < uStack_138)" ( (binary_expression "1 < uStack_138" number_literal < identifier) )) (compound_statement "{\n                pwVar16 = (word *)((int)pwStack_148 + (uStack_138 - 1));\n              }" { (expression_statement "pwVar16 = (word *)((int)pwStack_148 + (uStack_138 - 1));" (assignment_expression "pwVar16 = (word *)((int)pwStack_148 + (uStack_138 - 1))" identifier = (cast_expression "(word *)((int)pwStack_148 + (uStack_138 - 1))" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwStack_148 + (uStack_138 - 1))" ( (binary_expression "(int)pwStack_148 + (uStack_138 - 1)" (cast_expression "(int)pwStack_148" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(uStack_138 - 1)" ( (binary_expression "uStack_138 - 1" identifier - number_literal) ))) )))) ;) })) }))) (expression_statement "pwVar16 = (word *)((int)pwVar16 + 1);" (assignment_expression "pwVar16 = (word *)((int)pwVar16 + 1)" identifier = (cast_expression "(word *)((int)pwVar16 + 1)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwVar16 + 1)" ( (binary_expression "(int)pwVar16 + 1" (cast_expression "(int)pwVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) (labeled_statement "LAB_000fac1c:\n          bVar3 = (int)pwVar16 < (int)pwStack_140;" statement_identifier : (expression_statement "bVar3 = (int)pwVar16 < (int)pwStack_140;" (assignment_expression "bVar3 = (int)pwVar16 < (int)pwStack_140" identifier = (binary_expression "(int)pwVar16 < (int)pwStack_140" (cast_expression "(int)pwVar16" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pwStack_140" ( (type_descriptor "int" primitive_type) ) identifier))) ;)) }))) (expression_statement "pwVar6 = pwStack_130;" (assignment_expression "pwVar6 = pwStack_130" identifier = identifier) ;) (if_statement "if (bVar3) {\n          pwStack_140 = pwVar16;\n        }" if (parenthesized_expression "(bVar3)" ( identifier )) (compound_statement "{\n          pwStack_140 = pwVar16;\n        }" { (expression_statement "pwStack_140 = pwVar16;" (assignment_expression "pwStack_140 = pwVar16" identifier = identifier) ;) })) (expression_statement "pwStack_13c = (word *)((int)pwStack_13c + 1);" (assignment_expression "pwStack_13c = (word *)((int)pwStack_13c + 1)" identifier = (cast_expression "(word *)((int)pwStack_13c + 1)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwStack_13c + 1)" ( (binary_expression "(int)pwStack_13c + 1" (cast_expression "(int)pwStack_13c" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pwVar18 = pwVar18 + 2;" (assignment_expression "pwVar18 = pwVar18 + 2" identifier = (binary_expression "pwVar18 + 2" identifier + number_literal)) ;) }) while (parenthesized_expression "(param_2 != pwStack_13c)" ( (binary_expression "param_2 != pwStack_13c" identifier != identifier) )) ;) (expression_statement "unaff_s2 = pwVar18;" (assignment_expression "unaff_s2 = pwVar18" identifier = identifier) ;) (if_statement "if (((pwStack_140 == (word *)0x0) && (pwStack_130 != (word *)0x0)) &&\n         (pwVar16 = pwStack_130, *(byte *)pwStack_130 != 0)) {\n        iVar5 = (**(code **)(puStack_158 + -0x60fc))(pwStack_130);\n        iVar5 = (**(code **)(puStack_158 + -0x7f88))(iVar5 + 1);\n        *piStack_12c = iVar5;\n        pwVar14 = pwVar6;\n        (**(code **)(puStack_158 + -0x6074))(iVar5);\n        pwVar16 = pwVar6;\n        goto LAB_000fb1f0;\n      }" if (parenthesized_expression "(((pwStack_140 == (word *)0x0) && (pwStack_130 != (word *)0x0)) &&\n         (pwVar16 = pwStack_130, *(byte *)pwStack_130 != 0))" ( (binary_expression "((pwStack_140 == (word *)0x0) && (pwStack_130 != (word *)0x0)) &&\n         (pwVar16 = pwStack_130, *(byte *)pwStack_130 != 0)" (parenthesized_expression "((pwStack_140 == (word *)0x0) && (pwStack_130 != (word *)0x0))" ( (binary_expression "(pwStack_140 == (word *)0x0) && (pwStack_130 != (word *)0x0)" (parenthesized_expression "(pwStack_140 == (word *)0x0)" ( (binary_expression "pwStack_140 == (word *)0x0" identifier == (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(pwStack_130 != (word *)0x0)" ( (binary_expression "pwStack_130 != (word *)0x0" identifier != (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) && (parenthesized_expression "(pwVar16 = pwStack_130, *(byte *)pwStack_130 != 0)" ( (comma_expression "pwVar16 = pwStack_130, *(byte *)pwStack_130 != 0" (assignment_expression "pwVar16 = pwStack_130" identifier = identifier) , (binary_expression "*(byte *)pwStack_130 != 0" (pointer_expression "*(byte *)pwStack_130" * (cast_expression "(byte *)pwStack_130" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal)) ))) )) (compound_statement "{\n        iVar5 = (**(code **)(puStack_158 + -0x60fc))(pwStack_130);\n        iVar5 = (**(code **)(puStack_158 + -0x7f88))(iVar5 + 1);\n        *piStack_12c = iVar5;\n        pwVar14 = pwVar6;\n        (**(code **)(puStack_158 + -0x6074))(iVar5);\n        pwVar16 = pwVar6;\n        goto LAB_000fb1f0;\n      }" { (expression_statement "iVar5 = (**(code **)(puStack_158 + -0x60fc))(pwStack_130);" (assignment_expression "iVar5 = (**(code **)(puStack_158 + -0x60fc))(pwStack_130)" identifier = (call_expression "(**(code **)(puStack_158 + -0x60fc))(pwStack_130)" (parenthesized_expression "(**(code **)(puStack_158 + -0x60fc))" ( (pointer_expression "**(code **)(puStack_158 + -0x60fc)" * (pointer_expression "*(code **)(puStack_158 + -0x60fc)" * (cast_expression "(code **)(puStack_158 + -0x60fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x60fc)" ( (binary_expression "puStack_158 + -0x60fc" identifier + number_literal) ))))) )) (argument_list "(pwStack_130)" ( identifier )))) ;) (expression_statement "iVar5 = (**(code **)(puStack_158 + -0x7f88))(iVar5 + 1);" (assignment_expression "iVar5 = (**(code **)(puStack_158 + -0x7f88))(iVar5 + 1)" identifier = (call_expression "(**(code **)(puStack_158 + -0x7f88))(iVar5 + 1)" (parenthesized_expression "(**(code **)(puStack_158 + -0x7f88))" ( (pointer_expression "**(code **)(puStack_158 + -0x7f88)" * (pointer_expression "*(code **)(puStack_158 + -0x7f88)" * (cast_expression "(code **)(puStack_158 + -0x7f88)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x7f88)" ( (binary_expression "puStack_158 + -0x7f88" identifier + number_literal) ))))) )) (argument_list "(iVar5 + 1)" ( (binary_expression "iVar5 + 1" identifier + number_literal) )))) ;) (expression_statement "*piStack_12c = iVar5;" (assignment_expression "*piStack_12c = iVar5" (pointer_expression "*piStack_12c" * identifier) = identifier) ;) (expression_statement "pwVar14 = pwVar6;" (assignment_expression "pwVar14 = pwVar6" identifier = identifier) ;) (expression_statement "(**(code **)(puStack_158 + -0x6074))(iVar5);" (call_expression "(**(code **)(puStack_158 + -0x6074))(iVar5)" (parenthesized_expression "(**(code **)(puStack_158 + -0x6074))" ( (pointer_expression "**(code **)(puStack_158 + -0x6074)" * (pointer_expression "*(code **)(puStack_158 + -0x6074)" * (cast_expression "(code **)(puStack_158 + -0x6074)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x6074)" ( (binary_expression "puStack_158 + -0x6074" identifier + number_literal) ))))) )) (argument_list "(iVar5)" ( identifier ))) ;) (expression_statement "pwVar16 = pwVar6;" (assignment_expression "pwVar16 = pwVar6" identifier = identifier) ;) (goto_statement "goto LAB_000fb1f0;" goto statement_identifier ;) })) }))) (expression_statement "iVar5 = (**(code **)(puStack_158 + -0x7f88))((byte *)((int)pwStack_140 + 1));" (assignment_expression "iVar5 = (**(code **)(puStack_158 + -0x7f88))((byte *)((int)pwStack_140 + 1))" identifier = (call_expression "(**(code **)(puStack_158 + -0x7f88))((byte *)((int)pwStack_140 + 1))" (parenthesized_expression "(**(code **)(puStack_158 + -0x7f88))" ( (pointer_expression "**(code **)(puStack_158 + -0x7f88)" * (pointer_expression "*(code **)(puStack_158 + -0x7f88)" * (cast_expression "(code **)(puStack_158 + -0x7f88)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x7f88)" ( (binary_expression "puStack_158 + -0x7f88" identifier + number_literal) ))))) )) (argument_list "((byte *)((int)pwStack_140 + 1))" ( (cast_expression "(byte *)((int)pwStack_140 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwStack_140 + 1)" ( (binary_expression "(int)pwStack_140 + 1" (cast_expression "(int)pwStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) )))) ;) (expression_statement "*piStack_12c = iVar5;" (assignment_expression "*piStack_12c = iVar5" (pointer_expression "*piStack_12c" * identifier) = identifier) ;) (if_statement "if (**(int **)(puStack_158 + -0x65bc) == 0) {\n      pwVar14 = (word *)piStack_12c[1];\n      pwVar15 = pwStack_140;\n      (**(code **)(puStack_158 + -0x615c))(iVar5);\n    }\n    else {\n      unaff_s3 = (word *)0x0;\n      if (**(int **)(puStack_158 + -0x6f0c) != 0) {\n        if ((code *)**(undefined4 **)(puStack_158 + -0x6de4) == (code *)0x0) {\n          unaff_s3 = (word *)0x0;\n        }\n        else if ((**(int **)(puStack_158 + -0x6f38) != 0) &&\n                (**(int **)(puStack_158 + -0x702c) != 0)) {\n          pwVar14 = (word *)**(undefined4 **)(puStack_158 + -0x6f34);\n          unaff_s3 = (word *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(pwStack_130);\n          pwStack_130 = unaff_s3;\n        }\n      }\n      if (**(int **)(puStack_158 + -0x6f10) != 0) {\n        pwVar14 = param_2;\n        (**(code **)(puStack_158 + -0x6218))\n                  (piStack_12c + 1,param_2,4,*(undefined4 *)(puStack_158 + -0x6660));\n      }\n      pwVar16 = (word *)(**(code **)(puStack_158 + -0x60fc))(pwStack_130);\n      unaff_s4 = pwStack_140;\n      if ((int)pwVar16 <= (int)pwStack_140) {\n        unaff_s4 = pwVar16;\n      }\n      if ((int)param_2 < 1) {\n        pwVar16 = (word *)0x1;\nLAB_000fb1a8:\n        pwVar16 = (word *)(uint)((int)param_2 < (int)pwVar16);\n        pwVar15 = pwStack_140;\n        if (pwVar16 != (word *)0x0) goto LAB_000fb12c;\n      }\n      else {\n        param_4 = (byte *)(piStack_12c + 1);\n        pwVar16 = (word *)0x1;\n        do {\n          unaff_s2 = *(word **)param_4;\n          iVar5 = (**(code **)(puStack_158 + -0x6238))(unaff_s2,pwStack_130,unaff_s4);\n          if (iVar5 == 0) {\n            pwVar14 = unaff_s2;\n            (**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,pwStack_140);\n            goto LAB_000fb1a8;\n          }\n          pwVar16 = (word *)((int)pwVar16 + 1);\n          param_4 = param_4 + 4;\n        } while ((int)pwVar16 <= (int)param_2);\nLAB_000fb12c:\n        pwVar14 = (word *)piStack_12c[1];\n        pwVar15 = pwStack_140;\n        (**(code **)(puStack_158 + -0x615c))(*piStack_12c);\n      }\n      if (unaff_s3 != (word *)0x0) {\n        (**(code **)(puStack_158 + -0x5f94))(unaff_s3);\n      }\n    }" if (parenthesized_expression "(**(int **)(puStack_158 + -0x65bc) == 0)" ( (binary_expression "**(int **)(puStack_158 + -0x65bc) == 0" (pointer_expression "**(int **)(puStack_158 + -0x65bc)" * (pointer_expression "*(int **)(puStack_158 + -0x65bc)" * (cast_expression "(int **)(puStack_158 + -0x65bc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x65bc)" ( (binary_expression "puStack_158 + -0x65bc" identifier + number_literal) ))))) == number_literal) )) (compound_statement "{\n      pwVar14 = (word *)piStack_12c[1];\n      pwVar15 = pwStack_140;\n      (**(code **)(puStack_158 + -0x615c))(iVar5);\n    }" { (expression_statement "pwVar14 = (word *)piStack_12c[1];" (assignment_expression "pwVar14 = (word *)piStack_12c[1]" identifier = (cast_expression "(word *)piStack_12c[1]" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piStack_12c[1]" identifier [ number_literal ]))) ;) (expression_statement "pwVar15 = pwStack_140;" (assignment_expression "pwVar15 = pwStack_140" identifier = identifier) ;) (expression_statement "(**(code **)(puStack_158 + -0x615c))(iVar5);" (call_expression "(**(code **)(puStack_158 + -0x615c))(iVar5)" (parenthesized_expression "(**(code **)(puStack_158 + -0x615c))" ( (pointer_expression "**(code **)(puStack_158 + -0x615c)" * (pointer_expression "*(code **)(puStack_158 + -0x615c)" * (cast_expression "(code **)(puStack_158 + -0x615c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x615c)" ( (binary_expression "puStack_158 + -0x615c" identifier + number_literal) ))))) )) (argument_list "(iVar5)" ( identifier ))) ;) }) (else_clause "else {\n      unaff_s3 = (word *)0x0;\n      if (**(int **)(puStack_158 + -0x6f0c) != 0) {\n        if ((code *)**(undefined4 **)(puStack_158 + -0x6de4) == (code *)0x0) {\n          unaff_s3 = (word *)0x0;\n        }\n        else if ((**(int **)(puStack_158 + -0x6f38) != 0) &&\n                (**(int **)(puStack_158 + -0x702c) != 0)) {\n          pwVar14 = (word *)**(undefined4 **)(puStack_158 + -0x6f34);\n          unaff_s3 = (word *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(pwStack_130);\n          pwStack_130 = unaff_s3;\n        }\n      }\n      if (**(int **)(puStack_158 + -0x6f10) != 0) {\n        pwVar14 = param_2;\n        (**(code **)(puStack_158 + -0x6218))\n                  (piStack_12c + 1,param_2,4,*(undefined4 *)(puStack_158 + -0x6660));\n      }\n      pwVar16 = (word *)(**(code **)(puStack_158 + -0x60fc))(pwStack_130);\n      unaff_s4 = pwStack_140;\n      if ((int)pwVar16 <= (int)pwStack_140) {\n        unaff_s4 = pwVar16;\n      }\n      if ((int)param_2 < 1) {\n        pwVar16 = (word *)0x1;\nLAB_000fb1a8:\n        pwVar16 = (word *)(uint)((int)param_2 < (int)pwVar16);\n        pwVar15 = pwStack_140;\n        if (pwVar16 != (word *)0x0) goto LAB_000fb12c;\n      }\n      else {\n        param_4 = (byte *)(piStack_12c + 1);\n        pwVar16 = (word *)0x1;\n        do {\n          unaff_s2 = *(word **)param_4;\n          iVar5 = (**(code **)(puStack_158 + -0x6238))(unaff_s2,pwStack_130,unaff_s4);\n          if (iVar5 == 0) {\n            pwVar14 = unaff_s2;\n            (**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,pwStack_140);\n            goto LAB_000fb1a8;\n          }\n          pwVar16 = (word *)((int)pwVar16 + 1);\n          param_4 = param_4 + 4;\n        } while ((int)pwVar16 <= (int)param_2);\nLAB_000fb12c:\n        pwVar14 = (word *)piStack_12c[1];\n        pwVar15 = pwStack_140;\n        (**(code **)(puStack_158 + -0x615c))(*piStack_12c);\n      }\n      if (unaff_s3 != (word *)0x0) {\n        (**(code **)(puStack_158 + -0x5f94))(unaff_s3);\n      }\n    }" else (compound_statement "{\n      unaff_s3 = (word *)0x0;\n      if (**(int **)(puStack_158 + -0x6f0c) != 0) {\n        if ((code *)**(undefined4 **)(puStack_158 + -0x6de4) == (code *)0x0) {\n          unaff_s3 = (word *)0x0;\n        }\n        else if ((**(int **)(puStack_158 + -0x6f38) != 0) &&\n                (**(int **)(puStack_158 + -0x702c) != 0)) {\n          pwVar14 = (word *)**(undefined4 **)(puStack_158 + -0x6f34);\n          unaff_s3 = (word *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(pwStack_130);\n          pwStack_130 = unaff_s3;\n        }\n      }\n      if (**(int **)(puStack_158 + -0x6f10) != 0) {\n        pwVar14 = param_2;\n        (**(code **)(puStack_158 + -0x6218))\n                  (piStack_12c + 1,param_2,4,*(undefined4 *)(puStack_158 + -0x6660));\n      }\n      pwVar16 = (word *)(**(code **)(puStack_158 + -0x60fc))(pwStack_130);\n      unaff_s4 = pwStack_140;\n      if ((int)pwVar16 <= (int)pwStack_140) {\n        unaff_s4 = pwVar16;\n      }\n      if ((int)param_2 < 1) {\n        pwVar16 = (word *)0x1;\nLAB_000fb1a8:\n        pwVar16 = (word *)(uint)((int)param_2 < (int)pwVar16);\n        pwVar15 = pwStack_140;\n        if (pwVar16 != (word *)0x0) goto LAB_000fb12c;\n      }\n      else {\n        param_4 = (byte *)(piStack_12c + 1);\n        pwVar16 = (word *)0x1;\n        do {\n          unaff_s2 = *(word **)param_4;\n          iVar5 = (**(code **)(puStack_158 + -0x6238))(unaff_s2,pwStack_130,unaff_s4);\n          if (iVar5 == 0) {\n            pwVar14 = unaff_s2;\n            (**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,pwStack_140);\n            goto LAB_000fb1a8;\n          }\n          pwVar16 = (word *)((int)pwVar16 + 1);\n          param_4 = param_4 + 4;\n        } while ((int)pwVar16 <= (int)param_2);\nLAB_000fb12c:\n        pwVar14 = (word *)piStack_12c[1];\n        pwVar15 = pwStack_140;\n        (**(code **)(puStack_158 + -0x615c))(*piStack_12c);\n      }\n      if (unaff_s3 != (word *)0x0) {\n        (**(code **)(puStack_158 + -0x5f94))(unaff_s3);\n      }\n    }" { (expression_statement "unaff_s3 = (word *)0x0;" (assignment_expression "unaff_s3 = (word *)0x0" identifier = (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (**(int **)(puStack_158 + -0x6f0c) != 0) {\n        if ((code *)**(undefined4 **)(puStack_158 + -0x6de4) == (code *)0x0) {\n          unaff_s3 = (word *)0x0;\n        }\n        else if ((**(int **)(puStack_158 + -0x6f38) != 0) &&\n                (**(int **)(puStack_158 + -0x702c) != 0)) {\n          pwVar14 = (word *)**(undefined4 **)(puStack_158 + -0x6f34);\n          unaff_s3 = (word *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(pwStack_130);\n          pwStack_130 = unaff_s3;\n        }\n      }" if (parenthesized_expression "(**(int **)(puStack_158 + -0x6f0c) != 0)" ( (binary_expression "**(int **)(puStack_158 + -0x6f0c) != 0" (pointer_expression "**(int **)(puStack_158 + -0x6f0c)" * (pointer_expression "*(int **)(puStack_158 + -0x6f0c)" * (cast_expression "(int **)(puStack_158 + -0x6f0c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x6f0c)" ( (binary_expression "puStack_158 + -0x6f0c" identifier + number_literal) ))))) != number_literal) )) (compound_statement "{\n        if ((code *)**(undefined4 **)(puStack_158 + -0x6de4) == (code *)0x0) {\n          unaff_s3 = (word *)0x0;\n        }\n        else if ((**(int **)(puStack_158 + -0x6f38) != 0) &&\n                (**(int **)(puStack_158 + -0x702c) != 0)) {\n          pwVar14 = (word *)**(undefined4 **)(puStack_158 + -0x6f34);\n          unaff_s3 = (word *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(pwStack_130);\n          pwStack_130 = unaff_s3;\n        }\n      }" { (if_statement "if ((code *)**(undefined4 **)(puStack_158 + -0x6de4) == (code *)0x0) {\n          unaff_s3 = (word *)0x0;\n        }\n        else if ((**(int **)(puStack_158 + -0x6f38) != 0) &&\n                (**(int **)(puStack_158 + -0x702c) != 0)) {\n          pwVar14 = (word *)**(undefined4 **)(puStack_158 + -0x6f34);\n          unaff_s3 = (word *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(pwStack_130);\n          pwStack_130 = unaff_s3;\n        }" if (parenthesized_expression "((code *)**(undefined4 **)(puStack_158 + -0x6de4) == (code *)0x0)" ( (binary_expression "(code *)**(undefined4 **)(puStack_158 + -0x6de4) == (code *)0x0" (cast_expression "(code *)**(undefined4 **)(puStack_158 + -0x6de4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(puStack_158 + -0x6de4)" * (pointer_expression "*(undefined4 **)(puStack_158 + -0x6de4)" * (cast_expression "(undefined4 **)(puStack_158 + -0x6de4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x6de4)" ( (binary_expression "puStack_158 + -0x6de4" identifier + number_literal) )))))) == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          unaff_s3 = (word *)0x0;\n        }" { (expression_statement "unaff_s3 = (word *)0x0;" (assignment_expression "unaff_s3 = (word *)0x0" identifier = (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else if ((**(int **)(puStack_158 + -0x6f38) != 0) &&\n                (**(int **)(puStack_158 + -0x702c) != 0)) {\n          pwVar14 = (word *)**(undefined4 **)(puStack_158 + -0x6f34);\n          unaff_s3 = (word *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(pwStack_130);\n          pwStack_130 = unaff_s3;\n        }" else (if_statement "if ((**(int **)(puStack_158 + -0x6f38) != 0) &&\n                (**(int **)(puStack_158 + -0x702c) != 0)) {\n          pwVar14 = (word *)**(undefined4 **)(puStack_158 + -0x6f34);\n          unaff_s3 = (word *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(pwStack_130);\n          pwStack_130 = unaff_s3;\n        }" if (parenthesized_expression "((**(int **)(puStack_158 + -0x6f38) != 0) &&\n                (**(int **)(puStack_158 + -0x702c) != 0))" ( (binary_expression "(**(int **)(puStack_158 + -0x6f38) != 0) &&\n                (**(int **)(puStack_158 + -0x702c) != 0)" (parenthesized_expression "(**(int **)(puStack_158 + -0x6f38) != 0)" ( (binary_expression "**(int **)(puStack_158 + -0x6f38) != 0" (pointer_expression "**(int **)(puStack_158 + -0x6f38)" * (pointer_expression "*(int **)(puStack_158 + -0x6f38)" * (cast_expression "(int **)(puStack_158 + -0x6f38)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x6f38)" ( (binary_expression "puStack_158 + -0x6f38" identifier + number_literal) ))))) != number_literal) )) && (parenthesized_expression "(**(int **)(puStack_158 + -0x702c) != 0)" ( (binary_expression "**(int **)(puStack_158 + -0x702c) != 0" (pointer_expression "**(int **)(puStack_158 + -0x702c)" * (pointer_expression "*(int **)(puStack_158 + -0x702c)" * (cast_expression "(int **)(puStack_158 + -0x702c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x702c)" ( (binary_expression "puStack_158 + -0x702c" identifier + number_literal) ))))) != number_literal) ))) )) (compound_statement "{\n          pwVar14 = (word *)**(undefined4 **)(puStack_158 + -0x6f34);\n          unaff_s3 = (word *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(pwStack_130);\n          pwStack_130 = unaff_s3;\n        }" { (expression_statement "pwVar14 = (word *)**(undefined4 **)(puStack_158 + -0x6f34);" (assignment_expression "pwVar14 = (word *)**(undefined4 **)(puStack_158 + -0x6f34)" identifier = (cast_expression "(word *)**(undefined4 **)(puStack_158 + -0x6f34)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(puStack_158 + -0x6f34)" * (pointer_expression "*(undefined4 **)(puStack_158 + -0x6f34)" * (cast_expression "(undefined4 **)(puStack_158 + -0x6f34)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x6f34)" ( (binary_expression "puStack_158 + -0x6f34" identifier + number_literal) ))))))) ;) (expression_statement "unaff_s3 = (word *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(pwStack_130);" (assignment_expression "unaff_s3 = (word *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(pwStack_130)" identifier = (cast_expression "(word *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(pwStack_130)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(pwStack_130)" (parenthesized_expression "(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))" ( (pointer_expression "*(code *)**(undefined4 **)(puStack_158 + -0x6de4)" * (cast_expression "(code *)**(undefined4 **)(puStack_158 + -0x6de4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(puStack_158 + -0x6de4)" * (pointer_expression "*(undefined4 **)(puStack_158 + -0x6de4)" * (cast_expression "(undefined4 **)(puStack_158 + -0x6de4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x6de4)" ( (binary_expression "puStack_158 + -0x6de4" identifier + number_literal) ))))))) )) (argument_list "(pwStack_130)" ( identifier ))))) ;) (expression_statement "pwStack_130 = unaff_s3;" (assignment_expression "pwStack_130 = unaff_s3" identifier = identifier) ;) })))) })) (if_statement "if (**(int **)(puStack_158 + -0x6f10) != 0) {\n        pwVar14 = param_2;\n        (**(code **)(puStack_158 + -0x6218))\n                  (piStack_12c + 1,param_2,4,*(undefined4 *)(puStack_158 + -0x6660));\n      }" if (parenthesized_expression "(**(int **)(puStack_158 + -0x6f10) != 0)" ( (binary_expression "**(int **)(puStack_158 + -0x6f10) != 0" (pointer_expression "**(int **)(puStack_158 + -0x6f10)" * (pointer_expression "*(int **)(puStack_158 + -0x6f10)" * (cast_expression "(int **)(puStack_158 + -0x6f10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x6f10)" ( (binary_expression "puStack_158 + -0x6f10" identifier + number_literal) ))))) != number_literal) )) (compound_statement "{\n        pwVar14 = param_2;\n        (**(code **)(puStack_158 + -0x6218))\n                  (piStack_12c + 1,param_2,4,*(undefined4 *)(puStack_158 + -0x6660));\n      }" { (expression_statement "pwVar14 = param_2;" (assignment_expression "pwVar14 = param_2" identifier = identifier) ;) (expression_statement "(**(code **)(puStack_158 + -0x6218))\n                  (piStack_12c + 1,param_2,4,*(undefined4 *)(puStack_158 + -0x6660));" (call_expression "(**(code **)(puStack_158 + -0x6218))\n                  (piStack_12c + 1,param_2,4,*(undefined4 *)(puStack_158 + -0x6660))" (parenthesized_expression "(**(code **)(puStack_158 + -0x6218))" ( (pointer_expression "**(code **)(puStack_158 + -0x6218)" * (pointer_expression "*(code **)(puStack_158 + -0x6218)" * (cast_expression "(code **)(puStack_158 + -0x6218)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x6218)" ( (binary_expression "puStack_158 + -0x6218" identifier + number_literal) ))))) )) (argument_list "(piStack_12c + 1,param_2,4,*(undefined4 *)(puStack_158 + -0x6660))" ( (binary_expression "piStack_12c + 1" identifier + number_literal) , identifier , number_literal , (pointer_expression "*(undefined4 *)(puStack_158 + -0x6660)" * (cast_expression "(undefined4 *)(puStack_158 + -0x6660)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_158 + -0x6660)" ( (binary_expression "puStack_158 + -0x6660" identifier + number_literal) )))) ))) ;) })) (expression_statement "pwVar16 = (word *)(**(code **)(puStack_158 + -0x60fc))(pwStack_130);" (assignment_expression "pwVar16 = (word *)(**(code **)(puStack_158 + -0x60fc))(pwStack_130)" identifier = (cast_expression "(word *)(**(code **)(puStack_158 + -0x60fc))(pwStack_130)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puStack_158 + -0x60fc))(pwStack_130)" (parenthesized_expression "(**(code **)(puStack_158 + -0x60fc))" ( (pointer_expression "**(code **)(puStack_158 + -0x60fc)" * (pointer_expression "*(code **)(puStack_158 + -0x60fc)" * (cast_expression "(code **)(puStack_158 + -0x60fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x60fc)" ( (binary_expression "puStack_158 + -0x60fc" identifier + number_literal) ))))) )) (argument_list "(pwStack_130)" ( identifier ))))) ;) (expression_statement "unaff_s4 = pwStack_140;" (assignment_expression "unaff_s4 = pwStack_140" identifier = identifier) ;) (if_statement "if ((int)pwVar16 <= (int)pwStack_140) {\n        unaff_s4 = pwVar16;\n      }" if (parenthesized_expression "((int)pwVar16 <= (int)pwStack_140)" ( (binary_expression "(int)pwVar16 <= (int)pwStack_140" (cast_expression "(int)pwVar16" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)pwStack_140" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        unaff_s4 = pwVar16;\n      }" { (expression_statement "unaff_s4 = pwVar16;" (assignment_expression "unaff_s4 = pwVar16" identifier = identifier) ;) })) (if_statement "if ((int)param_2 < 1) {\n        pwVar16 = (word *)0x1;\nLAB_000fb1a8:\n        pwVar16 = (word *)(uint)((int)param_2 < (int)pwVar16);\n        pwVar15 = pwStack_140;\n        if (pwVar16 != (word *)0x0) goto LAB_000fb12c;\n      }\n      else {\n        param_4 = (byte *)(piStack_12c + 1);\n        pwVar16 = (word *)0x1;\n        do {\n          unaff_s2 = *(word **)param_4;\n          iVar5 = (**(code **)(puStack_158 + -0x6238))(unaff_s2,pwStack_130,unaff_s4);\n          if (iVar5 == 0) {\n            pwVar14 = unaff_s2;\n            (**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,pwStack_140);\n            goto LAB_000fb1a8;\n          }\n          pwVar16 = (word *)((int)pwVar16 + 1);\n          param_4 = param_4 + 4;\n        } while ((int)pwVar16 <= (int)param_2);\nLAB_000fb12c:\n        pwVar14 = (word *)piStack_12c[1];\n        pwVar15 = pwStack_140;\n        (**(code **)(puStack_158 + -0x615c))(*piStack_12c);\n      }" if (parenthesized_expression "((int)param_2 < 1)" ( (binary_expression "(int)param_2 < 1" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n        pwVar16 = (word *)0x1;\nLAB_000fb1a8:\n        pwVar16 = (word *)(uint)((int)param_2 < (int)pwVar16);\n        pwVar15 = pwStack_140;\n        if (pwVar16 != (word *)0x0) goto LAB_000fb12c;\n      }" { (expression_statement "pwVar16 = (word *)0x1;" (assignment_expression "pwVar16 = (word *)0x1" identifier = (cast_expression "(word *)0x1" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_000fb1a8:\n        pwVar16 = (word *)(uint)((int)param_2 < (int)pwVar16);" statement_identifier : (expression_statement "pwVar16 = (word *)(uint)((int)param_2 < (int)pwVar16);" (assignment_expression "pwVar16 = (word *)(uint)((int)param_2 < (int)pwVar16)" identifier = (cast_expression "(word *)(uint)((int)param_2 < (int)pwVar16)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)((int)param_2 < (int)pwVar16)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)param_2 < (int)pwVar16)" ( (binary_expression "(int)param_2 < (int)pwVar16" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pwVar16" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;)) (expression_statement "pwVar15 = pwStack_140;" (assignment_expression "pwVar15 = pwStack_140" identifier = identifier) ;) (if_statement "if (pwVar16 != (word *)0x0) goto LAB_000fb12c;" if (parenthesized_expression "(pwVar16 != (word *)0x0)" ( (binary_expression "pwVar16 != (word *)0x0" identifier != (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000fb12c;" goto statement_identifier ;)) }) (else_clause "else {\n        param_4 = (byte *)(piStack_12c + 1);\n        pwVar16 = (word *)0x1;\n        do {\n          unaff_s2 = *(word **)param_4;\n          iVar5 = (**(code **)(puStack_158 + -0x6238))(unaff_s2,pwStack_130,unaff_s4);\n          if (iVar5 == 0) {\n            pwVar14 = unaff_s2;\n            (**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,pwStack_140);\n            goto LAB_000fb1a8;\n          }\n          pwVar16 = (word *)((int)pwVar16 + 1);\n          param_4 = param_4 + 4;\n        } while ((int)pwVar16 <= (int)param_2);\nLAB_000fb12c:\n        pwVar14 = (word *)piStack_12c[1];\n        pwVar15 = pwStack_140;\n        (**(code **)(puStack_158 + -0x615c))(*piStack_12c);\n      }" else (compound_statement "{\n        param_4 = (byte *)(piStack_12c + 1);\n        pwVar16 = (word *)0x1;\n        do {\n          unaff_s2 = *(word **)param_4;\n          iVar5 = (**(code **)(puStack_158 + -0x6238))(unaff_s2,pwStack_130,unaff_s4);\n          if (iVar5 == 0) {\n            pwVar14 = unaff_s2;\n            (**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,pwStack_140);\n            goto LAB_000fb1a8;\n          }\n          pwVar16 = (word *)((int)pwVar16 + 1);\n          param_4 = param_4 + 4;\n        } while ((int)pwVar16 <= (int)param_2);\nLAB_000fb12c:\n        pwVar14 = (word *)piStack_12c[1];\n        pwVar15 = pwStack_140;\n        (**(code **)(puStack_158 + -0x615c))(*piStack_12c);\n      }" { (expression_statement "param_4 = (byte *)(piStack_12c + 1);" (assignment_expression "param_4 = (byte *)(piStack_12c + 1)" identifier = (cast_expression "(byte *)(piStack_12c + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piStack_12c + 1)" ( (binary_expression "piStack_12c + 1" identifier + number_literal) )))) ;) (expression_statement "pwVar16 = (word *)0x1;" (assignment_expression "pwVar16 = (word *)0x1" identifier = (cast_expression "(word *)0x1" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n          unaff_s2 = *(word **)param_4;\n          iVar5 = (**(code **)(puStack_158 + -0x6238))(unaff_s2,pwStack_130,unaff_s4);\n          if (iVar5 == 0) {\n            pwVar14 = unaff_s2;\n            (**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,pwStack_140);\n            goto LAB_000fb1a8;\n          }\n          pwVar16 = (word *)((int)pwVar16 + 1);\n          param_4 = param_4 + 4;\n        } while ((int)pwVar16 <= (int)param_2);" do (compound_statement "{\n          unaff_s2 = *(word **)param_4;\n          iVar5 = (**(code **)(puStack_158 + -0x6238))(unaff_s2,pwStack_130,unaff_s4);\n          if (iVar5 == 0) {\n            pwVar14 = unaff_s2;\n            (**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,pwStack_140);\n            goto LAB_000fb1a8;\n          }\n          pwVar16 = (word *)((int)pwVar16 + 1);\n          param_4 = param_4 + 4;\n        }" { (expression_statement "unaff_s2 = *(word **)param_4;" (assignment_expression "unaff_s2 = *(word **)param_4" identifier = (pointer_expression "*(word **)param_4" * (cast_expression "(word **)param_4" ( (type_descriptor "word **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "iVar5 = (**(code **)(puStack_158 + -0x6238))(unaff_s2,pwStack_130,unaff_s4);" (assignment_expression "iVar5 = (**(code **)(puStack_158 + -0x6238))(unaff_s2,pwStack_130,unaff_s4)" identifier = (call_expression "(**(code **)(puStack_158 + -0x6238))(unaff_s2,pwStack_130,unaff_s4)" (parenthesized_expression "(**(code **)(puStack_158 + -0x6238))" ( (pointer_expression "**(code **)(puStack_158 + -0x6238)" * (pointer_expression "*(code **)(puStack_158 + -0x6238)" * (cast_expression "(code **)(puStack_158 + -0x6238)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x6238)" ( (binary_expression "puStack_158 + -0x6238" identifier + number_literal) ))))) )) (argument_list "(unaff_s2,pwStack_130,unaff_s4)" ( identifier , identifier , identifier )))) ;) (if_statement "if (iVar5 == 0) {\n            pwVar14 = unaff_s2;\n            (**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,pwStack_140);\n            goto LAB_000fb1a8;\n          }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n            pwVar14 = unaff_s2;\n            (**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,pwStack_140);\n            goto LAB_000fb1a8;\n          }" { (expression_statement "pwVar14 = unaff_s2;" (assignment_expression "pwVar14 = unaff_s2" identifier = identifier) ;) (expression_statement "(**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,pwStack_140);" (call_expression "(**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,pwStack_140)" (parenthesized_expression "(**(code **)(puStack_158 + -0x615c))" ( (pointer_expression "**(code **)(puStack_158 + -0x615c)" * (pointer_expression "*(code **)(puStack_158 + -0x615c)" * (cast_expression "(code **)(puStack_158 + -0x615c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x615c)" ( (binary_expression "puStack_158 + -0x615c" identifier + number_literal) ))))) )) (argument_list "(*piStack_12c,unaff_s2,pwStack_140)" ( (pointer_expression "*piStack_12c" * identifier) , identifier , identifier ))) ;) (goto_statement "goto LAB_000fb1a8;" goto statement_identifier ;) })) (expression_statement "pwVar16 = (word *)((int)pwVar16 + 1);" (assignment_expression "pwVar16 = (word *)((int)pwVar16 + 1)" identifier = (cast_expression "(word *)((int)pwVar16 + 1)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwVar16 + 1)" ( (binary_expression "(int)pwVar16 + 1" (cast_expression "(int)pwVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "param_4 = param_4 + 4;" (assignment_expression "param_4 = param_4 + 4" identifier = (binary_expression "param_4 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "((int)pwVar16 <= (int)param_2)" ( (binary_expression "(int)pwVar16 <= (int)param_2" (cast_expression "(int)pwVar16" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) (labeled_statement "LAB_000fb12c:\n        pwVar14 = (word *)piStack_12c[1];" statement_identifier : (expression_statement "pwVar14 = (word *)piStack_12c[1];" (assignment_expression "pwVar14 = (word *)piStack_12c[1]" identifier = (cast_expression "(word *)piStack_12c[1]" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piStack_12c[1]" identifier [ number_literal ]))) ;)) (expression_statement "pwVar15 = pwStack_140;" (assignment_expression "pwVar15 = pwStack_140" identifier = identifier) ;) (expression_statement "(**(code **)(puStack_158 + -0x615c))(*piStack_12c);" (call_expression "(**(code **)(puStack_158 + -0x615c))(*piStack_12c)" (parenthesized_expression "(**(code **)(puStack_158 + -0x615c))" ( (pointer_expression "**(code **)(puStack_158 + -0x615c)" * (pointer_expression "*(code **)(puStack_158 + -0x615c)" * (cast_expression "(code **)(puStack_158 + -0x615c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x615c)" ( (binary_expression "puStack_158 + -0x615c" identifier + number_literal) ))))) )) (argument_list "(*piStack_12c)" ( (pointer_expression "*piStack_12c" * identifier) ))) ;) }))) (if_statement "if (unaff_s3 != (word *)0x0) {\n        (**(code **)(puStack_158 + -0x5f94))(unaff_s3);\n      }" if (parenthesized_expression "(unaff_s3 != (word *)0x0)" ( (binary_expression "unaff_s3 != (word *)0x0" identifier != (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        (**(code **)(puStack_158 + -0x5f94))(unaff_s3);\n      }" { (expression_statement "(**(code **)(puStack_158 + -0x5f94))(unaff_s3);" (call_expression "(**(code **)(puStack_158 + -0x5f94))(unaff_s3)" (parenthesized_expression "(**(code **)(puStack_158 + -0x5f94))" ( (pointer_expression "**(code **)(puStack_158 + -0x5f94)" * (pointer_expression "*(code **)(puStack_158 + -0x5f94)" * (cast_expression "(code **)(puStack_158 + -0x5f94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x5f94)" ( (binary_expression "puStack_158 + -0x5f94" identifier + number_literal) ))))) )) (argument_list "(unaff_s3)" ( identifier ))) ;) })) }))) (expression_statement "*(byte *)((int)pwStack_140 + *piStack_12c) = 0;" (assignment_expression "*(byte *)((int)pwStack_140 + *piStack_12c) = 0" (pointer_expression "*(byte *)((int)pwStack_140 + *piStack_12c)" * (cast_expression "(byte *)((int)pwStack_140 + *piStack_12c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwStack_140 + *piStack_12c)" ( (binary_expression "(int)pwStack_140 + *piStack_12c" (cast_expression "(int)pwStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + (pointer_expression "*piStack_12c" * identifier)) )))) = number_literal) ;) (expression_statement "pwStack_13c = param_2;" (assignment_expression "pwStack_13c = param_2" identifier = identifier) ;) }))) (labeled_statement "LAB_000fb1f0:\n  if (puStack_104 == (undefined4 *)**(undefined4 **)(puStack_158 + -0x5fb4)) {\n    return pwStack_13c;\n  }" statement_identifier : (if_statement "if (puStack_104 == (undefined4 *)**(undefined4 **)(puStack_158 + -0x5fb4)) {\n    return pwStack_13c;\n  }" if (parenthesized_expression "(puStack_104 == (undefined4 *)**(undefined4 **)(puStack_158 + -0x5fb4))" ( (binary_expression "puStack_104 == (undefined4 *)**(undefined4 **)(puStack_158 + -0x5fb4)" identifier == (cast_expression "(undefined4 *)**(undefined4 **)(puStack_158 + -0x5fb4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(puStack_158 + -0x5fb4)" * (pointer_expression "*(undefined4 **)(puStack_158 + -0x5fb4)" * (cast_expression "(undefined4 **)(puStack_158 + -0x5fb4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x5fb4)" ( (binary_expression "puStack_158 + -0x5fb4" identifier + number_literal) ))))))) )) (compound_statement "{\n    return pwStack_13c;\n  }" { (return_statement "return pwStack_13c;" return identifier ;) }))) (expression_statement "pcVar23 = *(code **)(puStack_158 + -0x6004);" (assignment_expression "pcVar23 = *(code **)(puStack_158 + -0x6004)" identifier = (pointer_expression "*(code **)(puStack_158 + -0x6004)" * (cast_expression "(code **)(puStack_158 + -0x6004)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x6004)" ( (binary_expression "puStack_158 + -0x6004" identifier + number_literal) ))))) ;) (expression_statement "pcVar25 = FUN_000fb268;" (assignment_expression "pcVar25 = FUN_000fb268" identifier = identifier) ;) (expression_statement "puVar21 = puStack_104;" (assignment_expression "puVar21 = puStack_104" identifier = identifier) ;) (expression_statement "(*pcVar23)();" (call_expression "(*pcVar23)()" (parenthesized_expression "(*pcVar23)" ( (pointer_expression "*pcVar23" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_1a8 = pcVar23 + 0x632d8;" (assignment_expression "pcStack_1a8 = pcVar23 + 0x632d8" identifier = (binary_expression "pcVar23 + 0x632d8" identifier + number_literal)) ;) (expression_statement "auStack_19d._1_4_ = **(undefined4 **)(pcVar23 + 0x5d324);" (assignment_expression "auStack_19d._1_4_ = **(undefined4 **)(pcVar23 + 0x5d324)" (field_expression "auStack_19d._1_4_" identifier . field_identifier) = (pointer_expression "**(undefined4 **)(pcVar23 + 0x5d324)" * (pointer_expression "*(undefined4 **)(pcVar23 + 0x5d324)" * (cast_expression "(undefined4 **)(pcVar23 + 0x5d324)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5d324)" ( (binary_expression "pcVar23 + 0x5d324" identifier + number_literal) )))))) ;) (expression_statement "pwVar18 = (word *)*puVar21;" (assignment_expression "pwVar18 = (word *)*puVar21" identifier = (cast_expression "(word *)*puVar21" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar21" * identifier))) ;) (expression_statement "pwStack_194 = pwVar16;" (assignment_expression "pwStack_194 = pwVar16" identifier = identifier) ;) (expression_statement "pbStack_190 = param_4;" (assignment_expression "pbStack_190 = param_4" identifier = identifier) ;) (expression_statement "pwStack_18c = unaff_s2;" (assignment_expression "pwStack_18c = unaff_s2" identifier = identifier) ;) (expression_statement "pwStack_188 = unaff_s3;" (assignment_expression "pwStack_188 = unaff_s3" identifier = identifier) ;) (expression_statement "pwStack_184 = unaff_s4;" (assignment_expression "pwStack_184 = unaff_s4" identifier = identifier) ;) (expression_statement "pwStack_180 = unaff_s5;" (assignment_expression "pwStack_180 = unaff_s5" identifier = identifier) ;) (expression_statement "pwStack_17c = unaff_s6;" (assignment_expression "pwStack_17c = unaff_s6" identifier = identifier) ;) (expression_statement "pwStack_178 = unaff_s7;" (assignment_expression "pwStack_178 = unaff_s7" identifier = identifier) ;) (expression_statement "pcStack_174 = pcVar25;" (assignment_expression "pcStack_174 = pcVar25" identifier = identifier) ;) (if_statement "if (pwVar18 == (word *)0x0) {\n    pwVar6 = (word *)0x0;\n  }\n  else {\n    pwVar20 = pwVar14;\n    pwVar6 = pwVar18;\n    if (**(int **)(pcVar23 + 0x5cd28) != 0) {\n      if (*(int *)pwVar18 == 0) {\nLAB_000fb370:\n        uVar7 = *(undefined4 *)pwVar18;\n      }\n      else {\n        pwVar15 = (word *)0x0;\n        pwVar16 = pwVar18;\n        do {\n          pwVar16 = pwVar16 + 2;\n          pwVar15 = (word *)((int)pwVar15 + 1);\n        } while (*(int *)pwVar16 != 0);\n        if ((pwVar15 == (word *)0x0) || (**(int **)(pcVar23 + 0x5c3c8) == 0)) goto LAB_000fb370;\n        pwVar15 = (word *)&DAT_00000004;\n        (**(code **)(pcVar23 + 0x5d0c0))();\n        uVar7 = *(undefined4 *)pwVar18;\n      }\n      iVar5 = (**(code **)(pcStack_1a8 + -0x60fc))(uVar7);\n      uVar7 = (**(code **)(pcStack_1a8 + -0x7f88))(iVar5 + 1);\n      unaff_s4 = (word *)(**(code **)(pcStack_1a8 + -0x6074))(uVar7,*(undefined4 *)pwVar18);\n      if (*(int *)(pwVar18 + 2) == 0) {\n        unaff_s6 = (word *)0x0;\n        pbVar24 = (byte *)0x3;\n        pwVar20 = (word *)0x0;\n      }\n      else {\n        unaff_s6 = (word *)0x0;\n        unaff_s7 = (word *)auStack_19d;\n        pwVar16 = pwVar18;\n        do {\n          uVar7 = *(undefined4 *)pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(uVar7);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(uVar7);\n            *(word **)pwVar16 = unaff_s7;\n          }\n          else {\n            unaff_s6 = (word *)((int)unaff_s6 + 1);\n          }\n          pwVar20 = *(word **)(pwVar16 + 4);\n          pbVar24 = (byte *)((int)unaff_s6 + 3);\n          pwVar16 = pwVar16 + 2;\n        } while (pwVar20 != (word *)0x0);\n      }\n      pwVar6 = (word *)(**(code **)(pcStack_1a8 + -0x7f88))((int)pbVar24 << 2);\n      pbVar24 = *(byte **)(pwVar18 + 2);\n      if (pbVar24 == (byte *)0x0) {\n        pbVar24 = (byte *)(pwVar6 + 2);\n        pbVar24[0] = 0;\n        pbVar24[1] = 0;\n        pbVar24[2] = 0;\n        pbVar24[3] = 0;\n        pwVar16 = (word *)0x1;\n        if (*(undefined1 **)pwVar18 != auStack_19d) {\n          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);\n          goto LAB_000fb4b4;\n        }\n        *(word **)pwVar6 = unaff_s4;\n      }\n      else {\n        pwVar16 = (word *)0x1;\n        pwVar20 = (word *)auStack_19d;\n        pbVar12 = (byte *)(pwVar18 + 4);\n        do {\n          if ((word *)pbVar24 != pwVar20) {\n            *(byte **)(pwVar6 + (int)pwVar16 * 2) = pbVar24;\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\n          pbVar24 = *(byte **)pbVar12;\n          pbVar12 = pbVar12 + 4;\n        } while (pbVar24 != (byte *)0x0);\n        *(undefined4 *)(pwVar6 + (int)pwVar16 * 2) = 0;\n        if (*(undefined1 **)pwVar18 != auStack_19d) {\n          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);\nLAB_000fb4b4:\n          (*pcVar23)();\n        }\n        *(word **)pwVar6 = unaff_s4;\n        if (pwVar16 == (word *)0x2) {\n          pwVar16 = *(word **)(pwVar6 + 2);\n          pwVar20 = pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(unaff_s4);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(pwVar16);\n            pbVar24 = (byte *)(pwVar6 + 2);\n            pbVar24[0] = 0;\n            pbVar24[1] = 0;\n            pbVar24[2] = 0;\n            pbVar24[3] = 0;\n          }\n        }\n      }\n      (**(code **)(pcStack_1a8 + -0x798c))(pwVar18);\n      unaff_s5 = pwVar6;\n    }\n    unaff_s3 = pwVar14;\n    pwVar18 = pwVar6;\n    if (((code *)**(undefined4 **)(pcStack_1a8 + -0x703c) == (code *)0x0) ||\n       (pwVar14 == (word *)0x0)) goto LAB_000fb570;\n    if (*(int *)(pwVar6 + 2) == 0) {\n      pwVar16 = (word *)0x1;\n    }\n    else {\n      pwVar16 = (word *)0x1;\n      pbVar24 = (byte *)(pwVar6 + 4);\n      do {\n        iVar5 = *(int *)pbVar24;\n        pwVar16 = (word *)((int)pwVar16 + 1);\n        pbVar24 = pbVar24 + 4;\n      } while (iVar5 != 0);\n    }\n    (*(code *)**(undefined4 **)(pcStack_1a8 + -0x703c))(pwVar6);\n    unaff_s3 = *(word **)pwVar6;\n    if (unaff_s3 == (word *)0x0) {\n      (**(code **)(pcStack_1a8 + -0x5f94))(pwVar6);\n      *puVar21 = 0;\n      pwVar6 = (word *)0x0;\n      pwVar14 = pwVar20;\n      goto LAB_000fb578;\n    }\n    if (*(int *)(pwVar6 + 2) == 0) {\nLAB_000fb570:\n      *puVar21 = pwVar6;\n    }\n    else {\n      pbVar24 = (byte *)(pwVar6 + 4);\n      pwVar14 = (word *)0x1;\n      do {\n        pwVar20 = pwVar14;\n        iVar5 = *(int *)pbVar24;\n        pwVar14 = (word *)((int)pwVar20 + 1);\n        pbVar24 = pbVar24 + 4;\n      } while (iVar5 != 0);\n      pwVar16 = (word *)(uint)((int)pwVar14 < (int)pwVar16);\n      if (((int)pwVar14 < 2) || (pwVar15 = unaff_s3, pwVar16 == (word *)0x0)) goto LAB_000fb570;\n      FUN_000fab30(pwVar6);\n      (**(code **)(pcStack_1a8 + -0x5f94))(unaff_s3);\n      *puVar21 = pwVar6;\n    }\n    pwVar6 = (word *)0x1;\n    pwVar14 = pwVar20;\n  }" if (parenthesized_expression "(pwVar18 == (word *)0x0)" ( (binary_expression "pwVar18 == (word *)0x0" identifier == (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pwVar6 = (word *)0x0;\n  }" { (expression_statement "pwVar6 = (word *)0x0;" (assignment_expression "pwVar6 = (word *)0x0" identifier = (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n    pwVar20 = pwVar14;\n    pwVar6 = pwVar18;\n    if (**(int **)(pcVar23 + 0x5cd28) != 0) {\n      if (*(int *)pwVar18 == 0) {\nLAB_000fb370:\n        uVar7 = *(undefined4 *)pwVar18;\n      }\n      else {\n        pwVar15 = (word *)0x0;\n        pwVar16 = pwVar18;\n        do {\n          pwVar16 = pwVar16 + 2;\n          pwVar15 = (word *)((int)pwVar15 + 1);\n        } while (*(int *)pwVar16 != 0);\n        if ((pwVar15 == (word *)0x0) || (**(int **)(pcVar23 + 0x5c3c8) == 0)) goto LAB_000fb370;\n        pwVar15 = (word *)&DAT_00000004;\n        (**(code **)(pcVar23 + 0x5d0c0))();\n        uVar7 = *(undefined4 *)pwVar18;\n      }\n      iVar5 = (**(code **)(pcStack_1a8 + -0x60fc))(uVar7);\n      uVar7 = (**(code **)(pcStack_1a8 + -0x7f88))(iVar5 + 1);\n      unaff_s4 = (word *)(**(code **)(pcStack_1a8 + -0x6074))(uVar7,*(undefined4 *)pwVar18);\n      if (*(int *)(pwVar18 + 2) == 0) {\n        unaff_s6 = (word *)0x0;\n        pbVar24 = (byte *)0x3;\n        pwVar20 = (word *)0x0;\n      }\n      else {\n        unaff_s6 = (word *)0x0;\n        unaff_s7 = (word *)auStack_19d;\n        pwVar16 = pwVar18;\n        do {\n          uVar7 = *(undefined4 *)pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(uVar7);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(uVar7);\n            *(word **)pwVar16 = unaff_s7;\n          }\n          else {\n            unaff_s6 = (word *)((int)unaff_s6 + 1);\n          }\n          pwVar20 = *(word **)(pwVar16 + 4);\n          pbVar24 = (byte *)((int)unaff_s6 + 3);\n          pwVar16 = pwVar16 + 2;\n        } while (pwVar20 != (word *)0x0);\n      }\n      pwVar6 = (word *)(**(code **)(pcStack_1a8 + -0x7f88))((int)pbVar24 << 2);\n      pbVar24 = *(byte **)(pwVar18 + 2);\n      if (pbVar24 == (byte *)0x0) {\n        pbVar24 = (byte *)(pwVar6 + 2);\n        pbVar24[0] = 0;\n        pbVar24[1] = 0;\n        pbVar24[2] = 0;\n        pbVar24[3] = 0;\n        pwVar16 = (word *)0x1;\n        if (*(undefined1 **)pwVar18 != auStack_19d) {\n          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);\n          goto LAB_000fb4b4;\n        }\n        *(word **)pwVar6 = unaff_s4;\n      }\n      else {\n        pwVar16 = (word *)0x1;\n        pwVar20 = (word *)auStack_19d;\n        pbVar12 = (byte *)(pwVar18 + 4);\n        do {\n          if ((word *)pbVar24 != pwVar20) {\n            *(byte **)(pwVar6 + (int)pwVar16 * 2) = pbVar24;\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\n          pbVar24 = *(byte **)pbVar12;\n          pbVar12 = pbVar12 + 4;\n        } while (pbVar24 != (byte *)0x0);\n        *(undefined4 *)(pwVar6 + (int)pwVar16 * 2) = 0;\n        if (*(undefined1 **)pwVar18 != auStack_19d) {\n          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);\nLAB_000fb4b4:\n          (*pcVar23)();\n        }\n        *(word **)pwVar6 = unaff_s4;\n        if (pwVar16 == (word *)0x2) {\n          pwVar16 = *(word **)(pwVar6 + 2);\n          pwVar20 = pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(unaff_s4);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(pwVar16);\n            pbVar24 = (byte *)(pwVar6 + 2);\n            pbVar24[0] = 0;\n            pbVar24[1] = 0;\n            pbVar24[2] = 0;\n            pbVar24[3] = 0;\n          }\n        }\n      }\n      (**(code **)(pcStack_1a8 + -0x798c))(pwVar18);\n      unaff_s5 = pwVar6;\n    }\n    unaff_s3 = pwVar14;\n    pwVar18 = pwVar6;\n    if (((code *)**(undefined4 **)(pcStack_1a8 + -0x703c) == (code *)0x0) ||\n       (pwVar14 == (word *)0x0)) goto LAB_000fb570;\n    if (*(int *)(pwVar6 + 2) == 0) {\n      pwVar16 = (word *)0x1;\n    }\n    else {\n      pwVar16 = (word *)0x1;\n      pbVar24 = (byte *)(pwVar6 + 4);\n      do {\n        iVar5 = *(int *)pbVar24;\n        pwVar16 = (word *)((int)pwVar16 + 1);\n        pbVar24 = pbVar24 + 4;\n      } while (iVar5 != 0);\n    }\n    (*(code *)**(undefined4 **)(pcStack_1a8 + -0x703c))(pwVar6);\n    unaff_s3 = *(word **)pwVar6;\n    if (unaff_s3 == (word *)0x0) {\n      (**(code **)(pcStack_1a8 + -0x5f94))(pwVar6);\n      *puVar21 = 0;\n      pwVar6 = (word *)0x0;\n      pwVar14 = pwVar20;\n      goto LAB_000fb578;\n    }\n    if (*(int *)(pwVar6 + 2) == 0) {\nLAB_000fb570:\n      *puVar21 = pwVar6;\n    }\n    else {\n      pbVar24 = (byte *)(pwVar6 + 4);\n      pwVar14 = (word *)0x1;\n      do {\n        pwVar20 = pwVar14;\n        iVar5 = *(int *)pbVar24;\n        pwVar14 = (word *)((int)pwVar20 + 1);\n        pbVar24 = pbVar24 + 4;\n      } while (iVar5 != 0);\n      pwVar16 = (word *)(uint)((int)pwVar14 < (int)pwVar16);\n      if (((int)pwVar14 < 2) || (pwVar15 = unaff_s3, pwVar16 == (word *)0x0)) goto LAB_000fb570;\n      FUN_000fab30(pwVar6);\n      (**(code **)(pcStack_1a8 + -0x5f94))(unaff_s3);\n      *puVar21 = pwVar6;\n    }\n    pwVar6 = (word *)0x1;\n    pwVar14 = pwVar20;\n  }" else (compound_statement "{\n    pwVar20 = pwVar14;\n    pwVar6 = pwVar18;\n    if (**(int **)(pcVar23 + 0x5cd28) != 0) {\n      if (*(int *)pwVar18 == 0) {\nLAB_000fb370:\n        uVar7 = *(undefined4 *)pwVar18;\n      }\n      else {\n        pwVar15 = (word *)0x0;\n        pwVar16 = pwVar18;\n        do {\n          pwVar16 = pwVar16 + 2;\n          pwVar15 = (word *)((int)pwVar15 + 1);\n        } while (*(int *)pwVar16 != 0);\n        if ((pwVar15 == (word *)0x0) || (**(int **)(pcVar23 + 0x5c3c8) == 0)) goto LAB_000fb370;\n        pwVar15 = (word *)&DAT_00000004;\n        (**(code **)(pcVar23 + 0x5d0c0))();\n        uVar7 = *(undefined4 *)pwVar18;\n      }\n      iVar5 = (**(code **)(pcStack_1a8 + -0x60fc))(uVar7);\n      uVar7 = (**(code **)(pcStack_1a8 + -0x7f88))(iVar5 + 1);\n      unaff_s4 = (word *)(**(code **)(pcStack_1a8 + -0x6074))(uVar7,*(undefined4 *)pwVar18);\n      if (*(int *)(pwVar18 + 2) == 0) {\n        unaff_s6 = (word *)0x0;\n        pbVar24 = (byte *)0x3;\n        pwVar20 = (word *)0x0;\n      }\n      else {\n        unaff_s6 = (word *)0x0;\n        unaff_s7 = (word *)auStack_19d;\n        pwVar16 = pwVar18;\n        do {\n          uVar7 = *(undefined4 *)pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(uVar7);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(uVar7);\n            *(word **)pwVar16 = unaff_s7;\n          }\n          else {\n            unaff_s6 = (word *)((int)unaff_s6 + 1);\n          }\n          pwVar20 = *(word **)(pwVar16 + 4);\n          pbVar24 = (byte *)((int)unaff_s6 + 3);\n          pwVar16 = pwVar16 + 2;\n        } while (pwVar20 != (word *)0x0);\n      }\n      pwVar6 = (word *)(**(code **)(pcStack_1a8 + -0x7f88))((int)pbVar24 << 2);\n      pbVar24 = *(byte **)(pwVar18 + 2);\n      if (pbVar24 == (byte *)0x0) {\n        pbVar24 = (byte *)(pwVar6 + 2);\n        pbVar24[0] = 0;\n        pbVar24[1] = 0;\n        pbVar24[2] = 0;\n        pbVar24[3] = 0;\n        pwVar16 = (word *)0x1;\n        if (*(undefined1 **)pwVar18 != auStack_19d) {\n          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);\n          goto LAB_000fb4b4;\n        }\n        *(word **)pwVar6 = unaff_s4;\n      }\n      else {\n        pwVar16 = (word *)0x1;\n        pwVar20 = (word *)auStack_19d;\n        pbVar12 = (byte *)(pwVar18 + 4);\n        do {\n          if ((word *)pbVar24 != pwVar20) {\n            *(byte **)(pwVar6 + (int)pwVar16 * 2) = pbVar24;\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\n          pbVar24 = *(byte **)pbVar12;\n          pbVar12 = pbVar12 + 4;\n        } while (pbVar24 != (byte *)0x0);\n        *(undefined4 *)(pwVar6 + (int)pwVar16 * 2) = 0;\n        if (*(undefined1 **)pwVar18 != auStack_19d) {\n          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);\nLAB_000fb4b4:\n          (*pcVar23)();\n        }\n        *(word **)pwVar6 = unaff_s4;\n        if (pwVar16 == (word *)0x2) {\n          pwVar16 = *(word **)(pwVar6 + 2);\n          pwVar20 = pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(unaff_s4);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(pwVar16);\n            pbVar24 = (byte *)(pwVar6 + 2);\n            pbVar24[0] = 0;\n            pbVar24[1] = 0;\n            pbVar24[2] = 0;\n            pbVar24[3] = 0;\n          }\n        }\n      }\n      (**(code **)(pcStack_1a8 + -0x798c))(pwVar18);\n      unaff_s5 = pwVar6;\n    }\n    unaff_s3 = pwVar14;\n    pwVar18 = pwVar6;\n    if (((code *)**(undefined4 **)(pcStack_1a8 + -0x703c) == (code *)0x0) ||\n       (pwVar14 == (word *)0x0)) goto LAB_000fb570;\n    if (*(int *)(pwVar6 + 2) == 0) {\n      pwVar16 = (word *)0x1;\n    }\n    else {\n      pwVar16 = (word *)0x1;\n      pbVar24 = (byte *)(pwVar6 + 4);\n      do {\n        iVar5 = *(int *)pbVar24;\n        pwVar16 = (word *)((int)pwVar16 + 1);\n        pbVar24 = pbVar24 + 4;\n      } while (iVar5 != 0);\n    }\n    (*(code *)**(undefined4 **)(pcStack_1a8 + -0x703c))(pwVar6);\n    unaff_s3 = *(word **)pwVar6;\n    if (unaff_s3 == (word *)0x0) {\n      (**(code **)(pcStack_1a8 + -0x5f94))(pwVar6);\n      *puVar21 = 0;\n      pwVar6 = (word *)0x0;\n      pwVar14 = pwVar20;\n      goto LAB_000fb578;\n    }\n    if (*(int *)(pwVar6 + 2) == 0) {\nLAB_000fb570:\n      *puVar21 = pwVar6;\n    }\n    else {\n      pbVar24 = (byte *)(pwVar6 + 4);\n      pwVar14 = (word *)0x1;\n      do {\n        pwVar20 = pwVar14;\n        iVar5 = *(int *)pbVar24;\n        pwVar14 = (word *)((int)pwVar20 + 1);\n        pbVar24 = pbVar24 + 4;\n      } while (iVar5 != 0);\n      pwVar16 = (word *)(uint)((int)pwVar14 < (int)pwVar16);\n      if (((int)pwVar14 < 2) || (pwVar15 = unaff_s3, pwVar16 == (word *)0x0)) goto LAB_000fb570;\n      FUN_000fab30(pwVar6);\n      (**(code **)(pcStack_1a8 + -0x5f94))(unaff_s3);\n      *puVar21 = pwVar6;\n    }\n    pwVar6 = (word *)0x1;\n    pwVar14 = pwVar20;\n  }" { (expression_statement "pwVar20 = pwVar14;" (assignment_expression "pwVar20 = pwVar14" identifier = identifier) ;) (expression_statement "pwVar6 = pwVar18;" (assignment_expression "pwVar6 = pwVar18" identifier = identifier) ;) (if_statement "if (**(int **)(pcVar23 + 0x5cd28) != 0) {\n      if (*(int *)pwVar18 == 0) {\nLAB_000fb370:\n        uVar7 = *(undefined4 *)pwVar18;\n      }\n      else {\n        pwVar15 = (word *)0x0;\n        pwVar16 = pwVar18;\n        do {\n          pwVar16 = pwVar16 + 2;\n          pwVar15 = (word *)((int)pwVar15 + 1);\n        } while (*(int *)pwVar16 != 0);\n        if ((pwVar15 == (word *)0x0) || (**(int **)(pcVar23 + 0x5c3c8) == 0)) goto LAB_000fb370;\n        pwVar15 = (word *)&DAT_00000004;\n        (**(code **)(pcVar23 + 0x5d0c0))();\n        uVar7 = *(undefined4 *)pwVar18;\n      }\n      iVar5 = (**(code **)(pcStack_1a8 + -0x60fc))(uVar7);\n      uVar7 = (**(code **)(pcStack_1a8 + -0x7f88))(iVar5 + 1);\n      unaff_s4 = (word *)(**(code **)(pcStack_1a8 + -0x6074))(uVar7,*(undefined4 *)pwVar18);\n      if (*(int *)(pwVar18 + 2) == 0) {\n        unaff_s6 = (word *)0x0;\n        pbVar24 = (byte *)0x3;\n        pwVar20 = (word *)0x0;\n      }\n      else {\n        unaff_s6 = (word *)0x0;\n        unaff_s7 = (word *)auStack_19d;\n        pwVar16 = pwVar18;\n        do {\n          uVar7 = *(undefined4 *)pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(uVar7);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(uVar7);\n            *(word **)pwVar16 = unaff_s7;\n          }\n          else {\n            unaff_s6 = (word *)((int)unaff_s6 + 1);\n          }\n          pwVar20 = *(word **)(pwVar16 + 4);\n          pbVar24 = (byte *)((int)unaff_s6 + 3);\n          pwVar16 = pwVar16 + 2;\n        } while (pwVar20 != (word *)0x0);\n      }\n      pwVar6 = (word *)(**(code **)(pcStack_1a8 + -0x7f88))((int)pbVar24 << 2);\n      pbVar24 = *(byte **)(pwVar18 + 2);\n      if (pbVar24 == (byte *)0x0) {\n        pbVar24 = (byte *)(pwVar6 + 2);\n        pbVar24[0] = 0;\n        pbVar24[1] = 0;\n        pbVar24[2] = 0;\n        pbVar24[3] = 0;\n        pwVar16 = (word *)0x1;\n        if (*(undefined1 **)pwVar18 != auStack_19d) {\n          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);\n          goto LAB_000fb4b4;\n        }\n        *(word **)pwVar6 = unaff_s4;\n      }\n      else {\n        pwVar16 = (word *)0x1;\n        pwVar20 = (word *)auStack_19d;\n        pbVar12 = (byte *)(pwVar18 + 4);\n        do {\n          if ((word *)pbVar24 != pwVar20) {\n            *(byte **)(pwVar6 + (int)pwVar16 * 2) = pbVar24;\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\n          pbVar24 = *(byte **)pbVar12;\n          pbVar12 = pbVar12 + 4;\n        } while (pbVar24 != (byte *)0x0);\n        *(undefined4 *)(pwVar6 + (int)pwVar16 * 2) = 0;\n        if (*(undefined1 **)pwVar18 != auStack_19d) {\n          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);\nLAB_000fb4b4:\n          (*pcVar23)();\n        }\n        *(word **)pwVar6 = unaff_s4;\n        if (pwVar16 == (word *)0x2) {\n          pwVar16 = *(word **)(pwVar6 + 2);\n          pwVar20 = pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(unaff_s4);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(pwVar16);\n            pbVar24 = (byte *)(pwVar6 + 2);\n            pbVar24[0] = 0;\n            pbVar24[1] = 0;\n            pbVar24[2] = 0;\n            pbVar24[3] = 0;\n          }\n        }\n      }\n      (**(code **)(pcStack_1a8 + -0x798c))(pwVar18);\n      unaff_s5 = pwVar6;\n    }" if (parenthesized_expression "(**(int **)(pcVar23 + 0x5cd28) != 0)" ( (binary_expression "**(int **)(pcVar23 + 0x5cd28) != 0" (pointer_expression "**(int **)(pcVar23 + 0x5cd28)" * (pointer_expression "*(int **)(pcVar23 + 0x5cd28)" * (cast_expression "(int **)(pcVar23 + 0x5cd28)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5cd28)" ( (binary_expression "pcVar23 + 0x5cd28" identifier + number_literal) ))))) != number_literal) )) (compound_statement "{\n      if (*(int *)pwVar18 == 0) {\nLAB_000fb370:\n        uVar7 = *(undefined4 *)pwVar18;\n      }\n      else {\n        pwVar15 = (word *)0x0;\n        pwVar16 = pwVar18;\n        do {\n          pwVar16 = pwVar16 + 2;\n          pwVar15 = (word *)((int)pwVar15 + 1);\n        } while (*(int *)pwVar16 != 0);\n        if ((pwVar15 == (word *)0x0) || (**(int **)(pcVar23 + 0x5c3c8) == 0)) goto LAB_000fb370;\n        pwVar15 = (word *)&DAT_00000004;\n        (**(code **)(pcVar23 + 0x5d0c0))();\n        uVar7 = *(undefined4 *)pwVar18;\n      }\n      iVar5 = (**(code **)(pcStack_1a8 + -0x60fc))(uVar7);\n      uVar7 = (**(code **)(pcStack_1a8 + -0x7f88))(iVar5 + 1);\n      unaff_s4 = (word *)(**(code **)(pcStack_1a8 + -0x6074))(uVar7,*(undefined4 *)pwVar18);\n      if (*(int *)(pwVar18 + 2) == 0) {\n        unaff_s6 = (word *)0x0;\n        pbVar24 = (byte *)0x3;\n        pwVar20 = (word *)0x0;\n      }\n      else {\n        unaff_s6 = (word *)0x0;\n        unaff_s7 = (word *)auStack_19d;\n        pwVar16 = pwVar18;\n        do {\n          uVar7 = *(undefined4 *)pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(uVar7);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(uVar7);\n            *(word **)pwVar16 = unaff_s7;\n          }\n          else {\n            unaff_s6 = (word *)((int)unaff_s6 + 1);\n          }\n          pwVar20 = *(word **)(pwVar16 + 4);\n          pbVar24 = (byte *)((int)unaff_s6 + 3);\n          pwVar16 = pwVar16 + 2;\n        } while (pwVar20 != (word *)0x0);\n      }\n      pwVar6 = (word *)(**(code **)(pcStack_1a8 + -0x7f88))((int)pbVar24 << 2);\n      pbVar24 = *(byte **)(pwVar18 + 2);\n      if (pbVar24 == (byte *)0x0) {\n        pbVar24 = (byte *)(pwVar6 + 2);\n        pbVar24[0] = 0;\n        pbVar24[1] = 0;\n        pbVar24[2] = 0;\n        pbVar24[3] = 0;\n        pwVar16 = (word *)0x1;\n        if (*(undefined1 **)pwVar18 != auStack_19d) {\n          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);\n          goto LAB_000fb4b4;\n        }\n        *(word **)pwVar6 = unaff_s4;\n      }\n      else {\n        pwVar16 = (word *)0x1;\n        pwVar20 = (word *)auStack_19d;\n        pbVar12 = (byte *)(pwVar18 + 4);\n        do {\n          if ((word *)pbVar24 != pwVar20) {\n            *(byte **)(pwVar6 + (int)pwVar16 * 2) = pbVar24;\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\n          pbVar24 = *(byte **)pbVar12;\n          pbVar12 = pbVar12 + 4;\n        } while (pbVar24 != (byte *)0x0);\n        *(undefined4 *)(pwVar6 + (int)pwVar16 * 2) = 0;\n        if (*(undefined1 **)pwVar18 != auStack_19d) {\n          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);\nLAB_000fb4b4:\n          (*pcVar23)();\n        }\n        *(word **)pwVar6 = unaff_s4;\n        if (pwVar16 == (word *)0x2) {\n          pwVar16 = *(word **)(pwVar6 + 2);\n          pwVar20 = pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(unaff_s4);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(pwVar16);\n            pbVar24 = (byte *)(pwVar6 + 2);\n            pbVar24[0] = 0;\n            pbVar24[1] = 0;\n            pbVar24[2] = 0;\n            pbVar24[3] = 0;\n          }\n        }\n      }\n      (**(code **)(pcStack_1a8 + -0x798c))(pwVar18);\n      unaff_s5 = pwVar6;\n    }" { (if_statement "if (*(int *)pwVar18 == 0) {\nLAB_000fb370:\n        uVar7 = *(undefined4 *)pwVar18;\n      }\n      else {\n        pwVar15 = (word *)0x0;\n        pwVar16 = pwVar18;\n        do {\n          pwVar16 = pwVar16 + 2;\n          pwVar15 = (word *)((int)pwVar15 + 1);\n        } while (*(int *)pwVar16 != 0);\n        if ((pwVar15 == (word *)0x0) || (**(int **)(pcVar23 + 0x5c3c8) == 0)) goto LAB_000fb370;\n        pwVar15 = (word *)&DAT_00000004;\n        (**(code **)(pcVar23 + 0x5d0c0))();\n        uVar7 = *(undefined4 *)pwVar18;\n      }" if (parenthesized_expression "(*(int *)pwVar18 == 0)" ( (binary_expression "*(int *)pwVar18 == 0" (pointer_expression "*(int *)pwVar18" * (cast_expression "(int *)pwVar18" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal) )) (compound_statement "{\nLAB_000fb370:\n        uVar7 = *(undefined4 *)pwVar18;\n      }" { (labeled_statement "LAB_000fb370:\n        uVar7 = *(undefined4 *)pwVar18;" statement_identifier : (expression_statement "uVar7 = *(undefined4 *)pwVar18;" (assignment_expression "uVar7 = *(undefined4 *)pwVar18" identifier = (pointer_expression "*(undefined4 *)pwVar18" * (cast_expression "(undefined4 *)pwVar18" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;)) }) (else_clause "else {\n        pwVar15 = (word *)0x0;\n        pwVar16 = pwVar18;\n        do {\n          pwVar16 = pwVar16 + 2;\n          pwVar15 = (word *)((int)pwVar15 + 1);\n        } while (*(int *)pwVar16 != 0);\n        if ((pwVar15 == (word *)0x0) || (**(int **)(pcVar23 + 0x5c3c8) == 0)) goto LAB_000fb370;\n        pwVar15 = (word *)&DAT_00000004;\n        (**(code **)(pcVar23 + 0x5d0c0))();\n        uVar7 = *(undefined4 *)pwVar18;\n      }" else (compound_statement "{\n        pwVar15 = (word *)0x0;\n        pwVar16 = pwVar18;\n        do {\n          pwVar16 = pwVar16 + 2;\n          pwVar15 = (word *)((int)pwVar15 + 1);\n        } while (*(int *)pwVar16 != 0);\n        if ((pwVar15 == (word *)0x0) || (**(int **)(pcVar23 + 0x5c3c8) == 0)) goto LAB_000fb370;\n        pwVar15 = (word *)&DAT_00000004;\n        (**(code **)(pcVar23 + 0x5d0c0))();\n        uVar7 = *(undefined4 *)pwVar18;\n      }" { (expression_statement "pwVar15 = (word *)0x0;" (assignment_expression "pwVar15 = (word *)0x0" identifier = (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pwVar16 = pwVar18;" (assignment_expression "pwVar16 = pwVar18" identifier = identifier) ;) (do_statement "do {\n          pwVar16 = pwVar16 + 2;\n          pwVar15 = (word *)((int)pwVar15 + 1);\n        } while (*(int *)pwVar16 != 0);" do (compound_statement "{\n          pwVar16 = pwVar16 + 2;\n          pwVar15 = (word *)((int)pwVar15 + 1);\n        }" { (expression_statement "pwVar16 = pwVar16 + 2;" (assignment_expression "pwVar16 = pwVar16 + 2" identifier = (binary_expression "pwVar16 + 2" identifier + number_literal)) ;) (expression_statement "pwVar15 = (word *)((int)pwVar15 + 1);" (assignment_expression "pwVar15 = (word *)((int)pwVar15 + 1)" identifier = (cast_expression "(word *)((int)pwVar15 + 1)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwVar15 + 1)" ( (binary_expression "(int)pwVar15 + 1" (cast_expression "(int)pwVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(*(int *)pwVar16 != 0)" ( (binary_expression "*(int *)pwVar16 != 0" (pointer_expression "*(int *)pwVar16" * (cast_expression "(int *)pwVar16" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) )) ;) (if_statement "if ((pwVar15 == (word *)0x0) || (**(int **)(pcVar23 + 0x5c3c8) == 0)) goto LAB_000fb370;" if (parenthesized_expression "((pwVar15 == (word *)0x0) || (**(int **)(pcVar23 + 0x5c3c8) == 0))" ( (binary_expression "(pwVar15 == (word *)0x0) || (**(int **)(pcVar23 + 0x5c3c8) == 0)" (parenthesized_expression "(pwVar15 == (word *)0x0)" ( (binary_expression "pwVar15 == (word *)0x0" identifier == (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(**(int **)(pcVar23 + 0x5c3c8) == 0)" ( (binary_expression "**(int **)(pcVar23 + 0x5c3c8) == 0" (pointer_expression "**(int **)(pcVar23 + 0x5c3c8)" * (pointer_expression "*(int **)(pcVar23 + 0x5c3c8)" * (cast_expression "(int **)(pcVar23 + 0x5c3c8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5c3c8)" ( (binary_expression "pcVar23 + 0x5c3c8" identifier + number_literal) ))))) == number_literal) ))) )) (goto_statement "goto LAB_000fb370;" goto statement_identifier ;)) (expression_statement "pwVar15 = (word *)&DAT_00000004;" (assignment_expression "pwVar15 = (word *)&DAT_00000004" identifier = (cast_expression "(word *)&DAT_00000004" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000004" & identifier))) ;) (expression_statement "(**(code **)(pcVar23 + 0x5d0c0))();" (call_expression "(**(code **)(pcVar23 + 0x5d0c0))()" (parenthesized_expression "(**(code **)(pcVar23 + 0x5d0c0))" ( (pointer_expression "**(code **)(pcVar23 + 0x5d0c0)" * (pointer_expression "*(code **)(pcVar23 + 0x5d0c0)" * (cast_expression "(code **)(pcVar23 + 0x5d0c0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5d0c0)" ( (binary_expression "pcVar23 + 0x5d0c0" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "uVar7 = *(undefined4 *)pwVar18;" (assignment_expression "uVar7 = *(undefined4 *)pwVar18" identifier = (pointer_expression "*(undefined4 *)pwVar18" * (cast_expression "(undefined4 *)pwVar18" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) }))) (expression_statement "iVar5 = (**(code **)(pcStack_1a8 + -0x60fc))(uVar7);" (assignment_expression "iVar5 = (**(code **)(pcStack_1a8 + -0x60fc))(uVar7)" identifier = (call_expression "(**(code **)(pcStack_1a8 + -0x60fc))(uVar7)" (parenthesized_expression "(**(code **)(pcStack_1a8 + -0x60fc))" ( (pointer_expression "**(code **)(pcStack_1a8 + -0x60fc)" * (pointer_expression "*(code **)(pcStack_1a8 + -0x60fc)" * (cast_expression "(code **)(pcStack_1a8 + -0x60fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1a8 + -0x60fc)" ( (binary_expression "pcStack_1a8 + -0x60fc" identifier + number_literal) ))))) )) (argument_list "(uVar7)" ( identifier )))) ;) (expression_statement "uVar7 = (**(code **)(pcStack_1a8 + -0x7f88))(iVar5 + 1);" (assignment_expression "uVar7 = (**(code **)(pcStack_1a8 + -0x7f88))(iVar5 + 1)" identifier = (call_expression "(**(code **)(pcStack_1a8 + -0x7f88))(iVar5 + 1)" (parenthesized_expression "(**(code **)(pcStack_1a8 + -0x7f88))" ( (pointer_expression "**(code **)(pcStack_1a8 + -0x7f88)" * (pointer_expression "*(code **)(pcStack_1a8 + -0x7f88)" * (cast_expression "(code **)(pcStack_1a8 + -0x7f88)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1a8 + -0x7f88)" ( (binary_expression "pcStack_1a8 + -0x7f88" identifier + number_literal) ))))) )) (argument_list "(iVar5 + 1)" ( (binary_expression "iVar5 + 1" identifier + number_literal) )))) ;) (expression_statement "unaff_s4 = (word *)(**(code **)(pcStack_1a8 + -0x6074))(uVar7,*(undefined4 *)pwVar18);" (assignment_expression "unaff_s4 = (word *)(**(code **)(pcStack_1a8 + -0x6074))(uVar7,*(undefined4 *)pwVar18)" identifier = (cast_expression "(word *)(**(code **)(pcStack_1a8 + -0x6074))(uVar7,*(undefined4 *)pwVar18)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_1a8 + -0x6074))(uVar7,*(undefined4 *)pwVar18)" (parenthesized_expression "(**(code **)(pcStack_1a8 + -0x6074))" ( (pointer_expression "**(code **)(pcStack_1a8 + -0x6074)" * (pointer_expression "*(code **)(pcStack_1a8 + -0x6074)" * (cast_expression "(code **)(pcStack_1a8 + -0x6074)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1a8 + -0x6074)" ( (binary_expression "pcStack_1a8 + -0x6074" identifier + number_literal) ))))) )) (argument_list "(uVar7,*(undefined4 *)pwVar18)" ( identifier , (pointer_expression "*(undefined4 *)pwVar18" * (cast_expression "(undefined4 *)pwVar18" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))))) ;) (if_statement "if (*(int *)(pwVar18 + 2) == 0) {\n        unaff_s6 = (word *)0x0;\n        pbVar24 = (byte *)0x3;\n        pwVar20 = (word *)0x0;\n      }\n      else {\n        unaff_s6 = (word *)0x0;\n        unaff_s7 = (word *)auStack_19d;\n        pwVar16 = pwVar18;\n        do {\n          uVar7 = *(undefined4 *)pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(uVar7);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(uVar7);\n            *(word **)pwVar16 = unaff_s7;\n          }\n          else {\n            unaff_s6 = (word *)((int)unaff_s6 + 1);\n          }\n          pwVar20 = *(word **)(pwVar16 + 4);\n          pbVar24 = (byte *)((int)unaff_s6 + 3);\n          pwVar16 = pwVar16 + 2;\n        } while (pwVar20 != (word *)0x0);\n      }" if (parenthesized_expression "(*(int *)(pwVar18 + 2) == 0)" ( (binary_expression "*(int *)(pwVar18 + 2) == 0" (pointer_expression "*(int *)(pwVar18 + 2)" * (cast_expression "(int *)(pwVar18 + 2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pwVar18 + 2)" ( (binary_expression "pwVar18 + 2" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        unaff_s6 = (word *)0x0;\n        pbVar24 = (byte *)0x3;\n        pwVar20 = (word *)0x0;\n      }" { (expression_statement "unaff_s6 = (word *)0x0;" (assignment_expression "unaff_s6 = (word *)0x0" identifier = (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar24 = (byte *)0x3;" (assignment_expression "pbVar24 = (byte *)0x3" identifier = (cast_expression "(byte *)0x3" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pwVar20 = (word *)0x0;" (assignment_expression "pwVar20 = (word *)0x0" identifier = (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n        unaff_s6 = (word *)0x0;\n        unaff_s7 = (word *)auStack_19d;\n        pwVar16 = pwVar18;\n        do {\n          uVar7 = *(undefined4 *)pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(uVar7);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(uVar7);\n            *(word **)pwVar16 = unaff_s7;\n          }\n          else {\n            unaff_s6 = (word *)((int)unaff_s6 + 1);\n          }\n          pwVar20 = *(word **)(pwVar16 + 4);\n          pbVar24 = (byte *)((int)unaff_s6 + 3);\n          pwVar16 = pwVar16 + 2;\n        } while (pwVar20 != (word *)0x0);\n      }" else (compound_statement "{\n        unaff_s6 = (word *)0x0;\n        unaff_s7 = (word *)auStack_19d;\n        pwVar16 = pwVar18;\n        do {\n          uVar7 = *(undefined4 *)pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(uVar7);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(uVar7);\n            *(word **)pwVar16 = unaff_s7;\n          }\n          else {\n            unaff_s6 = (word *)((int)unaff_s6 + 1);\n          }\n          pwVar20 = *(word **)(pwVar16 + 4);\n          pbVar24 = (byte *)((int)unaff_s6 + 3);\n          pwVar16 = pwVar16 + 2;\n        } while (pwVar20 != (word *)0x0);\n      }" { (expression_statement "unaff_s6 = (word *)0x0;" (assignment_expression "unaff_s6 = (word *)0x0" identifier = (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "unaff_s7 = (word *)auStack_19d;" (assignment_expression "unaff_s7 = (word *)auStack_19d" identifier = (cast_expression "(word *)auStack_19d" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pwVar16 = pwVar18;" (assignment_expression "pwVar16 = pwVar18" identifier = identifier) ;) (do_statement "do {\n          uVar7 = *(undefined4 *)pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(uVar7);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(uVar7);\n            *(word **)pwVar16 = unaff_s7;\n          }\n          else {\n            unaff_s6 = (word *)((int)unaff_s6 + 1);\n          }\n          pwVar20 = *(word **)(pwVar16 + 4);\n          pbVar24 = (byte *)((int)unaff_s6 + 3);\n          pwVar16 = pwVar16 + 2;\n        } while (pwVar20 != (word *)0x0);" do (compound_statement "{\n          uVar7 = *(undefined4 *)pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(uVar7);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(uVar7);\n            *(word **)pwVar16 = unaff_s7;\n          }\n          else {\n            unaff_s6 = (word *)((int)unaff_s6 + 1);\n          }\n          pwVar20 = *(word **)(pwVar16 + 4);\n          pbVar24 = (byte *)((int)unaff_s6 + 3);\n          pwVar16 = pwVar16 + 2;\n        }" { (expression_statement "uVar7 = *(undefined4 *)pwVar16;" (assignment_expression "uVar7 = *(undefined4 *)pwVar16" identifier = (pointer_expression "*(undefined4 *)pwVar16" * (cast_expression "(undefined4 *)pwVar16" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(uVar7);" (assignment_expression "iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(uVar7)" identifier = (call_expression "(**(code **)(pcStack_1a8 + -0x5f48))(uVar7)" (parenthesized_expression "(**(code **)(pcStack_1a8 + -0x5f48))" ( (pointer_expression "**(code **)(pcStack_1a8 + -0x5f48)" * (pointer_expression "*(code **)(pcStack_1a8 + -0x5f48)" * (cast_expression "(code **)(pcStack_1a8 + -0x5f48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1a8 + -0x5f48)" ( (binary_expression "pcStack_1a8 + -0x5f48" identifier + number_literal) ))))) )) (argument_list "(uVar7)" ( identifier )))) ;) (if_statement "if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(uVar7);\n            *(word **)pwVar16 = unaff_s7;\n          }\n          else {\n            unaff_s6 = (word *)((int)unaff_s6 + 1);\n          }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n            (**(code **)(pcStack_1a8 + -0x798c))(uVar7);\n            *(word **)pwVar16 = unaff_s7;\n          }" { (expression_statement "(**(code **)(pcStack_1a8 + -0x798c))(uVar7);" (call_expression "(**(code **)(pcStack_1a8 + -0x798c))(uVar7)" (parenthesized_expression "(**(code **)(pcStack_1a8 + -0x798c))" ( (pointer_expression "**(code **)(pcStack_1a8 + -0x798c)" * (pointer_expression "*(code **)(pcStack_1a8 + -0x798c)" * (cast_expression "(code **)(pcStack_1a8 + -0x798c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1a8 + -0x798c)" ( (binary_expression "pcStack_1a8 + -0x798c" identifier + number_literal) ))))) )) (argument_list "(uVar7)" ( identifier ))) ;) (expression_statement "*(word **)pwVar16 = unaff_s7;" (assignment_expression "*(word **)pwVar16 = unaff_s7" (pointer_expression "*(word **)pwVar16" * (cast_expression "(word **)pwVar16" ( (type_descriptor "word **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = identifier) ;) }) (else_clause "else {\n            unaff_s6 = (word *)((int)unaff_s6 + 1);\n          }" else (compound_statement "{\n            unaff_s6 = (word *)((int)unaff_s6 + 1);\n          }" { (expression_statement "unaff_s6 = (word *)((int)unaff_s6 + 1);" (assignment_expression "unaff_s6 = (word *)((int)unaff_s6 + 1)" identifier = (cast_expression "(word *)((int)unaff_s6 + 1)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s6 + 1)" ( (binary_expression "(int)unaff_s6 + 1" (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }))) (expression_statement "pwVar20 = *(word **)(pwVar16 + 4);" (assignment_expression "pwVar20 = *(word **)(pwVar16 + 4)" identifier = (pointer_expression "*(word **)(pwVar16 + 4)" * (cast_expression "(word **)(pwVar16 + 4)" ( (type_descriptor "word **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pwVar16 + 4)" ( (binary_expression "pwVar16 + 4" identifier + number_literal) ))))) ;) (expression_statement "pbVar24 = (byte *)((int)unaff_s6 + 3);" (assignment_expression "pbVar24 = (byte *)((int)unaff_s6 + 3)" identifier = (cast_expression "(byte *)((int)unaff_s6 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s6 + 3)" ( (binary_expression "(int)unaff_s6 + 3" (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pwVar16 = pwVar16 + 2;" (assignment_expression "pwVar16 = pwVar16 + 2" identifier = (binary_expression "pwVar16 + 2" identifier + number_literal)) ;) }) while (parenthesized_expression "(pwVar20 != (word *)0x0)" ( (binary_expression "pwVar20 != (word *)0x0" identifier != (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) }))) (expression_statement "pwVar6 = (word *)(**(code **)(pcStack_1a8 + -0x7f88))((int)pbVar24 << 2);" (assignment_expression "pwVar6 = (word *)(**(code **)(pcStack_1a8 + -0x7f88))((int)pbVar24 << 2)" identifier = (cast_expression "(word *)(**(code **)(pcStack_1a8 + -0x7f88))((int)pbVar24 << 2)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_1a8 + -0x7f88))((int)pbVar24 << 2)" (parenthesized_expression "(**(code **)(pcStack_1a8 + -0x7f88))" ( (pointer_expression "**(code **)(pcStack_1a8 + -0x7f88)" * (pointer_expression "*(code **)(pcStack_1a8 + -0x7f88)" * (cast_expression "(code **)(pcStack_1a8 + -0x7f88)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1a8 + -0x7f88)" ( (binary_expression "pcStack_1a8 + -0x7f88" identifier + number_literal) ))))) )) (argument_list "((int)pbVar24 << 2)" ( (binary_expression "(int)pbVar24 << 2" (cast_expression "(int)pbVar24" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal) ))))) ;) (expression_statement "pbVar24 = *(byte **)(pwVar18 + 2);" (assignment_expression "pbVar24 = *(byte **)(pwVar18 + 2)" identifier = (pointer_expression "*(byte **)(pwVar18 + 2)" * (cast_expression "(byte **)(pwVar18 + 2)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pwVar18 + 2)" ( (binary_expression "pwVar18 + 2" identifier + number_literal) ))))) ;) (if_statement "if (pbVar24 == (byte *)0x0) {\n        pbVar24 = (byte *)(pwVar6 + 2);\n        pbVar24[0] = 0;\n        pbVar24[1] = 0;\n        pbVar24[2] = 0;\n        pbVar24[3] = 0;\n        pwVar16 = (word *)0x1;\n        if (*(undefined1 **)pwVar18 != auStack_19d) {\n          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);\n          goto LAB_000fb4b4;\n        }\n        *(word **)pwVar6 = unaff_s4;\n      }\n      else {\n        pwVar16 = (word *)0x1;\n        pwVar20 = (word *)auStack_19d;\n        pbVar12 = (byte *)(pwVar18 + 4);\n        do {\n          if ((word *)pbVar24 != pwVar20) {\n            *(byte **)(pwVar6 + (int)pwVar16 * 2) = pbVar24;\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\n          pbVar24 = *(byte **)pbVar12;\n          pbVar12 = pbVar12 + 4;\n        } while (pbVar24 != (byte *)0x0);\n        *(undefined4 *)(pwVar6 + (int)pwVar16 * 2) = 0;\n        if (*(undefined1 **)pwVar18 != auStack_19d) {\n          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);\nLAB_000fb4b4:\n          (*pcVar23)();\n        }\n        *(word **)pwVar6 = unaff_s4;\n        if (pwVar16 == (word *)0x2) {\n          pwVar16 = *(word **)(pwVar6 + 2);\n          pwVar20 = pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(unaff_s4);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(pwVar16);\n            pbVar24 = (byte *)(pwVar6 + 2);\n            pbVar24[0] = 0;\n            pbVar24[1] = 0;\n            pbVar24[2] = 0;\n            pbVar24[3] = 0;\n          }\n        }\n      }" if (parenthesized_expression "(pbVar24 == (byte *)0x0)" ( (binary_expression "pbVar24 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pbVar24 = (byte *)(pwVar6 + 2);\n        pbVar24[0] = 0;\n        pbVar24[1] = 0;\n        pbVar24[2] = 0;\n        pbVar24[3] = 0;\n        pwVar16 = (word *)0x1;\n        if (*(undefined1 **)pwVar18 != auStack_19d) {\n          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);\n          goto LAB_000fb4b4;\n        }\n        *(word **)pwVar6 = unaff_s4;\n      }" { (expression_statement "pbVar24 = (byte *)(pwVar6 + 2);" (assignment_expression "pbVar24 = (byte *)(pwVar6 + 2)" identifier = (cast_expression "(byte *)(pwVar6 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pwVar6 + 2)" ( (binary_expression "pwVar6 + 2" identifier + number_literal) )))) ;) (expression_statement "pbVar24[0] = 0;" (assignment_expression "pbVar24[0] = 0" (subscript_expression "pbVar24[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar24[1] = 0;" (assignment_expression "pbVar24[1] = 0" (subscript_expression "pbVar24[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar24[2] = 0;" (assignment_expression "pbVar24[2] = 0" (subscript_expression "pbVar24[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar24[3] = 0;" (assignment_expression "pbVar24[3] = 0" (subscript_expression "pbVar24[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pwVar16 = (word *)0x1;" (assignment_expression "pwVar16 = (word *)0x1" identifier = (cast_expression "(word *)0x1" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (*(undefined1 **)pwVar18 != auStack_19d) {\n          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);\n          goto LAB_000fb4b4;\n        }" if (parenthesized_expression "(*(undefined1 **)pwVar18 != auStack_19d)" ( (binary_expression "*(undefined1 **)pwVar18 != auStack_19d" (pointer_expression "*(undefined1 **)pwVar18" * (cast_expression "(undefined1 **)pwVar18" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) != identifier) )) (compound_statement "{\n          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);\n          goto LAB_000fb4b4;\n        }" { (expression_statement "pcVar23 = *(code **)(pcStack_1a8 + -0x798c);" (assignment_expression "pcVar23 = *(code **)(pcStack_1a8 + -0x798c)" identifier = (pointer_expression "*(code **)(pcStack_1a8 + -0x798c)" * (cast_expression "(code **)(pcStack_1a8 + -0x798c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1a8 + -0x798c)" ( (binary_expression "pcStack_1a8 + -0x798c" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_000fb4b4;" goto statement_identifier ;) })) (expression_statement "*(word **)pwVar6 = unaff_s4;" (assignment_expression "*(word **)pwVar6 = unaff_s4" (pointer_expression "*(word **)pwVar6" * (cast_expression "(word **)pwVar6" ( (type_descriptor "word **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = identifier) ;) }) (else_clause "else {\n        pwVar16 = (word *)0x1;\n        pwVar20 = (word *)auStack_19d;\n        pbVar12 = (byte *)(pwVar18 + 4);\n        do {\n          if ((word *)pbVar24 != pwVar20) {\n            *(byte **)(pwVar6 + (int)pwVar16 * 2) = pbVar24;\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\n          pbVar24 = *(byte **)pbVar12;\n          pbVar12 = pbVar12 + 4;\n        } while (pbVar24 != (byte *)0x0);\n        *(undefined4 *)(pwVar6 + (int)pwVar16 * 2) = 0;\n        if (*(undefined1 **)pwVar18 != auStack_19d) {\n          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);\nLAB_000fb4b4:\n          (*pcVar23)();\n        }\n        *(word **)pwVar6 = unaff_s4;\n        if (pwVar16 == (word *)0x2) {\n          pwVar16 = *(word **)(pwVar6 + 2);\n          pwVar20 = pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(unaff_s4);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(pwVar16);\n            pbVar24 = (byte *)(pwVar6 + 2);\n            pbVar24[0] = 0;\n            pbVar24[1] = 0;\n            pbVar24[2] = 0;\n            pbVar24[3] = 0;\n          }\n        }\n      }" else (compound_statement "{\n        pwVar16 = (word *)0x1;\n        pwVar20 = (word *)auStack_19d;\n        pbVar12 = (byte *)(pwVar18 + 4);\n        do {\n          if ((word *)pbVar24 != pwVar20) {\n            *(byte **)(pwVar6 + (int)pwVar16 * 2) = pbVar24;\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\n          pbVar24 = *(byte **)pbVar12;\n          pbVar12 = pbVar12 + 4;\n        } while (pbVar24 != (byte *)0x0);\n        *(undefined4 *)(pwVar6 + (int)pwVar16 * 2) = 0;\n        if (*(undefined1 **)pwVar18 != auStack_19d) {\n          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);\nLAB_000fb4b4:\n          (*pcVar23)();\n        }\n        *(word **)pwVar6 = unaff_s4;\n        if (pwVar16 == (word *)0x2) {\n          pwVar16 = *(word **)(pwVar6 + 2);\n          pwVar20 = pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(unaff_s4);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(pwVar16);\n            pbVar24 = (byte *)(pwVar6 + 2);\n            pbVar24[0] = 0;\n            pbVar24[1] = 0;\n            pbVar24[2] = 0;\n            pbVar24[3] = 0;\n          }\n        }\n      }" { (expression_statement "pwVar16 = (word *)0x1;" (assignment_expression "pwVar16 = (word *)0x1" identifier = (cast_expression "(word *)0x1" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pwVar20 = (word *)auStack_19d;" (assignment_expression "pwVar20 = (word *)auStack_19d" identifier = (cast_expression "(word *)auStack_19d" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pbVar12 = (byte *)(pwVar18 + 4);" (assignment_expression "pbVar12 = (byte *)(pwVar18 + 4)" identifier = (cast_expression "(byte *)(pwVar18 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pwVar18 + 4)" ( (binary_expression "pwVar18 + 4" identifier + number_literal) )))) ;) (do_statement "do {\n          if ((word *)pbVar24 != pwVar20) {\n            *(byte **)(pwVar6 + (int)pwVar16 * 2) = pbVar24;\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\n          pbVar24 = *(byte **)pbVar12;\n          pbVar12 = pbVar12 + 4;\n        } while (pbVar24 != (byte *)0x0);" do (compound_statement "{\n          if ((word *)pbVar24 != pwVar20) {\n            *(byte **)(pwVar6 + (int)pwVar16 * 2) = pbVar24;\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\n          pbVar24 = *(byte **)pbVar12;\n          pbVar12 = pbVar12 + 4;\n        }" { (if_statement "if ((word *)pbVar24 != pwVar20) {\n            *(byte **)(pwVar6 + (int)pwVar16 * 2) = pbVar24;\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }" if (parenthesized_expression "((word *)pbVar24 != pwVar20)" ( (binary_expression "(word *)pbVar24 != pwVar20" (cast_expression "(word *)pbVar24" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) != identifier) )) (compound_statement "{\n            *(byte **)(pwVar6 + (int)pwVar16 * 2) = pbVar24;\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }" { (expression_statement "*(byte **)(pwVar6 + (int)pwVar16 * 2) = pbVar24;" (assignment_expression "*(byte **)(pwVar6 + (int)pwVar16 * 2) = pbVar24" (pointer_expression "*(byte **)(pwVar6 + (int)pwVar16 * 2)" * (cast_expression "(byte **)(pwVar6 + (int)pwVar16 * 2)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pwVar6 + (int)pwVar16 * 2)" ( (binary_expression "pwVar6 + (int)pwVar16 * 2" identifier + (binary_expression "(int)pwVar16 * 2" (cast_expression "(int)pwVar16" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) = identifier) ;) (expression_statement "pwVar16 = (word *)((int)pwVar16 + 1);" (assignment_expression "pwVar16 = (word *)((int)pwVar16 + 1)" identifier = (cast_expression "(word *)((int)pwVar16 + 1)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwVar16 + 1)" ( (binary_expression "(int)pwVar16 + 1" (cast_expression "(int)pwVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) (expression_statement "pbVar24 = *(byte **)pbVar12;" (assignment_expression "pbVar24 = *(byte **)pbVar12" identifier = (pointer_expression "*(byte **)pbVar12" * (cast_expression "(byte **)pbVar12" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "pbVar12 = pbVar12 + 4;" (assignment_expression "pbVar12 = pbVar12 + 4" identifier = (binary_expression "pbVar12 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(pbVar24 != (byte *)0x0)" ( (binary_expression "pbVar24 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (expression_statement "*(undefined4 *)(pwVar6 + (int)pwVar16 * 2) = 0;" (assignment_expression "*(undefined4 *)(pwVar6 + (int)pwVar16 * 2) = 0" (pointer_expression "*(undefined4 *)(pwVar6 + (int)pwVar16 * 2)" * (cast_expression "(undefined4 *)(pwVar6 + (int)pwVar16 * 2)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pwVar6 + (int)pwVar16 * 2)" ( (binary_expression "pwVar6 + (int)pwVar16 * 2" identifier + (binary_expression "(int)pwVar16 * 2" (cast_expression "(int)pwVar16" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) = number_literal) ;) (if_statement "if (*(undefined1 **)pwVar18 != auStack_19d) {\n          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);\nLAB_000fb4b4:\n          (*pcVar23)();\n        }" if (parenthesized_expression "(*(undefined1 **)pwVar18 != auStack_19d)" ( (binary_expression "*(undefined1 **)pwVar18 != auStack_19d" (pointer_expression "*(undefined1 **)pwVar18" * (cast_expression "(undefined1 **)pwVar18" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) != identifier) )) (compound_statement "{\n          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);\nLAB_000fb4b4:\n          (*pcVar23)();\n        }" { (expression_statement "pcVar23 = *(code **)(pcStack_1a8 + -0x798c);" (assignment_expression "pcVar23 = *(code **)(pcStack_1a8 + -0x798c)" identifier = (pointer_expression "*(code **)(pcStack_1a8 + -0x798c)" * (cast_expression "(code **)(pcStack_1a8 + -0x798c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1a8 + -0x798c)" ( (binary_expression "pcStack_1a8 + -0x798c" identifier + number_literal) ))))) ;) (labeled_statement "LAB_000fb4b4:\n          (*pcVar23)();" statement_identifier : (expression_statement "(*pcVar23)();" (call_expression "(*pcVar23)()" (parenthesized_expression "(*pcVar23)" ( (pointer_expression "*pcVar23" * identifier) )) (argument_list "()" ( ))) ;)) })) (expression_statement "*(word **)pwVar6 = unaff_s4;" (assignment_expression "*(word **)pwVar6 = unaff_s4" (pointer_expression "*(word **)pwVar6" * (cast_expression "(word **)pwVar6" ( (type_descriptor "word **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = identifier) ;) (if_statement "if (pwVar16 == (word *)0x2) {\n          pwVar16 = *(word **)(pwVar6 + 2);\n          pwVar20 = pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(unaff_s4);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(pwVar16);\n            pbVar24 = (byte *)(pwVar6 + 2);\n            pbVar24[0] = 0;\n            pbVar24[1] = 0;\n            pbVar24[2] = 0;\n            pbVar24[3] = 0;\n          }\n        }" if (parenthesized_expression "(pwVar16 == (word *)0x2)" ( (binary_expression "pwVar16 == (word *)0x2" identifier == (cast_expression "(word *)0x2" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          pwVar16 = *(word **)(pwVar6 + 2);\n          pwVar20 = pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(unaff_s4);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(pwVar16);\n            pbVar24 = (byte *)(pwVar6 + 2);\n            pbVar24[0] = 0;\n            pbVar24[1] = 0;\n            pbVar24[2] = 0;\n            pbVar24[3] = 0;\n          }\n        }" { (expression_statement "pwVar16 = *(word **)(pwVar6 + 2);" (assignment_expression "pwVar16 = *(word **)(pwVar6 + 2)" identifier = (pointer_expression "*(word **)(pwVar6 + 2)" * (cast_expression "(word **)(pwVar6 + 2)" ( (type_descriptor "word **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pwVar6 + 2)" ( (binary_expression "pwVar6 + 2" identifier + number_literal) ))))) ;) (expression_statement "pwVar20 = pwVar16;" (assignment_expression "pwVar20 = pwVar16" identifier = identifier) ;) (expression_statement "iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(unaff_s4);" (assignment_expression "iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(unaff_s4)" identifier = (call_expression "(**(code **)(pcStack_1a8 + -0x5f48))(unaff_s4)" (parenthesized_expression "(**(code **)(pcStack_1a8 + -0x5f48))" ( (pointer_expression "**(code **)(pcStack_1a8 + -0x5f48)" * (pointer_expression "*(code **)(pcStack_1a8 + -0x5f48)" * (cast_expression "(code **)(pcStack_1a8 + -0x5f48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1a8 + -0x5f48)" ( (binary_expression "pcStack_1a8 + -0x5f48" identifier + number_literal) ))))) )) (argument_list "(unaff_s4)" ( identifier )))) ;) (if_statement "if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(pwVar16);\n            pbVar24 = (byte *)(pwVar6 + 2);\n            pbVar24[0] = 0;\n            pbVar24[1] = 0;\n            pbVar24[2] = 0;\n            pbVar24[3] = 0;\n          }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n            (**(code **)(pcStack_1a8 + -0x798c))(pwVar16);\n            pbVar24 = (byte *)(pwVar6 + 2);\n            pbVar24[0] = 0;\n            pbVar24[1] = 0;\n            pbVar24[2] = 0;\n            pbVar24[3] = 0;\n          }" { (expression_statement "(**(code **)(pcStack_1a8 + -0x798c))(pwVar16);" (call_expression "(**(code **)(pcStack_1a8 + -0x798c))(pwVar16)" (parenthesized_expression "(**(code **)(pcStack_1a8 + -0x798c))" ( (pointer_expression "**(code **)(pcStack_1a8 + -0x798c)" * (pointer_expression "*(code **)(pcStack_1a8 + -0x798c)" * (cast_expression "(code **)(pcStack_1a8 + -0x798c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1a8 + -0x798c)" ( (binary_expression "pcStack_1a8 + -0x798c" identifier + number_literal) ))))) )) (argument_list "(pwVar16)" ( identifier ))) ;) (expression_statement "pbVar24 = (byte *)(pwVar6 + 2);" (assignment_expression "pbVar24 = (byte *)(pwVar6 + 2)" identifier = (cast_expression "(byte *)(pwVar6 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pwVar6 + 2)" ( (binary_expression "pwVar6 + 2" identifier + number_literal) )))) ;) (expression_statement "pbVar24[0] = 0;" (assignment_expression "pbVar24[0] = 0" (subscript_expression "pbVar24[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar24[1] = 0;" (assignment_expression "pbVar24[1] = 0" (subscript_expression "pbVar24[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar24[2] = 0;" (assignment_expression "pbVar24[2] = 0" (subscript_expression "pbVar24[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar24[3] = 0;" (assignment_expression "pbVar24[3] = 0" (subscript_expression "pbVar24[3]" identifier [ number_literal ]) = number_literal) ;) })) })) }))) (expression_statement "(**(code **)(pcStack_1a8 + -0x798c))(pwVar18);" (call_expression "(**(code **)(pcStack_1a8 + -0x798c))(pwVar18)" (parenthesized_expression "(**(code **)(pcStack_1a8 + -0x798c))" ( (pointer_expression "**(code **)(pcStack_1a8 + -0x798c)" * (pointer_expression "*(code **)(pcStack_1a8 + -0x798c)" * (cast_expression "(code **)(pcStack_1a8 + -0x798c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1a8 + -0x798c)" ( (binary_expression "pcStack_1a8 + -0x798c" identifier + number_literal) ))))) )) (argument_list "(pwVar18)" ( identifier ))) ;) (expression_statement "unaff_s5 = pwVar6;" (assignment_expression "unaff_s5 = pwVar6" identifier = identifier) ;) })) (expression_statement "unaff_s3 = pwVar14;" (assignment_expression "unaff_s3 = pwVar14" identifier = identifier) ;) (expression_statement "pwVar18 = pwVar6;" (assignment_expression "pwVar18 = pwVar6" identifier = identifier) ;) (if_statement "if (((code *)**(undefined4 **)(pcStack_1a8 + -0x703c) == (code *)0x0) ||\n       (pwVar14 == (word *)0x0)) goto LAB_000fb570;" if (parenthesized_expression "(((code *)**(undefined4 **)(pcStack_1a8 + -0x703c) == (code *)0x0) ||\n       (pwVar14 == (word *)0x0))" ( (binary_expression "((code *)**(undefined4 **)(pcStack_1a8 + -0x703c) == (code *)0x0) ||\n       (pwVar14 == (word *)0x0)" (parenthesized_expression "((code *)**(undefined4 **)(pcStack_1a8 + -0x703c) == (code *)0x0)" ( (binary_expression "(code *)**(undefined4 **)(pcStack_1a8 + -0x703c) == (code *)0x0" (cast_expression "(code *)**(undefined4 **)(pcStack_1a8 + -0x703c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcStack_1a8 + -0x703c)" * (pointer_expression "*(undefined4 **)(pcStack_1a8 + -0x703c)" * (cast_expression "(undefined4 **)(pcStack_1a8 + -0x703c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1a8 + -0x703c)" ( (binary_expression "pcStack_1a8 + -0x703c" identifier + number_literal) )))))) == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(pwVar14 == (word *)0x0)" ( (binary_expression "pwVar14 == (word *)0x0" identifier == (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (goto_statement "goto LAB_000fb570;" goto statement_identifier ;)) (if_statement "if (*(int *)(pwVar6 + 2) == 0) {\n      pwVar16 = (word *)0x1;\n    }\n    else {\n      pwVar16 = (word *)0x1;\n      pbVar24 = (byte *)(pwVar6 + 4);\n      do {\n        iVar5 = *(int *)pbVar24;\n        pwVar16 = (word *)((int)pwVar16 + 1);\n        pbVar24 = pbVar24 + 4;\n      } while (iVar5 != 0);\n    }" if (parenthesized_expression "(*(int *)(pwVar6 + 2) == 0)" ( (binary_expression "*(int *)(pwVar6 + 2) == 0" (pointer_expression "*(int *)(pwVar6 + 2)" * (cast_expression "(int *)(pwVar6 + 2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pwVar6 + 2)" ( (binary_expression "pwVar6 + 2" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      pwVar16 = (word *)0x1;\n    }" { (expression_statement "pwVar16 = (word *)0x1;" (assignment_expression "pwVar16 = (word *)0x1" identifier = (cast_expression "(word *)0x1" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n      pwVar16 = (word *)0x1;\n      pbVar24 = (byte *)(pwVar6 + 4);\n      do {\n        iVar5 = *(int *)pbVar24;\n        pwVar16 = (word *)((int)pwVar16 + 1);\n        pbVar24 = pbVar24 + 4;\n      } while (iVar5 != 0);\n    }" else (compound_statement "{\n      pwVar16 = (word *)0x1;\n      pbVar24 = (byte *)(pwVar6 + 4);\n      do {\n        iVar5 = *(int *)pbVar24;\n        pwVar16 = (word *)((int)pwVar16 + 1);\n        pbVar24 = pbVar24 + 4;\n      } while (iVar5 != 0);\n    }" { (expression_statement "pwVar16 = (word *)0x1;" (assignment_expression "pwVar16 = (word *)0x1" identifier = (cast_expression "(word *)0x1" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar24 = (byte *)(pwVar6 + 4);" (assignment_expression "pbVar24 = (byte *)(pwVar6 + 4)" identifier = (cast_expression "(byte *)(pwVar6 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pwVar6 + 4)" ( (binary_expression "pwVar6 + 4" identifier + number_literal) )))) ;) (do_statement "do {\n        iVar5 = *(int *)pbVar24;\n        pwVar16 = (word *)((int)pwVar16 + 1);\n        pbVar24 = pbVar24 + 4;\n      } while (iVar5 != 0);" do (compound_statement "{\n        iVar5 = *(int *)pbVar24;\n        pwVar16 = (word *)((int)pwVar16 + 1);\n        pbVar24 = pbVar24 + 4;\n      }" { (expression_statement "iVar5 = *(int *)pbVar24;" (assignment_expression "iVar5 = *(int *)pbVar24" identifier = (pointer_expression "*(int *)pbVar24" * (cast_expression "(int *)pbVar24" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "pwVar16 = (word *)((int)pwVar16 + 1);" (assignment_expression "pwVar16 = (word *)((int)pwVar16 + 1)" identifier = (cast_expression "(word *)((int)pwVar16 + 1)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwVar16 + 1)" ( (binary_expression "(int)pwVar16 + 1" (cast_expression "(int)pwVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pbVar24 = pbVar24 + 4;" (assignment_expression "pbVar24 = pbVar24 + 4" identifier = (binary_expression "pbVar24 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) ;) }))) (expression_statement "(*(code *)**(undefined4 **)(pcStack_1a8 + -0x703c))(pwVar6);" (call_expression "(*(code *)**(undefined4 **)(pcStack_1a8 + -0x703c))(pwVar6)" (parenthesized_expression "(*(code *)**(undefined4 **)(pcStack_1a8 + -0x703c))" ( (pointer_expression "*(code *)**(undefined4 **)(pcStack_1a8 + -0x703c)" * (cast_expression "(code *)**(undefined4 **)(pcStack_1a8 + -0x703c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcStack_1a8 + -0x703c)" * (pointer_expression "*(undefined4 **)(pcStack_1a8 + -0x703c)" * (cast_expression "(undefined4 **)(pcStack_1a8 + -0x703c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1a8 + -0x703c)" ( (binary_expression "pcStack_1a8 + -0x703c" identifier + number_literal) ))))))) )) (argument_list "(pwVar6)" ( identifier ))) ;) (expression_statement "unaff_s3 = *(word **)pwVar6;" (assignment_expression "unaff_s3 = *(word **)pwVar6" identifier = (pointer_expression "*(word **)pwVar6" * (cast_expression "(word **)pwVar6" ( (type_descriptor "word **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (if_statement "if (unaff_s3 == (word *)0x0) {\n      (**(code **)(pcStack_1a8 + -0x5f94))(pwVar6);\n      *puVar21 = 0;\n      pwVar6 = (word *)0x0;\n      pwVar14 = pwVar20;\n      goto LAB_000fb578;\n    }" if (parenthesized_expression "(unaff_s3 == (word *)0x0)" ( (binary_expression "unaff_s3 == (word *)0x0" identifier == (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      (**(code **)(pcStack_1a8 + -0x5f94))(pwVar6);\n      *puVar21 = 0;\n      pwVar6 = (word *)0x0;\n      pwVar14 = pwVar20;\n      goto LAB_000fb578;\n    }" { (expression_statement "(**(code **)(pcStack_1a8 + -0x5f94))(pwVar6);" (call_expression "(**(code **)(pcStack_1a8 + -0x5f94))(pwVar6)" (parenthesized_expression "(**(code **)(pcStack_1a8 + -0x5f94))" ( (pointer_expression "**(code **)(pcStack_1a8 + -0x5f94)" * (pointer_expression "*(code **)(pcStack_1a8 + -0x5f94)" * (cast_expression "(code **)(pcStack_1a8 + -0x5f94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1a8 + -0x5f94)" ( (binary_expression "pcStack_1a8 + -0x5f94" identifier + number_literal) ))))) )) (argument_list "(pwVar6)" ( identifier ))) ;) (expression_statement "*puVar21 = 0;" (assignment_expression "*puVar21 = 0" (pointer_expression "*puVar21" * identifier) = number_literal) ;) (expression_statement "pwVar6 = (word *)0x0;" (assignment_expression "pwVar6 = (word *)0x0" identifier = (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pwVar14 = pwVar20;" (assignment_expression "pwVar14 = pwVar20" identifier = identifier) ;) (goto_statement "goto LAB_000fb578;" goto statement_identifier ;) })) (if_statement "if (*(int *)(pwVar6 + 2) == 0) {\nLAB_000fb570:\n      *puVar21 = pwVar6;\n    }\n    else {\n      pbVar24 = (byte *)(pwVar6 + 4);\n      pwVar14 = (word *)0x1;\n      do {\n        pwVar20 = pwVar14;\n        iVar5 = *(int *)pbVar24;\n        pwVar14 = (word *)((int)pwVar20 + 1);\n        pbVar24 = pbVar24 + 4;\n      } while (iVar5 != 0);\n      pwVar16 = (word *)(uint)((int)pwVar14 < (int)pwVar16);\n      if (((int)pwVar14 < 2) || (pwVar15 = unaff_s3, pwVar16 == (word *)0x0)) goto LAB_000fb570;\n      FUN_000fab30(pwVar6);\n      (**(code **)(pcStack_1a8 + -0x5f94))(unaff_s3);\n      *puVar21 = pwVar6;\n    }" if (parenthesized_expression "(*(int *)(pwVar6 + 2) == 0)" ( (binary_expression "*(int *)(pwVar6 + 2) == 0" (pointer_expression "*(int *)(pwVar6 + 2)" * (cast_expression "(int *)(pwVar6 + 2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pwVar6 + 2)" ( (binary_expression "pwVar6 + 2" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_000fb570:\n      *puVar21 = pwVar6;\n    }" { (labeled_statement "LAB_000fb570:\n      *puVar21 = pwVar6;" statement_identifier : (expression_statement "*puVar21 = pwVar6;" (assignment_expression "*puVar21 = pwVar6" (pointer_expression "*puVar21" * identifier) = identifier) ;)) }) (else_clause "else {\n      pbVar24 = (byte *)(pwVar6 + 4);\n      pwVar14 = (word *)0x1;\n      do {\n        pwVar20 = pwVar14;\n        iVar5 = *(int *)pbVar24;\n        pwVar14 = (word *)((int)pwVar20 + 1);\n        pbVar24 = pbVar24 + 4;\n      } while (iVar5 != 0);\n      pwVar16 = (word *)(uint)((int)pwVar14 < (int)pwVar16);\n      if (((int)pwVar14 < 2) || (pwVar15 = unaff_s3, pwVar16 == (word *)0x0)) goto LAB_000fb570;\n      FUN_000fab30(pwVar6);\n      (**(code **)(pcStack_1a8 + -0x5f94))(unaff_s3);\n      *puVar21 = pwVar6;\n    }" else (compound_statement "{\n      pbVar24 = (byte *)(pwVar6 + 4);\n      pwVar14 = (word *)0x1;\n      do {\n        pwVar20 = pwVar14;\n        iVar5 = *(int *)pbVar24;\n        pwVar14 = (word *)((int)pwVar20 + 1);\n        pbVar24 = pbVar24 + 4;\n      } while (iVar5 != 0);\n      pwVar16 = (word *)(uint)((int)pwVar14 < (int)pwVar16);\n      if (((int)pwVar14 < 2) || (pwVar15 = unaff_s3, pwVar16 == (word *)0x0)) goto LAB_000fb570;\n      FUN_000fab30(pwVar6);\n      (**(code **)(pcStack_1a8 + -0x5f94))(unaff_s3);\n      *puVar21 = pwVar6;\n    }" { (expression_statement "pbVar24 = (byte *)(pwVar6 + 4);" (assignment_expression "pbVar24 = (byte *)(pwVar6 + 4)" identifier = (cast_expression "(byte *)(pwVar6 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pwVar6 + 4)" ( (binary_expression "pwVar6 + 4" identifier + number_literal) )))) ;) (expression_statement "pwVar14 = (word *)0x1;" (assignment_expression "pwVar14 = (word *)0x1" identifier = (cast_expression "(word *)0x1" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n        pwVar20 = pwVar14;\n        iVar5 = *(int *)pbVar24;\n        pwVar14 = (word *)((int)pwVar20 + 1);\n        pbVar24 = pbVar24 + 4;\n      } while (iVar5 != 0);" do (compound_statement "{\n        pwVar20 = pwVar14;\n        iVar5 = *(int *)pbVar24;\n        pwVar14 = (word *)((int)pwVar20 + 1);\n        pbVar24 = pbVar24 + 4;\n      }" { (expression_statement "pwVar20 = pwVar14;" (assignment_expression "pwVar20 = pwVar14" identifier = identifier) ;) (expression_statement "iVar5 = *(int *)pbVar24;" (assignment_expression "iVar5 = *(int *)pbVar24" identifier = (pointer_expression "*(int *)pbVar24" * (cast_expression "(int *)pbVar24" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "pwVar14 = (word *)((int)pwVar20 + 1);" (assignment_expression "pwVar14 = (word *)((int)pwVar20 + 1)" identifier = (cast_expression "(word *)((int)pwVar20 + 1)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwVar20 + 1)" ( (binary_expression "(int)pwVar20 + 1" (cast_expression "(int)pwVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pbVar24 = pbVar24 + 4;" (assignment_expression "pbVar24 = pbVar24 + 4" identifier = (binary_expression "pbVar24 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) ;) (expression_statement "pwVar16 = (word *)(uint)((int)pwVar14 < (int)pwVar16);" (assignment_expression "pwVar16 = (word *)(uint)((int)pwVar14 < (int)pwVar16)" identifier = (cast_expression "(word *)(uint)((int)pwVar14 < (int)pwVar16)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)((int)pwVar14 < (int)pwVar16)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)pwVar14 < (int)pwVar16)" ( (binary_expression "(int)pwVar14 < (int)pwVar16" (cast_expression "(int)pwVar14" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pwVar16" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;) (if_statement "if (((int)pwVar14 < 2) || (pwVar15 = unaff_s3, pwVar16 == (word *)0x0)) goto LAB_000fb570;" if (parenthesized_expression "(((int)pwVar14 < 2) || (pwVar15 = unaff_s3, pwVar16 == (word *)0x0))" ( (binary_expression "((int)pwVar14 < 2) || (pwVar15 = unaff_s3, pwVar16 == (word *)0x0)" (parenthesized_expression "((int)pwVar14 < 2)" ( (binary_expression "(int)pwVar14 < 2" (cast_expression "(int)pwVar14" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) || (parenthesized_expression "(pwVar15 = unaff_s3, pwVar16 == (word *)0x0)" ( (comma_expression "pwVar15 = unaff_s3, pwVar16 == (word *)0x0" (assignment_expression "pwVar15 = unaff_s3" identifier = identifier) , (binary_expression "pwVar16 == (word *)0x0" identifier == (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (goto_statement "goto LAB_000fb570;" goto statement_identifier ;)) (expression_statement "FUN_000fab30(pwVar6);" (call_expression "FUN_000fab30(pwVar6)" identifier (argument_list "(pwVar6)" ( identifier ))) ;) (expression_statement "(**(code **)(pcStack_1a8 + -0x5f94))(unaff_s3);" (call_expression "(**(code **)(pcStack_1a8 + -0x5f94))(unaff_s3)" (parenthesized_expression "(**(code **)(pcStack_1a8 + -0x5f94))" ( (pointer_expression "**(code **)(pcStack_1a8 + -0x5f94)" * (pointer_expression "*(code **)(pcStack_1a8 + -0x5f94)" * (cast_expression "(code **)(pcStack_1a8 + -0x5f94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1a8 + -0x5f94)" ( (binary_expression "pcStack_1a8 + -0x5f94" identifier + number_literal) ))))) )) (argument_list "(unaff_s3)" ( identifier ))) ;) (expression_statement "*puVar21 = pwVar6;" (assignment_expression "*puVar21 = pwVar6" (pointer_expression "*puVar21" * identifier) = identifier) ;) }))) (expression_statement "pwVar6 = (word *)0x1;" (assignment_expression "pwVar6 = (word *)0x1" identifier = (cast_expression "(word *)0x1" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pwVar14 = pwVar20;" (assignment_expression "pwVar14 = pwVar20" identifier = identifier) ;) }))) (labeled_statement "LAB_000fb578:\n  if ((char *)auStack_19d._1_4_ == (char *)**(undefined4 **)(pcStack_1a8 + -0x5fb4)) {\n    return pwVar6;\n  }" statement_identifier : (if_statement "if ((char *)auStack_19d._1_4_ == (char *)**(undefined4 **)(pcStack_1a8 + -0x5fb4)) {\n    return pwVar6;\n  }" if (parenthesized_expression "((char *)auStack_19d._1_4_ == (char *)**(undefined4 **)(pcStack_1a8 + -0x5fb4))" ( (binary_expression "(char *)auStack_19d._1_4_ == (char *)**(undefined4 **)(pcStack_1a8 + -0x5fb4)" (cast_expression "(char *)auStack_19d._1_4_" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_19d._1_4_" identifier . field_identifier)) == (cast_expression "(char *)**(undefined4 **)(pcStack_1a8 + -0x5fb4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcStack_1a8 + -0x5fb4)" * (pointer_expression "*(undefined4 **)(pcStack_1a8 + -0x5fb4)" * (cast_expression "(undefined4 **)(pcStack_1a8 + -0x5fb4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1a8 + -0x5fb4)" ( (binary_expression "pcStack_1a8 + -0x5fb4" identifier + number_literal) ))))))) )) (compound_statement "{\n    return pwVar6;\n  }" { (return_statement "return pwVar6;" return identifier ;) }))) (expression_statement "pcVar23 = *(code **)(pcStack_1a8 + -0x6004);" (assignment_expression "pcVar23 = *(code **)(pcStack_1a8 + -0x6004)" identifier = (pointer_expression "*(code **)(pcStack_1a8 + -0x6004)" * (cast_expression "(code **)(pcStack_1a8 + -0x6004)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1a8 + -0x6004)" ( (binary_expression "pcStack_1a8 + -0x6004" identifier + number_literal) ))))) ;) (expression_statement "pcVar25 = rl_filename_completion_function;" (assignment_expression "pcVar25 = rl_filename_completion_function" identifier = identifier) ;) (expression_statement "pcVar19 = (char *)auStack_19d._1_4_;" (assignment_expression "pcVar19 = (char *)auStack_19d._1_4_" identifier = (cast_expression "(char *)auStack_19d._1_4_" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_19d._1_4_" identifier . field_identifier))) ;) (expression_statement "(*pcVar23)();" (call_expression "(*pcVar23)()" (parenthesized_expression "(*pcVar23)" ( (pointer_expression "*pcVar23" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_230 = pcVar23 + 0x62f20;" (assignment_expression "pcStack_230 = pcVar23 + 0x62f20" identifier = (binary_expression "pcVar23 + 0x62f20" identifier + number_literal)) ;) (expression_statement "iStack_1e4 = **(int **)(pcVar23 + 0x5cf6c);" (assignment_expression "iStack_1e4 = **(int **)(pcVar23 + 0x5cf6c)" identifier = (pointer_expression "**(int **)(pcVar23 + 0x5cf6c)" * (pointer_expression "*(int **)(pcVar23 + 0x5cf6c)" * (cast_expression "(int **)(pcVar23 + 0x5cf6c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5cf6c)" ( (binary_expression "pcVar23 + 0x5cf6c" identifier + number_literal) )))))) ;) (expression_statement "pwStack_1e0 = pwVar16;" (assignment_expression "pwStack_1e0 = pwVar16" identifier = identifier) ;) (expression_statement "pwStack_1dc = pwVar18;" (assignment_expression "pwStack_1dc = pwVar18" identifier = identifier) ;) (expression_statement "puStack_1d8 = puVar21;" (assignment_expression "puStack_1d8 = puVar21" identifier = identifier) ;) (expression_statement "pwStack_1d4 = unaff_s3;" (assignment_expression "pwStack_1d4 = unaff_s3" identifier = identifier) ;) (expression_statement "pwStack_1d0 = unaff_s4;" (assignment_expression "pwStack_1d0 = unaff_s4" identifier = identifier) ;) (expression_statement "pwStack_1cc = unaff_s5;" (assignment_expression "pwStack_1cc = unaff_s5" identifier = identifier) ;) (expression_statement "pwStack_1c8 = unaff_s6;" (assignment_expression "pwStack_1c8 = unaff_s6" identifier = identifier) ;) (expression_statement "pwStack_1c4 = unaff_s7;" (assignment_expression "pwStack_1c4 = unaff_s7" identifier = identifier) ;) (expression_statement "ppbStack_1c0 = unaff_s8;" (assignment_expression "ppbStack_1c0 = unaff_s8" identifier = identifier) ;) (expression_statement "pcStack_1bc = pcVar25;" (assignment_expression "pcStack_1bc = pcVar25" identifier = identifier) ;) (if_statement "if (pwVar14 != (word *)0x0) goto LAB_000fb968;" if (parenthesized_expression "(pwVar14 != (word *)0x0)" ( (binary_expression "pwVar14 != (word *)0x0" identifier != (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000fb968;" goto statement_identifier ;)) (if_statement "if (*(int *)(*(int *)(pcVar23 + 0x5af4c) + -0x3fd4) != 0) {\n    (**(code **)(pcVar23 + 0x5cc9c))();\n    *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) = 0;\n  }" if (parenthesized_expression "(*(int *)(*(int *)(pcVar23 + 0x5af4c) + -0x3fd4) != 0)" ( (binary_expression "*(int *)(*(int *)(pcVar23 + 0x5af4c) + -0x3fd4) != 0" (pointer_expression "*(int *)(*(int *)(pcVar23 + 0x5af4c) + -0x3fd4)" * (cast_expression "(int *)(*(int *)(pcVar23 + 0x5af4c) + -0x3fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar23 + 0x5af4c) + -0x3fd4)" ( (binary_expression "*(int *)(pcVar23 + 0x5af4c) + -0x3fd4" (pointer_expression "*(int *)(pcVar23 + 0x5af4c)" * (cast_expression "(int *)(pcVar23 + 0x5af4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar23 + 0x5af4c)" ( (binary_expression "pcVar23 + 0x5af4c" identifier + number_literal) )))) + number_literal) )))) != number_literal) )) (compound_statement "{\n    (**(code **)(pcVar23 + 0x5cc9c))();\n    *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) = 0;\n  }" { (expression_statement "(**(code **)(pcVar23 + 0x5cc9c))();" (call_expression "(**(code **)(pcVar23 + 0x5cc9c))()" (parenthesized_expression "(**(code **)(pcVar23 + 0x5cc9c))" ( (pointer_expression "**(code **)(pcVar23 + 0x5cc9c)" * (pointer_expression "*(code **)(pcVar23 + 0x5cc9c)" * (cast_expression "(code **)(pcVar23 + 0x5cc9c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5cc9c)" ( (binary_expression "pcVar23 + 0x5cc9c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) = 0;" (assignment_expression "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) = 0" (pointer_expression "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4)" * (cast_expression "(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4)" ( (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) )))) + number_literal) )))) = number_literal) ;) })) (if_statement "if (*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) != 0) {\n    (**(code **)(pcStack_230 + -0x5f94))();\n  }" if (parenthesized_expression "(*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) != 0)" ( (binary_expression "*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) != 0" (pointer_expression "*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" * (cast_expression "(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" ( (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) )))) + number_literal) )))) != number_literal) )) (compound_statement "{\n    (**(code **)(pcStack_230 + -0x5f94))();\n  }" { (expression_statement "(**(code **)(pcStack_230 + -0x5f94))();" (call_expression "(**(code **)(pcStack_230 + -0x5f94))()" (parenthesized_expression "(**(code **)(pcStack_230 + -0x5f94))" ( (pointer_expression "**(code **)(pcStack_230 + -0x5f94)" * (pointer_expression "*(code **)(pcStack_230 + -0x5f94)" * (cast_expression "(code **)(pcStack_230 + -0x5f94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x5f94)" ( (binary_expression "pcStack_230 + -0x5f94" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) })) (if_statement "if (*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) != 0) {\n    (**(code **)(pcStack_230 + -0x5f94))();\n  }" if (parenthesized_expression "(*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) != 0)" ( (binary_expression "*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) != 0" (pointer_expression "*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc)" * (cast_expression "(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc)" ( (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) )))) + number_literal) )))) != number_literal) )) (compound_statement "{\n    (**(code **)(pcStack_230 + -0x5f94))();\n  }" { (expression_statement "(**(code **)(pcStack_230 + -0x5f94))();" (call_expression "(**(code **)(pcStack_230 + -0x5f94))()" (parenthesized_expression "(**(code **)(pcStack_230 + -0x5f94))" ( (pointer_expression "**(code **)(pcStack_230 + -0x5f94)" * (pointer_expression "*(code **)(pcStack_230 + -0x5f94)" * (cast_expression "(code **)(pcStack_230 + -0x5f94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x5f94)" ( (binary_expression "pcStack_230 + -0x5f94" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) })) (if_statement "if (*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) != 0) {\n    (**(code **)(pcStack_230 + -0x5f94))();\n  }" if (parenthesized_expression "(*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) != 0)" ( (binary_expression "*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) != 0" (pointer_expression "*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0)" * (cast_expression "(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0)" ( (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) )))) + number_literal) )))) != number_literal) )) (compound_statement "{\n    (**(code **)(pcStack_230 + -0x5f94))();\n  }" { (expression_statement "(**(code **)(pcStack_230 + -0x5f94))();" (call_expression "(**(code **)(pcStack_230 + -0x5f94))()" (parenthesized_expression "(**(code **)(pcStack_230 + -0x5f94))" ( (pointer_expression "**(code **)(pcStack_230 + -0x5f94)" * (pointer_expression "*(code **)(pcStack_230 + -0x5f94)" * (cast_expression "(code **)(pcStack_230 + -0x5f94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x5f94)" ( (binary_expression "pcStack_230 + -0x5f94" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) })) (expression_statement "iVar5 = (**(code **)(pcStack_230 + -0x60fc))(pcVar19);" (assignment_expression "iVar5 = (**(code **)(pcStack_230 + -0x60fc))(pcVar19)" identifier = (call_expression "(**(code **)(pcStack_230 + -0x60fc))(pcVar19)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x60fc))" ( (pointer_expression "**(code **)(pcStack_230 + -0x60fc)" * (pointer_expression "*(code **)(pcStack_230 + -0x60fc)" * (cast_expression "(code **)(pcStack_230 + -0x60fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x60fc)" ( (binary_expression "pcStack_230 + -0x60fc" identifier + number_literal) ))))) )) (argument_list "(pcVar19)" ( identifier )))) ;) (expression_statement "uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);" (assignment_expression "uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1)" identifier = (call_expression "(**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x7f88))" ( (pointer_expression "**(code **)(pcStack_230 + -0x7f88)" * (pointer_expression "*(code **)(pcStack_230 + -0x7f88)" * (cast_expression "(code **)(pcStack_230 + -0x7f88)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x7f88)" ( (binary_expression "pcStack_230 + -0x7f88" identifier + number_literal) ))))) )) (argument_list "(iVar5 + 1)" ( (binary_expression "iVar5 + 1" identifier + number_literal) )))) ;) (expression_statement "uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,pcVar19);" (assignment_expression "uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,pcVar19)" identifier = (call_expression "(**(code **)(pcStack_230 + -0x6074))(uVar7,pcVar19)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x6074))" ( (pointer_expression "**(code **)(pcStack_230 + -0x6074)" * (pointer_expression "*(code **)(pcStack_230 + -0x6074)" * (cast_expression "(code **)(pcStack_230 + -0x6074)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6074)" ( (binary_expression "pcStack_230 + -0x6074" identifier + number_literal) ))))) )) (argument_list "(uVar7,pcVar19)" ( identifier , identifier )))) ;) (expression_statement "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) = uVar7;" (assignment_expression "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) = uVar7" (pointer_expression "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc)" * (cast_expression "(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc)" ( (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) )))) + number_literal) )))) = identifier) ;) (if_statement "if (*pcVar19 == '\0') {\n    pcVar19 = (char *)(*(int *)(pcStack_230 + -0x7f90) + -0x5e18);\n  }" if (parenthesized_expression "(*pcVar19 == '\0')" ( (binary_expression "*pcVar19 == '\0'" (pointer_expression "*pcVar19" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    pcVar19 = (char *)(*(int *)(pcStack_230 + -0x7f90) + -0x5e18);\n  }" { (expression_statement "pcVar19 = (char *)(*(int *)(pcStack_230 + -0x7f90) + -0x5e18);" (assignment_expression "pcVar19 = (char *)(*(int *)(pcStack_230 + -0x7f90) + -0x5e18)" identifier = (cast_expression "(char *)(*(int *)(pcStack_230 + -0x7f90) + -0x5e18)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_230 + -0x7f90) + -0x5e18)" ( (binary_expression "*(int *)(pcStack_230 + -0x7f90) + -0x5e18" (pointer_expression "*(int *)(pcStack_230 + -0x7f90)" * (cast_expression "(int *)(pcStack_230 + -0x7f90)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7f90)" ( (binary_expression "pcStack_230 + -0x7f90" identifier + number_literal) )))) + number_literal) )))) ;) })) (expression_statement "iVar5 = (**(code **)(pcStack_230 + -0x60fc))(pcVar19);" (assignment_expression "iVar5 = (**(code **)(pcStack_230 + -0x60fc))(pcVar19)" identifier = (call_expression "(**(code **)(pcStack_230 + -0x60fc))(pcVar19)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x60fc))" ( (pointer_expression "**(code **)(pcStack_230 + -0x60fc)" * (pointer_expression "*(code **)(pcStack_230 + -0x60fc)" * (cast_expression "(code **)(pcStack_230 + -0x60fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x60fc)" ( (binary_expression "pcStack_230 + -0x60fc" identifier + number_literal) ))))) )) (argument_list "(pcVar19)" ( identifier )))) ;) (expression_statement "uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);" (assignment_expression "uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1)" identifier = (call_expression "(**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x7f88))" ( (pointer_expression "**(code **)(pcStack_230 + -0x7f88)" * (pointer_expression "*(code **)(pcStack_230 + -0x7f88)" * (cast_expression "(code **)(pcStack_230 + -0x7f88)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x7f88)" ( (binary_expression "pcStack_230 + -0x7f88" identifier + number_literal) ))))) )) (argument_list "(iVar5 + 1)" ( (binary_expression "iVar5 + 1" identifier + number_literal) )))) ;) (expression_statement "puVar8 = (undefined1 *)(**(code **)(pcStack_230 + -0x6074))(uVar7,pcVar19);" (assignment_expression "puVar8 = (undefined1 *)(**(code **)(pcStack_230 + -0x6074))(uVar7,pcVar19)" identifier = (cast_expression "(undefined1 *)(**(code **)(pcStack_230 + -0x6074))(uVar7,pcVar19)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_230 + -0x6074))(uVar7,pcVar19)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x6074))" ( (pointer_expression "**(code **)(pcStack_230 + -0x6074)" * (pointer_expression "*(code **)(pcStack_230 + -0x6074)" * (cast_expression "(code **)(pcStack_230 + -0x6074)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6074)" ( (binary_expression "pcStack_230 + -0x6074" identifier + number_literal) ))))) )) (argument_list "(uVar7,pcVar19)" ( identifier , identifier ))))) ;) (expression_statement "*(undefined1 **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) = puVar8;" (assignment_expression "*(undefined1 **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) = puVar8" (pointer_expression "*(undefined1 **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" * (cast_expression "(undefined1 **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" ( (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) )))) + number_literal) )))) = identifier) ;) (expression_statement "unaff_s4 = (word *)(**(code **)(pcStack_230 + -0x61d4))(puVar8,0x2f);" (assignment_expression "unaff_s4 = (word *)(**(code **)(pcStack_230 + -0x61d4))(puVar8,0x2f)" identifier = (cast_expression "(word *)(**(code **)(pcStack_230 + -0x61d4))(puVar8,0x2f)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_230 + -0x61d4))(puVar8,0x2f)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x61d4))" ( (pointer_expression "**(code **)(pcStack_230 + -0x61d4)" * (pointer_expression "*(code **)(pcStack_230 + -0x61d4)" * (cast_expression "(code **)(pcStack_230 + -0x61d4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x61d4)" ( (binary_expression "pcStack_230 + -0x61d4" identifier + number_literal) ))))) )) (argument_list "(puVar8,0x2f)" ( identifier , number_literal ))))) ;) (if_statement "if (unaff_s4 == (word *)0x0) {\n    *puVar8 = 0x2e;\n    *(undefined1 *)(*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) + 1) = 0;\n  }\n  else {\n    (**(code **)(pcStack_230 + -0x6074))\n              (*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc),\n               (byte *)((int)unaff_s4 + 1));\n    *(byte *)((int)unaff_s4 + 1) = 0;\n  }" if (parenthesized_expression "(unaff_s4 == (word *)0x0)" ( (binary_expression "unaff_s4 == (word *)0x0" identifier == (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    *puVar8 = 0x2e;\n    *(undefined1 *)(*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) + 1) = 0;\n  }" { (expression_statement "*puVar8 = 0x2e;" (assignment_expression "*puVar8 = 0x2e" (pointer_expression "*puVar8" * identifier) = number_literal) ;) (expression_statement "*(undefined1 *)(*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) + 1) = 0;" (assignment_expression "*(undefined1 *)(*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) + 1) = 0" (pointer_expression "*(undefined1 *)(*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) + 1)" * (cast_expression "(undefined1 *)(*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) + 1)" ( (binary_expression "*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) + 1" (pointer_expression "*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" * (cast_expression "(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" ( (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) )))) + number_literal) )))) + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n    (**(code **)(pcStack_230 + -0x6074))\n              (*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc),\n               (byte *)((int)unaff_s4 + 1));\n    *(byte *)((int)unaff_s4 + 1) = 0;\n  }" else (compound_statement "{\n    (**(code **)(pcStack_230 + -0x6074))\n              (*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc),\n               (byte *)((int)unaff_s4 + 1));\n    *(byte *)((int)unaff_s4 + 1) = 0;\n  }" { (expression_statement "(**(code **)(pcStack_230 + -0x6074))\n              (*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc),\n               (byte *)((int)unaff_s4 + 1));" (call_expression "(**(code **)(pcStack_230 + -0x6074))\n              (*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc),\n               (byte *)((int)unaff_s4 + 1))" (parenthesized_expression "(**(code **)(pcStack_230 + -0x6074))" ( (pointer_expression "**(code **)(pcStack_230 + -0x6074)" * (pointer_expression "*(code **)(pcStack_230 + -0x6074)" * (cast_expression "(code **)(pcStack_230 + -0x6074)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6074)" ( (binary_expression "pcStack_230 + -0x6074" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc),\n               (byte *)((int)unaff_s4 + 1))" ( (pointer_expression "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc)" * (cast_expression "(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc)" ( (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) )))) + number_literal) )))) , (cast_expression "(byte *)((int)unaff_s4 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s4 + 1)" ( (binary_expression "(int)unaff_s4 + 1" (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) ))) ;) (expression_statement "*(byte *)((int)unaff_s4 + 1) = 0;" (assignment_expression "*(byte *)((int)unaff_s4 + 1) = 0" (pointer_expression "*(byte *)((int)unaff_s4 + 1)" * (cast_expression "(byte *)((int)unaff_s4 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s4 + 1)" ( (binary_expression "(int)unaff_s4 + 1" (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) }))) (if_statement "if (**(int **)(pcStack_230 + -0x6f38) == 0) {\nLAB_000fb830:\n    iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n    iVar5 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(iVar13 + -0x3fd8));\n    uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);\n    uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(iVar13 + -0x3fd8));\n    *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = uVar7;\n  }\n  else {\n    if ((code *)**(undefined4 **)(pcStack_230 + -0x6de4) == (code *)0x0) goto LAB_000fb830;\n    uVar7 = (*(code *)**(undefined4 **)(pcStack_230 + -0x6de4))\n                      (*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8),\n                       **(undefined4 **)(pcStack_230 + -0x6f34));\n    *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = uVar7;\n  }" if (parenthesized_expression "(**(int **)(pcStack_230 + -0x6f38) == 0)" ( (binary_expression "**(int **)(pcStack_230 + -0x6f38) == 0" (pointer_expression "**(int **)(pcStack_230 + -0x6f38)" * (pointer_expression "*(int **)(pcStack_230 + -0x6f38)" * (cast_expression "(int **)(pcStack_230 + -0x6f38)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6f38)" ( (binary_expression "pcStack_230 + -0x6f38" identifier + number_literal) ))))) == number_literal) )) (compound_statement "{\nLAB_000fb830:\n    iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n    iVar5 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(iVar13 + -0x3fd8));\n    uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);\n    uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(iVar13 + -0x3fd8));\n    *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = uVar7;\n  }" { (labeled_statement "LAB_000fb830:\n    iVar13 = *(int *)(pcStack_230 + -0x7fd4);" statement_identifier : (expression_statement "iVar13 = *(int *)(pcStack_230 + -0x7fd4);" (assignment_expression "iVar13 = *(int *)(pcStack_230 + -0x7fd4)" identifier = (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) ))))) ;)) (expression_statement "iVar5 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(iVar13 + -0x3fd8));" (assignment_expression "iVar5 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(iVar13 + -0x3fd8))" identifier = (call_expression "(**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(iVar13 + -0x3fd8))" (parenthesized_expression "(**(code **)(pcStack_230 + -0x60fc))" ( (pointer_expression "**(code **)(pcStack_230 + -0x60fc)" * (pointer_expression "*(code **)(pcStack_230 + -0x60fc)" * (cast_expression "(code **)(pcStack_230 + -0x60fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x60fc)" ( (binary_expression "pcStack_230 + -0x60fc" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar13 + -0x3fd8))" ( (pointer_expression "*(undefined4 *)(iVar13 + -0x3fd8)" * (cast_expression "(undefined4 *)(iVar13 + -0x3fd8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + -0x3fd8)" ( (binary_expression "iVar13 + -0x3fd8" identifier + number_literal) )))) )))) ;) (expression_statement "uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);" (assignment_expression "uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1)" identifier = (call_expression "(**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x7f88))" ( (pointer_expression "**(code **)(pcStack_230 + -0x7f88)" * (pointer_expression "*(code **)(pcStack_230 + -0x7f88)" * (cast_expression "(code **)(pcStack_230 + -0x7f88)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x7f88)" ( (binary_expression "pcStack_230 + -0x7f88" identifier + number_literal) ))))) )) (argument_list "(iVar5 + 1)" ( (binary_expression "iVar5 + 1" identifier + number_literal) )))) ;) (expression_statement "uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(iVar13 + -0x3fd8));" (assignment_expression "uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(iVar13 + -0x3fd8))" identifier = (call_expression "(**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(iVar13 + -0x3fd8))" (parenthesized_expression "(**(code **)(pcStack_230 + -0x6074))" ( (pointer_expression "**(code **)(pcStack_230 + -0x6074)" * (pointer_expression "*(code **)(pcStack_230 + -0x6074)" * (cast_expression "(code **)(pcStack_230 + -0x6074)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6074)" ( (binary_expression "pcStack_230 + -0x6074" identifier + number_literal) ))))) )) (argument_list "(uVar7,*(undefined4 *)(iVar13 + -0x3fd8))" ( identifier , (pointer_expression "*(undefined4 *)(iVar13 + -0x3fd8)" * (cast_expression "(undefined4 *)(iVar13 + -0x3fd8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + -0x3fd8)" ( (binary_expression "iVar13 + -0x3fd8" identifier + number_literal) )))) )))) ;) (expression_statement "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = uVar7;" (assignment_expression "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = uVar7" (pointer_expression "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0)" * (cast_expression "(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0)" ( (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) )))) + number_literal) )))) = identifier) ;) }) (else_clause "else {\n    if ((code *)**(undefined4 **)(pcStack_230 + -0x6de4) == (code *)0x0) goto LAB_000fb830;\n    uVar7 = (*(code *)**(undefined4 **)(pcStack_230 + -0x6de4))\n                      (*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8),\n                       **(undefined4 **)(pcStack_230 + -0x6f34));\n    *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = uVar7;\n  }" else (compound_statement "{\n    if ((code *)**(undefined4 **)(pcStack_230 + -0x6de4) == (code *)0x0) goto LAB_000fb830;\n    uVar7 = (*(code *)**(undefined4 **)(pcStack_230 + -0x6de4))\n                      (*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8),\n                       **(undefined4 **)(pcStack_230 + -0x6f34));\n    *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = uVar7;\n  }" { (if_statement "if ((code *)**(undefined4 **)(pcStack_230 + -0x6de4) == (code *)0x0) goto LAB_000fb830;" if (parenthesized_expression "((code *)**(undefined4 **)(pcStack_230 + -0x6de4) == (code *)0x0)" ( (binary_expression "(code *)**(undefined4 **)(pcStack_230 + -0x6de4) == (code *)0x0" (cast_expression "(code *)**(undefined4 **)(pcStack_230 + -0x6de4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcStack_230 + -0x6de4)" * (pointer_expression "*(undefined4 **)(pcStack_230 + -0x6de4)" * (cast_expression "(undefined4 **)(pcStack_230 + -0x6de4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6de4)" ( (binary_expression "pcStack_230 + -0x6de4" identifier + number_literal) )))))) == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000fb830;" goto statement_identifier ;)) (expression_statement "uVar7 = (*(code *)**(undefined4 **)(pcStack_230 + -0x6de4))\n                      (*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8),\n                       **(undefined4 **)(pcStack_230 + -0x6f34));" (assignment_expression "uVar7 = (*(code *)**(undefined4 **)(pcStack_230 + -0x6de4))\n                      (*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8),\n                       **(undefined4 **)(pcStack_230 + -0x6f34))" identifier = (call_expression "(*(code *)**(undefined4 **)(pcStack_230 + -0x6de4))\n                      (*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8),\n                       **(undefined4 **)(pcStack_230 + -0x6f34))" (parenthesized_expression "(*(code *)**(undefined4 **)(pcStack_230 + -0x6de4))" ( (pointer_expression "*(code *)**(undefined4 **)(pcStack_230 + -0x6de4)" * (cast_expression "(code *)**(undefined4 **)(pcStack_230 + -0x6de4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcStack_230 + -0x6de4)" * (pointer_expression "*(undefined4 **)(pcStack_230 + -0x6de4)" * (cast_expression "(undefined4 **)(pcStack_230 + -0x6de4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6de4)" ( (binary_expression "pcStack_230 + -0x6de4" identifier + number_literal) ))))))) )) (argument_list "(*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8),\n                       **(undefined4 **)(pcStack_230 + -0x6f34))" ( (pointer_expression "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" * (cast_expression "(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" ( (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) )))) + number_literal) )))) , (pointer_expression "**(undefined4 **)(pcStack_230 + -0x6f34)" * (pointer_expression "*(undefined4 **)(pcStack_230 + -0x6f34)" * (cast_expression "(undefined4 **)(pcStack_230 + -0x6f34)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6f34)" ( (binary_expression "pcStack_230 + -0x6f34" identifier + number_literal) ))))) )))) ;) (expression_statement "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = uVar7;" (assignment_expression "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = uVar7" (pointer_expression "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0)" * (cast_expression "(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0)" ( (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) )))) + number_literal) )))) = identifier) ;) }))) (expression_statement "bVar3 = **(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) == '~';" (assignment_expression "bVar3 = **(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) == '~'" identifier = (binary_expression "**(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) == '~'" (pointer_expression "**(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" * (pointer_expression "*(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" * (cast_expression "(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" ( (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) )))) + number_literal) ))))) == (char_literal "'~'" ' character '))) ;) (if_statement "if (bVar3) {\n    uVar7 = (**(code **)(pcStack_230 + -0x7a34))();\n    iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n    (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fd8));\n    *(undefined4 *)(iVar5 + -0x3fd8) = uVar7;\n  }" if (parenthesized_expression "(bVar3)" ( identifier )) (compound_statement "{\n    uVar7 = (**(code **)(pcStack_230 + -0x7a34))();\n    iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n    (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fd8));\n    *(undefined4 *)(iVar5 + -0x3fd8) = uVar7;\n  }" { (expression_statement "uVar7 = (**(code **)(pcStack_230 + -0x7a34))();" (assignment_expression "uVar7 = (**(code **)(pcStack_230 + -0x7a34))()" identifier = (call_expression "(**(code **)(pcStack_230 + -0x7a34))()" (parenthesized_expression "(**(code **)(pcStack_230 + -0x7a34))" ( (pointer_expression "**(code **)(pcStack_230 + -0x7a34)" * (pointer_expression "*(code **)(pcStack_230 + -0x7a34)" * (cast_expression "(code **)(pcStack_230 + -0x7a34)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x7a34)" ( (binary_expression "pcStack_230 + -0x7a34" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "iVar5 = *(int *)(pcStack_230 + -0x7fd4);" (assignment_expression "iVar5 = *(int *)(pcStack_230 + -0x7fd4)" identifier = (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) ))))) ;) (expression_statement "(**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fd8));" (call_expression "(**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fd8))" (parenthesized_expression "(**(code **)(pcStack_230 + -0x798c))" ( (pointer_expression "**(code **)(pcStack_230 + -0x798c)" * (pointer_expression "*(code **)(pcStack_230 + -0x798c)" * (cast_expression "(code **)(pcStack_230 + -0x798c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x798c)" ( (binary_expression "pcStack_230 + -0x798c" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar5 + -0x3fd8))" ( (pointer_expression "*(undefined4 *)(iVar5 + -0x3fd8)" * (cast_expression "(undefined4 *)(iVar5 + -0x3fd8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + -0x3fd8)" ( (binary_expression "iVar5 + -0x3fd8" identifier + number_literal) )))) ))) ;) (expression_statement "*(undefined4 *)(iVar5 + -0x3fd8) = uVar7;" (assignment_expression "*(undefined4 *)(iVar5 + -0x3fd8) = uVar7" (pointer_expression "*(undefined4 *)(iVar5 + -0x3fd8)" * (cast_expression "(undefined4 *)(iVar5 + -0x3fd8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + -0x3fd8)" ( (binary_expression "iVar5 + -0x3fd8" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "unaff_s3 = (word *)(uint)bVar3;" (assignment_expression "unaff_s3 = (word *)(uint)bVar3" identifier = (cast_expression "(word *)(uint)bVar3" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)bVar3" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (if_statement "if ((code *)**(undefined4 **)(pcStack_230 + -0x6f40) == (code *)0x0) {\n    if ((code *)**(undefined4 **)(pcStack_230 + -0x6f3c) != (code *)0x0) {\n      iVar5 = (*(code *)**(undefined4 **)(pcStack_230 + -0x6f3c))\n                        (*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);\n      iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n      if (iVar5 != 0) {\n        (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar13 + -0x3fe0));\n        unaff_s3 = *(word **)(pcStack_230 + -0x7fd4);\n        iVar5 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1fec));\n        uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);\n        uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1fec));\n        *(undefined4 *)(iVar13 + -0x3fe0) = uVar7;\n        goto LAB_000fb8b4;\n      }\n    }\n    iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n    if ((unaff_s3 == (word *)0x0) &&\n       (iVar5 = *(int *)(pcStack_230 + -0x7fd4), **(int **)(pcStack_230 + -0x6f38) != 0)) {\n      iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n      if (**(int **)(pcStack_230 + -0x6de4) != 0) {\n        (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fd8));\n        unaff_s3 = *(word **)(pcStack_230 + -0x7fd4);\n        iVar13 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1ff0));\n        uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar13 + 1);\n        uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1ff0));\n        *(undefined4 *)(iVar5 + -0x3fd8) = uVar7;\n      }\n      goto LAB_000fb8b4;\n    }\n  }\n  else {\n    (*(code *)**(undefined4 **)(pcStack_230 + -0x6f40))(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);\nLAB_000fb8b4:\n    iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n  }" if (parenthesized_expression "((code *)**(undefined4 **)(pcStack_230 + -0x6f40) == (code *)0x0)" ( (binary_expression "(code *)**(undefined4 **)(pcStack_230 + -0x6f40) == (code *)0x0" (cast_expression "(code *)**(undefined4 **)(pcStack_230 + -0x6f40)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcStack_230 + -0x6f40)" * (pointer_expression "*(undefined4 **)(pcStack_230 + -0x6f40)" * (cast_expression "(undefined4 **)(pcStack_230 + -0x6f40)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6f40)" ( (binary_expression "pcStack_230 + -0x6f40" identifier + number_literal) )))))) == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if ((code *)**(undefined4 **)(pcStack_230 + -0x6f3c) != (code *)0x0) {\n      iVar5 = (*(code *)**(undefined4 **)(pcStack_230 + -0x6f3c))\n                        (*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);\n      iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n      if (iVar5 != 0) {\n        (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar13 + -0x3fe0));\n        unaff_s3 = *(word **)(pcStack_230 + -0x7fd4);\n        iVar5 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1fec));\n        uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);\n        uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1fec));\n        *(undefined4 *)(iVar13 + -0x3fe0) = uVar7;\n        goto LAB_000fb8b4;\n      }\n    }\n    iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n    if ((unaff_s3 == (word *)0x0) &&\n       (iVar5 = *(int *)(pcStack_230 + -0x7fd4), **(int **)(pcStack_230 + -0x6f38) != 0)) {\n      iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n      if (**(int **)(pcStack_230 + -0x6de4) != 0) {\n        (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fd8));\n        unaff_s3 = *(word **)(pcStack_230 + -0x7fd4);\n        iVar13 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1ff0));\n        uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar13 + 1);\n        uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1ff0));\n        *(undefined4 *)(iVar5 + -0x3fd8) = uVar7;\n      }\n      goto LAB_000fb8b4;\n    }\n  }" { (if_statement "if ((code *)**(undefined4 **)(pcStack_230 + -0x6f3c) != (code *)0x0) {\n      iVar5 = (*(code *)**(undefined4 **)(pcStack_230 + -0x6f3c))\n                        (*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);\n      iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n      if (iVar5 != 0) {\n        (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar13 + -0x3fe0));\n        unaff_s3 = *(word **)(pcStack_230 + -0x7fd4);\n        iVar5 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1fec));\n        uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);\n        uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1fec));\n        *(undefined4 *)(iVar13 + -0x3fe0) = uVar7;\n        goto LAB_000fb8b4;\n      }\n    }" if (parenthesized_expression "((code *)**(undefined4 **)(pcStack_230 + -0x6f3c) != (code *)0x0)" ( (binary_expression "(code *)**(undefined4 **)(pcStack_230 + -0x6f3c) != (code *)0x0" (cast_expression "(code *)**(undefined4 **)(pcStack_230 + -0x6f3c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcStack_230 + -0x6f3c)" * (pointer_expression "*(undefined4 **)(pcStack_230 + -0x6f3c)" * (cast_expression "(undefined4 **)(pcStack_230 + -0x6f3c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6f3c)" ( (binary_expression "pcStack_230 + -0x6f3c" identifier + number_literal) )))))) != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      iVar5 = (*(code *)**(undefined4 **)(pcStack_230 + -0x6f3c))\n                        (*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);\n      iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n      if (iVar5 != 0) {\n        (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar13 + -0x3fe0));\n        unaff_s3 = *(word **)(pcStack_230 + -0x7fd4);\n        iVar5 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1fec));\n        uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);\n        uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1fec));\n        *(undefined4 *)(iVar13 + -0x3fe0) = uVar7;\n        goto LAB_000fb8b4;\n      }\n    }" { (expression_statement "iVar5 = (*(code *)**(undefined4 **)(pcStack_230 + -0x6f3c))\n                        (*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);" (assignment_expression "iVar5 = (*(code *)**(undefined4 **)(pcStack_230 + -0x6f3c))\n                        (*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" identifier = (call_expression "(*(code *)**(undefined4 **)(pcStack_230 + -0x6f3c))\n                        (*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" (parenthesized_expression "(*(code *)**(undefined4 **)(pcStack_230 + -0x6f3c))" ( (pointer_expression "*(code *)**(undefined4 **)(pcStack_230 + -0x6f3c)" * (cast_expression "(code *)**(undefined4 **)(pcStack_230 + -0x6f3c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcStack_230 + -0x6f3c)" * (pointer_expression "*(undefined4 **)(pcStack_230 + -0x6f3c)" * (cast_expression "(undefined4 **)(pcStack_230 + -0x6f3c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6f3c)" ( (binary_expression "pcStack_230 + -0x6f3c" identifier + number_literal) ))))))) )) (argument_list "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" ( (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar13 = *(int *)(pcStack_230 + -0x7fd4);" (assignment_expression "iVar13 = *(int *)(pcStack_230 + -0x7fd4)" identifier = (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) ))))) ;) (if_statement "if (iVar5 != 0) {\n        (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar13 + -0x3fe0));\n        unaff_s3 = *(word **)(pcStack_230 + -0x7fd4);\n        iVar5 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1fec));\n        uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);\n        uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1fec));\n        *(undefined4 *)(iVar13 + -0x3fe0) = uVar7;\n        goto LAB_000fb8b4;\n      }" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (compound_statement "{\n        (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar13 + -0x3fe0));\n        unaff_s3 = *(word **)(pcStack_230 + -0x7fd4);\n        iVar5 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1fec));\n        uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);\n        uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1fec));\n        *(undefined4 *)(iVar13 + -0x3fe0) = uVar7;\n        goto LAB_000fb8b4;\n      }" { (expression_statement "(**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar13 + -0x3fe0));" (call_expression "(**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar13 + -0x3fe0))" (parenthesized_expression "(**(code **)(pcStack_230 + -0x798c))" ( (pointer_expression "**(code **)(pcStack_230 + -0x798c)" * (pointer_expression "*(code **)(pcStack_230 + -0x798c)" * (cast_expression "(code **)(pcStack_230 + -0x798c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x798c)" ( (binary_expression "pcStack_230 + -0x798c" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar13 + -0x3fe0))" ( (pointer_expression "*(undefined4 *)(iVar13 + -0x3fe0)" * (cast_expression "(undefined4 *)(iVar13 + -0x3fe0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + -0x3fe0)" ( (binary_expression "iVar13 + -0x3fe0" identifier + number_literal) )))) ))) ;) (expression_statement "unaff_s3 = *(word **)(pcStack_230 + -0x7fd4);" (assignment_expression "unaff_s3 = *(word **)(pcStack_230 + -0x7fd4)" identifier = (pointer_expression "*(word **)(pcStack_230 + -0x7fd4)" * (cast_expression "(word **)(pcStack_230 + -0x7fd4)" ( (type_descriptor "word **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1fec));" (assignment_expression "iVar5 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1fec))" identifier = (call_expression "(**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1fec))" (parenthesized_expression "(**(code **)(pcStack_230 + -0x60fc))" ( (pointer_expression "**(code **)(pcStack_230 + -0x60fc)" * (pointer_expression "*(code **)(pcStack_230 + -0x60fc)" * (cast_expression "(code **)(pcStack_230 + -0x60fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x60fc)" ( (binary_expression "pcStack_230 + -0x60fc" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(unaff_s3 + -0x1fec))" ( (pointer_expression "*(undefined4 *)(unaff_s3 + -0x1fec)" * (cast_expression "(undefined4 *)(unaff_s3 + -0x1fec)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s3 + -0x1fec)" ( (binary_expression "unaff_s3 + -0x1fec" identifier + number_literal) )))) )))) ;) (expression_statement "uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);" (assignment_expression "uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1)" identifier = (call_expression "(**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x7f88))" ( (pointer_expression "**(code **)(pcStack_230 + -0x7f88)" * (pointer_expression "*(code **)(pcStack_230 + -0x7f88)" * (cast_expression "(code **)(pcStack_230 + -0x7f88)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x7f88)" ( (binary_expression "pcStack_230 + -0x7f88" identifier + number_literal) ))))) )) (argument_list "(iVar5 + 1)" ( (binary_expression "iVar5 + 1" identifier + number_literal) )))) ;) (expression_statement "uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1fec));" (assignment_expression "uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1fec))" identifier = (call_expression "(**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1fec))" (parenthesized_expression "(**(code **)(pcStack_230 + -0x6074))" ( (pointer_expression "**(code **)(pcStack_230 + -0x6074)" * (pointer_expression "*(code **)(pcStack_230 + -0x6074)" * (cast_expression "(code **)(pcStack_230 + -0x6074)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6074)" ( (binary_expression "pcStack_230 + -0x6074" identifier + number_literal) ))))) )) (argument_list "(uVar7,*(undefined4 *)(unaff_s3 + -0x1fec))" ( identifier , (pointer_expression "*(undefined4 *)(unaff_s3 + -0x1fec)" * (cast_expression "(undefined4 *)(unaff_s3 + -0x1fec)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s3 + -0x1fec)" ( (binary_expression "unaff_s3 + -0x1fec" identifier + number_literal) )))) )))) ;) (expression_statement "*(undefined4 *)(iVar13 + -0x3fe0) = uVar7;" (assignment_expression "*(undefined4 *)(iVar13 + -0x3fe0) = uVar7" (pointer_expression "*(undefined4 *)(iVar13 + -0x3fe0)" * (cast_expression "(undefined4 *)(iVar13 + -0x3fe0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + -0x3fe0)" ( (binary_expression "iVar13 + -0x3fe0" identifier + number_literal) )))) = identifier) ;) (goto_statement "goto LAB_000fb8b4;" goto statement_identifier ;) })) })) (expression_statement "iVar5 = *(int *)(pcStack_230 + -0x7fd4);" (assignment_expression "iVar5 = *(int *)(pcStack_230 + -0x7fd4)" identifier = (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) ))))) ;) (if_statement "if ((unaff_s3 == (word *)0x0) &&\n       (iVar5 = *(int *)(pcStack_230 + -0x7fd4), **(int **)(pcStack_230 + -0x6f38) != 0)) {\n      iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n      if (**(int **)(pcStack_230 + -0x6de4) != 0) {\n        (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fd8));\n        unaff_s3 = *(word **)(pcStack_230 + -0x7fd4);\n        iVar13 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1ff0));\n        uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar13 + 1);\n        uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1ff0));\n        *(undefined4 *)(iVar5 + -0x3fd8) = uVar7;\n      }\n      goto LAB_000fb8b4;\n    }" if (parenthesized_expression "((unaff_s3 == (word *)0x0) &&\n       (iVar5 = *(int *)(pcStack_230 + -0x7fd4), **(int **)(pcStack_230 + -0x6f38) != 0))" ( (binary_expression "(unaff_s3 == (word *)0x0) &&\n       (iVar5 = *(int *)(pcStack_230 + -0x7fd4), **(int **)(pcStack_230 + -0x6f38) != 0)" (parenthesized_expression "(unaff_s3 == (word *)0x0)" ( (binary_expression "unaff_s3 == (word *)0x0" identifier == (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(iVar5 = *(int *)(pcStack_230 + -0x7fd4), **(int **)(pcStack_230 + -0x6f38) != 0)" ( (comma_expression "iVar5 = *(int *)(pcStack_230 + -0x7fd4), **(int **)(pcStack_230 + -0x6f38) != 0" (assignment_expression "iVar5 = *(int *)(pcStack_230 + -0x7fd4)" identifier = (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) ))))) , (binary_expression "**(int **)(pcStack_230 + -0x6f38) != 0" (pointer_expression "**(int **)(pcStack_230 + -0x6f38)" * (pointer_expression "*(int **)(pcStack_230 + -0x6f38)" * (cast_expression "(int **)(pcStack_230 + -0x6f38)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6f38)" ( (binary_expression "pcStack_230 + -0x6f38" identifier + number_literal) ))))) != number_literal)) ))) )) (compound_statement "{\n      iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n      if (**(int **)(pcStack_230 + -0x6de4) != 0) {\n        (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fd8));\n        unaff_s3 = *(word **)(pcStack_230 + -0x7fd4);\n        iVar13 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1ff0));\n        uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar13 + 1);\n        uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1ff0));\n        *(undefined4 *)(iVar5 + -0x3fd8) = uVar7;\n      }\n      goto LAB_000fb8b4;\n    }" { (expression_statement "iVar5 = *(int *)(pcStack_230 + -0x7fd4);" (assignment_expression "iVar5 = *(int *)(pcStack_230 + -0x7fd4)" identifier = (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) ))))) ;) (if_statement "if (**(int **)(pcStack_230 + -0x6de4) != 0) {\n        (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fd8));\n        unaff_s3 = *(word **)(pcStack_230 + -0x7fd4);\n        iVar13 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1ff0));\n        uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar13 + 1);\n        uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1ff0));\n        *(undefined4 *)(iVar5 + -0x3fd8) = uVar7;\n      }" if (parenthesized_expression "(**(int **)(pcStack_230 + -0x6de4) != 0)" ( (binary_expression "**(int **)(pcStack_230 + -0x6de4) != 0" (pointer_expression "**(int **)(pcStack_230 + -0x6de4)" * (pointer_expression "*(int **)(pcStack_230 + -0x6de4)" * (cast_expression "(int **)(pcStack_230 + -0x6de4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6de4)" ( (binary_expression "pcStack_230 + -0x6de4" identifier + number_literal) ))))) != number_literal) )) (compound_statement "{\n        (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fd8));\n        unaff_s3 = *(word **)(pcStack_230 + -0x7fd4);\n        iVar13 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1ff0));\n        uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar13 + 1);\n        uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1ff0));\n        *(undefined4 *)(iVar5 + -0x3fd8) = uVar7;\n      }" { (expression_statement "(**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fd8));" (call_expression "(**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fd8))" (parenthesized_expression "(**(code **)(pcStack_230 + -0x798c))" ( (pointer_expression "**(code **)(pcStack_230 + -0x798c)" * (pointer_expression "*(code **)(pcStack_230 + -0x798c)" * (cast_expression "(code **)(pcStack_230 + -0x798c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x798c)" ( (binary_expression "pcStack_230 + -0x798c" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar5 + -0x3fd8))" ( (pointer_expression "*(undefined4 *)(iVar5 + -0x3fd8)" * (cast_expression "(undefined4 *)(iVar5 + -0x3fd8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + -0x3fd8)" ( (binary_expression "iVar5 + -0x3fd8" identifier + number_literal) )))) ))) ;) (expression_statement "unaff_s3 = *(word **)(pcStack_230 + -0x7fd4);" (assignment_expression "unaff_s3 = *(word **)(pcStack_230 + -0x7fd4)" identifier = (pointer_expression "*(word **)(pcStack_230 + -0x7fd4)" * (cast_expression "(word **)(pcStack_230 + -0x7fd4)" ( (type_descriptor "word **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) ))))) ;) (expression_statement "iVar13 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1ff0));" (assignment_expression "iVar13 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1ff0))" identifier = (call_expression "(**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1ff0))" (parenthesized_expression "(**(code **)(pcStack_230 + -0x60fc))" ( (pointer_expression "**(code **)(pcStack_230 + -0x60fc)" * (pointer_expression "*(code **)(pcStack_230 + -0x60fc)" * (cast_expression "(code **)(pcStack_230 + -0x60fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x60fc)" ( (binary_expression "pcStack_230 + -0x60fc" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(unaff_s3 + -0x1ff0))" ( (pointer_expression "*(undefined4 *)(unaff_s3 + -0x1ff0)" * (cast_expression "(undefined4 *)(unaff_s3 + -0x1ff0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s3 + -0x1ff0)" ( (binary_expression "unaff_s3 + -0x1ff0" identifier + number_literal) )))) )))) ;) (expression_statement "uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar13 + 1);" (assignment_expression "uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar13 + 1)" identifier = (call_expression "(**(code **)(pcStack_230 + -0x7f88))(iVar13 + 1)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x7f88))" ( (pointer_expression "**(code **)(pcStack_230 + -0x7f88)" * (pointer_expression "*(code **)(pcStack_230 + -0x7f88)" * (cast_expression "(code **)(pcStack_230 + -0x7f88)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x7f88)" ( (binary_expression "pcStack_230 + -0x7f88" identifier + number_literal) ))))) )) (argument_list "(iVar13 + 1)" ( (binary_expression "iVar13 + 1" identifier + number_literal) )))) ;) (expression_statement "uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1ff0));" (assignment_expression "uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1ff0))" identifier = (call_expression "(**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1ff0))" (parenthesized_expression "(**(code **)(pcStack_230 + -0x6074))" ( (pointer_expression "**(code **)(pcStack_230 + -0x6074)" * (pointer_expression "*(code **)(pcStack_230 + -0x6074)" * (cast_expression "(code **)(pcStack_230 + -0x6074)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6074)" ( (binary_expression "pcStack_230 + -0x6074" identifier + number_literal) ))))) )) (argument_list "(uVar7,*(undefined4 *)(unaff_s3 + -0x1ff0))" ( identifier , (pointer_expression "*(undefined4 *)(unaff_s3 + -0x1ff0)" * (cast_expression "(undefined4 *)(unaff_s3 + -0x1ff0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s3 + -0x1ff0)" ( (binary_expression "unaff_s3 + -0x1ff0" identifier + number_literal) )))) )))) ;) (expression_statement "*(undefined4 *)(iVar5 + -0x3fd8) = uVar7;" (assignment_expression "*(undefined4 *)(iVar5 + -0x3fd8) = uVar7" (pointer_expression "*(undefined4 *)(iVar5 + -0x3fd8)" * (cast_expression "(undefined4 *)(iVar5 + -0x3fd8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + -0x3fd8)" ( (binary_expression "iVar5 + -0x3fd8" identifier + number_literal) )))) = identifier) ;) })) (goto_statement "goto LAB_000fb8b4;" goto statement_identifier ;) })) }) (else_clause "else {\n    (*(code *)**(undefined4 **)(pcStack_230 + -0x6f40))(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);\nLAB_000fb8b4:\n    iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n  }" else (compound_statement "{\n    (*(code *)**(undefined4 **)(pcStack_230 + -0x6f40))(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);\nLAB_000fb8b4:\n    iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n  }" { (expression_statement "(*(code *)**(undefined4 **)(pcStack_230 + -0x6f40))(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);" (call_expression "(*(code *)**(undefined4 **)(pcStack_230 + -0x6f40))(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" (parenthesized_expression "(*(code *)**(undefined4 **)(pcStack_230 + -0x6f40))" ( (pointer_expression "*(code *)**(undefined4 **)(pcStack_230 + -0x6f40)" * (cast_expression "(code *)**(undefined4 **)(pcStack_230 + -0x6f40)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcStack_230 + -0x6f40)" * (pointer_expression "*(undefined4 **)(pcStack_230 + -0x6f40)" * (cast_expression "(undefined4 **)(pcStack_230 + -0x6f40)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6f40)" ( (binary_expression "pcStack_230 + -0x6f40" identifier + number_literal) ))))))) )) (argument_list "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" ( (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_000fb8b4:\n    iVar5 = *(int *)(pcStack_230 + -0x7fd4);" statement_identifier : (expression_statement "iVar5 = *(int *)(pcStack_230 + -0x7fd4);" (assignment_expression "iVar5 = *(int *)(pcStack_230 + -0x7fd4)" identifier = (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) ))))) ;)) }))) (expression_statement "uVar7 = (**(code **)(pcStack_230 + -0x6288))(*(undefined4 *)(iVar5 + -0x3fd8));" (assignment_expression "uVar7 = (**(code **)(pcStack_230 + -0x6288))(*(undefined4 *)(iVar5 + -0x3fd8))" identifier = (call_expression "(**(code **)(pcStack_230 + -0x6288))(*(undefined4 *)(iVar5 + -0x3fd8))" (parenthesized_expression "(**(code **)(pcStack_230 + -0x6288))" ( (pointer_expression "**(code **)(pcStack_230 + -0x6288)" * (pointer_expression "*(code **)(pcStack_230 + -0x6288)" * (cast_expression "(code **)(pcStack_230 + -0x6288)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6288)" ( (binary_expression "pcStack_230 + -0x6288" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar5 + -0x3fd8))" ( (pointer_expression "*(undefined4 *)(iVar5 + -0x3fd8)" * (cast_expression "(undefined4 *)(iVar5 + -0x3fd8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + -0x3fd8)" ( (binary_expression "iVar5 + -0x3fd8" identifier + number_literal) )))) )))) ;) (expression_statement "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) = uVar7;" (assignment_expression "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) = uVar7" (pointer_expression "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4)" * (cast_expression "(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4)" ( (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) )))) + number_literal) )))) = identifier) ;) (expression_statement "iVar5 = *(int *)(pcStack_230 + -0x7fd4);" (assignment_expression "iVar5 = *(int *)(pcStack_230 + -0x7fd4)" identifier = (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) ))))) ;) (if_statement "if ((**(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) != '\0') &&\n     (iVar5 = *(int *)(pcStack_230 + -0x7fd4), **(int **)(pcStack_230 + -0x6f38) != 0)) {\n    if ((code *)**(undefined4 **)(pcStack_230 + -0x6de4) != (code *)0x0) {\n      unaff_s3 = (word *)(*(code *)**(undefined4 **)(pcStack_230 + -0x6de4))\n                                   (*(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc),\n                                    **(undefined4 **)(pcStack_230 + -0x6f34));\n      iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n      (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fdc));\n      *(word **)(iVar5 + -0x3fdc) = unaff_s3;\n    }\n    iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n  }" if (parenthesized_expression "((**(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) != '\0') &&\n     (iVar5 = *(int *)(pcStack_230 + -0x7fd4), **(int **)(pcStack_230 + -0x6f38) != 0))" ( (binary_expression "(**(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) != '\0') &&\n     (iVar5 = *(int *)(pcStack_230 + -0x7fd4), **(int **)(pcStack_230 + -0x6f38) != 0)" (parenthesized_expression "(**(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) != '\0')" ( (binary_expression "**(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) != '\0'" (pointer_expression "**(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc)" * (pointer_expression "*(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc)" * (cast_expression "(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc)" ( (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) )))) + number_literal) ))))) != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(iVar5 = *(int *)(pcStack_230 + -0x7fd4), **(int **)(pcStack_230 + -0x6f38) != 0)" ( (comma_expression "iVar5 = *(int *)(pcStack_230 + -0x7fd4), **(int **)(pcStack_230 + -0x6f38) != 0" (assignment_expression "iVar5 = *(int *)(pcStack_230 + -0x7fd4)" identifier = (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) ))))) , (binary_expression "**(int **)(pcStack_230 + -0x6f38) != 0" (pointer_expression "**(int **)(pcStack_230 + -0x6f38)" * (pointer_expression "*(int **)(pcStack_230 + -0x6f38)" * (cast_expression "(int **)(pcStack_230 + -0x6f38)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6f38)" ( (binary_expression "pcStack_230 + -0x6f38" identifier + number_literal) ))))) != number_literal)) ))) )) (compound_statement "{\n    if ((code *)**(undefined4 **)(pcStack_230 + -0x6de4) != (code *)0x0) {\n      unaff_s3 = (word *)(*(code *)**(undefined4 **)(pcStack_230 + -0x6de4))\n                                   (*(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc),\n                                    **(undefined4 **)(pcStack_230 + -0x6f34));\n      iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n      (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fdc));\n      *(word **)(iVar5 + -0x3fdc) = unaff_s3;\n    }\n    iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n  }" { (if_statement "if ((code *)**(undefined4 **)(pcStack_230 + -0x6de4) != (code *)0x0) {\n      unaff_s3 = (word *)(*(code *)**(undefined4 **)(pcStack_230 + -0x6de4))\n                                   (*(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc),\n                                    **(undefined4 **)(pcStack_230 + -0x6f34));\n      iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n      (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fdc));\n      *(word **)(iVar5 + -0x3fdc) = unaff_s3;\n    }" if (parenthesized_expression "((code *)**(undefined4 **)(pcStack_230 + -0x6de4) != (code *)0x0)" ( (binary_expression "(code *)**(undefined4 **)(pcStack_230 + -0x6de4) != (code *)0x0" (cast_expression "(code *)**(undefined4 **)(pcStack_230 + -0x6de4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcStack_230 + -0x6de4)" * (pointer_expression "*(undefined4 **)(pcStack_230 + -0x6de4)" * (cast_expression "(undefined4 **)(pcStack_230 + -0x6de4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6de4)" ( (binary_expression "pcStack_230 + -0x6de4" identifier + number_literal) )))))) != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      unaff_s3 = (word *)(*(code *)**(undefined4 **)(pcStack_230 + -0x6de4))\n                                   (*(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc),\n                                    **(undefined4 **)(pcStack_230 + -0x6f34));\n      iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n      (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fdc));\n      *(word **)(iVar5 + -0x3fdc) = unaff_s3;\n    }" { (expression_statement "unaff_s3 = (word *)(*(code *)**(undefined4 **)(pcStack_230 + -0x6de4))\n                                   (*(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc),\n                                    **(undefined4 **)(pcStack_230 + -0x6f34));" (assignment_expression "unaff_s3 = (word *)(*(code *)**(undefined4 **)(pcStack_230 + -0x6de4))\n                                   (*(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc),\n                                    **(undefined4 **)(pcStack_230 + -0x6f34))" identifier = (cast_expression "(word *)(*(code *)**(undefined4 **)(pcStack_230 + -0x6de4))\n                                   (*(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc),\n                                    **(undefined4 **)(pcStack_230 + -0x6f34))" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)**(undefined4 **)(pcStack_230 + -0x6de4))\n                                   (*(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc),\n                                    **(undefined4 **)(pcStack_230 + -0x6f34))" (parenthesized_expression "(*(code *)**(undefined4 **)(pcStack_230 + -0x6de4))" ( (pointer_expression "*(code *)**(undefined4 **)(pcStack_230 + -0x6de4)" * (cast_expression "(code *)**(undefined4 **)(pcStack_230 + -0x6de4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcStack_230 + -0x6de4)" * (pointer_expression "*(undefined4 **)(pcStack_230 + -0x6de4)" * (cast_expression "(undefined4 **)(pcStack_230 + -0x6de4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6de4)" ( (binary_expression "pcStack_230 + -0x6de4" identifier + number_literal) ))))))) )) (argument_list "(*(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc),\n                                    **(undefined4 **)(pcStack_230 + -0x6f34))" ( (pointer_expression "*(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc)" * (cast_expression "(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc)" ( (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) )))) + number_literal) )))) , (pointer_expression "**(undefined4 **)(pcStack_230 + -0x6f34)" * (pointer_expression "*(undefined4 **)(pcStack_230 + -0x6f34)" * (cast_expression "(undefined4 **)(pcStack_230 + -0x6f34)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6f34)" ( (binary_expression "pcStack_230 + -0x6f34" identifier + number_literal) ))))) ))))) ;) (expression_statement "iVar5 = *(int *)(pcStack_230 + -0x7fd4);" (assignment_expression "iVar5 = *(int *)(pcStack_230 + -0x7fd4)" identifier = (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) ))))) ;) (expression_statement "(**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fdc));" (call_expression "(**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fdc))" (parenthesized_expression "(**(code **)(pcStack_230 + -0x798c))" ( (pointer_expression "**(code **)(pcStack_230 + -0x798c)" * (pointer_expression "*(code **)(pcStack_230 + -0x798c)" * (cast_expression "(code **)(pcStack_230 + -0x798c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x798c)" ( (binary_expression "pcStack_230 + -0x798c" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar5 + -0x3fdc))" ( (pointer_expression "*(undefined4 *)(iVar5 + -0x3fdc)" * (cast_expression "(undefined4 *)(iVar5 + -0x3fdc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + -0x3fdc)" ( (binary_expression "iVar5 + -0x3fdc" identifier + number_literal) )))) ))) ;) (expression_statement "*(word **)(iVar5 + -0x3fdc) = unaff_s3;" (assignment_expression "*(word **)(iVar5 + -0x3fdc) = unaff_s3" (pointer_expression "*(word **)(iVar5 + -0x3fdc)" * (cast_expression "(word **)(iVar5 + -0x3fdc)" ( (type_descriptor "word **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + -0x3fdc)" ( (binary_expression "iVar5 + -0x3fdc" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "iVar5 = *(int *)(pcStack_230 + -0x7fd4);" (assignment_expression "iVar5 = *(int *)(pcStack_230 + -0x7fd4)" identifier = (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) ))))) ;) })) (expression_statement "uVar7 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(iVar5 + -0x3fdc));" (assignment_expression "uVar7 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(iVar5 + -0x3fdc))" identifier = (call_expression "(**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(iVar5 + -0x3fdc))" (parenthesized_expression "(**(code **)(pcStack_230 + -0x60fc))" ( (pointer_expression "**(code **)(pcStack_230 + -0x60fc)" * (pointer_expression "*(code **)(pcStack_230 + -0x60fc)" * (cast_expression "(code **)(pcStack_230 + -0x60fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x60fc)" ( (binary_expression "pcStack_230 + -0x60fc" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar5 + -0x3fdc))" ( (pointer_expression "*(undefined4 *)(iVar5 + -0x3fdc)" * (cast_expression "(undefined4 *)(iVar5 + -0x3fdc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + -0x3fdc)" ( (binary_expression "iVar5 + -0x3fdc" identifier + number_literal) )))) )))) ;) (expression_statement "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe4) = uVar7;" (assignment_expression "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe4) = uVar7" (pointer_expression "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe4)" * (cast_expression "(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe4)" ( (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fe4" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) )))) + number_literal) )))) = identifier) ;) (expression_statement "**(undefined4 **)(pcStack_230 + -0x6f0c) = 1;" (assignment_expression "**(undefined4 **)(pcStack_230 + -0x6f0c) = 1" (pointer_expression "**(undefined4 **)(pcStack_230 + -0x6f0c)" * (pointer_expression "*(undefined4 **)(pcStack_230 + -0x6f0c)" * (cast_expression "(undefined4 **)(pcStack_230 + -0x6f0c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6f0c)" ( (binary_expression "pcStack_230 + -0x6f0c" identifier + number_literal) ))))) = number_literal) ;) (labeled_statement "LAB_000fb968:\n  iVar5 = 0;" statement_identifier : (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;)) (expression_statement "iStack_224 = *(int *)(pcStack_230 + -0x7fd4);" (assignment_expression "iStack_224 = *(int *)(pcStack_230 + -0x7fd4)" identifier = (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) ))))) ;) (expression_statement "puStack_220 = *(undefined4 **)(pcStack_230 + -0x6df0);" (assignment_expression "puStack_220 = *(undefined4 **)(pcStack_230 + -0x6df0)" identifier = (pointer_expression "*(undefined4 **)(pcStack_230 + -0x6df0)" * (cast_expression "(undefined4 **)(pcStack_230 + -0x6df0)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6df0)" ( (binary_expression "pcStack_230 + -0x6df0" identifier + number_literal) ))))) ;) (expression_statement "iStack_21c = *(int *)(pcStack_230 + -0x7fd4);" (assignment_expression "iStack_21c = *(int *)(pcStack_230 + -0x7fd4)" identifier = (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) ))))) ;) (expression_statement "iStack_218 = *(int *)(pcStack_230 + -0x7fd4);" (assignment_expression "iStack_218 = *(int *)(pcStack_230 + -0x7fd4)" identifier = (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) ))))) ;) (expression_statement "piStack_20c = *(int **)(pcStack_230 + -0x65bc);" (assignment_expression "piStack_20c = *(int **)(pcStack_230 + -0x65bc)" identifier = (pointer_expression "*(int **)(pcStack_230 + -0x65bc)" * (cast_expression "(int **)(pcStack_230 + -0x65bc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x65bc)" ( (binary_expression "pcStack_230 + -0x65bc" identifier + number_literal) ))))) ;) (expression_statement "pcVar23 = pcStack_230;" (assignment_expression "pcVar23 = pcStack_230" identifier = identifier) ;) (labeled_statement "LAB_000fbb0c:\n  iVar13 = *(int *)(iStack_224 + -0x3fd4);" statement_identifier : (expression_statement "iVar13 = *(int *)(iStack_224 + -0x3fd4);" (assignment_expression "iVar13 = *(int *)(iStack_224 + -0x3fd4)" identifier = (pointer_expression "*(int *)(iStack_224 + -0x3fd4)" * (cast_expression "(int *)(iStack_224 + -0x3fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_224 + -0x3fd4)" ( (binary_expression "iStack_224 + -0x3fd4" identifier + number_literal) ))))) ;)) (labeled_statement "LAB_000fbb10:\n  if (iVar13 == 0) {\n    if (iVar5 != 0) goto LAB_000fbbb0;\n    iVar5 = *(int *)(*(int *)(pcVar23 + -0x7fd4) + -0x3fd8);\nLAB_000fc3a0:\n    if (iVar5 != 0) {\n      (**(code **)(pcVar23 + -0x798c))();\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) = 0;\n      pcVar23 = pcStack_230;\n    }\n    if (*(int *)(*(int *)(pcVar23 + -0x7fd4) + -0x3fdc) != 0) {\n      (**(code **)(pcVar23 + -0x798c))();\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) = 0;\n      pcVar23 = pcStack_230;\n    }\n    pwVar14 = *(word **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0);\n    if (pwVar14 != (word *)0x0) {\n      (**(code **)(pcVar23 + -0x798c))(pwVar14);\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = 0;\n      pwVar14 = (word *)0x0;\n      pcVar23 = pcStack_230;\n    }\n    goto LAB_000fbca4;\n  }" statement_identifier : (if_statement "if (iVar13 == 0) {\n    if (iVar5 != 0) goto LAB_000fbbb0;\n    iVar5 = *(int *)(*(int *)(pcVar23 + -0x7fd4) + -0x3fd8);\nLAB_000fc3a0:\n    if (iVar5 != 0) {\n      (**(code **)(pcVar23 + -0x798c))();\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) = 0;\n      pcVar23 = pcStack_230;\n    }\n    if (*(int *)(*(int *)(pcVar23 + -0x7fd4) + -0x3fdc) != 0) {\n      (**(code **)(pcVar23 + -0x798c))();\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) = 0;\n      pcVar23 = pcStack_230;\n    }\n    pwVar14 = *(word **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0);\n    if (pwVar14 != (word *)0x0) {\n      (**(code **)(pcVar23 + -0x798c))(pwVar14);\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = 0;\n      pwVar14 = (word *)0x0;\n      pcVar23 = pcStack_230;\n    }\n    goto LAB_000fbca4;\n  }" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (compound_statement "{\n    if (iVar5 != 0) goto LAB_000fbbb0;\n    iVar5 = *(int *)(*(int *)(pcVar23 + -0x7fd4) + -0x3fd8);\nLAB_000fc3a0:\n    if (iVar5 != 0) {\n      (**(code **)(pcVar23 + -0x798c))();\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) = 0;\n      pcVar23 = pcStack_230;\n    }\n    if (*(int *)(*(int *)(pcVar23 + -0x7fd4) + -0x3fdc) != 0) {\n      (**(code **)(pcVar23 + -0x798c))();\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) = 0;\n      pcVar23 = pcStack_230;\n    }\n    pwVar14 = *(word **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0);\n    if (pwVar14 != (word *)0x0) {\n      (**(code **)(pcVar23 + -0x798c))(pwVar14);\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = 0;\n      pwVar14 = (word *)0x0;\n      pcVar23 = pcStack_230;\n    }\n    goto LAB_000fbca4;\n  }" { (if_statement "if (iVar5 != 0) goto LAB_000fbbb0;" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000fbbb0;" goto statement_identifier ;)) (expression_statement "iVar5 = *(int *)(*(int *)(pcVar23 + -0x7fd4) + -0x3fd8);" (assignment_expression "iVar5 = *(int *)(*(int *)(pcVar23 + -0x7fd4) + -0x3fd8)" identifier = (pointer_expression "*(int *)(*(int *)(pcVar23 + -0x7fd4) + -0x3fd8)" * (cast_expression "(int *)(*(int *)(pcVar23 + -0x7fd4) + -0x3fd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar23 + -0x7fd4) + -0x3fd8)" ( (binary_expression "*(int *)(pcVar23 + -0x7fd4) + -0x3fd8" (pointer_expression "*(int *)(pcVar23 + -0x7fd4)" * (cast_expression "(int *)(pcVar23 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar23 + -0x7fd4)" ( (binary_expression "pcVar23 + -0x7fd4" identifier + number_literal) )))) + number_literal) ))))) ;) (labeled_statement "LAB_000fc3a0:\n    if (iVar5 != 0) {\n      (**(code **)(pcVar23 + -0x798c))();\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) = 0;\n      pcVar23 = pcStack_230;\n    }" statement_identifier : (if_statement "if (iVar5 != 0) {\n      (**(code **)(pcVar23 + -0x798c))();\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) = 0;\n      pcVar23 = pcStack_230;\n    }" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (compound_statement "{\n      (**(code **)(pcVar23 + -0x798c))();\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) = 0;\n      pcVar23 = pcStack_230;\n    }" { (expression_statement "(**(code **)(pcVar23 + -0x798c))();" (call_expression "(**(code **)(pcVar23 + -0x798c))()" (parenthesized_expression "(**(code **)(pcVar23 + -0x798c))" ( (pointer_expression "**(code **)(pcVar23 + -0x798c)" * (pointer_expression "*(code **)(pcVar23 + -0x798c)" * (cast_expression "(code **)(pcVar23 + -0x798c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + -0x798c)" ( (binary_expression "pcVar23 + -0x798c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) = 0;" (assignment_expression "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) = 0" (pointer_expression "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" * (cast_expression "(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" ( (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) )))) + number_literal) )))) = number_literal) ;) (expression_statement "pcVar23 = pcStack_230;" (assignment_expression "pcVar23 = pcStack_230" identifier = identifier) ;) }))) (if_statement "if (*(int *)(*(int *)(pcVar23 + -0x7fd4) + -0x3fdc) != 0) {\n      (**(code **)(pcVar23 + -0x798c))();\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) = 0;\n      pcVar23 = pcStack_230;\n    }" if (parenthesized_expression "(*(int *)(*(int *)(pcVar23 + -0x7fd4) + -0x3fdc) != 0)" ( (binary_expression "*(int *)(*(int *)(pcVar23 + -0x7fd4) + -0x3fdc) != 0" (pointer_expression "*(int *)(*(int *)(pcVar23 + -0x7fd4) + -0x3fdc)" * (cast_expression "(int *)(*(int *)(pcVar23 + -0x7fd4) + -0x3fdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar23 + -0x7fd4) + -0x3fdc)" ( (binary_expression "*(int *)(pcVar23 + -0x7fd4) + -0x3fdc" (pointer_expression "*(int *)(pcVar23 + -0x7fd4)" * (cast_expression "(int *)(pcVar23 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar23 + -0x7fd4)" ( (binary_expression "pcVar23 + -0x7fd4" identifier + number_literal) )))) + number_literal) )))) != number_literal) )) (compound_statement "{\n      (**(code **)(pcVar23 + -0x798c))();\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) = 0;\n      pcVar23 = pcStack_230;\n    }" { (expression_statement "(**(code **)(pcVar23 + -0x798c))();" (call_expression "(**(code **)(pcVar23 + -0x798c))()" (parenthesized_expression "(**(code **)(pcVar23 + -0x798c))" ( (pointer_expression "**(code **)(pcVar23 + -0x798c)" * (pointer_expression "*(code **)(pcVar23 + -0x798c)" * (cast_expression "(code **)(pcVar23 + -0x798c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + -0x798c)" ( (binary_expression "pcVar23 + -0x798c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) = 0;" (assignment_expression "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) = 0" (pointer_expression "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc)" * (cast_expression "(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc)" ( (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) )))) + number_literal) )))) = number_literal) ;) (expression_statement "pcVar23 = pcStack_230;" (assignment_expression "pcVar23 = pcStack_230" identifier = identifier) ;) })) (expression_statement "pwVar14 = *(word **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0);" (assignment_expression "pwVar14 = *(word **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0)" identifier = (pointer_expression "*(word **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0)" * (cast_expression "(word **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0)" ( (type_descriptor "word **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0)" ( (binary_expression "*(int *)(pcVar23 + -0x7fd4) + -0x3fe0" (pointer_expression "*(int *)(pcVar23 + -0x7fd4)" * (cast_expression "(int *)(pcVar23 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar23 + -0x7fd4)" ( (binary_expression "pcVar23 + -0x7fd4" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (pwVar14 != (word *)0x0) {\n      (**(code **)(pcVar23 + -0x798c))(pwVar14);\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = 0;\n      pwVar14 = (word *)0x0;\n      pcVar23 = pcStack_230;\n    }" if (parenthesized_expression "(pwVar14 != (word *)0x0)" ( (binary_expression "pwVar14 != (word *)0x0" identifier != (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      (**(code **)(pcVar23 + -0x798c))(pwVar14);\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = 0;\n      pwVar14 = (word *)0x0;\n      pcVar23 = pcStack_230;\n    }" { (expression_statement "(**(code **)(pcVar23 + -0x798c))(pwVar14);" (call_expression "(**(code **)(pcVar23 + -0x798c))(pwVar14)" (parenthesized_expression "(**(code **)(pcVar23 + -0x798c))" ( (pointer_expression "**(code **)(pcVar23 + -0x798c)" * (pointer_expression "*(code **)(pcVar23 + -0x798c)" * (cast_expression "(code **)(pcVar23 + -0x798c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + -0x798c)" ( (binary_expression "pcVar23 + -0x798c" identifier + number_literal) ))))) )) (argument_list "(pwVar14)" ( identifier ))) ;) (expression_statement "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = 0;" (assignment_expression "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = 0" (pointer_expression "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0)" * (cast_expression "(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0)" ( (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) )))) + number_literal) )))) = number_literal) ;) (expression_statement "pwVar14 = (word *)0x0;" (assignment_expression "pwVar14 = (word *)0x0" identifier = (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar23 = pcStack_230;" (assignment_expression "pcVar23 = pcStack_230" identifier = identifier) ;) })) (goto_statement "goto LAB_000fbca4;" goto statement_identifier ;) }))) (expression_statement "iVar5 = (**(code **)(pcVar23 + -0x6214))();" (assignment_expression "iVar5 = (**(code **)(pcVar23 + -0x6214))()" identifier = (call_expression "(**(code **)(pcVar23 + -0x6214))()" (parenthesized_expression "(**(code **)(pcVar23 + -0x6214))" ( (pointer_expression "**(code **)(pcVar23 + -0x6214)" * (pointer_expression "*(code **)(pcVar23 + -0x6214)" * (cast_expression "(code **)(pcVar23 + -0x6214)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + -0x6214)" ( (binary_expression "pcVar23 + -0x6214" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar5 == 0) {\n    if (*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) != 0) {\n      (**(code **)(pcStack_230 + -0x6284))();\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) = 0;\n    }\n    iVar5 = *(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);\n    pcVar23 = pcStack_230;\n    goto LAB_000fc3a0;\n  }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n    if (*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) != 0) {\n      (**(code **)(pcStack_230 + -0x6284))();\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) = 0;\n    }\n    iVar5 = *(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);\n    pcVar23 = pcStack_230;\n    goto LAB_000fc3a0;\n  }" { (if_statement "if (*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) != 0) {\n      (**(code **)(pcStack_230 + -0x6284))();\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) = 0;\n    }" if (parenthesized_expression "(*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) != 0)" ( (binary_expression "*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) != 0" (pointer_expression "*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4)" * (cast_expression "(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4)" ( (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) )))) + number_literal) )))) != number_literal) )) (compound_statement "{\n      (**(code **)(pcStack_230 + -0x6284))();\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) = 0;\n    }" { (expression_statement "(**(code **)(pcStack_230 + -0x6284))();" (call_expression "(**(code **)(pcStack_230 + -0x6284))()" (parenthesized_expression "(**(code **)(pcStack_230 + -0x6284))" ( (pointer_expression "**(code **)(pcStack_230 + -0x6284)" * (pointer_expression "*(code **)(pcStack_230 + -0x6284)" * (cast_expression "(code **)(pcStack_230 + -0x6284)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6284)" ( (binary_expression "pcStack_230 + -0x6284" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) = 0;" (assignment_expression "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) = 0" (pointer_expression "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4)" * (cast_expression "(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4)" ( (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) )))) + number_literal) )))) = number_literal) ;) })) (expression_statement "iVar5 = *(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);" (assignment_expression "iVar5 = *(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" identifier = (pointer_expression "*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" * (cast_expression "(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" ( (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "pcVar23 = pcStack_230;" (assignment_expression "pcVar23 = pcStack_230" identifier = identifier) ;) (goto_statement "goto LAB_000fc3a0;" goto statement_identifier ;) })) (expression_statement "pwVar18 = (word *)(iVar5 + 0x13);" (assignment_expression "pwVar18 = (word *)(iVar5 + 0x13)" identifier = (cast_expression "(word *)(iVar5 + 0x13)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x13)" ( (binary_expression "iVar5 + 0x13" identifier + number_literal) )))) ;) (expression_statement "unaff_s4 = (word *)(**(code **)(pcStack_230 + -0x60fc))(pwVar18);" (assignment_expression "unaff_s4 = (word *)(**(code **)(pcStack_230 + -0x60fc))(pwVar18)" identifier = (cast_expression "(word *)(**(code **)(pcStack_230 + -0x60fc))(pwVar18)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_230 + -0x60fc))(pwVar18)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x60fc))" ( (pointer_expression "**(code **)(pcStack_230 + -0x60fc)" * (pointer_expression "*(code **)(pcStack_230 + -0x60fc)" * (cast_expression "(code **)(pcStack_230 + -0x60fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x60fc)" ( (binary_expression "pcStack_230 + -0x60fc" identifier + number_literal) ))))) )) (argument_list "(pwVar18)" ( identifier ))))) ;) (expression_statement "pwVar16 = pwVar18;" (assignment_expression "pwVar16 = pwVar18" identifier = identifier) ;) (if_statement "if (((code *)*puStack_220 != (code *)0x0) &&\n     (pwVar16 = (word *)(*(code *)*puStack_220)(pwVar18,unaff_s4), pwVar18 != pwVar16)) {\n    unaff_s4 = (word *)(**(code **)(pcStack_230 + -0x60fc))(pwVar16);\n  }" if (parenthesized_expression "(((code *)*puStack_220 != (code *)0x0) &&\n     (pwVar16 = (word *)(*(code *)*puStack_220)(pwVar18,unaff_s4), pwVar18 != pwVar16))" ( (binary_expression "((code *)*puStack_220 != (code *)0x0) &&\n     (pwVar16 = (word *)(*(code *)*puStack_220)(pwVar18,unaff_s4), pwVar18 != pwVar16)" (parenthesized_expression "((code *)*puStack_220 != (code *)0x0)" ( (binary_expression "(code *)*puStack_220 != (code *)0x0" (cast_expression "(code *)*puStack_220" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puStack_220" * identifier)) != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(pwVar16 = (word *)(*(code *)*puStack_220)(pwVar18,unaff_s4), pwVar18 != pwVar16)" ( (comma_expression "pwVar16 = (word *)(*(code *)*puStack_220)(pwVar18,unaff_s4), pwVar18 != pwVar16" (assignment_expression "pwVar16 = (word *)(*(code *)*puStack_220)(pwVar18,unaff_s4)" identifier = (cast_expression "(word *)(*(code *)*puStack_220)(pwVar18,unaff_s4)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)*puStack_220)(pwVar18,unaff_s4)" (parenthesized_expression "(*(code *)*puStack_220)" ( (pointer_expression "*(code *)*puStack_220" * (cast_expression "(code *)*puStack_220" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puStack_220" * identifier))) )) (argument_list "(pwVar18,unaff_s4)" ( identifier , identifier ))))) , (binary_expression "pwVar18 != pwVar16" identifier != identifier)) ))) )) (compound_statement "{\n    unaff_s4 = (word *)(**(code **)(pcStack_230 + -0x60fc))(pwVar16);\n  }" { (expression_statement "unaff_s4 = (word *)(**(code **)(pcStack_230 + -0x60fc))(pwVar16);" (assignment_expression "unaff_s4 = (word *)(**(code **)(pcStack_230 + -0x60fc))(pwVar16)" identifier = (cast_expression "(word *)(**(code **)(pcStack_230 + -0x60fc))(pwVar16)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_230 + -0x60fc))(pwVar16)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x60fc))" ( (pointer_expression "**(code **)(pcStack_230 + -0x60fc)" * (pointer_expression "*(code **)(pcStack_230 + -0x60fc)" * (cast_expression "(code **)(pcStack_230 + -0x60fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x60fc)" ( (binary_expression "pcStack_230 + -0x60fc" identifier + number_literal) ))))) )) (argument_list "(pwVar16)" ( identifier ))))) ;) })) (expression_statement "unaff_s3 = *(word **)(iStack_21c + -0x3fe4);" (assignment_expression "unaff_s3 = *(word **)(iStack_21c + -0x3fe4)" identifier = (pointer_expression "*(word **)(iStack_21c + -0x3fe4)" * (cast_expression "(word **)(iStack_21c + -0x3fe4)" ( (type_descriptor "word **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iStack_21c + -0x3fe4)" ( (binary_expression "iStack_21c + -0x3fe4" identifier + number_literal) ))))) ;) (expression_statement "pcVar23 = pcStack_230;" (assignment_expression "pcVar23 = pcStack_230" identifier = identifier) ;) (if_statement "if (unaff_s3 == (word *)0x0) {\n    if (**(int **)(pcStack_230 + -0x65ac) == 0) {\n      if (*(byte *)pwVar16 != 0x2e) goto LAB_000fbbb0;\n    }\n    else {\n      iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n      if ((*(byte *)pwVar16 != 0x2e) ||\n         (((byte)*pwVar16 != 0 &&\n          ((iVar13 = *(int *)(pcStack_230 + -0x7fd4), (byte)*pwVar16 != 0x2e ||\n           (iVar13 = *(int *)(pcStack_230 + -0x7fd4), *(byte *)(pwVar16 + 1) != 0))))))\n      goto LAB_000fbbb4;\n    }\n    goto LAB_000fbb0c;\n  }" if (parenthesized_expression "(unaff_s3 == (word *)0x0)" ( (binary_expression "unaff_s3 == (word *)0x0" identifier == (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (**(int **)(pcStack_230 + -0x65ac) == 0) {\n      if (*(byte *)pwVar16 != 0x2e) goto LAB_000fbbb0;\n    }\n    else {\n      iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n      if ((*(byte *)pwVar16 != 0x2e) ||\n         (((byte)*pwVar16 != 0 &&\n          ((iVar13 = *(int *)(pcStack_230 + -0x7fd4), (byte)*pwVar16 != 0x2e ||\n           (iVar13 = *(int *)(pcStack_230 + -0x7fd4), *(byte *)(pwVar16 + 1) != 0))))))\n      goto LAB_000fbbb4;\n    }\n    goto LAB_000fbb0c;\n  }" { (if_statement "if (**(int **)(pcStack_230 + -0x65ac) == 0) {\n      if (*(byte *)pwVar16 != 0x2e) goto LAB_000fbbb0;\n    }\n    else {\n      iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n      if ((*(byte *)pwVar16 != 0x2e) ||\n         (((byte)*pwVar16 != 0 &&\n          ((iVar13 = *(int *)(pcStack_230 + -0x7fd4), (byte)*pwVar16 != 0x2e ||\n           (iVar13 = *(int *)(pcStack_230 + -0x7fd4), *(byte *)(pwVar16 + 1) != 0))))))\n      goto LAB_000fbbb4;\n    }" if (parenthesized_expression "(**(int **)(pcStack_230 + -0x65ac) == 0)" ( (binary_expression "**(int **)(pcStack_230 + -0x65ac) == 0" (pointer_expression "**(int **)(pcStack_230 + -0x65ac)" * (pointer_expression "*(int **)(pcStack_230 + -0x65ac)" * (cast_expression "(int **)(pcStack_230 + -0x65ac)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x65ac)" ( (binary_expression "pcStack_230 + -0x65ac" identifier + number_literal) ))))) == number_literal) )) (compound_statement "{\n      if (*(byte *)pwVar16 != 0x2e) goto LAB_000fbbb0;\n    }" { (if_statement "if (*(byte *)pwVar16 != 0x2e) goto LAB_000fbbb0;" if (parenthesized_expression "(*(byte *)pwVar16 != 0x2e)" ( (binary_expression "*(byte *)pwVar16 != 0x2e" (pointer_expression "*(byte *)pwVar16" * (cast_expression "(byte *)pwVar16" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) )) (goto_statement "goto LAB_000fbbb0;" goto statement_identifier ;)) }) (else_clause "else {\n      iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n      if ((*(byte *)pwVar16 != 0x2e) ||\n         (((byte)*pwVar16 != 0 &&\n          ((iVar13 = *(int *)(pcStack_230 + -0x7fd4), (byte)*pwVar16 != 0x2e ||\n           (iVar13 = *(int *)(pcStack_230 + -0x7fd4), *(byte *)(pwVar16 + 1) != 0))))))\n      goto LAB_000fbbb4;\n    }" else (compound_statement "{\n      iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n      if ((*(byte *)pwVar16 != 0x2e) ||\n         (((byte)*pwVar16 != 0 &&\n          ((iVar13 = *(int *)(pcStack_230 + -0x7fd4), (byte)*pwVar16 != 0x2e ||\n           (iVar13 = *(int *)(pcStack_230 + -0x7fd4), *(byte *)(pwVar16 + 1) != 0))))))\n      goto LAB_000fbbb4;\n    }" { (expression_statement "iVar13 = *(int *)(pcStack_230 + -0x7fd4);" (assignment_expression "iVar13 = *(int *)(pcStack_230 + -0x7fd4)" identifier = (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) ))))) ;) (if_statement "if ((*(byte *)pwVar16 != 0x2e) ||\n         (((byte)*pwVar16 != 0 &&\n          ((iVar13 = *(int *)(pcStack_230 + -0x7fd4), (byte)*pwVar16 != 0x2e ||\n           (iVar13 = *(int *)(pcStack_230 + -0x7fd4), *(byte *)(pwVar16 + 1) != 0))))))\n      goto LAB_000fbbb4;" if (parenthesized_expression "((*(byte *)pwVar16 != 0x2e) ||\n         (((byte)*pwVar16 != 0 &&\n          ((iVar13 = *(int *)(pcStack_230 + -0x7fd4), (byte)*pwVar16 != 0x2e ||\n           (iVar13 = *(int *)(pcStack_230 + -0x7fd4), *(byte *)(pwVar16 + 1) != 0))))))" ( (binary_expression "(*(byte *)pwVar16 != 0x2e) ||\n         (((byte)*pwVar16 != 0 &&\n          ((iVar13 = *(int *)(pcStack_230 + -0x7fd4), (byte)*pwVar16 != 0x2e ||\n           (iVar13 = *(int *)(pcStack_230 + -0x7fd4), *(byte *)(pwVar16 + 1) != 0)))))" (parenthesized_expression "(*(byte *)pwVar16 != 0x2e)" ( (binary_expression "*(byte *)pwVar16 != 0x2e" (pointer_expression "*(byte *)pwVar16" * (cast_expression "(byte *)pwVar16" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) )) || (parenthesized_expression "(((byte)*pwVar16 != 0 &&\n          ((iVar13 = *(int *)(pcStack_230 + -0x7fd4), (byte)*pwVar16 != 0x2e ||\n           (iVar13 = *(int *)(pcStack_230 + -0x7fd4), *(byte *)(pwVar16 + 1) != 0)))))" ( (parenthesized_expression "((byte)*pwVar16 != 0 &&\n          ((iVar13 = *(int *)(pcStack_230 + -0x7fd4), (byte)*pwVar16 != 0x2e ||\n           (iVar13 = *(int *)(pcStack_230 + -0x7fd4), *(byte *)(pwVar16 + 1) != 0))))" ( (binary_expression "(byte)*pwVar16 != 0 &&\n          ((iVar13 = *(int *)(pcStack_230 + -0x7fd4), (byte)*pwVar16 != 0x2e ||\n           (iVar13 = *(int *)(pcStack_230 + -0x7fd4), *(byte *)(pwVar16 + 1) != 0)))" (binary_expression "(byte)*pwVar16 != 0" (binary_expression "(byte)*pwVar16" (parenthesized_expression "(byte)" ( identifier )) * identifier) != number_literal) && (parenthesized_expression "((iVar13 = *(int *)(pcStack_230 + -0x7fd4), (byte)*pwVar16 != 0x2e ||\n           (iVar13 = *(int *)(pcStack_230 + -0x7fd4), *(byte *)(pwVar16 + 1) != 0)))" ( (parenthesized_expression "(iVar13 = *(int *)(pcStack_230 + -0x7fd4), (byte)*pwVar16 != 0x2e ||\n           (iVar13 = *(int *)(pcStack_230 + -0x7fd4), *(byte *)(pwVar16 + 1) != 0))" ( (comma_expression "iVar13 = *(int *)(pcStack_230 + -0x7fd4), (byte)*pwVar16 != 0x2e ||\n           (iVar13 = *(int *)(pcStack_230 + -0x7fd4), *(byte *)(pwVar16 + 1) != 0)" (assignment_expression "iVar13 = *(int *)(pcStack_230 + -0x7fd4)" identifier = (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) ))))) , (binary_expression "(byte)*pwVar16 != 0x2e ||\n           (iVar13 = *(int *)(pcStack_230 + -0x7fd4), *(byte *)(pwVar16 + 1) != 0)" (binary_expression "(byte)*pwVar16 != 0x2e" (binary_expression "(byte)*pwVar16" (parenthesized_expression "(byte)" ( identifier )) * identifier) != number_literal) || (parenthesized_expression "(iVar13 = *(int *)(pcStack_230 + -0x7fd4), *(byte *)(pwVar16 + 1) != 0)" ( (comma_expression "iVar13 = *(int *)(pcStack_230 + -0x7fd4), *(byte *)(pwVar16 + 1) != 0" (assignment_expression "iVar13 = *(int *)(pcStack_230 + -0x7fd4)" identifier = (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) ))))) , (binary_expression "*(byte *)(pwVar16 + 1) != 0" (pointer_expression "*(byte *)(pwVar16 + 1)" * (cast_expression "(byte *)(pwVar16 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pwVar16 + 1)" ( (binary_expression "pwVar16 + 1" identifier + number_literal) )))) != number_literal)) )))) )) ))) )) ))) )) (goto_statement "goto LAB_000fbbb4;" goto statement_identifier ;)) }))) (goto_statement "goto LAB_000fbb0c;" goto statement_identifier ;) })) (expression_statement "pbStack_228 = *(byte **)(iStack_218 + -0x3fdc);" (assignment_expression "pbStack_228 = *(byte **)(iStack_218 + -0x3fdc)" identifier = (pointer_expression "*(byte **)(iStack_218 + -0x3fdc)" * (cast_expression "(byte **)(iStack_218 + -0x3fdc)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iStack_218 + -0x3fdc)" ( (binary_expression "iStack_218 + -0x3fdc" identifier + number_literal) ))))) ;) (expression_statement "pbStack_1f4 = (byte *)0x0;" (assignment_expression "pbStack_1f4 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uStack_1f0 = 0;" (assignment_expression "uStack_1f0 = 0" identifier = number_literal) ;) (expression_statement "uStack_1ec = 0;" (assignment_expression "uStack_1ec = 0" identifier = number_literal) ;) (expression_statement "uStack_1e8 = 0;" (assignment_expression "uStack_1e8 = 0" identifier = number_literal) ;) (if_statement "if ((int)unaff_s4 < (int)unaff_s3) goto LAB_000fbb0c;" if (parenthesized_expression "((int)unaff_s4 < (int)unaff_s3)" ( (binary_expression "(int)unaff_s4 < (int)unaff_s3" (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_000fbb0c;" goto statement_identifier ;)) (if_statement "if (*piStack_20c != 0) {\n    if (**(int **)(pcStack_230 + -0x65a4) == 0) {\n      uVar4 = (**(code **)(pcStack_230 + -0x6060))();\n      if ((1 < uVar4) && (unaff_s8 = &pbStack_1f4, **(int **)(pcStack_230 + -0x6728) == 0)) {\n        unaff_s7 = (word *)&iStack_1fc;\n        unaff_s6 = (word *)&uStack_1ec;\n        unaff_s5 = (word *)&iStack_1f8;\n        pwStack_214 = pwVar16;\n        pwStack_208 = unaff_s3;\n        goto LAB_000fc0a8;\n      }\n      unaff_s5 = (word *)(int)(char)*(byte *)pwVar16;\n      pbVar24 = (byte *)(uint)*(byte *)pwVar16;\n      if (((word *)pbVar24 == unaff_s5) &&\n         (piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))(),\n         (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0)) {\n        piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n        unaff_s5 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n      }\n      unaff_s6 = (word *)(int)(char)*pbStack_228;\n      unaff_s4 = (word *)(uint)*pbStack_228;\n      if (unaff_s4 == unaff_s6) {\n        piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))();\n        if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n          piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n          unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n          unaff_s6 = *(word **)unaff_s4;\n        }\n      }\n      pwVar15 = unaff_s3;\n      pcVar23 = pcStack_230;\n      if (unaff_s5 == unaff_s6) {\n        iVar13 = (**(code **)(pcStack_230 + -0x6188))(pbStack_228,pwVar16);\n        goto LAB_000fc280;\n      }\n    }\n    else {\n      uVar4 = (**(code **)(pcStack_230 + -0x6060))();\n      if ((1 < uVar4) && (unaff_s6 = (word *)&uStack_1ec, **(int **)(pcStack_230 + -0x6728) == 0)) {\n        unaff_s8 = &pbStack_1f4;\n        unaff_s7 = (word *)&iStack_1fc;\n        unaff_s5 = (word *)&iStack_1f8;\n        pwStack_214 = pwVar16;\n        pwStack_208 = unaff_s3;\n        do {\n          pwStack_210 = (word *)(**(code **)(pcStack_230 + -0x6084))\n                                          (unaff_s7,pwStack_214,unaff_s4,unaff_s8);\n          pwVar15 = unaff_s3;\n          iVar13 = (**(code **)(pcStack_230 + -0x6084))(unaff_s5,pbStack_228,unaff_s3,unaff_s6);\n          pcVar23 = pcStack_230;\n          if (pwStack_210 == (word *)0x0) {\n            if (iVar13 == 0) goto LAB_000fbbb0;\nLAB_000fbe6c:\n            if (iVar13 + 2U < 2) goto LAB_000fbdb4;\n            iStack_204 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc);\n            iStack_1fc = iStack_204;\n            iStack_1f8 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8);\n            pwStack_214 = (word *)((int)pwStack_214 + (int)pwStack_210);\n            pbStack_228 = pbStack_228 + (int)pwStack_210;\n            pwStack_208 = (word *)((int)pwStack_208 - (int)pwStack_210);\n            if ((((iStack_204 != 0x2d) && (iStack_204 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))) && (iStack_204 != iStack_1f8))\n            goto code_r0x000fbef4;\n          }\n          else {\n            if ((word *)0x1 < pwStack_210 + 1) goto LAB_000fbe6c;\nLAB_000fbdb4:\n            bVar2 = *(byte *)pwStack_214;\n            if (((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||\n               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))) goto LAB_000fbb0c;\n            pwStack_214 = (word *)((int)pwStack_214 + 1);\n            pbStack_228 = pbStack_228 + 1;\n            pwStack_208 = (word *)((int)pwStack_208 + -1);\n          }\n          iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n          pcVar23 = pcStack_230;\n          if (pwStack_208 == (word *)0x0) goto LAB_000fbbb4;\n        } while( true );\n      }\n      unaff_s7 = (word *)&DAT_0000002d;\n      unaff_s8 = (byte **)0x5f;\n      pwStack_208 = (word *)((int)pwVar16 + (int)unaff_s3);\n      unaff_s4 = pwVar16;\n      pcVar23 = pcStack_230;\n      while( true ) {\n        unaff_s3 = (word *)(int)(char)*(byte *)unaff_s4;\n        pbVar24 = (byte *)(uint)*(byte *)unaff_s4;\n        pwStack_214 = unaff_s3;\n        if (((word *)pbVar24 == unaff_s3) &&\n           (piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))(), pcVar23 = pcStack_230,\n           (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0)) {\n          piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n          pwStack_214 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n          pcVar23 = pcStack_230;\n        }\n        unaff_s5 = (word *)(int)(char)*pbStack_228;\n        unaff_s6 = (word *)(uint)*pbStack_228;\n        pwStack_210 = unaff_s5;\n        if (unaff_s6 == unaff_s5) {\n          piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))();\n          pcVar23 = pcStack_230;\n          if ((*(ushort *)(*piVar9 + (int)unaff_s6 * 2) & 1) != 0) {\n            piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n            unaff_s6 = (word *)(*piVar9 + (int)unaff_s6 * 4);\n            pwStack_210 = *(word **)unaff_s6;\n            pcVar23 = pcStack_230;\n          }\n        }\n        if ((((unaff_s3 != (word *)&DAT_0000002d) && (unaff_s3 != (word *)0x5f)) ||\n            ((unaff_s5 != (word *)&DAT_0000002d && (unaff_s5 != (word *)0x5f)))) &&\n           (pwStack_214 != pwStack_210)) break;\n        unaff_s4 = (word *)((int)unaff_s4 + 1);\n        pbStack_228 = pbStack_228 + 1;\n        iVar13 = *(int *)(pcVar23 + -0x7fd4);\n        if (unaff_s4 == pwStack_208) goto LAB_000fbbb4;\n      }\n    }\n    goto LAB_000fbb0c;\n  }" if (parenthesized_expression "(*piStack_20c != 0)" ( (binary_expression "*piStack_20c != 0" (pointer_expression "*piStack_20c" * identifier) != number_literal) )) (compound_statement "{\n    if (**(int **)(pcStack_230 + -0x65a4) == 0) {\n      uVar4 = (**(code **)(pcStack_230 + -0x6060))();\n      if ((1 < uVar4) && (unaff_s8 = &pbStack_1f4, **(int **)(pcStack_230 + -0x6728) == 0)) {\n        unaff_s7 = (word *)&iStack_1fc;\n        unaff_s6 = (word *)&uStack_1ec;\n        unaff_s5 = (word *)&iStack_1f8;\n        pwStack_214 = pwVar16;\n        pwStack_208 = unaff_s3;\n        goto LAB_000fc0a8;\n      }\n      unaff_s5 = (word *)(int)(char)*(byte *)pwVar16;\n      pbVar24 = (byte *)(uint)*(byte *)pwVar16;\n      if (((word *)pbVar24 == unaff_s5) &&\n         (piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))(),\n         (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0)) {\n        piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n        unaff_s5 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n      }\n      unaff_s6 = (word *)(int)(char)*pbStack_228;\n      unaff_s4 = (word *)(uint)*pbStack_228;\n      if (unaff_s4 == unaff_s6) {\n        piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))();\n        if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n          piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n          unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n          unaff_s6 = *(word **)unaff_s4;\n        }\n      }\n      pwVar15 = unaff_s3;\n      pcVar23 = pcStack_230;\n      if (unaff_s5 == unaff_s6) {\n        iVar13 = (**(code **)(pcStack_230 + -0x6188))(pbStack_228,pwVar16);\n        goto LAB_000fc280;\n      }\n    }\n    else {\n      uVar4 = (**(code **)(pcStack_230 + -0x6060))();\n      if ((1 < uVar4) && (unaff_s6 = (word *)&uStack_1ec, **(int **)(pcStack_230 + -0x6728) == 0)) {\n        unaff_s8 = &pbStack_1f4;\n        unaff_s7 = (word *)&iStack_1fc;\n        unaff_s5 = (word *)&iStack_1f8;\n        pwStack_214 = pwVar16;\n        pwStack_208 = unaff_s3;\n        do {\n          pwStack_210 = (word *)(**(code **)(pcStack_230 + -0x6084))\n                                          (unaff_s7,pwStack_214,unaff_s4,unaff_s8);\n          pwVar15 = unaff_s3;\n          iVar13 = (**(code **)(pcStack_230 + -0x6084))(unaff_s5,pbStack_228,unaff_s3,unaff_s6);\n          pcVar23 = pcStack_230;\n          if (pwStack_210 == (word *)0x0) {\n            if (iVar13 == 0) goto LAB_000fbbb0;\nLAB_000fbe6c:\n            if (iVar13 + 2U < 2) goto LAB_000fbdb4;\n            iStack_204 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc);\n            iStack_1fc = iStack_204;\n            iStack_1f8 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8);\n            pwStack_214 = (word *)((int)pwStack_214 + (int)pwStack_210);\n            pbStack_228 = pbStack_228 + (int)pwStack_210;\n            pwStack_208 = (word *)((int)pwStack_208 - (int)pwStack_210);\n            if ((((iStack_204 != 0x2d) && (iStack_204 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))) && (iStack_204 != iStack_1f8))\n            goto code_r0x000fbef4;\n          }\n          else {\n            if ((word *)0x1 < pwStack_210 + 1) goto LAB_000fbe6c;\nLAB_000fbdb4:\n            bVar2 = *(byte *)pwStack_214;\n            if (((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||\n               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))) goto LAB_000fbb0c;\n            pwStack_214 = (word *)((int)pwStack_214 + 1);\n            pbStack_228 = pbStack_228 + 1;\n            pwStack_208 = (word *)((int)pwStack_208 + -1);\n          }\n          iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n          pcVar23 = pcStack_230;\n          if (pwStack_208 == (word *)0x0) goto LAB_000fbbb4;\n        } while( true );\n      }\n      unaff_s7 = (word *)&DAT_0000002d;\n      unaff_s8 = (byte **)0x5f;\n      pwStack_208 = (word *)((int)pwVar16 + (int)unaff_s3);\n      unaff_s4 = pwVar16;\n      pcVar23 = pcStack_230;\n      while( true ) {\n        unaff_s3 = (word *)(int)(char)*(byte *)unaff_s4;\n        pbVar24 = (byte *)(uint)*(byte *)unaff_s4;\n        pwStack_214 = unaff_s3;\n        if (((word *)pbVar24 == unaff_s3) &&\n           (piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))(), pcVar23 = pcStack_230,\n           (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0)) {\n          piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n          pwStack_214 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n          pcVar23 = pcStack_230;\n        }\n        unaff_s5 = (word *)(int)(char)*pbStack_228;\n        unaff_s6 = (word *)(uint)*pbStack_228;\n        pwStack_210 = unaff_s5;\n        if (unaff_s6 == unaff_s5) {\n          piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))();\n          pcVar23 = pcStack_230;\n          if ((*(ushort *)(*piVar9 + (int)unaff_s6 * 2) & 1) != 0) {\n            piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n            unaff_s6 = (word *)(*piVar9 + (int)unaff_s6 * 4);\n            pwStack_210 = *(word **)unaff_s6;\n            pcVar23 = pcStack_230;\n          }\n        }\n        if ((((unaff_s3 != (word *)&DAT_0000002d) && (unaff_s3 != (word *)0x5f)) ||\n            ((unaff_s5 != (word *)&DAT_0000002d && (unaff_s5 != (word *)0x5f)))) &&\n           (pwStack_214 != pwStack_210)) break;\n        unaff_s4 = (word *)((int)unaff_s4 + 1);\n        pbStack_228 = pbStack_228 + 1;\n        iVar13 = *(int *)(pcVar23 + -0x7fd4);\n        if (unaff_s4 == pwStack_208) goto LAB_000fbbb4;\n      }\n    }\n    goto LAB_000fbb0c;\n  }" { (if_statement "if (**(int **)(pcStack_230 + -0x65a4) == 0) {\n      uVar4 = (**(code **)(pcStack_230 + -0x6060))();\n      if ((1 < uVar4) && (unaff_s8 = &pbStack_1f4, **(int **)(pcStack_230 + -0x6728) == 0)) {\n        unaff_s7 = (word *)&iStack_1fc;\n        unaff_s6 = (word *)&uStack_1ec;\n        unaff_s5 = (word *)&iStack_1f8;\n        pwStack_214 = pwVar16;\n        pwStack_208 = unaff_s3;\n        goto LAB_000fc0a8;\n      }\n      unaff_s5 = (word *)(int)(char)*(byte *)pwVar16;\n      pbVar24 = (byte *)(uint)*(byte *)pwVar16;\n      if (((word *)pbVar24 == unaff_s5) &&\n         (piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))(),\n         (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0)) {\n        piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n        unaff_s5 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n      }\n      unaff_s6 = (word *)(int)(char)*pbStack_228;\n      unaff_s4 = (word *)(uint)*pbStack_228;\n      if (unaff_s4 == unaff_s6) {\n        piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))();\n        if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n          piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n          unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n          unaff_s6 = *(word **)unaff_s4;\n        }\n      }\n      pwVar15 = unaff_s3;\n      pcVar23 = pcStack_230;\n      if (unaff_s5 == unaff_s6) {\n        iVar13 = (**(code **)(pcStack_230 + -0x6188))(pbStack_228,pwVar16);\n        goto LAB_000fc280;\n      }\n    }\n    else {\n      uVar4 = (**(code **)(pcStack_230 + -0x6060))();\n      if ((1 < uVar4) && (unaff_s6 = (word *)&uStack_1ec, **(int **)(pcStack_230 + -0x6728) == 0)) {\n        unaff_s8 = &pbStack_1f4;\n        unaff_s7 = (word *)&iStack_1fc;\n        unaff_s5 = (word *)&iStack_1f8;\n        pwStack_214 = pwVar16;\n        pwStack_208 = unaff_s3;\n        do {\n          pwStack_210 = (word *)(**(code **)(pcStack_230 + -0x6084))\n                                          (unaff_s7,pwStack_214,unaff_s4,unaff_s8);\n          pwVar15 = unaff_s3;\n          iVar13 = (**(code **)(pcStack_230 + -0x6084))(unaff_s5,pbStack_228,unaff_s3,unaff_s6);\n          pcVar23 = pcStack_230;\n          if (pwStack_210 == (word *)0x0) {\n            if (iVar13 == 0) goto LAB_000fbbb0;\nLAB_000fbe6c:\n            if (iVar13 + 2U < 2) goto LAB_000fbdb4;\n            iStack_204 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc);\n            iStack_1fc = iStack_204;\n            iStack_1f8 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8);\n            pwStack_214 = (word *)((int)pwStack_214 + (int)pwStack_210);\n            pbStack_228 = pbStack_228 + (int)pwStack_210;\n            pwStack_208 = (word *)((int)pwStack_208 - (int)pwStack_210);\n            if ((((iStack_204 != 0x2d) && (iStack_204 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))) && (iStack_204 != iStack_1f8))\n            goto code_r0x000fbef4;\n          }\n          else {\n            if ((word *)0x1 < pwStack_210 + 1) goto LAB_000fbe6c;\nLAB_000fbdb4:\n            bVar2 = *(byte *)pwStack_214;\n            if (((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||\n               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))) goto LAB_000fbb0c;\n            pwStack_214 = (word *)((int)pwStack_214 + 1);\n            pbStack_228 = pbStack_228 + 1;\n            pwStack_208 = (word *)((int)pwStack_208 + -1);\n          }\n          iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n          pcVar23 = pcStack_230;\n          if (pwStack_208 == (word *)0x0) goto LAB_000fbbb4;\n        } while( true );\n      }\n      unaff_s7 = (word *)&DAT_0000002d;\n      unaff_s8 = (byte **)0x5f;\n      pwStack_208 = (word *)((int)pwVar16 + (int)unaff_s3);\n      unaff_s4 = pwVar16;\n      pcVar23 = pcStack_230;\n      while( true ) {\n        unaff_s3 = (word *)(int)(char)*(byte *)unaff_s4;\n        pbVar24 = (byte *)(uint)*(byte *)unaff_s4;\n        pwStack_214 = unaff_s3;\n        if (((word *)pbVar24 == unaff_s3) &&\n           (piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))(), pcVar23 = pcStack_230,\n           (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0)) {\n          piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n          pwStack_214 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n          pcVar23 = pcStack_230;\n        }\n        unaff_s5 = (word *)(int)(char)*pbStack_228;\n        unaff_s6 = (word *)(uint)*pbStack_228;\n        pwStack_210 = unaff_s5;\n        if (unaff_s6 == unaff_s5) {\n          piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))();\n          pcVar23 = pcStack_230;\n          if ((*(ushort *)(*piVar9 + (int)unaff_s6 * 2) & 1) != 0) {\n            piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n            unaff_s6 = (word *)(*piVar9 + (int)unaff_s6 * 4);\n            pwStack_210 = *(word **)unaff_s6;\n            pcVar23 = pcStack_230;\n          }\n        }\n        if ((((unaff_s3 != (word *)&DAT_0000002d) && (unaff_s3 != (word *)0x5f)) ||\n            ((unaff_s5 != (word *)&DAT_0000002d && (unaff_s5 != (word *)0x5f)))) &&\n           (pwStack_214 != pwStack_210)) break;\n        unaff_s4 = (word *)((int)unaff_s4 + 1);\n        pbStack_228 = pbStack_228 + 1;\n        iVar13 = *(int *)(pcVar23 + -0x7fd4);\n        if (unaff_s4 == pwStack_208) goto LAB_000fbbb4;\n      }\n    }" if (parenthesized_expression "(**(int **)(pcStack_230 + -0x65a4) == 0)" ( (binary_expression "**(int **)(pcStack_230 + -0x65a4) == 0" (pointer_expression "**(int **)(pcStack_230 + -0x65a4)" * (pointer_expression "*(int **)(pcStack_230 + -0x65a4)" * (cast_expression "(int **)(pcStack_230 + -0x65a4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x65a4)" ( (binary_expression "pcStack_230 + -0x65a4" identifier + number_literal) ))))) == number_literal) )) (compound_statement "{\n      uVar4 = (**(code **)(pcStack_230 + -0x6060))();\n      if ((1 < uVar4) && (unaff_s8 = &pbStack_1f4, **(int **)(pcStack_230 + -0x6728) == 0)) {\n        unaff_s7 = (word *)&iStack_1fc;\n        unaff_s6 = (word *)&uStack_1ec;\n        unaff_s5 = (word *)&iStack_1f8;\n        pwStack_214 = pwVar16;\n        pwStack_208 = unaff_s3;\n        goto LAB_000fc0a8;\n      }\n      unaff_s5 = (word *)(int)(char)*(byte *)pwVar16;\n      pbVar24 = (byte *)(uint)*(byte *)pwVar16;\n      if (((word *)pbVar24 == unaff_s5) &&\n         (piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))(),\n         (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0)) {\n        piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n        unaff_s5 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n      }\n      unaff_s6 = (word *)(int)(char)*pbStack_228;\n      unaff_s4 = (word *)(uint)*pbStack_228;\n      if (unaff_s4 == unaff_s6) {\n        piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))();\n        if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n          piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n          unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n          unaff_s6 = *(word **)unaff_s4;\n        }\n      }\n      pwVar15 = unaff_s3;\n      pcVar23 = pcStack_230;\n      if (unaff_s5 == unaff_s6) {\n        iVar13 = (**(code **)(pcStack_230 + -0x6188))(pbStack_228,pwVar16);\n        goto LAB_000fc280;\n      }\n    }" { (expression_statement "uVar4 = (**(code **)(pcStack_230 + -0x6060))();" (assignment_expression "uVar4 = (**(code **)(pcStack_230 + -0x6060))()" identifier = (call_expression "(**(code **)(pcStack_230 + -0x6060))()" (parenthesized_expression "(**(code **)(pcStack_230 + -0x6060))" ( (pointer_expression "**(code **)(pcStack_230 + -0x6060)" * (pointer_expression "*(code **)(pcStack_230 + -0x6060)" * (cast_expression "(code **)(pcStack_230 + -0x6060)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6060)" ( (binary_expression "pcStack_230 + -0x6060" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if ((1 < uVar4) && (unaff_s8 = &pbStack_1f4, **(int **)(pcStack_230 + -0x6728) == 0)) {\n        unaff_s7 = (word *)&iStack_1fc;\n        unaff_s6 = (word *)&uStack_1ec;\n        unaff_s5 = (word *)&iStack_1f8;\n        pwStack_214 = pwVar16;\n        pwStack_208 = unaff_s3;\n        goto LAB_000fc0a8;\n      }" if (parenthesized_expression "((1 < uVar4) && (unaff_s8 = &pbStack_1f4, **(int **)(pcStack_230 + -0x6728) == 0))" ( (binary_expression "(1 < uVar4) && (unaff_s8 = &pbStack_1f4, **(int **)(pcStack_230 + -0x6728) == 0)" (parenthesized_expression "(1 < uVar4)" ( (binary_expression "1 < uVar4" number_literal < identifier) )) && (parenthesized_expression "(unaff_s8 = &pbStack_1f4, **(int **)(pcStack_230 + -0x6728) == 0)" ( (comma_expression "unaff_s8 = &pbStack_1f4, **(int **)(pcStack_230 + -0x6728) == 0" (assignment_expression "unaff_s8 = &pbStack_1f4" identifier = (pointer_expression "&pbStack_1f4" & identifier)) , (binary_expression "**(int **)(pcStack_230 + -0x6728) == 0" (pointer_expression "**(int **)(pcStack_230 + -0x6728)" * (pointer_expression "*(int **)(pcStack_230 + -0x6728)" * (cast_expression "(int **)(pcStack_230 + -0x6728)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6728)" ( (binary_expression "pcStack_230 + -0x6728" identifier + number_literal) ))))) == number_literal)) ))) )) (compound_statement "{\n        unaff_s7 = (word *)&iStack_1fc;\n        unaff_s6 = (word *)&uStack_1ec;\n        unaff_s5 = (word *)&iStack_1f8;\n        pwStack_214 = pwVar16;\n        pwStack_208 = unaff_s3;\n        goto LAB_000fc0a8;\n      }" { (expression_statement "unaff_s7 = (word *)&iStack_1fc;" (assignment_expression "unaff_s7 = (word *)&iStack_1fc" identifier = (cast_expression "(word *)&iStack_1fc" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&iStack_1fc" & identifier))) ;) (expression_statement "unaff_s6 = (word *)&uStack_1ec;" (assignment_expression "unaff_s6 = (word *)&uStack_1ec" identifier = (cast_expression "(word *)&uStack_1ec" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&uStack_1ec" & identifier))) ;) (expression_statement "unaff_s5 = (word *)&iStack_1f8;" (assignment_expression "unaff_s5 = (word *)&iStack_1f8" identifier = (cast_expression "(word *)&iStack_1f8" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&iStack_1f8" & identifier))) ;) (expression_statement "pwStack_214 = pwVar16;" (assignment_expression "pwStack_214 = pwVar16" identifier = identifier) ;) (expression_statement "pwStack_208 = unaff_s3;" (assignment_expression "pwStack_208 = unaff_s3" identifier = identifier) ;) (goto_statement "goto LAB_000fc0a8;" goto statement_identifier ;) })) (expression_statement "unaff_s5 = (word *)(int)(char)*(byte *)pwVar16;" (assignment_expression "unaff_s5 = (word *)(int)(char)*(byte *)pwVar16" identifier = (cast_expression "(word *)(int)(char)*(byte *)pwVar16" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)(char)*(byte *)pwVar16" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)*(byte *)pwVar16" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(byte *)pwVar16" * (cast_expression "(byte *)pwVar16" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))))) ;) (expression_statement "pbVar24 = (byte *)(uint)*(byte *)pwVar16;" (assignment_expression "pbVar24 = (byte *)(uint)*(byte *)pwVar16" identifier = (binary_expression "(byte *)(uint)*(byte *)pwVar16" (cast_expression "(byte *)(uint)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(byte *)pwVar16" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (((word *)pbVar24 == unaff_s5) &&\n         (piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))(),\n         (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0)) {\n        piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n        unaff_s5 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n      }" if (parenthesized_expression "(((word *)pbVar24 == unaff_s5) &&\n         (piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))(),\n         (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0))" ( (binary_expression "((word *)pbVar24 == unaff_s5) &&\n         (piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))(),\n         (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0)" (parenthesized_expression "((word *)pbVar24 == unaff_s5)" ( (binary_expression "(word *)pbVar24 == unaff_s5" (cast_expression "(word *)pbVar24" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) == identifier) )) && (parenthesized_expression "(piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))(),\n         (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0)" ( (comma_expression "piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))(),\n         (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0" (assignment_expression "piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))()" identifier = (cast_expression "(int *)(**(code **)(pcStack_230 + -0x6290))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_230 + -0x6290))()" (parenthesized_expression "(**(code **)(pcStack_230 + -0x6290))" ( (pointer_expression "**(code **)(pcStack_230 + -0x6290)" * (pointer_expression "*(code **)(pcStack_230 + -0x6290)" * (cast_expression "(code **)(pcStack_230 + -0x6290)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6290)" ( (binary_expression "pcStack_230 + -0x6290" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) , (binary_expression "(*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0" (parenthesized_expression "(*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1)" ( (binary_expression "*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1" (pointer_expression "*(ushort *)(*piVar9 + (int)pbVar24 * 2)" * (cast_expression "(ushort *)(*piVar9 + (int)pbVar24 * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar9 + (int)pbVar24 * 2)" ( (binary_expression "*piVar9 + (int)pbVar24 * 2" (pointer_expression "*piVar9" * identifier) + (binary_expression "(int)pbVar24 * 2" (cast_expression "(int)pbVar24" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) & number_literal) )) != number_literal)) ))) )) (compound_statement "{\n        piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n        unaff_s5 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n      }" { (expression_statement "piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();" (assignment_expression "piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))()" identifier = (cast_expression "(int *)(**(code **)(pcStack_230 + -0x628c))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_230 + -0x628c))()" (parenthesized_expression "(**(code **)(pcStack_230 + -0x628c))" ( (pointer_expression "**(code **)(pcStack_230 + -0x628c)" * (pointer_expression "*(code **)(pcStack_230 + -0x628c)" * (cast_expression "(code **)(pcStack_230 + -0x628c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x628c)" ( (binary_expression "pcStack_230 + -0x628c" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "unaff_s5 = *(word **)(*piVar9 + (int)pbVar24 * 4);" (assignment_expression "unaff_s5 = *(word **)(*piVar9 + (int)pbVar24 * 4)" identifier = (pointer_expression "*(word **)(*piVar9 + (int)pbVar24 * 4)" * (cast_expression "(word **)(*piVar9 + (int)pbVar24 * 4)" ( (type_descriptor "word **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar9 + (int)pbVar24 * 4)" ( (binary_expression "*piVar9 + (int)pbVar24 * 4" (pointer_expression "*piVar9" * identifier) + (binary_expression "(int)pbVar24 * 4" (cast_expression "(int)pbVar24" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ))))) ;) })) (expression_statement "unaff_s6 = (word *)(int)(char)*pbStack_228;" (assignment_expression "unaff_s6 = (word *)(int)(char)*pbStack_228" identifier = (cast_expression "(word *)(int)(char)*pbStack_228" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)(char)*pbStack_228" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)*pbStack_228" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*pbStack_228" * identifier))))) ;) (expression_statement "unaff_s4 = (word *)(uint)*pbStack_228;" (assignment_expression "unaff_s4 = (word *)(uint)*pbStack_228" identifier = (binary_expression "(word *)(uint)*pbStack_228" (cast_expression "(word *)(uint)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * identifier)) ;) (if_statement "if (unaff_s4 == unaff_s6) {\n        piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))();\n        if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n          piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n          unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n          unaff_s6 = *(word **)unaff_s4;\n        }\n      }" if (parenthesized_expression "(unaff_s4 == unaff_s6)" ( (binary_expression "unaff_s4 == unaff_s6" identifier == identifier) )) (compound_statement "{\n        piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))();\n        if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n          piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n          unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n          unaff_s6 = *(word **)unaff_s4;\n        }\n      }" { (expression_statement "piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))();" (assignment_expression "piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))()" identifier = (cast_expression "(int *)(**(code **)(pcStack_230 + -0x6290))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_230 + -0x6290))()" (parenthesized_expression "(**(code **)(pcStack_230 + -0x6290))" ( (pointer_expression "**(code **)(pcStack_230 + -0x6290)" * (pointer_expression "*(code **)(pcStack_230 + -0x6290)" * (cast_expression "(code **)(pcStack_230 + -0x6290)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6290)" ( (binary_expression "pcStack_230 + -0x6290" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (if_statement "if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n          piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n          unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n          unaff_s6 = *(word **)unaff_s4;\n        }" if (parenthesized_expression "((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0)" ( (binary_expression "(*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0" (parenthesized_expression "(*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1)" ( (binary_expression "*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1" (pointer_expression "*(ushort *)(*piVar9 + (int)unaff_s4 * 2)" * (cast_expression "(ushort *)(*piVar9 + (int)unaff_s4 * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar9 + (int)unaff_s4 * 2)" ( (binary_expression "*piVar9 + (int)unaff_s4 * 2" (pointer_expression "*piVar9" * identifier) + (binary_expression "(int)unaff_s4 * 2" (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n          piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n          unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n          unaff_s6 = *(word **)unaff_s4;\n        }" { (expression_statement "piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();" (assignment_expression "piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))()" identifier = (cast_expression "(int *)(**(code **)(pcStack_230 + -0x628c))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_230 + -0x628c))()" (parenthesized_expression "(**(code **)(pcStack_230 + -0x628c))" ( (pointer_expression "**(code **)(pcStack_230 + -0x628c)" * (pointer_expression "*(code **)(pcStack_230 + -0x628c)" * (cast_expression "(code **)(pcStack_230 + -0x628c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x628c)" ( (binary_expression "pcStack_230 + -0x628c" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);" (assignment_expression "unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4)" identifier = (cast_expression "(word *)(*piVar9 + (int)unaff_s4 * 4)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar9 + (int)unaff_s4 * 4)" ( (binary_expression "*piVar9 + (int)unaff_s4 * 4" (pointer_expression "*piVar9" * identifier) + (binary_expression "(int)unaff_s4 * 4" (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) ;) (expression_statement "unaff_s6 = *(word **)unaff_s4;" (assignment_expression "unaff_s6 = *(word **)unaff_s4" identifier = (pointer_expression "*(word **)unaff_s4" * (cast_expression "(word **)unaff_s4" ( (type_descriptor "word **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) })) })) (expression_statement "pwVar15 = unaff_s3;" (assignment_expression "pwVar15 = unaff_s3" identifier = identifier) ;) (expression_statement "pcVar23 = pcStack_230;" (assignment_expression "pcVar23 = pcStack_230" identifier = identifier) ;) (if_statement "if (unaff_s5 == unaff_s6) {\n        iVar13 = (**(code **)(pcStack_230 + -0x6188))(pbStack_228,pwVar16);\n        goto LAB_000fc280;\n      }" if (parenthesized_expression "(unaff_s5 == unaff_s6)" ( (binary_expression "unaff_s5 == unaff_s6" identifier == identifier) )) (compound_statement "{\n        iVar13 = (**(code **)(pcStack_230 + -0x6188))(pbStack_228,pwVar16);\n        goto LAB_000fc280;\n      }" { (expression_statement "iVar13 = (**(code **)(pcStack_230 + -0x6188))(pbStack_228,pwVar16);" (assignment_expression "iVar13 = (**(code **)(pcStack_230 + -0x6188))(pbStack_228,pwVar16)" identifier = (call_expression "(**(code **)(pcStack_230 + -0x6188))(pbStack_228,pwVar16)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x6188))" ( (pointer_expression "**(code **)(pcStack_230 + -0x6188)" * (pointer_expression "*(code **)(pcStack_230 + -0x6188)" * (cast_expression "(code **)(pcStack_230 + -0x6188)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6188)" ( (binary_expression "pcStack_230 + -0x6188" identifier + number_literal) ))))) )) (argument_list "(pbStack_228,pwVar16)" ( identifier , identifier )))) ;) (goto_statement "goto LAB_000fc280;" goto statement_identifier ;) })) }) (else_clause "else {\n      uVar4 = (**(code **)(pcStack_230 + -0x6060))();\n      if ((1 < uVar4) && (unaff_s6 = (word *)&uStack_1ec, **(int **)(pcStack_230 + -0x6728) == 0)) {\n        unaff_s8 = &pbStack_1f4;\n        unaff_s7 = (word *)&iStack_1fc;\n        unaff_s5 = (word *)&iStack_1f8;\n        pwStack_214 = pwVar16;\n        pwStack_208 = unaff_s3;\n        do {\n          pwStack_210 = (word *)(**(code **)(pcStack_230 + -0x6084))\n                                          (unaff_s7,pwStack_214,unaff_s4,unaff_s8);\n          pwVar15 = unaff_s3;\n          iVar13 = (**(code **)(pcStack_230 + -0x6084))(unaff_s5,pbStack_228,unaff_s3,unaff_s6);\n          pcVar23 = pcStack_230;\n          if (pwStack_210 == (word *)0x0) {\n            if (iVar13 == 0) goto LAB_000fbbb0;\nLAB_000fbe6c:\n            if (iVar13 + 2U < 2) goto LAB_000fbdb4;\n            iStack_204 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc);\n            iStack_1fc = iStack_204;\n            iStack_1f8 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8);\n            pwStack_214 = (word *)((int)pwStack_214 + (int)pwStack_210);\n            pbStack_228 = pbStack_228 + (int)pwStack_210;\n            pwStack_208 = (word *)((int)pwStack_208 - (int)pwStack_210);\n            if ((((iStack_204 != 0x2d) && (iStack_204 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))) && (iStack_204 != iStack_1f8))\n            goto code_r0x000fbef4;\n          }\n          else {\n            if ((word *)0x1 < pwStack_210 + 1) goto LAB_000fbe6c;\nLAB_000fbdb4:\n            bVar2 = *(byte *)pwStack_214;\n            if (((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||\n               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))) goto LAB_000fbb0c;\n            pwStack_214 = (word *)((int)pwStack_214 + 1);\n            pbStack_228 = pbStack_228 + 1;\n            pwStack_208 = (word *)((int)pwStack_208 + -1);\n          }\n          iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n          pcVar23 = pcStack_230;\n          if (pwStack_208 == (word *)0x0) goto LAB_000fbbb4;\n        } while( true );\n      }\n      unaff_s7 = (word *)&DAT_0000002d;\n      unaff_s8 = (byte **)0x5f;\n      pwStack_208 = (word *)((int)pwVar16 + (int)unaff_s3);\n      unaff_s4 = pwVar16;\n      pcVar23 = pcStack_230;\n      while( true ) {\n        unaff_s3 = (word *)(int)(char)*(byte *)unaff_s4;\n        pbVar24 = (byte *)(uint)*(byte *)unaff_s4;\n        pwStack_214 = unaff_s3;\n        if (((word *)pbVar24 == unaff_s3) &&\n           (piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))(), pcVar23 = pcStack_230,\n           (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0)) {\n          piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n          pwStack_214 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n          pcVar23 = pcStack_230;\n        }\n        unaff_s5 = (word *)(int)(char)*pbStack_228;\n        unaff_s6 = (word *)(uint)*pbStack_228;\n        pwStack_210 = unaff_s5;\n        if (unaff_s6 == unaff_s5) {\n          piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))();\n          pcVar23 = pcStack_230;\n          if ((*(ushort *)(*piVar9 + (int)unaff_s6 * 2) & 1) != 0) {\n            piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n            unaff_s6 = (word *)(*piVar9 + (int)unaff_s6 * 4);\n            pwStack_210 = *(word **)unaff_s6;\n            pcVar23 = pcStack_230;\n          }\n        }\n        if ((((unaff_s3 != (word *)&DAT_0000002d) && (unaff_s3 != (word *)0x5f)) ||\n            ((unaff_s5 != (word *)&DAT_0000002d && (unaff_s5 != (word *)0x5f)))) &&\n           (pwStack_214 != pwStack_210)) break;\n        unaff_s4 = (word *)((int)unaff_s4 + 1);\n        pbStack_228 = pbStack_228 + 1;\n        iVar13 = *(int *)(pcVar23 + -0x7fd4);\n        if (unaff_s4 == pwStack_208) goto LAB_000fbbb4;\n      }\n    }" else (compound_statement "{\n      uVar4 = (**(code **)(pcStack_230 + -0x6060))();\n      if ((1 < uVar4) && (unaff_s6 = (word *)&uStack_1ec, **(int **)(pcStack_230 + -0x6728) == 0)) {\n        unaff_s8 = &pbStack_1f4;\n        unaff_s7 = (word *)&iStack_1fc;\n        unaff_s5 = (word *)&iStack_1f8;\n        pwStack_214 = pwVar16;\n        pwStack_208 = unaff_s3;\n        do {\n          pwStack_210 = (word *)(**(code **)(pcStack_230 + -0x6084))\n                                          (unaff_s7,pwStack_214,unaff_s4,unaff_s8);\n          pwVar15 = unaff_s3;\n          iVar13 = (**(code **)(pcStack_230 + -0x6084))(unaff_s5,pbStack_228,unaff_s3,unaff_s6);\n          pcVar23 = pcStack_230;\n          if (pwStack_210 == (word *)0x0) {\n            if (iVar13 == 0) goto LAB_000fbbb0;\nLAB_000fbe6c:\n            if (iVar13 + 2U < 2) goto LAB_000fbdb4;\n            iStack_204 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc);\n            iStack_1fc = iStack_204;\n            iStack_1f8 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8);\n            pwStack_214 = (word *)((int)pwStack_214 + (int)pwStack_210);\n            pbStack_228 = pbStack_228 + (int)pwStack_210;\n            pwStack_208 = (word *)((int)pwStack_208 - (int)pwStack_210);\n            if ((((iStack_204 != 0x2d) && (iStack_204 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))) && (iStack_204 != iStack_1f8))\n            goto code_r0x000fbef4;\n          }\n          else {\n            if ((word *)0x1 < pwStack_210 + 1) goto LAB_000fbe6c;\nLAB_000fbdb4:\n            bVar2 = *(byte *)pwStack_214;\n            if (((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||\n               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))) goto LAB_000fbb0c;\n            pwStack_214 = (word *)((int)pwStack_214 + 1);\n            pbStack_228 = pbStack_228 + 1;\n            pwStack_208 = (word *)((int)pwStack_208 + -1);\n          }\n          iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n          pcVar23 = pcStack_230;\n          if (pwStack_208 == (word *)0x0) goto LAB_000fbbb4;\n        } while( true );\n      }\n      unaff_s7 = (word *)&DAT_0000002d;\n      unaff_s8 = (byte **)0x5f;\n      pwStack_208 = (word *)((int)pwVar16 + (int)unaff_s3);\n      unaff_s4 = pwVar16;\n      pcVar23 = pcStack_230;\n      while( true ) {\n        unaff_s3 = (word *)(int)(char)*(byte *)unaff_s4;\n        pbVar24 = (byte *)(uint)*(byte *)unaff_s4;\n        pwStack_214 = unaff_s3;\n        if (((word *)pbVar24 == unaff_s3) &&\n           (piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))(), pcVar23 = pcStack_230,\n           (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0)) {\n          piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n          pwStack_214 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n          pcVar23 = pcStack_230;\n        }\n        unaff_s5 = (word *)(int)(char)*pbStack_228;\n        unaff_s6 = (word *)(uint)*pbStack_228;\n        pwStack_210 = unaff_s5;\n        if (unaff_s6 == unaff_s5) {\n          piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))();\n          pcVar23 = pcStack_230;\n          if ((*(ushort *)(*piVar9 + (int)unaff_s6 * 2) & 1) != 0) {\n            piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n            unaff_s6 = (word *)(*piVar9 + (int)unaff_s6 * 4);\n            pwStack_210 = *(word **)unaff_s6;\n            pcVar23 = pcStack_230;\n          }\n        }\n        if ((((unaff_s3 != (word *)&DAT_0000002d) && (unaff_s3 != (word *)0x5f)) ||\n            ((unaff_s5 != (word *)&DAT_0000002d && (unaff_s5 != (word *)0x5f)))) &&\n           (pwStack_214 != pwStack_210)) break;\n        unaff_s4 = (word *)((int)unaff_s4 + 1);\n        pbStack_228 = pbStack_228 + 1;\n        iVar13 = *(int *)(pcVar23 + -0x7fd4);\n        if (unaff_s4 == pwStack_208) goto LAB_000fbbb4;\n      }\n    }" { (expression_statement "uVar4 = (**(code **)(pcStack_230 + -0x6060))();" (assignment_expression "uVar4 = (**(code **)(pcStack_230 + -0x6060))()" identifier = (call_expression "(**(code **)(pcStack_230 + -0x6060))()" (parenthesized_expression "(**(code **)(pcStack_230 + -0x6060))" ( (pointer_expression "**(code **)(pcStack_230 + -0x6060)" * (pointer_expression "*(code **)(pcStack_230 + -0x6060)" * (cast_expression "(code **)(pcStack_230 + -0x6060)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6060)" ( (binary_expression "pcStack_230 + -0x6060" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if ((1 < uVar4) && (unaff_s6 = (word *)&uStack_1ec, **(int **)(pcStack_230 + -0x6728) == 0)) {\n        unaff_s8 = &pbStack_1f4;\n        unaff_s7 = (word *)&iStack_1fc;\n        unaff_s5 = (word *)&iStack_1f8;\n        pwStack_214 = pwVar16;\n        pwStack_208 = unaff_s3;\n        do {\n          pwStack_210 = (word *)(**(code **)(pcStack_230 + -0x6084))\n                                          (unaff_s7,pwStack_214,unaff_s4,unaff_s8);\n          pwVar15 = unaff_s3;\n          iVar13 = (**(code **)(pcStack_230 + -0x6084))(unaff_s5,pbStack_228,unaff_s3,unaff_s6);\n          pcVar23 = pcStack_230;\n          if (pwStack_210 == (word *)0x0) {\n            if (iVar13 == 0) goto LAB_000fbbb0;\nLAB_000fbe6c:\n            if (iVar13 + 2U < 2) goto LAB_000fbdb4;\n            iStack_204 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc);\n            iStack_1fc = iStack_204;\n            iStack_1f8 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8);\n            pwStack_214 = (word *)((int)pwStack_214 + (int)pwStack_210);\n            pbStack_228 = pbStack_228 + (int)pwStack_210;\n            pwStack_208 = (word *)((int)pwStack_208 - (int)pwStack_210);\n            if ((((iStack_204 != 0x2d) && (iStack_204 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))) && (iStack_204 != iStack_1f8))\n            goto code_r0x000fbef4;\n          }\n          else {\n            if ((word *)0x1 < pwStack_210 + 1) goto LAB_000fbe6c;\nLAB_000fbdb4:\n            bVar2 = *(byte *)pwStack_214;\n            if (((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||\n               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))) goto LAB_000fbb0c;\n            pwStack_214 = (word *)((int)pwStack_214 + 1);\n            pbStack_228 = pbStack_228 + 1;\n            pwStack_208 = (word *)((int)pwStack_208 + -1);\n          }\n          iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n          pcVar23 = pcStack_230;\n          if (pwStack_208 == (word *)0x0) goto LAB_000fbbb4;\n        } while( true );\n      }" if (parenthesized_expression "((1 < uVar4) && (unaff_s6 = (word *)&uStack_1ec, **(int **)(pcStack_230 + -0x6728) == 0))" ( (binary_expression "(1 < uVar4) && (unaff_s6 = (word *)&uStack_1ec, **(int **)(pcStack_230 + -0x6728) == 0)" (parenthesized_expression "(1 < uVar4)" ( (binary_expression "1 < uVar4" number_literal < identifier) )) && (parenthesized_expression "(unaff_s6 = (word *)&uStack_1ec, **(int **)(pcStack_230 + -0x6728) == 0)" ( (comma_expression "unaff_s6 = (word *)&uStack_1ec, **(int **)(pcStack_230 + -0x6728) == 0" (assignment_expression "unaff_s6 = (word *)&uStack_1ec" identifier = (cast_expression "(word *)&uStack_1ec" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&uStack_1ec" & identifier))) , (binary_expression "**(int **)(pcStack_230 + -0x6728) == 0" (pointer_expression "**(int **)(pcStack_230 + -0x6728)" * (pointer_expression "*(int **)(pcStack_230 + -0x6728)" * (cast_expression "(int **)(pcStack_230 + -0x6728)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6728)" ( (binary_expression "pcStack_230 + -0x6728" identifier + number_literal) ))))) == number_literal)) ))) )) (compound_statement "{\n        unaff_s8 = &pbStack_1f4;\n        unaff_s7 = (word *)&iStack_1fc;\n        unaff_s5 = (word *)&iStack_1f8;\n        pwStack_214 = pwVar16;\n        pwStack_208 = unaff_s3;\n        do {\n          pwStack_210 = (word *)(**(code **)(pcStack_230 + -0x6084))\n                                          (unaff_s7,pwStack_214,unaff_s4,unaff_s8);\n          pwVar15 = unaff_s3;\n          iVar13 = (**(code **)(pcStack_230 + -0x6084))(unaff_s5,pbStack_228,unaff_s3,unaff_s6);\n          pcVar23 = pcStack_230;\n          if (pwStack_210 == (word *)0x0) {\n            if (iVar13 == 0) goto LAB_000fbbb0;\nLAB_000fbe6c:\n            if (iVar13 + 2U < 2) goto LAB_000fbdb4;\n            iStack_204 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc);\n            iStack_1fc = iStack_204;\n            iStack_1f8 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8);\n            pwStack_214 = (word *)((int)pwStack_214 + (int)pwStack_210);\n            pbStack_228 = pbStack_228 + (int)pwStack_210;\n            pwStack_208 = (word *)((int)pwStack_208 - (int)pwStack_210);\n            if ((((iStack_204 != 0x2d) && (iStack_204 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))) && (iStack_204 != iStack_1f8))\n            goto code_r0x000fbef4;\n          }\n          else {\n            if ((word *)0x1 < pwStack_210 + 1) goto LAB_000fbe6c;\nLAB_000fbdb4:\n            bVar2 = *(byte *)pwStack_214;\n            if (((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||\n               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))) goto LAB_000fbb0c;\n            pwStack_214 = (word *)((int)pwStack_214 + 1);\n            pbStack_228 = pbStack_228 + 1;\n            pwStack_208 = (word *)((int)pwStack_208 + -1);\n          }\n          iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n          pcVar23 = pcStack_230;\n          if (pwStack_208 == (word *)0x0) goto LAB_000fbbb4;\n        } while( true );\n      }" { (expression_statement "unaff_s8 = &pbStack_1f4;" (assignment_expression "unaff_s8 = &pbStack_1f4" identifier = (pointer_expression "&pbStack_1f4" & identifier)) ;) (expression_statement "unaff_s7 = (word *)&iStack_1fc;" (assignment_expression "unaff_s7 = (word *)&iStack_1fc" identifier = (cast_expression "(word *)&iStack_1fc" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&iStack_1fc" & identifier))) ;) (expression_statement "unaff_s5 = (word *)&iStack_1f8;" (assignment_expression "unaff_s5 = (word *)&iStack_1f8" identifier = (cast_expression "(word *)&iStack_1f8" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&iStack_1f8" & identifier))) ;) (expression_statement "pwStack_214 = pwVar16;" (assignment_expression "pwStack_214 = pwVar16" identifier = identifier) ;) (expression_statement "pwStack_208 = unaff_s3;" (assignment_expression "pwStack_208 = unaff_s3" identifier = identifier) ;) (do_statement "do {\n          pwStack_210 = (word *)(**(code **)(pcStack_230 + -0x6084))\n                                          (unaff_s7,pwStack_214,unaff_s4,unaff_s8);\n          pwVar15 = unaff_s3;\n          iVar13 = (**(code **)(pcStack_230 + -0x6084))(unaff_s5,pbStack_228,unaff_s3,unaff_s6);\n          pcVar23 = pcStack_230;\n          if (pwStack_210 == (word *)0x0) {\n            if (iVar13 == 0) goto LAB_000fbbb0;\nLAB_000fbe6c:\n            if (iVar13 + 2U < 2) goto LAB_000fbdb4;\n            iStack_204 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc);\n            iStack_1fc = iStack_204;\n            iStack_1f8 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8);\n            pwStack_214 = (word *)((int)pwStack_214 + (int)pwStack_210);\n            pbStack_228 = pbStack_228 + (int)pwStack_210;\n            pwStack_208 = (word *)((int)pwStack_208 - (int)pwStack_210);\n            if ((((iStack_204 != 0x2d) && (iStack_204 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))) && (iStack_204 != iStack_1f8))\n            goto code_r0x000fbef4;\n          }\n          else {\n            if ((word *)0x1 < pwStack_210 + 1) goto LAB_000fbe6c;\nLAB_000fbdb4:\n            bVar2 = *(byte *)pwStack_214;\n            if (((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||\n               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))) goto LAB_000fbb0c;\n            pwStack_214 = (word *)((int)pwStack_214 + 1);\n            pbStack_228 = pbStack_228 + 1;\n            pwStack_208 = (word *)((int)pwStack_208 + -1);\n          }\n          iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n          pcVar23 = pcStack_230;\n          if (pwStack_208 == (word *)0x0) goto LAB_000fbbb4;\n        } while( true );" do (compound_statement "{\n          pwStack_210 = (word *)(**(code **)(pcStack_230 + -0x6084))\n                                          (unaff_s7,pwStack_214,unaff_s4,unaff_s8);\n          pwVar15 = unaff_s3;\n          iVar13 = (**(code **)(pcStack_230 + -0x6084))(unaff_s5,pbStack_228,unaff_s3,unaff_s6);\n          pcVar23 = pcStack_230;\n          if (pwStack_210 == (word *)0x0) {\n            if (iVar13 == 0) goto LAB_000fbbb0;\nLAB_000fbe6c:\n            if (iVar13 + 2U < 2) goto LAB_000fbdb4;\n            iStack_204 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc);\n            iStack_1fc = iStack_204;\n            iStack_1f8 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8);\n            pwStack_214 = (word *)((int)pwStack_214 + (int)pwStack_210);\n            pbStack_228 = pbStack_228 + (int)pwStack_210;\n            pwStack_208 = (word *)((int)pwStack_208 - (int)pwStack_210);\n            if ((((iStack_204 != 0x2d) && (iStack_204 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))) && (iStack_204 != iStack_1f8))\n            goto code_r0x000fbef4;\n          }\n          else {\n            if ((word *)0x1 < pwStack_210 + 1) goto LAB_000fbe6c;\nLAB_000fbdb4:\n            bVar2 = *(byte *)pwStack_214;\n            if (((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||\n               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))) goto LAB_000fbb0c;\n            pwStack_214 = (word *)((int)pwStack_214 + 1);\n            pbStack_228 = pbStack_228 + 1;\n            pwStack_208 = (word *)((int)pwStack_208 + -1);\n          }\n          iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n          pcVar23 = pcStack_230;\n          if (pwStack_208 == (word *)0x0) goto LAB_000fbbb4;\n        }" { (expression_statement "pwStack_210 = (word *)(**(code **)(pcStack_230 + -0x6084))\n                                          (unaff_s7,pwStack_214,unaff_s4,unaff_s8);" (assignment_expression "pwStack_210 = (word *)(**(code **)(pcStack_230 + -0x6084))\n                                          (unaff_s7,pwStack_214,unaff_s4,unaff_s8)" identifier = (cast_expression "(word *)(**(code **)(pcStack_230 + -0x6084))\n                                          (unaff_s7,pwStack_214,unaff_s4,unaff_s8)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_230 + -0x6084))\n                                          (unaff_s7,pwStack_214,unaff_s4,unaff_s8)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x6084))" ( (pointer_expression "**(code **)(pcStack_230 + -0x6084)" * (pointer_expression "*(code **)(pcStack_230 + -0x6084)" * (cast_expression "(code **)(pcStack_230 + -0x6084)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6084)" ( (binary_expression "pcStack_230 + -0x6084" identifier + number_literal) ))))) )) (argument_list "(unaff_s7,pwStack_214,unaff_s4,unaff_s8)" ( identifier , identifier , identifier , identifier ))))) ;) (expression_statement "pwVar15 = unaff_s3;" (assignment_expression "pwVar15 = unaff_s3" identifier = identifier) ;) (expression_statement "iVar13 = (**(code **)(pcStack_230 + -0x6084))(unaff_s5,pbStack_228,unaff_s3,unaff_s6);" (assignment_expression "iVar13 = (**(code **)(pcStack_230 + -0x6084))(unaff_s5,pbStack_228,unaff_s3,unaff_s6)" identifier = (call_expression "(**(code **)(pcStack_230 + -0x6084))(unaff_s5,pbStack_228,unaff_s3,unaff_s6)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x6084))" ( (pointer_expression "**(code **)(pcStack_230 + -0x6084)" * (pointer_expression "*(code **)(pcStack_230 + -0x6084)" * (cast_expression "(code **)(pcStack_230 + -0x6084)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6084)" ( (binary_expression "pcStack_230 + -0x6084" identifier + number_literal) ))))) )) (argument_list "(unaff_s5,pbStack_228,unaff_s3,unaff_s6)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "pcVar23 = pcStack_230;" (assignment_expression "pcVar23 = pcStack_230" identifier = identifier) ;) (if_statement "if (pwStack_210 == (word *)0x0) {\n            if (iVar13 == 0) goto LAB_000fbbb0;\nLAB_000fbe6c:\n            if (iVar13 + 2U < 2) goto LAB_000fbdb4;\n            iStack_204 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc);\n            iStack_1fc = iStack_204;\n            iStack_1f8 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8);\n            pwStack_214 = (word *)((int)pwStack_214 + (int)pwStack_210);\n            pbStack_228 = pbStack_228 + (int)pwStack_210;\n            pwStack_208 = (word *)((int)pwStack_208 - (int)pwStack_210);\n            if ((((iStack_204 != 0x2d) && (iStack_204 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))) && (iStack_204 != iStack_1f8))\n            goto code_r0x000fbef4;\n          }\n          else {\n            if ((word *)0x1 < pwStack_210 + 1) goto LAB_000fbe6c;\nLAB_000fbdb4:\n            bVar2 = *(byte *)pwStack_214;\n            if (((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||\n               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))) goto LAB_000fbb0c;\n            pwStack_214 = (word *)((int)pwStack_214 + 1);\n            pbStack_228 = pbStack_228 + 1;\n            pwStack_208 = (word *)((int)pwStack_208 + -1);\n          }" if (parenthesized_expression "(pwStack_210 == (word *)0x0)" ( (binary_expression "pwStack_210 == (word *)0x0" identifier == (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            if (iVar13 == 0) goto LAB_000fbbb0;\nLAB_000fbe6c:\n            if (iVar13 + 2U < 2) goto LAB_000fbdb4;\n            iStack_204 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc);\n            iStack_1fc = iStack_204;\n            iStack_1f8 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8);\n            pwStack_214 = (word *)((int)pwStack_214 + (int)pwStack_210);\n            pbStack_228 = pbStack_228 + (int)pwStack_210;\n            pwStack_208 = (word *)((int)pwStack_208 - (int)pwStack_210);\n            if ((((iStack_204 != 0x2d) && (iStack_204 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))) && (iStack_204 != iStack_1f8))\n            goto code_r0x000fbef4;\n          }" { (if_statement "if (iVar13 == 0) goto LAB_000fbbb0;" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000fbbb0;" goto statement_identifier ;)) (labeled_statement "LAB_000fbe6c:\n            if (iVar13 + 2U < 2) goto LAB_000fbdb4;" statement_identifier : (if_statement "if (iVar13 + 2U < 2) goto LAB_000fbdb4;" if (parenthesized_expression "(iVar13 + 2U < 2)" ( (binary_expression "iVar13 + 2U < 2" (binary_expression "iVar13 + 2U" identifier + number_literal) < number_literal) )) (goto_statement "goto LAB_000fbdb4;" goto statement_identifier ;))) (expression_statement "iStack_204 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc);" (assignment_expression "iStack_204 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc)" identifier = (call_expression "(**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x5fc8))" ( (pointer_expression "**(code **)(pcStack_230 + -0x5fc8)" * (pointer_expression "*(code **)(pcStack_230 + -0x5fc8)" * (cast_expression "(code **)(pcStack_230 + -0x5fc8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x5fc8)" ( (binary_expression "pcStack_230 + -0x5fc8" identifier + number_literal) ))))) )) (argument_list "(iStack_1fc)" ( identifier )))) ;) (expression_statement "iStack_1fc = iStack_204;" (assignment_expression "iStack_1fc = iStack_204" identifier = identifier) ;) (expression_statement "iStack_1f8 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8);" (assignment_expression "iStack_1f8 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8)" identifier = (call_expression "(**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x5fc8))" ( (pointer_expression "**(code **)(pcStack_230 + -0x5fc8)" * (pointer_expression "*(code **)(pcStack_230 + -0x5fc8)" * (cast_expression "(code **)(pcStack_230 + -0x5fc8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x5fc8)" ( (binary_expression "pcStack_230 + -0x5fc8" identifier + number_literal) ))))) )) (argument_list "(iStack_1f8)" ( identifier )))) ;) (expression_statement "pwStack_214 = (word *)((int)pwStack_214 + (int)pwStack_210);" (assignment_expression "pwStack_214 = (word *)((int)pwStack_214 + (int)pwStack_210)" identifier = (cast_expression "(word *)((int)pwStack_214 + (int)pwStack_210)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwStack_214 + (int)pwStack_210)" ( (binary_expression "(int)pwStack_214 + (int)pwStack_210" (cast_expression "(int)pwStack_214" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pwStack_210" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pbStack_228 = pbStack_228 + (int)pwStack_210;" (assignment_expression "pbStack_228 = pbStack_228 + (int)pwStack_210" identifier = (binary_expression "pbStack_228 + (int)pwStack_210" identifier + (cast_expression "(int)pwStack_210" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pwStack_208 = (word *)((int)pwStack_208 - (int)pwStack_210);" (assignment_expression "pwStack_208 = (word *)((int)pwStack_208 - (int)pwStack_210)" identifier = (cast_expression "(word *)((int)pwStack_208 - (int)pwStack_210)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwStack_208 - (int)pwStack_210)" ( (binary_expression "(int)pwStack_208 - (int)pwStack_210" (cast_expression "(int)pwStack_208" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pwStack_210" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (if_statement "if ((((iStack_204 != 0x2d) && (iStack_204 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))) && (iStack_204 != iStack_1f8))\n            goto code_r0x000fbef4;" if (parenthesized_expression "((((iStack_204 != 0x2d) && (iStack_204 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))) && (iStack_204 != iStack_1f8))" ( (binary_expression "(((iStack_204 != 0x2d) && (iStack_204 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))) && (iStack_204 != iStack_1f8)" (parenthesized_expression "(((iStack_204 != 0x2d) && (iStack_204 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f))))" ( (binary_expression "((iStack_204 != 0x2d) && (iStack_204 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))" (parenthesized_expression "((iStack_204 != 0x2d) && (iStack_204 != 0x5f))" ( (binary_expression "(iStack_204 != 0x2d) && (iStack_204 != 0x5f)" (parenthesized_expression "(iStack_204 != 0x2d)" ( (binary_expression "iStack_204 != 0x2d" identifier != number_literal) )) && (parenthesized_expression "(iStack_204 != 0x5f)" ( (binary_expression "iStack_204 != 0x5f" identifier != number_literal) ))) )) || (parenthesized_expression "((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))" ( (parenthesized_expression "(iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f))" ( (binary_expression "iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)" (binary_expression "iStack_1f8 != 0x2d" identifier != number_literal) && (parenthesized_expression "(iStack_1f8 != 0x5f)" ( (binary_expression "iStack_1f8 != 0x5f" identifier != number_literal) ))) )) ))) )) && (parenthesized_expression "(iStack_204 != iStack_1f8)" ( (binary_expression "iStack_204 != iStack_1f8" identifier != identifier) ))) )) (goto_statement "goto code_r0x000fbef4;" goto statement_identifier ;)) }) (else_clause "else {\n            if ((word *)0x1 < pwStack_210 + 1) goto LAB_000fbe6c;\nLAB_000fbdb4:\n            bVar2 = *(byte *)pwStack_214;\n            if (((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||\n               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))) goto LAB_000fbb0c;\n            pwStack_214 = (word *)((int)pwStack_214 + 1);\n            pbStack_228 = pbStack_228 + 1;\n            pwStack_208 = (word *)((int)pwStack_208 + -1);\n          }" else (compound_statement "{\n            if ((word *)0x1 < pwStack_210 + 1) goto LAB_000fbe6c;\nLAB_000fbdb4:\n            bVar2 = *(byte *)pwStack_214;\n            if (((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||\n               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))) goto LAB_000fbb0c;\n            pwStack_214 = (word *)((int)pwStack_214 + 1);\n            pbStack_228 = pbStack_228 + 1;\n            pwStack_208 = (word *)((int)pwStack_208 + -1);\n          }" { (if_statement "if ((word *)0x1 < pwStack_210 + 1) goto LAB_000fbe6c;" if (parenthesized_expression "((word *)0x1 < pwStack_210 + 1)" ( (binary_expression "(word *)0x1 < pwStack_210 + 1" (cast_expression "(word *)0x1" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < (binary_expression "pwStack_210 + 1" identifier + number_literal)) )) (goto_statement "goto LAB_000fbe6c;" goto statement_identifier ;)) (labeled_statement "LAB_000fbdb4:\n            bVar2 = *(byte *)pwStack_214;" statement_identifier : (expression_statement "bVar2 = *(byte *)pwStack_214;" (assignment_expression "bVar2 = *(byte *)pwStack_214" identifier = (pointer_expression "*(byte *)pwStack_214" * (cast_expression "(byte *)pwStack_214" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;)) (if_statement "if (((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||\n               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))) goto LAB_000fbb0c;" if (parenthesized_expression "(((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||\n               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f))))" ( (binary_expression "((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||\n               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))" (parenthesized_expression "((bVar2 != *pbStack_228) || (bVar2 == 0x2d))" ( (binary_expression "(bVar2 != *pbStack_228) || (bVar2 == 0x2d)" (parenthesized_expression "(bVar2 != *pbStack_228)" ( (binary_expression "bVar2 != *pbStack_228" identifier != (pointer_expression "*pbStack_228" * identifier)) )) || (parenthesized_expression "(bVar2 == 0x2d)" ( (binary_expression "bVar2 == 0x2d" identifier == number_literal) ))) )) || (parenthesized_expression "((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))" ( (parenthesized_expression "(bVar2 == 0x5f && (*pbStack_228 == 0x5f))" ( (binary_expression "bVar2 == 0x5f && (*pbStack_228 == 0x5f)" (binary_expression "bVar2 == 0x5f" identifier == number_literal) && (parenthesized_expression "(*pbStack_228 == 0x5f)" ( (binary_expression "*pbStack_228 == 0x5f" (pointer_expression "*pbStack_228" * identifier) == number_literal) ))) )) ))) )) (goto_statement "goto LAB_000fbb0c;" goto statement_identifier ;)) (expression_statement "pwStack_214 = (word *)((int)pwStack_214 + 1);" (assignment_expression "pwStack_214 = (word *)((int)pwStack_214 + 1)" identifier = (cast_expression "(word *)((int)pwStack_214 + 1)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwStack_214 + 1)" ( (binary_expression "(int)pwStack_214 + 1" (cast_expression "(int)pwStack_214" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pbStack_228 = pbStack_228 + 1;" (assignment_expression "pbStack_228 = pbStack_228 + 1" identifier = (binary_expression "pbStack_228 + 1" identifier + number_literal)) ;) (expression_statement "pwStack_208 = (word *)((int)pwStack_208 + -1);" (assignment_expression "pwStack_208 = (word *)((int)pwStack_208 + -1)" identifier = (cast_expression "(word *)((int)pwStack_208 + -1)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwStack_208 + -1)" ( (binary_expression "(int)pwStack_208 + -1" (cast_expression "(int)pwStack_208" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }))) (expression_statement "iVar13 = *(int *)(pcStack_230 + -0x7fd4);" (assignment_expression "iVar13 = *(int *)(pcStack_230 + -0x7fd4)" identifier = (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) ))))) ;) (expression_statement "pcVar23 = pcStack_230;" (assignment_expression "pcVar23 = pcStack_230" identifier = identifier) ;) (if_statement "if (pwStack_208 == (word *)0x0) goto LAB_000fbbb4;" if (parenthesized_expression "(pwStack_208 == (word *)0x0)" ( (binary_expression "pwStack_208 == (word *)0x0" identifier == (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000fbbb4;" goto statement_identifier ;)) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "unaff_s7 = (word *)&DAT_0000002d;" (assignment_expression "unaff_s7 = (word *)&DAT_0000002d" identifier = (cast_expression "(word *)&DAT_0000002d" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_0000002d" & identifier))) ;) (expression_statement "unaff_s8 = (byte **)0x5f;" (assignment_expression "unaff_s8 = (byte **)0x5f" identifier = (cast_expression "(byte **)0x5f" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "pwStack_208 = (word *)((int)pwVar16 + (int)unaff_s3);" (assignment_expression "pwStack_208 = (word *)((int)pwVar16 + (int)unaff_s3)" identifier = (cast_expression "(word *)((int)pwVar16 + (int)unaff_s3)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwVar16 + (int)unaff_s3)" ( (binary_expression "(int)pwVar16 + (int)unaff_s3" (cast_expression "(int)pwVar16" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "unaff_s4 = pwVar16;" (assignment_expression "unaff_s4 = pwVar16" identifier = identifier) ;) (expression_statement "pcVar23 = pcStack_230;" (assignment_expression "pcVar23 = pcStack_230" identifier = identifier) ;) (while_statement "while( true ) {\n        unaff_s3 = (word *)(int)(char)*(byte *)unaff_s4;\n        pbVar24 = (byte *)(uint)*(byte *)unaff_s4;\n        pwStack_214 = unaff_s3;\n        if (((word *)pbVar24 == unaff_s3) &&\n           (piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))(), pcVar23 = pcStack_230,\n           (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0)) {\n          piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n          pwStack_214 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n          pcVar23 = pcStack_230;\n        }\n        unaff_s5 = (word *)(int)(char)*pbStack_228;\n        unaff_s6 = (word *)(uint)*pbStack_228;\n        pwStack_210 = unaff_s5;\n        if (unaff_s6 == unaff_s5) {\n          piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))();\n          pcVar23 = pcStack_230;\n          if ((*(ushort *)(*piVar9 + (int)unaff_s6 * 2) & 1) != 0) {\n            piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n            unaff_s6 = (word *)(*piVar9 + (int)unaff_s6 * 4);\n            pwStack_210 = *(word **)unaff_s6;\n            pcVar23 = pcStack_230;\n          }\n        }\n        if ((((unaff_s3 != (word *)&DAT_0000002d) && (unaff_s3 != (word *)0x5f)) ||\n            ((unaff_s5 != (word *)&DAT_0000002d && (unaff_s5 != (word *)0x5f)))) &&\n           (pwStack_214 != pwStack_210)) break;\n        unaff_s4 = (word *)((int)unaff_s4 + 1);\n        pbStack_228 = pbStack_228 + 1;\n        iVar13 = *(int *)(pcVar23 + -0x7fd4);\n        if (unaff_s4 == pwStack_208) goto LAB_000fbbb4;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        unaff_s3 = (word *)(int)(char)*(byte *)unaff_s4;\n        pbVar24 = (byte *)(uint)*(byte *)unaff_s4;\n        pwStack_214 = unaff_s3;\n        if (((word *)pbVar24 == unaff_s3) &&\n           (piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))(), pcVar23 = pcStack_230,\n           (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0)) {\n          piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n          pwStack_214 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n          pcVar23 = pcStack_230;\n        }\n        unaff_s5 = (word *)(int)(char)*pbStack_228;\n        unaff_s6 = (word *)(uint)*pbStack_228;\n        pwStack_210 = unaff_s5;\n        if (unaff_s6 == unaff_s5) {\n          piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))();\n          pcVar23 = pcStack_230;\n          if ((*(ushort *)(*piVar9 + (int)unaff_s6 * 2) & 1) != 0) {\n            piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n            unaff_s6 = (word *)(*piVar9 + (int)unaff_s6 * 4);\n            pwStack_210 = *(word **)unaff_s6;\n            pcVar23 = pcStack_230;\n          }\n        }\n        if ((((unaff_s3 != (word *)&DAT_0000002d) && (unaff_s3 != (word *)0x5f)) ||\n            ((unaff_s5 != (word *)&DAT_0000002d && (unaff_s5 != (word *)0x5f)))) &&\n           (pwStack_214 != pwStack_210)) break;\n        unaff_s4 = (word *)((int)unaff_s4 + 1);\n        pbStack_228 = pbStack_228 + 1;\n        iVar13 = *(int *)(pcVar23 + -0x7fd4);\n        if (unaff_s4 == pwStack_208) goto LAB_000fbbb4;\n      }" { (expression_statement "unaff_s3 = (word *)(int)(char)*(byte *)unaff_s4;" (assignment_expression "unaff_s3 = (word *)(int)(char)*(byte *)unaff_s4" identifier = (cast_expression "(word *)(int)(char)*(byte *)unaff_s4" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)(char)*(byte *)unaff_s4" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)*(byte *)unaff_s4" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(byte *)unaff_s4" * (cast_expression "(byte *)unaff_s4" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))))) ;) (expression_statement "pbVar24 = (byte *)(uint)*(byte *)unaff_s4;" (assignment_expression "pbVar24 = (byte *)(uint)*(byte *)unaff_s4" identifier = (binary_expression "(byte *)(uint)*(byte *)unaff_s4" (cast_expression "(byte *)(uint)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(byte *)unaff_s4" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "pwStack_214 = unaff_s3;" (assignment_expression "pwStack_214 = unaff_s3" identifier = identifier) ;) (if_statement "if (((word *)pbVar24 == unaff_s3) &&\n           (piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))(), pcVar23 = pcStack_230,\n           (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0)) {\n          piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n          pwStack_214 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n          pcVar23 = pcStack_230;\n        }" if (parenthesized_expression "(((word *)pbVar24 == unaff_s3) &&\n           (piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))(), pcVar23 = pcStack_230,\n           (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0))" ( (binary_expression "((word *)pbVar24 == unaff_s3) &&\n           (piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))(), pcVar23 = pcStack_230,\n           (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0)" (parenthesized_expression "((word *)pbVar24 == unaff_s3)" ( (binary_expression "(word *)pbVar24 == unaff_s3" (cast_expression "(word *)pbVar24" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) == identifier) )) && (parenthesized_expression "(piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))(), pcVar23 = pcStack_230,\n           (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0)" ( (comma_expression "piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))(), pcVar23 = pcStack_230,\n           (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0" (assignment_expression "piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))()" identifier = (cast_expression "(int *)(**(code **)(pcVar23 + -0x6290))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar23 + -0x6290))()" (parenthesized_expression "(**(code **)(pcVar23 + -0x6290))" ( (pointer_expression "**(code **)(pcVar23 + -0x6290)" * (pointer_expression "*(code **)(pcVar23 + -0x6290)" * (cast_expression "(code **)(pcVar23 + -0x6290)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + -0x6290)" ( (binary_expression "pcVar23 + -0x6290" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) , (comma_expression "pcVar23 = pcStack_230,\n           (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0" (assignment_expression "pcVar23 = pcStack_230" identifier = identifier) , (binary_expression "(*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0" (parenthesized_expression "(*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1)" ( (binary_expression "*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1" (pointer_expression "*(ushort *)(*piVar9 + (int)pbVar24 * 2)" * (cast_expression "(ushort *)(*piVar9 + (int)pbVar24 * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar9 + (int)pbVar24 * 2)" ( (binary_expression "*piVar9 + (int)pbVar24 * 2" (pointer_expression "*piVar9" * identifier) + (binary_expression "(int)pbVar24 * 2" (cast_expression "(int)pbVar24" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) & number_literal) )) != number_literal))) ))) )) (compound_statement "{\n          piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n          pwStack_214 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n          pcVar23 = pcStack_230;\n        }" { (expression_statement "piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();" (assignment_expression "piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))()" identifier = (cast_expression "(int *)(**(code **)(pcStack_230 + -0x628c))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_230 + -0x628c))()" (parenthesized_expression "(**(code **)(pcStack_230 + -0x628c))" ( (pointer_expression "**(code **)(pcStack_230 + -0x628c)" * (pointer_expression "*(code **)(pcStack_230 + -0x628c)" * (cast_expression "(code **)(pcStack_230 + -0x628c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x628c)" ( (binary_expression "pcStack_230 + -0x628c" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "pwStack_214 = *(word **)(*piVar9 + (int)pbVar24 * 4);" (assignment_expression "pwStack_214 = *(word **)(*piVar9 + (int)pbVar24 * 4)" identifier = (pointer_expression "*(word **)(*piVar9 + (int)pbVar24 * 4)" * (cast_expression "(word **)(*piVar9 + (int)pbVar24 * 4)" ( (type_descriptor "word **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar9 + (int)pbVar24 * 4)" ( (binary_expression "*piVar9 + (int)pbVar24 * 4" (pointer_expression "*piVar9" * identifier) + (binary_expression "(int)pbVar24 * 4" (cast_expression "(int)pbVar24" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ))))) ;) (expression_statement "pcVar23 = pcStack_230;" (assignment_expression "pcVar23 = pcStack_230" identifier = identifier) ;) })) (expression_statement "unaff_s5 = (word *)(int)(char)*pbStack_228;" (assignment_expression "unaff_s5 = (word *)(int)(char)*pbStack_228" identifier = (cast_expression "(word *)(int)(char)*pbStack_228" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)(char)*pbStack_228" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)*pbStack_228" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*pbStack_228" * identifier))))) ;) (expression_statement "unaff_s6 = (word *)(uint)*pbStack_228;" (assignment_expression "unaff_s6 = (word *)(uint)*pbStack_228" identifier = (binary_expression "(word *)(uint)*pbStack_228" (cast_expression "(word *)(uint)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * identifier)) ;) (expression_statement "pwStack_210 = unaff_s5;" (assignment_expression "pwStack_210 = unaff_s5" identifier = identifier) ;) (if_statement "if (unaff_s6 == unaff_s5) {\n          piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))();\n          pcVar23 = pcStack_230;\n          if ((*(ushort *)(*piVar9 + (int)unaff_s6 * 2) & 1) != 0) {\n            piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n            unaff_s6 = (word *)(*piVar9 + (int)unaff_s6 * 4);\n            pwStack_210 = *(word **)unaff_s6;\n            pcVar23 = pcStack_230;\n          }\n        }" if (parenthesized_expression "(unaff_s6 == unaff_s5)" ( (binary_expression "unaff_s6 == unaff_s5" identifier == identifier) )) (compound_statement "{\n          piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))();\n          pcVar23 = pcStack_230;\n          if ((*(ushort *)(*piVar9 + (int)unaff_s6 * 2) & 1) != 0) {\n            piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n            unaff_s6 = (word *)(*piVar9 + (int)unaff_s6 * 4);\n            pwStack_210 = *(word **)unaff_s6;\n            pcVar23 = pcStack_230;\n          }\n        }" { (expression_statement "piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))();" (assignment_expression "piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))()" identifier = (cast_expression "(int *)(**(code **)(pcVar23 + -0x6290))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar23 + -0x6290))()" (parenthesized_expression "(**(code **)(pcVar23 + -0x6290))" ( (pointer_expression "**(code **)(pcVar23 + -0x6290)" * (pointer_expression "*(code **)(pcVar23 + -0x6290)" * (cast_expression "(code **)(pcVar23 + -0x6290)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + -0x6290)" ( (binary_expression "pcVar23 + -0x6290" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "pcVar23 = pcStack_230;" (assignment_expression "pcVar23 = pcStack_230" identifier = identifier) ;) (if_statement "if ((*(ushort *)(*piVar9 + (int)unaff_s6 * 2) & 1) != 0) {\n            piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n            unaff_s6 = (word *)(*piVar9 + (int)unaff_s6 * 4);\n            pwStack_210 = *(word **)unaff_s6;\n            pcVar23 = pcStack_230;\n          }" if (parenthesized_expression "((*(ushort *)(*piVar9 + (int)unaff_s6 * 2) & 1) != 0)" ( (binary_expression "(*(ushort *)(*piVar9 + (int)unaff_s6 * 2) & 1) != 0" (parenthesized_expression "(*(ushort *)(*piVar9 + (int)unaff_s6 * 2) & 1)" ( (binary_expression "*(ushort *)(*piVar9 + (int)unaff_s6 * 2) & 1" (pointer_expression "*(ushort *)(*piVar9 + (int)unaff_s6 * 2)" * (cast_expression "(ushort *)(*piVar9 + (int)unaff_s6 * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar9 + (int)unaff_s6 * 2)" ( (binary_expression "*piVar9 + (int)unaff_s6 * 2" (pointer_expression "*piVar9" * identifier) + (binary_expression "(int)unaff_s6 * 2" (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n            piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n            unaff_s6 = (word *)(*piVar9 + (int)unaff_s6 * 4);\n            pwStack_210 = *(word **)unaff_s6;\n            pcVar23 = pcStack_230;\n          }" { (expression_statement "piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();" (assignment_expression "piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))()" identifier = (cast_expression "(int *)(**(code **)(pcStack_230 + -0x628c))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_230 + -0x628c))()" (parenthesized_expression "(**(code **)(pcStack_230 + -0x628c))" ( (pointer_expression "**(code **)(pcStack_230 + -0x628c)" * (pointer_expression "*(code **)(pcStack_230 + -0x628c)" * (cast_expression "(code **)(pcStack_230 + -0x628c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x628c)" ( (binary_expression "pcStack_230 + -0x628c" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "unaff_s6 = (word *)(*piVar9 + (int)unaff_s6 * 4);" (assignment_expression "unaff_s6 = (word *)(*piVar9 + (int)unaff_s6 * 4)" identifier = (cast_expression "(word *)(*piVar9 + (int)unaff_s6 * 4)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar9 + (int)unaff_s6 * 4)" ( (binary_expression "*piVar9 + (int)unaff_s6 * 4" (pointer_expression "*piVar9" * identifier) + (binary_expression "(int)unaff_s6 * 4" (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) ;) (expression_statement "pwStack_210 = *(word **)unaff_s6;" (assignment_expression "pwStack_210 = *(word **)unaff_s6" identifier = (pointer_expression "*(word **)unaff_s6" * (cast_expression "(word **)unaff_s6" ( (type_descriptor "word **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "pcVar23 = pcStack_230;" (assignment_expression "pcVar23 = pcStack_230" identifier = identifier) ;) })) })) (if_statement "if ((((unaff_s3 != (word *)&DAT_0000002d) && (unaff_s3 != (word *)0x5f)) ||\n            ((unaff_s5 != (word *)&DAT_0000002d && (unaff_s5 != (word *)0x5f)))) &&\n           (pwStack_214 != pwStack_210)) break;" if (parenthesized_expression "((((unaff_s3 != (word *)&DAT_0000002d) && (unaff_s3 != (word *)0x5f)) ||\n            ((unaff_s5 != (word *)&DAT_0000002d && (unaff_s5 != (word *)0x5f)))) &&\n           (pwStack_214 != pwStack_210))" ( (binary_expression "(((unaff_s3 != (word *)&DAT_0000002d) && (unaff_s3 != (word *)0x5f)) ||\n            ((unaff_s5 != (word *)&DAT_0000002d && (unaff_s5 != (word *)0x5f)))) &&\n           (pwStack_214 != pwStack_210)" (parenthesized_expression "(((unaff_s3 != (word *)&DAT_0000002d) && (unaff_s3 != (word *)0x5f)) ||\n            ((unaff_s5 != (word *)&DAT_0000002d && (unaff_s5 != (word *)0x5f))))" ( (binary_expression "((unaff_s3 != (word *)&DAT_0000002d) && (unaff_s3 != (word *)0x5f)) ||\n            ((unaff_s5 != (word *)&DAT_0000002d && (unaff_s5 != (word *)0x5f)))" (parenthesized_expression "((unaff_s3 != (word *)&DAT_0000002d) && (unaff_s3 != (word *)0x5f))" ( (binary_expression "(unaff_s3 != (word *)&DAT_0000002d) && (unaff_s3 != (word *)0x5f)" (parenthesized_expression "(unaff_s3 != (word *)&DAT_0000002d)" ( (binary_expression "unaff_s3 != (word *)&DAT_0000002d" identifier != (cast_expression "(word *)&DAT_0000002d" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_0000002d" & identifier))) )) && (parenthesized_expression "(unaff_s3 != (word *)0x5f)" ( (binary_expression "unaff_s3 != (word *)0x5f" identifier != (cast_expression "(word *)0x5f" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) || (parenthesized_expression "((unaff_s5 != (word *)&DAT_0000002d && (unaff_s5 != (word *)0x5f)))" ( (parenthesized_expression "(unaff_s5 != (word *)&DAT_0000002d && (unaff_s5 != (word *)0x5f))" ( (binary_expression "unaff_s5 != (word *)&DAT_0000002d && (unaff_s5 != (word *)0x5f)" (binary_expression "unaff_s5 != (word *)&DAT_0000002d" identifier != (cast_expression "(word *)&DAT_0000002d" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_0000002d" & identifier))) && (parenthesized_expression "(unaff_s5 != (word *)0x5f)" ( (binary_expression "unaff_s5 != (word *)0x5f" identifier != (cast_expression "(word *)0x5f" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) ))) )) && (parenthesized_expression "(pwStack_214 != pwStack_210)" ( (binary_expression "pwStack_214 != pwStack_210" identifier != identifier) ))) )) (break_statement "break;" break ;)) (expression_statement "unaff_s4 = (word *)((int)unaff_s4 + 1);" (assignment_expression "unaff_s4 = (word *)((int)unaff_s4 + 1)" identifier = (cast_expression "(word *)((int)unaff_s4 + 1)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s4 + 1)" ( (binary_expression "(int)unaff_s4 + 1" (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pbStack_228 = pbStack_228 + 1;" (assignment_expression "pbStack_228 = pbStack_228 + 1" identifier = (binary_expression "pbStack_228 + 1" identifier + number_literal)) ;) (expression_statement "iVar13 = *(int *)(pcVar23 + -0x7fd4);" (assignment_expression "iVar13 = *(int *)(pcVar23 + -0x7fd4)" identifier = (pointer_expression "*(int *)(pcVar23 + -0x7fd4)" * (cast_expression "(int *)(pcVar23 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar23 + -0x7fd4)" ( (binary_expression "pcVar23 + -0x7fd4" identifier + number_literal) ))))) ;) (if_statement "if (unaff_s4 == pwStack_208) goto LAB_000fbbb4;" if (parenthesized_expression "(unaff_s4 == pwStack_208)" ( (binary_expression "unaff_s4 == pwStack_208" identifier == identifier) )) (goto_statement "goto LAB_000fbbb4;" goto statement_identifier ;)) })) }))) (goto_statement "goto LAB_000fbb0c;" goto statement_identifier ;) })) (if_statement "if (*(byte *)pwVar16 != *pbStack_228) goto LAB_000fbb0c;" if (parenthesized_expression "(*(byte *)pwVar16 != *pbStack_228)" ( (binary_expression "*(byte *)pwVar16 != *pbStack_228" (pointer_expression "*(byte *)pwVar16" * (cast_expression "(byte *)pwVar16" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) != (pointer_expression "*pbStack_228" * identifier)) )) (goto_statement "goto LAB_000fbb0c;" goto statement_identifier ;)) (expression_statement "pwVar15 = unaff_s3;" (assignment_expression "pwVar15 = unaff_s3" identifier = identifier) ;) (expression_statement "iVar13 = (**(code **)(pcStack_230 + -0x6238))(pbStack_228,pwVar16);" (assignment_expression "iVar13 = (**(code **)(pcStack_230 + -0x6238))(pbStack_228,pwVar16)" identifier = (call_expression "(**(code **)(pcStack_230 + -0x6238))(pbStack_228,pwVar16)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x6238))" ( (pointer_expression "**(code **)(pcStack_230 + -0x6238)" * (pointer_expression "*(code **)(pcStack_230 + -0x6238)" * (cast_expression "(code **)(pcStack_230 + -0x6238)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6238)" ( (binary_expression "pcStack_230 + -0x6238" identifier + number_literal) ))))) )) (argument_list "(pbStack_228,pwVar16)" ( identifier , identifier )))) ;) (labeled_statement "LAB_000fc280:\n  pcVar23 = pcStack_230;" statement_identifier : (expression_statement "pcVar23 = pcStack_230;" (assignment_expression "pcVar23 = pcStack_230" identifier = identifier) ;)) (if_statement "if (iVar13 != 0) goto LAB_000fbb0c;" if (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000fbb0c;" goto statement_identifier ;)) (expression_statement "pcVar19 = *(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);" (assignment_expression "pcVar19 = *(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" identifier = (pointer_expression "*(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" * (cast_expression "(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" ( (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) )))) + number_literal) ))))) ;) (goto_statement "goto LAB_000fbbb8;" goto statement_identifier ;) (labeled_statement "LAB_000fc0a8:\n  pwStack_210 = (word *)(**(code **)(pcStack_230 + -0x6084))(unaff_s7,pwStack_214,unaff_s4,unaff_s8)\n  ;" statement_identifier : (expression_statement "pwStack_210 = (word *)(**(code **)(pcStack_230 + -0x6084))(unaff_s7,pwStack_214,unaff_s4,unaff_s8)\n  ;" (assignment_expression "pwStack_210 = (word *)(**(code **)(pcStack_230 + -0x6084))(unaff_s7,pwStack_214,unaff_s4,unaff_s8)" identifier = (cast_expression "(word *)(**(code **)(pcStack_230 + -0x6084))(unaff_s7,pwStack_214,unaff_s4,unaff_s8)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_230 + -0x6084))(unaff_s7,pwStack_214,unaff_s4,unaff_s8)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x6084))" ( (pointer_expression "**(code **)(pcStack_230 + -0x6084)" * (pointer_expression "*(code **)(pcStack_230 + -0x6084)" * (cast_expression "(code **)(pcStack_230 + -0x6084)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6084)" ( (binary_expression "pcStack_230 + -0x6084" identifier + number_literal) ))))) )) (argument_list "(unaff_s7,pwStack_214,unaff_s4,unaff_s8)" ( identifier , identifier , identifier , identifier ))))) ;)) (expression_statement "pwVar15 = unaff_s3;" (assignment_expression "pwVar15 = unaff_s3" identifier = identifier) ;) (expression_statement "iVar13 = (**(code **)(pcStack_230 + -0x6084))(unaff_s5,pbStack_228,unaff_s3,unaff_s6);" (assignment_expression "iVar13 = (**(code **)(pcStack_230 + -0x6084))(unaff_s5,pbStack_228,unaff_s3,unaff_s6)" identifier = (call_expression "(**(code **)(pcStack_230 + -0x6084))(unaff_s5,pbStack_228,unaff_s3,unaff_s6)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x6084))" ( (pointer_expression "**(code **)(pcStack_230 + -0x6084)" * (pointer_expression "*(code **)(pcStack_230 + -0x6084)" * (cast_expression "(code **)(pcStack_230 + -0x6084)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6084)" ( (binary_expression "pcStack_230 + -0x6084" identifier + number_literal) ))))) )) (argument_list "(unaff_s5,pbStack_228,unaff_s3,unaff_s6)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "pcVar23 = pcStack_230;" (assignment_expression "pcVar23 = pcStack_230" identifier = identifier) ;) (if_statement "if (pwStack_210 == (word *)0x0) {\n    if (iVar13 == 0) goto LAB_000fbbb0;\nLAB_000fc100:\n    if (iVar13 + 2U < 2) goto LAB_000fc060;\n    iStack_204 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc);\n    iStack_1fc = iStack_204;\n    iStack_1f8 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8);\n    pcVar23 = pcStack_230;\n    if (iStack_204 != iStack_1f8) goto LAB_000fbb0c;\n    pwStack_214 = (word *)((int)pwStack_214 + (int)pwStack_210);\n    pbStack_228 = pbStack_228 + (int)pwStack_210;\n    pwStack_208 = (word *)((int)pwStack_208 - (int)pwStack_210);\n  }\n  else {\n    if ((word *)0x1 < pwStack_210 + 1) goto LAB_000fc100;\nLAB_000fc060:\n    if (*(byte *)pwStack_214 != *pbStack_228) goto LAB_000fbb0c;\n    pwStack_214 = (word *)((int)pwStack_214 + 1);\n    pbStack_228 = pbStack_228 + 1;\n    pwStack_208 = (word *)((int)pwStack_208 + -1);\n  }" if (parenthesized_expression "(pwStack_210 == (word *)0x0)" ( (binary_expression "pwStack_210 == (word *)0x0" identifier == (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (iVar13 == 0) goto LAB_000fbbb0;\nLAB_000fc100:\n    if (iVar13 + 2U < 2) goto LAB_000fc060;\n    iStack_204 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc);\n    iStack_1fc = iStack_204;\n    iStack_1f8 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8);\n    pcVar23 = pcStack_230;\n    if (iStack_204 != iStack_1f8) goto LAB_000fbb0c;\n    pwStack_214 = (word *)((int)pwStack_214 + (int)pwStack_210);\n    pbStack_228 = pbStack_228 + (int)pwStack_210;\n    pwStack_208 = (word *)((int)pwStack_208 - (int)pwStack_210);\n  }" { (if_statement "if (iVar13 == 0) goto LAB_000fbbb0;" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000fbbb0;" goto statement_identifier ;)) (labeled_statement "LAB_000fc100:\n    if (iVar13 + 2U < 2) goto LAB_000fc060;" statement_identifier : (if_statement "if (iVar13 + 2U < 2) goto LAB_000fc060;" if (parenthesized_expression "(iVar13 + 2U < 2)" ( (binary_expression "iVar13 + 2U < 2" (binary_expression "iVar13 + 2U" identifier + number_literal) < number_literal) )) (goto_statement "goto LAB_000fc060;" goto statement_identifier ;))) (expression_statement "iStack_204 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc);" (assignment_expression "iStack_204 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc)" identifier = (call_expression "(**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x5fc8))" ( (pointer_expression "**(code **)(pcStack_230 + -0x5fc8)" * (pointer_expression "*(code **)(pcStack_230 + -0x5fc8)" * (cast_expression "(code **)(pcStack_230 + -0x5fc8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x5fc8)" ( (binary_expression "pcStack_230 + -0x5fc8" identifier + number_literal) ))))) )) (argument_list "(iStack_1fc)" ( identifier )))) ;) (expression_statement "iStack_1fc = iStack_204;" (assignment_expression "iStack_1fc = iStack_204" identifier = identifier) ;) (expression_statement "iStack_1f8 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8);" (assignment_expression "iStack_1f8 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8)" identifier = (call_expression "(**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x5fc8))" ( (pointer_expression "**(code **)(pcStack_230 + -0x5fc8)" * (pointer_expression "*(code **)(pcStack_230 + -0x5fc8)" * (cast_expression "(code **)(pcStack_230 + -0x5fc8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x5fc8)" ( (binary_expression "pcStack_230 + -0x5fc8" identifier + number_literal) ))))) )) (argument_list "(iStack_1f8)" ( identifier )))) ;) (expression_statement "pcVar23 = pcStack_230;" (assignment_expression "pcVar23 = pcStack_230" identifier = identifier) ;) (if_statement "if (iStack_204 != iStack_1f8) goto LAB_000fbb0c;" if (parenthesized_expression "(iStack_204 != iStack_1f8)" ( (binary_expression "iStack_204 != iStack_1f8" identifier != identifier) )) (goto_statement "goto LAB_000fbb0c;" goto statement_identifier ;)) (expression_statement "pwStack_214 = (word *)((int)pwStack_214 + (int)pwStack_210);" (assignment_expression "pwStack_214 = (word *)((int)pwStack_214 + (int)pwStack_210)" identifier = (cast_expression "(word *)((int)pwStack_214 + (int)pwStack_210)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwStack_214 + (int)pwStack_210)" ( (binary_expression "(int)pwStack_214 + (int)pwStack_210" (cast_expression "(int)pwStack_214" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pwStack_210" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pbStack_228 = pbStack_228 + (int)pwStack_210;" (assignment_expression "pbStack_228 = pbStack_228 + (int)pwStack_210" identifier = (binary_expression "pbStack_228 + (int)pwStack_210" identifier + (cast_expression "(int)pwStack_210" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pwStack_208 = (word *)((int)pwStack_208 - (int)pwStack_210);" (assignment_expression "pwStack_208 = (word *)((int)pwStack_208 - (int)pwStack_210)" identifier = (cast_expression "(word *)((int)pwStack_208 - (int)pwStack_210)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwStack_208 - (int)pwStack_210)" ( (binary_expression "(int)pwStack_208 - (int)pwStack_210" (cast_expression "(int)pwStack_208" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pwStack_210" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) }) (else_clause "else {\n    if ((word *)0x1 < pwStack_210 + 1) goto LAB_000fc100;\nLAB_000fc060:\n    if (*(byte *)pwStack_214 != *pbStack_228) goto LAB_000fbb0c;\n    pwStack_214 = (word *)((int)pwStack_214 + 1);\n    pbStack_228 = pbStack_228 + 1;\n    pwStack_208 = (word *)((int)pwStack_208 + -1);\n  }" else (compound_statement "{\n    if ((word *)0x1 < pwStack_210 + 1) goto LAB_000fc100;\nLAB_000fc060:\n    if (*(byte *)pwStack_214 != *pbStack_228) goto LAB_000fbb0c;\n    pwStack_214 = (word *)((int)pwStack_214 + 1);\n    pbStack_228 = pbStack_228 + 1;\n    pwStack_208 = (word *)((int)pwStack_208 + -1);\n  }" { (if_statement "if ((word *)0x1 < pwStack_210 + 1) goto LAB_000fc100;" if (parenthesized_expression "((word *)0x1 < pwStack_210 + 1)" ( (binary_expression "(word *)0x1 < pwStack_210 + 1" (cast_expression "(word *)0x1" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < (binary_expression "pwStack_210 + 1" identifier + number_literal)) )) (goto_statement "goto LAB_000fc100;" goto statement_identifier ;)) (labeled_statement "LAB_000fc060:\n    if (*(byte *)pwStack_214 != *pbStack_228) goto LAB_000fbb0c;" statement_identifier : (if_statement "if (*(byte *)pwStack_214 != *pbStack_228) goto LAB_000fbb0c;" if (parenthesized_expression "(*(byte *)pwStack_214 != *pbStack_228)" ( (binary_expression "*(byte *)pwStack_214 != *pbStack_228" (pointer_expression "*(byte *)pwStack_214" * (cast_expression "(byte *)pwStack_214" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) != (pointer_expression "*pbStack_228" * identifier)) )) (goto_statement "goto LAB_000fbb0c;" goto statement_identifier ;))) (expression_statement "pwStack_214 = (word *)((int)pwStack_214 + 1);" (assignment_expression "pwStack_214 = (word *)((int)pwStack_214 + 1)" identifier = (cast_expression "(word *)((int)pwStack_214 + 1)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwStack_214 + 1)" ( (binary_expression "(int)pwStack_214 + 1" (cast_expression "(int)pwStack_214" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pbStack_228 = pbStack_228 + 1;" (assignment_expression "pbStack_228 = pbStack_228 + 1" identifier = (binary_expression "pbStack_228 + 1" identifier + number_literal)) ;) (expression_statement "pwStack_208 = (word *)((int)pwStack_208 + -1);" (assignment_expression "pwStack_208 = (word *)((int)pwStack_208 + -1)" identifier = (cast_expression "(word *)((int)pwStack_208 + -1)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwStack_208 + -1)" ( (binary_expression "(int)pwStack_208 + -1" (cast_expression "(int)pwStack_208" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }))) (expression_statement "iVar13 = *(int *)(pcStack_230 + -0x7fd4);" (assignment_expression "iVar13 = *(int *)(pcStack_230 + -0x7fd4)" identifier = (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) ))))) ;) (expression_statement "pcVar23 = pcStack_230;" (assignment_expression "pcVar23 = pcStack_230" identifier = identifier) ;) (if_statement "if (pwStack_208 == (word *)0x0) goto LAB_000fbbb4;" if (parenthesized_expression "(pwStack_208 == (word *)0x0)" ( (binary_expression "pwStack_208 == (word *)0x0" identifier == (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000fbbb4;" goto statement_identifier ;)) (goto_statement "goto LAB_000fc0a8;" goto statement_identifier ;) (labeled_statement "code_r0x000fbef4:\n  iVar13 = *(int *)(iStack_224 + -0x3fd4);" statement_identifier : (expression_statement "iVar13 = *(int *)(iStack_224 + -0x3fd4);" (assignment_expression "iVar13 = *(int *)(iStack_224 + -0x3fd4)" identifier = (pointer_expression "*(int *)(iStack_224 + -0x3fd4)" * (cast_expression "(int *)(iStack_224 + -0x3fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_224 + -0x3fd4)" ( (binary_expression "iStack_224 + -0x3fd4" identifier + number_literal) ))))) ;)) (expression_statement "pcVar23 = pcStack_230;" (assignment_expression "pcVar23 = pcStack_230" identifier = identifier) ;) (goto_statement "goto LAB_000fbb10;" goto statement_identifier ;) (labeled_statement "LAB_000fbbb0:\n  iVar13 = *(int *)(pcVar23 + -0x7fd4);" statement_identifier : (expression_statement "iVar13 = *(int *)(pcVar23 + -0x7fd4);" (assignment_expression "iVar13 = *(int *)(pcVar23 + -0x7fd4)" identifier = (pointer_expression "*(int *)(pcVar23 + -0x7fd4)" * (cast_expression "(int *)(pcVar23 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar23 + -0x7fd4)" ( (binary_expression "pcVar23 + -0x7fd4" identifier + number_literal) ))))) ;)) (labeled_statement "LAB_000fbbb4:\n  pcVar19 = *(char **)(iVar13 + -0x3fd8);" statement_identifier : (expression_statement "pcVar19 = *(char **)(iVar13 + -0x3fd8);" (assignment_expression "pcVar19 = *(char **)(iVar13 + -0x3fd8)" identifier = (pointer_expression "*(char **)(iVar13 + -0x3fd8)" * (cast_expression "(char **)(iVar13 + -0x3fd8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar13 + -0x3fd8)" ( (binary_expression "iVar13 + -0x3fd8" identifier + number_literal) ))))) ;)) (labeled_statement "LAB_000fbbb8:\n  if ((pcVar19 == (char *)0x0) ||\n     ((piVar9 = *(int **)(pcVar23 + -0x65a8), *pcVar19 == '.' &&\n      (piVar9 = *(int **)(pcVar23 + -0x65a8), pcVar19[1] == '\0')))) {\n    iVar5 = (**(code **)(pcVar23 + -0x60fc))(pwVar16);\n    uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);\n    pwVar14 = (word *)(**(code **)(pcStack_230 + -0x6074))(uVar7,pwVar16);\n  }\n  else {\n    if ((*piVar9 == 0) || (**(char **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0) != '~')) {\n      iVar13 = *(int *)(pcVar23 + -0x7fd4);\n      unaff_s3 = (word *)(**(code **)(pcVar23 + -0x60fc))(*(undefined4 *)(iVar13 + -0x3fe0));\n      iVar5 = (**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13);\n      pwVar14 = (word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2));\n      iVar5 = *(int *)(iVar13 + -0x3fe0);\n      (**(code **)(pcStack_230 + -0x6074))(pwVar14,iVar5);\n      unaff_s4 = (word *)((int)unaff_s3 + iVar5);\n      unaff_s5 = unaff_s3;\n      if (*(byte *)((int)unaff_s4 + -1) != 0x2f) {\n        unaff_s5 = (word *)((int)unaff_s3 + 1);\n        unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);\n        *(byte *)unaff_s3 = 0x2f;\n      }\n    }\n    else {\n      unaff_s3 = (word *)(**(code **)(pcVar23 + -0x60fc))();\n      iVar5 = (**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13);\n      pwVar14 = (word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2));\n      unaff_s4 = *(word **)(pcStack_230 + -0x7fd4);\n      (**(code **)(pcStack_230 + -0x6074))(pwVar14,*(undefined4 *)(unaff_s4 + -0x1fec));\n      unaff_s5 = unaff_s3;\n      if (*(byte *)((int)unaff_s3 + *(int *)(unaff_s4 + -0x1fec) + -1) != 0x2f) {\n        unaff_s5 = (word *)((int)unaff_s3 + 1);\n        unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);\n        *(byte *)unaff_s3 = 0x2f;\n        *(byte *)((int)pwVar14 + (int)unaff_s5) = 0;\n      }\n    }\n    (**(code **)(pcStack_230 + -0x6074))((byte *)((int)pwVar14 + (int)unaff_s5),pwVar16);\n  }" statement_identifier : (if_statement "if ((pcVar19 == (char *)0x0) ||\n     ((piVar9 = *(int **)(pcVar23 + -0x65a8), *pcVar19 == '.' &&\n      (piVar9 = *(int **)(pcVar23 + -0x65a8), pcVar19[1] == '\0')))) {\n    iVar5 = (**(code **)(pcVar23 + -0x60fc))(pwVar16);\n    uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);\n    pwVar14 = (word *)(**(code **)(pcStack_230 + -0x6074))(uVar7,pwVar16);\n  }\n  else {\n    if ((*piVar9 == 0) || (**(char **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0) != '~')) {\n      iVar13 = *(int *)(pcVar23 + -0x7fd4);\n      unaff_s3 = (word *)(**(code **)(pcVar23 + -0x60fc))(*(undefined4 *)(iVar13 + -0x3fe0));\n      iVar5 = (**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13);\n      pwVar14 = (word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2));\n      iVar5 = *(int *)(iVar13 + -0x3fe0);\n      (**(code **)(pcStack_230 + -0x6074))(pwVar14,iVar5);\n      unaff_s4 = (word *)((int)unaff_s3 + iVar5);\n      unaff_s5 = unaff_s3;\n      if (*(byte *)((int)unaff_s4 + -1) != 0x2f) {\n        unaff_s5 = (word *)((int)unaff_s3 + 1);\n        unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);\n        *(byte *)unaff_s3 = 0x2f;\n      }\n    }\n    else {\n      unaff_s3 = (word *)(**(code **)(pcVar23 + -0x60fc))();\n      iVar5 = (**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13);\n      pwVar14 = (word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2));\n      unaff_s4 = *(word **)(pcStack_230 + -0x7fd4);\n      (**(code **)(pcStack_230 + -0x6074))(pwVar14,*(undefined4 *)(unaff_s4 + -0x1fec));\n      unaff_s5 = unaff_s3;\n      if (*(byte *)((int)unaff_s3 + *(int *)(unaff_s4 + -0x1fec) + -1) != 0x2f) {\n        unaff_s5 = (word *)((int)unaff_s3 + 1);\n        unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);\n        *(byte *)unaff_s3 = 0x2f;\n        *(byte *)((int)pwVar14 + (int)unaff_s5) = 0;\n      }\n    }\n    (**(code **)(pcStack_230 + -0x6074))((byte *)((int)pwVar14 + (int)unaff_s5),pwVar16);\n  }" if (parenthesized_expression "((pcVar19 == (char *)0x0) ||\n     ((piVar9 = *(int **)(pcVar23 + -0x65a8), *pcVar19 == '.' &&\n      (piVar9 = *(int **)(pcVar23 + -0x65a8), pcVar19[1] == '\0'))))" ( (binary_expression "(pcVar19 == (char *)0x0) ||\n     ((piVar9 = *(int **)(pcVar23 + -0x65a8), *pcVar19 == '.' &&\n      (piVar9 = *(int **)(pcVar23 + -0x65a8), pcVar19[1] == '\0')))" (parenthesized_expression "(pcVar19 == (char *)0x0)" ( (binary_expression "pcVar19 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "((piVar9 = *(int **)(pcVar23 + -0x65a8), *pcVar19 == '.' &&\n      (piVar9 = *(int **)(pcVar23 + -0x65a8), pcVar19[1] == '\0')))" ( (parenthesized_expression "(piVar9 = *(int **)(pcVar23 + -0x65a8), *pcVar19 == '.' &&\n      (piVar9 = *(int **)(pcVar23 + -0x65a8), pcVar19[1] == '\0'))" ( (comma_expression "piVar9 = *(int **)(pcVar23 + -0x65a8), *pcVar19 == '.' &&\n      (piVar9 = *(int **)(pcVar23 + -0x65a8), pcVar19[1] == '\0')" (assignment_expression "piVar9 = *(int **)(pcVar23 + -0x65a8)" identifier = (pointer_expression "*(int **)(pcVar23 + -0x65a8)" * (cast_expression "(int **)(pcVar23 + -0x65a8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + -0x65a8)" ( (binary_expression "pcVar23 + -0x65a8" identifier + number_literal) ))))) , (binary_expression "*pcVar19 == '.' &&\n      (piVar9 = *(int **)(pcVar23 + -0x65a8), pcVar19[1] == '\0')" (binary_expression "*pcVar19 == '.'" (pointer_expression "*pcVar19" * identifier) == (char_literal "'.'" ' character ')) && (parenthesized_expression "(piVar9 = *(int **)(pcVar23 + -0x65a8), pcVar19[1] == '\0')" ( (comma_expression "piVar9 = *(int **)(pcVar23 + -0x65a8), pcVar19[1] == '\0'" (assignment_expression "piVar9 = *(int **)(pcVar23 + -0x65a8)" identifier = (pointer_expression "*(int **)(pcVar23 + -0x65a8)" * (cast_expression "(int **)(pcVar23 + -0x65a8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + -0x65a8)" ( (binary_expression "pcVar23 + -0x65a8" identifier + number_literal) ))))) , (binary_expression "pcVar19[1] == '\0'" (subscript_expression "pcVar19[1]" identifier [ number_literal ]) == (char_literal "'\0'" ' escape_sequence '))) )))) )) ))) )) (compound_statement "{\n    iVar5 = (**(code **)(pcVar23 + -0x60fc))(pwVar16);\n    uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);\n    pwVar14 = (word *)(**(code **)(pcStack_230 + -0x6074))(uVar7,pwVar16);\n  }" { (expression_statement "iVar5 = (**(code **)(pcVar23 + -0x60fc))(pwVar16);" (assignment_expression "iVar5 = (**(code **)(pcVar23 + -0x60fc))(pwVar16)" identifier = (call_expression "(**(code **)(pcVar23 + -0x60fc))(pwVar16)" (parenthesized_expression "(**(code **)(pcVar23 + -0x60fc))" ( (pointer_expression "**(code **)(pcVar23 + -0x60fc)" * (pointer_expression "*(code **)(pcVar23 + -0x60fc)" * (cast_expression "(code **)(pcVar23 + -0x60fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + -0x60fc)" ( (binary_expression "pcVar23 + -0x60fc" identifier + number_literal) ))))) )) (argument_list "(pwVar16)" ( identifier )))) ;) (expression_statement "uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);" (assignment_expression "uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1)" identifier = (call_expression "(**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x7f88))" ( (pointer_expression "**(code **)(pcStack_230 + -0x7f88)" * (pointer_expression "*(code **)(pcStack_230 + -0x7f88)" * (cast_expression "(code **)(pcStack_230 + -0x7f88)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x7f88)" ( (binary_expression "pcStack_230 + -0x7f88" identifier + number_literal) ))))) )) (argument_list "(iVar5 + 1)" ( (binary_expression "iVar5 + 1" identifier + number_literal) )))) ;) (expression_statement "pwVar14 = (word *)(**(code **)(pcStack_230 + -0x6074))(uVar7,pwVar16);" (assignment_expression "pwVar14 = (word *)(**(code **)(pcStack_230 + -0x6074))(uVar7,pwVar16)" identifier = (cast_expression "(word *)(**(code **)(pcStack_230 + -0x6074))(uVar7,pwVar16)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_230 + -0x6074))(uVar7,pwVar16)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x6074))" ( (pointer_expression "**(code **)(pcStack_230 + -0x6074)" * (pointer_expression "*(code **)(pcStack_230 + -0x6074)" * (cast_expression "(code **)(pcStack_230 + -0x6074)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6074)" ( (binary_expression "pcStack_230 + -0x6074" identifier + number_literal) ))))) )) (argument_list "(uVar7,pwVar16)" ( identifier , identifier ))))) ;) }) (else_clause "else {\n    if ((*piVar9 == 0) || (**(char **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0) != '~')) {\n      iVar13 = *(int *)(pcVar23 + -0x7fd4);\n      unaff_s3 = (word *)(**(code **)(pcVar23 + -0x60fc))(*(undefined4 *)(iVar13 + -0x3fe0));\n      iVar5 = (**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13);\n      pwVar14 = (word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2));\n      iVar5 = *(int *)(iVar13 + -0x3fe0);\n      (**(code **)(pcStack_230 + -0x6074))(pwVar14,iVar5);\n      unaff_s4 = (word *)((int)unaff_s3 + iVar5);\n      unaff_s5 = unaff_s3;\n      if (*(byte *)((int)unaff_s4 + -1) != 0x2f) {\n        unaff_s5 = (word *)((int)unaff_s3 + 1);\n        unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);\n        *(byte *)unaff_s3 = 0x2f;\n      }\n    }\n    else {\n      unaff_s3 = (word *)(**(code **)(pcVar23 + -0x60fc))();\n      iVar5 = (**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13);\n      pwVar14 = (word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2));\n      unaff_s4 = *(word **)(pcStack_230 + -0x7fd4);\n      (**(code **)(pcStack_230 + -0x6074))(pwVar14,*(undefined4 *)(unaff_s4 + -0x1fec));\n      unaff_s5 = unaff_s3;\n      if (*(byte *)((int)unaff_s3 + *(int *)(unaff_s4 + -0x1fec) + -1) != 0x2f) {\n        unaff_s5 = (word *)((int)unaff_s3 + 1);\n        unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);\n        *(byte *)unaff_s3 = 0x2f;\n        *(byte *)((int)pwVar14 + (int)unaff_s5) = 0;\n      }\n    }\n    (**(code **)(pcStack_230 + -0x6074))((byte *)((int)pwVar14 + (int)unaff_s5),pwVar16);\n  }" else (compound_statement "{\n    if ((*piVar9 == 0) || (**(char **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0) != '~')) {\n      iVar13 = *(int *)(pcVar23 + -0x7fd4);\n      unaff_s3 = (word *)(**(code **)(pcVar23 + -0x60fc))(*(undefined4 *)(iVar13 + -0x3fe0));\n      iVar5 = (**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13);\n      pwVar14 = (word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2));\n      iVar5 = *(int *)(iVar13 + -0x3fe0);\n      (**(code **)(pcStack_230 + -0x6074))(pwVar14,iVar5);\n      unaff_s4 = (word *)((int)unaff_s3 + iVar5);\n      unaff_s5 = unaff_s3;\n      if (*(byte *)((int)unaff_s4 + -1) != 0x2f) {\n        unaff_s5 = (word *)((int)unaff_s3 + 1);\n        unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);\n        *(byte *)unaff_s3 = 0x2f;\n      }\n    }\n    else {\n      unaff_s3 = (word *)(**(code **)(pcVar23 + -0x60fc))();\n      iVar5 = (**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13);\n      pwVar14 = (word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2));\n      unaff_s4 = *(word **)(pcStack_230 + -0x7fd4);\n      (**(code **)(pcStack_230 + -0x6074))(pwVar14,*(undefined4 *)(unaff_s4 + -0x1fec));\n      unaff_s5 = unaff_s3;\n      if (*(byte *)((int)unaff_s3 + *(int *)(unaff_s4 + -0x1fec) + -1) != 0x2f) {\n        unaff_s5 = (word *)((int)unaff_s3 + 1);\n        unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);\n        *(byte *)unaff_s3 = 0x2f;\n        *(byte *)((int)pwVar14 + (int)unaff_s5) = 0;\n      }\n    }\n    (**(code **)(pcStack_230 + -0x6074))((byte *)((int)pwVar14 + (int)unaff_s5),pwVar16);\n  }" { (if_statement "if ((*piVar9 == 0) || (**(char **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0) != '~')) {\n      iVar13 = *(int *)(pcVar23 + -0x7fd4);\n      unaff_s3 = (word *)(**(code **)(pcVar23 + -0x60fc))(*(undefined4 *)(iVar13 + -0x3fe0));\n      iVar5 = (**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13);\n      pwVar14 = (word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2));\n      iVar5 = *(int *)(iVar13 + -0x3fe0);\n      (**(code **)(pcStack_230 + -0x6074))(pwVar14,iVar5);\n      unaff_s4 = (word *)((int)unaff_s3 + iVar5);\n      unaff_s5 = unaff_s3;\n      if (*(byte *)((int)unaff_s4 + -1) != 0x2f) {\n        unaff_s5 = (word *)((int)unaff_s3 + 1);\n        unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);\n        *(byte *)unaff_s3 = 0x2f;\n      }\n    }\n    else {\n      unaff_s3 = (word *)(**(code **)(pcVar23 + -0x60fc))();\n      iVar5 = (**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13);\n      pwVar14 = (word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2));\n      unaff_s4 = *(word **)(pcStack_230 + -0x7fd4);\n      (**(code **)(pcStack_230 + -0x6074))(pwVar14,*(undefined4 *)(unaff_s4 + -0x1fec));\n      unaff_s5 = unaff_s3;\n      if (*(byte *)((int)unaff_s3 + *(int *)(unaff_s4 + -0x1fec) + -1) != 0x2f) {\n        unaff_s5 = (word *)((int)unaff_s3 + 1);\n        unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);\n        *(byte *)unaff_s3 = 0x2f;\n        *(byte *)((int)pwVar14 + (int)unaff_s5) = 0;\n      }\n    }" if (parenthesized_expression "((*piVar9 == 0) || (**(char **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0) != '~'))" ( (binary_expression "(*piVar9 == 0) || (**(char **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0) != '~')" (parenthesized_expression "(*piVar9 == 0)" ( (binary_expression "*piVar9 == 0" (pointer_expression "*piVar9" * identifier) == number_literal) )) || (parenthesized_expression "(**(char **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0) != '~')" ( (binary_expression "**(char **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0) != '~'" (pointer_expression "**(char **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0)" * (pointer_expression "*(char **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0)" * (cast_expression "(char **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0)" ( (binary_expression "*(int *)(pcVar23 + -0x7fd4) + -0x3fe0" (pointer_expression "*(int *)(pcVar23 + -0x7fd4)" * (cast_expression "(int *)(pcVar23 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar23 + -0x7fd4)" ( (binary_expression "pcVar23 + -0x7fd4" identifier + number_literal) )))) + number_literal) ))))) != (char_literal "'~'" ' character ')) ))) )) (compound_statement "{\n      iVar13 = *(int *)(pcVar23 + -0x7fd4);\n      unaff_s3 = (word *)(**(code **)(pcVar23 + -0x60fc))(*(undefined4 *)(iVar13 + -0x3fe0));\n      iVar5 = (**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13);\n      pwVar14 = (word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2));\n      iVar5 = *(int *)(iVar13 + -0x3fe0);\n      (**(code **)(pcStack_230 + -0x6074))(pwVar14,iVar5);\n      unaff_s4 = (word *)((int)unaff_s3 + iVar5);\n      unaff_s5 = unaff_s3;\n      if (*(byte *)((int)unaff_s4 + -1) != 0x2f) {\n        unaff_s5 = (word *)((int)unaff_s3 + 1);\n        unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);\n        *(byte *)unaff_s3 = 0x2f;\n      }\n    }" { (expression_statement "iVar13 = *(int *)(pcVar23 + -0x7fd4);" (assignment_expression "iVar13 = *(int *)(pcVar23 + -0x7fd4)" identifier = (pointer_expression "*(int *)(pcVar23 + -0x7fd4)" * (cast_expression "(int *)(pcVar23 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar23 + -0x7fd4)" ( (binary_expression "pcVar23 + -0x7fd4" identifier + number_literal) ))))) ;) (expression_statement "unaff_s3 = (word *)(**(code **)(pcVar23 + -0x60fc))(*(undefined4 *)(iVar13 + -0x3fe0));" (assignment_expression "unaff_s3 = (word *)(**(code **)(pcVar23 + -0x60fc))(*(undefined4 *)(iVar13 + -0x3fe0))" identifier = (cast_expression "(word *)(**(code **)(pcVar23 + -0x60fc))(*(undefined4 *)(iVar13 + -0x3fe0))" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar23 + -0x60fc))(*(undefined4 *)(iVar13 + -0x3fe0))" (parenthesized_expression "(**(code **)(pcVar23 + -0x60fc))" ( (pointer_expression "**(code **)(pcVar23 + -0x60fc)" * (pointer_expression "*(code **)(pcVar23 + -0x60fc)" * (cast_expression "(code **)(pcVar23 + -0x60fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + -0x60fc)" ( (binary_expression "pcVar23 + -0x60fc" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar13 + -0x3fe0))" ( (pointer_expression "*(undefined4 *)(iVar13 + -0x3fe0)" * (cast_expression "(undefined4 *)(iVar13 + -0x3fe0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + -0x3fe0)" ( (binary_expression "iVar13 + -0x3fe0" identifier + number_literal) )))) ))))) ;) (expression_statement "iVar5 = (**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13);" (assignment_expression "iVar5 = (**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13)" identifier = (call_expression "(**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x60fc))" ( (pointer_expression "**(code **)(pcStack_230 + -0x60fc)" * (pointer_expression "*(code **)(pcStack_230 + -0x60fc)" * (cast_expression "(code **)(pcStack_230 + -0x60fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x60fc)" ( (binary_expression "pcStack_230 + -0x60fc" identifier + number_literal) ))))) )) (argument_list "(iVar5 + 0x13)" ( (binary_expression "iVar5 + 0x13" identifier + number_literal) )))) ;) (expression_statement "pwVar14 = (word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2));" (assignment_expression "pwVar14 = (word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2))" identifier = (cast_expression "(word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2))" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2))" (parenthesized_expression "(**(code **)(pcStack_230 + -0x7f88))" ( (pointer_expression "**(code **)(pcStack_230 + -0x7f88)" * (pointer_expression "*(code **)(pcStack_230 + -0x7f88)" * (cast_expression "(code **)(pcStack_230 + -0x7f88)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x7f88)" ( (binary_expression "pcStack_230 + -0x7f88" identifier + number_literal) ))))) )) (argument_list "((byte *)((int)unaff_s3 + iVar5 + 2))" ( (cast_expression "(byte *)((int)unaff_s3 + iVar5 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s3 + iVar5 + 2)" ( (binary_expression "(int)unaff_s3 + iVar5 + 2" (binary_expression "(int)unaff_s3 + iVar5" (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) ))) ))))) ;) (expression_statement "iVar5 = *(int *)(iVar13 + -0x3fe0);" (assignment_expression "iVar5 = *(int *)(iVar13 + -0x3fe0)" identifier = (pointer_expression "*(int *)(iVar13 + -0x3fe0)" * (cast_expression "(int *)(iVar13 + -0x3fe0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + -0x3fe0)" ( (binary_expression "iVar13 + -0x3fe0" identifier + number_literal) ))))) ;) (expression_statement "(**(code **)(pcStack_230 + -0x6074))(pwVar14,iVar5);" (call_expression "(**(code **)(pcStack_230 + -0x6074))(pwVar14,iVar5)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x6074))" ( (pointer_expression "**(code **)(pcStack_230 + -0x6074)" * (pointer_expression "*(code **)(pcStack_230 + -0x6074)" * (cast_expression "(code **)(pcStack_230 + -0x6074)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6074)" ( (binary_expression "pcStack_230 + -0x6074" identifier + number_literal) ))))) )) (argument_list "(pwVar14,iVar5)" ( identifier , identifier ))) ;) (expression_statement "unaff_s4 = (word *)((int)unaff_s3 + iVar5);" (assignment_expression "unaff_s4 = (word *)((int)unaff_s3 + iVar5)" identifier = (cast_expression "(word *)((int)unaff_s3 + iVar5)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s3 + iVar5)" ( (binary_expression "(int)unaff_s3 + iVar5" (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "unaff_s5 = unaff_s3;" (assignment_expression "unaff_s5 = unaff_s3" identifier = identifier) ;) (if_statement "if (*(byte *)((int)unaff_s4 + -1) != 0x2f) {\n        unaff_s5 = (word *)((int)unaff_s3 + 1);\n        unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);\n        *(byte *)unaff_s3 = 0x2f;\n      }" if (parenthesized_expression "(*(byte *)((int)unaff_s4 + -1) != 0x2f)" ( (binary_expression "*(byte *)((int)unaff_s4 + -1) != 0x2f" (pointer_expression "*(byte *)((int)unaff_s4 + -1)" * (cast_expression "(byte *)((int)unaff_s4 + -1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s4 + -1)" ( (binary_expression "(int)unaff_s4 + -1" (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != number_literal) )) (compound_statement "{\n        unaff_s5 = (word *)((int)unaff_s3 + 1);\n        unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);\n        *(byte *)unaff_s3 = 0x2f;\n      }" { (expression_statement "unaff_s5 = (word *)((int)unaff_s3 + 1);" (assignment_expression "unaff_s5 = (word *)((int)unaff_s3 + 1)" identifier = (cast_expression "(word *)((int)unaff_s3 + 1)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s3 + 1)" ( (binary_expression "(int)unaff_s3 + 1" (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);" (assignment_expression "unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3)" identifier = (cast_expression "(word *)((int)pwVar14 + (int)unaff_s3)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwVar14 + (int)unaff_s3)" ( (binary_expression "(int)pwVar14 + (int)unaff_s3" (cast_expression "(int)pwVar14" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "*(byte *)unaff_s3 = 0x2f;" (assignment_expression "*(byte *)unaff_s3 = 0x2f" (pointer_expression "*(byte *)unaff_s3" * (cast_expression "(byte *)unaff_s3" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) })) }) (else_clause "else {\n      unaff_s3 = (word *)(**(code **)(pcVar23 + -0x60fc))();\n      iVar5 = (**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13);\n      pwVar14 = (word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2));\n      unaff_s4 = *(word **)(pcStack_230 + -0x7fd4);\n      (**(code **)(pcStack_230 + -0x6074))(pwVar14,*(undefined4 *)(unaff_s4 + -0x1fec));\n      unaff_s5 = unaff_s3;\n      if (*(byte *)((int)unaff_s3 + *(int *)(unaff_s4 + -0x1fec) + -1) != 0x2f) {\n        unaff_s5 = (word *)((int)unaff_s3 + 1);\n        unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);\n        *(byte *)unaff_s3 = 0x2f;\n        *(byte *)((int)pwVar14 + (int)unaff_s5) = 0;\n      }\n    }" else (compound_statement "{\n      unaff_s3 = (word *)(**(code **)(pcVar23 + -0x60fc))();\n      iVar5 = (**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13);\n      pwVar14 = (word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2));\n      unaff_s4 = *(word **)(pcStack_230 + -0x7fd4);\n      (**(code **)(pcStack_230 + -0x6074))(pwVar14,*(undefined4 *)(unaff_s4 + -0x1fec));\n      unaff_s5 = unaff_s3;\n      if (*(byte *)((int)unaff_s3 + *(int *)(unaff_s4 + -0x1fec) + -1) != 0x2f) {\n        unaff_s5 = (word *)((int)unaff_s3 + 1);\n        unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);\n        *(byte *)unaff_s3 = 0x2f;\n        *(byte *)((int)pwVar14 + (int)unaff_s5) = 0;\n      }\n    }" { (expression_statement "unaff_s3 = (word *)(**(code **)(pcVar23 + -0x60fc))();" (assignment_expression "unaff_s3 = (word *)(**(code **)(pcVar23 + -0x60fc))()" identifier = (cast_expression "(word *)(**(code **)(pcVar23 + -0x60fc))()" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar23 + -0x60fc))()" (parenthesized_expression "(**(code **)(pcVar23 + -0x60fc))" ( (pointer_expression "**(code **)(pcVar23 + -0x60fc)" * (pointer_expression "*(code **)(pcVar23 + -0x60fc)" * (cast_expression "(code **)(pcVar23 + -0x60fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + -0x60fc)" ( (binary_expression "pcVar23 + -0x60fc" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "iVar5 = (**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13);" (assignment_expression "iVar5 = (**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13)" identifier = (call_expression "(**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x60fc))" ( (pointer_expression "**(code **)(pcStack_230 + -0x60fc)" * (pointer_expression "*(code **)(pcStack_230 + -0x60fc)" * (cast_expression "(code **)(pcStack_230 + -0x60fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x60fc)" ( (binary_expression "pcStack_230 + -0x60fc" identifier + number_literal) ))))) )) (argument_list "(iVar5 + 0x13)" ( (binary_expression "iVar5 + 0x13" identifier + number_literal) )))) ;) (expression_statement "pwVar14 = (word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2));" (assignment_expression "pwVar14 = (word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2))" identifier = (cast_expression "(word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2))" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2))" (parenthesized_expression "(**(code **)(pcStack_230 + -0x7f88))" ( (pointer_expression "**(code **)(pcStack_230 + -0x7f88)" * (pointer_expression "*(code **)(pcStack_230 + -0x7f88)" * (cast_expression "(code **)(pcStack_230 + -0x7f88)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x7f88)" ( (binary_expression "pcStack_230 + -0x7f88" identifier + number_literal) ))))) )) (argument_list "((byte *)((int)unaff_s3 + iVar5 + 2))" ( (cast_expression "(byte *)((int)unaff_s3 + iVar5 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s3 + iVar5 + 2)" ( (binary_expression "(int)unaff_s3 + iVar5 + 2" (binary_expression "(int)unaff_s3 + iVar5" (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) ))) ))))) ;) (expression_statement "unaff_s4 = *(word **)(pcStack_230 + -0x7fd4);" (assignment_expression "unaff_s4 = *(word **)(pcStack_230 + -0x7fd4)" identifier = (pointer_expression "*(word **)(pcStack_230 + -0x7fd4)" * (cast_expression "(word **)(pcStack_230 + -0x7fd4)" ( (type_descriptor "word **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) ))))) ;) (expression_statement "(**(code **)(pcStack_230 + -0x6074))(pwVar14,*(undefined4 *)(unaff_s4 + -0x1fec));" (call_expression "(**(code **)(pcStack_230 + -0x6074))(pwVar14,*(undefined4 *)(unaff_s4 + -0x1fec))" (parenthesized_expression "(**(code **)(pcStack_230 + -0x6074))" ( (pointer_expression "**(code **)(pcStack_230 + -0x6074)" * (pointer_expression "*(code **)(pcStack_230 + -0x6074)" * (cast_expression "(code **)(pcStack_230 + -0x6074)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6074)" ( (binary_expression "pcStack_230 + -0x6074" identifier + number_literal) ))))) )) (argument_list "(pwVar14,*(undefined4 *)(unaff_s4 + -0x1fec))" ( identifier , (pointer_expression "*(undefined4 *)(unaff_s4 + -0x1fec)" * (cast_expression "(undefined4 *)(unaff_s4 + -0x1fec)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s4 + -0x1fec)" ( (binary_expression "unaff_s4 + -0x1fec" identifier + number_literal) )))) ))) ;) (expression_statement "unaff_s5 = unaff_s3;" (assignment_expression "unaff_s5 = unaff_s3" identifier = identifier) ;) (if_statement "if (*(byte *)((int)unaff_s3 + *(int *)(unaff_s4 + -0x1fec) + -1) != 0x2f) {\n        unaff_s5 = (word *)((int)unaff_s3 + 1);\n        unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);\n        *(byte *)unaff_s3 = 0x2f;\n        *(byte *)((int)pwVar14 + (int)unaff_s5) = 0;\n      }" if (parenthesized_expression "(*(byte *)((int)unaff_s3 + *(int *)(unaff_s4 + -0x1fec) + -1) != 0x2f)" ( (binary_expression "*(byte *)((int)unaff_s3 + *(int *)(unaff_s4 + -0x1fec) + -1) != 0x2f" (pointer_expression "*(byte *)((int)unaff_s3 + *(int *)(unaff_s4 + -0x1fec) + -1)" * (cast_expression "(byte *)((int)unaff_s3 + *(int *)(unaff_s4 + -0x1fec) + -1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s3 + *(int *)(unaff_s4 + -0x1fec) + -1)" ( (binary_expression "(int)unaff_s3 + *(int *)(unaff_s4 + -0x1fec) + -1" (binary_expression "(int)unaff_s3 + *(int *)(unaff_s4 + -0x1fec)" (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier) + (pointer_expression "*(int *)(unaff_s4 + -0x1fec)" * (cast_expression "(int *)(unaff_s4 + -0x1fec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s4 + -0x1fec)" ( (binary_expression "unaff_s4 + -0x1fec" identifier + number_literal) ))))) + number_literal) )))) != number_literal) )) (compound_statement "{\n        unaff_s5 = (word *)((int)unaff_s3 + 1);\n        unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);\n        *(byte *)unaff_s3 = 0x2f;\n        *(byte *)((int)pwVar14 + (int)unaff_s5) = 0;\n      }" { (expression_statement "unaff_s5 = (word *)((int)unaff_s3 + 1);" (assignment_expression "unaff_s5 = (word *)((int)unaff_s3 + 1)" identifier = (cast_expression "(word *)((int)unaff_s3 + 1)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s3 + 1)" ( (binary_expression "(int)unaff_s3 + 1" (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);" (assignment_expression "unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3)" identifier = (cast_expression "(word *)((int)pwVar14 + (int)unaff_s3)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwVar14 + (int)unaff_s3)" ( (binary_expression "(int)pwVar14 + (int)unaff_s3" (cast_expression "(int)pwVar14" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "*(byte *)unaff_s3 = 0x2f;" (assignment_expression "*(byte *)unaff_s3 = 0x2f" (pointer_expression "*(byte *)unaff_s3" * (cast_expression "(byte *)unaff_s3" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (expression_statement "*(byte *)((int)pwVar14 + (int)unaff_s5) = 0;" (assignment_expression "*(byte *)((int)pwVar14 + (int)unaff_s5) = 0" (pointer_expression "*(byte *)((int)pwVar14 + (int)unaff_s5)" * (cast_expression "(byte *)((int)pwVar14 + (int)unaff_s5)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwVar14 + (int)unaff_s5)" ( (binary_expression "(int)pwVar14 + (int)unaff_s5" (cast_expression "(int)pwVar14" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)unaff_s5" ( (type_descriptor "int" primitive_type) ) identifier)) )))) = number_literal) ;) })) }))) (expression_statement "(**(code **)(pcStack_230 + -0x6074))((byte *)((int)pwVar14 + (int)unaff_s5),pwVar16);" (call_expression "(**(code **)(pcStack_230 + -0x6074))((byte *)((int)pwVar14 + (int)unaff_s5),pwVar16)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x6074))" ( (pointer_expression "**(code **)(pcStack_230 + -0x6074)" * (pointer_expression "*(code **)(pcStack_230 + -0x6074)" * (cast_expression "(code **)(pcStack_230 + -0x6074)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6074)" ( (binary_expression "pcStack_230 + -0x6074" identifier + number_literal) ))))) )) (argument_list "((byte *)((int)pwVar14 + (int)unaff_s5),pwVar16)" ( (cast_expression "(byte *)((int)pwVar14 + (int)unaff_s5)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwVar14 + (int)unaff_s5)" ( (binary_expression "(int)pwVar14 + (int)unaff_s5" (cast_expression "(int)pwVar14" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)unaff_s5" ( (type_descriptor "int" primitive_type) ) identifier)) ))) , identifier ))) ;) })))) (expression_statement "pcVar23 = pcStack_230;" (assignment_expression "pcVar23 = pcStack_230" identifier = identifier) ;) (if_statement "if (pwVar18 != pwVar16) {\n    (**(code **)(pcStack_230 + -0x798c))(pwVar16);\n    pcVar23 = pcStack_230;\n  }" if (parenthesized_expression "(pwVar18 != pwVar16)" ( (binary_expression "pwVar18 != pwVar16" identifier != identifier) )) (compound_statement "{\n    (**(code **)(pcStack_230 + -0x798c))(pwVar16);\n    pcVar23 = pcStack_230;\n  }" { (expression_statement "(**(code **)(pcStack_230 + -0x798c))(pwVar16);" (call_expression "(**(code **)(pcStack_230 + -0x798c))(pwVar16)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x798c))" ( (pointer_expression "**(code **)(pcStack_230 + -0x798c)" * (pointer_expression "*(code **)(pcStack_230 + -0x798c)" * (cast_expression "(code **)(pcStack_230 + -0x798c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x798c)" ( (binary_expression "pcStack_230 + -0x798c" identifier + number_literal) ))))) )) (argument_list "(pwVar16)" ( identifier ))) ;) (expression_statement "pcVar23 = pcStack_230;" (assignment_expression "pcVar23 = pcStack_230" identifier = identifier) ;) })) (labeled_statement "LAB_000fbca4:\n  if (iStack_1e4 == **(int **)(pcVar23 + -0x5fb4)) {\n    return pwVar14;\n  }" statement_identifier : (if_statement "if (iStack_1e4 == **(int **)(pcVar23 + -0x5fb4)) {\n    return pwVar14;\n  }" if (parenthesized_expression "(iStack_1e4 == **(int **)(pcVar23 + -0x5fb4))" ( (binary_expression "iStack_1e4 == **(int **)(pcVar23 + -0x5fb4)" identifier == (pointer_expression "**(int **)(pcVar23 + -0x5fb4)" * (pointer_expression "*(int **)(pcVar23 + -0x5fb4)" * (cast_expression "(int **)(pcVar23 + -0x5fb4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + -0x5fb4)" ( (binary_expression "pcVar23 + -0x5fb4" identifier + number_literal) )))))) )) (compound_statement "{\n    return pwVar14;\n  }" { (return_statement "return pwVar14;" return identifier ;) }))) (expression_statement "pcVar23 = *(code **)(pcVar23 + -0x6004);" (assignment_expression "pcVar23 = *(code **)(pcVar23 + -0x6004)" identifier = (pointer_expression "*(code **)(pcVar23 + -0x6004)" * (cast_expression "(code **)(pcVar23 + -0x6004)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + -0x6004)" ( (binary_expression "pcVar23 + -0x6004" identifier + number_literal) ))))) ;) (expression_statement "pcVar25 = FUN_000fc42c;" (assignment_expression "pcVar25 = FUN_000fc42c" identifier = identifier) ;) (expression_statement "iVar5 = iStack_1e4;" (assignment_expression "iVar5 = iStack_1e4" identifier = identifier) ;) (expression_statement "(*pcVar23)();" (call_expression "(*pcVar23)()" (parenthesized_expression "(*pcVar23)" ( (pointer_expression "*pcVar23" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_280 = pcVar23 + 0x62114;" (assignment_expression "pcStack_280 = pcVar23 + 0x62114" identifier = (binary_expression "pcVar23 + 0x62114" identifier + number_literal)) ;) (expression_statement "aiStack_278[3] = **(int **)(pcVar23 + 0x5c160);" (assignment_expression "aiStack_278[3] = **(int **)(pcVar23 + 0x5c160)" (subscript_expression "aiStack_278[3]" identifier [ number_literal ]) = (pointer_expression "**(int **)(pcVar23 + 0x5c160)" * (pointer_expression "*(int **)(pcVar23 + 0x5c160)" * (cast_expression "(int **)(pcVar23 + 0x5c160)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5c160)" ( (binary_expression "pcVar23 + 0x5c160" identifier + number_literal) )))))) ;) (expression_statement "pwStack_268 = pwVar16;" (assignment_expression "pwStack_268 = pwVar16" identifier = identifier) ;) (expression_statement "pwStack_264 = pwVar18;" (assignment_expression "pwStack_264 = pwVar18" identifier = identifier) ;) (expression_statement "pwStack_260 = pwVar14;" (assignment_expression "pwStack_260 = pwVar14" identifier = identifier) ;) (expression_statement "pwStack_25c = unaff_s3;" (assignment_expression "pwStack_25c = unaff_s3" identifier = identifier) ;) (expression_statement "pwStack_258 = unaff_s4;" (assignment_expression "pwStack_258 = unaff_s4" identifier = identifier) ;) (expression_statement "pwStack_254 = unaff_s5;" (assignment_expression "pwStack_254 = unaff_s5" identifier = identifier) ;) (expression_statement "pwStack_250 = unaff_s6;" (assignment_expression "pwStack_250 = unaff_s6" identifier = identifier) ;) (expression_statement "pwStack_24c = unaff_s7;" (assignment_expression "pwStack_24c = unaff_s7" identifier = identifier) ;) (expression_statement "ppbStack_248 = unaff_s8;" (assignment_expression "ppbStack_248 = unaff_s8" identifier = identifier) ;) (expression_statement "pcStack_244 = pcVar25;" (assignment_expression "pcStack_244 = pcVar25" identifier = identifier) ;) (expression_statement "iVar10 = (**(code **)(pcVar23 + 0x5c018))();" (assignment_expression "iVar10 = (**(code **)(pcVar23 + 0x5c018))()" identifier = (call_expression "(**(code **)(pcVar23 + 0x5c018))()" (parenthesized_expression "(**(code **)(pcVar23 + 0x5c018))" ( (pointer_expression "**(code **)(pcVar23 + 0x5c018)" * (pointer_expression "*(code **)(pcVar23 + 0x5c018)" * (cast_expression "(code **)(pcVar23 + 0x5c018)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5c018)" ( (binary_expression "pcVar23 + 0x5c018" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "aiStack_278[1] = 0;" (assignment_expression "aiStack_278[1] = 0" (subscript_expression "aiStack_278[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "aiStack_278[2] = 0;" (assignment_expression "aiStack_278[2] = 0" (subscript_expression "aiStack_278[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pwVar16 = (word *)0x0;" (assignment_expression "pwVar16 = (word *)0x0" identifier = (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar13 = 0;" (assignment_expression "iVar13 = 0" identifier = number_literal) ;) (expression_statement "pcVar23 = pcStack_280;" (assignment_expression "pcVar23 = pcStack_280" identifier = identifier) ;) (while_statement "while( true ) {\n    pwVar14 = (word *)(iVar5 + iVar13);\n    bVar2 = *(byte *)pwVar14;\n    iVar17 = iVar13;\n    if (bVar2 == 0) break;\n    if ((bVar2 < 0x20) || (bVar2 == 0x7f)) {\n      pwVar16 = pwVar16 + 1;\n      iVar13 = iVar13 + 1;\n    }\n    else {\n      pwVar15 = (word *)((iVar10 + 1) - iVar13);\n      iVar11 = (**(code **)(pcVar23 + -0x6084))(aiStack_278,pwVar14,pwVar15,aiStack_278 + 1);\n      pcVar23 = pcStack_280;\n      if (iVar11 + 2U < 2) {\n        pwVar16 = (word *)((int)pwVar16 + 1);\n        iVar13 = iVar13 + 1;\n        aiStack_278[1] = 0;\n        aiStack_278[2] = 0;\n      }\n      else {\n        iVar17 = iVar13 + iVar11;\n        if (iVar11 == 0) break;\n        if (aiStack_278[0] < 0x40) {\n          iVar13 = 1;\n          if (aiStack_278[0] < 0x25) {\n            if (3 < aiStack_278[0] - 0x20U) {\n              pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n              goto LAB_000fc594;\n            }\n            iVar13 = 1;\n          }\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n          if (aiStack_278[0] < 0x41) {\nLAB_000fc594:\n            iVar13 = (*pcVar23)();\n          }\n          else {\n            iVar13 = 1;\n            if (0x5f < aiStack_278[0]) {\n              if (0x1d < aiStack_278[0] - 0x61U) goto LAB_000fc594;\n              iVar13 = 1;\n            }\n          }\n        }\n        if (iVar13 < 0) {\n          iVar13 = 1;\n        }\n        pwVar16 = (word *)((int)pwVar16 + iVar13);\n        iVar13 = iVar17;\n        pcVar23 = pcStack_280;\n      }\n    }\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    pwVar14 = (word *)(iVar5 + iVar13);\n    bVar2 = *(byte *)pwVar14;\n    iVar17 = iVar13;\n    if (bVar2 == 0) break;\n    if ((bVar2 < 0x20) || (bVar2 == 0x7f)) {\n      pwVar16 = pwVar16 + 1;\n      iVar13 = iVar13 + 1;\n    }\n    else {\n      pwVar15 = (word *)((iVar10 + 1) - iVar13);\n      iVar11 = (**(code **)(pcVar23 + -0x6084))(aiStack_278,pwVar14,pwVar15,aiStack_278 + 1);\n      pcVar23 = pcStack_280;\n      if (iVar11 + 2U < 2) {\n        pwVar16 = (word *)((int)pwVar16 + 1);\n        iVar13 = iVar13 + 1;\n        aiStack_278[1] = 0;\n        aiStack_278[2] = 0;\n      }\n      else {\n        iVar17 = iVar13 + iVar11;\n        if (iVar11 == 0) break;\n        if (aiStack_278[0] < 0x40) {\n          iVar13 = 1;\n          if (aiStack_278[0] < 0x25) {\n            if (3 < aiStack_278[0] - 0x20U) {\n              pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n              goto LAB_000fc594;\n            }\n            iVar13 = 1;\n          }\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n          if (aiStack_278[0] < 0x41) {\nLAB_000fc594:\n            iVar13 = (*pcVar23)();\n          }\n          else {\n            iVar13 = 1;\n            if (0x5f < aiStack_278[0]) {\n              if (0x1d < aiStack_278[0] - 0x61U) goto LAB_000fc594;\n              iVar13 = 1;\n            }\n          }\n        }\n        if (iVar13 < 0) {\n          iVar13 = 1;\n        }\n        pwVar16 = (word *)((int)pwVar16 + iVar13);\n        iVar13 = iVar17;\n        pcVar23 = pcStack_280;\n      }\n    }\n  }" { (expression_statement "pwVar14 = (word *)(iVar5 + iVar13);" (assignment_expression "pwVar14 = (word *)(iVar5 + iVar13)" identifier = (cast_expression "(word *)(iVar5 + iVar13)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + iVar13)" ( (binary_expression "iVar5 + iVar13" identifier + identifier) )))) ;) (expression_statement "bVar2 = *(byte *)pwVar14;" (assignment_expression "bVar2 = *(byte *)pwVar14" identifier = (pointer_expression "*(byte *)pwVar14" * (cast_expression "(byte *)pwVar14" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "iVar17 = iVar13;" (assignment_expression "iVar17 = iVar13" identifier = identifier) ;) (if_statement "if (bVar2 == 0) break;" if (parenthesized_expression "(bVar2 == 0)" ( (binary_expression "bVar2 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (if_statement "if ((bVar2 < 0x20) || (bVar2 == 0x7f)) {\n      pwVar16 = pwVar16 + 1;\n      iVar13 = iVar13 + 1;\n    }\n    else {\n      pwVar15 = (word *)((iVar10 + 1) - iVar13);\n      iVar11 = (**(code **)(pcVar23 + -0x6084))(aiStack_278,pwVar14,pwVar15,aiStack_278 + 1);\n      pcVar23 = pcStack_280;\n      if (iVar11 + 2U < 2) {\n        pwVar16 = (word *)((int)pwVar16 + 1);\n        iVar13 = iVar13 + 1;\n        aiStack_278[1] = 0;\n        aiStack_278[2] = 0;\n      }\n      else {\n        iVar17 = iVar13 + iVar11;\n        if (iVar11 == 0) break;\n        if (aiStack_278[0] < 0x40) {\n          iVar13 = 1;\n          if (aiStack_278[0] < 0x25) {\n            if (3 < aiStack_278[0] - 0x20U) {\n              pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n              goto LAB_000fc594;\n            }\n            iVar13 = 1;\n          }\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n          if (aiStack_278[0] < 0x41) {\nLAB_000fc594:\n            iVar13 = (*pcVar23)();\n          }\n          else {\n            iVar13 = 1;\n            if (0x5f < aiStack_278[0]) {\n              if (0x1d < aiStack_278[0] - 0x61U) goto LAB_000fc594;\n              iVar13 = 1;\n            }\n          }\n        }\n        if (iVar13 < 0) {\n          iVar13 = 1;\n        }\n        pwVar16 = (word *)((int)pwVar16 + iVar13);\n        iVar13 = iVar17;\n        pcVar23 = pcStack_280;\n      }\n    }" if (parenthesized_expression "((bVar2 < 0x20) || (bVar2 == 0x7f))" ( (binary_expression "(bVar2 < 0x20) || (bVar2 == 0x7f)" (parenthesized_expression "(bVar2 < 0x20)" ( (binary_expression "bVar2 < 0x20" identifier < number_literal) )) || (parenthesized_expression "(bVar2 == 0x7f)" ( (binary_expression "bVar2 == 0x7f" identifier == number_literal) ))) )) (compound_statement "{\n      pwVar16 = pwVar16 + 1;\n      iVar13 = iVar13 + 1;\n    }" { (expression_statement "pwVar16 = pwVar16 + 1;" (assignment_expression "pwVar16 = pwVar16 + 1" identifier = (binary_expression "pwVar16 + 1" identifier + number_literal)) ;) (expression_statement "iVar13 = iVar13 + 1;" (assignment_expression "iVar13 = iVar13 + 1" identifier = (binary_expression "iVar13 + 1" identifier + number_literal)) ;) }) (else_clause "else {\n      pwVar15 = (word *)((iVar10 + 1) - iVar13);\n      iVar11 = (**(code **)(pcVar23 + -0x6084))(aiStack_278,pwVar14,pwVar15,aiStack_278 + 1);\n      pcVar23 = pcStack_280;\n      if (iVar11 + 2U < 2) {\n        pwVar16 = (word *)((int)pwVar16 + 1);\n        iVar13 = iVar13 + 1;\n        aiStack_278[1] = 0;\n        aiStack_278[2] = 0;\n      }\n      else {\n        iVar17 = iVar13 + iVar11;\n        if (iVar11 == 0) break;\n        if (aiStack_278[0] < 0x40) {\n          iVar13 = 1;\n          if (aiStack_278[0] < 0x25) {\n            if (3 < aiStack_278[0] - 0x20U) {\n              pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n              goto LAB_000fc594;\n            }\n            iVar13 = 1;\n          }\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n          if (aiStack_278[0] < 0x41) {\nLAB_000fc594:\n            iVar13 = (*pcVar23)();\n          }\n          else {\n            iVar13 = 1;\n            if (0x5f < aiStack_278[0]) {\n              if (0x1d < aiStack_278[0] - 0x61U) goto LAB_000fc594;\n              iVar13 = 1;\n            }\n          }\n        }\n        if (iVar13 < 0) {\n          iVar13 = 1;\n        }\n        pwVar16 = (word *)((int)pwVar16 + iVar13);\n        iVar13 = iVar17;\n        pcVar23 = pcStack_280;\n      }\n    }" else (compound_statement "{\n      pwVar15 = (word *)((iVar10 + 1) - iVar13);\n      iVar11 = (**(code **)(pcVar23 + -0x6084))(aiStack_278,pwVar14,pwVar15,aiStack_278 + 1);\n      pcVar23 = pcStack_280;\n      if (iVar11 + 2U < 2) {\n        pwVar16 = (word *)((int)pwVar16 + 1);\n        iVar13 = iVar13 + 1;\n        aiStack_278[1] = 0;\n        aiStack_278[2] = 0;\n      }\n      else {\n        iVar17 = iVar13 + iVar11;\n        if (iVar11 == 0) break;\n        if (aiStack_278[0] < 0x40) {\n          iVar13 = 1;\n          if (aiStack_278[0] < 0x25) {\n            if (3 < aiStack_278[0] - 0x20U) {\n              pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n              goto LAB_000fc594;\n            }\n            iVar13 = 1;\n          }\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n          if (aiStack_278[0] < 0x41) {\nLAB_000fc594:\n            iVar13 = (*pcVar23)();\n          }\n          else {\n            iVar13 = 1;\n            if (0x5f < aiStack_278[0]) {\n              if (0x1d < aiStack_278[0] - 0x61U) goto LAB_000fc594;\n              iVar13 = 1;\n            }\n          }\n        }\n        if (iVar13 < 0) {\n          iVar13 = 1;\n        }\n        pwVar16 = (word *)((int)pwVar16 + iVar13);\n        iVar13 = iVar17;\n        pcVar23 = pcStack_280;\n      }\n    }" { (expression_statement "pwVar15 = (word *)((iVar10 + 1) - iVar13);" (assignment_expression "pwVar15 = (word *)((iVar10 + 1) - iVar13)" identifier = (cast_expression "(word *)((iVar10 + 1) - iVar13)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((iVar10 + 1) - iVar13)" ( (binary_expression "(iVar10 + 1) - iVar13" (parenthesized_expression "(iVar10 + 1)" ( (binary_expression "iVar10 + 1" identifier + number_literal) )) - identifier) )))) ;) (expression_statement "iVar11 = (**(code **)(pcVar23 + -0x6084))(aiStack_278,pwVar14,pwVar15,aiStack_278 + 1);" (assignment_expression "iVar11 = (**(code **)(pcVar23 + -0x6084))(aiStack_278,pwVar14,pwVar15,aiStack_278 + 1)" identifier = (call_expression "(**(code **)(pcVar23 + -0x6084))(aiStack_278,pwVar14,pwVar15,aiStack_278 + 1)" (parenthesized_expression "(**(code **)(pcVar23 + -0x6084))" ( (pointer_expression "**(code **)(pcVar23 + -0x6084)" * (pointer_expression "*(code **)(pcVar23 + -0x6084)" * (cast_expression "(code **)(pcVar23 + -0x6084)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + -0x6084)" ( (binary_expression "pcVar23 + -0x6084" identifier + number_literal) ))))) )) (argument_list "(aiStack_278,pwVar14,pwVar15,aiStack_278 + 1)" ( identifier , identifier , identifier , (binary_expression "aiStack_278 + 1" identifier + number_literal) )))) ;) (expression_statement "pcVar23 = pcStack_280;" (assignment_expression "pcVar23 = pcStack_280" identifier = identifier) ;) (if_statement "if (iVar11 + 2U < 2) {\n        pwVar16 = (word *)((int)pwVar16 + 1);\n        iVar13 = iVar13 + 1;\n        aiStack_278[1] = 0;\n        aiStack_278[2] = 0;\n      }\n      else {\n        iVar17 = iVar13 + iVar11;\n        if (iVar11 == 0) break;\n        if (aiStack_278[0] < 0x40) {\n          iVar13 = 1;\n          if (aiStack_278[0] < 0x25) {\n            if (3 < aiStack_278[0] - 0x20U) {\n              pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n              goto LAB_000fc594;\n            }\n            iVar13 = 1;\n          }\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n          if (aiStack_278[0] < 0x41) {\nLAB_000fc594:\n            iVar13 = (*pcVar23)();\n          }\n          else {\n            iVar13 = 1;\n            if (0x5f < aiStack_278[0]) {\n              if (0x1d < aiStack_278[0] - 0x61U) goto LAB_000fc594;\n              iVar13 = 1;\n            }\n          }\n        }\n        if (iVar13 < 0) {\n          iVar13 = 1;\n        }\n        pwVar16 = (word *)((int)pwVar16 + iVar13);\n        iVar13 = iVar17;\n        pcVar23 = pcStack_280;\n      }" if (parenthesized_expression "(iVar11 + 2U < 2)" ( (binary_expression "iVar11 + 2U < 2" (binary_expression "iVar11 + 2U" identifier + number_literal) < number_literal) )) (compound_statement "{\n        pwVar16 = (word *)((int)pwVar16 + 1);\n        iVar13 = iVar13 + 1;\n        aiStack_278[1] = 0;\n        aiStack_278[2] = 0;\n      }" { (expression_statement "pwVar16 = (word *)((int)pwVar16 + 1);" (assignment_expression "pwVar16 = (word *)((int)pwVar16 + 1)" identifier = (cast_expression "(word *)((int)pwVar16 + 1)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwVar16 + 1)" ( (binary_expression "(int)pwVar16 + 1" (cast_expression "(int)pwVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "iVar13 = iVar13 + 1;" (assignment_expression "iVar13 = iVar13 + 1" identifier = (binary_expression "iVar13 + 1" identifier + number_literal)) ;) (expression_statement "aiStack_278[1] = 0;" (assignment_expression "aiStack_278[1] = 0" (subscript_expression "aiStack_278[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "aiStack_278[2] = 0;" (assignment_expression "aiStack_278[2] = 0" (subscript_expression "aiStack_278[2]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n        iVar17 = iVar13 + iVar11;\n        if (iVar11 == 0) break;\n        if (aiStack_278[0] < 0x40) {\n          iVar13 = 1;\n          if (aiStack_278[0] < 0x25) {\n            if (3 < aiStack_278[0] - 0x20U) {\n              pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n              goto LAB_000fc594;\n            }\n            iVar13 = 1;\n          }\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n          if (aiStack_278[0] < 0x41) {\nLAB_000fc594:\n            iVar13 = (*pcVar23)();\n          }\n          else {\n            iVar13 = 1;\n            if (0x5f < aiStack_278[0]) {\n              if (0x1d < aiStack_278[0] - 0x61U) goto LAB_000fc594;\n              iVar13 = 1;\n            }\n          }\n        }\n        if (iVar13 < 0) {\n          iVar13 = 1;\n        }\n        pwVar16 = (word *)((int)pwVar16 + iVar13);\n        iVar13 = iVar17;\n        pcVar23 = pcStack_280;\n      }" else (compound_statement "{\n        iVar17 = iVar13 + iVar11;\n        if (iVar11 == 0) break;\n        if (aiStack_278[0] < 0x40) {\n          iVar13 = 1;\n          if (aiStack_278[0] < 0x25) {\n            if (3 < aiStack_278[0] - 0x20U) {\n              pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n              goto LAB_000fc594;\n            }\n            iVar13 = 1;\n          }\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n          if (aiStack_278[0] < 0x41) {\nLAB_000fc594:\n            iVar13 = (*pcVar23)();\n          }\n          else {\n            iVar13 = 1;\n            if (0x5f < aiStack_278[0]) {\n              if (0x1d < aiStack_278[0] - 0x61U) goto LAB_000fc594;\n              iVar13 = 1;\n            }\n          }\n        }\n        if (iVar13 < 0) {\n          iVar13 = 1;\n        }\n        pwVar16 = (word *)((int)pwVar16 + iVar13);\n        iVar13 = iVar17;\n        pcVar23 = pcStack_280;\n      }" { (expression_statement "iVar17 = iVar13 + iVar11;" (assignment_expression "iVar17 = iVar13 + iVar11" identifier = (binary_expression "iVar13 + iVar11" identifier + identifier)) ;) (if_statement "if (iVar11 == 0) break;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (if_statement "if (aiStack_278[0] < 0x40) {\n          iVar13 = 1;\n          if (aiStack_278[0] < 0x25) {\n            if (3 < aiStack_278[0] - 0x20U) {\n              pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n              goto LAB_000fc594;\n            }\n            iVar13 = 1;\n          }\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n          if (aiStack_278[0] < 0x41) {\nLAB_000fc594:\n            iVar13 = (*pcVar23)();\n          }\n          else {\n            iVar13 = 1;\n            if (0x5f < aiStack_278[0]) {\n              if (0x1d < aiStack_278[0] - 0x61U) goto LAB_000fc594;\n              iVar13 = 1;\n            }\n          }\n        }" if (parenthesized_expression "(aiStack_278[0] < 0x40)" ( (binary_expression "aiStack_278[0] < 0x40" (subscript_expression "aiStack_278[0]" identifier [ number_literal ]) < number_literal) )) (compound_statement "{\n          iVar13 = 1;\n          if (aiStack_278[0] < 0x25) {\n            if (3 < aiStack_278[0] - 0x20U) {\n              pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n              goto LAB_000fc594;\n            }\n            iVar13 = 1;\n          }\n        }" { (expression_statement "iVar13 = 1;" (assignment_expression "iVar13 = 1" identifier = number_literal) ;) (if_statement "if (aiStack_278[0] < 0x25) {\n            if (3 < aiStack_278[0] - 0x20U) {\n              pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n              goto LAB_000fc594;\n            }\n            iVar13 = 1;\n          }" if (parenthesized_expression "(aiStack_278[0] < 0x25)" ( (binary_expression "aiStack_278[0] < 0x25" (subscript_expression "aiStack_278[0]" identifier [ number_literal ]) < number_literal) )) (compound_statement "{\n            if (3 < aiStack_278[0] - 0x20U) {\n              pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n              goto LAB_000fc594;\n            }\n            iVar13 = 1;\n          }" { (if_statement "if (3 < aiStack_278[0] - 0x20U) {\n              pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n              goto LAB_000fc594;\n            }" if (parenthesized_expression "(3 < aiStack_278[0] - 0x20U)" ( (binary_expression "3 < aiStack_278[0] - 0x20U" number_literal < (binary_expression "aiStack_278[0] - 0x20U" (subscript_expression "aiStack_278[0]" identifier [ number_literal ]) - number_literal)) )) (compound_statement "{\n              pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n              goto LAB_000fc594;\n            }" { (expression_statement "pcVar23 = *(code **)(pcStack_280 + -0x5f84);" (assignment_expression "pcVar23 = *(code **)(pcStack_280 + -0x5f84)" identifier = (pointer_expression "*(code **)(pcStack_280 + -0x5f84)" * (cast_expression "(code **)(pcStack_280 + -0x5f84)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_280 + -0x5f84)" ( (binary_expression "pcStack_280 + -0x5f84" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_000fc594;" goto statement_identifier ;) })) (expression_statement "iVar13 = 1;" (assignment_expression "iVar13 = 1" identifier = number_literal) ;) })) }) (else_clause "else {\n          pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n          if (aiStack_278[0] < 0x41) {\nLAB_000fc594:\n            iVar13 = (*pcVar23)();\n          }\n          else {\n            iVar13 = 1;\n            if (0x5f < aiStack_278[0]) {\n              if (0x1d < aiStack_278[0] - 0x61U) goto LAB_000fc594;\n              iVar13 = 1;\n            }\n          }\n        }" else (compound_statement "{\n          pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n          if (aiStack_278[0] < 0x41) {\nLAB_000fc594:\n            iVar13 = (*pcVar23)();\n          }\n          else {\n            iVar13 = 1;\n            if (0x5f < aiStack_278[0]) {\n              if (0x1d < aiStack_278[0] - 0x61U) goto LAB_000fc594;\n              iVar13 = 1;\n            }\n          }\n        }" { (expression_statement "pcVar23 = *(code **)(pcStack_280 + -0x5f84);" (assignment_expression "pcVar23 = *(code **)(pcStack_280 + -0x5f84)" identifier = (pointer_expression "*(code **)(pcStack_280 + -0x5f84)" * (cast_expression "(code **)(pcStack_280 + -0x5f84)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_280 + -0x5f84)" ( (binary_expression "pcStack_280 + -0x5f84" identifier + number_literal) ))))) ;) (if_statement "if (aiStack_278[0] < 0x41) {\nLAB_000fc594:\n            iVar13 = (*pcVar23)();\n          }\n          else {\n            iVar13 = 1;\n            if (0x5f < aiStack_278[0]) {\n              if (0x1d < aiStack_278[0] - 0x61U) goto LAB_000fc594;\n              iVar13 = 1;\n            }\n          }" if (parenthesized_expression "(aiStack_278[0] < 0x41)" ( (binary_expression "aiStack_278[0] < 0x41" (subscript_expression "aiStack_278[0]" identifier [ number_literal ]) < number_literal) )) (compound_statement "{\nLAB_000fc594:\n            iVar13 = (*pcVar23)();\n          }" { (labeled_statement "LAB_000fc594:\n            iVar13 = (*pcVar23)();" statement_identifier : (expression_statement "iVar13 = (*pcVar23)();" (assignment_expression "iVar13 = (*pcVar23)()" identifier = (call_expression "(*pcVar23)()" (parenthesized_expression "(*pcVar23)" ( (pointer_expression "*pcVar23" * identifier) )) (argument_list "()" ( )))) ;)) }) (else_clause "else {\n            iVar13 = 1;\n            if (0x5f < aiStack_278[0]) {\n              if (0x1d < aiStack_278[0] - 0x61U) goto LAB_000fc594;\n              iVar13 = 1;\n            }\n          }" else (compound_statement "{\n            iVar13 = 1;\n            if (0x5f < aiStack_278[0]) {\n              if (0x1d < aiStack_278[0] - 0x61U) goto LAB_000fc594;\n              iVar13 = 1;\n            }\n          }" { (expression_statement "iVar13 = 1;" (assignment_expression "iVar13 = 1" identifier = number_literal) ;) (if_statement "if (0x5f < aiStack_278[0]) {\n              if (0x1d < aiStack_278[0] - 0x61U) goto LAB_000fc594;\n              iVar13 = 1;\n            }" if (parenthesized_expression "(0x5f < aiStack_278[0])" ( (binary_expression "0x5f < aiStack_278[0]" number_literal < (subscript_expression "aiStack_278[0]" identifier [ number_literal ])) )) (compound_statement "{\n              if (0x1d < aiStack_278[0] - 0x61U) goto LAB_000fc594;\n              iVar13 = 1;\n            }" { (if_statement "if (0x1d < aiStack_278[0] - 0x61U) goto LAB_000fc594;" if (parenthesized_expression "(0x1d < aiStack_278[0] - 0x61U)" ( (binary_expression "0x1d < aiStack_278[0] - 0x61U" number_literal < (binary_expression "aiStack_278[0] - 0x61U" (subscript_expression "aiStack_278[0]" identifier [ number_literal ]) - number_literal)) )) (goto_statement "goto LAB_000fc594;" goto statement_identifier ;)) (expression_statement "iVar13 = 1;" (assignment_expression "iVar13 = 1" identifier = number_literal) ;) })) }))) }))) (if_statement "if (iVar13 < 0) {\n          iVar13 = 1;\n        }" if (parenthesized_expression "(iVar13 < 0)" ( (binary_expression "iVar13 < 0" identifier < number_literal) )) (compound_statement "{\n          iVar13 = 1;\n        }" { (expression_statement "iVar13 = 1;" (assignment_expression "iVar13 = 1" identifier = number_literal) ;) })) (expression_statement "pwVar16 = (word *)((int)pwVar16 + iVar13);" (assignment_expression "pwVar16 = (word *)((int)pwVar16 + iVar13)" identifier = (cast_expression "(word *)((int)pwVar16 + iVar13)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwVar16 + iVar13)" ( (binary_expression "(int)pwVar16 + iVar13" (cast_expression "(int)pwVar16" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "iVar13 = iVar17;" (assignment_expression "iVar13 = iVar17" identifier = identifier) ;) (expression_statement "pcVar23 = pcStack_280;" (assignment_expression "pcVar23 = pcStack_280" identifier = identifier) ;) }))) }))) })) (if_statement "if (aiStack_278[3] == **(int **)(pcVar23 + -0x5fb4)) {\n    return pwVar16;\n  }" if (parenthesized_expression "(aiStack_278[3] == **(int **)(pcVar23 + -0x5fb4))" ( (binary_expression "aiStack_278[3] == **(int **)(pcVar23 + -0x5fb4)" (subscript_expression "aiStack_278[3]" identifier [ number_literal ]) == (pointer_expression "**(int **)(pcVar23 + -0x5fb4)" * (pointer_expression "*(int **)(pcVar23 + -0x5fb4)" * (cast_expression "(int **)(pcVar23 + -0x5fb4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + -0x5fb4)" ( (binary_expression "pcVar23 + -0x5fb4" identifier + number_literal) )))))) )) (compound_statement "{\n    return pwVar16;\n  }" { (return_statement "return pwVar16;" return identifier ;) })) (expression_statement "pcVar23 = *(code **)(pcVar23 + -0x6004);" (assignment_expression "pcVar23 = *(code **)(pcVar23 + -0x6004)" identifier = (pointer_expression "*(code **)(pcVar23 + -0x6004)" * (cast_expression "(code **)(pcVar23 + -0x6004)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + -0x6004)" ( (binary_expression "pcVar23 + -0x6004" identifier + number_literal) ))))) ;) (expression_statement "pcVar25 = FUN_000fc5fc;" (assignment_expression "pcVar25 = FUN_000fc5fc" identifier = identifier) ;) (expression_statement "iVar11 = aiStack_278[3];" (assignment_expression "iVar11 = aiStack_278[3]" identifier = (subscript_expression "aiStack_278[3]" identifier [ number_literal ])) ;) (expression_statement "(*pcVar23)();" (call_expression "(*pcVar23)()" (parenthesized_expression "(*pcVar23)" ( (pointer_expression "*pcVar23" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_2e0 = pcVar23 + 0x61f44;" (assignment_expression "pcStack_2e0 = pcVar23 + 0x61f44" identifier = (binary_expression "pcVar23 + 0x61f44" identifier + number_literal)) ;) (expression_statement "uStack_2a4 = 1;" (assignment_expression "uStack_2a4 = 1" identifier = number_literal) ;) (expression_statement "uStack_2a8 = 0x7f;" (assignment_expression "uStack_2a8 = 0x7f" identifier = number_literal) ;) (expression_statement "pbStack_2bc = (byte *)**(undefined4 **)(pcVar23 + 0x5bf90);" (assignment_expression "pbStack_2bc = (byte *)**(undefined4 **)(pcVar23 + 0x5bf90)" identifier = (cast_expression "(byte *)**(undefined4 **)(pcVar23 + 0x5bf90)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcVar23 + 0x5bf90)" * (pointer_expression "*(undefined4 **)(pcVar23 + 0x5bf90)" * (cast_expression "(undefined4 **)(pcVar23 + 0x5bf90)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5bf90)" ( (binary_expression "pcVar23 + 0x5bf90" identifier + number_literal) ))))))) ;) (expression_statement "pwVar18 = pwVar14;" (assignment_expression "pwVar18 = pwVar14" identifier = identifier) ;) (expression_statement "pwStack_2cc = pwVar15;" (assignment_expression "pwStack_2cc = pwVar15" identifier = identifier) ;) (expression_statement "iStack_2b8 = iVar17;" (assignment_expression "iStack_2b8 = iVar17" identifier = identifier) ;) (expression_statement "pwStack_2b4 = pwVar16;" (assignment_expression "pwStack_2b4 = pwVar16" identifier = identifier) ;) (expression_statement "iStack_2b0 = iVar13;" (assignment_expression "iStack_2b0 = iVar13" identifier = identifier) ;) (expression_statement "iStack_2ac = iVar5;" (assignment_expression "iStack_2ac = iVar5" identifier = identifier) ;) (expression_statement "piStack_2a0 = aiStack_278 + 1;" (assignment_expression "piStack_2a0 = aiStack_278 + 1" identifier = (binary_expression "aiStack_278 + 1" identifier + number_literal)) ;) (expression_statement "piStack_29c = aiStack_278;" (assignment_expression "piStack_29c = aiStack_278" identifier = identifier) ;) (expression_statement "iStack_298 = iVar10 + 1;" (assignment_expression "iStack_298 = iVar10 + 1" identifier = (binary_expression "iVar10 + 1" identifier + number_literal)) ;) (expression_statement "pcStack_294 = pcVar25;" (assignment_expression "pcStack_294 = pcVar25" identifier = identifier) ;) (expression_statement "iVar5 = (**(code **)(pcVar23 + 0x5be48))();" (assignment_expression "iVar5 = (**(code **)(pcVar23 + 0x5be48))()" identifier = (call_expression "(**(code **)(pcVar23 + 0x5be48))()" (parenthesized_expression "(**(code **)(pcVar23 + 0x5be48))" ( (pointer_expression "**(code **)(pcVar23 + 0x5be48)" * (pointer_expression "*(code **)(pcVar23 + 0x5be48)" * (cast_expression "(code **)(pcVar23 + 0x5be48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5be48)" ( (binary_expression "pcVar23 + 0x5be48" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "iStack_2d4 = iVar11 + iVar5 + 1;" (assignment_expression "iStack_2d4 = iVar11 + iVar5 + 1" identifier = (binary_expression "iVar11 + iVar5 + 1" (binary_expression "iVar11 + iVar5" identifier + identifier) + number_literal)) ;) (expression_statement "aiStack_2c8[1] = 0;" (assignment_expression "aiStack_2c8[1] = 0" (subscript_expression "aiStack_2c8[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "aiStack_2c8[2] = 0;" (assignment_expression "aiStack_2c8[2] = 0" (subscript_expression "aiStack_2c8[2]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if ((**(int **)(pcStack_2e0 + -0x65a0) < 1) || ((int)pwVar14 < iVar5)) {\n    if (**(int **)(pcStack_2e0 + -0x67a8) == 0) goto LAB_000fc714;\n    if ((pwVar14 == (word *)0x0) || (**(int **)(pcStack_2e0 + -0x67a4) < 1)) goto LAB_000fc6f0;\n    if (0 < **(int **)(pcStack_2e0 + -0x65a0)) goto LAB_000fc750;\n    pcVar23 = *(code **)(pcStack_2e0 + -0x659c);\n    pwVar6 = pwVar14;\nLAB_000fc6c0:\n    (*pcVar23)();\n    (**(code **)(pcStack_2e0 + -0x6598))();\n    pwVar20 = (word *)0x0;\n    pwVar14 = (word *)0x0;\n  }\n  else if (**(int **)(pcStack_2e0 + -0x67a8) == 0) {\n    pwVar14 = (word *)0x0;\n    pwVar20 = (word *)0x0;\n    pwVar6 = (word *)0x0;\n  }\n  else {\n    pwVar14 = (word *)0x0;\nLAB_000fc6f0:\n    (**(code **)(pcStack_2e0 + -0x659c))();\n    (**(code **)(pcStack_2e0 + -0x6594))(pwStack_2cc);\nLAB_000fc714:\n    pwVar6 = pwVar14;\n    if (pwVar14 == (word *)0x0) {\n      pwVar20 = (word *)0x0;\n    }\n    else if (**(int **)(pcStack_2e0 + -0x65a0) < 1) {\n      pcVar23 = *(code **)(pcStack_2e0 + -0x659c);\n      if (0 < **(int **)(pcStack_2e0 + -0x67a4)) goto LAB_000fc6c0;\n      pwVar6 = (word *)0x0;\n      pwVar20 = (word *)0x0;\n    }\n    else {\nLAB_000fc750:\n      pwVar16 = (word *)0x2e;\n      if (*(byte *)((int)pwVar14 + iVar11) == 0x2e) {\n        pwVar16 = (word *)0x5f;\n      }\n      puVar21 = *(undefined4 **)(pcStack_2e0 + -0x6ef0);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16);\n      pwVar20 = (word *)0x3;\n      pwVar6 = (word *)0x0;\n    }\n  }" if (parenthesized_expression "((**(int **)(pcStack_2e0 + -0x65a0) < 1) || ((int)pwVar14 < iVar5))" ( (binary_expression "(**(int **)(pcStack_2e0 + -0x65a0) < 1) || ((int)pwVar14 < iVar5)" (parenthesized_expression "(**(int **)(pcStack_2e0 + -0x65a0) < 1)" ( (binary_expression "**(int **)(pcStack_2e0 + -0x65a0) < 1" (pointer_expression "**(int **)(pcStack_2e0 + -0x65a0)" * (pointer_expression "*(int **)(pcStack_2e0 + -0x65a0)" * (cast_expression "(int **)(pcStack_2e0 + -0x65a0)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x65a0)" ( (binary_expression "pcStack_2e0 + -0x65a0" identifier + number_literal) ))))) < number_literal) )) || (parenthesized_expression "((int)pwVar14 < iVar5)" ( (binary_expression "(int)pwVar14 < iVar5" (cast_expression "(int)pwVar14" ( (type_descriptor "int" primitive_type) ) identifier) < identifier) ))) )) (compound_statement "{\n    if (**(int **)(pcStack_2e0 + -0x67a8) == 0) goto LAB_000fc714;\n    if ((pwVar14 == (word *)0x0) || (**(int **)(pcStack_2e0 + -0x67a4) < 1)) goto LAB_000fc6f0;\n    if (0 < **(int **)(pcStack_2e0 + -0x65a0)) goto LAB_000fc750;\n    pcVar23 = *(code **)(pcStack_2e0 + -0x659c);\n    pwVar6 = pwVar14;\nLAB_000fc6c0:\n    (*pcVar23)();\n    (**(code **)(pcStack_2e0 + -0x6598))();\n    pwVar20 = (word *)0x0;\n    pwVar14 = (word *)0x0;\n  }" { (if_statement "if (**(int **)(pcStack_2e0 + -0x67a8) == 0) goto LAB_000fc714;" if (parenthesized_expression "(**(int **)(pcStack_2e0 + -0x67a8) == 0)" ( (binary_expression "**(int **)(pcStack_2e0 + -0x67a8) == 0" (pointer_expression "**(int **)(pcStack_2e0 + -0x67a8)" * (pointer_expression "*(int **)(pcStack_2e0 + -0x67a8)" * (cast_expression "(int **)(pcStack_2e0 + -0x67a8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x67a8)" ( (binary_expression "pcStack_2e0 + -0x67a8" identifier + number_literal) ))))) == number_literal) )) (goto_statement "goto LAB_000fc714;" goto statement_identifier ;)) (if_statement "if ((pwVar14 == (word *)0x0) || (**(int **)(pcStack_2e0 + -0x67a4) < 1)) goto LAB_000fc6f0;" if (parenthesized_expression "((pwVar14 == (word *)0x0) || (**(int **)(pcStack_2e0 + -0x67a4) < 1))" ( (binary_expression "(pwVar14 == (word *)0x0) || (**(int **)(pcStack_2e0 + -0x67a4) < 1)" (parenthesized_expression "(pwVar14 == (word *)0x0)" ( (binary_expression "pwVar14 == (word *)0x0" identifier == (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(**(int **)(pcStack_2e0 + -0x67a4) < 1)" ( (binary_expression "**(int **)(pcStack_2e0 + -0x67a4) < 1" (pointer_expression "**(int **)(pcStack_2e0 + -0x67a4)" * (pointer_expression "*(int **)(pcStack_2e0 + -0x67a4)" * (cast_expression "(int **)(pcStack_2e0 + -0x67a4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x67a4)" ( (binary_expression "pcStack_2e0 + -0x67a4" identifier + number_literal) ))))) < number_literal) ))) )) (goto_statement "goto LAB_000fc6f0;" goto statement_identifier ;)) (if_statement "if (0 < **(int **)(pcStack_2e0 + -0x65a0)) goto LAB_000fc750;" if (parenthesized_expression "(0 < **(int **)(pcStack_2e0 + -0x65a0))" ( (binary_expression "0 < **(int **)(pcStack_2e0 + -0x65a0)" number_literal < (pointer_expression "**(int **)(pcStack_2e0 + -0x65a0)" * (pointer_expression "*(int **)(pcStack_2e0 + -0x65a0)" * (cast_expression "(int **)(pcStack_2e0 + -0x65a0)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x65a0)" ( (binary_expression "pcStack_2e0 + -0x65a0" identifier + number_literal) )))))) )) (goto_statement "goto LAB_000fc750;" goto statement_identifier ;)) (expression_statement "pcVar23 = *(code **)(pcStack_2e0 + -0x659c);" (assignment_expression "pcVar23 = *(code **)(pcStack_2e0 + -0x659c)" identifier = (pointer_expression "*(code **)(pcStack_2e0 + -0x659c)" * (cast_expression "(code **)(pcStack_2e0 + -0x659c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x659c)" ( (binary_expression "pcStack_2e0 + -0x659c" identifier + number_literal) ))))) ;) (expression_statement "pwVar6 = pwVar14;" (assignment_expression "pwVar6 = pwVar14" identifier = identifier) ;) (labeled_statement "LAB_000fc6c0:\n    (*pcVar23)();" statement_identifier : (expression_statement "(*pcVar23)();" (call_expression "(*pcVar23)()" (parenthesized_expression "(*pcVar23)" ( (pointer_expression "*pcVar23" * identifier) )) (argument_list "()" ( ))) ;)) (expression_statement "(**(code **)(pcStack_2e0 + -0x6598))();" (call_expression "(**(code **)(pcStack_2e0 + -0x6598))()" (parenthesized_expression "(**(code **)(pcStack_2e0 + -0x6598))" ( (pointer_expression "**(code **)(pcStack_2e0 + -0x6598)" * (pointer_expression "*(code **)(pcStack_2e0 + -0x6598)" * (cast_expression "(code **)(pcStack_2e0 + -0x6598)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x6598)" ( (binary_expression "pcStack_2e0 + -0x6598" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "pwVar20 = (word *)0x0;" (assignment_expression "pwVar20 = (word *)0x0" identifier = (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pwVar14 = (word *)0x0;" (assignment_expression "pwVar14 = (word *)0x0" identifier = (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else if (**(int **)(pcStack_2e0 + -0x67a8) == 0) {\n    pwVar14 = (word *)0x0;\n    pwVar20 = (word *)0x0;\n    pwVar6 = (word *)0x0;\n  }\n  else {\n    pwVar14 = (word *)0x0;\nLAB_000fc6f0:\n    (**(code **)(pcStack_2e0 + -0x659c))();\n    (**(code **)(pcStack_2e0 + -0x6594))(pwStack_2cc);\nLAB_000fc714:\n    pwVar6 = pwVar14;\n    if (pwVar14 == (word *)0x0) {\n      pwVar20 = (word *)0x0;\n    }\n    else if (**(int **)(pcStack_2e0 + -0x65a0) < 1) {\n      pcVar23 = *(code **)(pcStack_2e0 + -0x659c);\n      if (0 < **(int **)(pcStack_2e0 + -0x67a4)) goto LAB_000fc6c0;\n      pwVar6 = (word *)0x0;\n      pwVar20 = (word *)0x0;\n    }\n    else {\nLAB_000fc750:\n      pwVar16 = (word *)0x2e;\n      if (*(byte *)((int)pwVar14 + iVar11) == 0x2e) {\n        pwVar16 = (word *)0x5f;\n      }\n      puVar21 = *(undefined4 **)(pcStack_2e0 + -0x6ef0);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16);\n      pwVar20 = (word *)0x3;\n      pwVar6 = (word *)0x0;\n    }\n  }" else (if_statement "if (**(int **)(pcStack_2e0 + -0x67a8) == 0) {\n    pwVar14 = (word *)0x0;\n    pwVar20 = (word *)0x0;\n    pwVar6 = (word *)0x0;\n  }\n  else {\n    pwVar14 = (word *)0x0;\nLAB_000fc6f0:\n    (**(code **)(pcStack_2e0 + -0x659c))();\n    (**(code **)(pcStack_2e0 + -0x6594))(pwStack_2cc);\nLAB_000fc714:\n    pwVar6 = pwVar14;\n    if (pwVar14 == (word *)0x0) {\n      pwVar20 = (word *)0x0;\n    }\n    else if (**(int **)(pcStack_2e0 + -0x65a0) < 1) {\n      pcVar23 = *(code **)(pcStack_2e0 + -0x659c);\n      if (0 < **(int **)(pcStack_2e0 + -0x67a4)) goto LAB_000fc6c0;\n      pwVar6 = (word *)0x0;\n      pwVar20 = (word *)0x0;\n    }\n    else {\nLAB_000fc750:\n      pwVar16 = (word *)0x2e;\n      if (*(byte *)((int)pwVar14 + iVar11) == 0x2e) {\n        pwVar16 = (word *)0x5f;\n      }\n      puVar21 = *(undefined4 **)(pcStack_2e0 + -0x6ef0);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16);\n      pwVar20 = (word *)0x3;\n      pwVar6 = (word *)0x0;\n    }\n  }" if (parenthesized_expression "(**(int **)(pcStack_2e0 + -0x67a8) == 0)" ( (binary_expression "**(int **)(pcStack_2e0 + -0x67a8) == 0" (pointer_expression "**(int **)(pcStack_2e0 + -0x67a8)" * (pointer_expression "*(int **)(pcStack_2e0 + -0x67a8)" * (cast_expression "(int **)(pcStack_2e0 + -0x67a8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x67a8)" ( (binary_expression "pcStack_2e0 + -0x67a8" identifier + number_literal) ))))) == number_literal) )) (compound_statement "{\n    pwVar14 = (word *)0x0;\n    pwVar20 = (word *)0x0;\n    pwVar6 = (word *)0x0;\n  }" { (expression_statement "pwVar14 = (word *)0x0;" (assignment_expression "pwVar14 = (word *)0x0" identifier = (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pwVar20 = (word *)0x0;" (assignment_expression "pwVar20 = (word *)0x0" identifier = (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pwVar6 = (word *)0x0;" (assignment_expression "pwVar6 = (word *)0x0" identifier = (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n    pwVar14 = (word *)0x0;\nLAB_000fc6f0:\n    (**(code **)(pcStack_2e0 + -0x659c))();\n    (**(code **)(pcStack_2e0 + -0x6594))(pwStack_2cc);\nLAB_000fc714:\n    pwVar6 = pwVar14;\n    if (pwVar14 == (word *)0x0) {\n      pwVar20 = (word *)0x0;\n    }\n    else if (**(int **)(pcStack_2e0 + -0x65a0) < 1) {\n      pcVar23 = *(code **)(pcStack_2e0 + -0x659c);\n      if (0 < **(int **)(pcStack_2e0 + -0x67a4)) goto LAB_000fc6c0;\n      pwVar6 = (word *)0x0;\n      pwVar20 = (word *)0x0;\n    }\n    else {\nLAB_000fc750:\n      pwVar16 = (word *)0x2e;\n      if (*(byte *)((int)pwVar14 + iVar11) == 0x2e) {\n        pwVar16 = (word *)0x5f;\n      }\n      puVar21 = *(undefined4 **)(pcStack_2e0 + -0x6ef0);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16);\n      pwVar20 = (word *)0x3;\n      pwVar6 = (word *)0x0;\n    }\n  }" else (compound_statement "{\n    pwVar14 = (word *)0x0;\nLAB_000fc6f0:\n    (**(code **)(pcStack_2e0 + -0x659c))();\n    (**(code **)(pcStack_2e0 + -0x6594))(pwStack_2cc);\nLAB_000fc714:\n    pwVar6 = pwVar14;\n    if (pwVar14 == (word *)0x0) {\n      pwVar20 = (word *)0x0;\n    }\n    else if (**(int **)(pcStack_2e0 + -0x65a0) < 1) {\n      pcVar23 = *(code **)(pcStack_2e0 + -0x659c);\n      if (0 < **(int **)(pcStack_2e0 + -0x67a4)) goto LAB_000fc6c0;\n      pwVar6 = (word *)0x0;\n      pwVar20 = (word *)0x0;\n    }\n    else {\nLAB_000fc750:\n      pwVar16 = (word *)0x2e;\n      if (*(byte *)((int)pwVar14 + iVar11) == 0x2e) {\n        pwVar16 = (word *)0x5f;\n      }\n      puVar21 = *(undefined4 **)(pcStack_2e0 + -0x6ef0);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16);\n      pwVar20 = (word *)0x3;\n      pwVar6 = (word *)0x0;\n    }\n  }" { (expression_statement "pwVar14 = (word *)0x0;" (assignment_expression "pwVar14 = (word *)0x0" identifier = (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_000fc6f0:\n    (**(code **)(pcStack_2e0 + -0x659c))();" statement_identifier : (expression_statement "(**(code **)(pcStack_2e0 + -0x659c))();" (call_expression "(**(code **)(pcStack_2e0 + -0x659c))()" (parenthesized_expression "(**(code **)(pcStack_2e0 + -0x659c))" ( (pointer_expression "**(code **)(pcStack_2e0 + -0x659c)" * (pointer_expression "*(code **)(pcStack_2e0 + -0x659c)" * (cast_expression "(code **)(pcStack_2e0 + -0x659c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x659c)" ( (binary_expression "pcStack_2e0 + -0x659c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;)) (expression_statement "(**(code **)(pcStack_2e0 + -0x6594))(pwStack_2cc);" (call_expression "(**(code **)(pcStack_2e0 + -0x6594))(pwStack_2cc)" (parenthesized_expression "(**(code **)(pcStack_2e0 + -0x6594))" ( (pointer_expression "**(code **)(pcStack_2e0 + -0x6594)" * (pointer_expression "*(code **)(pcStack_2e0 + -0x6594)" * (cast_expression "(code **)(pcStack_2e0 + -0x6594)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x6594)" ( (binary_expression "pcStack_2e0 + -0x6594" identifier + number_literal) ))))) )) (argument_list "(pwStack_2cc)" ( identifier ))) ;) (labeled_statement "LAB_000fc714:\n    pwVar6 = pwVar14;" statement_identifier : (expression_statement "pwVar6 = pwVar14;" (assignment_expression "pwVar6 = pwVar14" identifier = identifier) ;)) (if_statement "if (pwVar14 == (word *)0x0) {\n      pwVar20 = (word *)0x0;\n    }\n    else if (**(int **)(pcStack_2e0 + -0x65a0) < 1) {\n      pcVar23 = *(code **)(pcStack_2e0 + -0x659c);\n      if (0 < **(int **)(pcStack_2e0 + -0x67a4)) goto LAB_000fc6c0;\n      pwVar6 = (word *)0x0;\n      pwVar20 = (word *)0x0;\n    }\n    else {\nLAB_000fc750:\n      pwVar16 = (word *)0x2e;\n      if (*(byte *)((int)pwVar14 + iVar11) == 0x2e) {\n        pwVar16 = (word *)0x5f;\n      }\n      puVar21 = *(undefined4 **)(pcStack_2e0 + -0x6ef0);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16);\n      pwVar20 = (word *)0x3;\n      pwVar6 = (word *)0x0;\n    }" if (parenthesized_expression "(pwVar14 == (word *)0x0)" ( (binary_expression "pwVar14 == (word *)0x0" identifier == (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pwVar20 = (word *)0x0;\n    }" { (expression_statement "pwVar20 = (word *)0x0;" (assignment_expression "pwVar20 = (word *)0x0" identifier = (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else if (**(int **)(pcStack_2e0 + -0x65a0) < 1) {\n      pcVar23 = *(code **)(pcStack_2e0 + -0x659c);\n      if (0 < **(int **)(pcStack_2e0 + -0x67a4)) goto LAB_000fc6c0;\n      pwVar6 = (word *)0x0;\n      pwVar20 = (word *)0x0;\n    }\n    else {\nLAB_000fc750:\n      pwVar16 = (word *)0x2e;\n      if (*(byte *)((int)pwVar14 + iVar11) == 0x2e) {\n        pwVar16 = (word *)0x5f;\n      }\n      puVar21 = *(undefined4 **)(pcStack_2e0 + -0x6ef0);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16);\n      pwVar20 = (word *)0x3;\n      pwVar6 = (word *)0x0;\n    }" else (if_statement "if (**(int **)(pcStack_2e0 + -0x65a0) < 1) {\n      pcVar23 = *(code **)(pcStack_2e0 + -0x659c);\n      if (0 < **(int **)(pcStack_2e0 + -0x67a4)) goto LAB_000fc6c0;\n      pwVar6 = (word *)0x0;\n      pwVar20 = (word *)0x0;\n    }\n    else {\nLAB_000fc750:\n      pwVar16 = (word *)0x2e;\n      if (*(byte *)((int)pwVar14 + iVar11) == 0x2e) {\n        pwVar16 = (word *)0x5f;\n      }\n      puVar21 = *(undefined4 **)(pcStack_2e0 + -0x6ef0);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16);\n      pwVar20 = (word *)0x3;\n      pwVar6 = (word *)0x0;\n    }" if (parenthesized_expression "(**(int **)(pcStack_2e0 + -0x65a0) < 1)" ( (binary_expression "**(int **)(pcStack_2e0 + -0x65a0) < 1" (pointer_expression "**(int **)(pcStack_2e0 + -0x65a0)" * (pointer_expression "*(int **)(pcStack_2e0 + -0x65a0)" * (cast_expression "(int **)(pcStack_2e0 + -0x65a0)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x65a0)" ( (binary_expression "pcStack_2e0 + -0x65a0" identifier + number_literal) ))))) < number_literal) )) (compound_statement "{\n      pcVar23 = *(code **)(pcStack_2e0 + -0x659c);\n      if (0 < **(int **)(pcStack_2e0 + -0x67a4)) goto LAB_000fc6c0;\n      pwVar6 = (word *)0x0;\n      pwVar20 = (word *)0x0;\n    }" { (expression_statement "pcVar23 = *(code **)(pcStack_2e0 + -0x659c);" (assignment_expression "pcVar23 = *(code **)(pcStack_2e0 + -0x659c)" identifier = (pointer_expression "*(code **)(pcStack_2e0 + -0x659c)" * (cast_expression "(code **)(pcStack_2e0 + -0x659c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x659c)" ( (binary_expression "pcStack_2e0 + -0x659c" identifier + number_literal) ))))) ;) (if_statement "if (0 < **(int **)(pcStack_2e0 + -0x67a4)) goto LAB_000fc6c0;" if (parenthesized_expression "(0 < **(int **)(pcStack_2e0 + -0x67a4))" ( (binary_expression "0 < **(int **)(pcStack_2e0 + -0x67a4)" number_literal < (pointer_expression "**(int **)(pcStack_2e0 + -0x67a4)" * (pointer_expression "*(int **)(pcStack_2e0 + -0x67a4)" * (cast_expression "(int **)(pcStack_2e0 + -0x67a4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x67a4)" ( (binary_expression "pcStack_2e0 + -0x67a4" identifier + number_literal) )))))) )) (goto_statement "goto LAB_000fc6c0;" goto statement_identifier ;)) (expression_statement "pwVar6 = (word *)0x0;" (assignment_expression "pwVar6 = (word *)0x0" identifier = (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pwVar20 = (word *)0x0;" (assignment_expression "pwVar20 = (word *)0x0" identifier = (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\nLAB_000fc750:\n      pwVar16 = (word *)0x2e;\n      if (*(byte *)((int)pwVar14 + iVar11) == 0x2e) {\n        pwVar16 = (word *)0x5f;\n      }\n      puVar21 = *(undefined4 **)(pcStack_2e0 + -0x6ef0);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16);\n      pwVar20 = (word *)0x3;\n      pwVar6 = (word *)0x0;\n    }" else (compound_statement "{\nLAB_000fc750:\n      pwVar16 = (word *)0x2e;\n      if (*(byte *)((int)pwVar14 + iVar11) == 0x2e) {\n        pwVar16 = (word *)0x5f;\n      }\n      puVar21 = *(undefined4 **)(pcStack_2e0 + -0x6ef0);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16);\n      pwVar20 = (word *)0x3;\n      pwVar6 = (word *)0x0;\n    }" { (labeled_statement "LAB_000fc750:\n      pwVar16 = (word *)0x2e;" statement_identifier : (expression_statement "pwVar16 = (word *)0x2e;" (assignment_expression "pwVar16 = (word *)0x2e" identifier = (cast_expression "(word *)0x2e" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (if_statement "if (*(byte *)((int)pwVar14 + iVar11) == 0x2e) {\n        pwVar16 = (word *)0x5f;\n      }" if (parenthesized_expression "(*(byte *)((int)pwVar14 + iVar11) == 0x2e)" ( (binary_expression "*(byte *)((int)pwVar14 + iVar11) == 0x2e" (pointer_expression "*(byte *)((int)pwVar14 + iVar11)" * (cast_expression "(byte *)((int)pwVar14 + iVar11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwVar14 + iVar11)" ( (binary_expression "(int)pwVar14 + iVar11" (cast_expression "(int)pwVar14" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) == number_literal) )) (compound_statement "{\n        pwVar16 = (word *)0x5f;\n      }" { (expression_statement "pwVar16 = (word *)0x5f;" (assignment_expression "pwVar16 = (word *)0x5f" identifier = (cast_expression "(word *)0x5f" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (expression_statement "puVar21 = *(undefined4 **)(pcStack_2e0 + -0x6ef0);" (assignment_expression "puVar21 = *(undefined4 **)(pcStack_2e0 + -0x6ef0)" identifier = (pointer_expression "*(undefined4 **)(pcStack_2e0 + -0x6ef0)" * (cast_expression "(undefined4 **)(pcStack_2e0 + -0x6ef0)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x6ef0)" ( (binary_expression "pcStack_2e0 + -0x6ef0" identifier + number_literal) ))))) ;) (expression_statement "(**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);" (call_expression "(**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21)" (parenthesized_expression "(**(code **)(pcStack_2e0 + -0x61f0))" ( (pointer_expression "**(code **)(pcStack_2e0 + -0x61f0)" * (pointer_expression "*(code **)(pcStack_2e0 + -0x61f0)" * (cast_expression "(code **)(pcStack_2e0 + -0x61f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x61f0)" ( (binary_expression "pcStack_2e0 + -0x61f0" identifier + number_literal) ))))) )) (argument_list "(pwVar16,*puVar21)" ( identifier , (pointer_expression "*puVar21" * identifier) ))) ;) (expression_statement "(**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);" (call_expression "(**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21)" (parenthesized_expression "(**(code **)(pcStack_2e0 + -0x61f0))" ( (pointer_expression "**(code **)(pcStack_2e0 + -0x61f0)" * (pointer_expression "*(code **)(pcStack_2e0 + -0x61f0)" * (cast_expression "(code **)(pcStack_2e0 + -0x61f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x61f0)" ( (binary_expression "pcStack_2e0 + -0x61f0" identifier + number_literal) ))))) )) (argument_list "(pwVar16,*puVar21)" ( identifier , (pointer_expression "*puVar21" * identifier) ))) ;) (expression_statement "pwVar18 = (word *)*puVar21;" (assignment_expression "pwVar18 = (word *)*puVar21" identifier = (cast_expression "(word *)*puVar21" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar21" * identifier))) ;) (expression_statement "(**(code **)(pcStack_2e0 + -0x61f0))(pwVar16);" (call_expression "(**(code **)(pcStack_2e0 + -0x61f0))(pwVar16)" (parenthesized_expression "(**(code **)(pcStack_2e0 + -0x61f0))" ( (pointer_expression "**(code **)(pcStack_2e0 + -0x61f0)" * (pointer_expression "*(code **)(pcStack_2e0 + -0x61f0)" * (cast_expression "(code **)(pcStack_2e0 + -0x61f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x61f0)" ( (binary_expression "pcStack_2e0 + -0x61f0" identifier + number_literal) ))))) )) (argument_list "(pwVar16)" ( identifier ))) ;) (expression_statement "pwVar20 = (word *)0x3;" (assignment_expression "pwVar20 = (word *)0x3" identifier = (cast_expression "(word *)0x3" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pwVar6 = (word *)0x0;" (assignment_expression "pwVar6 = (word *)0x0" identifier = (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))))) }))))) (expression_statement "pwVar14 = (word *)((int)pwVar14 + iVar11);" (assignment_expression "pwVar14 = (word *)((int)pwVar14 + iVar11)" identifier = (cast_expression "(word *)((int)pwVar14 + iVar11)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwVar14 + iVar11)" ( (binary_expression "(int)pwVar14 + iVar11" (cast_expression "(int)pwVar14" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "puVar21 = *(undefined4 **)(pcStack_2e0 + -0x6ef0);" (assignment_expression "puVar21 = *(undefined4 **)(pcStack_2e0 + -0x6ef0)" identifier = (pointer_expression "*(undefined4 **)(pcStack_2e0 + -0x6ef0)" * (cast_expression "(undefined4 **)(pcStack_2e0 + -0x6ef0)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x6ef0)" ( (binary_expression "pcStack_2e0 + -0x6ef0" identifier + number_literal) ))))) ;) (expression_statement "iStack_2d0 = *(int *)(pcStack_2e0 + -26000) + 0xb8;" (assignment_expression "iStack_2d0 = *(int *)(pcStack_2e0 + -26000) + 0xb8" identifier = (binary_expression "*(int *)(pcStack_2e0 + -26000) + 0xb8" (pointer_expression "*(int *)(pcStack_2e0 + -26000)" * (cast_expression "(int *)(pcStack_2e0 + -26000)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_2e0 + -26000)" ( (binary_expression "pcStack_2e0 + -26000" identifier + number_literal) )))) + number_literal)) ;) (while_statement "while (bVar2 = *(byte *)pwVar14, bVar2 != 0) {\n    if (bVar2 < 0x20) {\n      (**(code **)(pcStack_2e0 + -0x61f0))(0x5e,*puVar21);\n      pwVar16 = (word *)((int)(char)*(byte *)pwVar14 | 0x40);\n      pbVar24 = (byte *)(*(byte *)pwVar14 | 0x40);\n      if ((word *)pbVar24 == pwVar16) {\n        piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x6290))();\n        if ((*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 2) != 0) {\n          piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x5f10))();\n          pwVar16 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n        }\n      }\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16);\n      pwVar20 = pwVar20 + 1;\n      pwVar14 = (word *)((int)pwVar14 + 1);\n      aiStack_2c8[1] = 0;\n      aiStack_2c8[2] = 0;\n    }\n    else if (bVar2 == 0x7f) {\n      (**(code **)(pcStack_2e0 + -0x61f0))(0x5e,*puVar21);\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(0x3f);\n      pwVar20 = pwVar20 + 1;\n      pwVar14 = (word *)((int)pwVar14 + 1);\n      aiStack_2c8[1] = 0;\n      aiStack_2c8[2] = 0;\n    }\n    else {\n      pwVar15 = (word *)(iStack_2d4 - (int)pwVar14);\n      pwVar18 = pwVar14;\n      pwVar16 = (word *)(**(code **)(pcStack_2e0 + -0x6084))(aiStack_2c8,pwVar14,pwVar15);\n      iVar5 = 1;\n      if (pwVar16 + 1 < (word *)0x2) {\n        aiStack_2c8[1] = 0;\n        aiStack_2c8[2] = 0;\n        pwVar16 = (word *)0x1;\n      }\n      else {\n        if (pwVar16 == (word *)0x0) break;\n        if (aiStack_2c8[0] < 0x40) {\n          if (aiStack_2c8[0] < 0x25) {\n            pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n            if (3 < aiStack_2c8[0] - 0x20U) goto LAB_000fc9c0;\n          }\n          else {\n            iVar5 = 1;\n          }\n        }\n        else if (aiStack_2c8[0] < 0x41) {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\nLAB_000fc9c0:\n          iVar5 = (*pcVar23)();\n        }\n        else if (aiStack_2c8[0] < 0x60) {\n          iVar5 = 1;\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n          if (0x1d < aiStack_2c8[0] - 0x61U) goto LAB_000fc9c0;\n          iVar5 = 1;\n        }\n        if (iVar5 < 0) {\n          iVar5 = 1;\n        }\n      }\n      pwVar18 = (word *)0x1;\n      pwVar15 = pwVar16;\n      (**(code **)(pcStack_2e0 + -0x6054))(pwVar14,1,pwVar16,*puVar21);\n      pwVar14 = (word *)((int)pwVar14 + (int)pwVar16);\n      pwVar20 = (word *)((int)pwVar20 + iVar5);\n    }\n    if ((0 < (int)pwVar6) && ((int)pwVar6 <= (int)pwVar14 - iVar11)) {\n      (**(code **)(pcStack_2e0 + -0x658c))();\n      (**(code **)(pcStack_2e0 + -0x6588))(iStack_2d0);\n      pwVar6 = (word *)**(undefined4 **)(pcStack_2e0 + -0x67a8);\n      if (pwVar6 != (word *)0x0) {\n        (**(code **)(pcStack_2e0 + -0x659c))();\n        (**(code **)(pcStack_2e0 + -0x6594))(pwStack_2cc);\n        pwVar6 = (word *)0x0;\n      }\n    }\n  }" while (parenthesized_expression "(bVar2 = *(byte *)pwVar14, bVar2 != 0)" ( (comma_expression "bVar2 = *(byte *)pwVar14, bVar2 != 0" (assignment_expression "bVar2 = *(byte *)pwVar14" identifier = (pointer_expression "*(byte *)pwVar14" * (cast_expression "(byte *)pwVar14" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) , (binary_expression "bVar2 != 0" identifier != number_literal)) )) (compound_statement "{\n    if (bVar2 < 0x20) {\n      (**(code **)(pcStack_2e0 + -0x61f0))(0x5e,*puVar21);\n      pwVar16 = (word *)((int)(char)*(byte *)pwVar14 | 0x40);\n      pbVar24 = (byte *)(*(byte *)pwVar14 | 0x40);\n      if ((word *)pbVar24 == pwVar16) {\n        piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x6290))();\n        if ((*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 2) != 0) {\n          piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x5f10))();\n          pwVar16 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n        }\n      }\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16);\n      pwVar20 = pwVar20 + 1;\n      pwVar14 = (word *)((int)pwVar14 + 1);\n      aiStack_2c8[1] = 0;\n      aiStack_2c8[2] = 0;\n    }\n    else if (bVar2 == 0x7f) {\n      (**(code **)(pcStack_2e0 + -0x61f0))(0x5e,*puVar21);\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(0x3f);\n      pwVar20 = pwVar20 + 1;\n      pwVar14 = (word *)((int)pwVar14 + 1);\n      aiStack_2c8[1] = 0;\n      aiStack_2c8[2] = 0;\n    }\n    else {\n      pwVar15 = (word *)(iStack_2d4 - (int)pwVar14);\n      pwVar18 = pwVar14;\n      pwVar16 = (word *)(**(code **)(pcStack_2e0 + -0x6084))(aiStack_2c8,pwVar14,pwVar15);\n      iVar5 = 1;\n      if (pwVar16 + 1 < (word *)0x2) {\n        aiStack_2c8[1] = 0;\n        aiStack_2c8[2] = 0;\n        pwVar16 = (word *)0x1;\n      }\n      else {\n        if (pwVar16 == (word *)0x0) break;\n        if (aiStack_2c8[0] < 0x40) {\n          if (aiStack_2c8[0] < 0x25) {\n            pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n            if (3 < aiStack_2c8[0] - 0x20U) goto LAB_000fc9c0;\n          }\n          else {\n            iVar5 = 1;\n          }\n        }\n        else if (aiStack_2c8[0] < 0x41) {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\nLAB_000fc9c0:\n          iVar5 = (*pcVar23)();\n        }\n        else if (aiStack_2c8[0] < 0x60) {\n          iVar5 = 1;\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n          if (0x1d < aiStack_2c8[0] - 0x61U) goto LAB_000fc9c0;\n          iVar5 = 1;\n        }\n        if (iVar5 < 0) {\n          iVar5 = 1;\n        }\n      }\n      pwVar18 = (word *)0x1;\n      pwVar15 = pwVar16;\n      (**(code **)(pcStack_2e0 + -0x6054))(pwVar14,1,pwVar16,*puVar21);\n      pwVar14 = (word *)((int)pwVar14 + (int)pwVar16);\n      pwVar20 = (word *)((int)pwVar20 + iVar5);\n    }\n    if ((0 < (int)pwVar6) && ((int)pwVar6 <= (int)pwVar14 - iVar11)) {\n      (**(code **)(pcStack_2e0 + -0x658c))();\n      (**(code **)(pcStack_2e0 + -0x6588))(iStack_2d0);\n      pwVar6 = (word *)**(undefined4 **)(pcStack_2e0 + -0x67a8);\n      if (pwVar6 != (word *)0x0) {\n        (**(code **)(pcStack_2e0 + -0x659c))();\n        (**(code **)(pcStack_2e0 + -0x6594))(pwStack_2cc);\n        pwVar6 = (word *)0x0;\n      }\n    }\n  }" { (if_statement "if (bVar2 < 0x20) {\n      (**(code **)(pcStack_2e0 + -0x61f0))(0x5e,*puVar21);\n      pwVar16 = (word *)((int)(char)*(byte *)pwVar14 | 0x40);\n      pbVar24 = (byte *)(*(byte *)pwVar14 | 0x40);\n      if ((word *)pbVar24 == pwVar16) {\n        piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x6290))();\n        if ((*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 2) != 0) {\n          piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x5f10))();\n          pwVar16 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n        }\n      }\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16);\n      pwVar20 = pwVar20 + 1;\n      pwVar14 = (word *)((int)pwVar14 + 1);\n      aiStack_2c8[1] = 0;\n      aiStack_2c8[2] = 0;\n    }\n    else if (bVar2 == 0x7f) {\n      (**(code **)(pcStack_2e0 + -0x61f0))(0x5e,*puVar21);\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(0x3f);\n      pwVar20 = pwVar20 + 1;\n      pwVar14 = (word *)((int)pwVar14 + 1);\n      aiStack_2c8[1] = 0;\n      aiStack_2c8[2] = 0;\n    }\n    else {\n      pwVar15 = (word *)(iStack_2d4 - (int)pwVar14);\n      pwVar18 = pwVar14;\n      pwVar16 = (word *)(**(code **)(pcStack_2e0 + -0x6084))(aiStack_2c8,pwVar14,pwVar15);\n      iVar5 = 1;\n      if (pwVar16 + 1 < (word *)0x2) {\n        aiStack_2c8[1] = 0;\n        aiStack_2c8[2] = 0;\n        pwVar16 = (word *)0x1;\n      }\n      else {\n        if (pwVar16 == (word *)0x0) break;\n        if (aiStack_2c8[0] < 0x40) {\n          if (aiStack_2c8[0] < 0x25) {\n            pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n            if (3 < aiStack_2c8[0] - 0x20U) goto LAB_000fc9c0;\n          }\n          else {\n            iVar5 = 1;\n          }\n        }\n        else if (aiStack_2c8[0] < 0x41) {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\nLAB_000fc9c0:\n          iVar5 = (*pcVar23)();\n        }\n        else if (aiStack_2c8[0] < 0x60) {\n          iVar5 = 1;\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n          if (0x1d < aiStack_2c8[0] - 0x61U) goto LAB_000fc9c0;\n          iVar5 = 1;\n        }\n        if (iVar5 < 0) {\n          iVar5 = 1;\n        }\n      }\n      pwVar18 = (word *)0x1;\n      pwVar15 = pwVar16;\n      (**(code **)(pcStack_2e0 + -0x6054))(pwVar14,1,pwVar16,*puVar21);\n      pwVar14 = (word *)((int)pwVar14 + (int)pwVar16);\n      pwVar20 = (word *)((int)pwVar20 + iVar5);\n    }" if (parenthesized_expression "(bVar2 < 0x20)" ( (binary_expression "bVar2 < 0x20" identifier < number_literal) )) (compound_statement "{\n      (**(code **)(pcStack_2e0 + -0x61f0))(0x5e,*puVar21);\n      pwVar16 = (word *)((int)(char)*(byte *)pwVar14 | 0x40);\n      pbVar24 = (byte *)(*(byte *)pwVar14 | 0x40);\n      if ((word *)pbVar24 == pwVar16) {\n        piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x6290))();\n        if ((*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 2) != 0) {\n          piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x5f10))();\n          pwVar16 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n        }\n      }\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16);\n      pwVar20 = pwVar20 + 1;\n      pwVar14 = (word *)((int)pwVar14 + 1);\n      aiStack_2c8[1] = 0;\n      aiStack_2c8[2] = 0;\n    }" { (expression_statement "(**(code **)(pcStack_2e0 + -0x61f0))(0x5e,*puVar21);" (call_expression "(**(code **)(pcStack_2e0 + -0x61f0))(0x5e,*puVar21)" (parenthesized_expression "(**(code **)(pcStack_2e0 + -0x61f0))" ( (pointer_expression "**(code **)(pcStack_2e0 + -0x61f0)" * (pointer_expression "*(code **)(pcStack_2e0 + -0x61f0)" * (cast_expression "(code **)(pcStack_2e0 + -0x61f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x61f0)" ( (binary_expression "pcStack_2e0 + -0x61f0" identifier + number_literal) ))))) )) (argument_list "(0x5e,*puVar21)" ( number_literal , (pointer_expression "*puVar21" * identifier) ))) ;) (expression_statement "pwVar16 = (word *)((int)(char)*(byte *)pwVar14 | 0x40);" (assignment_expression "pwVar16 = (word *)((int)(char)*(byte *)pwVar14 | 0x40)" identifier = (cast_expression "(word *)((int)(char)*(byte *)pwVar14 | 0x40)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)(char)*(byte *)pwVar14 | 0x40)" ( (binary_expression "(int)(char)*(byte *)pwVar14 | 0x40" (cast_expression "(int)(char)*(byte *)pwVar14" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)*(byte *)pwVar14" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(byte *)pwVar14" * (cast_expression "(byte *)pwVar14" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) | number_literal) )))) ;) (expression_statement "pbVar24 = (byte *)(*(byte *)pwVar14 | 0x40);" (assignment_expression "pbVar24 = (byte *)(*(byte *)pwVar14 | 0x40)" identifier = (cast_expression "(byte *)(*(byte *)pwVar14 | 0x40)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(byte *)pwVar14 | 0x40)" ( (binary_expression "*(byte *)pwVar14 | 0x40" (pointer_expression "*(byte *)pwVar14" * (cast_expression "(byte *)pwVar14" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) | number_literal) )))) ;) (if_statement "if ((word *)pbVar24 == pwVar16) {\n        piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x6290))();\n        if ((*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 2) != 0) {\n          piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x5f10))();\n          pwVar16 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n        }\n      }" if (parenthesized_expression "((word *)pbVar24 == pwVar16)" ( (binary_expression "(word *)pbVar24 == pwVar16" (cast_expression "(word *)pbVar24" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) == identifier) )) (compound_statement "{\n        piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x6290))();\n        if ((*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 2) != 0) {\n          piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x5f10))();\n          pwVar16 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n        }\n      }" { (expression_statement "piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x6290))();" (assignment_expression "piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x6290))()" identifier = (cast_expression "(int *)(**(code **)(pcStack_2e0 + -0x6290))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_2e0 + -0x6290))()" (parenthesized_expression "(**(code **)(pcStack_2e0 + -0x6290))" ( (pointer_expression "**(code **)(pcStack_2e0 + -0x6290)" * (pointer_expression "*(code **)(pcStack_2e0 + -0x6290)" * (cast_expression "(code **)(pcStack_2e0 + -0x6290)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x6290)" ( (binary_expression "pcStack_2e0 + -0x6290" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (if_statement "if ((*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 2) != 0) {\n          piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x5f10))();\n          pwVar16 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n        }" if (parenthesized_expression "((*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 2) != 0)" ( (binary_expression "(*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 2) != 0" (parenthesized_expression "(*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 2)" ( (binary_expression "*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 2" (pointer_expression "*(ushort *)(*piVar9 + (int)pbVar24 * 2)" * (cast_expression "(ushort *)(*piVar9 + (int)pbVar24 * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar9 + (int)pbVar24 * 2)" ( (binary_expression "*piVar9 + (int)pbVar24 * 2" (pointer_expression "*piVar9" * identifier) + (binary_expression "(int)pbVar24 * 2" (cast_expression "(int)pbVar24" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n          piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x5f10))();\n          pwVar16 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n        }" { (expression_statement "piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x5f10))();" (assignment_expression "piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x5f10))()" identifier = (cast_expression "(int *)(**(code **)(pcStack_2e0 + -0x5f10))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_2e0 + -0x5f10))()" (parenthesized_expression "(**(code **)(pcStack_2e0 + -0x5f10))" ( (pointer_expression "**(code **)(pcStack_2e0 + -0x5f10)" * (pointer_expression "*(code **)(pcStack_2e0 + -0x5f10)" * (cast_expression "(code **)(pcStack_2e0 + -0x5f10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x5f10)" ( (binary_expression "pcStack_2e0 + -0x5f10" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "pwVar16 = *(word **)(*piVar9 + (int)pbVar24 * 4);" (assignment_expression "pwVar16 = *(word **)(*piVar9 + (int)pbVar24 * 4)" identifier = (pointer_expression "*(word **)(*piVar9 + (int)pbVar24 * 4)" * (cast_expression "(word **)(*piVar9 + (int)pbVar24 * 4)" ( (type_descriptor "word **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar9 + (int)pbVar24 * 4)" ( (binary_expression "*piVar9 + (int)pbVar24 * 4" (pointer_expression "*piVar9" * identifier) + (binary_expression "(int)pbVar24 * 4" (cast_expression "(int)pbVar24" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ))))) ;) })) })) (expression_statement "pwVar18 = (word *)*puVar21;" (assignment_expression "pwVar18 = (word *)*puVar21" identifier = (cast_expression "(word *)*puVar21" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar21" * identifier))) ;) (expression_statement "(**(code **)(pcStack_2e0 + -0x61f0))(pwVar16);" (call_expression "(**(code **)(pcStack_2e0 + -0x61f0))(pwVar16)" (parenthesized_expression "(**(code **)(pcStack_2e0 + -0x61f0))" ( (pointer_expression "**(code **)(pcStack_2e0 + -0x61f0)" * (pointer_expression "*(code **)(pcStack_2e0 + -0x61f0)" * (cast_expression "(code **)(pcStack_2e0 + -0x61f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x61f0)" ( (binary_expression "pcStack_2e0 + -0x61f0" identifier + number_literal) ))))) )) (argument_list "(pwVar16)" ( identifier ))) ;) (expression_statement "pwVar20 = pwVar20 + 1;" (assignment_expression "pwVar20 = pwVar20 + 1" identifier = (binary_expression "pwVar20 + 1" identifier + number_literal)) ;) (expression_statement "pwVar14 = (word *)((int)pwVar14 + 1);" (assignment_expression "pwVar14 = (word *)((int)pwVar14 + 1)" identifier = (cast_expression "(word *)((int)pwVar14 + 1)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwVar14 + 1)" ( (binary_expression "(int)pwVar14 + 1" (cast_expression "(int)pwVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "aiStack_2c8[1] = 0;" (assignment_expression "aiStack_2c8[1] = 0" (subscript_expression "aiStack_2c8[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "aiStack_2c8[2] = 0;" (assignment_expression "aiStack_2c8[2] = 0" (subscript_expression "aiStack_2c8[2]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else if (bVar2 == 0x7f) {\n      (**(code **)(pcStack_2e0 + -0x61f0))(0x5e,*puVar21);\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(0x3f);\n      pwVar20 = pwVar20 + 1;\n      pwVar14 = (word *)((int)pwVar14 + 1);\n      aiStack_2c8[1] = 0;\n      aiStack_2c8[2] = 0;\n    }\n    else {\n      pwVar15 = (word *)(iStack_2d4 - (int)pwVar14);\n      pwVar18 = pwVar14;\n      pwVar16 = (word *)(**(code **)(pcStack_2e0 + -0x6084))(aiStack_2c8,pwVar14,pwVar15);\n      iVar5 = 1;\n      if (pwVar16 + 1 < (word *)0x2) {\n        aiStack_2c8[1] = 0;\n        aiStack_2c8[2] = 0;\n        pwVar16 = (word *)0x1;\n      }\n      else {\n        if (pwVar16 == (word *)0x0) break;\n        if (aiStack_2c8[0] < 0x40) {\n          if (aiStack_2c8[0] < 0x25) {\n            pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n            if (3 < aiStack_2c8[0] - 0x20U) goto LAB_000fc9c0;\n          }\n          else {\n            iVar5 = 1;\n          }\n        }\n        else if (aiStack_2c8[0] < 0x41) {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\nLAB_000fc9c0:\n          iVar5 = (*pcVar23)();\n        }\n        else if (aiStack_2c8[0] < 0x60) {\n          iVar5 = 1;\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n          if (0x1d < aiStack_2c8[0] - 0x61U) goto LAB_000fc9c0;\n          iVar5 = 1;\n        }\n        if (iVar5 < 0) {\n          iVar5 = 1;\n        }\n      }\n      pwVar18 = (word *)0x1;\n      pwVar15 = pwVar16;\n      (**(code **)(pcStack_2e0 + -0x6054))(pwVar14,1,pwVar16,*puVar21);\n      pwVar14 = (word *)((int)pwVar14 + (int)pwVar16);\n      pwVar20 = (word *)((int)pwVar20 + iVar5);\n    }" else (if_statement "if (bVar2 == 0x7f) {\n      (**(code **)(pcStack_2e0 + -0x61f0))(0x5e,*puVar21);\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(0x3f);\n      pwVar20 = pwVar20 + 1;\n      pwVar14 = (word *)((int)pwVar14 + 1);\n      aiStack_2c8[1] = 0;\n      aiStack_2c8[2] = 0;\n    }\n    else {\n      pwVar15 = (word *)(iStack_2d4 - (int)pwVar14);\n      pwVar18 = pwVar14;\n      pwVar16 = (word *)(**(code **)(pcStack_2e0 + -0x6084))(aiStack_2c8,pwVar14,pwVar15);\n      iVar5 = 1;\n      if (pwVar16 + 1 < (word *)0x2) {\n        aiStack_2c8[1] = 0;\n        aiStack_2c8[2] = 0;\n        pwVar16 = (word *)0x1;\n      }\n      else {\n        if (pwVar16 == (word *)0x0) break;\n        if (aiStack_2c8[0] < 0x40) {\n          if (aiStack_2c8[0] < 0x25) {\n            pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n            if (3 < aiStack_2c8[0] - 0x20U) goto LAB_000fc9c0;\n          }\n          else {\n            iVar5 = 1;\n          }\n        }\n        else if (aiStack_2c8[0] < 0x41) {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\nLAB_000fc9c0:\n          iVar5 = (*pcVar23)();\n        }\n        else if (aiStack_2c8[0] < 0x60) {\n          iVar5 = 1;\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n          if (0x1d < aiStack_2c8[0] - 0x61U) goto LAB_000fc9c0;\n          iVar5 = 1;\n        }\n        if (iVar5 < 0) {\n          iVar5 = 1;\n        }\n      }\n      pwVar18 = (word *)0x1;\n      pwVar15 = pwVar16;\n      (**(code **)(pcStack_2e0 + -0x6054))(pwVar14,1,pwVar16,*puVar21);\n      pwVar14 = (word *)((int)pwVar14 + (int)pwVar16);\n      pwVar20 = (word *)((int)pwVar20 + iVar5);\n    }" if (parenthesized_expression "(bVar2 == 0x7f)" ( (binary_expression "bVar2 == 0x7f" identifier == number_literal) )) (compound_statement "{\n      (**(code **)(pcStack_2e0 + -0x61f0))(0x5e,*puVar21);\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(0x3f);\n      pwVar20 = pwVar20 + 1;\n      pwVar14 = (word *)((int)pwVar14 + 1);\n      aiStack_2c8[1] = 0;\n      aiStack_2c8[2] = 0;\n    }" { (expression_statement "(**(code **)(pcStack_2e0 + -0x61f0))(0x5e,*puVar21);" (call_expression "(**(code **)(pcStack_2e0 + -0x61f0))(0x5e,*puVar21)" (parenthesized_expression "(**(code **)(pcStack_2e0 + -0x61f0))" ( (pointer_expression "**(code **)(pcStack_2e0 + -0x61f0)" * (pointer_expression "*(code **)(pcStack_2e0 + -0x61f0)" * (cast_expression "(code **)(pcStack_2e0 + -0x61f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x61f0)" ( (binary_expression "pcStack_2e0 + -0x61f0" identifier + number_literal) ))))) )) (argument_list "(0x5e,*puVar21)" ( number_literal , (pointer_expression "*puVar21" * identifier) ))) ;) (expression_statement "pwVar18 = (word *)*puVar21;" (assignment_expression "pwVar18 = (word *)*puVar21" identifier = (cast_expression "(word *)*puVar21" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar21" * identifier))) ;) (expression_statement "(**(code **)(pcStack_2e0 + -0x61f0))(0x3f);" (call_expression "(**(code **)(pcStack_2e0 + -0x61f0))(0x3f)" (parenthesized_expression "(**(code **)(pcStack_2e0 + -0x61f0))" ( (pointer_expression "**(code **)(pcStack_2e0 + -0x61f0)" * (pointer_expression "*(code **)(pcStack_2e0 + -0x61f0)" * (cast_expression "(code **)(pcStack_2e0 + -0x61f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x61f0)" ( (binary_expression "pcStack_2e0 + -0x61f0" identifier + number_literal) ))))) )) (argument_list "(0x3f)" ( number_literal ))) ;) (expression_statement "pwVar20 = pwVar20 + 1;" (assignment_expression "pwVar20 = pwVar20 + 1" identifier = (binary_expression "pwVar20 + 1" identifier + number_literal)) ;) (expression_statement "pwVar14 = (word *)((int)pwVar14 + 1);" (assignment_expression "pwVar14 = (word *)((int)pwVar14 + 1)" identifier = (cast_expression "(word *)((int)pwVar14 + 1)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwVar14 + 1)" ( (binary_expression "(int)pwVar14 + 1" (cast_expression "(int)pwVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "aiStack_2c8[1] = 0;" (assignment_expression "aiStack_2c8[1] = 0" (subscript_expression "aiStack_2c8[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "aiStack_2c8[2] = 0;" (assignment_expression "aiStack_2c8[2] = 0" (subscript_expression "aiStack_2c8[2]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n      pwVar15 = (word *)(iStack_2d4 - (int)pwVar14);\n      pwVar18 = pwVar14;\n      pwVar16 = (word *)(**(code **)(pcStack_2e0 + -0x6084))(aiStack_2c8,pwVar14,pwVar15);\n      iVar5 = 1;\n      if (pwVar16 + 1 < (word *)0x2) {\n        aiStack_2c8[1] = 0;\n        aiStack_2c8[2] = 0;\n        pwVar16 = (word *)0x1;\n      }\n      else {\n        if (pwVar16 == (word *)0x0) break;\n        if (aiStack_2c8[0] < 0x40) {\n          if (aiStack_2c8[0] < 0x25) {\n            pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n            if (3 < aiStack_2c8[0] - 0x20U) goto LAB_000fc9c0;\n          }\n          else {\n            iVar5 = 1;\n          }\n        }\n        else if (aiStack_2c8[0] < 0x41) {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\nLAB_000fc9c0:\n          iVar5 = (*pcVar23)();\n        }\n        else if (aiStack_2c8[0] < 0x60) {\n          iVar5 = 1;\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n          if (0x1d < aiStack_2c8[0] - 0x61U) goto LAB_000fc9c0;\n          iVar5 = 1;\n        }\n        if (iVar5 < 0) {\n          iVar5 = 1;\n        }\n      }\n      pwVar18 = (word *)0x1;\n      pwVar15 = pwVar16;\n      (**(code **)(pcStack_2e0 + -0x6054))(pwVar14,1,pwVar16,*puVar21);\n      pwVar14 = (word *)((int)pwVar14 + (int)pwVar16);\n      pwVar20 = (word *)((int)pwVar20 + iVar5);\n    }" else (compound_statement "{\n      pwVar15 = (word *)(iStack_2d4 - (int)pwVar14);\n      pwVar18 = pwVar14;\n      pwVar16 = (word *)(**(code **)(pcStack_2e0 + -0x6084))(aiStack_2c8,pwVar14,pwVar15);\n      iVar5 = 1;\n      if (pwVar16 + 1 < (word *)0x2) {\n        aiStack_2c8[1] = 0;\n        aiStack_2c8[2] = 0;\n        pwVar16 = (word *)0x1;\n      }\n      else {\n        if (pwVar16 == (word *)0x0) break;\n        if (aiStack_2c8[0] < 0x40) {\n          if (aiStack_2c8[0] < 0x25) {\n            pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n            if (3 < aiStack_2c8[0] - 0x20U) goto LAB_000fc9c0;\n          }\n          else {\n            iVar5 = 1;\n          }\n        }\n        else if (aiStack_2c8[0] < 0x41) {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\nLAB_000fc9c0:\n          iVar5 = (*pcVar23)();\n        }\n        else if (aiStack_2c8[0] < 0x60) {\n          iVar5 = 1;\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n          if (0x1d < aiStack_2c8[0] - 0x61U) goto LAB_000fc9c0;\n          iVar5 = 1;\n        }\n        if (iVar5 < 0) {\n          iVar5 = 1;\n        }\n      }\n      pwVar18 = (word *)0x1;\n      pwVar15 = pwVar16;\n      (**(code **)(pcStack_2e0 + -0x6054))(pwVar14,1,pwVar16,*puVar21);\n      pwVar14 = (word *)((int)pwVar14 + (int)pwVar16);\n      pwVar20 = (word *)((int)pwVar20 + iVar5);\n    }" { (expression_statement "pwVar15 = (word *)(iStack_2d4 - (int)pwVar14);" (assignment_expression "pwVar15 = (word *)(iStack_2d4 - (int)pwVar14)" identifier = (cast_expression "(word *)(iStack_2d4 - (int)pwVar14)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_2d4 - (int)pwVar14)" ( (binary_expression "iStack_2d4 - (int)pwVar14" identifier - (cast_expression "(int)pwVar14" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pwVar18 = pwVar14;" (assignment_expression "pwVar18 = pwVar14" identifier = identifier) ;) (expression_statement "pwVar16 = (word *)(**(code **)(pcStack_2e0 + -0x6084))(aiStack_2c8,pwVar14,pwVar15);" (assignment_expression "pwVar16 = (word *)(**(code **)(pcStack_2e0 + -0x6084))(aiStack_2c8,pwVar14,pwVar15)" identifier = (cast_expression "(word *)(**(code **)(pcStack_2e0 + -0x6084))(aiStack_2c8,pwVar14,pwVar15)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_2e0 + -0x6084))(aiStack_2c8,pwVar14,pwVar15)" (parenthesized_expression "(**(code **)(pcStack_2e0 + -0x6084))" ( (pointer_expression "**(code **)(pcStack_2e0 + -0x6084)" * (pointer_expression "*(code **)(pcStack_2e0 + -0x6084)" * (cast_expression "(code **)(pcStack_2e0 + -0x6084)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x6084)" ( (binary_expression "pcStack_2e0 + -0x6084" identifier + number_literal) ))))) )) (argument_list "(aiStack_2c8,pwVar14,pwVar15)" ( identifier , identifier , identifier ))))) ;) (expression_statement "iVar5 = 1;" (assignment_expression "iVar5 = 1" identifier = number_literal) ;) (if_statement "if (pwVar16 + 1 < (word *)0x2) {\n        aiStack_2c8[1] = 0;\n        aiStack_2c8[2] = 0;\n        pwVar16 = (word *)0x1;\n      }\n      else {\n        if (pwVar16 == (word *)0x0) break;\n        if (aiStack_2c8[0] < 0x40) {\n          if (aiStack_2c8[0] < 0x25) {\n            pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n            if (3 < aiStack_2c8[0] - 0x20U) goto LAB_000fc9c0;\n          }\n          else {\n            iVar5 = 1;\n          }\n        }\n        else if (aiStack_2c8[0] < 0x41) {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\nLAB_000fc9c0:\n          iVar5 = (*pcVar23)();\n        }\n        else if (aiStack_2c8[0] < 0x60) {\n          iVar5 = 1;\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n          if (0x1d < aiStack_2c8[0] - 0x61U) goto LAB_000fc9c0;\n          iVar5 = 1;\n        }\n        if (iVar5 < 0) {\n          iVar5 = 1;\n        }\n      }" if (parenthesized_expression "(pwVar16 + 1 < (word *)0x2)" ( (binary_expression "pwVar16 + 1 < (word *)0x2" (binary_expression "pwVar16 + 1" identifier + number_literal) < (cast_expression "(word *)0x2" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        aiStack_2c8[1] = 0;\n        aiStack_2c8[2] = 0;\n        pwVar16 = (word *)0x1;\n      }" { (expression_statement "aiStack_2c8[1] = 0;" (assignment_expression "aiStack_2c8[1] = 0" (subscript_expression "aiStack_2c8[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "aiStack_2c8[2] = 0;" (assignment_expression "aiStack_2c8[2] = 0" (subscript_expression "aiStack_2c8[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pwVar16 = (word *)0x1;" (assignment_expression "pwVar16 = (word *)0x1" identifier = (cast_expression "(word *)0x1" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n        if (pwVar16 == (word *)0x0) break;\n        if (aiStack_2c8[0] < 0x40) {\n          if (aiStack_2c8[0] < 0x25) {\n            pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n            if (3 < aiStack_2c8[0] - 0x20U) goto LAB_000fc9c0;\n          }\n          else {\n            iVar5 = 1;\n          }\n        }\n        else if (aiStack_2c8[0] < 0x41) {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\nLAB_000fc9c0:\n          iVar5 = (*pcVar23)();\n        }\n        else if (aiStack_2c8[0] < 0x60) {\n          iVar5 = 1;\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n          if (0x1d < aiStack_2c8[0] - 0x61U) goto LAB_000fc9c0;\n          iVar5 = 1;\n        }\n        if (iVar5 < 0) {\n          iVar5 = 1;\n        }\n      }" else (compound_statement "{\n        if (pwVar16 == (word *)0x0) break;\n        if (aiStack_2c8[0] < 0x40) {\n          if (aiStack_2c8[0] < 0x25) {\n            pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n            if (3 < aiStack_2c8[0] - 0x20U) goto LAB_000fc9c0;\n          }\n          else {\n            iVar5 = 1;\n          }\n        }\n        else if (aiStack_2c8[0] < 0x41) {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\nLAB_000fc9c0:\n          iVar5 = (*pcVar23)();\n        }\n        else if (aiStack_2c8[0] < 0x60) {\n          iVar5 = 1;\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n          if (0x1d < aiStack_2c8[0] - 0x61U) goto LAB_000fc9c0;\n          iVar5 = 1;\n        }\n        if (iVar5 < 0) {\n          iVar5 = 1;\n        }\n      }" { (if_statement "if (pwVar16 == (word *)0x0) break;" if (parenthesized_expression "(pwVar16 == (word *)0x0)" ( (binary_expression "pwVar16 == (word *)0x0" identifier == (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (if_statement "if (aiStack_2c8[0] < 0x40) {\n          if (aiStack_2c8[0] < 0x25) {\n            pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n            if (3 < aiStack_2c8[0] - 0x20U) goto LAB_000fc9c0;\n          }\n          else {\n            iVar5 = 1;\n          }\n        }\n        else if (aiStack_2c8[0] < 0x41) {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\nLAB_000fc9c0:\n          iVar5 = (*pcVar23)();\n        }\n        else if (aiStack_2c8[0] < 0x60) {\n          iVar5 = 1;\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n          if (0x1d < aiStack_2c8[0] - 0x61U) goto LAB_000fc9c0;\n          iVar5 = 1;\n        }" if (parenthesized_expression "(aiStack_2c8[0] < 0x40)" ( (binary_expression "aiStack_2c8[0] < 0x40" (subscript_expression "aiStack_2c8[0]" identifier [ number_literal ]) < number_literal) )) (compound_statement "{\n          if (aiStack_2c8[0] < 0x25) {\n            pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n            if (3 < aiStack_2c8[0] - 0x20U) goto LAB_000fc9c0;\n          }\n          else {\n            iVar5 = 1;\n          }\n        }" { (if_statement "if (aiStack_2c8[0] < 0x25) {\n            pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n            if (3 < aiStack_2c8[0] - 0x20U) goto LAB_000fc9c0;\n          }\n          else {\n            iVar5 = 1;\n          }" if (parenthesized_expression "(aiStack_2c8[0] < 0x25)" ( (binary_expression "aiStack_2c8[0] < 0x25" (subscript_expression "aiStack_2c8[0]" identifier [ number_literal ]) < number_literal) )) (compound_statement "{\n            pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n            if (3 < aiStack_2c8[0] - 0x20U) goto LAB_000fc9c0;\n          }" { (expression_statement "pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);" (assignment_expression "pcVar23 = *(code **)(pcStack_2e0 + -0x5f84)" identifier = (pointer_expression "*(code **)(pcStack_2e0 + -0x5f84)" * (cast_expression "(code **)(pcStack_2e0 + -0x5f84)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x5f84)" ( (binary_expression "pcStack_2e0 + -0x5f84" identifier + number_literal) ))))) ;) (if_statement "if (3 < aiStack_2c8[0] - 0x20U) goto LAB_000fc9c0;" if (parenthesized_expression "(3 < aiStack_2c8[0] - 0x20U)" ( (binary_expression "3 < aiStack_2c8[0] - 0x20U" number_literal < (binary_expression "aiStack_2c8[0] - 0x20U" (subscript_expression "aiStack_2c8[0]" identifier [ number_literal ]) - number_literal)) )) (goto_statement "goto LAB_000fc9c0;" goto statement_identifier ;)) }) (else_clause "else {\n            iVar5 = 1;\n          }" else (compound_statement "{\n            iVar5 = 1;\n          }" { (expression_statement "iVar5 = 1;" (assignment_expression "iVar5 = 1" identifier = number_literal) ;) }))) }) (else_clause "else if (aiStack_2c8[0] < 0x41) {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\nLAB_000fc9c0:\n          iVar5 = (*pcVar23)();\n        }\n        else if (aiStack_2c8[0] < 0x60) {\n          iVar5 = 1;\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n          if (0x1d < aiStack_2c8[0] - 0x61U) goto LAB_000fc9c0;\n          iVar5 = 1;\n        }" else (if_statement "if (aiStack_2c8[0] < 0x41) {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\nLAB_000fc9c0:\n          iVar5 = (*pcVar23)();\n        }\n        else if (aiStack_2c8[0] < 0x60) {\n          iVar5 = 1;\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n          if (0x1d < aiStack_2c8[0] - 0x61U) goto LAB_000fc9c0;\n          iVar5 = 1;\n        }" if (parenthesized_expression "(aiStack_2c8[0] < 0x41)" ( (binary_expression "aiStack_2c8[0] < 0x41" (subscript_expression "aiStack_2c8[0]" identifier [ number_literal ]) < number_literal) )) (compound_statement "{\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\nLAB_000fc9c0:\n          iVar5 = (*pcVar23)();\n        }" { (expression_statement "pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);" (assignment_expression "pcVar23 = *(code **)(pcStack_2e0 + -0x5f84)" identifier = (pointer_expression "*(code **)(pcStack_2e0 + -0x5f84)" * (cast_expression "(code **)(pcStack_2e0 + -0x5f84)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x5f84)" ( (binary_expression "pcStack_2e0 + -0x5f84" identifier + number_literal) ))))) ;) (labeled_statement "LAB_000fc9c0:\n          iVar5 = (*pcVar23)();" statement_identifier : (expression_statement "iVar5 = (*pcVar23)();" (assignment_expression "iVar5 = (*pcVar23)()" identifier = (call_expression "(*pcVar23)()" (parenthesized_expression "(*pcVar23)" ( (pointer_expression "*pcVar23" * identifier) )) (argument_list "()" ( )))) ;)) }) (else_clause "else if (aiStack_2c8[0] < 0x60) {\n          iVar5 = 1;\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n          if (0x1d < aiStack_2c8[0] - 0x61U) goto LAB_000fc9c0;\n          iVar5 = 1;\n        }" else (if_statement "if (aiStack_2c8[0] < 0x60) {\n          iVar5 = 1;\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n          if (0x1d < aiStack_2c8[0] - 0x61U) goto LAB_000fc9c0;\n          iVar5 = 1;\n        }" if (parenthesized_expression "(aiStack_2c8[0] < 0x60)" ( (binary_expression "aiStack_2c8[0] < 0x60" (subscript_expression "aiStack_2c8[0]" identifier [ number_literal ]) < number_literal) )) (compound_statement "{\n          iVar5 = 1;\n        }" { (expression_statement "iVar5 = 1;" (assignment_expression "iVar5 = 1" identifier = number_literal) ;) }) (else_clause "else {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n          if (0x1d < aiStack_2c8[0] - 0x61U) goto LAB_000fc9c0;\n          iVar5 = 1;\n        }" else (compound_statement "{\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n          if (0x1d < aiStack_2c8[0] - 0x61U) goto LAB_000fc9c0;\n          iVar5 = 1;\n        }" { (expression_statement "pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);" (assignment_expression "pcVar23 = *(code **)(pcStack_2e0 + -0x5f84)" identifier = (pointer_expression "*(code **)(pcStack_2e0 + -0x5f84)" * (cast_expression "(code **)(pcStack_2e0 + -0x5f84)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x5f84)" ( (binary_expression "pcStack_2e0 + -0x5f84" identifier + number_literal) ))))) ;) (if_statement "if (0x1d < aiStack_2c8[0] - 0x61U) goto LAB_000fc9c0;" if (parenthesized_expression "(0x1d < aiStack_2c8[0] - 0x61U)" ( (binary_expression "0x1d < aiStack_2c8[0] - 0x61U" number_literal < (binary_expression "aiStack_2c8[0] - 0x61U" (subscript_expression "aiStack_2c8[0]" identifier [ number_literal ]) - number_literal)) )) (goto_statement "goto LAB_000fc9c0;" goto statement_identifier ;)) (expression_statement "iVar5 = 1;" (assignment_expression "iVar5 = 1" identifier = number_literal) ;) }))))))) (if_statement "if (iVar5 < 0) {\n          iVar5 = 1;\n        }" if (parenthesized_expression "(iVar5 < 0)" ( (binary_expression "iVar5 < 0" identifier < number_literal) )) (compound_statement "{\n          iVar5 = 1;\n        }" { (expression_statement "iVar5 = 1;" (assignment_expression "iVar5 = 1" identifier = number_literal) ;) })) }))) (expression_statement "pwVar18 = (word *)0x1;" (assignment_expression "pwVar18 = (word *)0x1" identifier = (cast_expression "(word *)0x1" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pwVar15 = pwVar16;" (assignment_expression "pwVar15 = pwVar16" identifier = identifier) ;) (expression_statement "(**(code **)(pcStack_2e0 + -0x6054))(pwVar14,1,pwVar16,*puVar21);" (call_expression "(**(code **)(pcStack_2e0 + -0x6054))(pwVar14,1,pwVar16,*puVar21)" (parenthesized_expression "(**(code **)(pcStack_2e0 + -0x6054))" ( (pointer_expression "**(code **)(pcStack_2e0 + -0x6054)" * (pointer_expression "*(code **)(pcStack_2e0 + -0x6054)" * (cast_expression "(code **)(pcStack_2e0 + -0x6054)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x6054)" ( (binary_expression "pcStack_2e0 + -0x6054" identifier + number_literal) ))))) )) (argument_list "(pwVar14,1,pwVar16,*puVar21)" ( identifier , number_literal , identifier , (pointer_expression "*puVar21" * identifier) ))) ;) (expression_statement "pwVar14 = (word *)((int)pwVar14 + (int)pwVar16);" (assignment_expression "pwVar14 = (word *)((int)pwVar14 + (int)pwVar16)" identifier = (cast_expression "(word *)((int)pwVar14 + (int)pwVar16)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwVar14 + (int)pwVar16)" ( (binary_expression "(int)pwVar14 + (int)pwVar16" (cast_expression "(int)pwVar14" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pwVar16" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pwVar20 = (word *)((int)pwVar20 + iVar5);" (assignment_expression "pwVar20 = (word *)((int)pwVar20 + iVar5)" identifier = (cast_expression "(word *)((int)pwVar20 + iVar5)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwVar20 + iVar5)" ( (binary_expression "(int)pwVar20 + iVar5" (cast_expression "(int)pwVar20" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) }))))) (if_statement "if ((0 < (int)pwVar6) && ((int)pwVar6 <= (int)pwVar14 - iVar11)) {\n      (**(code **)(pcStack_2e0 + -0x658c))();\n      (**(code **)(pcStack_2e0 + -0x6588))(iStack_2d0);\n      pwVar6 = (word *)**(undefined4 **)(pcStack_2e0 + -0x67a8);\n      if (pwVar6 != (word *)0x0) {\n        (**(code **)(pcStack_2e0 + -0x659c))();\n        (**(code **)(pcStack_2e0 + -0x6594))(pwStack_2cc);\n        pwVar6 = (word *)0x0;\n      }\n    }" if (parenthesized_expression "((0 < (int)pwVar6) && ((int)pwVar6 <= (int)pwVar14 - iVar11))" ( (binary_expression "(0 < (int)pwVar6) && ((int)pwVar6 <= (int)pwVar14 - iVar11)" (parenthesized_expression "(0 < (int)pwVar6)" ( (binary_expression "0 < (int)pwVar6" number_literal < (cast_expression "(int)pwVar6" ( (type_descriptor "int" primitive_type) ) identifier)) )) && (parenthesized_expression "((int)pwVar6 <= (int)pwVar14 - iVar11)" ( (binary_expression "(int)pwVar6 <= (int)pwVar14 - iVar11" (cast_expression "(int)pwVar6" ( (type_descriptor "int" primitive_type) ) identifier) <= (binary_expression "(int)pwVar14 - iVar11" (cast_expression "(int)pwVar14" ( (type_descriptor "int" primitive_type) ) identifier) - identifier)) ))) )) (compound_statement "{\n      (**(code **)(pcStack_2e0 + -0x658c))();\n      (**(code **)(pcStack_2e0 + -0x6588))(iStack_2d0);\n      pwVar6 = (word *)**(undefined4 **)(pcStack_2e0 + -0x67a8);\n      if (pwVar6 != (word *)0x0) {\n        (**(code **)(pcStack_2e0 + -0x659c))();\n        (**(code **)(pcStack_2e0 + -0x6594))(pwStack_2cc);\n        pwVar6 = (word *)0x0;\n      }\n    }" { (expression_statement "(**(code **)(pcStack_2e0 + -0x658c))();" (call_expression "(**(code **)(pcStack_2e0 + -0x658c))()" (parenthesized_expression "(**(code **)(pcStack_2e0 + -0x658c))" ( (pointer_expression "**(code **)(pcStack_2e0 + -0x658c)" * (pointer_expression "*(code **)(pcStack_2e0 + -0x658c)" * (cast_expression "(code **)(pcStack_2e0 + -0x658c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x658c)" ( (binary_expression "pcStack_2e0 + -0x658c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "(**(code **)(pcStack_2e0 + -0x6588))(iStack_2d0);" (call_expression "(**(code **)(pcStack_2e0 + -0x6588))(iStack_2d0)" (parenthesized_expression "(**(code **)(pcStack_2e0 + -0x6588))" ( (pointer_expression "**(code **)(pcStack_2e0 + -0x6588)" * (pointer_expression "*(code **)(pcStack_2e0 + -0x6588)" * (cast_expression "(code **)(pcStack_2e0 + -0x6588)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x6588)" ( (binary_expression "pcStack_2e0 + -0x6588" identifier + number_literal) ))))) )) (argument_list "(iStack_2d0)" ( identifier ))) ;) (expression_statement "pwVar6 = (word *)**(undefined4 **)(pcStack_2e0 + -0x67a8);" (assignment_expression "pwVar6 = (word *)**(undefined4 **)(pcStack_2e0 + -0x67a8)" identifier = (cast_expression "(word *)**(undefined4 **)(pcStack_2e0 + -0x67a8)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcStack_2e0 + -0x67a8)" * (pointer_expression "*(undefined4 **)(pcStack_2e0 + -0x67a8)" * (cast_expression "(undefined4 **)(pcStack_2e0 + -0x67a8)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x67a8)" ( (binary_expression "pcStack_2e0 + -0x67a8" identifier + number_literal) ))))))) ;) (if_statement "if (pwVar6 != (word *)0x0) {\n        (**(code **)(pcStack_2e0 + -0x659c))();\n        (**(code **)(pcStack_2e0 + -0x6594))(pwStack_2cc);\n        pwVar6 = (word *)0x0;\n      }" if (parenthesized_expression "(pwVar6 != (word *)0x0)" ( (binary_expression "pwVar6 != (word *)0x0" identifier != (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        (**(code **)(pcStack_2e0 + -0x659c))();\n        (**(code **)(pcStack_2e0 + -0x6594))(pwStack_2cc);\n        pwVar6 = (word *)0x0;\n      }" { (expression_statement "(**(code **)(pcStack_2e0 + -0x659c))();" (call_expression "(**(code **)(pcStack_2e0 + -0x659c))()" (parenthesized_expression "(**(code **)(pcStack_2e0 + -0x659c))" ( (pointer_expression "**(code **)(pcStack_2e0 + -0x659c)" * (pointer_expression "*(code **)(pcStack_2e0 + -0x659c)" * (cast_expression "(code **)(pcStack_2e0 + -0x659c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x659c)" ( (binary_expression "pcStack_2e0 + -0x659c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "(**(code **)(pcStack_2e0 + -0x6594))(pwStack_2cc);" (call_expression "(**(code **)(pcStack_2e0 + -0x6594))(pwStack_2cc)" (parenthesized_expression "(**(code **)(pcStack_2e0 + -0x6594))" ( (pointer_expression "**(code **)(pcStack_2e0 + -0x6594)" * (pointer_expression "*(code **)(pcStack_2e0 + -0x6594)" * (cast_expression "(code **)(pcStack_2e0 + -0x6594)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x6594)" ( (binary_expression "pcStack_2e0 + -0x6594" identifier + number_literal) ))))) )) (argument_list "(pwStack_2cc)" ( identifier ))) ;) (expression_statement "pwVar6 = (word *)0x0;" (assignment_expression "pwVar6 = (word *)0x0" identifier = (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) })) })) (if_statement "if (**(int **)(pcStack_2e0 + -0x67a8) != 0) {\n    (**(code **)(pcStack_2e0 + -0x658c))();\n    (**(code **)(pcStack_2e0 + -0x6588))(*(int *)(pcStack_2e0 + -26000) + 0xb8);\n  }" if (parenthesized_expression "(**(int **)(pcStack_2e0 + -0x67a8) != 0)" ( (binary_expression "**(int **)(pcStack_2e0 + -0x67a8) != 0" (pointer_expression "**(int **)(pcStack_2e0 + -0x67a8)" * (pointer_expression "*(int **)(pcStack_2e0 + -0x67a8)" * (cast_expression "(int **)(pcStack_2e0 + -0x67a8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x67a8)" ( (binary_expression "pcStack_2e0 + -0x67a8" identifier + number_literal) ))))) != number_literal) )) (compound_statement "{\n    (**(code **)(pcStack_2e0 + -0x658c))();\n    (**(code **)(pcStack_2e0 + -0x6588))(*(int *)(pcStack_2e0 + -26000) + 0xb8);\n  }" { (expression_statement "(**(code **)(pcStack_2e0 + -0x658c))();" (call_expression "(**(code **)(pcStack_2e0 + -0x658c))()" (parenthesized_expression "(**(code **)(pcStack_2e0 + -0x658c))" ( (pointer_expression "**(code **)(pcStack_2e0 + -0x658c)" * (pointer_expression "*(code **)(pcStack_2e0 + -0x658c)" * (cast_expression "(code **)(pcStack_2e0 + -0x658c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x658c)" ( (binary_expression "pcStack_2e0 + -0x658c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "(**(code **)(pcStack_2e0 + -0x6588))(*(int *)(pcStack_2e0 + -26000) + 0xb8);" (call_expression "(**(code **)(pcStack_2e0 + -0x6588))(*(int *)(pcStack_2e0 + -26000) + 0xb8)" (parenthesized_expression "(**(code **)(pcStack_2e0 + -0x6588))" ( (pointer_expression "**(code **)(pcStack_2e0 + -0x6588)" * (pointer_expression "*(code **)(pcStack_2e0 + -0x6588)" * (cast_expression "(code **)(pcStack_2e0 + -0x6588)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x6588)" ( (binary_expression "pcStack_2e0 + -0x6588" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcStack_2e0 + -26000) + 0xb8)" ( (binary_expression "*(int *)(pcStack_2e0 + -26000) + 0xb8" (pointer_expression "*(int *)(pcStack_2e0 + -26000)" * (cast_expression "(int *)(pcStack_2e0 + -26000)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_2e0 + -26000)" ( (binary_expression "pcStack_2e0 + -26000" identifier + number_literal) )))) + number_literal) ))) ;) })) (if_statement "if (pbStack_2bc == (byte *)**(undefined4 **)(pcStack_2e0 + -0x5fb4)) {\n    return pwVar20;\n  }" if (parenthesized_expression "(pbStack_2bc == (byte *)**(undefined4 **)(pcStack_2e0 + -0x5fb4))" ( (binary_expression "pbStack_2bc == (byte *)**(undefined4 **)(pcStack_2e0 + -0x5fb4)" identifier == (cast_expression "(byte *)**(undefined4 **)(pcStack_2e0 + -0x5fb4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcStack_2e0 + -0x5fb4)" * (pointer_expression "*(undefined4 **)(pcStack_2e0 + -0x5fb4)" * (cast_expression "(undefined4 **)(pcStack_2e0 + -0x5fb4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x5fb4)" ( (binary_expression "pcStack_2e0 + -0x5fb4" identifier + number_literal) ))))))) )) (compound_statement "{\n    return pwVar20;\n  }" { (return_statement "return pwVar20;" return identifier ;) })) (expression_statement "pcVar23 = *(code **)(pcStack_2e0 + -0x6004);" (assignment_expression "pcVar23 = *(code **)(pcStack_2e0 + -0x6004)" identifier = (pointer_expression "*(code **)(pcStack_2e0 + -0x6004)" * (cast_expression "(code **)(pcStack_2e0 + -0x6004)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x6004)" ( (binary_expression "pcStack_2e0 + -0x6004" identifier + number_literal) ))))) ;) (expression_statement "pcVar25 = FUN_000fcae4;" (assignment_expression "pcVar25 = FUN_000fcae4" identifier = identifier) ;) (expression_statement "pbVar24 = pbStack_2bc;" (assignment_expression "pbVar24 = pbStack_2bc" identifier = identifier) ;) (expression_statement "(*pcVar23)();" (call_expression "(*pcVar23)()" (parenthesized_expression "(*pcVar23)" ( (pointer_expression "*pcVar23" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "iStack_314 = **(int **)(pcVar23 + 0x5baa8);" (assignment_expression "iStack_314 = **(int **)(pcVar23 + 0x5baa8)" identifier = (pointer_expression "**(int **)(pcVar23 + 0x5baa8)" * (pointer_expression "*(int **)(pcVar23 + 0x5baa8)" * (cast_expression "(int **)(pcVar23 + 0x5baa8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5baa8)" ( (binary_expression "pcVar23 + 0x5baa8" identifier + number_literal) )))))) ;) (expression_statement "pwStack_310 = pwVar14;" (assignment_expression "pwStack_310 = pwVar14" identifier = identifier) ;) (expression_statement "pwStack_30c = pwVar16;" (assignment_expression "pwStack_30c = pwVar16" identifier = identifier) ;) (expression_statement "pwStack_308 = pwVar20;" (assignment_expression "pwStack_308 = pwVar20" identifier = identifier) ;) (expression_statement "pwStack_304 = pwVar6;" (assignment_expression "pwStack_304 = pwVar6" identifier = identifier) ;) (expression_statement "piStack_300 = aiStack_2c8 + 1;" (assignment_expression "piStack_300 = aiStack_2c8 + 1" identifier = (binary_expression "aiStack_2c8 + 1" identifier + number_literal)) ;) (expression_statement "puStack_2fc = puVar21;" (assignment_expression "puStack_2fc = puVar21" identifier = identifier) ;) (expression_statement "iStack_2f8 = iVar11;" (assignment_expression "iStack_2f8 = iVar11" identifier = identifier) ;) (expression_statement "pcStack_2f4 = pcVar25;" (assignment_expression "pcStack_2f4 = pcVar25" identifier = identifier) ;) (if_statement "if ((**(int **)(pcVar23 + 0x5b2b4) == 0) ||\n     (piVar9 = *(int **)(pcVar23 + 0x5b4d8), **(int **)(pcVar23 + 0x5ab50) == 0)) {\n    pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,pbVar24);\n    piVar9 = *(int **)(pcVar23 + 0x5b4d8);\n    if (**(int **)(pcVar23 + 0x5ab50) == 0) goto LAB_000fcb84;\n  }" if (parenthesized_expression "((**(int **)(pcVar23 + 0x5b2b4) == 0) ||\n     (piVar9 = *(int **)(pcVar23 + 0x5b4d8), **(int **)(pcVar23 + 0x5ab50) == 0))" ( (binary_expression "(**(int **)(pcVar23 + 0x5b2b4) == 0) ||\n     (piVar9 = *(int **)(pcVar23 + 0x5b4d8), **(int **)(pcVar23 + 0x5ab50) == 0)" (parenthesized_expression "(**(int **)(pcVar23 + 0x5b2b4) == 0)" ( (binary_expression "**(int **)(pcVar23 + 0x5b2b4) == 0" (pointer_expression "**(int **)(pcVar23 + 0x5b2b4)" * (pointer_expression "*(int **)(pcVar23 + 0x5b2b4)" * (cast_expression "(int **)(pcVar23 + 0x5b2b4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5b2b4)" ( (binary_expression "pcVar23 + 0x5b2b4" identifier + number_literal) ))))) == number_literal) )) || (parenthesized_expression "(piVar9 = *(int **)(pcVar23 + 0x5b4d8), **(int **)(pcVar23 + 0x5ab50) == 0)" ( (comma_expression "piVar9 = *(int **)(pcVar23 + 0x5b4d8), **(int **)(pcVar23 + 0x5ab50) == 0" (assignment_expression "piVar9 = *(int **)(pcVar23 + 0x5b4d8)" identifier = (pointer_expression "*(int **)(pcVar23 + 0x5b4d8)" * (cast_expression "(int **)(pcVar23 + 0x5b4d8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5b4d8)" ( (binary_expression "pcVar23 + 0x5b4d8" identifier + number_literal) ))))) , (binary_expression "**(int **)(pcVar23 + 0x5ab50) == 0" (pointer_expression "**(int **)(pcVar23 + 0x5ab50)" * (pointer_expression "*(int **)(pcVar23 + 0x5ab50)" * (cast_expression "(int **)(pcVar23 + 0x5ab50)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5ab50)" ( (binary_expression "pcVar23 + 0x5ab50" identifier + number_literal) ))))) == number_literal)) ))) )) (compound_statement "{\n    pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,pbVar24);\n    piVar9 = *(int **)(pcVar23 + 0x5b4d8);\n    if (**(int **)(pcVar23 + 0x5ab50) == 0) goto LAB_000fcb84;\n  }" { (expression_statement "pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,pbVar24);" (assignment_expression "pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,pbVar24)" identifier = (cast_expression "(word *)FUN_000fc5fc(pbVar24,pwVar15,pbVar24)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_000fc5fc(pbVar24,pwVar15,pbVar24)" identifier (argument_list "(pbVar24,pwVar15,pbVar24)" ( identifier , identifier , identifier ))))) ;) (expression_statement "piVar9 = *(int **)(pcVar23 + 0x5b4d8);" (assignment_expression "piVar9 = *(int **)(pcVar23 + 0x5b4d8)" identifier = (pointer_expression "*(int **)(pcVar23 + 0x5b4d8)" * (cast_expression "(int **)(pcVar23 + 0x5b4d8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5b4d8)" ( (binary_expression "pcVar23 + 0x5b4d8" identifier + number_literal) ))))) ;) (if_statement "if (**(int **)(pcVar23 + 0x5ab50) == 0) goto LAB_000fcb84;" if (parenthesized_expression "(**(int **)(pcVar23 + 0x5ab50) == 0)" ( (binary_expression "**(int **)(pcVar23 + 0x5ab50) == 0" (pointer_expression "**(int **)(pcVar23 + 0x5ab50)" * (pointer_expression "*(int **)(pcVar23 + 0x5ab50)" * (cast_expression "(int **)(pcVar23 + 0x5ab50)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5ab50)" ( (binary_expression "pcVar23 + 0x5ab50" identifier + number_literal) ))))) == number_literal) )) (goto_statement "goto LAB_000fcb84;" goto statement_identifier ;)) })) (if_statement "if ((*piVar9 == 0 && **(int **)(pcVar23 + 0x5b2b4) == 0) && **(int **)(pcVar23 + 0x5b49c) == 0)\n  goto LAB_000fcb84;" if (parenthesized_expression "((*piVar9 == 0 && **(int **)(pcVar23 + 0x5b2b4) == 0) && **(int **)(pcVar23 + 0x5b49c) == 0)" ( (binary_expression "(*piVar9 == 0 && **(int **)(pcVar23 + 0x5b2b4) == 0) && **(int **)(pcVar23 + 0x5b49c) == 0" (parenthesized_expression "(*piVar9 == 0 && **(int **)(pcVar23 + 0x5b2b4) == 0)" ( (binary_expression "*piVar9 == 0 && **(int **)(pcVar23 + 0x5b2b4) == 0" (binary_expression "*piVar9 == 0" (pointer_expression "*piVar9" * identifier) == number_literal) && (binary_expression "**(int **)(pcVar23 + 0x5b2b4) == 0" (pointer_expression "**(int **)(pcVar23 + 0x5b2b4)" * (pointer_expression "*(int **)(pcVar23 + 0x5b2b4)" * (cast_expression "(int **)(pcVar23 + 0x5b2b4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5b2b4)" ( (binary_expression "pcVar23 + 0x5b2b4" identifier + number_literal) ))))) == number_literal)) )) && (binary_expression "**(int **)(pcVar23 + 0x5b49c) == 0" (pointer_expression "**(int **)(pcVar23 + 0x5b49c)" * (pointer_expression "*(int **)(pcVar23 + 0x5b49c)" * (cast_expression "(int **)(pcVar23 + 0x5b49c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5b49c)" ( (binary_expression "pcVar23 + 0x5b49c" identifier + number_literal) ))))) == number_literal)) )) (goto_statement "goto LAB_000fcb84;" goto statement_identifier ;)) (if_statement "if ((word *)pbVar24 == pwVar18) {\n    iStack_31c = (**(code **)(pcVar23 + 0x5a028))(pwVar18);\n    if (**(int **)(pcVar23 + 0x5b4d8) != 0) {\n      iVar5 = FUN_000f9fd0(iStack_31c);\n      if (**(int **)(pcVar23 + 0x5b2b4) != 0) goto LAB_000fcf40;\n      goto LAB_000fcddc;\n    }\n    if (**(int **)(pcVar23 + 0x5b49c) == 0) {\n      piVar9 = *(int **)(pcVar23 + 0x5b2b4);\nLAB_000fcef0:\n      iVar5 = 0;\n      if (*piVar9 == 0) {\n        (**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);\n        goto LAB_000fcb84;\n      }\nLAB_000fcf40:\n      pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,iStack_31c);\n      goto LAB_000fcddc;\n    }\n    iVar5 = FUN_000fa188(iStack_31c);\n    piVar9 = *(int **)(pcVar23 + 0x5b2b4);\n    if (iVar5 == 0) goto LAB_000fcef0;\n    if (*piVar9 != 0) {\n      iVar5 = 0x2f;\n      goto LAB_000fcf40;\n    }\n    (**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);\n    iVar5 = 0x2f;\n  }\n  else {\n    bVar2 = pbVar24[-1];\n    pbVar24[-1] = 0;\n    if ((pwVar18 == (word *)0x0) || (*(byte *)pwVar18 == 0)) {\n      pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);\n    }\n    else {\n      pwStack_318 = pwVar18;\n      if (*(byte *)pwVar18 == 0x2f) {\n        if ((byte)*pwVar18 == 0) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59acc) + -0x794);\n        }\n        else if (((byte)*pwVar18 == 0x2f) && (*(byte *)(pwVar18 + 1) == 0)) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);\n        }\n      }\n    }\n    iStack_31c = (**(code **)(pcVar23 + 0x5a028))(pwStack_318);\n    if ((code *)**(undefined4 **)(pcVar23 + 0x5ab20) != (code *)0x0) {\n      (*(code *)**(undefined4 **)(pcVar23 + 0x5ab20))(&iStack_31c);\n    }\n    iVar5 = (**(code **)(pcVar23 + 0x5b960))(iStack_31c);\n    iVar13 = (**(code **)(pcVar23 + 0x5b960))(pbVar24);\n    pwVar16 = (word *)(**(code **)(pcVar23 + 0x59ad4))(iVar13 + iVar5 + 2);\n    (**(code **)(pcVar23 + 0x5b9e8))(pwVar16,iStack_31c);\n    if (*(char *)(iStack_31c + iVar5 + -1) == '/') {\n      iVar5 = iVar5 + -1;\n    }\n    else {\n      *(byte *)((int)pwVar16 + iVar5) = 0x2f;\n    }\n    (**(code **)(pcVar23 + 0x5b9e8))((byte *)((int)pwVar16 + iVar5 + 1),pbVar24);\n    if (**(int **)(pcVar23 + 0x5b4d8) == 0) {\n      iVar5 = **(int **)(pcVar23 + 0x5b49c);\n      piVar9 = *(int **)(pcVar23 + 0x5b2b4);\n      if (iVar5 != 0) {\n        pwStack_318 = (word *)0x0;\n        if ((**(int **)(pcVar23 + 0x5ab20) == 0) && (**(int **)(pcVar23 + 0x5ac70) != 0)) {\n          iVar5 = (**(code **)(pcVar23 + 0x5b960))(pwVar16);\n          uVar7 = (**(code **)(pcVar23 + 0x59ad4))(iVar5 + 1);\n          pwStack_318 = (word *)(**(code **)(pcVar23 + 0x5b9e8))(uVar7,pwVar16);\n          (*(code *)**(undefined4 **)(pcVar23 + 0x5ac70))(&pwStack_318);\n          (**(code **)(pcVar23 + 0x5a0d0))(pwVar16);\n          pwVar16 = pwStack_318;\n        }\n        iVar5 = FUN_000fa188(pwVar16);\n        if (iVar5 != 0) {\n          iVar5 = 0x2f;\n        }\n        goto LAB_000fcdb0;\n      }\n    }\n    else {\n      iVar5 = FUN_000f9fd0(pwVar16);\nLAB_000fcdb0:\n      piVar9 = *(int **)(pcVar23 + 0x5b2b4);\n    }\n    if (*piVar9 != 0) {\n      pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,pwVar16);\n    }\n    (**(code **)(pcVar23 + 0x5a0d0))(pwVar16);\n    pbVar24[-1] = bVar2;\nLAB_000fcddc:\n    (**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);\n    if (iVar5 == 0) goto LAB_000fcb84;\n  }" if (parenthesized_expression "((word *)pbVar24 == pwVar18)" ( (binary_expression "(word *)pbVar24 == pwVar18" (cast_expression "(word *)pbVar24" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) == identifier) )) (compound_statement "{\n    iStack_31c = (**(code **)(pcVar23 + 0x5a028))(pwVar18);\n    if (**(int **)(pcVar23 + 0x5b4d8) != 0) {\n      iVar5 = FUN_000f9fd0(iStack_31c);\n      if (**(int **)(pcVar23 + 0x5b2b4) != 0) goto LAB_000fcf40;\n      goto LAB_000fcddc;\n    }\n    if (**(int **)(pcVar23 + 0x5b49c) == 0) {\n      piVar9 = *(int **)(pcVar23 + 0x5b2b4);\nLAB_000fcef0:\n      iVar5 = 0;\n      if (*piVar9 == 0) {\n        (**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);\n        goto LAB_000fcb84;\n      }\nLAB_000fcf40:\n      pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,iStack_31c);\n      goto LAB_000fcddc;\n    }\n    iVar5 = FUN_000fa188(iStack_31c);\n    piVar9 = *(int **)(pcVar23 + 0x5b2b4);\n    if (iVar5 == 0) goto LAB_000fcef0;\n    if (*piVar9 != 0) {\n      iVar5 = 0x2f;\n      goto LAB_000fcf40;\n    }\n    (**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);\n    iVar5 = 0x2f;\n  }" { (expression_statement "iStack_31c = (**(code **)(pcVar23 + 0x5a028))(pwVar18);" (assignment_expression "iStack_31c = (**(code **)(pcVar23 + 0x5a028))(pwVar18)" identifier = (call_expression "(**(code **)(pcVar23 + 0x5a028))(pwVar18)" (parenthesized_expression "(**(code **)(pcVar23 + 0x5a028))" ( (pointer_expression "**(code **)(pcVar23 + 0x5a028)" * (pointer_expression "*(code **)(pcVar23 + 0x5a028)" * (cast_expression "(code **)(pcVar23 + 0x5a028)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5a028)" ( (binary_expression "pcVar23 + 0x5a028" identifier + number_literal) ))))) )) (argument_list "(pwVar18)" ( identifier )))) ;) (if_statement "if (**(int **)(pcVar23 + 0x5b4d8) != 0) {\n      iVar5 = FUN_000f9fd0(iStack_31c);\n      if (**(int **)(pcVar23 + 0x5b2b4) != 0) goto LAB_000fcf40;\n      goto LAB_000fcddc;\n    }" if (parenthesized_expression "(**(int **)(pcVar23 + 0x5b4d8) != 0)" ( (binary_expression "**(int **)(pcVar23 + 0x5b4d8) != 0" (pointer_expression "**(int **)(pcVar23 + 0x5b4d8)" * (pointer_expression "*(int **)(pcVar23 + 0x5b4d8)" * (cast_expression "(int **)(pcVar23 + 0x5b4d8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5b4d8)" ( (binary_expression "pcVar23 + 0x5b4d8" identifier + number_literal) ))))) != number_literal) )) (compound_statement "{\n      iVar5 = FUN_000f9fd0(iStack_31c);\n      if (**(int **)(pcVar23 + 0x5b2b4) != 0) goto LAB_000fcf40;\n      goto LAB_000fcddc;\n    }" { (expression_statement "iVar5 = FUN_000f9fd0(iStack_31c);" (assignment_expression "iVar5 = FUN_000f9fd0(iStack_31c)" identifier = (call_expression "FUN_000f9fd0(iStack_31c)" identifier (argument_list "(iStack_31c)" ( identifier )))) ;) (if_statement "if (**(int **)(pcVar23 + 0x5b2b4) != 0) goto LAB_000fcf40;" if (parenthesized_expression "(**(int **)(pcVar23 + 0x5b2b4) != 0)" ( (binary_expression "**(int **)(pcVar23 + 0x5b2b4) != 0" (pointer_expression "**(int **)(pcVar23 + 0x5b2b4)" * (pointer_expression "*(int **)(pcVar23 + 0x5b2b4)" * (cast_expression "(int **)(pcVar23 + 0x5b2b4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5b2b4)" ( (binary_expression "pcVar23 + 0x5b2b4" identifier + number_literal) ))))) != number_literal) )) (goto_statement "goto LAB_000fcf40;" goto statement_identifier ;)) (goto_statement "goto LAB_000fcddc;" goto statement_identifier ;) })) (if_statement "if (**(int **)(pcVar23 + 0x5b49c) == 0) {\n      piVar9 = *(int **)(pcVar23 + 0x5b2b4);\nLAB_000fcef0:\n      iVar5 = 0;\n      if (*piVar9 == 0) {\n        (**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);\n        goto LAB_000fcb84;\n      }\nLAB_000fcf40:\n      pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,iStack_31c);\n      goto LAB_000fcddc;\n    }" if (parenthesized_expression "(**(int **)(pcVar23 + 0x5b49c) == 0)" ( (binary_expression "**(int **)(pcVar23 + 0x5b49c) == 0" (pointer_expression "**(int **)(pcVar23 + 0x5b49c)" * (pointer_expression "*(int **)(pcVar23 + 0x5b49c)" * (cast_expression "(int **)(pcVar23 + 0x5b49c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5b49c)" ( (binary_expression "pcVar23 + 0x5b49c" identifier + number_literal) ))))) == number_literal) )) (compound_statement "{\n      piVar9 = *(int **)(pcVar23 + 0x5b2b4);\nLAB_000fcef0:\n      iVar5 = 0;\n      if (*piVar9 == 0) {\n        (**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);\n        goto LAB_000fcb84;\n      }\nLAB_000fcf40:\n      pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,iStack_31c);\n      goto LAB_000fcddc;\n    }" { (expression_statement "piVar9 = *(int **)(pcVar23 + 0x5b2b4);" (assignment_expression "piVar9 = *(int **)(pcVar23 + 0x5b2b4)" identifier = (pointer_expression "*(int **)(pcVar23 + 0x5b2b4)" * (cast_expression "(int **)(pcVar23 + 0x5b2b4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5b2b4)" ( (binary_expression "pcVar23 + 0x5b2b4" identifier + number_literal) ))))) ;) (labeled_statement "LAB_000fcef0:\n      iVar5 = 0;" statement_identifier : (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;)) (if_statement "if (*piVar9 == 0) {\n        (**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);\n        goto LAB_000fcb84;\n      }" if (parenthesized_expression "(*piVar9 == 0)" ( (binary_expression "*piVar9 == 0" (pointer_expression "*piVar9" * identifier) == number_literal) )) (compound_statement "{\n        (**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);\n        goto LAB_000fcb84;\n      }" { (expression_statement "(**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);" (call_expression "(**(code **)(pcVar23 + 0x5a0d0))(iStack_31c)" (parenthesized_expression "(**(code **)(pcVar23 + 0x5a0d0))" ( (pointer_expression "**(code **)(pcVar23 + 0x5a0d0)" * (pointer_expression "*(code **)(pcVar23 + 0x5a0d0)" * (cast_expression "(code **)(pcVar23 + 0x5a0d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5a0d0)" ( (binary_expression "pcVar23 + 0x5a0d0" identifier + number_literal) ))))) )) (argument_list "(iStack_31c)" ( identifier ))) ;) (goto_statement "goto LAB_000fcb84;" goto statement_identifier ;) })) (labeled_statement "LAB_000fcf40:\n      pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,iStack_31c);" statement_identifier : (expression_statement "pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,iStack_31c);" (assignment_expression "pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,iStack_31c)" identifier = (cast_expression "(word *)FUN_000fc5fc(pbVar24,pwVar15,iStack_31c)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_000fc5fc(pbVar24,pwVar15,iStack_31c)" identifier (argument_list "(pbVar24,pwVar15,iStack_31c)" ( identifier , identifier , identifier ))))) ;)) (goto_statement "goto LAB_000fcddc;" goto statement_identifier ;) })) (expression_statement "iVar5 = FUN_000fa188(iStack_31c);" (assignment_expression "iVar5 = FUN_000fa188(iStack_31c)" identifier = (call_expression "FUN_000fa188(iStack_31c)" identifier (argument_list "(iStack_31c)" ( identifier )))) ;) (expression_statement "piVar9 = *(int **)(pcVar23 + 0x5b2b4);" (assignment_expression "piVar9 = *(int **)(pcVar23 + 0x5b2b4)" identifier = (pointer_expression "*(int **)(pcVar23 + 0x5b2b4)" * (cast_expression "(int **)(pcVar23 + 0x5b2b4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5b2b4)" ( (binary_expression "pcVar23 + 0x5b2b4" identifier + number_literal) ))))) ;) (if_statement "if (iVar5 == 0) goto LAB_000fcef0;" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000fcef0;" goto statement_identifier ;)) (if_statement "if (*piVar9 != 0) {\n      iVar5 = 0x2f;\n      goto LAB_000fcf40;\n    }" if (parenthesized_expression "(*piVar9 != 0)" ( (binary_expression "*piVar9 != 0" (pointer_expression "*piVar9" * identifier) != number_literal) )) (compound_statement "{\n      iVar5 = 0x2f;\n      goto LAB_000fcf40;\n    }" { (expression_statement "iVar5 = 0x2f;" (assignment_expression "iVar5 = 0x2f" identifier = number_literal) ;) (goto_statement "goto LAB_000fcf40;" goto statement_identifier ;) })) (expression_statement "(**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);" (call_expression "(**(code **)(pcVar23 + 0x5a0d0))(iStack_31c)" (parenthesized_expression "(**(code **)(pcVar23 + 0x5a0d0))" ( (pointer_expression "**(code **)(pcVar23 + 0x5a0d0)" * (pointer_expression "*(code **)(pcVar23 + 0x5a0d0)" * (cast_expression "(code **)(pcVar23 + 0x5a0d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5a0d0)" ( (binary_expression "pcVar23 + 0x5a0d0" identifier + number_literal) ))))) )) (argument_list "(iStack_31c)" ( identifier ))) ;) (expression_statement "iVar5 = 0x2f;" (assignment_expression "iVar5 = 0x2f" identifier = number_literal) ;) }) (else_clause "else {\n    bVar2 = pbVar24[-1];\n    pbVar24[-1] = 0;\n    if ((pwVar18 == (word *)0x0) || (*(byte *)pwVar18 == 0)) {\n      pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);\n    }\n    else {\n      pwStack_318 = pwVar18;\n      if (*(byte *)pwVar18 == 0x2f) {\n        if ((byte)*pwVar18 == 0) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59acc) + -0x794);\n        }\n        else if (((byte)*pwVar18 == 0x2f) && (*(byte *)(pwVar18 + 1) == 0)) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);\n        }\n      }\n    }\n    iStack_31c = (**(code **)(pcVar23 + 0x5a028))(pwStack_318);\n    if ((code *)**(undefined4 **)(pcVar23 + 0x5ab20) != (code *)0x0) {\n      (*(code *)**(undefined4 **)(pcVar23 + 0x5ab20))(&iStack_31c);\n    }\n    iVar5 = (**(code **)(pcVar23 + 0x5b960))(iStack_31c);\n    iVar13 = (**(code **)(pcVar23 + 0x5b960))(pbVar24);\n    pwVar16 = (word *)(**(code **)(pcVar23 + 0x59ad4))(iVar13 + iVar5 + 2);\n    (**(code **)(pcVar23 + 0x5b9e8))(pwVar16,iStack_31c);\n    if (*(char *)(iStack_31c + iVar5 + -1) == '/') {\n      iVar5 = iVar5 + -1;\n    }\n    else {\n      *(byte *)((int)pwVar16 + iVar5) = 0x2f;\n    }\n    (**(code **)(pcVar23 + 0x5b9e8))((byte *)((int)pwVar16 + iVar5 + 1),pbVar24);\n    if (**(int **)(pcVar23 + 0x5b4d8) == 0) {\n      iVar5 = **(int **)(pcVar23 + 0x5b49c);\n      piVar9 = *(int **)(pcVar23 + 0x5b2b4);\n      if (iVar5 != 0) {\n        pwStack_318 = (word *)0x0;\n        if ((**(int **)(pcVar23 + 0x5ab20) == 0) && (**(int **)(pcVar23 + 0x5ac70) != 0)) {\n          iVar5 = (**(code **)(pcVar23 + 0x5b960))(pwVar16);\n          uVar7 = (**(code **)(pcVar23 + 0x59ad4))(iVar5 + 1);\n          pwStack_318 = (word *)(**(code **)(pcVar23 + 0x5b9e8))(uVar7,pwVar16);\n          (*(code *)**(undefined4 **)(pcVar23 + 0x5ac70))(&pwStack_318);\n          (**(code **)(pcVar23 + 0x5a0d0))(pwVar16);\n          pwVar16 = pwStack_318;\n        }\n        iVar5 = FUN_000fa188(pwVar16);\n        if (iVar5 != 0) {\n          iVar5 = 0x2f;\n        }\n        goto LAB_000fcdb0;\n      }\n    }\n    else {\n      iVar5 = FUN_000f9fd0(pwVar16);\nLAB_000fcdb0:\n      piVar9 = *(int **)(pcVar23 + 0x5b2b4);\n    }\n    if (*piVar9 != 0) {\n      pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,pwVar16);\n    }\n    (**(code **)(pcVar23 + 0x5a0d0))(pwVar16);\n    pbVar24[-1] = bVar2;\nLAB_000fcddc:\n    (**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);\n    if (iVar5 == 0) goto LAB_000fcb84;\n  }" else (compound_statement "{\n    bVar2 = pbVar24[-1];\n    pbVar24[-1] = 0;\n    if ((pwVar18 == (word *)0x0) || (*(byte *)pwVar18 == 0)) {\n      pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);\n    }\n    else {\n      pwStack_318 = pwVar18;\n      if (*(byte *)pwVar18 == 0x2f) {\n        if ((byte)*pwVar18 == 0) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59acc) + -0x794);\n        }\n        else if (((byte)*pwVar18 == 0x2f) && (*(byte *)(pwVar18 + 1) == 0)) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);\n        }\n      }\n    }\n    iStack_31c = (**(code **)(pcVar23 + 0x5a028))(pwStack_318);\n    if ((code *)**(undefined4 **)(pcVar23 + 0x5ab20) != (code *)0x0) {\n      (*(code *)**(undefined4 **)(pcVar23 + 0x5ab20))(&iStack_31c);\n    }\n    iVar5 = (**(code **)(pcVar23 + 0x5b960))(iStack_31c);\n    iVar13 = (**(code **)(pcVar23 + 0x5b960))(pbVar24);\n    pwVar16 = (word *)(**(code **)(pcVar23 + 0x59ad4))(iVar13 + iVar5 + 2);\n    (**(code **)(pcVar23 + 0x5b9e8))(pwVar16,iStack_31c);\n    if (*(char *)(iStack_31c + iVar5 + -1) == '/') {\n      iVar5 = iVar5 + -1;\n    }\n    else {\n      *(byte *)((int)pwVar16 + iVar5) = 0x2f;\n    }\n    (**(code **)(pcVar23 + 0x5b9e8))((byte *)((int)pwVar16 + iVar5 + 1),pbVar24);\n    if (**(int **)(pcVar23 + 0x5b4d8) == 0) {\n      iVar5 = **(int **)(pcVar23 + 0x5b49c);\n      piVar9 = *(int **)(pcVar23 + 0x5b2b4);\n      if (iVar5 != 0) {\n        pwStack_318 = (word *)0x0;\n        if ((**(int **)(pcVar23 + 0x5ab20) == 0) && (**(int **)(pcVar23 + 0x5ac70) != 0)) {\n          iVar5 = (**(code **)(pcVar23 + 0x5b960))(pwVar16);\n          uVar7 = (**(code **)(pcVar23 + 0x59ad4))(iVar5 + 1);\n          pwStack_318 = (word *)(**(code **)(pcVar23 + 0x5b9e8))(uVar7,pwVar16);\n          (*(code *)**(undefined4 **)(pcVar23 + 0x5ac70))(&pwStack_318);\n          (**(code **)(pcVar23 + 0x5a0d0))(pwVar16);\n          pwVar16 = pwStack_318;\n        }\n        iVar5 = FUN_000fa188(pwVar16);\n        if (iVar5 != 0) {\n          iVar5 = 0x2f;\n        }\n        goto LAB_000fcdb0;\n      }\n    }\n    else {\n      iVar5 = FUN_000f9fd0(pwVar16);\nLAB_000fcdb0:\n      piVar9 = *(int **)(pcVar23 + 0x5b2b4);\n    }\n    if (*piVar9 != 0) {\n      pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,pwVar16);\n    }\n    (**(code **)(pcVar23 + 0x5a0d0))(pwVar16);\n    pbVar24[-1] = bVar2;\nLAB_000fcddc:\n    (**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);\n    if (iVar5 == 0) goto LAB_000fcb84;\n  }" { (expression_statement "bVar2 = pbVar24[-1];" (assignment_expression "bVar2 = pbVar24[-1]" identifier = (subscript_expression "pbVar24[-1]" identifier [ number_literal ])) ;) (expression_statement "pbVar24[-1] = 0;" (assignment_expression "pbVar24[-1] = 0" (subscript_expression "pbVar24[-1]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if ((pwVar18 == (word *)0x0) || (*(byte *)pwVar18 == 0)) {\n      pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);\n    }\n    else {\n      pwStack_318 = pwVar18;\n      if (*(byte *)pwVar18 == 0x2f) {\n        if ((byte)*pwVar18 == 0) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59acc) + -0x794);\n        }\n        else if (((byte)*pwVar18 == 0x2f) && (*(byte *)(pwVar18 + 1) == 0)) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);\n        }\n      }\n    }" if (parenthesized_expression "((pwVar18 == (word *)0x0) || (*(byte *)pwVar18 == 0))" ( (binary_expression "(pwVar18 == (word *)0x0) || (*(byte *)pwVar18 == 0)" (parenthesized_expression "(pwVar18 == (word *)0x0)" ( (binary_expression "pwVar18 == (word *)0x0" identifier == (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(*(byte *)pwVar18 == 0)" ( (binary_expression "*(byte *)pwVar18 == 0" (pointer_expression "*(byte *)pwVar18" * (cast_expression "(byte *)pwVar18" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal) ))) )) (compound_statement "{\n      pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);\n    }" { (expression_statement "pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);" (assignment_expression "pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c)" identifier = (cast_expression "(word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar23 + 0x59b70) + -0x5e9c)" ( (binary_expression "*(int *)(pcVar23 + 0x59b70) + -0x5e9c" (pointer_expression "*(int *)(pcVar23 + 0x59b70)" * (cast_expression "(int *)(pcVar23 + 0x59b70)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar23 + 0x59b70)" ( (binary_expression "pcVar23 + 0x59b70" identifier + number_literal) )))) + number_literal) )))) ;) }) (else_clause "else {\n      pwStack_318 = pwVar18;\n      if (*(byte *)pwVar18 == 0x2f) {\n        if ((byte)*pwVar18 == 0) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59acc) + -0x794);\n        }\n        else if (((byte)*pwVar18 == 0x2f) && (*(byte *)(pwVar18 + 1) == 0)) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);\n        }\n      }\n    }" else (compound_statement "{\n      pwStack_318 = pwVar18;\n      if (*(byte *)pwVar18 == 0x2f) {\n        if ((byte)*pwVar18 == 0) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59acc) + -0x794);\n        }\n        else if (((byte)*pwVar18 == 0x2f) && (*(byte *)(pwVar18 + 1) == 0)) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);\n        }\n      }\n    }" { (expression_statement "pwStack_318 = pwVar18;" (assignment_expression "pwStack_318 = pwVar18" identifier = identifier) ;) (if_statement "if (*(byte *)pwVar18 == 0x2f) {\n        if ((byte)*pwVar18 == 0) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59acc) + -0x794);\n        }\n        else if (((byte)*pwVar18 == 0x2f) && (*(byte *)(pwVar18 + 1) == 0)) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);\n        }\n      }" if (parenthesized_expression "(*(byte *)pwVar18 == 0x2f)" ( (binary_expression "*(byte *)pwVar18 == 0x2f" (pointer_expression "*(byte *)pwVar18" * (cast_expression "(byte *)pwVar18" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal) )) (compound_statement "{\n        if ((byte)*pwVar18 == 0) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59acc) + -0x794);\n        }\n        else if (((byte)*pwVar18 == 0x2f) && (*(byte *)(pwVar18 + 1) == 0)) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);\n        }\n      }" { (if_statement "if ((byte)*pwVar18 == 0) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59acc) + -0x794);\n        }\n        else if (((byte)*pwVar18 == 0x2f) && (*(byte *)(pwVar18 + 1) == 0)) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);\n        }" if (parenthesized_expression "((byte)*pwVar18 == 0)" ( (binary_expression "(byte)*pwVar18 == 0" (binary_expression "(byte)*pwVar18" (parenthesized_expression "(byte)" ( identifier )) * identifier) == number_literal) )) (compound_statement "{\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59acc) + -0x794);\n        }" { (expression_statement "pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59acc) + -0x794);" (assignment_expression "pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59acc) + -0x794)" identifier = (cast_expression "(word *)(*(int *)(pcVar23 + 0x59acc) + -0x794)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar23 + 0x59acc) + -0x794)" ( (binary_expression "*(int *)(pcVar23 + 0x59acc) + -0x794" (pointer_expression "*(int *)(pcVar23 + 0x59acc)" * (cast_expression "(int *)(pcVar23 + 0x59acc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar23 + 0x59acc)" ( (binary_expression "pcVar23 + 0x59acc" identifier + number_literal) )))) + number_literal) )))) ;) }) (else_clause "else if (((byte)*pwVar18 == 0x2f) && (*(byte *)(pwVar18 + 1) == 0)) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);\n        }" else (if_statement "if (((byte)*pwVar18 == 0x2f) && (*(byte *)(pwVar18 + 1) == 0)) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);\n        }" if (parenthesized_expression "(((byte)*pwVar18 == 0x2f) && (*(byte *)(pwVar18 + 1) == 0))" ( (binary_expression "((byte)*pwVar18 == 0x2f) && (*(byte *)(pwVar18 + 1) == 0)" (parenthesized_expression "((byte)*pwVar18 == 0x2f)" ( (binary_expression "(byte)*pwVar18 == 0x2f" (binary_expression "(byte)*pwVar18" (parenthesized_expression "(byte)" ( identifier )) * identifier) == number_literal) )) && (parenthesized_expression "(*(byte *)(pwVar18 + 1) == 0)" ( (binary_expression "*(byte *)(pwVar18 + 1) == 0" (pointer_expression "*(byte *)(pwVar18 + 1)" * (cast_expression "(byte *)(pwVar18 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pwVar18 + 1)" ( (binary_expression "pwVar18 + 1" identifier + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);\n        }" { (expression_statement "pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);" (assignment_expression "pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c)" identifier = (cast_expression "(word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar23 + 0x59b70) + -0x5e9c)" ( (binary_expression "*(int *)(pcVar23 + 0x59b70) + -0x5e9c" (pointer_expression "*(int *)(pcVar23 + 0x59b70)" * (cast_expression "(int *)(pcVar23 + 0x59b70)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar23 + 0x59b70)" ( (binary_expression "pcVar23 + 0x59b70" identifier + number_literal) )))) + number_literal) )))) ;) })))) })) }))) (expression_statement "iStack_31c = (**(code **)(pcVar23 + 0x5a028))(pwStack_318);" (assignment_expression "iStack_31c = (**(code **)(pcVar23 + 0x5a028))(pwStack_318)" identifier = (call_expression "(**(code **)(pcVar23 + 0x5a028))(pwStack_318)" (parenthesized_expression "(**(code **)(pcVar23 + 0x5a028))" ( (pointer_expression "**(code **)(pcVar23 + 0x5a028)" * (pointer_expression "*(code **)(pcVar23 + 0x5a028)" * (cast_expression "(code **)(pcVar23 + 0x5a028)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5a028)" ( (binary_expression "pcVar23 + 0x5a028" identifier + number_literal) ))))) )) (argument_list "(pwStack_318)" ( identifier )))) ;) (if_statement "if ((code *)**(undefined4 **)(pcVar23 + 0x5ab20) != (code *)0x0) {\n      (*(code *)**(undefined4 **)(pcVar23 + 0x5ab20))(&iStack_31c);\n    }" if (parenthesized_expression "((code *)**(undefined4 **)(pcVar23 + 0x5ab20) != (code *)0x0)" ( (binary_expression "(code *)**(undefined4 **)(pcVar23 + 0x5ab20) != (code *)0x0" (cast_expression "(code *)**(undefined4 **)(pcVar23 + 0x5ab20)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcVar23 + 0x5ab20)" * (pointer_expression "*(undefined4 **)(pcVar23 + 0x5ab20)" * (cast_expression "(undefined4 **)(pcVar23 + 0x5ab20)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5ab20)" ( (binary_expression "pcVar23 + 0x5ab20" identifier + number_literal) )))))) != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      (*(code *)**(undefined4 **)(pcVar23 + 0x5ab20))(&iStack_31c);\n    }" { (expression_statement "(*(code *)**(undefined4 **)(pcVar23 + 0x5ab20))(&iStack_31c);" (call_expression "(*(code *)**(undefined4 **)(pcVar23 + 0x5ab20))(&iStack_31c)" (parenthesized_expression "(*(code *)**(undefined4 **)(pcVar23 + 0x5ab20))" ( (pointer_expression "*(code *)**(undefined4 **)(pcVar23 + 0x5ab20)" * (cast_expression "(code *)**(undefined4 **)(pcVar23 + 0x5ab20)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcVar23 + 0x5ab20)" * (pointer_expression "*(undefined4 **)(pcVar23 + 0x5ab20)" * (cast_expression "(undefined4 **)(pcVar23 + 0x5ab20)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5ab20)" ( (binary_expression "pcVar23 + 0x5ab20" identifier + number_literal) ))))))) )) (argument_list "(&iStack_31c)" ( (pointer_expression "&iStack_31c" & identifier) ))) ;) })) (expression_statement "iVar5 = (**(code **)(pcVar23 + 0x5b960))(iStack_31c);" (assignment_expression "iVar5 = (**(code **)(pcVar23 + 0x5b960))(iStack_31c)" identifier = (call_expression "(**(code **)(pcVar23 + 0x5b960))(iStack_31c)" (parenthesized_expression "(**(code **)(pcVar23 + 0x5b960))" ( (pointer_expression "**(code **)(pcVar23 + 0x5b960)" * (pointer_expression "*(code **)(pcVar23 + 0x5b960)" * (cast_expression "(code **)(pcVar23 + 0x5b960)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5b960)" ( (binary_expression "pcVar23 + 0x5b960" identifier + number_literal) ))))) )) (argument_list "(iStack_31c)" ( identifier )))) ;) (expression_statement "iVar13 = (**(code **)(pcVar23 + 0x5b960))(pbVar24);" (assignment_expression "iVar13 = (**(code **)(pcVar23 + 0x5b960))(pbVar24)" identifier = (call_expression "(**(code **)(pcVar23 + 0x5b960))(pbVar24)" (parenthesized_expression "(**(code **)(pcVar23 + 0x5b960))" ( (pointer_expression "**(code **)(pcVar23 + 0x5b960)" * (pointer_expression "*(code **)(pcVar23 + 0x5b960)" * (cast_expression "(code **)(pcVar23 + 0x5b960)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5b960)" ( (binary_expression "pcVar23 + 0x5b960" identifier + number_literal) ))))) )) (argument_list "(pbVar24)" ( identifier )))) ;) (expression_statement "pwVar16 = (word *)(**(code **)(pcVar23 + 0x59ad4))(iVar13 + iVar5 + 2);" (assignment_expression "pwVar16 = (word *)(**(code **)(pcVar23 + 0x59ad4))(iVar13 + iVar5 + 2)" identifier = (cast_expression "(word *)(**(code **)(pcVar23 + 0x59ad4))(iVar13 + iVar5 + 2)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar23 + 0x59ad4))(iVar13 + iVar5 + 2)" (parenthesized_expression "(**(code **)(pcVar23 + 0x59ad4))" ( (pointer_expression "**(code **)(pcVar23 + 0x59ad4)" * (pointer_expression "*(code **)(pcVar23 + 0x59ad4)" * (cast_expression "(code **)(pcVar23 + 0x59ad4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x59ad4)" ( (binary_expression "pcVar23 + 0x59ad4" identifier + number_literal) ))))) )) (argument_list "(iVar13 + iVar5 + 2)" ( (binary_expression "iVar13 + iVar5 + 2" (binary_expression "iVar13 + iVar5" identifier + identifier) + number_literal) ))))) ;) (expression_statement "(**(code **)(pcVar23 + 0x5b9e8))(pwVar16,iStack_31c);" (call_expression "(**(code **)(pcVar23 + 0x5b9e8))(pwVar16,iStack_31c)" (parenthesized_expression "(**(code **)(pcVar23 + 0x5b9e8))" ( (pointer_expression "**(code **)(pcVar23 + 0x5b9e8)" * (pointer_expression "*(code **)(pcVar23 + 0x5b9e8)" * (cast_expression "(code **)(pcVar23 + 0x5b9e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5b9e8)" ( (binary_expression "pcVar23 + 0x5b9e8" identifier + number_literal) ))))) )) (argument_list "(pwVar16,iStack_31c)" ( identifier , identifier ))) ;) (if_statement "if (*(char *)(iStack_31c + iVar5 + -1) == '/') {\n      iVar5 = iVar5 + -1;\n    }\n    else {\n      *(byte *)((int)pwVar16 + iVar5) = 0x2f;\n    }" if (parenthesized_expression "(*(char *)(iStack_31c + iVar5 + -1) == '/')" ( (binary_expression "*(char *)(iStack_31c + iVar5 + -1) == '/'" (pointer_expression "*(char *)(iStack_31c + iVar5 + -1)" * (cast_expression "(char *)(iStack_31c + iVar5 + -1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_31c + iVar5 + -1)" ( (binary_expression "iStack_31c + iVar5 + -1" (binary_expression "iStack_31c + iVar5" identifier + identifier) + number_literal) )))) == (char_literal "'/'" ' character ')) )) (compound_statement "{\n      iVar5 = iVar5 + -1;\n    }" { (expression_statement "iVar5 = iVar5 + -1;" (assignment_expression "iVar5 = iVar5 + -1" identifier = (binary_expression "iVar5 + -1" identifier + number_literal)) ;) }) (else_clause "else {\n      *(byte *)((int)pwVar16 + iVar5) = 0x2f;\n    }" else (compound_statement "{\n      *(byte *)((int)pwVar16 + iVar5) = 0x2f;\n    }" { (expression_statement "*(byte *)((int)pwVar16 + iVar5) = 0x2f;" (assignment_expression "*(byte *)((int)pwVar16 + iVar5) = 0x2f" (pointer_expression "*(byte *)((int)pwVar16 + iVar5)" * (cast_expression "(byte *)((int)pwVar16 + iVar5)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwVar16 + iVar5)" ( (binary_expression "(int)pwVar16 + iVar5" (cast_expression "(int)pwVar16" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) = number_literal) ;) }))) (expression_statement "(**(code **)(pcVar23 + 0x5b9e8))((byte *)((int)pwVar16 + iVar5 + 1),pbVar24);" (call_expression "(**(code **)(pcVar23 + 0x5b9e8))((byte *)((int)pwVar16 + iVar5 + 1),pbVar24)" (parenthesized_expression "(**(code **)(pcVar23 + 0x5b9e8))" ( (pointer_expression "**(code **)(pcVar23 + 0x5b9e8)" * (pointer_expression "*(code **)(pcVar23 + 0x5b9e8)" * (cast_expression "(code **)(pcVar23 + 0x5b9e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5b9e8)" ( (binary_expression "pcVar23 + 0x5b9e8" identifier + number_literal) ))))) )) (argument_list "((byte *)((int)pwVar16 + iVar5 + 1),pbVar24)" ( (cast_expression "(byte *)((int)pwVar16 + iVar5 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwVar16 + iVar5 + 1)" ( (binary_expression "(int)pwVar16 + iVar5 + 1" (binary_expression "(int)pwVar16 + iVar5" (cast_expression "(int)pwVar16" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) ))) , identifier ))) ;) (if_statement "if (**(int **)(pcVar23 + 0x5b4d8) == 0) {\n      iVar5 = **(int **)(pcVar23 + 0x5b49c);\n      piVar9 = *(int **)(pcVar23 + 0x5b2b4);\n      if (iVar5 != 0) {\n        pwStack_318 = (word *)0x0;\n        if ((**(int **)(pcVar23 + 0x5ab20) == 0) && (**(int **)(pcVar23 + 0x5ac70) != 0)) {\n          iVar5 = (**(code **)(pcVar23 + 0x5b960))(pwVar16);\n          uVar7 = (**(code **)(pcVar23 + 0x59ad4))(iVar5 + 1);\n          pwStack_318 = (word *)(**(code **)(pcVar23 + 0x5b9e8))(uVar7,pwVar16);\n          (*(code *)**(undefined4 **)(pcVar23 + 0x5ac70))(&pwStack_318);\n          (**(code **)(pcVar23 + 0x5a0d0))(pwVar16);\n          pwVar16 = pwStack_318;\n        }\n        iVar5 = FUN_000fa188(pwVar16);\n        if (iVar5 != 0) {\n          iVar5 = 0x2f;\n        }\n        goto LAB_000fcdb0;\n      }\n    }\n    else {\n      iVar5 = FUN_000f9fd0(pwVar16);\nLAB_000fcdb0:\n      piVar9 = *(int **)(pcVar23 + 0x5b2b4);\n    }" if (parenthesized_expression "(**(int **)(pcVar23 + 0x5b4d8) == 0)" ( (binary_expression "**(int **)(pcVar23 + 0x5b4d8) == 0" (pointer_expression "**(int **)(pcVar23 + 0x5b4d8)" * (pointer_expression "*(int **)(pcVar23 + 0x5b4d8)" * (cast_expression "(int **)(pcVar23 + 0x5b4d8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5b4d8)" ( (binary_expression "pcVar23 + 0x5b4d8" identifier + number_literal) ))))) == number_literal) )) (compound_statement "{\n      iVar5 = **(int **)(pcVar23 + 0x5b49c);\n      piVar9 = *(int **)(pcVar23 + 0x5b2b4);\n      if (iVar5 != 0) {\n        pwStack_318 = (word *)0x0;\n        if ((**(int **)(pcVar23 + 0x5ab20) == 0) && (**(int **)(pcVar23 + 0x5ac70) != 0)) {\n          iVar5 = (**(code **)(pcVar23 + 0x5b960))(pwVar16);\n          uVar7 = (**(code **)(pcVar23 + 0x59ad4))(iVar5 + 1);\n          pwStack_318 = (word *)(**(code **)(pcVar23 + 0x5b9e8))(uVar7,pwVar16);\n          (*(code *)**(undefined4 **)(pcVar23 + 0x5ac70))(&pwStack_318);\n          (**(code **)(pcVar23 + 0x5a0d0))(pwVar16);\n          pwVar16 = pwStack_318;\n        }\n        iVar5 = FUN_000fa188(pwVar16);\n        if (iVar5 != 0) {\n          iVar5 = 0x2f;\n        }\n        goto LAB_000fcdb0;\n      }\n    }" { (expression_statement "iVar5 = **(int **)(pcVar23 + 0x5b49c);" (assignment_expression "iVar5 = **(int **)(pcVar23 + 0x5b49c)" identifier = (pointer_expression "**(int **)(pcVar23 + 0x5b49c)" * (pointer_expression "*(int **)(pcVar23 + 0x5b49c)" * (cast_expression "(int **)(pcVar23 + 0x5b49c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5b49c)" ( (binary_expression "pcVar23 + 0x5b49c" identifier + number_literal) )))))) ;) (expression_statement "piVar9 = *(int **)(pcVar23 + 0x5b2b4);" (assignment_expression "piVar9 = *(int **)(pcVar23 + 0x5b2b4)" identifier = (pointer_expression "*(int **)(pcVar23 + 0x5b2b4)" * (cast_expression "(int **)(pcVar23 + 0x5b2b4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5b2b4)" ( (binary_expression "pcVar23 + 0x5b2b4" identifier + number_literal) ))))) ;) (if_statement "if (iVar5 != 0) {\n        pwStack_318 = (word *)0x0;\n        if ((**(int **)(pcVar23 + 0x5ab20) == 0) && (**(int **)(pcVar23 + 0x5ac70) != 0)) {\n          iVar5 = (**(code **)(pcVar23 + 0x5b960))(pwVar16);\n          uVar7 = (**(code **)(pcVar23 + 0x59ad4))(iVar5 + 1);\n          pwStack_318 = (word *)(**(code **)(pcVar23 + 0x5b9e8))(uVar7,pwVar16);\n          (*(code *)**(undefined4 **)(pcVar23 + 0x5ac70))(&pwStack_318);\n          (**(code **)(pcVar23 + 0x5a0d0))(pwVar16);\n          pwVar16 = pwStack_318;\n        }\n        iVar5 = FUN_000fa188(pwVar16);\n        if (iVar5 != 0) {\n          iVar5 = 0x2f;\n        }\n        goto LAB_000fcdb0;\n      }" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (compound_statement "{\n        pwStack_318 = (word *)0x0;\n        if ((**(int **)(pcVar23 + 0x5ab20) == 0) && (**(int **)(pcVar23 + 0x5ac70) != 0)) {\n          iVar5 = (**(code **)(pcVar23 + 0x5b960))(pwVar16);\n          uVar7 = (**(code **)(pcVar23 + 0x59ad4))(iVar5 + 1);\n          pwStack_318 = (word *)(**(code **)(pcVar23 + 0x5b9e8))(uVar7,pwVar16);\n          (*(code *)**(undefined4 **)(pcVar23 + 0x5ac70))(&pwStack_318);\n          (**(code **)(pcVar23 + 0x5a0d0))(pwVar16);\n          pwVar16 = pwStack_318;\n        }\n        iVar5 = FUN_000fa188(pwVar16);\n        if (iVar5 != 0) {\n          iVar5 = 0x2f;\n        }\n        goto LAB_000fcdb0;\n      }" { (expression_statement "pwStack_318 = (word *)0x0;" (assignment_expression "pwStack_318 = (word *)0x0" identifier = (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((**(int **)(pcVar23 + 0x5ab20) == 0) && (**(int **)(pcVar23 + 0x5ac70) != 0)) {\n          iVar5 = (**(code **)(pcVar23 + 0x5b960))(pwVar16);\n          uVar7 = (**(code **)(pcVar23 + 0x59ad4))(iVar5 + 1);\n          pwStack_318 = (word *)(**(code **)(pcVar23 + 0x5b9e8))(uVar7,pwVar16);\n          (*(code *)**(undefined4 **)(pcVar23 + 0x5ac70))(&pwStack_318);\n          (**(code **)(pcVar23 + 0x5a0d0))(pwVar16);\n          pwVar16 = pwStack_318;\n        }" if (parenthesized_expression "((**(int **)(pcVar23 + 0x5ab20) == 0) && (**(int **)(pcVar23 + 0x5ac70) != 0))" ( (binary_expression "(**(int **)(pcVar23 + 0x5ab20) == 0) && (**(int **)(pcVar23 + 0x5ac70) != 0)" (parenthesized_expression "(**(int **)(pcVar23 + 0x5ab20) == 0)" ( (binary_expression "**(int **)(pcVar23 + 0x5ab20) == 0" (pointer_expression "**(int **)(pcVar23 + 0x5ab20)" * (pointer_expression "*(int **)(pcVar23 + 0x5ab20)" * (cast_expression "(int **)(pcVar23 + 0x5ab20)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5ab20)" ( (binary_expression "pcVar23 + 0x5ab20" identifier + number_literal) ))))) == number_literal) )) && (parenthesized_expression "(**(int **)(pcVar23 + 0x5ac70) != 0)" ( (binary_expression "**(int **)(pcVar23 + 0x5ac70) != 0" (pointer_expression "**(int **)(pcVar23 + 0x5ac70)" * (pointer_expression "*(int **)(pcVar23 + 0x5ac70)" * (cast_expression "(int **)(pcVar23 + 0x5ac70)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5ac70)" ( (binary_expression "pcVar23 + 0x5ac70" identifier + number_literal) ))))) != number_literal) ))) )) (compound_statement "{\n          iVar5 = (**(code **)(pcVar23 + 0x5b960))(pwVar16);\n          uVar7 = (**(code **)(pcVar23 + 0x59ad4))(iVar5 + 1);\n          pwStack_318 = (word *)(**(code **)(pcVar23 + 0x5b9e8))(uVar7,pwVar16);\n          (*(code *)**(undefined4 **)(pcVar23 + 0x5ac70))(&pwStack_318);\n          (**(code **)(pcVar23 + 0x5a0d0))(pwVar16);\n          pwVar16 = pwStack_318;\n        }" { (expression_statement "iVar5 = (**(code **)(pcVar23 + 0x5b960))(pwVar16);" (assignment_expression "iVar5 = (**(code **)(pcVar23 + 0x5b960))(pwVar16)" identifier = (call_expression "(**(code **)(pcVar23 + 0x5b960))(pwVar16)" (parenthesized_expression "(**(code **)(pcVar23 + 0x5b960))" ( (pointer_expression "**(code **)(pcVar23 + 0x5b960)" * (pointer_expression "*(code **)(pcVar23 + 0x5b960)" * (cast_expression "(code **)(pcVar23 + 0x5b960)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5b960)" ( (binary_expression "pcVar23 + 0x5b960" identifier + number_literal) ))))) )) (argument_list "(pwVar16)" ( identifier )))) ;) (expression_statement "uVar7 = (**(code **)(pcVar23 + 0x59ad4))(iVar5 + 1);" (assignment_expression "uVar7 = (**(code **)(pcVar23 + 0x59ad4))(iVar5 + 1)" identifier = (call_expression "(**(code **)(pcVar23 + 0x59ad4))(iVar5 + 1)" (parenthesized_expression "(**(code **)(pcVar23 + 0x59ad4))" ( (pointer_expression "**(code **)(pcVar23 + 0x59ad4)" * (pointer_expression "*(code **)(pcVar23 + 0x59ad4)" * (cast_expression "(code **)(pcVar23 + 0x59ad4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x59ad4)" ( (binary_expression "pcVar23 + 0x59ad4" identifier + number_literal) ))))) )) (argument_list "(iVar5 + 1)" ( (binary_expression "iVar5 + 1" identifier + number_literal) )))) ;) (expression_statement "pwStack_318 = (word *)(**(code **)(pcVar23 + 0x5b9e8))(uVar7,pwVar16);" (assignment_expression "pwStack_318 = (word *)(**(code **)(pcVar23 + 0x5b9e8))(uVar7,pwVar16)" identifier = (cast_expression "(word *)(**(code **)(pcVar23 + 0x5b9e8))(uVar7,pwVar16)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar23 + 0x5b9e8))(uVar7,pwVar16)" (parenthesized_expression "(**(code **)(pcVar23 + 0x5b9e8))" ( (pointer_expression "**(code **)(pcVar23 + 0x5b9e8)" * (pointer_expression "*(code **)(pcVar23 + 0x5b9e8)" * (cast_expression "(code **)(pcVar23 + 0x5b9e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5b9e8)" ( (binary_expression "pcVar23 + 0x5b9e8" identifier + number_literal) ))))) )) (argument_list "(uVar7,pwVar16)" ( identifier , identifier ))))) ;) (expression_statement "(*(code *)**(undefined4 **)(pcVar23 + 0x5ac70))(&pwStack_318);" (call_expression "(*(code *)**(undefined4 **)(pcVar23 + 0x5ac70))(&pwStack_318)" (parenthesized_expression "(*(code *)**(undefined4 **)(pcVar23 + 0x5ac70))" ( (pointer_expression "*(code *)**(undefined4 **)(pcVar23 + 0x5ac70)" * (cast_expression "(code *)**(undefined4 **)(pcVar23 + 0x5ac70)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcVar23 + 0x5ac70)" * (pointer_expression "*(undefined4 **)(pcVar23 + 0x5ac70)" * (cast_expression "(undefined4 **)(pcVar23 + 0x5ac70)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5ac70)" ( (binary_expression "pcVar23 + 0x5ac70" identifier + number_literal) ))))))) )) (argument_list "(&pwStack_318)" ( (pointer_expression "&pwStack_318" & identifier) ))) ;) (expression_statement "(**(code **)(pcVar23 + 0x5a0d0))(pwVar16);" (call_expression "(**(code **)(pcVar23 + 0x5a0d0))(pwVar16)" (parenthesized_expression "(**(code **)(pcVar23 + 0x5a0d0))" ( (pointer_expression "**(code **)(pcVar23 + 0x5a0d0)" * (pointer_expression "*(code **)(pcVar23 + 0x5a0d0)" * (cast_expression "(code **)(pcVar23 + 0x5a0d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5a0d0)" ( (binary_expression "pcVar23 + 0x5a0d0" identifier + number_literal) ))))) )) (argument_list "(pwVar16)" ( identifier ))) ;) (expression_statement "pwVar16 = pwStack_318;" (assignment_expression "pwVar16 = pwStack_318" identifier = identifier) ;) })) (expression_statement "iVar5 = FUN_000fa188(pwVar16);" (assignment_expression "iVar5 = FUN_000fa188(pwVar16)" identifier = (call_expression "FUN_000fa188(pwVar16)" identifier (argument_list "(pwVar16)" ( identifier )))) ;) (if_statement "if (iVar5 != 0) {\n          iVar5 = 0x2f;\n        }" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (compound_statement "{\n          iVar5 = 0x2f;\n        }" { (expression_statement "iVar5 = 0x2f;" (assignment_expression "iVar5 = 0x2f" identifier = number_literal) ;) })) (goto_statement "goto LAB_000fcdb0;" goto statement_identifier ;) })) }) (else_clause "else {\n      iVar5 = FUN_000f9fd0(pwVar16);\nLAB_000fcdb0:\n      piVar9 = *(int **)(pcVar23 + 0x5b2b4);\n    }" else (compound_statement "{\n      iVar5 = FUN_000f9fd0(pwVar16);\nLAB_000fcdb0:\n      piVar9 = *(int **)(pcVar23 + 0x5b2b4);\n    }" { (expression_statement "iVar5 = FUN_000f9fd0(pwVar16);" (assignment_expression "iVar5 = FUN_000f9fd0(pwVar16)" identifier = (call_expression "FUN_000f9fd0(pwVar16)" identifier (argument_list "(pwVar16)" ( identifier )))) ;) (labeled_statement "LAB_000fcdb0:\n      piVar9 = *(int **)(pcVar23 + 0x5b2b4);" statement_identifier : (expression_statement "piVar9 = *(int **)(pcVar23 + 0x5b2b4);" (assignment_expression "piVar9 = *(int **)(pcVar23 + 0x5b2b4)" identifier = (pointer_expression "*(int **)(pcVar23 + 0x5b2b4)" * (cast_expression "(int **)(pcVar23 + 0x5b2b4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5b2b4)" ( (binary_expression "pcVar23 + 0x5b2b4" identifier + number_literal) ))))) ;)) }))) (if_statement "if (*piVar9 != 0) {\n      pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,pwVar16);\n    }" if (parenthesized_expression "(*piVar9 != 0)" ( (binary_expression "*piVar9 != 0" (pointer_expression "*piVar9" * identifier) != number_literal) )) (compound_statement "{\n      pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,pwVar16);\n    }" { (expression_statement "pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,pwVar16);" (assignment_expression "pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,pwVar16)" identifier = (cast_expression "(word *)FUN_000fc5fc(pbVar24,pwVar15,pwVar16)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_000fc5fc(pbVar24,pwVar15,pwVar16)" identifier (argument_list "(pbVar24,pwVar15,pwVar16)" ( identifier , identifier , identifier ))))) ;) })) (expression_statement "(**(code **)(pcVar23 + 0x5a0d0))(pwVar16);" (call_expression "(**(code **)(pcVar23 + 0x5a0d0))(pwVar16)" (parenthesized_expression "(**(code **)(pcVar23 + 0x5a0d0))" ( (pointer_expression "**(code **)(pcVar23 + 0x5a0d0)" * (pointer_expression "*(code **)(pcVar23 + 0x5a0d0)" * (cast_expression "(code **)(pcVar23 + 0x5a0d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5a0d0)" ( (binary_expression "pcVar23 + 0x5a0d0" identifier + number_literal) ))))) )) (argument_list "(pwVar16)" ( identifier ))) ;) (expression_statement "pbVar24[-1] = bVar2;" (assignment_expression "pbVar24[-1] = bVar2" (subscript_expression "pbVar24[-1]" identifier [ number_literal ]) = identifier) ;) (labeled_statement "LAB_000fcddc:\n    (**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);" statement_identifier : (expression_statement "(**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);" (call_expression "(**(code **)(pcVar23 + 0x5a0d0))(iStack_31c)" (parenthesized_expression "(**(code **)(pcVar23 + 0x5a0d0))" ( (pointer_expression "**(code **)(pcVar23 + 0x5a0d0)" * (pointer_expression "*(code **)(pcVar23 + 0x5a0d0)" * (cast_expression "(code **)(pcVar23 + 0x5a0d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5a0d0)" ( (binary_expression "pcVar23 + 0x5a0d0" identifier + number_literal) ))))) )) (argument_list "(iStack_31c)" ( identifier ))) ;)) (if_statement "if (iVar5 == 0) goto LAB_000fcb84;" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000fcb84;" goto statement_identifier ;)) }))) (expression_statement "(**(code **)(pcVar23 + 0x5b86c))(iVar5,**(undefined4 **)(pcVar23 + 0x5ab6c));" (call_expression "(**(code **)(pcVar23 + 0x5b86c))(iVar5,**(undefined4 **)(pcVar23 + 0x5ab6c))" (parenthesized_expression "(**(code **)(pcVar23 + 0x5b86c))" ( (pointer_expression "**(code **)(pcVar23 + 0x5b86c)" * (pointer_expression "*(code **)(pcVar23 + 0x5b86c)" * (cast_expression "(code **)(pcVar23 + 0x5b86c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5b86c)" ( (binary_expression "pcVar23 + 0x5b86c" identifier + number_literal) ))))) )) (argument_list "(iVar5,**(undefined4 **)(pcVar23 + 0x5ab6c))" ( identifier , (pointer_expression "**(undefined4 **)(pcVar23 + 0x5ab6c)" * (pointer_expression "*(undefined4 **)(pcVar23 + 0x5ab6c)" * (cast_expression "(undefined4 **)(pcVar23 + 0x5ab6c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5ab6c)" ( (binary_expression "pcVar23 + 0x5ab6c" identifier + number_literal) ))))) ))) ;) (expression_statement "pwVar6 = (word *)((int)pwVar6 + 1);" (assignment_expression "pwVar6 = (word *)((int)pwVar6 + 1)" identifier = (cast_expression "(word *)((int)pwVar6 + 1)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwVar6 + 1)" ( (binary_expression "(int)pwVar6 + 1" (cast_expression "(int)pwVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (labeled_statement "LAB_000fcb84:\n  if (iStack_314 == **(int **)(pcVar23 + 0x5baa8)) {\n    return pwVar6;\n  }" statement_identifier : (if_statement "if (iStack_314 == **(int **)(pcVar23 + 0x5baa8)) {\n    return pwVar6;\n  }" if (parenthesized_expression "(iStack_314 == **(int **)(pcVar23 + 0x5baa8))" ( (binary_expression "iStack_314 == **(int **)(pcVar23 + 0x5baa8)" identifier == (pointer_expression "**(int **)(pcVar23 + 0x5baa8)" * (pointer_expression "*(int **)(pcVar23 + 0x5baa8)" * (cast_expression "(int **)(pcVar23 + 0x5baa8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5baa8)" ( (binary_expression "pcVar23 + 0x5baa8" identifier + number_literal) )))))) )) (compound_statement "{\n    return pwVar6;\n  }" { (return_statement "return pwVar6;" return identifier ;) }))) (expression_statement "pcVar23 = *(code **)(pcVar23 + 0x5ba58);" (assignment_expression "pcVar23 = *(code **)(pcVar23 + 0x5ba58)" identifier = (pointer_expression "*(code **)(pcVar23 + 0x5ba58)" * (cast_expression "(code **)(pcVar23 + 0x5ba58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5ba58)" ( (binary_expression "pcVar23 + 0x5ba58" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar23)();" (call_expression "(*pcVar23)()" (parenthesized_expression "(*pcVar23)" ( (pointer_expression "*pcVar23" * identifier) )) (argument_list "()" ( ))) ;) (if_statement "if ((**(int **)(pcVar23 + 0x5a67c) == iStack_314) &&\n     (*(int *)(*(int *)(pcVar23 + 0x595b0) + -0x3fb8) == 0)) {\n    return (word *)0x3f;\n  }" if (parenthesized_expression "((**(int **)(pcVar23 + 0x5a67c) == iStack_314) &&\n     (*(int *)(*(int *)(pcVar23 + 0x595b0) + -0x3fb8) == 0))" ( (binary_expression "(**(int **)(pcVar23 + 0x5a67c) == iStack_314) &&\n     (*(int *)(*(int *)(pcVar23 + 0x595b0) + -0x3fb8) == 0)" (parenthesized_expression "(**(int **)(pcVar23 + 0x5a67c) == iStack_314)" ( (binary_expression "**(int **)(pcVar23 + 0x5a67c) == iStack_314" (pointer_expression "**(int **)(pcVar23 + 0x5a67c)" * (pointer_expression "*(int **)(pcVar23 + 0x5a67c)" * (cast_expression "(int **)(pcVar23 + 0x5a67c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5a67c)" ( (binary_expression "pcVar23 + 0x5a67c" identifier + number_literal) ))))) == identifier) )) && (parenthesized_expression "(*(int *)(*(int *)(pcVar23 + 0x595b0) + -0x3fb8) == 0)" ( (binary_expression "*(int *)(*(int *)(pcVar23 + 0x595b0) + -0x3fb8) == 0" (pointer_expression "*(int *)(*(int *)(pcVar23 + 0x595b0) + -0x3fb8)" * (cast_expression "(int *)(*(int *)(pcVar23 + 0x595b0) + -0x3fb8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar23 + 0x595b0) + -0x3fb8)" ( (binary_expression "*(int *)(pcVar23 + 0x595b0) + -0x3fb8" (pointer_expression "*(int *)(pcVar23 + 0x595b0)" * (cast_expression "(int *)(pcVar23 + 0x595b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar23 + 0x595b0)" ( (binary_expression "pcVar23 + 0x595b0" identifier + number_literal) )))) + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n    return (word *)0x3f;\n  }" { (return_statement "return (word *)0x3f;" return (cast_expression "(word *)0x3f" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (if_statement "if (**(int **)(pcVar23 + 0x5b004) == 0) {\n    pwVar16 = (word *)&DAT_00000009;\n    if (**(int **)(pcVar23 + 0x5b008) != 0) {\n      pwVar16 = (word *)0x40;\n    }\n    return pwVar16;\n  }" if (parenthesized_expression "(**(int **)(pcVar23 + 0x5b004) == 0)" ( (binary_expression "**(int **)(pcVar23 + 0x5b004) == 0" (pointer_expression "**(int **)(pcVar23 + 0x5b004)" * (pointer_expression "*(int **)(pcVar23 + 0x5b004)" * (cast_expression "(int **)(pcVar23 + 0x5b004)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5b004)" ( (binary_expression "pcVar23 + 0x5b004" identifier + number_literal) ))))) == number_literal) )) (compound_statement "{\n    pwVar16 = (word *)&DAT_00000009;\n    if (**(int **)(pcVar23 + 0x5b008) != 0) {\n      pwVar16 = (word *)0x40;\n    }\n    return pwVar16;\n  }" { (expression_statement "pwVar16 = (word *)&DAT_00000009;" (assignment_expression "pwVar16 = (word *)&DAT_00000009" identifier = (cast_expression "(word *)&DAT_00000009" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000009" & identifier))) ;) (if_statement "if (**(int **)(pcVar23 + 0x5b008) != 0) {\n      pwVar16 = (word *)0x40;\n    }" if (parenthesized_expression "(**(int **)(pcVar23 + 0x5b008) != 0)" ( (binary_expression "**(int **)(pcVar23 + 0x5b008) != 0" (pointer_expression "**(int **)(pcVar23 + 0x5b008)" * (pointer_expression "*(int **)(pcVar23 + 0x5b008)" * (cast_expression "(int **)(pcVar23 + 0x5b008)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5b008)" ( (binary_expression "pcVar23 + 0x5b008" identifier + number_literal) ))))) != number_literal) )) (compound_statement "{\n      pwVar16 = (word *)0x40;\n    }" { (expression_statement "pwVar16 = (word *)0x40;" (assignment_expression "pwVar16 = (word *)0x40" identifier = (cast_expression "(word *)0x40" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (return_statement "return pwVar16;" return identifier ;) })) (return_statement "return (word *)&DAT_00000021;" return (cast_expression "(word *)&DAT_00000021" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000021" & identifier)) ;) })))
(translation_unit "int append_to_match(char *text,int delimiter,int quote_char,int nontrivial_match)\n\n{\n  char cVar1;\n  byte bVar2;\n  bool bVar3;\n  int *piVar4;\n  uint uVar5;\n  int iVar6;\n  long *plVar7;\n  stat *match_list;\n  stat *psVar8;\n  undefined4 uVar9;\n  undefined1 *puVar10;\n  undefined4 *puVar11;\n  int iVar12;\n  int iVar13;\n  int iVar14;\n  int iVar15;\n  int iVar16;\n  int *piVar17;\n  ulong uVar18;\n  int iVar19;\n  stat *psVar20;\n  stat *psVar21;\n  stat *psVar22;\n  stat *unaff_s2;\n  char *pcVar23;\n  stat *unaff_s3;\n  stat *psVar24;\n  int iVar25;\n  stat *unaff_s4;\n  stat *unaff_s5;\n  uint uVar26;\n  ulong *unaff_s6;\n  uint uVar27;\n  stat *unaff_s7;\n  undefined *puVar28;\n  code *pcVar29;\n  stat **unaff_s8;\n  code *pcVar30;\n  byte *pbStack_228;\n  stat *psStack_214;\n  uint uStack_210;\n  int iStack_208;\n  int iStack_1fc;\n  int iStack_1f8;\n  undefined4 uStack_1f4;\n  undefined4 uStack_1f0;\n  undefined4 uStack_1ec;\n  undefined4 uStack_1e8;\n  int iStack_1e4;\n  stat *psStack_1e0;\n  stat *psStack_1dc;\n  undefined4 *puStack_1d8;\n  stat *psStack_1d4;\n  stat *psStack_1d0;\n  stat *psStack_1cc;\n  ulong *puStack_1c8;\n  stat *psStack_1c4;\n  stat **ppsStack_1c0;\n  code *pcStack_1bc;\n  code *pcStack_1a8;\n  undefined1 auStack_19d [21];\n  stat *psStack_188;\n  stat *psStack_184;\n  stat *psStack_180;\n  ulong *puStack_17c;\n  stat *psStack_178;\n  code *pcStack_174;\n  stat *psStack_160;\n  stat *psStack_15c;\n  undefined *puStack_158;\n  stat *psStack_14c;\n  stat *psStack_148;\n  stat *psStack_144;\n  stat *psStack_140;\n  stat *psStack_13c;\n  uint uStack_138;\n  int *piStack_134;\n  stat *psStack_130;\n  int *piStack_12c;\n  stat *psStack_124;\n  stat *psStack_120;\n  ulong uStack_11c;\n  __mode_t _Stack_118;\n  ulong uStack_114;\n  long lStack_110;\n  ulong uStack_10c;\n  __mode_t _Stack_108;\n  undefined4 *puStack_104;\n  stat *psStack_100;\n  __mode_t _Stack_fc;\n  stat *psStack_f8;\n  char *fn;\n  stat finfo;\n  char temp_string [4];\n  \n  piVar4 = *(int **)PTR___stack_chk_guard_0015858c;\n  if (quote_char != 0) {\n    if (*(int *)PTR_rl_point_001575f0 == 0) {\n      quote_char = 0;\n    }\n    else if (*(int *)PTR_rl_completion_suppress_quote_00157618 == 0) {\n      if (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + *(int *)PTR_rl_point_001575f0 + -1) ==\n          quote_char) {\n        quote_char = 0;\n      }\n      else {\n        temp_string[0] = (char)quote_char;\n        quote_char = 1;\n      }\n    }\n    else {\n      quote_char = 0;\n    }\n  }\n  if (delimiter == 0) {\n    psVar22 = (stat *)(quote_char + 1);\n    if ((*(int *)PTR_rl_completion_suppress_append_00157624 == 0) &&\n       (*(int *)PTR_rl_completion_append_character_00157628 != 0)) {\n      temp_string[quote_char] = (char)*(int *)PTR_rl_completion_append_character_00157628;\n      goto LAB_000fa86c;\n    }\n  }\n  else {\n    temp_string[quote_char] = (char)delimiter;\nLAB_000fa86c:\n    psVar22 = (stat *)(quote_char + 2);\n    quote_char = quote_char + 1;\n  }\n  psVar24 = (stat *)(&stack0xfffffff0 + quote_char);\n  temp_string[quote_char] = '\0';\n  if (*(int *)PTR_rl_filename_completion_desired_00157634 == 0) {\n    if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {\n      rl_insert_text(temp_string);\n    }\n  }\n  else {\n    unaff_s2 = (stat *)(*(code *)PTR_tilde_expand_00156b0c)();\n    if (*(int *)PTR_rl_filename_stat_hook_00157754 != 0) {\n      iVar6 = (*(code *)PTR_strlen_00158444)(unaff_s2);\n      uVar9 = (*(code *)PTR_xmalloc_001565b8)(iVar6 + 1);\n      fn = (char *)(*(code *)PTR_strcpy_001584cc)(uVar9,unaff_s2);\n      (**(code **)PTR_rl_filename_stat_hook_00157754)(&fn);\n      (*(code *)PTR_xfree_00156bb4)(unaff_s2);\n      unaff_s2 = (stat *)fn;\n    }\n    delimiter = (int)unaff_s2;\n    if ((nontrivial_match == 0) ||\n       (psVar24 = &finfo, *(int *)PTR_rl_completion_mark_symlink_dirs_001578a4 != 0)) {\n      psVar24 = &finfo;\n      iVar6 = (*(code *)PTR___xstat64_001582e8)(3);\n    }\n    else {\n      iVar6 = (*(code *)PTR___lxstat64_001582c8)(3);\n    }\n    if (iVar6 == 0) {\n      if ((finfo.st_mode & 0xf000) == 0x4000) {\n        if (*(int *)PTR__rl_complete_mark_directories_00157f80 != 0) {\n          iVar6 = *(int *)PTR_rl_point_001575f0;\n          if ((iVar6 == 0) || (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar6) != '\0')) {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar6);\n          }\n          else {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar6 + -1);\n          }\n          if (cVar1 != '/') {\n            rl_insert_text(PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c);\n          }\n        }\n      }\n      else if (((finfo.st_mode & 0xf000) != 0xa000) ||\n              (iVar6 = path_isdir((char *)unaff_s2), iVar6 == 0)) goto LAB_000fa9f0;\n    }\n    else {\nLAB_000fa9f0:\n      if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {\n        rl_insert_text(temp_string);\n      }\n    }\n    (*(code *)PTR_xfree_00156bb4)(unaff_s2);\n  }\n  if (piVar4 == *(int **)PTR___stack_chk_guard_0015858c) {\n    return (int)psVar22;\n  }\n  puVar28 = PTR___stack_chk_fail_0015853c;\n  (*(code *)PTR___stack_chk_fail_0015853c)();\n  puStack_158 = puVar28 + 0x63a10;\n  puStack_104 = (undefined4 *)**(undefined4 **)(puVar28 + 0x5da5c);\n  psVar20 = (stat *)delimiter;\n  psStack_130 = psVar24;\n  piStack_12c = piVar4;\n  psStack_100 = psVar22;\n  _Stack_fc = nontrivial_match;\n  psStack_f8 = unaff_s2;\n  if ((stat *)delimiter == (stat *)0x1) {\n    *piVar4 = piVar4[1];\n    piVar4[1] = 0;\n    psStack_13c = (stat *)delimiter;\n  }\n  else {\n    if (delimiter < 2) {\n      psStack_140 = (stat *)&__DT_SYMTAB[0x3d1].st_info;\n    }\n    else {\n      psVar24 = (stat *)(piVar4 + 1);\n      psStack_140 = (stat *)&__DT_SYMTAB[0x3d1].st_info;\n      psStack_13c = (stat *)0x1;\n      unaff_s3 = *(stat **)(puVar28 + 0x5d2e8);\n      piStack_134 = *(int **)(puVar28 + 0x5d454);\n      unaff_s8 = &psStack_124;\n      do {\n        uVar5 = (**(code **)(puStack_158 + -0x6060))();\n        if ((1 < uVar5) && (unaff_s3->st_dev == 0)) {\n          uStack_11c = 0;\n          _Stack_118 = 0;\n          uStack_114 = 0;\n          lStack_110 = 0;\n        }\n        if (*piStack_134 == 0) {\n          nontrivial_match = (int)*(char *)psVar24->st_dev;\n          unaff_s5 = psVar24;\n          if ((stat *)nontrivial_match == (stat *)0x0) {\n            psVar22 = (stat *)0x0;\n            goto LAB_000fac1c;\n          }\n          psVar22 = (stat *)(int)*(char *)psVar24->st_pad1[0];\n          psStack_14c = (stat *)0x0;\n          unaff_s4 = psVar22;\n          if (psVar22 == (stat *)0x0) goto LAB_000fac1c;\n          unaff_s6 = &uStack_11c;\n          psStack_148 = (stat *)&uStack_114;\n          unaff_s7 = (stat *)&uStack_10c;\n          do {\n            psVar22 = psStack_14c;\n            uVar5 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar5 < 2) || (unaff_s3->st_dev != 0)) {\n              if ((stat *)nontrivial_match != unaff_s4) goto LAB_000fac1c;\n            }\n            else {\n              uStack_10c = uStack_11c;\n              _Stack_108 = _Stack_118;\n              psStack_15c = psStack_148;\n              psStack_160 = psVar22;\n              iVar6 = (**(code **)(puStack_158 + -0x65b8))\n                                (psVar24->st_dev,psVar22,unaff_s6,psVar24->st_pad1[0]);\n              psVar20 = unaff_s7;\n              if (iVar6 == 0) goto LAB_000fac1c;\n              iVar6 = (**(code **)(puStack_158 + -0x65b4))\n                                ((int)psStack_14c->st_pad1 + (psVar24->st_dev - 4));\n              if (1 < iVar6) {\n                psVar22 = (stat *)((int)psVar22->st_pad1 + iVar6 + -5);\n              }\n            }\n            psVar22 = (stat *)((int)&psVar22->st_dev + 1);\n            nontrivial_match = (int)*(char *)((int)psVar22->st_pad1 + (psVar24->st_dev - 4));\n            psStack_14c = psVar22;\n            if ((stat *)nontrivial_match == (stat *)0x0) goto LAB_000fac1c;\n            unaff_s4 = (stat *)(int)*(char *)((int)psVar22->st_pad1 + psVar24->st_pad1[0] + -4);\n            bVar3 = (int)psVar22 < (int)psStack_140;\n          } while (unaff_s4 != (stat *)0x0);\n        }\n        else {\n          psVar22 = (stat *)0x0;\n          unaff_s7 = (stat *)&uStack_11c;\n          unaff_s6 = &uStack_114;\n          while( true ) {\n            bVar2 = *(byte *)((int)psVar22->st_pad1 + (psVar24->st_dev - 4));\n            nontrivial_match = (int)(char)bVar2;\n            unaff_s4 = (stat *)(uint)bVar2;\n            psStack_148 = psVar22;\n            psStack_144 = psVar24;\n            if (unaff_s4 == (stat *)nontrivial_match) {\n              piVar4 = (int *)(**(code **)(puStack_158 + -0x6290))();\n              if ((*(ushort *)(*piVar4 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar4 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (stat *)(*piVar4 + (int)unaff_s4 * 4);\n                nontrivial_match = unaff_s4->st_dev;\n              }\n            }\n            unaff_s5 = (stat *)&psStack_120;\n            if ((stat *)nontrivial_match == (stat *)0x0) break;\n            bVar2 = *(byte *)((int)psStack_148->st_pad1 + psStack_144->st_pad1[0] + -4);\n            psStack_14c = (stat *)(int)(char)bVar2;\n            unaff_s4 = (stat *)(uint)bVar2;\n            if ((unaff_s4 == psStack_14c) &&\n               (piVar4 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar4 + (int)unaff_s4 * 2) & 1) != 0)) {\n              piVar4 = (int *)(**(code **)(puStack_158 + -0x628c))();\n              unaff_s4 = (stat *)(*piVar4 + (int)unaff_s4 * 4);\n              psStack_14c = (stat *)unaff_s4->st_dev;\n            }\n            if (psStack_14c == (stat *)0x0) break;\n            uVar5 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar5 < 2) || (unaff_s3->st_dev != 0)) {\njoined_r0x000facac:\n              if ((stat *)nontrivial_match != psStack_14c) break;\n            }\n            else {\n              iVar6 = (int)psStack_148->st_pad1 + (psStack_144->st_dev - 4);\n              uVar9 = (**(code **)(puStack_158 + -0x60fc))(iVar6);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,iVar6,uVar9,unaff_s7);\n              unaff_s4 = (stat *)((int)psStack_148->st_pad1 + psStack_144->st_pad1[0] + -4);\n              uVar9 = (**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              psVar20 = unaff_s4;\n              iVar6 = (**(code **)(puStack_158 + -0x6084))\n                                ((stat *)&psStack_120,unaff_s4,uVar9,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar6 + 2U < 2)) goto joined_r0x000facac;\n              nontrivial_match = (**(code **)(puStack_158 + -0x5fc8))(psStack_124);\n              psStack_124 = (stat *)nontrivial_match;\n              psStack_120 = (stat *)(**(code **)(puStack_158 + -0x5fc8))(psStack_120);\n              if ((stat *)nontrivial_match != psStack_120) break;\n              if (1 < uStack_138) {\n                psVar22 = (stat *)((int)psStack_148->st_pad1 + (uStack_138 - 5));\n              }\n            }\n            psVar22 = (stat *)((int)&psVar22->st_dev + 1);\n          }\nLAB_000fac1c:\n          bVar3 = (int)psVar22 < (int)psStack_140;\n        }\n        psVar21 = psStack_130;\n        if (bVar3) {\n          psStack_140 = psVar22;\n        }\n        psStack_13c = (stat *)((int)&psStack_13c->st_dev + 1);\n        psVar24 = (stat *)psVar24->st_pad1;\n      } while ((stat *)delimiter != psStack_13c);\n      unaff_s2 = psVar24;\n      if (((psStack_140 == (stat *)0x0) && (psStack_130 != (stat *)0x0)) &&\n         (psVar22 = psStack_130, *(byte *)&psStack_130->st_dev != 0)) {\n        iVar6 = (**(code **)(puStack_158 + -0x60fc))(psStack_130);\n        iVar6 = (**(code **)(puStack_158 + -0x7f88))(iVar6 + 1);\n        *piStack_12c = iVar6;\n        psVar20 = psVar21;\n        (**(code **)(puStack_158 + -0x6074))(iVar6);\n        psVar22 = psVar21;\n        goto LAB_000fb1f0;\n      }\n    }\n    iVar6 = (**(code **)(puStack_158 + -0x7f88))((byte *)((int)&psStack_140->st_dev + 1));\n    *piStack_12c = iVar6;\n    if (**(int **)(puStack_158 + -0x65bc) == 0) {\n      psVar20 = (stat *)piStack_12c[1];\n      (**(code **)(puStack_158 + -0x615c))(iVar6,psVar20,psStack_140);\n    }\n    else {\n      psVar24 = (stat *)0x0;\n      if (**(int **)(puStack_158 + -0x6f0c) != 0) {\n        if ((code *)**(undefined4 **)(puStack_158 + -0x6de4) == (code *)0x0) {\n          psVar24 = (stat *)0x0;\n        }\n        else if ((**(int **)(puStack_158 + -0x6f38) != 0) &&\n                (**(int **)(puStack_158 + -0x702c) != 0)) {\n          psVar20 = (stat *)**(undefined4 **)(puStack_158 + -0x6f34);\n          psVar24 = (stat *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(psStack_130);\n          psStack_130 = psVar24;\n        }\n      }\n      if (**(int **)(puStack_158 + -0x6f10) != 0) {\n        psVar20 = (stat *)delimiter;\n        (**(code **)(puStack_158 + -0x6218))\n                  (piStack_12c + 1,delimiter,4,*(undefined4 *)(puStack_158 + -0x6660));\n      }\n      psVar22 = (stat *)(**(code **)(puStack_158 + -0x60fc))(psStack_130);\n      unaff_s4 = psStack_140;\n      if ((int)psVar22 <= (int)psStack_140) {\n        unaff_s4 = psVar22;\n      }\n      if (delimiter < 1) {\n        psVar22 = (stat *)0x1;\nLAB_000fb1a8:\n        psVar22 = (stat *)(uint)(delimiter < (int)psVar22);\n        if (psVar22 != (stat *)0x0) goto LAB_000fb12c;\n      }\n      else {\n        nontrivial_match = (int)(piStack_12c + 1);\n        psVar22 = (stat *)0x1;\n        do {\n          unaff_s2 = (stat *)((stat *)nontrivial_match)->st_dev;\n          iVar6 = (**(code **)(puStack_158 + -0x6238))(unaff_s2,psStack_130,unaff_s4);\n          if (iVar6 == 0) {\n            psVar20 = unaff_s2;\n            (**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,psStack_140);\n            goto LAB_000fb1a8;\n          }\n          psVar22 = (stat *)((int)&psVar22->st_dev + 1);\n          nontrivial_match = (int)((stat *)nontrivial_match)->st_pad1;\n        } while ((int)psVar22 <= delimiter);\nLAB_000fb12c:\n        psVar20 = (stat *)piStack_12c[1];\n        (**(code **)(puStack_158 + -0x615c))(*piStack_12c,psVar20,psStack_140);\n      }\n      if (psVar24 != (stat *)0x0) {\n        iVar6 = (**(code **)(puStack_158 + -0x5f94))(psVar24);\n        return iVar6;\n      }\n      unaff_s3 = (stat *)0x0;\n    }\n    *(undefined1 *)((int)psStack_140->st_pad1 + *piStack_12c + -4) = 0;\n    psStack_13c = (stat *)delimiter;\n  }\nLAB_000fb1f0:\n  if (puStack_104 == (undefined4 *)**(undefined4 **)(puStack_158 + -0x5fb4)) {\n    return (int)psStack_13c;\n  }\n  pcVar29 = *(code **)(puStack_158 + -0x6004);\n  pcVar30 = postprocess_matches;\n  puVar11 = puStack_104;\n  (*pcVar29)();\n  pcStack_1a8 = pcVar29 + 0x632d8;\n  auStack_19d._1_4_ = **(undefined4 **)(pcVar29 + 0x5d324);\n  psVar24 = (stat *)*puVar11;\n  auStack_19d._9_4_ = psVar22;\n  auStack_19d._13_4_ = nontrivial_match;\n  auStack_19d._17_4_ = unaff_s2;\n  psStack_188 = unaff_s3;\n  psStack_184 = unaff_s4;\n  psStack_180 = unaff_s5;\n  puStack_17c = unaff_s6;\n  psStack_178 = unaff_s7;\n  pcStack_174 = pcVar30;\n  if (psVar24 == (stat *)0x0) {\n    iVar6 = 0;\n  }\n  else {\n    psVar21 = psVar20;\n    match_list = psVar24;\n    if (**(int **)(pcVar29 + 0x5cd28) != 0) {\n      if (psVar24->st_dev == 0) {\nLAB_000fb370:\n        uVar18 = psVar24->st_dev;\n      }\n      else {\n        plVar7 = psVar24->st_pad1;\n        iVar6 = 0;\n        do {\n          iVar13 = iVar6;\n          iVar12 = *plVar7;\n          iVar6 = iVar13 + 1;\n          plVar7 = plVar7 + 1;\n        } while (iVar12 != 0);\n        if ((iVar6 == 0) || (**(int **)(pcVar29 + 0x5c3c8) == 0)) goto LAB_000fb370;\n        (**(code **)(pcVar29 + 0x5d0c0))\n                  (psVar24->st_pad1,iVar13,4,*(undefined4 *)(pcVar29 + 0x5cc78));\n        uVar18 = psVar24->st_dev;\n      }\n      iVar6 = (**(code **)(pcStack_1a8 + -0x60fc))(uVar18);\n      uVar9 = (**(code **)(pcStack_1a8 + -0x7f88))(iVar6 + 1);\n      unaff_s4 = (stat *)(**(code **)(pcStack_1a8 + -0x6074))(uVar9,psVar24->st_dev);\n      if (psVar24->st_pad1[0] == 0) {\n        unaff_s6 = (ulong *)0x0;\n        iVar6 = 3;\n        psVar21 = (stat *)0x0;\n      }\n      else {\n        unaff_s6 = (ulong *)0x0;\n        unaff_s7 = (stat *)auStack_19d;\n        psVar22 = psVar24;\n        do {\n          uVar18 = psVar22->st_dev;\n          iVar6 = (**(code **)(pcStack_1a8 + -0x5f48))(uVar18);\n          if (iVar6 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(uVar18);\n            psVar22->st_dev = (ulong)unaff_s7;\n          }\n          else {\n            unaff_s6 = (ulong *)((int)unaff_s6 + 1);\n          }\n          psVar21 = (stat *)psVar22->st_pad1[1];\n          iVar6 = (int)unaff_s6 + 3;\n          psVar22 = (stat *)psVar22->st_pad1;\n        } while (psVar21 != (stat *)0x0);\n      }\n      match_list = (stat *)(**(code **)(pcStack_1a8 + -0x7f88))(iVar6 << 2);\n      psVar8 = (stat *)psVar24->st_pad1[0];\n      plVar7 = psVar24->st_pad1;\n      if (psVar8 == (stat *)0x0) {\n        match_list->st_pad1[0] = 0;\n        psVar22 = (stat *)0x1;\n        if ((undefined1 *)psVar24->st_dev != auStack_19d) {\n          pcVar29 = *(code **)(pcStack_1a8 + -0x798c);\n          goto LAB_000fb4b4;\n        }\n        match_list->st_dev = (ulong)unaff_s4;\n      }\n      else {\n        psVar22 = (stat *)0x1;\n        psVar21 = (stat *)auStack_19d;\n        do {\n          plVar7 = plVar7 + 1;\n          if (psVar8 != psVar21) {\n            match_list->st_pad1[(int)((int)psVar22[-1].st_pad5 + 0x37)] = (long)psVar8;\n            psVar22 = (stat *)((int)&psVar22->st_dev + 1);\n          }\n          psVar8 = (stat *)*plVar7;\n        } while (psVar8 != (stat *)0x0);\n        match_list->st_pad1[(int)((int)psVar22[-1].st_pad5 + 0x37)] = 0;\n        if ((undefined1 *)psVar24->st_dev != auStack_19d) {\n          pcVar29 = *(code **)(pcStack_1a8 + -0x798c);\nLAB_000fb4b4:\n          (*pcVar29)();\n        }\n        match_list->st_dev = (ulong)unaff_s4;\n        if (psVar22 == (stat *)0x2) {\n          psVar22 = (stat *)match_list->st_pad1[0];\n          psVar21 = psVar22;\n          iVar6 = (**(code **)(pcStack_1a8 + -0x5f48))(unaff_s4);\n          if (iVar6 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(psVar22);\n            match_list->st_pad1[0] = 0;\n          }\n        }\n      }\n      (**(code **)(pcStack_1a8 + -0x798c))(psVar24);\n      unaff_s5 = match_list;\n    }\n    unaff_s3 = psVar20;\n    psVar24 = match_list;\n    if (((code *)**(undefined4 **)(pcStack_1a8 + -0x703c) == (code *)0x0) ||\n       (psVar20 == (stat *)0x0)) goto LAB_000fb570;\n    plVar7 = match_list->st_pad1;\n    if (match_list->st_pad1[0] == 0) {\n      psVar22 = (stat *)0x1;\n    }\n    else {\n      psVar22 = (stat *)0x1;\n      do {\n        plVar7 = plVar7 + 1;\n        psVar22 = (stat *)((int)&psVar22->st_dev + 1);\n      } while (*plVar7 != 0);\n    }\n    (*(code *)**(undefined4 **)(pcStack_1a8 + -0x703c))(match_list);\n    unaff_s3 = (stat *)match_list->st_dev;\n    if (unaff_s3 == (stat *)0x0) {\n      (**(code **)(pcStack_1a8 + -0x5f94))(match_list);\n      *puVar11 = 0;\n      iVar6 = 0;\n      psVar20 = psVar21;\n      goto LAB_000fb578;\n    }\n    plVar7 = match_list->st_pad1;\n    if (match_list->st_pad1[0] == 0) {\nLAB_000fb570:\n      *puVar11 = match_list;\n    }\n    else {\n      psVar20 = (stat *)0x1;\n      do {\n        psVar21 = psVar20;\n        plVar7 = plVar7 + 1;\n        psVar20 = (stat *)((int)&psVar21->st_dev + 1);\n      } while (*plVar7 != 0);\n      psVar22 = (stat *)(uint)((int)psVar20 < (int)psVar22);\n      if (((int)psVar20 < 2) || (psVar22 == (stat *)0x0)) goto LAB_000fb570;\n      compute_lcd_of_matches((char **)match_list,(int)psVar21,(char *)unaff_s3);\n      (**(code **)(pcStack_1a8 + -0x5f94))(unaff_s3);\n      *puVar11 = match_list;\n    }\n    iVar6 = 1;\n    psVar20 = psVar21;\n  }\nLAB_000fb578:\n  if ((char *)auStack_19d._1_4_ == (char *)**(undefined4 **)(pcStack_1a8 + -0x5fb4)) {\n    return iVar6;\n  }\n  pcVar29 = *(code **)(pcStack_1a8 + -0x6004);\n  pcVar30 = rl_filename_completion_function;\n  pcVar23 = (char *)auStack_19d._1_4_;\n  (*pcVar29)();\n  iStack_1e4 = **(int **)(pcVar29 + 0x5cf6c);\n  psStack_1e0 = psVar22;\n  psStack_1dc = psVar24;\n  puStack_1d8 = puVar11;\n  psStack_1d4 = unaff_s3;\n  psStack_1d0 = unaff_s4;\n  psStack_1cc = unaff_s5;\n  puStack_1c8 = unaff_s6;\n  psStack_1c4 = unaff_s7;\n  ppsStack_1c0 = unaff_s8;\n  pcStack_1bc = pcVar30;\n  if (psVar20 != (stat *)0x0) goto LAB_000fb968;\n  if (*(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd4) != 0) {\n    (**(code **)(pcVar29 + 0x5cc9c))();\n    *(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd4) = 0;\n  }\n  if (*(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8) != 0) {\n    iVar6 = (**(code **)(pcVar29 + 0x5cf8c))();\n    return iVar6;\n  }\n  if (*(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc) != 0) {\n    iVar6 = (**(code **)(pcVar29 + 0x5cf8c))();\n    return iVar6;\n  }\n  if (*(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0) != 0) {\n    iVar6 = (**(code **)(pcVar29 + 0x5cf8c))();\n    return iVar6;\n  }\n  iVar6 = (**(code **)(pcVar29 + 0x5ce24))(pcVar23);\n  uVar9 = (**(code **)(pcVar29 + 0x5af98))(iVar6 + 1);\n  uVar9 = (**(code **)(pcVar29 + 0x5ceac))(uVar9,pcVar23);\n  *(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc) = uVar9;\n  if (*pcVar23 == '\0') {\n    pcVar23 = (char *)(*(int *)(pcVar29 + 0x5af90) + -0x5e18);\n  }\n  iVar6 = (**(code **)(pcVar29 + 0x5ce24))(pcVar23);\n  uVar9 = (**(code **)(pcVar29 + 0x5af98))(iVar6 + 1);\n  puVar10 = (undefined1 *)(**(code **)(pcVar29 + 0x5ceac))(uVar9,pcVar23);\n  *(undefined1 **)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8) = puVar10;\n  iVar6 = (**(code **)(pcVar29 + 0x5cd4c))(puVar10,0x2f);\n  if (iVar6 == 0) {\n    *puVar10 = 0x2e;\n    *(undefined1 *)(*(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8) + 1) = 0;\n  }\n  else {\n    (**(code **)(pcVar29 + 0x5ceac))\n              (*(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc),iVar6 + 1);\n    *(undefined1 *)(iVar6 + 1) = 0;\n  }\n  if (**(int **)(pcVar29 + 0x5bfe8) == 0) {\nLAB_000fb830:\n    iVar12 = *(int *)(pcVar29 + 0x5af4c);\n    iVar6 = (**(code **)(pcVar29 + 0x5ce24))(*(undefined4 *)(iVar12 + -0x3fd8));\n    uVar9 = (**(code **)(pcVar29 + 0x5af98))(iVar6 + 1);\n    uVar9 = (**(code **)(pcVar29 + 0x5ceac))(uVar9,*(undefined4 *)(iVar12 + -0x3fd8));\n    *(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0) = uVar9;\n  }\n  else {\n    if ((code *)**(undefined4 **)(pcVar29 + 0x5c13c) == (code *)0x0) goto LAB_000fb830;\n    uVar9 = (*(code *)**(undefined4 **)(pcVar29 + 0x5c13c))\n                      (*(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8),\n                       **(undefined4 **)(pcVar29 + 0x5bfec));\n    *(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0) = uVar9;\n  }\n  bVar3 = **(char **)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8) == '~';\n  if (bVar3) {\n    uVar9 = (**(code **)(pcVar29 + 0x5b4ec))();\n    iVar6 = *(int *)(pcVar29 + 0x5af4c);\n    (**(code **)(pcVar29 + 0x5b594))(*(undefined4 *)(iVar6 + -0x3fd8));\n    *(undefined4 *)(iVar6 + -0x3fd8) = uVar9;\n  }\n  if ((code *)**(undefined4 **)(pcVar29 + 0x5bfe0) == (code *)0x0) {\n    if ((code *)**(undefined4 **)(pcVar29 + 0x5bfe4) != (code *)0x0) {\n      iVar6 = (*(code *)**(undefined4 **)(pcVar29 + 0x5bfe4))(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8)\n      ;\n      iVar12 = *(int *)(pcVar29 + 0x5af4c);\n      if (iVar6 != 0) {\n        (**(code **)(pcVar29 + 0x5b594))(*(undefined4 *)(iVar12 + -0x3fe0));\n        iVar13 = *(int *)(pcVar29 + 0x5af4c);\n        iVar6 = (**(code **)(pcVar29 + 0x5ce24))(*(undefined4 *)(iVar13 + -0x3fd8));\n        uVar9 = (**(code **)(pcVar29 + 0x5af98))(iVar6 + 1);\n        uVar9 = (**(code **)(pcVar29 + 0x5ceac))(uVar9,*(undefined4 *)(iVar13 + -0x3fd8));\n        *(undefined4 *)(iVar12 + -0x3fe0) = uVar9;\n        goto LAB_000fb8b4;\n      }\n    }\n    iVar6 = *(int *)(pcVar29 + 0x5af4c);\n    if ((!bVar3) && (iVar6 = *(int *)(pcVar29 + 0x5af4c), **(int **)(pcVar29 + 0x5bfe8) != 0)) {\n      iVar6 = *(int *)(pcVar29 + 0x5af4c);\n      if (**(int **)(pcVar29 + 0x5c13c) != 0) {\n        (**(code **)(pcVar29 + 0x5b594))(*(undefined4 *)(iVar6 + -0x3fd8));\n        iVar13 = *(int *)(pcVar29 + 0x5af4c);\n        iVar12 = (**(code **)(pcVar29 + 0x5ce24))(*(undefined4 *)(iVar13 + -0x3fe0));\n        uVar9 = (**(code **)(pcVar29 + 0x5af98))(iVar12 + 1);\n        uVar9 = (**(code **)(pcVar29 + 0x5ceac))(uVar9,*(undefined4 *)(iVar13 + -0x3fe0));\n        *(undefined4 *)(iVar6 + -0x3fd8) = uVar9;\n      }\n      goto LAB_000fb8b4;\n    }\n  }\n  else {\n    (*(code *)**(undefined4 **)(pcVar29 + 0x5bfe0))(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8);\nLAB_000fb8b4:\n    iVar6 = *(int *)(pcVar29 + 0x5af4c);\n  }\n  uVar9 = (**(code **)(pcVar29 + 0x5cc98))(*(undefined4 *)(iVar6 + -0x3fd8));\n  *(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd4) = uVar9;\n  iVar6 = *(int *)(pcVar29 + 0x5af4c);\n  if ((**(char **)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc) != '\0') &&\n     (iVar6 = *(int *)(pcVar29 + 0x5af4c), **(int **)(pcVar29 + 0x5bfe8) != 0)) {\n    if ((code *)**(undefined4 **)(pcVar29 + 0x5c13c) != (code *)0x0) {\n      uVar9 = (*(code *)**(undefined4 **)(pcVar29 + 0x5c13c))\n                        (*(char **)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc),\n                         **(undefined4 **)(pcVar29 + 0x5bfec));\n      iVar6 = *(int *)(pcVar29 + 0x5af4c);\n      (**(code **)(pcVar29 + 0x5b594))(*(undefined4 *)(iVar6 + -0x3fdc));\n      *(undefined4 *)(iVar6 + -0x3fdc) = uVar9;\n    }\n    iVar6 = *(int *)(pcVar29 + 0x5af4c);\n  }\n  uVar9 = (**(code **)(pcVar29 + 0x5ce24))(*(undefined4 *)(iVar6 + -0x3fdc));\n  *(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe4) = uVar9;\n  **(undefined4 **)(pcVar29 + 0x5c014) = 1;\nLAB_000fb968:\n  iVar14 = 0;\n  iVar6 = *(int *)(pcVar29 + 0x5af4c);\n  puVar11 = *(undefined4 **)(pcVar29 + 0x5c130);\n  iVar12 = *(int *)(pcVar29 + 0x5af4c);\n  iVar13 = *(int *)(pcVar29 + 0x5af4c);\n  piVar4 = *(int **)(pcVar29 + 0x5c964);\nLAB_000fbb0c:\n  iVar19 = *(int *)(iVar6 + -0x3fd4);\nLAB_000fbb10:\n  if (iVar19 == 0) {\n    if (iVar14 != 0) goto LAB_000fbbb0;\n    iVar6 = *(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8);\nLAB_000fc3a0:\n    if (iVar6 != 0) {\n      (**(code **)(pcVar29 + 0x5b594))();\n      *(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8) = 0;\n    }\n    if (*(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc) != 0) {\n      (**(code **)(pcVar29 + 0x5b594))();\n      *(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc) = 0;\n    }\n    iVar6 = *(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0);\n    if (iVar6 != 0) {\n      (**(code **)(pcVar29 + 0x5b594))(iVar6);\n      *(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0) = 0;\n      iVar6 = 0;\n    }\n    goto LAB_000fbca4;\n  }\n  iVar14 = (**(code **)(pcVar29 + 0x5cd0c))();\n  if (iVar14 == 0) {\n    if (*(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd4) != 0) {\n      (**(code **)(pcVar29 + 0x5cc9c))();\n      *(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd4) = 0;\n    }\n    iVar6 = *(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8);\n    goto LAB_000fc3a0;\n  }\n  psVar24 = (stat *)(iVar14 + 0x13);\n  iVar19 = (**(code **)(pcVar29 + 0x5ce24))(psVar24);\n  psVar22 = psVar24;\n  if (((code *)*puVar11 != (code *)0x0) &&\n     (psVar22 = (stat *)(*(code *)*puVar11)(psVar24,iVar19), psVar24 != psVar22)) {\n    iVar19 = (**(code **)(pcVar29 + 0x5ce24))(psVar22);\n  }\n  iVar25 = *(int *)(iVar12 + -0x3fe4);\n  if (iVar25 == 0) {\n    if (**(int **)(pcVar29 + 0x5c974) == 0) {\n      if (*(byte *)&psVar22->st_dev != 0x2e) goto LAB_000fbbb0;\n    }\n    else {\n      iVar15 = *(int *)(pcVar29 + 0x5af4c);\n      if ((*(byte *)&psVar22->st_dev != 0x2e) ||\n         ((bVar2 = *(byte *)((int)&psVar22->st_dev + 1), bVar2 != 0 &&\n          ((iVar15 = *(int *)(pcVar29 + 0x5af4c), bVar2 != 0x2e ||\n           (iVar15 = *(int *)(pcVar29 + 0x5af4c), *(char *)((int)&psVar22->st_dev + 2) != '\0'))))))\n      goto LAB_000fbbb4;\n    }\n    goto LAB_000fbb0c;\n  }\n  pbStack_228 = *(byte **)(iVar13 + -0x3fdc);\n  uStack_1f4 = 0;\n  uStack_1f0 = 0;\n  uStack_1ec = 0;\n  uStack_1e8 = 0;\n  if (iVar19 < iVar25) goto LAB_000fbb0c;\n  if (*piVar4 != 0) {\n    psStack_214 = psVar22;\n    iStack_208 = iVar25;\n    if (**(int **)(pcVar29 + 0x5c97c) == 0) {\n      uVar5 = (**(code **)(pcVar29 + 0x5cec0))();\n      if ((1 < uVar5) && (**(int **)(pcVar29 + 0x5c7f8) == 0)) {\n        goto LAB_000fc0a8;\n      }\n      uVar26 = (uint)(char)*(byte *)&psVar22->st_dev;\n      uVar5 = (uint)*(byte *)&psVar22->st_dev;\n      if ((uVar5 == uVar26) &&\n         (piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc90))(),\n         (*(ushort *)(*piVar17 + uVar5 * 2) & 1) != 0)) {\n        piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc94))();\n        uVar26 = *(uint *)(*piVar17 + uVar5 * 4);\n      }\n      uVar27 = (uint)(char)*pbStack_228;\n      uVar5 = (uint)*pbStack_228;\n      if (uVar5 == uVar27) {\n        piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc90))();\n        if ((*(ushort *)(*piVar17 + uVar5 * 2) & 1) != 0) {\n          piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc94))();\n          uVar27 = *(uint *)(*piVar17 + uVar5 * 4);\n        }\n      }\n      if (uVar26 == uVar27) {\n        iVar19 = (**(code **)(pcVar29 + 0x5cd98))(pbStack_228,psVar22,iVar25);\n        goto LAB_000fc280;\n      }\n    }\n    else {\n      uVar5 = (**(code **)(pcVar29 + 0x5cec0))();\n      if ((1 < uVar5) && (**(int **)(pcVar29 + 0x5c7f8) == 0)) {\n        do {\n          iVar15 = (**(code **)(pcVar29 + 0x5ce9c))(&iStack_1fc,psStack_214,iVar19,&uStack_1f4);\n          iVar16 = (**(code **)(pcVar29 + 0x5ce9c))(&iStack_1f8,pbStack_228,iVar25,&uStack_1ec);\n          if (iVar15 == 0) {\n            if (iVar16 == 0) goto LAB_000fbbb0;\nLAB_000fbe6c:\n            if (iVar16 + 2U < 2) goto LAB_000fbdb4;\n            iVar16 = (**(code **)(pcVar29 + 0x5cf58))(iStack_1fc);\n            iStack_1fc = iVar16;\n            iStack_1f8 = (**(code **)(pcVar29 + 0x5cf58))(iStack_1f8);\n            psStack_214 = (stat *)((int)psStack_214->st_pad1 + iVar15 + -4);\n            pbStack_228 = pbStack_228 + iVar15;\n            iStack_208 = iStack_208 - iVar15;\n            if ((((iVar16 != 0x2d) && (iVar16 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))) && (iVar16 != iStack_1f8))\n            goto code_r0x000fbef4;\n          }\n          else {\n            if (1 < iVar15 + 2U) goto LAB_000fbe6c;\nLAB_000fbdb4:\n            bVar2 = *(byte *)&psStack_214->st_dev;\n            if (((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||\n               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))) goto LAB_000fbb0c;\n            psStack_214 = (stat *)((int)&psStack_214->st_dev + 1);\n            pbStack_228 = pbStack_228 + 1;\n            iStack_208 = iStack_208 + -1;\n          }\n          iVar15 = *(int *)(pcVar29 + 0x5af4c);\n          if (iStack_208 == 0) goto LAB_000fbbb4;\n        } while( true );\n      }\n      psVar20 = psVar22;\n      while( true ) {\n        uVar5 = (uint)(char)*(byte *)&psVar20->st_dev;\n        uVar26 = (uint)*(byte *)&psVar20->st_dev;\n        psStack_214 = (stat *)uVar5;\n        if ((uVar26 == uVar5) &&\n           (piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc90))(),\n           (*(ushort *)(*piVar17 + uVar26 * 2) & 1) != 0)) {\n          piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc94))();\n          psStack_214 = *(stat **)(*piVar17 + uVar26 * 4);\n        }\n        uVar26 = (uint)(char)*pbStack_228;\n        uVar27 = (uint)*pbStack_228;\n        uStack_210 = uVar26;\n        if (uVar27 == uVar26) {\n          piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc90))();\n          if ((*(ushort *)(*piVar17 + uVar27 * 2) & 1) != 0) {\n            piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc94))();\n            uStack_210 = *(uint *)(*piVar17 + uVar27 * 4);\n          }\n        }\n        if ((((uVar5 != 0x2d) && (uVar5 != 0x5f)) || ((uVar26 != 0x2d && (uVar26 != 0x5f)))) &&\n           (psStack_214 != (stat *)uStack_210)) break;\n        psVar20 = (stat *)((int)&psVar20->st_dev + 1);\n        pbStack_228 = pbStack_228 + 1;\n        iVar15 = *(int *)(pcVar29 + 0x5af4c);\n        if (psVar20 == (stat *)((int)psVar22->st_pad1 + iVar25 + -4)) goto LAB_000fbbb4;\n      }\n    }\n    goto LAB_000fbb0c;\n  }\n  if (*(byte *)&psVar22->st_dev != *pbStack_228) goto LAB_000fbb0c;\n  iVar19 = (**(code **)(pcVar29 + 0x5cce8))(pbStack_228,psVar22,iVar25);\nLAB_000fc280:\n  if (iVar19 != 0) goto LAB_000fbb0c;\n  pcVar23 = *(char **)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8);\n  goto LAB_000fbbb8;\nLAB_000fc0a8:\n  iVar15 = (**(code **)(pcVar29 + 0x5ce9c))(&iStack_1fc,psStack_214,iVar19,&uStack_1f4);\n  iVar16 = (**(code **)(pcVar29 + 0x5ce9c))(&iStack_1f8,pbStack_228,iVar25,&uStack_1ec);\n  if (iVar15 == 0) {\n    if (iVar16 == 0) goto LAB_000fbbb0;\nLAB_000fc100:\n    if (iVar16 + 2U < 2) goto LAB_000fc060;\n    iVar16 = (**(code **)(pcVar29 + 0x5cf58))(iStack_1fc);\n    iStack_1fc = iVar16;\n    iStack_1f8 = (**(code **)(pcVar29 + 0x5cf58))(iStack_1f8);\n    if (iVar16 != iStack_1f8) goto LAB_000fbb0c;\n    psStack_214 = (stat *)((int)psStack_214->st_pad1 + iVar15 + -4);\n    pbStack_228 = pbStack_228 + iVar15;\n    iStack_208 = iStack_208 - iVar15;\n  }\n  else {\n    if (1 < iVar15 + 2U) goto LAB_000fc100;\nLAB_000fc060:\n    if (*(byte *)&psStack_214->st_dev != *pbStack_228) goto LAB_000fbb0c;\n    psStack_214 = (stat *)((int)&psStack_214->st_dev + 1);\n    pbStack_228 = pbStack_228 + 1;\n    iStack_208 = iStack_208 + -1;\n  }\n  iVar15 = *(int *)(pcVar29 + 0x5af4c);\n  if (iStack_208 == 0) goto LAB_000fbbb4;\n  goto LAB_000fc0a8;\ncode_r0x000fbef4:\n  iVar19 = *(int *)(iVar6 + -0x3fd4);\n  goto LAB_000fbb10;\nLAB_000fbbb0:\n  iVar15 = *(int *)(pcVar29 + 0x5af4c);\nLAB_000fbbb4:\n  pcVar23 = *(char **)(iVar15 + -0x3fd8);\nLAB_000fbbb8:\n  if ((pcVar23 == (char *)0x0) ||\n     ((piVar4 = *(int **)(pcVar29 + 0x5c978), *pcVar23 == '.' &&\n      (piVar4 = *(int **)(pcVar29 + 0x5c978), pcVar23[1] == '\0')))) {\n    iVar6 = (**(code **)(pcVar29 + 0x5ce24))(psVar22);\n    uVar9 = (**(code **)(pcVar29 + 0x5af98))(iVar6 + 1);\n    iVar6 = (**(code **)(pcVar29 + 0x5ceac))(uVar9,psVar22);\n  }\n  else {\n    if ((*piVar4 == 0) || (**(char **)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0) != '~')) {\n      iVar13 = *(int *)(pcVar29 + 0x5af4c);\n      iVar12 = (**(code **)(pcVar29 + 0x5ce24))(*(undefined4 *)(iVar13 + -0x3fe0));\n      iVar6 = (**(code **)(pcVar29 + 0x5ce24))(iVar14 + 0x13);\n      iVar6 = (**(code **)(pcVar29 + 0x5af98))(iVar12 + iVar6 + 2);\n      iVar13 = *(int *)(iVar13 + -0x3fe0);\n      (**(code **)(pcVar29 + 0x5ceac))(iVar6,iVar13);\n      if (*(char *)(iVar13 + iVar12 + -1) != '/') {\n        *(undefined1 *)(iVar6 + iVar12) = 0x2f;\n        iVar12 = iVar12 + 1;\n      }\n    }\n    else {\n      iVar13 = (**(code **)(pcVar29 + 0x5ce24))();\n      iVar6 = (**(code **)(pcVar29 + 0x5ce24))(iVar14 + 0x13);\n      iVar6 = (**(code **)(pcVar29 + 0x5af98))(iVar13 + iVar6 + 2);\n      iVar14 = *(int *)(pcVar29 + 0x5af4c);\n      (**(code **)(pcVar29 + 0x5ceac))(iVar6,*(undefined4 *)(iVar14 + -0x3fd8));\n      iVar12 = iVar13;\n      if (*(char *)(*(int *)(iVar14 + -0x3fd8) + iVar13 + -1) != '/') {\n        iVar12 = iVar13 + 1;\n        *(undefined1 *)(iVar6 + iVar13) = 0x2f;\n        *(undefined1 *)(iVar6 + iVar12) = 0;\n      }\n    }\n    (**(code **)(pcVar29 + 0x5ceac))(iVar6 + iVar12,psVar22);\n  }\n  if (psVar24 != psVar22) {\n    (**(code **)(pcVar29 + 0x5b594))(psVar22);\n  }\nLAB_000fbca4:\n  if (iStack_1e4 == **(int **)(pcVar29 + 0x5cf6c)) {\n    return iVar6;\n  }\n  iVar6 = (**(code **)(pcVar29 + 0x5cf1c))();\n  return iVar6;\n}\n\n" (function_definition "int append_to_match(char *text,int delimiter,int quote_char,int nontrivial_match)\n\n{\n  char cVar1;\n  byte bVar2;\n  bool bVar3;\n  int *piVar4;\n  uint uVar5;\n  int iVar6;\n  long *plVar7;\n  stat *match_list;\n  stat *psVar8;\n  undefined4 uVar9;\n  undefined1 *puVar10;\n  undefined4 *puVar11;\n  int iVar12;\n  int iVar13;\n  int iVar14;\n  int iVar15;\n  int iVar16;\n  int *piVar17;\n  ulong uVar18;\n  int iVar19;\n  stat *psVar20;\n  stat *psVar21;\n  stat *psVar22;\n  stat *unaff_s2;\n  char *pcVar23;\n  stat *unaff_s3;\n  stat *psVar24;\n  int iVar25;\n  stat *unaff_s4;\n  stat *unaff_s5;\n  uint uVar26;\n  ulong *unaff_s6;\n  uint uVar27;\n  stat *unaff_s7;\n  undefined *puVar28;\n  code *pcVar29;\n  stat **unaff_s8;\n  code *pcVar30;\n  byte *pbStack_228;\n  stat *psStack_214;\n  uint uStack_210;\n  int iStack_208;\n  int iStack_1fc;\n  int iStack_1f8;\n  undefined4 uStack_1f4;\n  undefined4 uStack_1f0;\n  undefined4 uStack_1ec;\n  undefined4 uStack_1e8;\n  int iStack_1e4;\n  stat *psStack_1e0;\n  stat *psStack_1dc;\n  undefined4 *puStack_1d8;\n  stat *psStack_1d4;\n  stat *psStack_1d0;\n  stat *psStack_1cc;\n  ulong *puStack_1c8;\n  stat *psStack_1c4;\n  stat **ppsStack_1c0;\n  code *pcStack_1bc;\n  code *pcStack_1a8;\n  undefined1 auStack_19d [21];\n  stat *psStack_188;\n  stat *psStack_184;\n  stat *psStack_180;\n  ulong *puStack_17c;\n  stat *psStack_178;\n  code *pcStack_174;\n  stat *psStack_160;\n  stat *psStack_15c;\n  undefined *puStack_158;\n  stat *psStack_14c;\n  stat *psStack_148;\n  stat *psStack_144;\n  stat *psStack_140;\n  stat *psStack_13c;\n  uint uStack_138;\n  int *piStack_134;\n  stat *psStack_130;\n  int *piStack_12c;\n  stat *psStack_124;\n  stat *psStack_120;\n  ulong uStack_11c;\n  __mode_t _Stack_118;\n  ulong uStack_114;\n  long lStack_110;\n  ulong uStack_10c;\n  __mode_t _Stack_108;\n  undefined4 *puStack_104;\n  stat *psStack_100;\n  __mode_t _Stack_fc;\n  stat *psStack_f8;\n  char *fn;\n  stat finfo;\n  char temp_string [4];\n  \n  piVar4 = *(int **)PTR___stack_chk_guard_0015858c;\n  if (quote_char != 0) {\n    if (*(int *)PTR_rl_point_001575f0 == 0) {\n      quote_char = 0;\n    }\n    else if (*(int *)PTR_rl_completion_suppress_quote_00157618 == 0) {\n      if (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + *(int *)PTR_rl_point_001575f0 + -1) ==\n          quote_char) {\n        quote_char = 0;\n      }\n      else {\n        temp_string[0] = (char)quote_char;\n        quote_char = 1;\n      }\n    }\n    else {\n      quote_char = 0;\n    }\n  }\n  if (delimiter == 0) {\n    psVar22 = (stat *)(quote_char + 1);\n    if ((*(int *)PTR_rl_completion_suppress_append_00157624 == 0) &&\n       (*(int *)PTR_rl_completion_append_character_00157628 != 0)) {\n      temp_string[quote_char] = (char)*(int *)PTR_rl_completion_append_character_00157628;\n      goto LAB_000fa86c;\n    }\n  }\n  else {\n    temp_string[quote_char] = (char)delimiter;\nLAB_000fa86c:\n    psVar22 = (stat *)(quote_char + 2);\n    quote_char = quote_char + 1;\n  }\n  psVar24 = (stat *)(&stack0xfffffff0 + quote_char);\n  temp_string[quote_char] = '\0';\n  if (*(int *)PTR_rl_filename_completion_desired_00157634 == 0) {\n    if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {\n      rl_insert_text(temp_string);\n    }\n  }\n  else {\n    unaff_s2 = (stat *)(*(code *)PTR_tilde_expand_00156b0c)();\n    if (*(int *)PTR_rl_filename_stat_hook_00157754 != 0) {\n      iVar6 = (*(code *)PTR_strlen_00158444)(unaff_s2);\n      uVar9 = (*(code *)PTR_xmalloc_001565b8)(iVar6 + 1);\n      fn = (char *)(*(code *)PTR_strcpy_001584cc)(uVar9,unaff_s2);\n      (**(code **)PTR_rl_filename_stat_hook_00157754)(&fn);\n      (*(code *)PTR_xfree_00156bb4)(unaff_s2);\n      unaff_s2 = (stat *)fn;\n    }\n    delimiter = (int)unaff_s2;\n    if ((nontrivial_match == 0) ||\n       (psVar24 = &finfo, *(int *)PTR_rl_completion_mark_symlink_dirs_001578a4 != 0)) {\n      psVar24 = &finfo;\n      iVar6 = (*(code *)PTR___xstat64_001582e8)(3);\n    }\n    else {\n      iVar6 = (*(code *)PTR___lxstat64_001582c8)(3);\n    }\n    if (iVar6 == 0) {\n      if ((finfo.st_mode & 0xf000) == 0x4000) {\n        if (*(int *)PTR__rl_complete_mark_directories_00157f80 != 0) {\n          iVar6 = *(int *)PTR_rl_point_001575f0;\n          if ((iVar6 == 0) || (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar6) != '\0')) {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar6);\n          }\n          else {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar6 + -1);\n          }\n          if (cVar1 != '/') {\n            rl_insert_text(PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c);\n          }\n        }\n      }\n      else if (((finfo.st_mode & 0xf000) != 0xa000) ||\n              (iVar6 = path_isdir((char *)unaff_s2), iVar6 == 0)) goto LAB_000fa9f0;\n    }\n    else {\nLAB_000fa9f0:\n      if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {\n        rl_insert_text(temp_string);\n      }\n    }\n    (*(code *)PTR_xfree_00156bb4)(unaff_s2);\n  }\n  if (piVar4 == *(int **)PTR___stack_chk_guard_0015858c) {\n    return (int)psVar22;\n  }\n  puVar28 = PTR___stack_chk_fail_0015853c;\n  (*(code *)PTR___stack_chk_fail_0015853c)();\n  puStack_158 = puVar28 + 0x63a10;\n  puStack_104 = (undefined4 *)**(undefined4 **)(puVar28 + 0x5da5c);\n  psVar20 = (stat *)delimiter;\n  psStack_130 = psVar24;\n  piStack_12c = piVar4;\n  psStack_100 = psVar22;\n  _Stack_fc = nontrivial_match;\n  psStack_f8 = unaff_s2;\n  if ((stat *)delimiter == (stat *)0x1) {\n    *piVar4 = piVar4[1];\n    piVar4[1] = 0;\n    psStack_13c = (stat *)delimiter;\n  }\n  else {\n    if (delimiter < 2) {\n      psStack_140 = (stat *)&__DT_SYMTAB[0x3d1].st_info;\n    }\n    else {\n      psVar24 = (stat *)(piVar4 + 1);\n      psStack_140 = (stat *)&__DT_SYMTAB[0x3d1].st_info;\n      psStack_13c = (stat *)0x1;\n      unaff_s3 = *(stat **)(puVar28 + 0x5d2e8);\n      piStack_134 = *(int **)(puVar28 + 0x5d454);\n      unaff_s8 = &psStack_124;\n      do {\n        uVar5 = (**(code **)(puStack_158 + -0x6060))();\n        if ((1 < uVar5) && (unaff_s3->st_dev == 0)) {\n          uStack_11c = 0;\n          _Stack_118 = 0;\n          uStack_114 = 0;\n          lStack_110 = 0;\n        }\n        if (*piStack_134 == 0) {\n          nontrivial_match = (int)*(char *)psVar24->st_dev;\n          unaff_s5 = psVar24;\n          if ((stat *)nontrivial_match == (stat *)0x0) {\n            psVar22 = (stat *)0x0;\n            goto LAB_000fac1c;\n          }\n          psVar22 = (stat *)(int)*(char *)psVar24->st_pad1[0];\n          psStack_14c = (stat *)0x0;\n          unaff_s4 = psVar22;\n          if (psVar22 == (stat *)0x0) goto LAB_000fac1c;\n          unaff_s6 = &uStack_11c;\n          psStack_148 = (stat *)&uStack_114;\n          unaff_s7 = (stat *)&uStack_10c;\n          do {\n            psVar22 = psStack_14c;\n            uVar5 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar5 < 2) || (unaff_s3->st_dev != 0)) {\n              if ((stat *)nontrivial_match != unaff_s4) goto LAB_000fac1c;\n            }\n            else {\n              uStack_10c = uStack_11c;\n              _Stack_108 = _Stack_118;\n              psStack_15c = psStack_148;\n              psStack_160 = psVar22;\n              iVar6 = (**(code **)(puStack_158 + -0x65b8))\n                                (psVar24->st_dev,psVar22,unaff_s6,psVar24->st_pad1[0]);\n              psVar20 = unaff_s7;\n              if (iVar6 == 0) goto LAB_000fac1c;\n              iVar6 = (**(code **)(puStack_158 + -0x65b4))\n                                ((int)psStack_14c->st_pad1 + (psVar24->st_dev - 4));\n              if (1 < iVar6) {\n                psVar22 = (stat *)((int)psVar22->st_pad1 + iVar6 + -5);\n              }\n            }\n            psVar22 = (stat *)((int)&psVar22->st_dev + 1);\n            nontrivial_match = (int)*(char *)((int)psVar22->st_pad1 + (psVar24->st_dev - 4));\n            psStack_14c = psVar22;\n            if ((stat *)nontrivial_match == (stat *)0x0) goto LAB_000fac1c;\n            unaff_s4 = (stat *)(int)*(char *)((int)psVar22->st_pad1 + psVar24->st_pad1[0] + -4);\n            bVar3 = (int)psVar22 < (int)psStack_140;\n          } while (unaff_s4 != (stat *)0x0);\n        }\n        else {\n          psVar22 = (stat *)0x0;\n          unaff_s7 = (stat *)&uStack_11c;\n          unaff_s6 = &uStack_114;\n          while( true ) {\n            bVar2 = *(byte *)((int)psVar22->st_pad1 + (psVar24->st_dev - 4));\n            nontrivial_match = (int)(char)bVar2;\n            unaff_s4 = (stat *)(uint)bVar2;\n            psStack_148 = psVar22;\n            psStack_144 = psVar24;\n            if (unaff_s4 == (stat *)nontrivial_match) {\n              piVar4 = (int *)(**(code **)(puStack_158 + -0x6290))();\n              if ((*(ushort *)(*piVar4 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar4 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (stat *)(*piVar4 + (int)unaff_s4 * 4);\n                nontrivial_match = unaff_s4->st_dev;\n              }\n            }\n            unaff_s5 = (stat *)&psStack_120;\n            if ((stat *)nontrivial_match == (stat *)0x0) break;\n            bVar2 = *(byte *)((int)psStack_148->st_pad1 + psStack_144->st_pad1[0] + -4);\n            psStack_14c = (stat *)(int)(char)bVar2;\n            unaff_s4 = (stat *)(uint)bVar2;\n            if ((unaff_s4 == psStack_14c) &&\n               (piVar4 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar4 + (int)unaff_s4 * 2) & 1) != 0)) {\n              piVar4 = (int *)(**(code **)(puStack_158 + -0x628c))();\n              unaff_s4 = (stat *)(*piVar4 + (int)unaff_s4 * 4);\n              psStack_14c = (stat *)unaff_s4->st_dev;\n            }\n            if (psStack_14c == (stat *)0x0) break;\n            uVar5 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar5 < 2) || (unaff_s3->st_dev != 0)) {\njoined_r0x000facac:\n              if ((stat *)nontrivial_match != psStack_14c) break;\n            }\n            else {\n              iVar6 = (int)psStack_148->st_pad1 + (psStack_144->st_dev - 4);\n              uVar9 = (**(code **)(puStack_158 + -0x60fc))(iVar6);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,iVar6,uVar9,unaff_s7);\n              unaff_s4 = (stat *)((int)psStack_148->st_pad1 + psStack_144->st_pad1[0] + -4);\n              uVar9 = (**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              psVar20 = unaff_s4;\n              iVar6 = (**(code **)(puStack_158 + -0x6084))\n                                ((stat *)&psStack_120,unaff_s4,uVar9,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar6 + 2U < 2)) goto joined_r0x000facac;\n              nontrivial_match = (**(code **)(puStack_158 + -0x5fc8))(psStack_124);\n              psStack_124 = (stat *)nontrivial_match;\n              psStack_120 = (stat *)(**(code **)(puStack_158 + -0x5fc8))(psStack_120);\n              if ((stat *)nontrivial_match != psStack_120) break;\n              if (1 < uStack_138) {\n                psVar22 = (stat *)((int)psStack_148->st_pad1 + (uStack_138 - 5));\n              }\n            }\n            psVar22 = (stat *)((int)&psVar22->st_dev + 1);\n          }\nLAB_000fac1c:\n          bVar3 = (int)psVar22 < (int)psStack_140;\n        }\n        psVar21 = psStack_130;\n        if (bVar3) {\n          psStack_140 = psVar22;\n        }\n        psStack_13c = (stat *)((int)&psStack_13c->st_dev + 1);\n        psVar24 = (stat *)psVar24->st_pad1;\n      } while ((stat *)delimiter != psStack_13c);\n      unaff_s2 = psVar24;\n      if (((psStack_140 == (stat *)0x0) && (psStack_130 != (stat *)0x0)) &&\n         (psVar22 = psStack_130, *(byte *)&psStack_130->st_dev != 0)) {\n        iVar6 = (**(code **)(puStack_158 + -0x60fc))(psStack_130);\n        iVar6 = (**(code **)(puStack_158 + -0x7f88))(iVar6 + 1);\n        *piStack_12c = iVar6;\n        psVar20 = psVar21;\n        (**(code **)(puStack_158 + -0x6074))(iVar6);\n        psVar22 = psVar21;\n        goto LAB_000fb1f0;\n      }\n    }\n    iVar6 = (**(code **)(puStack_158 + -0x7f88))((byte *)((int)&psStack_140->st_dev + 1));\n    *piStack_12c = iVar6;\n    if (**(int **)(puStack_158 + -0x65bc) == 0) {\n      psVar20 = (stat *)piStack_12c[1];\n      (**(code **)(puStack_158 + -0x615c))(iVar6,psVar20,psStack_140);\n    }\n    else {\n      psVar24 = (stat *)0x0;\n      if (**(int **)(puStack_158 + -0x6f0c) != 0) {\n        if ((code *)**(undefined4 **)(puStack_158 + -0x6de4) == (code *)0x0) {\n          psVar24 = (stat *)0x0;\n        }\n        else if ((**(int **)(puStack_158 + -0x6f38) != 0) &&\n                (**(int **)(puStack_158 + -0x702c) != 0)) {\n          psVar20 = (stat *)**(undefined4 **)(puStack_158 + -0x6f34);\n          psVar24 = (stat *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(psStack_130);\n          psStack_130 = psVar24;\n        }\n      }\n      if (**(int **)(puStack_158 + -0x6f10) != 0) {\n        psVar20 = (stat *)delimiter;\n        (**(code **)(puStack_158 + -0x6218))\n                  (piStack_12c + 1,delimiter,4,*(undefined4 *)(puStack_158 + -0x6660));\n      }\n      psVar22 = (stat *)(**(code **)(puStack_158 + -0x60fc))(psStack_130);\n      unaff_s4 = psStack_140;\n      if ((int)psVar22 <= (int)psStack_140) {\n        unaff_s4 = psVar22;\n      }\n      if (delimiter < 1) {\n        psVar22 = (stat *)0x1;\nLAB_000fb1a8:\n        psVar22 = (stat *)(uint)(delimiter < (int)psVar22);\n        if (psVar22 != (stat *)0x0) goto LAB_000fb12c;\n      }\n      else {\n        nontrivial_match = (int)(piStack_12c + 1);\n        psVar22 = (stat *)0x1;\n        do {\n          unaff_s2 = (stat *)((stat *)nontrivial_match)->st_dev;\n          iVar6 = (**(code **)(puStack_158 + -0x6238))(unaff_s2,psStack_130,unaff_s4);\n          if (iVar6 == 0) {\n            psVar20 = unaff_s2;\n            (**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,psStack_140);\n            goto LAB_000fb1a8;\n          }\n          psVar22 = (stat *)((int)&psVar22->st_dev + 1);\n          nontrivial_match = (int)((stat *)nontrivial_match)->st_pad1;\n        } while ((int)psVar22 <= delimiter);\nLAB_000fb12c:\n        psVar20 = (stat *)piStack_12c[1];\n        (**(code **)(puStack_158 + -0x615c))(*piStack_12c,psVar20,psStack_140);\n      }\n      if (psVar24 != (stat *)0x0) {\n        iVar6 = (**(code **)(puStack_158 + -0x5f94))(psVar24);\n        return iVar6;\n      }\n      unaff_s3 = (stat *)0x0;\n    }\n    *(undefined1 *)((int)psStack_140->st_pad1 + *piStack_12c + -4) = 0;\n    psStack_13c = (stat *)delimiter;\n  }\nLAB_000fb1f0:\n  if (puStack_104 == (undefined4 *)**(undefined4 **)(puStack_158 + -0x5fb4)) {\n    return (int)psStack_13c;\n  }\n  pcVar29 = *(code **)(puStack_158 + -0x6004);\n  pcVar30 = postprocess_matches;\n  puVar11 = puStack_104;\n  (*pcVar29)();\n  pcStack_1a8 = pcVar29 + 0x632d8;\n  auStack_19d._1_4_ = **(undefined4 **)(pcVar29 + 0x5d324);\n  psVar24 = (stat *)*puVar11;\n  auStack_19d._9_4_ = psVar22;\n  auStack_19d._13_4_ = nontrivial_match;\n  auStack_19d._17_4_ = unaff_s2;\n  psStack_188 = unaff_s3;\n  psStack_184 = unaff_s4;\n  psStack_180 = unaff_s5;\n  puStack_17c = unaff_s6;\n  psStack_178 = unaff_s7;\n  pcStack_174 = pcVar30;\n  if (psVar24 == (stat *)0x0) {\n    iVar6 = 0;\n  }\n  else {\n    psVar21 = psVar20;\n    match_list = psVar24;\n    if (**(int **)(pcVar29 + 0x5cd28) != 0) {\n      if (psVar24->st_dev == 0) {\nLAB_000fb370:\n        uVar18 = psVar24->st_dev;\n      }\n      else {\n        plVar7 = psVar24->st_pad1;\n        iVar6 = 0;\n        do {\n          iVar13 = iVar6;\n          iVar12 = *plVar7;\n          iVar6 = iVar13 + 1;\n          plVar7 = plVar7 + 1;\n        } while (iVar12 != 0);\n        if ((iVar6 == 0) || (**(int **)(pcVar29 + 0x5c3c8) == 0)) goto LAB_000fb370;\n        (**(code **)(pcVar29 + 0x5d0c0))\n                  (psVar24->st_pad1,iVar13,4,*(undefined4 *)(pcVar29 + 0x5cc78));\n        uVar18 = psVar24->st_dev;\n      }\n      iVar6 = (**(code **)(pcStack_1a8 + -0x60fc))(uVar18);\n      uVar9 = (**(code **)(pcStack_1a8 + -0x7f88))(iVar6 + 1);\n      unaff_s4 = (stat *)(**(code **)(pcStack_1a8 + -0x6074))(uVar9,psVar24->st_dev);\n      if (psVar24->st_pad1[0] == 0) {\n        unaff_s6 = (ulong *)0x0;\n        iVar6 = 3;\n        psVar21 = (stat *)0x0;\n      }\n      else {\n        unaff_s6 = (ulong *)0x0;\n        unaff_s7 = (stat *)auStack_19d;\n        psVar22 = psVar24;\n        do {\n          uVar18 = psVar22->st_dev;\n          iVar6 = (**(code **)(pcStack_1a8 + -0x5f48))(uVar18);\n          if (iVar6 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(uVar18);\n            psVar22->st_dev = (ulong)unaff_s7;\n          }\n          else {\n            unaff_s6 = (ulong *)((int)unaff_s6 + 1);\n          }\n          psVar21 = (stat *)psVar22->st_pad1[1];\n          iVar6 = (int)unaff_s6 + 3;\n          psVar22 = (stat *)psVar22->st_pad1;\n        } while (psVar21 != (stat *)0x0);\n      }\n      match_list = (stat *)(**(code **)(pcStack_1a8 + -0x7f88))(iVar6 << 2);\n      psVar8 = (stat *)psVar24->st_pad1[0];\n      plVar7 = psVar24->st_pad1;\n      if (psVar8 == (stat *)0x0) {\n        match_list->st_pad1[0] = 0;\n        psVar22 = (stat *)0x1;\n        if ((undefined1 *)psVar24->st_dev != auStack_19d) {\n          pcVar29 = *(code **)(pcStack_1a8 + -0x798c);\n          goto LAB_000fb4b4;\n        }\n        match_list->st_dev = (ulong)unaff_s4;\n      }\n      else {\n        psVar22 = (stat *)0x1;\n        psVar21 = (stat *)auStack_19d;\n        do {\n          plVar7 = plVar7 + 1;\n          if (psVar8 != psVar21) {\n            match_list->st_pad1[(int)((int)psVar22[-1].st_pad5 + 0x37)] = (long)psVar8;\n            psVar22 = (stat *)((int)&psVar22->st_dev + 1);\n          }\n          psVar8 = (stat *)*plVar7;\n        } while (psVar8 != (stat *)0x0);\n        match_list->st_pad1[(int)((int)psVar22[-1].st_pad5 + 0x37)] = 0;\n        if ((undefined1 *)psVar24->st_dev != auStack_19d) {\n          pcVar29 = *(code **)(pcStack_1a8 + -0x798c);\nLAB_000fb4b4:\n          (*pcVar29)();\n        }\n        match_list->st_dev = (ulong)unaff_s4;\n        if (psVar22 == (stat *)0x2) {\n          psVar22 = (stat *)match_list->st_pad1[0];\n          psVar21 = psVar22;\n          iVar6 = (**(code **)(pcStack_1a8 + -0x5f48))(unaff_s4);\n          if (iVar6 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(psVar22);\n            match_list->st_pad1[0] = 0;\n          }\n        }\n      }\n      (**(code **)(pcStack_1a8 + -0x798c))(psVar24);\n      unaff_s5 = match_list;\n    }\n    unaff_s3 = psVar20;\n    psVar24 = match_list;\n    if (((code *)**(undefined4 **)(pcStack_1a8 + -0x703c) == (code *)0x0) ||\n       (psVar20 == (stat *)0x0)) goto LAB_000fb570;\n    plVar7 = match_list->st_pad1;\n    if (match_list->st_pad1[0] == 0) {\n      psVar22 = (stat *)0x1;\n    }\n    else {\n      psVar22 = (stat *)0x1;\n      do {\n        plVar7 = plVar7 + 1;\n        psVar22 = (stat *)((int)&psVar22->st_dev + 1);\n      } while (*plVar7 != 0);\n    }\n    (*(code *)**(undefined4 **)(pcStack_1a8 + -0x703c))(match_list);\n    unaff_s3 = (stat *)match_list->st_dev;\n    if (unaff_s3 == (stat *)0x0) {\n      (**(code **)(pcStack_1a8 + -0x5f94))(match_list);\n      *puVar11 = 0;\n      iVar6 = 0;\n      psVar20 = psVar21;\n      goto LAB_000fb578;\n    }\n    plVar7 = match_list->st_pad1;\n    if (match_list->st_pad1[0] == 0) {\nLAB_000fb570:\n      *puVar11 = match_list;\n    }\n    else {\n      psVar20 = (stat *)0x1;\n      do {\n        psVar21 = psVar20;\n        plVar7 = plVar7 + 1;\n        psVar20 = (stat *)((int)&psVar21->st_dev + 1);\n      } while (*plVar7 != 0);\n      psVar22 = (stat *)(uint)((int)psVar20 < (int)psVar22);\n      if (((int)psVar20 < 2) || (psVar22 == (stat *)0x0)) goto LAB_000fb570;\n      compute_lcd_of_matches((char **)match_list,(int)psVar21,(char *)unaff_s3);\n      (**(code **)(pcStack_1a8 + -0x5f94))(unaff_s3);\n      *puVar11 = match_list;\n    }\n    iVar6 = 1;\n    psVar20 = psVar21;\n  }\nLAB_000fb578:\n  if ((char *)auStack_19d._1_4_ == (char *)**(undefined4 **)(pcStack_1a8 + -0x5fb4)) {\n    return iVar6;\n  }\n  pcVar29 = *(code **)(pcStack_1a8 + -0x6004);\n  pcVar30 = rl_filename_completion_function;\n  pcVar23 = (char *)auStack_19d._1_4_;\n  (*pcVar29)();\n  iStack_1e4 = **(int **)(pcVar29 + 0x5cf6c);\n  psStack_1e0 = psVar22;\n  psStack_1dc = psVar24;\n  puStack_1d8 = puVar11;\n  psStack_1d4 = unaff_s3;\n  psStack_1d0 = unaff_s4;\n  psStack_1cc = unaff_s5;\n  puStack_1c8 = unaff_s6;\n  psStack_1c4 = unaff_s7;\n  ppsStack_1c0 = unaff_s8;\n  pcStack_1bc = pcVar30;\n  if (psVar20 != (stat *)0x0) goto LAB_000fb968;\n  if (*(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd4) != 0) {\n    (**(code **)(pcVar29 + 0x5cc9c))();\n    *(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd4) = 0;\n  }\n  if (*(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8) != 0) {\n    iVar6 = (**(code **)(pcVar29 + 0x5cf8c))();\n    return iVar6;\n  }\n  if (*(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc) != 0) {\n    iVar6 = (**(code **)(pcVar29 + 0x5cf8c))();\n    return iVar6;\n  }\n  if (*(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0) != 0) {\n    iVar6 = (**(code **)(pcVar29 + 0x5cf8c))();\n    return iVar6;\n  }\n  iVar6 = (**(code **)(pcVar29 + 0x5ce24))(pcVar23);\n  uVar9 = (**(code **)(pcVar29 + 0x5af98))(iVar6 + 1);\n  uVar9 = (**(code **)(pcVar29 + 0x5ceac))(uVar9,pcVar23);\n  *(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc) = uVar9;\n  if (*pcVar23 == '\0') {\n    pcVar23 = (char *)(*(int *)(pcVar29 + 0x5af90) + -0x5e18);\n  }\n  iVar6 = (**(code **)(pcVar29 + 0x5ce24))(pcVar23);\n  uVar9 = (**(code **)(pcVar29 + 0x5af98))(iVar6 + 1);\n  puVar10 = (undefined1 *)(**(code **)(pcVar29 + 0x5ceac))(uVar9,pcVar23);\n  *(undefined1 **)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8) = puVar10;\n  iVar6 = (**(code **)(pcVar29 + 0x5cd4c))(puVar10,0x2f);\n  if (iVar6 == 0) {\n    *puVar10 = 0x2e;\n    *(undefined1 *)(*(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8) + 1) = 0;\n  }\n  else {\n    (**(code **)(pcVar29 + 0x5ceac))\n              (*(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc),iVar6 + 1);\n    *(undefined1 *)(iVar6 + 1) = 0;\n  }\n  if (**(int **)(pcVar29 + 0x5bfe8) == 0) {\nLAB_000fb830:\n    iVar12 = *(int *)(pcVar29 + 0x5af4c);\n    iVar6 = (**(code **)(pcVar29 + 0x5ce24))(*(undefined4 *)(iVar12 + -0x3fd8));\n    uVar9 = (**(code **)(pcVar29 + 0x5af98))(iVar6 + 1);\n    uVar9 = (**(code **)(pcVar29 + 0x5ceac))(uVar9,*(undefined4 *)(iVar12 + -0x3fd8));\n    *(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0) = uVar9;\n  }\n  else {\n    if ((code *)**(undefined4 **)(pcVar29 + 0x5c13c) == (code *)0x0) goto LAB_000fb830;\n    uVar9 = (*(code *)**(undefined4 **)(pcVar29 + 0x5c13c))\n                      (*(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8),\n                       **(undefined4 **)(pcVar29 + 0x5bfec));\n    *(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0) = uVar9;\n  }\n  bVar3 = **(char **)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8) == '~';\n  if (bVar3) {\n    uVar9 = (**(code **)(pcVar29 + 0x5b4ec))();\n    iVar6 = *(int *)(pcVar29 + 0x5af4c);\n    (**(code **)(pcVar29 + 0x5b594))(*(undefined4 *)(iVar6 + -0x3fd8));\n    *(undefined4 *)(iVar6 + -0x3fd8) = uVar9;\n  }\n  if ((code *)**(undefined4 **)(pcVar29 + 0x5bfe0) == (code *)0x0) {\n    if ((code *)**(undefined4 **)(pcVar29 + 0x5bfe4) != (code *)0x0) {\n      iVar6 = (*(code *)**(undefined4 **)(pcVar29 + 0x5bfe4))(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8)\n      ;\n      iVar12 = *(int *)(pcVar29 + 0x5af4c);\n      if (iVar6 != 0) {\n        (**(code **)(pcVar29 + 0x5b594))(*(undefined4 *)(iVar12 + -0x3fe0));\n        iVar13 = *(int *)(pcVar29 + 0x5af4c);\n        iVar6 = (**(code **)(pcVar29 + 0x5ce24))(*(undefined4 *)(iVar13 + -0x3fd8));\n        uVar9 = (**(code **)(pcVar29 + 0x5af98))(iVar6 + 1);\n        uVar9 = (**(code **)(pcVar29 + 0x5ceac))(uVar9,*(undefined4 *)(iVar13 + -0x3fd8));\n        *(undefined4 *)(iVar12 + -0x3fe0) = uVar9;\n        goto LAB_000fb8b4;\n      }\n    }\n    iVar6 = *(int *)(pcVar29 + 0x5af4c);\n    if ((!bVar3) && (iVar6 = *(int *)(pcVar29 + 0x5af4c), **(int **)(pcVar29 + 0x5bfe8) != 0)) {\n      iVar6 = *(int *)(pcVar29 + 0x5af4c);\n      if (**(int **)(pcVar29 + 0x5c13c) != 0) {\n        (**(code **)(pcVar29 + 0x5b594))(*(undefined4 *)(iVar6 + -0x3fd8));\n        iVar13 = *(int *)(pcVar29 + 0x5af4c);\n        iVar12 = (**(code **)(pcVar29 + 0x5ce24))(*(undefined4 *)(iVar13 + -0x3fe0));\n        uVar9 = (**(code **)(pcVar29 + 0x5af98))(iVar12 + 1);\n        uVar9 = (**(code **)(pcVar29 + 0x5ceac))(uVar9,*(undefined4 *)(iVar13 + -0x3fe0));\n        *(undefined4 *)(iVar6 + -0x3fd8) = uVar9;\n      }\n      goto LAB_000fb8b4;\n    }\n  }\n  else {\n    (*(code *)**(undefined4 **)(pcVar29 + 0x5bfe0))(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8);\nLAB_000fb8b4:\n    iVar6 = *(int *)(pcVar29 + 0x5af4c);\n  }\n  uVar9 = (**(code **)(pcVar29 + 0x5cc98))(*(undefined4 *)(iVar6 + -0x3fd8));\n  *(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd4) = uVar9;\n  iVar6 = *(int *)(pcVar29 + 0x5af4c);\n  if ((**(char **)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc) != '\0') &&\n     (iVar6 = *(int *)(pcVar29 + 0x5af4c), **(int **)(pcVar29 + 0x5bfe8) != 0)) {\n    if ((code *)**(undefined4 **)(pcVar29 + 0x5c13c) != (code *)0x0) {\n      uVar9 = (*(code *)**(undefined4 **)(pcVar29 + 0x5c13c))\n                        (*(char **)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc),\n                         **(undefined4 **)(pcVar29 + 0x5bfec));\n      iVar6 = *(int *)(pcVar29 + 0x5af4c);\n      (**(code **)(pcVar29 + 0x5b594))(*(undefined4 *)(iVar6 + -0x3fdc));\n      *(undefined4 *)(iVar6 + -0x3fdc) = uVar9;\n    }\n    iVar6 = *(int *)(pcVar29 + 0x5af4c);\n  }\n  uVar9 = (**(code **)(pcVar29 + 0x5ce24))(*(undefined4 *)(iVar6 + -0x3fdc));\n  *(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe4) = uVar9;\n  **(undefined4 **)(pcVar29 + 0x5c014) = 1;\nLAB_000fb968:\n  iVar14 = 0;\n  iVar6 = *(int *)(pcVar29 + 0x5af4c);\n  puVar11 = *(undefined4 **)(pcVar29 + 0x5c130);\n  iVar12 = *(int *)(pcVar29 + 0x5af4c);\n  iVar13 = *(int *)(pcVar29 + 0x5af4c);\n  piVar4 = *(int **)(pcVar29 + 0x5c964);\nLAB_000fbb0c:\n  iVar19 = *(int *)(iVar6 + -0x3fd4);\nLAB_000fbb10:\n  if (iVar19 == 0) {\n    if (iVar14 != 0) goto LAB_000fbbb0;\n    iVar6 = *(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8);\nLAB_000fc3a0:\n    if (iVar6 != 0) {\n      (**(code **)(pcVar29 + 0x5b594))();\n      *(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8) = 0;\n    }\n    if (*(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc) != 0) {\n      (**(code **)(pcVar29 + 0x5b594))();\n      *(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc) = 0;\n    }\n    iVar6 = *(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0);\n    if (iVar6 != 0) {\n      (**(code **)(pcVar29 + 0x5b594))(iVar6);\n      *(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0) = 0;\n      iVar6 = 0;\n    }\n    goto LAB_000fbca4;\n  }\n  iVar14 = (**(code **)(pcVar29 + 0x5cd0c))();\n  if (iVar14 == 0) {\n    if (*(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd4) != 0) {\n      (**(code **)(pcVar29 + 0x5cc9c))();\n      *(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd4) = 0;\n    }\n    iVar6 = *(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8);\n    goto LAB_000fc3a0;\n  }\n  psVar24 = (stat *)(iVar14 + 0x13);\n  iVar19 = (**(code **)(pcVar29 + 0x5ce24))(psVar24);\n  psVar22 = psVar24;\n  if (((code *)*puVar11 != (code *)0x0) &&\n     (psVar22 = (stat *)(*(code *)*puVar11)(psVar24,iVar19), psVar24 != psVar22)) {\n    iVar19 = (**(code **)(pcVar29 + 0x5ce24))(psVar22);\n  }\n  iVar25 = *(int *)(iVar12 + -0x3fe4);\n  if (iVar25 == 0) {\n    if (**(int **)(pcVar29 + 0x5c974) == 0) {\n      if (*(byte *)&psVar22->st_dev != 0x2e) goto LAB_000fbbb0;\n    }\n    else {\n      iVar15 = *(int *)(pcVar29 + 0x5af4c);\n      if ((*(byte *)&psVar22->st_dev != 0x2e) ||\n         ((bVar2 = *(byte *)((int)&psVar22->st_dev + 1), bVar2 != 0 &&\n          ((iVar15 = *(int *)(pcVar29 + 0x5af4c), bVar2 != 0x2e ||\n           (iVar15 = *(int *)(pcVar29 + 0x5af4c), *(char *)((int)&psVar22->st_dev + 2) != '\0'))))))\n      goto LAB_000fbbb4;\n    }\n    goto LAB_000fbb0c;\n  }\n  pbStack_228 = *(byte **)(iVar13 + -0x3fdc);\n  uStack_1f4 = 0;\n  uStack_1f0 = 0;\n  uStack_1ec = 0;\n  uStack_1e8 = 0;\n  if (iVar19 < iVar25) goto LAB_000fbb0c;\n  if (*piVar4 != 0) {\n    psStack_214 = psVar22;\n    iStack_208 = iVar25;\n    if (**(int **)(pcVar29 + 0x5c97c) == 0) {\n      uVar5 = (**(code **)(pcVar29 + 0x5cec0))();\n      if ((1 < uVar5) && (**(int **)(pcVar29 + 0x5c7f8) == 0)) {\n        goto LAB_000fc0a8;\n      }\n      uVar26 = (uint)(char)*(byte *)&psVar22->st_dev;\n      uVar5 = (uint)*(byte *)&psVar22->st_dev;\n      if ((uVar5 == uVar26) &&\n         (piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc90))(),\n         (*(ushort *)(*piVar17 + uVar5 * 2) & 1) != 0)) {\n        piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc94))();\n        uVar26 = *(uint *)(*piVar17 + uVar5 * 4);\n      }\n      uVar27 = (uint)(char)*pbStack_228;\n      uVar5 = (uint)*pbStack_228;\n      if (uVar5 == uVar27) {\n        piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc90))();\n        if ((*(ushort *)(*piVar17 + uVar5 * 2) & 1) != 0) {\n          piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc94))();\n          uVar27 = *(uint *)(*piVar17 + uVar5 * 4);\n        }\n      }\n      if (uVar26 == uVar27) {\n        iVar19 = (**(code **)(pcVar29 + 0x5cd98))(pbStack_228,psVar22,iVar25);\n        goto LAB_000fc280;\n      }\n    }\n    else {\n      uVar5 = (**(code **)(pcVar29 + 0x5cec0))();\n      if ((1 < uVar5) && (**(int **)(pcVar29 + 0x5c7f8) == 0)) {\n        do {\n          iVar15 = (**(code **)(pcVar29 + 0x5ce9c))(&iStack_1fc,psStack_214,iVar19,&uStack_1f4);\n          iVar16 = (**(code **)(pcVar29 + 0x5ce9c))(&iStack_1f8,pbStack_228,iVar25,&uStack_1ec);\n          if (iVar15 == 0) {\n            if (iVar16 == 0) goto LAB_000fbbb0;\nLAB_000fbe6c:\n            if (iVar16 + 2U < 2) goto LAB_000fbdb4;\n            iVar16 = (**(code **)(pcVar29 + 0x5cf58))(iStack_1fc);\n            iStack_1fc = iVar16;\n            iStack_1f8 = (**(code **)(pcVar29 + 0x5cf58))(iStack_1f8);\n            psStack_214 = (stat *)((int)psStack_214->st_pad1 + iVar15 + -4);\n            pbStack_228 = pbStack_228 + iVar15;\n            iStack_208 = iStack_208 - iVar15;\n            if ((((iVar16 != 0x2d) && (iVar16 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))) && (iVar16 != iStack_1f8))\n            goto code_r0x000fbef4;\n          }\n          else {\n            if (1 < iVar15 + 2U) goto LAB_000fbe6c;\nLAB_000fbdb4:\n            bVar2 = *(byte *)&psStack_214->st_dev;\n            if (((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||\n               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))) goto LAB_000fbb0c;\n            psStack_214 = (stat *)((int)&psStack_214->st_dev + 1);\n            pbStack_228 = pbStack_228 + 1;\n            iStack_208 = iStack_208 + -1;\n          }\n          iVar15 = *(int *)(pcVar29 + 0x5af4c);\n          if (iStack_208 == 0) goto LAB_000fbbb4;\n        } while( true );\n      }\n      psVar20 = psVar22;\n      while( true ) {\n        uVar5 = (uint)(char)*(byte *)&psVar20->st_dev;\n        uVar26 = (uint)*(byte *)&psVar20->st_dev;\n        psStack_214 = (stat *)uVar5;\n        if ((uVar26 == uVar5) &&\n           (piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc90))(),\n           (*(ushort *)(*piVar17 + uVar26 * 2) & 1) != 0)) {\n          piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc94))();\n          psStack_214 = *(stat **)(*piVar17 + uVar26 * 4);\n        }\n        uVar26 = (uint)(char)*pbStack_228;\n        uVar27 = (uint)*pbStack_228;\n        uStack_210 = uVar26;\n        if (uVar27 == uVar26) {\n          piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc90))();\n          if ((*(ushort *)(*piVar17 + uVar27 * 2) & 1) != 0) {\n            piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc94))();\n            uStack_210 = *(uint *)(*piVar17 + uVar27 * 4);\n          }\n        }\n        if ((((uVar5 != 0x2d) && (uVar5 != 0x5f)) || ((uVar26 != 0x2d && (uVar26 != 0x5f)))) &&\n           (psStack_214 != (stat *)uStack_210)) break;\n        psVar20 = (stat *)((int)&psVar20->st_dev + 1);\n        pbStack_228 = pbStack_228 + 1;\n        iVar15 = *(int *)(pcVar29 + 0x5af4c);\n        if (psVar20 == (stat *)((int)psVar22->st_pad1 + iVar25 + -4)) goto LAB_000fbbb4;\n      }\n    }\n    goto LAB_000fbb0c;\n  }\n  if (*(byte *)&psVar22->st_dev != *pbStack_228) goto LAB_000fbb0c;\n  iVar19 = (**(code **)(pcVar29 + 0x5cce8))(pbStack_228,psVar22,iVar25);\nLAB_000fc280:\n  if (iVar19 != 0) goto LAB_000fbb0c;\n  pcVar23 = *(char **)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8);\n  goto LAB_000fbbb8;\nLAB_000fc0a8:\n  iVar15 = (**(code **)(pcVar29 + 0x5ce9c))(&iStack_1fc,psStack_214,iVar19,&uStack_1f4);\n  iVar16 = (**(code **)(pcVar29 + 0x5ce9c))(&iStack_1f8,pbStack_228,iVar25,&uStack_1ec);\n  if (iVar15 == 0) {\n    if (iVar16 == 0) goto LAB_000fbbb0;\nLAB_000fc100:\n    if (iVar16 + 2U < 2) goto LAB_000fc060;\n    iVar16 = (**(code **)(pcVar29 + 0x5cf58))(iStack_1fc);\n    iStack_1fc = iVar16;\n    iStack_1f8 = (**(code **)(pcVar29 + 0x5cf58))(iStack_1f8);\n    if (iVar16 != iStack_1f8) goto LAB_000fbb0c;\n    psStack_214 = (stat *)((int)psStack_214->st_pad1 + iVar15 + -4);\n    pbStack_228 = pbStack_228 + iVar15;\n    iStack_208 = iStack_208 - iVar15;\n  }\n  else {\n    if (1 < iVar15 + 2U) goto LAB_000fc100;\nLAB_000fc060:\n    if (*(byte *)&psStack_214->st_dev != *pbStack_228) goto LAB_000fbb0c;\n    psStack_214 = (stat *)((int)&psStack_214->st_dev + 1);\n    pbStack_228 = pbStack_228 + 1;\n    iStack_208 = iStack_208 + -1;\n  }\n  iVar15 = *(int *)(pcVar29 + 0x5af4c);\n  if (iStack_208 == 0) goto LAB_000fbbb4;\n  goto LAB_000fc0a8;\ncode_r0x000fbef4:\n  iVar19 = *(int *)(iVar6 + -0x3fd4);\n  goto LAB_000fbb10;\nLAB_000fbbb0:\n  iVar15 = *(int *)(pcVar29 + 0x5af4c);\nLAB_000fbbb4:\n  pcVar23 = *(char **)(iVar15 + -0x3fd8);\nLAB_000fbbb8:\n  if ((pcVar23 == (char *)0x0) ||\n     ((piVar4 = *(int **)(pcVar29 + 0x5c978), *pcVar23 == '.' &&\n      (piVar4 = *(int **)(pcVar29 + 0x5c978), pcVar23[1] == '\0')))) {\n    iVar6 = (**(code **)(pcVar29 + 0x5ce24))(psVar22);\n    uVar9 = (**(code **)(pcVar29 + 0x5af98))(iVar6 + 1);\n    iVar6 = (**(code **)(pcVar29 + 0x5ceac))(uVar9,psVar22);\n  }\n  else {\n    if ((*piVar4 == 0) || (**(char **)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0) != '~')) {\n      iVar13 = *(int *)(pcVar29 + 0x5af4c);\n      iVar12 = (**(code **)(pcVar29 + 0x5ce24))(*(undefined4 *)(iVar13 + -0x3fe0));\n      iVar6 = (**(code **)(pcVar29 + 0x5ce24))(iVar14 + 0x13);\n      iVar6 = (**(code **)(pcVar29 + 0x5af98))(iVar12 + iVar6 + 2);\n      iVar13 = *(int *)(iVar13 + -0x3fe0);\n      (**(code **)(pcVar29 + 0x5ceac))(iVar6,iVar13);\n      if (*(char *)(iVar13 + iVar12 + -1) != '/') {\n        *(undefined1 *)(iVar6 + iVar12) = 0x2f;\n        iVar12 = iVar12 + 1;\n      }\n    }\n    else {\n      iVar13 = (**(code **)(pcVar29 + 0x5ce24))();\n      iVar6 = (**(code **)(pcVar29 + 0x5ce24))(iVar14 + 0x13);\n      iVar6 = (**(code **)(pcVar29 + 0x5af98))(iVar13 + iVar6 + 2);\n      iVar14 = *(int *)(pcVar29 + 0x5af4c);\n      (**(code **)(pcVar29 + 0x5ceac))(iVar6,*(undefined4 *)(iVar14 + -0x3fd8));\n      iVar12 = iVar13;\n      if (*(char *)(*(int *)(iVar14 + -0x3fd8) + iVar13 + -1) != '/') {\n        iVar12 = iVar13 + 1;\n        *(undefined1 *)(iVar6 + iVar13) = 0x2f;\n        *(undefined1 *)(iVar6 + iVar12) = 0;\n      }\n    }\n    (**(code **)(pcVar29 + 0x5ceac))(iVar6 + iVar12,psVar22);\n  }\n  if (psVar24 != psVar22) {\n    (**(code **)(pcVar29 + 0x5b594))(psVar22);\n  }\nLAB_000fbca4:\n  if (iStack_1e4 == **(int **)(pcVar29 + 0x5cf6c)) {\n    return iVar6;\n  }\n  iVar6 = (**(code **)(pcVar29 + 0x5cf1c))();\n  return iVar6;\n}" primitive_type (function_declarator "append_to_match(char *text,int delimiter,int quote_char,int nontrivial_match)" identifier (parameter_list "(char *text,int delimiter,int quote_char,int nontrivial_match)" ( (parameter_declaration "char *text" primitive_type (pointer_declarator "*text" * identifier)) , (parameter_declaration "int delimiter" primitive_type identifier) , (parameter_declaration "int quote_char" primitive_type identifier) , (parameter_declaration "int nontrivial_match" primitive_type identifier) ))) (compound_statement "{\n  char cVar1;\n  byte bVar2;\n  bool bVar3;\n  int *piVar4;\n  uint uVar5;\n  int iVar6;\n  long *plVar7;\n  stat *match_list;\n  stat *psVar8;\n  undefined4 uVar9;\n  undefined1 *puVar10;\n  undefined4 *puVar11;\n  int iVar12;\n  int iVar13;\n  int iVar14;\n  int iVar15;\n  int iVar16;\n  int *piVar17;\n  ulong uVar18;\n  int iVar19;\n  stat *psVar20;\n  stat *psVar21;\n  stat *psVar22;\n  stat *unaff_s2;\n  char *pcVar23;\n  stat *unaff_s3;\n  stat *psVar24;\n  int iVar25;\n  stat *unaff_s4;\n  stat *unaff_s5;\n  uint uVar26;\n  ulong *unaff_s6;\n  uint uVar27;\n  stat *unaff_s7;\n  undefined *puVar28;\n  code *pcVar29;\n  stat **unaff_s8;\n  code *pcVar30;\n  byte *pbStack_228;\n  stat *psStack_214;\n  uint uStack_210;\n  int iStack_208;\n  int iStack_1fc;\n  int iStack_1f8;\n  undefined4 uStack_1f4;\n  undefined4 uStack_1f0;\n  undefined4 uStack_1ec;\n  undefined4 uStack_1e8;\n  int iStack_1e4;\n  stat *psStack_1e0;\n  stat *psStack_1dc;\n  undefined4 *puStack_1d8;\n  stat *psStack_1d4;\n  stat *psStack_1d0;\n  stat *psStack_1cc;\n  ulong *puStack_1c8;\n  stat *psStack_1c4;\n  stat **ppsStack_1c0;\n  code *pcStack_1bc;\n  code *pcStack_1a8;\n  undefined1 auStack_19d [21];\n  stat *psStack_188;\n  stat *psStack_184;\n  stat *psStack_180;\n  ulong *puStack_17c;\n  stat *psStack_178;\n  code *pcStack_174;\n  stat *psStack_160;\n  stat *psStack_15c;\n  undefined *puStack_158;\n  stat *psStack_14c;\n  stat *psStack_148;\n  stat *psStack_144;\n  stat *psStack_140;\n  stat *psStack_13c;\n  uint uStack_138;\n  int *piStack_134;\n  stat *psStack_130;\n  int *piStack_12c;\n  stat *psStack_124;\n  stat *psStack_120;\n  ulong uStack_11c;\n  __mode_t _Stack_118;\n  ulong uStack_114;\n  long lStack_110;\n  ulong uStack_10c;\n  __mode_t _Stack_108;\n  undefined4 *puStack_104;\n  stat *psStack_100;\n  __mode_t _Stack_fc;\n  stat *psStack_f8;\n  char *fn;\n  stat finfo;\n  char temp_string [4];\n  \n  piVar4 = *(int **)PTR___stack_chk_guard_0015858c;\n  if (quote_char != 0) {\n    if (*(int *)PTR_rl_point_001575f0 == 0) {\n      quote_char = 0;\n    }\n    else if (*(int *)PTR_rl_completion_suppress_quote_00157618 == 0) {\n      if (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + *(int *)PTR_rl_point_001575f0 + -1) ==\n          quote_char) {\n        quote_char = 0;\n      }\n      else {\n        temp_string[0] = (char)quote_char;\n        quote_char = 1;\n      }\n    }\n    else {\n      quote_char = 0;\n    }\n  }\n  if (delimiter == 0) {\n    psVar22 = (stat *)(quote_char + 1);\n    if ((*(int *)PTR_rl_completion_suppress_append_00157624 == 0) &&\n       (*(int *)PTR_rl_completion_append_character_00157628 != 0)) {\n      temp_string[quote_char] = (char)*(int *)PTR_rl_completion_append_character_00157628;\n      goto LAB_000fa86c;\n    }\n  }\n  else {\n    temp_string[quote_char] = (char)delimiter;\nLAB_000fa86c:\n    psVar22 = (stat *)(quote_char + 2);\n    quote_char = quote_char + 1;\n  }\n  psVar24 = (stat *)(&stack0xfffffff0 + quote_char);\n  temp_string[quote_char] = '\0';\n  if (*(int *)PTR_rl_filename_completion_desired_00157634 == 0) {\n    if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {\n      rl_insert_text(temp_string);\n    }\n  }\n  else {\n    unaff_s2 = (stat *)(*(code *)PTR_tilde_expand_00156b0c)();\n    if (*(int *)PTR_rl_filename_stat_hook_00157754 != 0) {\n      iVar6 = (*(code *)PTR_strlen_00158444)(unaff_s2);\n      uVar9 = (*(code *)PTR_xmalloc_001565b8)(iVar6 + 1);\n      fn = (char *)(*(code *)PTR_strcpy_001584cc)(uVar9,unaff_s2);\n      (**(code **)PTR_rl_filename_stat_hook_00157754)(&fn);\n      (*(code *)PTR_xfree_00156bb4)(unaff_s2);\n      unaff_s2 = (stat *)fn;\n    }\n    delimiter = (int)unaff_s2;\n    if ((nontrivial_match == 0) ||\n       (psVar24 = &finfo, *(int *)PTR_rl_completion_mark_symlink_dirs_001578a4 != 0)) {\n      psVar24 = &finfo;\n      iVar6 = (*(code *)PTR___xstat64_001582e8)(3);\n    }\n    else {\n      iVar6 = (*(code *)PTR___lxstat64_001582c8)(3);\n    }\n    if (iVar6 == 0) {\n      if ((finfo.st_mode & 0xf000) == 0x4000) {\n        if (*(int *)PTR__rl_complete_mark_directories_00157f80 != 0) {\n          iVar6 = *(int *)PTR_rl_point_001575f0;\n          if ((iVar6 == 0) || (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar6) != '\0')) {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar6);\n          }\n          else {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar6 + -1);\n          }\n          if (cVar1 != '/') {\n            rl_insert_text(PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c);\n          }\n        }\n      }\n      else if (((finfo.st_mode & 0xf000) != 0xa000) ||\n              (iVar6 = path_isdir((char *)unaff_s2), iVar6 == 0)) goto LAB_000fa9f0;\n    }\n    else {\nLAB_000fa9f0:\n      if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {\n        rl_insert_text(temp_string);\n      }\n    }\n    (*(code *)PTR_xfree_00156bb4)(unaff_s2);\n  }\n  if (piVar4 == *(int **)PTR___stack_chk_guard_0015858c) {\n    return (int)psVar22;\n  }\n  puVar28 = PTR___stack_chk_fail_0015853c;\n  (*(code *)PTR___stack_chk_fail_0015853c)();\n  puStack_158 = puVar28 + 0x63a10;\n  puStack_104 = (undefined4 *)**(undefined4 **)(puVar28 + 0x5da5c);\n  psVar20 = (stat *)delimiter;\n  psStack_130 = psVar24;\n  piStack_12c = piVar4;\n  psStack_100 = psVar22;\n  _Stack_fc = nontrivial_match;\n  psStack_f8 = unaff_s2;\n  if ((stat *)delimiter == (stat *)0x1) {\n    *piVar4 = piVar4[1];\n    piVar4[1] = 0;\n    psStack_13c = (stat *)delimiter;\n  }\n  else {\n    if (delimiter < 2) {\n      psStack_140 = (stat *)&__DT_SYMTAB[0x3d1].st_info;\n    }\n    else {\n      psVar24 = (stat *)(piVar4 + 1);\n      psStack_140 = (stat *)&__DT_SYMTAB[0x3d1].st_info;\n      psStack_13c = (stat *)0x1;\n      unaff_s3 = *(stat **)(puVar28 + 0x5d2e8);\n      piStack_134 = *(int **)(puVar28 + 0x5d454);\n      unaff_s8 = &psStack_124;\n      do {\n        uVar5 = (**(code **)(puStack_158 + -0x6060))();\n        if ((1 < uVar5) && (unaff_s3->st_dev == 0)) {\n          uStack_11c = 0;\n          _Stack_118 = 0;\n          uStack_114 = 0;\n          lStack_110 = 0;\n        }\n        if (*piStack_134 == 0) {\n          nontrivial_match = (int)*(char *)psVar24->st_dev;\n          unaff_s5 = psVar24;\n          if ((stat *)nontrivial_match == (stat *)0x0) {\n            psVar22 = (stat *)0x0;\n            goto LAB_000fac1c;\n          }\n          psVar22 = (stat *)(int)*(char *)psVar24->st_pad1[0];\n          psStack_14c = (stat *)0x0;\n          unaff_s4 = psVar22;\n          if (psVar22 == (stat *)0x0) goto LAB_000fac1c;\n          unaff_s6 = &uStack_11c;\n          psStack_148 = (stat *)&uStack_114;\n          unaff_s7 = (stat *)&uStack_10c;\n          do {\n            psVar22 = psStack_14c;\n            uVar5 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar5 < 2) || (unaff_s3->st_dev != 0)) {\n              if ((stat *)nontrivial_match != unaff_s4) goto LAB_000fac1c;\n            }\n            else {\n              uStack_10c = uStack_11c;\n              _Stack_108 = _Stack_118;\n              psStack_15c = psStack_148;\n              psStack_160 = psVar22;\n              iVar6 = (**(code **)(puStack_158 + -0x65b8))\n                                (psVar24->st_dev,psVar22,unaff_s6,psVar24->st_pad1[0]);\n              psVar20 = unaff_s7;\n              if (iVar6 == 0) goto LAB_000fac1c;\n              iVar6 = (**(code **)(puStack_158 + -0x65b4))\n                                ((int)psStack_14c->st_pad1 + (psVar24->st_dev - 4));\n              if (1 < iVar6) {\n                psVar22 = (stat *)((int)psVar22->st_pad1 + iVar6 + -5);\n              }\n            }\n            psVar22 = (stat *)((int)&psVar22->st_dev + 1);\n            nontrivial_match = (int)*(char *)((int)psVar22->st_pad1 + (psVar24->st_dev - 4));\n            psStack_14c = psVar22;\n            if ((stat *)nontrivial_match == (stat *)0x0) goto LAB_000fac1c;\n            unaff_s4 = (stat *)(int)*(char *)((int)psVar22->st_pad1 + psVar24->st_pad1[0] + -4);\n            bVar3 = (int)psVar22 < (int)psStack_140;\n          } while (unaff_s4 != (stat *)0x0);\n        }\n        else {\n          psVar22 = (stat *)0x0;\n          unaff_s7 = (stat *)&uStack_11c;\n          unaff_s6 = &uStack_114;\n          while( true ) {\n            bVar2 = *(byte *)((int)psVar22->st_pad1 + (psVar24->st_dev - 4));\n            nontrivial_match = (int)(char)bVar2;\n            unaff_s4 = (stat *)(uint)bVar2;\n            psStack_148 = psVar22;\n            psStack_144 = psVar24;\n            if (unaff_s4 == (stat *)nontrivial_match) {\n              piVar4 = (int *)(**(code **)(puStack_158 + -0x6290))();\n              if ((*(ushort *)(*piVar4 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar4 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (stat *)(*piVar4 + (int)unaff_s4 * 4);\n                nontrivial_match = unaff_s4->st_dev;\n              }\n            }\n            unaff_s5 = (stat *)&psStack_120;\n            if ((stat *)nontrivial_match == (stat *)0x0) break;\n            bVar2 = *(byte *)((int)psStack_148->st_pad1 + psStack_144->st_pad1[0] + -4);\n            psStack_14c = (stat *)(int)(char)bVar2;\n            unaff_s4 = (stat *)(uint)bVar2;\n            if ((unaff_s4 == psStack_14c) &&\n               (piVar4 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar4 + (int)unaff_s4 * 2) & 1) != 0)) {\n              piVar4 = (int *)(**(code **)(puStack_158 + -0x628c))();\n              unaff_s4 = (stat *)(*piVar4 + (int)unaff_s4 * 4);\n              psStack_14c = (stat *)unaff_s4->st_dev;\n            }\n            if (psStack_14c == (stat *)0x0) break;\n            uVar5 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar5 < 2) || (unaff_s3->st_dev != 0)) {\njoined_r0x000facac:\n              if ((stat *)nontrivial_match != psStack_14c) break;\n            }\n            else {\n              iVar6 = (int)psStack_148->st_pad1 + (psStack_144->st_dev - 4);\n              uVar9 = (**(code **)(puStack_158 + -0x60fc))(iVar6);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,iVar6,uVar9,unaff_s7);\n              unaff_s4 = (stat *)((int)psStack_148->st_pad1 + psStack_144->st_pad1[0] + -4);\n              uVar9 = (**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              psVar20 = unaff_s4;\n              iVar6 = (**(code **)(puStack_158 + -0x6084))\n                                ((stat *)&psStack_120,unaff_s4,uVar9,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar6 + 2U < 2)) goto joined_r0x000facac;\n              nontrivial_match = (**(code **)(puStack_158 + -0x5fc8))(psStack_124);\n              psStack_124 = (stat *)nontrivial_match;\n              psStack_120 = (stat *)(**(code **)(puStack_158 + -0x5fc8))(psStack_120);\n              if ((stat *)nontrivial_match != psStack_120) break;\n              if (1 < uStack_138) {\n                psVar22 = (stat *)((int)psStack_148->st_pad1 + (uStack_138 - 5));\n              }\n            }\n            psVar22 = (stat *)((int)&psVar22->st_dev + 1);\n          }\nLAB_000fac1c:\n          bVar3 = (int)psVar22 < (int)psStack_140;\n        }\n        psVar21 = psStack_130;\n        if (bVar3) {\n          psStack_140 = psVar22;\n        }\n        psStack_13c = (stat *)((int)&psStack_13c->st_dev + 1);\n        psVar24 = (stat *)psVar24->st_pad1;\n      } while ((stat *)delimiter != psStack_13c);\n      unaff_s2 = psVar24;\n      if (((psStack_140 == (stat *)0x0) && (psStack_130 != (stat *)0x0)) &&\n         (psVar22 = psStack_130, *(byte *)&psStack_130->st_dev != 0)) {\n        iVar6 = (**(code **)(puStack_158 + -0x60fc))(psStack_130);\n        iVar6 = (**(code **)(puStack_158 + -0x7f88))(iVar6 + 1);\n        *piStack_12c = iVar6;\n        psVar20 = psVar21;\n        (**(code **)(puStack_158 + -0x6074))(iVar6);\n        psVar22 = psVar21;\n        goto LAB_000fb1f0;\n      }\n    }\n    iVar6 = (**(code **)(puStack_158 + -0x7f88))((byte *)((int)&psStack_140->st_dev + 1));\n    *piStack_12c = iVar6;\n    if (**(int **)(puStack_158 + -0x65bc) == 0) {\n      psVar20 = (stat *)piStack_12c[1];\n      (**(code **)(puStack_158 + -0x615c))(iVar6,psVar20,psStack_140);\n    }\n    else {\n      psVar24 = (stat *)0x0;\n      if (**(int **)(puStack_158 + -0x6f0c) != 0) {\n        if ((code *)**(undefined4 **)(puStack_158 + -0x6de4) == (code *)0x0) {\n          psVar24 = (stat *)0x0;\n        }\n        else if ((**(int **)(puStack_158 + -0x6f38) != 0) &&\n                (**(int **)(puStack_158 + -0x702c) != 0)) {\n          psVar20 = (stat *)**(undefined4 **)(puStack_158 + -0x6f34);\n          psVar24 = (stat *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(psStack_130);\n          psStack_130 = psVar24;\n        }\n      }\n      if (**(int **)(puStack_158 + -0x6f10) != 0) {\n        psVar20 = (stat *)delimiter;\n        (**(code **)(puStack_158 + -0x6218))\n                  (piStack_12c + 1,delimiter,4,*(undefined4 *)(puStack_158 + -0x6660));\n      }\n      psVar22 = (stat *)(**(code **)(puStack_158 + -0x60fc))(psStack_130);\n      unaff_s4 = psStack_140;\n      if ((int)psVar22 <= (int)psStack_140) {\n        unaff_s4 = psVar22;\n      }\n      if (delimiter < 1) {\n        psVar22 = (stat *)0x1;\nLAB_000fb1a8:\n        psVar22 = (stat *)(uint)(delimiter < (int)psVar22);\n        if (psVar22 != (stat *)0x0) goto LAB_000fb12c;\n      }\n      else {\n        nontrivial_match = (int)(piStack_12c + 1);\n        psVar22 = (stat *)0x1;\n        do {\n          unaff_s2 = (stat *)((stat *)nontrivial_match)->st_dev;\n          iVar6 = (**(code **)(puStack_158 + -0x6238))(unaff_s2,psStack_130,unaff_s4);\n          if (iVar6 == 0) {\n            psVar20 = unaff_s2;\n            (**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,psStack_140);\n            goto LAB_000fb1a8;\n          }\n          psVar22 = (stat *)((int)&psVar22->st_dev + 1);\n          nontrivial_match = (int)((stat *)nontrivial_match)->st_pad1;\n        } while ((int)psVar22 <= delimiter);\nLAB_000fb12c:\n        psVar20 = (stat *)piStack_12c[1];\n        (**(code **)(puStack_158 + -0x615c))(*piStack_12c,psVar20,psStack_140);\n      }\n      if (psVar24 != (stat *)0x0) {\n        iVar6 = (**(code **)(puStack_158 + -0x5f94))(psVar24);\n        return iVar6;\n      }\n      unaff_s3 = (stat *)0x0;\n    }\n    *(undefined1 *)((int)psStack_140->st_pad1 + *piStack_12c + -4) = 0;\n    psStack_13c = (stat *)delimiter;\n  }\nLAB_000fb1f0:\n  if (puStack_104 == (undefined4 *)**(undefined4 **)(puStack_158 + -0x5fb4)) {\n    return (int)psStack_13c;\n  }\n  pcVar29 = *(code **)(puStack_158 + -0x6004);\n  pcVar30 = postprocess_matches;\n  puVar11 = puStack_104;\n  (*pcVar29)();\n  pcStack_1a8 = pcVar29 + 0x632d8;\n  auStack_19d._1_4_ = **(undefined4 **)(pcVar29 + 0x5d324);\n  psVar24 = (stat *)*puVar11;\n  auStack_19d._9_4_ = psVar22;\n  auStack_19d._13_4_ = nontrivial_match;\n  auStack_19d._17_4_ = unaff_s2;\n  psStack_188 = unaff_s3;\n  psStack_184 = unaff_s4;\n  psStack_180 = unaff_s5;\n  puStack_17c = unaff_s6;\n  psStack_178 = unaff_s7;\n  pcStack_174 = pcVar30;\n  if (psVar24 == (stat *)0x0) {\n    iVar6 = 0;\n  }\n  else {\n    psVar21 = psVar20;\n    match_list = psVar24;\n    if (**(int **)(pcVar29 + 0x5cd28) != 0) {\n      if (psVar24->st_dev == 0) {\nLAB_000fb370:\n        uVar18 = psVar24->st_dev;\n      }\n      else {\n        plVar7 = psVar24->st_pad1;\n        iVar6 = 0;\n        do {\n          iVar13 = iVar6;\n          iVar12 = *plVar7;\n          iVar6 = iVar13 + 1;\n          plVar7 = plVar7 + 1;\n        } while (iVar12 != 0);\n        if ((iVar6 == 0) || (**(int **)(pcVar29 + 0x5c3c8) == 0)) goto LAB_000fb370;\n        (**(code **)(pcVar29 + 0x5d0c0))\n                  (psVar24->st_pad1,iVar13,4,*(undefined4 *)(pcVar29 + 0x5cc78));\n        uVar18 = psVar24->st_dev;\n      }\n      iVar6 = (**(code **)(pcStack_1a8 + -0x60fc))(uVar18);\n      uVar9 = (**(code **)(pcStack_1a8 + -0x7f88))(iVar6 + 1);\n      unaff_s4 = (stat *)(**(code **)(pcStack_1a8 + -0x6074))(uVar9,psVar24->st_dev);\n      if (psVar24->st_pad1[0] == 0) {\n        unaff_s6 = (ulong *)0x0;\n        iVar6 = 3;\n        psVar21 = (stat *)0x0;\n      }\n      else {\n        unaff_s6 = (ulong *)0x0;\n        unaff_s7 = (stat *)auStack_19d;\n        psVar22 = psVar24;\n        do {\n          uVar18 = psVar22->st_dev;\n          iVar6 = (**(code **)(pcStack_1a8 + -0x5f48))(uVar18);\n          if (iVar6 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(uVar18);\n            psVar22->st_dev = (ulong)unaff_s7;\n          }\n          else {\n            unaff_s6 = (ulong *)((int)unaff_s6 + 1);\n          }\n          psVar21 = (stat *)psVar22->st_pad1[1];\n          iVar6 = (int)unaff_s6 + 3;\n          psVar22 = (stat *)psVar22->st_pad1;\n        } while (psVar21 != (stat *)0x0);\n      }\n      match_list = (stat *)(**(code **)(pcStack_1a8 + -0x7f88))(iVar6 << 2);\n      psVar8 = (stat *)psVar24->st_pad1[0];\n      plVar7 = psVar24->st_pad1;\n      if (psVar8 == (stat *)0x0) {\n        match_list->st_pad1[0] = 0;\n        psVar22 = (stat *)0x1;\n        if ((undefined1 *)psVar24->st_dev != auStack_19d) {\n          pcVar29 = *(code **)(pcStack_1a8 + -0x798c);\n          goto LAB_000fb4b4;\n        }\n        match_list->st_dev = (ulong)unaff_s4;\n      }\n      else {\n        psVar22 = (stat *)0x1;\n        psVar21 = (stat *)auStack_19d;\n        do {\n          plVar7 = plVar7 + 1;\n          if (psVar8 != psVar21) {\n            match_list->st_pad1[(int)((int)psVar22[-1].st_pad5 + 0x37)] = (long)psVar8;\n            psVar22 = (stat *)((int)&psVar22->st_dev + 1);\n          }\n          psVar8 = (stat *)*plVar7;\n        } while (psVar8 != (stat *)0x0);\n        match_list->st_pad1[(int)((int)psVar22[-1].st_pad5 + 0x37)] = 0;\n        if ((undefined1 *)psVar24->st_dev != auStack_19d) {\n          pcVar29 = *(code **)(pcStack_1a8 + -0x798c);\nLAB_000fb4b4:\n          (*pcVar29)();\n        }\n        match_list->st_dev = (ulong)unaff_s4;\n        if (psVar22 == (stat *)0x2) {\n          psVar22 = (stat *)match_list->st_pad1[0];\n          psVar21 = psVar22;\n          iVar6 = (**(code **)(pcStack_1a8 + -0x5f48))(unaff_s4);\n          if (iVar6 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(psVar22);\n            match_list->st_pad1[0] = 0;\n          }\n        }\n      }\n      (**(code **)(pcStack_1a8 + -0x798c))(psVar24);\n      unaff_s5 = match_list;\n    }\n    unaff_s3 = psVar20;\n    psVar24 = match_list;\n    if (((code *)**(undefined4 **)(pcStack_1a8 + -0x703c) == (code *)0x0) ||\n       (psVar20 == (stat *)0x0)) goto LAB_000fb570;\n    plVar7 = match_list->st_pad1;\n    if (match_list->st_pad1[0] == 0) {\n      psVar22 = (stat *)0x1;\n    }\n    else {\n      psVar22 = (stat *)0x1;\n      do {\n        plVar7 = plVar7 + 1;\n        psVar22 = (stat *)((int)&psVar22->st_dev + 1);\n      } while (*plVar7 != 0);\n    }\n    (*(code *)**(undefined4 **)(pcStack_1a8 + -0x703c))(match_list);\n    unaff_s3 = (stat *)match_list->st_dev;\n    if (unaff_s3 == (stat *)0x0) {\n      (**(code **)(pcStack_1a8 + -0x5f94))(match_list);\n      *puVar11 = 0;\n      iVar6 = 0;\n      psVar20 = psVar21;\n      goto LAB_000fb578;\n    }\n    plVar7 = match_list->st_pad1;\n    if (match_list->st_pad1[0] == 0) {\nLAB_000fb570:\n      *puVar11 = match_list;\n    }\n    else {\n      psVar20 = (stat *)0x1;\n      do {\n        psVar21 = psVar20;\n        plVar7 = plVar7 + 1;\n        psVar20 = (stat *)((int)&psVar21->st_dev + 1);\n      } while (*plVar7 != 0);\n      psVar22 = (stat *)(uint)((int)psVar20 < (int)psVar22);\n      if (((int)psVar20 < 2) || (psVar22 == (stat *)0x0)) goto LAB_000fb570;\n      compute_lcd_of_matches((char **)match_list,(int)psVar21,(char *)unaff_s3);\n      (**(code **)(pcStack_1a8 + -0x5f94))(unaff_s3);\n      *puVar11 = match_list;\n    }\n    iVar6 = 1;\n    psVar20 = psVar21;\n  }\nLAB_000fb578:\n  if ((char *)auStack_19d._1_4_ == (char *)**(undefined4 **)(pcStack_1a8 + -0x5fb4)) {\n    return iVar6;\n  }\n  pcVar29 = *(code **)(pcStack_1a8 + -0x6004);\n  pcVar30 = rl_filename_completion_function;\n  pcVar23 = (char *)auStack_19d._1_4_;\n  (*pcVar29)();\n  iStack_1e4 = **(int **)(pcVar29 + 0x5cf6c);\n  psStack_1e0 = psVar22;\n  psStack_1dc = psVar24;\n  puStack_1d8 = puVar11;\n  psStack_1d4 = unaff_s3;\n  psStack_1d0 = unaff_s4;\n  psStack_1cc = unaff_s5;\n  puStack_1c8 = unaff_s6;\n  psStack_1c4 = unaff_s7;\n  ppsStack_1c0 = unaff_s8;\n  pcStack_1bc = pcVar30;\n  if (psVar20 != (stat *)0x0) goto LAB_000fb968;\n  if (*(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd4) != 0) {\n    (**(code **)(pcVar29 + 0x5cc9c))();\n    *(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd4) = 0;\n  }\n  if (*(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8) != 0) {\n    iVar6 = (**(code **)(pcVar29 + 0x5cf8c))();\n    return iVar6;\n  }\n  if (*(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc) != 0) {\n    iVar6 = (**(code **)(pcVar29 + 0x5cf8c))();\n    return iVar6;\n  }\n  if (*(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0) != 0) {\n    iVar6 = (**(code **)(pcVar29 + 0x5cf8c))();\n    return iVar6;\n  }\n  iVar6 = (**(code **)(pcVar29 + 0x5ce24))(pcVar23);\n  uVar9 = (**(code **)(pcVar29 + 0x5af98))(iVar6 + 1);\n  uVar9 = (**(code **)(pcVar29 + 0x5ceac))(uVar9,pcVar23);\n  *(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc) = uVar9;\n  if (*pcVar23 == '\0') {\n    pcVar23 = (char *)(*(int *)(pcVar29 + 0x5af90) + -0x5e18);\n  }\n  iVar6 = (**(code **)(pcVar29 + 0x5ce24))(pcVar23);\n  uVar9 = (**(code **)(pcVar29 + 0x5af98))(iVar6 + 1);\n  puVar10 = (undefined1 *)(**(code **)(pcVar29 + 0x5ceac))(uVar9,pcVar23);\n  *(undefined1 **)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8) = puVar10;\n  iVar6 = (**(code **)(pcVar29 + 0x5cd4c))(puVar10,0x2f);\n  if (iVar6 == 0) {\n    *puVar10 = 0x2e;\n    *(undefined1 *)(*(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8) + 1) = 0;\n  }\n  else {\n    (**(code **)(pcVar29 + 0x5ceac))\n              (*(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc),iVar6 + 1);\n    *(undefined1 *)(iVar6 + 1) = 0;\n  }\n  if (**(int **)(pcVar29 + 0x5bfe8) == 0) {\nLAB_000fb830:\n    iVar12 = *(int *)(pcVar29 + 0x5af4c);\n    iVar6 = (**(code **)(pcVar29 + 0x5ce24))(*(undefined4 *)(iVar12 + -0x3fd8));\n    uVar9 = (**(code **)(pcVar29 + 0x5af98))(iVar6 + 1);\n    uVar9 = (**(code **)(pcVar29 + 0x5ceac))(uVar9,*(undefined4 *)(iVar12 + -0x3fd8));\n    *(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0) = uVar9;\n  }\n  else {\n    if ((code *)**(undefined4 **)(pcVar29 + 0x5c13c) == (code *)0x0) goto LAB_000fb830;\n    uVar9 = (*(code *)**(undefined4 **)(pcVar29 + 0x5c13c))\n                      (*(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8),\n                       **(undefined4 **)(pcVar29 + 0x5bfec));\n    *(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0) = uVar9;\n  }\n  bVar3 = **(char **)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8) == '~';\n  if (bVar3) {\n    uVar9 = (**(code **)(pcVar29 + 0x5b4ec))();\n    iVar6 = *(int *)(pcVar29 + 0x5af4c);\n    (**(code **)(pcVar29 + 0x5b594))(*(undefined4 *)(iVar6 + -0x3fd8));\n    *(undefined4 *)(iVar6 + -0x3fd8) = uVar9;\n  }\n  if ((code *)**(undefined4 **)(pcVar29 + 0x5bfe0) == (code *)0x0) {\n    if ((code *)**(undefined4 **)(pcVar29 + 0x5bfe4) != (code *)0x0) {\n      iVar6 = (*(code *)**(undefined4 **)(pcVar29 + 0x5bfe4))(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8)\n      ;\n      iVar12 = *(int *)(pcVar29 + 0x5af4c);\n      if (iVar6 != 0) {\n        (**(code **)(pcVar29 + 0x5b594))(*(undefined4 *)(iVar12 + -0x3fe0));\n        iVar13 = *(int *)(pcVar29 + 0x5af4c);\n        iVar6 = (**(code **)(pcVar29 + 0x5ce24))(*(undefined4 *)(iVar13 + -0x3fd8));\n        uVar9 = (**(code **)(pcVar29 + 0x5af98))(iVar6 + 1);\n        uVar9 = (**(code **)(pcVar29 + 0x5ceac))(uVar9,*(undefined4 *)(iVar13 + -0x3fd8));\n        *(undefined4 *)(iVar12 + -0x3fe0) = uVar9;\n        goto LAB_000fb8b4;\n      }\n    }\n    iVar6 = *(int *)(pcVar29 + 0x5af4c);\n    if ((!bVar3) && (iVar6 = *(int *)(pcVar29 + 0x5af4c), **(int **)(pcVar29 + 0x5bfe8) != 0)) {\n      iVar6 = *(int *)(pcVar29 + 0x5af4c);\n      if (**(int **)(pcVar29 + 0x5c13c) != 0) {\n        (**(code **)(pcVar29 + 0x5b594))(*(undefined4 *)(iVar6 + -0x3fd8));\n        iVar13 = *(int *)(pcVar29 + 0x5af4c);\n        iVar12 = (**(code **)(pcVar29 + 0x5ce24))(*(undefined4 *)(iVar13 + -0x3fe0));\n        uVar9 = (**(code **)(pcVar29 + 0x5af98))(iVar12 + 1);\n        uVar9 = (**(code **)(pcVar29 + 0x5ceac))(uVar9,*(undefined4 *)(iVar13 + -0x3fe0));\n        *(undefined4 *)(iVar6 + -0x3fd8) = uVar9;\n      }\n      goto LAB_000fb8b4;\n    }\n  }\n  else {\n    (*(code *)**(undefined4 **)(pcVar29 + 0x5bfe0))(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8);\nLAB_000fb8b4:\n    iVar6 = *(int *)(pcVar29 + 0x5af4c);\n  }\n  uVar9 = (**(code **)(pcVar29 + 0x5cc98))(*(undefined4 *)(iVar6 + -0x3fd8));\n  *(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd4) = uVar9;\n  iVar6 = *(int *)(pcVar29 + 0x5af4c);\n  if ((**(char **)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc) != '\0') &&\n     (iVar6 = *(int *)(pcVar29 + 0x5af4c), **(int **)(pcVar29 + 0x5bfe8) != 0)) {\n    if ((code *)**(undefined4 **)(pcVar29 + 0x5c13c) != (code *)0x0) {\n      uVar9 = (*(code *)**(undefined4 **)(pcVar29 + 0x5c13c))\n                        (*(char **)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc),\n                         **(undefined4 **)(pcVar29 + 0x5bfec));\n      iVar6 = *(int *)(pcVar29 + 0x5af4c);\n      (**(code **)(pcVar29 + 0x5b594))(*(undefined4 *)(iVar6 + -0x3fdc));\n      *(undefined4 *)(iVar6 + -0x3fdc) = uVar9;\n    }\n    iVar6 = *(int *)(pcVar29 + 0x5af4c);\n  }\n  uVar9 = (**(code **)(pcVar29 + 0x5ce24))(*(undefined4 *)(iVar6 + -0x3fdc));\n  *(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe4) = uVar9;\n  **(undefined4 **)(pcVar29 + 0x5c014) = 1;\nLAB_000fb968:\n  iVar14 = 0;\n  iVar6 = *(int *)(pcVar29 + 0x5af4c);\n  puVar11 = *(undefined4 **)(pcVar29 + 0x5c130);\n  iVar12 = *(int *)(pcVar29 + 0x5af4c);\n  iVar13 = *(int *)(pcVar29 + 0x5af4c);\n  piVar4 = *(int **)(pcVar29 + 0x5c964);\nLAB_000fbb0c:\n  iVar19 = *(int *)(iVar6 + -0x3fd4);\nLAB_000fbb10:\n  if (iVar19 == 0) {\n    if (iVar14 != 0) goto LAB_000fbbb0;\n    iVar6 = *(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8);\nLAB_000fc3a0:\n    if (iVar6 != 0) {\n      (**(code **)(pcVar29 + 0x5b594))();\n      *(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8) = 0;\n    }\n    if (*(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc) != 0) {\n      (**(code **)(pcVar29 + 0x5b594))();\n      *(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc) = 0;\n    }\n    iVar6 = *(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0);\n    if (iVar6 != 0) {\n      (**(code **)(pcVar29 + 0x5b594))(iVar6);\n      *(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0) = 0;\n      iVar6 = 0;\n    }\n    goto LAB_000fbca4;\n  }\n  iVar14 = (**(code **)(pcVar29 + 0x5cd0c))();\n  if (iVar14 == 0) {\n    if (*(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd4) != 0) {\n      (**(code **)(pcVar29 + 0x5cc9c))();\n      *(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd4) = 0;\n    }\n    iVar6 = *(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8);\n    goto LAB_000fc3a0;\n  }\n  psVar24 = (stat *)(iVar14 + 0x13);\n  iVar19 = (**(code **)(pcVar29 + 0x5ce24))(psVar24);\n  psVar22 = psVar24;\n  if (((code *)*puVar11 != (code *)0x0) &&\n     (psVar22 = (stat *)(*(code *)*puVar11)(psVar24,iVar19), psVar24 != psVar22)) {\n    iVar19 = (**(code **)(pcVar29 + 0x5ce24))(psVar22);\n  }\n  iVar25 = *(int *)(iVar12 + -0x3fe4);\n  if (iVar25 == 0) {\n    if (**(int **)(pcVar29 + 0x5c974) == 0) {\n      if (*(byte *)&psVar22->st_dev != 0x2e) goto LAB_000fbbb0;\n    }\n    else {\n      iVar15 = *(int *)(pcVar29 + 0x5af4c);\n      if ((*(byte *)&psVar22->st_dev != 0x2e) ||\n         ((bVar2 = *(byte *)((int)&psVar22->st_dev + 1), bVar2 != 0 &&\n          ((iVar15 = *(int *)(pcVar29 + 0x5af4c), bVar2 != 0x2e ||\n           (iVar15 = *(int *)(pcVar29 + 0x5af4c), *(char *)((int)&psVar22->st_dev + 2) != '\0'))))))\n      goto LAB_000fbbb4;\n    }\n    goto LAB_000fbb0c;\n  }\n  pbStack_228 = *(byte **)(iVar13 + -0x3fdc);\n  uStack_1f4 = 0;\n  uStack_1f0 = 0;\n  uStack_1ec = 0;\n  uStack_1e8 = 0;\n  if (iVar19 < iVar25) goto LAB_000fbb0c;\n  if (*piVar4 != 0) {\n    psStack_214 = psVar22;\n    iStack_208 = iVar25;\n    if (**(int **)(pcVar29 + 0x5c97c) == 0) {\n      uVar5 = (**(code **)(pcVar29 + 0x5cec0))();\n      if ((1 < uVar5) && (**(int **)(pcVar29 + 0x5c7f8) == 0)) {\n        goto LAB_000fc0a8;\n      }\n      uVar26 = (uint)(char)*(byte *)&psVar22->st_dev;\n      uVar5 = (uint)*(byte *)&psVar22->st_dev;\n      if ((uVar5 == uVar26) &&\n         (piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc90))(),\n         (*(ushort *)(*piVar17 + uVar5 * 2) & 1) != 0)) {\n        piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc94))();\n        uVar26 = *(uint *)(*piVar17 + uVar5 * 4);\n      }\n      uVar27 = (uint)(char)*pbStack_228;\n      uVar5 = (uint)*pbStack_228;\n      if (uVar5 == uVar27) {\n        piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc90))();\n        if ((*(ushort *)(*piVar17 + uVar5 * 2) & 1) != 0) {\n          piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc94))();\n          uVar27 = *(uint *)(*piVar17 + uVar5 * 4);\n        }\n      }\n      if (uVar26 == uVar27) {\n        iVar19 = (**(code **)(pcVar29 + 0x5cd98))(pbStack_228,psVar22,iVar25);\n        goto LAB_000fc280;\n      }\n    }\n    else {\n      uVar5 = (**(code **)(pcVar29 + 0x5cec0))();\n      if ((1 < uVar5) && (**(int **)(pcVar29 + 0x5c7f8) == 0)) {\n        do {\n          iVar15 = (**(code **)(pcVar29 + 0x5ce9c))(&iStack_1fc,psStack_214,iVar19,&uStack_1f4);\n          iVar16 = (**(code **)(pcVar29 + 0x5ce9c))(&iStack_1f8,pbStack_228,iVar25,&uStack_1ec);\n          if (iVar15 == 0) {\n            if (iVar16 == 0) goto LAB_000fbbb0;\nLAB_000fbe6c:\n            if (iVar16 + 2U < 2) goto LAB_000fbdb4;\n            iVar16 = (**(code **)(pcVar29 + 0x5cf58))(iStack_1fc);\n            iStack_1fc = iVar16;\n            iStack_1f8 = (**(code **)(pcVar29 + 0x5cf58))(iStack_1f8);\n            psStack_214 = (stat *)((int)psStack_214->st_pad1 + iVar15 + -4);\n            pbStack_228 = pbStack_228 + iVar15;\n            iStack_208 = iStack_208 - iVar15;\n            if ((((iVar16 != 0x2d) && (iVar16 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))) && (iVar16 != iStack_1f8))\n            goto code_r0x000fbef4;\n          }\n          else {\n            if (1 < iVar15 + 2U) goto LAB_000fbe6c;\nLAB_000fbdb4:\n            bVar2 = *(byte *)&psStack_214->st_dev;\n            if (((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||\n               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))) goto LAB_000fbb0c;\n            psStack_214 = (stat *)((int)&psStack_214->st_dev + 1);\n            pbStack_228 = pbStack_228 + 1;\n            iStack_208 = iStack_208 + -1;\n          }\n          iVar15 = *(int *)(pcVar29 + 0x5af4c);\n          if (iStack_208 == 0) goto LAB_000fbbb4;\n        } while( true );\n      }\n      psVar20 = psVar22;\n      while( true ) {\n        uVar5 = (uint)(char)*(byte *)&psVar20->st_dev;\n        uVar26 = (uint)*(byte *)&psVar20->st_dev;\n        psStack_214 = (stat *)uVar5;\n        if ((uVar26 == uVar5) &&\n           (piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc90))(),\n           (*(ushort *)(*piVar17 + uVar26 * 2) & 1) != 0)) {\n          piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc94))();\n          psStack_214 = *(stat **)(*piVar17 + uVar26 * 4);\n        }\n        uVar26 = (uint)(char)*pbStack_228;\n        uVar27 = (uint)*pbStack_228;\n        uStack_210 = uVar26;\n        if (uVar27 == uVar26) {\n          piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc90))();\n          if ((*(ushort *)(*piVar17 + uVar27 * 2) & 1) != 0) {\n            piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc94))();\n            uStack_210 = *(uint *)(*piVar17 + uVar27 * 4);\n          }\n        }\n        if ((((uVar5 != 0x2d) && (uVar5 != 0x5f)) || ((uVar26 != 0x2d && (uVar26 != 0x5f)))) &&\n           (psStack_214 != (stat *)uStack_210)) break;\n        psVar20 = (stat *)((int)&psVar20->st_dev + 1);\n        pbStack_228 = pbStack_228 + 1;\n        iVar15 = *(int *)(pcVar29 + 0x5af4c);\n        if (psVar20 == (stat *)((int)psVar22->st_pad1 + iVar25 + -4)) goto LAB_000fbbb4;\n      }\n    }\n    goto LAB_000fbb0c;\n  }\n  if (*(byte *)&psVar22->st_dev != *pbStack_228) goto LAB_000fbb0c;\n  iVar19 = (**(code **)(pcVar29 + 0x5cce8))(pbStack_228,psVar22,iVar25);\nLAB_000fc280:\n  if (iVar19 != 0) goto LAB_000fbb0c;\n  pcVar23 = *(char **)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8);\n  goto LAB_000fbbb8;\nLAB_000fc0a8:\n  iVar15 = (**(code **)(pcVar29 + 0x5ce9c))(&iStack_1fc,psStack_214,iVar19,&uStack_1f4);\n  iVar16 = (**(code **)(pcVar29 + 0x5ce9c))(&iStack_1f8,pbStack_228,iVar25,&uStack_1ec);\n  if (iVar15 == 0) {\n    if (iVar16 == 0) goto LAB_000fbbb0;\nLAB_000fc100:\n    if (iVar16 + 2U < 2) goto LAB_000fc060;\n    iVar16 = (**(code **)(pcVar29 + 0x5cf58))(iStack_1fc);\n    iStack_1fc = iVar16;\n    iStack_1f8 = (**(code **)(pcVar29 + 0x5cf58))(iStack_1f8);\n    if (iVar16 != iStack_1f8) goto LAB_000fbb0c;\n    psStack_214 = (stat *)((int)psStack_214->st_pad1 + iVar15 + -4);\n    pbStack_228 = pbStack_228 + iVar15;\n    iStack_208 = iStack_208 - iVar15;\n  }\n  else {\n    if (1 < iVar15 + 2U) goto LAB_000fc100;\nLAB_000fc060:\n    if (*(byte *)&psStack_214->st_dev != *pbStack_228) goto LAB_000fbb0c;\n    psStack_214 = (stat *)((int)&psStack_214->st_dev + 1);\n    pbStack_228 = pbStack_228 + 1;\n    iStack_208 = iStack_208 + -1;\n  }\n  iVar15 = *(int *)(pcVar29 + 0x5af4c);\n  if (iStack_208 == 0) goto LAB_000fbbb4;\n  goto LAB_000fc0a8;\ncode_r0x000fbef4:\n  iVar19 = *(int *)(iVar6 + -0x3fd4);\n  goto LAB_000fbb10;\nLAB_000fbbb0:\n  iVar15 = *(int *)(pcVar29 + 0x5af4c);\nLAB_000fbbb4:\n  pcVar23 = *(char **)(iVar15 + -0x3fd8);\nLAB_000fbbb8:\n  if ((pcVar23 == (char *)0x0) ||\n     ((piVar4 = *(int **)(pcVar29 + 0x5c978), *pcVar23 == '.' &&\n      (piVar4 = *(int **)(pcVar29 + 0x5c978), pcVar23[1] == '\0')))) {\n    iVar6 = (**(code **)(pcVar29 + 0x5ce24))(psVar22);\n    uVar9 = (**(code **)(pcVar29 + 0x5af98))(iVar6 + 1);\n    iVar6 = (**(code **)(pcVar29 + 0x5ceac))(uVar9,psVar22);\n  }\n  else {\n    if ((*piVar4 == 0) || (**(char **)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0) != '~')) {\n      iVar13 = *(int *)(pcVar29 + 0x5af4c);\n      iVar12 = (**(code **)(pcVar29 + 0x5ce24))(*(undefined4 *)(iVar13 + -0x3fe0));\n      iVar6 = (**(code **)(pcVar29 + 0x5ce24))(iVar14 + 0x13);\n      iVar6 = (**(code **)(pcVar29 + 0x5af98))(iVar12 + iVar6 + 2);\n      iVar13 = *(int *)(iVar13 + -0x3fe0);\n      (**(code **)(pcVar29 + 0x5ceac))(iVar6,iVar13);\n      if (*(char *)(iVar13 + iVar12 + -1) != '/') {\n        *(undefined1 *)(iVar6 + iVar12) = 0x2f;\n        iVar12 = iVar12 + 1;\n      }\n    }\n    else {\n      iVar13 = (**(code **)(pcVar29 + 0x5ce24))();\n      iVar6 = (**(code **)(pcVar29 + 0x5ce24))(iVar14 + 0x13);\n      iVar6 = (**(code **)(pcVar29 + 0x5af98))(iVar13 + iVar6 + 2);\n      iVar14 = *(int *)(pcVar29 + 0x5af4c);\n      (**(code **)(pcVar29 + 0x5ceac))(iVar6,*(undefined4 *)(iVar14 + -0x3fd8));\n      iVar12 = iVar13;\n      if (*(char *)(*(int *)(iVar14 + -0x3fd8) + iVar13 + -1) != '/') {\n        iVar12 = iVar13 + 1;\n        *(undefined1 *)(iVar6 + iVar13) = 0x2f;\n        *(undefined1 *)(iVar6 + iVar12) = 0;\n      }\n    }\n    (**(code **)(pcVar29 + 0x5ceac))(iVar6 + iVar12,psVar22);\n  }\n  if (psVar24 != psVar22) {\n    (**(code **)(pcVar29 + 0x5b594))(psVar22);\n  }\nLAB_000fbca4:\n  if (iStack_1e4 == **(int **)(pcVar29 + 0x5cf6c)) {\n    return iVar6;\n  }\n  iVar6 = (**(code **)(pcVar29 + 0x5cf1c))();\n  return iVar6;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "bool bVar3;" primitive_type identifier ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "long *plVar7;" (sized_type_specifier "long" long) (pointer_declarator "*plVar7" * identifier) ;) (declaration "stat *match_list;" type_identifier (pointer_declarator "*match_list" * identifier) ;) (declaration "stat *psVar8;" type_identifier (pointer_declarator "*psVar8" * identifier) ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "undefined1 *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "undefined4 *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "int *piVar17;" primitive_type (pointer_declarator "*piVar17" * identifier) ;) (declaration "ulong uVar18;" type_identifier identifier ;) (declaration "int iVar19;" primitive_type identifier ;) (declaration "stat *psVar20;" type_identifier (pointer_declarator "*psVar20" * identifier) ;) (declaration "stat *psVar21;" type_identifier (pointer_declarator "*psVar21" * identifier) ;) (declaration "stat *psVar22;" type_identifier (pointer_declarator "*psVar22" * identifier) ;) (declaration "stat *unaff_s2;" type_identifier (pointer_declarator "*unaff_s2" * identifier) ;) (declaration "char *pcVar23;" primitive_type (pointer_declarator "*pcVar23" * identifier) ;) (declaration "stat *unaff_s3;" type_identifier (pointer_declarator "*unaff_s3" * identifier) ;) (declaration "stat *psVar24;" type_identifier (pointer_declarator "*psVar24" * identifier) ;) (declaration "int iVar25;" primitive_type identifier ;) (declaration "stat *unaff_s4;" type_identifier (pointer_declarator "*unaff_s4" * identifier) ;) (declaration "stat *unaff_s5;" type_identifier (pointer_declarator "*unaff_s5" * identifier) ;) (declaration "uint uVar26;" type_identifier identifier ;) (declaration "ulong *unaff_s6;" type_identifier (pointer_declarator "*unaff_s6" * identifier) ;) (declaration "uint uVar27;" type_identifier identifier ;) (declaration "stat *unaff_s7;" type_identifier (pointer_declarator "*unaff_s7" * identifier) ;) (declaration "undefined *puVar28;" type_identifier (pointer_declarator "*puVar28" * identifier) ;) (declaration "code *pcVar29;" type_identifier (pointer_declarator "*pcVar29" * identifier) ;) (declaration "stat **unaff_s8;" type_identifier (pointer_declarator "**unaff_s8" * (pointer_declarator "*unaff_s8" * identifier)) ;) (declaration "code *pcVar30;" type_identifier (pointer_declarator "*pcVar30" * identifier) ;) (declaration "byte *pbStack_228;" type_identifier (pointer_declarator "*pbStack_228" * identifier) ;) (declaration "stat *psStack_214;" type_identifier (pointer_declarator "*psStack_214" * identifier) ;) (declaration "uint uStack_210;" type_identifier identifier ;) (declaration "int iStack_208;" primitive_type identifier ;) (declaration "int iStack_1fc;" primitive_type identifier ;) (declaration "int iStack_1f8;" primitive_type identifier ;) (declaration "undefined4 uStack_1f4;" type_identifier identifier ;) (declaration "undefined4 uStack_1f0;" type_identifier identifier ;) (declaration "undefined4 uStack_1ec;" type_identifier identifier ;) (declaration "undefined4 uStack_1e8;" type_identifier identifier ;) (declaration "int iStack_1e4;" primitive_type identifier ;) (declaration "stat *psStack_1e0;" type_identifier (pointer_declarator "*psStack_1e0" * identifier) ;) (declaration "stat *psStack_1dc;" type_identifier (pointer_declarator "*psStack_1dc" * identifier) ;) (declaration "undefined4 *puStack_1d8;" type_identifier (pointer_declarator "*puStack_1d8" * identifier) ;) (declaration "stat *psStack_1d4;" type_identifier (pointer_declarator "*psStack_1d4" * identifier) ;) (declaration "stat *psStack_1d0;" type_identifier (pointer_declarator "*psStack_1d0" * identifier) ;) (declaration "stat *psStack_1cc;" type_identifier (pointer_declarator "*psStack_1cc" * identifier) ;) (declaration "ulong *puStack_1c8;" type_identifier (pointer_declarator "*puStack_1c8" * identifier) ;) (declaration "stat *psStack_1c4;" type_identifier (pointer_declarator "*psStack_1c4" * identifier) ;) (declaration "stat **ppsStack_1c0;" type_identifier (pointer_declarator "**ppsStack_1c0" * (pointer_declarator "*ppsStack_1c0" * identifier)) ;) (declaration "code *pcStack_1bc;" type_identifier (pointer_declarator "*pcStack_1bc" * identifier) ;) (declaration "code *pcStack_1a8;" type_identifier (pointer_declarator "*pcStack_1a8" * identifier) ;) (declaration "undefined1 auStack_19d [21];" type_identifier (array_declarator "auStack_19d [21]" identifier [ number_literal ]) ;) (declaration "stat *psStack_188;" type_identifier (pointer_declarator "*psStack_188" * identifier) ;) (declaration "stat *psStack_184;" type_identifier (pointer_declarator "*psStack_184" * identifier) ;) (declaration "stat *psStack_180;" type_identifier (pointer_declarator "*psStack_180" * identifier) ;) (declaration "ulong *puStack_17c;" type_identifier (pointer_declarator "*puStack_17c" * identifier) ;) (declaration "stat *psStack_178;" type_identifier (pointer_declarator "*psStack_178" * identifier) ;) (declaration "code *pcStack_174;" type_identifier (pointer_declarator "*pcStack_174" * identifier) ;) (declaration "stat *psStack_160;" type_identifier (pointer_declarator "*psStack_160" * identifier) ;) (declaration "stat *psStack_15c;" type_identifier (pointer_declarator "*psStack_15c" * identifier) ;) (declaration "undefined *puStack_158;" type_identifier (pointer_declarator "*puStack_158" * identifier) ;) (declaration "stat *psStack_14c;" type_identifier (pointer_declarator "*psStack_14c" * identifier) ;) (declaration "stat *psStack_148;" type_identifier (pointer_declarator "*psStack_148" * identifier) ;) (declaration "stat *psStack_144;" type_identifier (pointer_declarator "*psStack_144" * identifier) ;) (declaration "stat *psStack_140;" type_identifier (pointer_declarator "*psStack_140" * identifier) ;) (declaration "stat *psStack_13c;" type_identifier (pointer_declarator "*psStack_13c" * identifier) ;) (declaration "uint uStack_138;" type_identifier identifier ;) (declaration "int *piStack_134;" primitive_type (pointer_declarator "*piStack_134" * identifier) ;) (declaration "stat *psStack_130;" type_identifier (pointer_declarator "*psStack_130" * identifier) ;) (declaration "int *piStack_12c;" primitive_type (pointer_declarator "*piStack_12c" * identifier) ;) (declaration "stat *psStack_124;" type_identifier (pointer_declarator "*psStack_124" * identifier) ;) (declaration "stat *psStack_120;" type_identifier (pointer_declarator "*psStack_120" * identifier) ;) (declaration "ulong uStack_11c;" type_identifier identifier ;) (declaration "__mode_t _Stack_118;" type_identifier identifier ;) (declaration "ulong uStack_114;" type_identifier identifier ;) (declaration "long lStack_110;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong uStack_10c;" type_identifier identifier ;) (declaration "__mode_t _Stack_108;" type_identifier identifier ;) (declaration "undefined4 *puStack_104;" type_identifier (pointer_declarator "*puStack_104" * identifier) ;) (declaration "stat *psStack_100;" type_identifier (pointer_declarator "*psStack_100" * identifier) ;) (declaration "__mode_t _Stack_fc;" type_identifier identifier ;) (declaration "stat *psStack_f8;" type_identifier (pointer_declarator "*psStack_f8" * identifier) ;) (declaration "char *fn;" primitive_type (pointer_declarator "*fn" * identifier) ;) (declaration "stat finfo;" type_identifier identifier ;) (declaration "char temp_string [4];" primitive_type (array_declarator "temp_string [4]" identifier [ number_literal ]) ;) (expression_statement "piVar4 = *(int **)PTR___stack_chk_guard_0015858c;" (assignment_expression "piVar4 = *(int **)PTR___stack_chk_guard_0015858c" identifier = (pointer_expression "*(int **)PTR___stack_chk_guard_0015858c" * (cast_expression "(int **)PTR___stack_chk_guard_0015858c" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (if_statement "if (quote_char != 0) {\n    if (*(int *)PTR_rl_point_001575f0 == 0) {\n      quote_char = 0;\n    }\n    else if (*(int *)PTR_rl_completion_suppress_quote_00157618 == 0) {\n      if (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + *(int *)PTR_rl_point_001575f0 + -1) ==\n          quote_char) {\n        quote_char = 0;\n      }\n      else {\n        temp_string[0] = (char)quote_char;\n        quote_char = 1;\n      }\n    }\n    else {\n      quote_char = 0;\n    }\n  }" if (parenthesized_expression "(quote_char != 0)" ( (binary_expression "quote_char != 0" identifier != number_literal) )) (compound_statement "{\n    if (*(int *)PTR_rl_point_001575f0 == 0) {\n      quote_char = 0;\n    }\n    else if (*(int *)PTR_rl_completion_suppress_quote_00157618 == 0) {\n      if (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + *(int *)PTR_rl_point_001575f0 + -1) ==\n          quote_char) {\n        quote_char = 0;\n      }\n      else {\n        temp_string[0] = (char)quote_char;\n        quote_char = 1;\n      }\n    }\n    else {\n      quote_char = 0;\n    }\n  }" { (if_statement "if (*(int *)PTR_rl_point_001575f0 == 0) {\n      quote_char = 0;\n    }\n    else if (*(int *)PTR_rl_completion_suppress_quote_00157618 == 0) {\n      if (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + *(int *)PTR_rl_point_001575f0 + -1) ==\n          quote_char) {\n        quote_char = 0;\n      }\n      else {\n        temp_string[0] = (char)quote_char;\n        quote_char = 1;\n      }\n    }\n    else {\n      quote_char = 0;\n    }" if (parenthesized_expression "(*(int *)PTR_rl_point_001575f0 == 0)" ( (binary_expression "*(int *)PTR_rl_point_001575f0 == 0" (pointer_expression "*(int *)PTR_rl_point_001575f0" * (cast_expression "(int *)PTR_rl_point_001575f0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal) )) (compound_statement "{\n      quote_char = 0;\n    }" { (expression_statement "quote_char = 0;" (assignment_expression "quote_char = 0" identifier = number_literal) ;) }) (else_clause "else if (*(int *)PTR_rl_completion_suppress_quote_00157618 == 0) {\n      if (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + *(int *)PTR_rl_point_001575f0 + -1) ==\n          quote_char) {\n        quote_char = 0;\n      }\n      else {\n        temp_string[0] = (char)quote_char;\n        quote_char = 1;\n      }\n    }\n    else {\n      quote_char = 0;\n    }" else (if_statement "if (*(int *)PTR_rl_completion_suppress_quote_00157618 == 0) {\n      if (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + *(int *)PTR_rl_point_001575f0 + -1) ==\n          quote_char) {\n        quote_char = 0;\n      }\n      else {\n        temp_string[0] = (char)quote_char;\n        quote_char = 1;\n      }\n    }\n    else {\n      quote_char = 0;\n    }" if (parenthesized_expression "(*(int *)PTR_rl_completion_suppress_quote_00157618 == 0)" ( (binary_expression "*(int *)PTR_rl_completion_suppress_quote_00157618 == 0" (pointer_expression "*(int *)PTR_rl_completion_suppress_quote_00157618" * (cast_expression "(int *)PTR_rl_completion_suppress_quote_00157618" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal) )) (compound_statement "{\n      if (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + *(int *)PTR_rl_point_001575f0 + -1) ==\n          quote_char) {\n        quote_char = 0;\n      }\n      else {\n        temp_string[0] = (char)quote_char;\n        quote_char = 1;\n      }\n    }" { (if_statement "if (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + *(int *)PTR_rl_point_001575f0 + -1) ==\n          quote_char) {\n        quote_char = 0;\n      }\n      else {\n        temp_string[0] = (char)quote_char;\n        quote_char = 1;\n      }" if (parenthesized_expression "(*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + *(int *)PTR_rl_point_001575f0 + -1) ==\n          quote_char)" ( (binary_expression "*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + *(int *)PTR_rl_point_001575f0 + -1) ==\n          quote_char" (pointer_expression "*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + *(int *)PTR_rl_point_001575f0 + -1)" * (cast_expression "(char *)(*(int *)PTR_rl_line_buffer_001575e8 + *(int *)PTR_rl_point_001575f0 + -1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_rl_line_buffer_001575e8 + *(int *)PTR_rl_point_001575f0 + -1)" ( (binary_expression "*(int *)PTR_rl_line_buffer_001575e8 + *(int *)PTR_rl_point_001575f0 + -1" (binary_expression "*(int *)PTR_rl_line_buffer_001575e8 + *(int *)PTR_rl_point_001575f0" (pointer_expression "*(int *)PTR_rl_line_buffer_001575e8" * (cast_expression "(int *)PTR_rl_line_buffer_001575e8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + (pointer_expression "*(int *)PTR_rl_point_001575f0" * (cast_expression "(int *)PTR_rl_point_001575f0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) + number_literal) )))) == identifier) )) (compound_statement "{\n        quote_char = 0;\n      }" { (expression_statement "quote_char = 0;" (assignment_expression "quote_char = 0" identifier = number_literal) ;) }) (else_clause "else {\n        temp_string[0] = (char)quote_char;\n        quote_char = 1;\n      }" else (compound_statement "{\n        temp_string[0] = (char)quote_char;\n        quote_char = 1;\n      }" { (expression_statement "temp_string[0] = (char)quote_char;" (assignment_expression "temp_string[0] = (char)quote_char" (subscript_expression "temp_string[0]" identifier [ number_literal ]) = (cast_expression "(char)quote_char" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "quote_char = 1;" (assignment_expression "quote_char = 1" identifier = number_literal) ;) }))) }) (else_clause "else {\n      quote_char = 0;\n    }" else (compound_statement "{\n      quote_char = 0;\n    }" { (expression_statement "quote_char = 0;" (assignment_expression "quote_char = 0" identifier = number_literal) ;) }))))) })) (if_statement "if (delimiter == 0) {\n    psVar22 = (stat *)(quote_char + 1);\n    if ((*(int *)PTR_rl_completion_suppress_append_00157624 == 0) &&\n       (*(int *)PTR_rl_completion_append_character_00157628 != 0)) {\n      temp_string[quote_char] = (char)*(int *)PTR_rl_completion_append_character_00157628;\n      goto LAB_000fa86c;\n    }\n  }\n  else {\n    temp_string[quote_char] = (char)delimiter;\nLAB_000fa86c:\n    psVar22 = (stat *)(quote_char + 2);\n    quote_char = quote_char + 1;\n  }" if (parenthesized_expression "(delimiter == 0)" ( (binary_expression "delimiter == 0" identifier == number_literal) )) (compound_statement "{\n    psVar22 = (stat *)(quote_char + 1);\n    if ((*(int *)PTR_rl_completion_suppress_append_00157624 == 0) &&\n       (*(int *)PTR_rl_completion_append_character_00157628 != 0)) {\n      temp_string[quote_char] = (char)*(int *)PTR_rl_completion_append_character_00157628;\n      goto LAB_000fa86c;\n    }\n  }" { (expression_statement "psVar22 = (stat *)(quote_char + 1);" (assignment_expression "psVar22 = (stat *)(quote_char + 1)" identifier = (cast_expression "(stat *)(quote_char + 1)" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(quote_char + 1)" ( (binary_expression "quote_char + 1" identifier + number_literal) )))) ;) (if_statement "if ((*(int *)PTR_rl_completion_suppress_append_00157624 == 0) &&\n       (*(int *)PTR_rl_completion_append_character_00157628 != 0)) {\n      temp_string[quote_char] = (char)*(int *)PTR_rl_completion_append_character_00157628;\n      goto LAB_000fa86c;\n    }" if (parenthesized_expression "((*(int *)PTR_rl_completion_suppress_append_00157624 == 0) &&\n       (*(int *)PTR_rl_completion_append_character_00157628 != 0))" ( (binary_expression "(*(int *)PTR_rl_completion_suppress_append_00157624 == 0) &&\n       (*(int *)PTR_rl_completion_append_character_00157628 != 0)" (parenthesized_expression "(*(int *)PTR_rl_completion_suppress_append_00157624 == 0)" ( (binary_expression "*(int *)PTR_rl_completion_suppress_append_00157624 == 0" (pointer_expression "*(int *)PTR_rl_completion_suppress_append_00157624" * (cast_expression "(int *)PTR_rl_completion_suppress_append_00157624" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal) )) && (parenthesized_expression "(*(int *)PTR_rl_completion_append_character_00157628 != 0)" ( (binary_expression "*(int *)PTR_rl_completion_append_character_00157628 != 0" (pointer_expression "*(int *)PTR_rl_completion_append_character_00157628" * (cast_expression "(int *)PTR_rl_completion_append_character_00157628" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) ))) )) (compound_statement "{\n      temp_string[quote_char] = (char)*(int *)PTR_rl_completion_append_character_00157628;\n      goto LAB_000fa86c;\n    }" { (expression_statement "temp_string[quote_char] = (char)*(int *)PTR_rl_completion_append_character_00157628;" (assignment_expression "temp_string[quote_char] = (char)*(int *)PTR_rl_completion_append_character_00157628" (subscript_expression "temp_string[quote_char]" identifier [ identifier ]) = (cast_expression "(char)*(int *)PTR_rl_completion_append_character_00157628" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(int *)PTR_rl_completion_append_character_00157628" * (cast_expression "(int *)PTR_rl_completion_append_character_00157628" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (goto_statement "goto LAB_000fa86c;" goto statement_identifier ;) })) }) (else_clause "else {\n    temp_string[quote_char] = (char)delimiter;\nLAB_000fa86c:\n    psVar22 = (stat *)(quote_char + 2);\n    quote_char = quote_char + 1;\n  }" else (compound_statement "{\n    temp_string[quote_char] = (char)delimiter;\nLAB_000fa86c:\n    psVar22 = (stat *)(quote_char + 2);\n    quote_char = quote_char + 1;\n  }" { (expression_statement "temp_string[quote_char] = (char)delimiter;" (assignment_expression "temp_string[quote_char] = (char)delimiter" (subscript_expression "temp_string[quote_char]" identifier [ identifier ]) = (cast_expression "(char)delimiter" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (labeled_statement "LAB_000fa86c:\n    psVar22 = (stat *)(quote_char + 2);" statement_identifier : (expression_statement "psVar22 = (stat *)(quote_char + 2);" (assignment_expression "psVar22 = (stat *)(quote_char + 2)" identifier = (cast_expression "(stat *)(quote_char + 2)" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(quote_char + 2)" ( (binary_expression "quote_char + 2" identifier + number_literal) )))) ;)) (expression_statement "quote_char = quote_char + 1;" (assignment_expression "quote_char = quote_char + 1" identifier = (binary_expression "quote_char + 1" identifier + number_literal)) ;) }))) (expression_statement "psVar24 = (stat *)(&stack0xfffffff0 + quote_char);" (assignment_expression "psVar24 = (stat *)(&stack0xfffffff0 + quote_char)" identifier = (cast_expression "(stat *)(&stack0xfffffff0 + quote_char)" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&stack0xfffffff0 + quote_char)" ( (binary_expression "&stack0xfffffff0 + quote_char" (pointer_expression "&stack0xfffffff0" & identifier) + identifier) )))) ;) (expression_statement "temp_string[quote_char] = '\0';" (assignment_expression "temp_string[quote_char] = '\0'" (subscript_expression "temp_string[quote_char]" identifier [ identifier ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (*(int *)PTR_rl_filename_completion_desired_00157634 == 0) {\n    if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {\n      rl_insert_text(temp_string);\n    }\n  }\n  else {\n    unaff_s2 = (stat *)(*(code *)PTR_tilde_expand_00156b0c)();\n    if (*(int *)PTR_rl_filename_stat_hook_00157754 != 0) {\n      iVar6 = (*(code *)PTR_strlen_00158444)(unaff_s2);\n      uVar9 = (*(code *)PTR_xmalloc_001565b8)(iVar6 + 1);\n      fn = (char *)(*(code *)PTR_strcpy_001584cc)(uVar9,unaff_s2);\n      (**(code **)PTR_rl_filename_stat_hook_00157754)(&fn);\n      (*(code *)PTR_xfree_00156bb4)(unaff_s2);\n      unaff_s2 = (stat *)fn;\n    }\n    delimiter = (int)unaff_s2;\n    if ((nontrivial_match == 0) ||\n       (psVar24 = &finfo, *(int *)PTR_rl_completion_mark_symlink_dirs_001578a4 != 0)) {\n      psVar24 = &finfo;\n      iVar6 = (*(code *)PTR___xstat64_001582e8)(3);\n    }\n    else {\n      iVar6 = (*(code *)PTR___lxstat64_001582c8)(3);\n    }\n    if (iVar6 == 0) {\n      if ((finfo.st_mode & 0xf000) == 0x4000) {\n        if (*(int *)PTR__rl_complete_mark_directories_00157f80 != 0) {\n          iVar6 = *(int *)PTR_rl_point_001575f0;\n          if ((iVar6 == 0) || (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar6) != '\0')) {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar6);\n          }\n          else {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar6 + -1);\n          }\n          if (cVar1 != '/') {\n            rl_insert_text(PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c);\n          }\n        }\n      }\n      else if (((finfo.st_mode & 0xf000) != 0xa000) ||\n              (iVar6 = path_isdir((char *)unaff_s2), iVar6 == 0)) goto LAB_000fa9f0;\n    }\n    else {\nLAB_000fa9f0:\n      if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {\n        rl_insert_text(temp_string);\n      }\n    }\n    (*(code *)PTR_xfree_00156bb4)(unaff_s2);\n  }" if (parenthesized_expression "(*(int *)PTR_rl_filename_completion_desired_00157634 == 0)" ( (binary_expression "*(int *)PTR_rl_filename_completion_desired_00157634 == 0" (pointer_expression "*(int *)PTR_rl_filename_completion_desired_00157634" * (cast_expression "(int *)PTR_rl_filename_completion_desired_00157634" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal) )) (compound_statement "{\n    if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {\n      rl_insert_text(temp_string);\n    }\n  }" { (if_statement "if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {\n      rl_insert_text(temp_string);\n    }" if (parenthesized_expression "(*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec)" ( (binary_expression "*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec" (pointer_expression "*(int *)PTR_rl_point_001575f0" * (cast_expression "(int *)PTR_rl_point_001575f0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == (pointer_expression "*(int *)PTR_rl_end_001575ec" * (cast_expression "(int *)PTR_rl_end_001575ec" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n      rl_insert_text(temp_string);\n    }" { (expression_statement "rl_insert_text(temp_string);" (call_expression "rl_insert_text(temp_string)" identifier (argument_list "(temp_string)" ( identifier ))) ;) })) }) (else_clause "else {\n    unaff_s2 = (stat *)(*(code *)PTR_tilde_expand_00156b0c)();\n    if (*(int *)PTR_rl_filename_stat_hook_00157754 != 0) {\n      iVar6 = (*(code *)PTR_strlen_00158444)(unaff_s2);\n      uVar9 = (*(code *)PTR_xmalloc_001565b8)(iVar6 + 1);\n      fn = (char *)(*(code *)PTR_strcpy_001584cc)(uVar9,unaff_s2);\n      (**(code **)PTR_rl_filename_stat_hook_00157754)(&fn);\n      (*(code *)PTR_xfree_00156bb4)(unaff_s2);\n      unaff_s2 = (stat *)fn;\n    }\n    delimiter = (int)unaff_s2;\n    if ((nontrivial_match == 0) ||\n       (psVar24 = &finfo, *(int *)PTR_rl_completion_mark_symlink_dirs_001578a4 != 0)) {\n      psVar24 = &finfo;\n      iVar6 = (*(code *)PTR___xstat64_001582e8)(3);\n    }\n    else {\n      iVar6 = (*(code *)PTR___lxstat64_001582c8)(3);\n    }\n    if (iVar6 == 0) {\n      if ((finfo.st_mode & 0xf000) == 0x4000) {\n        if (*(int *)PTR__rl_complete_mark_directories_00157f80 != 0) {\n          iVar6 = *(int *)PTR_rl_point_001575f0;\n          if ((iVar6 == 0) || (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar6) != '\0')) {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar6);\n          }\n          else {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar6 + -1);\n          }\n          if (cVar1 != '/') {\n            rl_insert_text(PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c);\n          }\n        }\n      }\n      else if (((finfo.st_mode & 0xf000) != 0xa000) ||\n              (iVar6 = path_isdir((char *)unaff_s2), iVar6 == 0)) goto LAB_000fa9f0;\n    }\n    else {\nLAB_000fa9f0:\n      if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {\n        rl_insert_text(temp_string);\n      }\n    }\n    (*(code *)PTR_xfree_00156bb4)(unaff_s2);\n  }" else (compound_statement "{\n    unaff_s2 = (stat *)(*(code *)PTR_tilde_expand_00156b0c)();\n    if (*(int *)PTR_rl_filename_stat_hook_00157754 != 0) {\n      iVar6 = (*(code *)PTR_strlen_00158444)(unaff_s2);\n      uVar9 = (*(code *)PTR_xmalloc_001565b8)(iVar6 + 1);\n      fn = (char *)(*(code *)PTR_strcpy_001584cc)(uVar9,unaff_s2);\n      (**(code **)PTR_rl_filename_stat_hook_00157754)(&fn);\n      (*(code *)PTR_xfree_00156bb4)(unaff_s2);\n      unaff_s2 = (stat *)fn;\n    }\n    delimiter = (int)unaff_s2;\n    if ((nontrivial_match == 0) ||\n       (psVar24 = &finfo, *(int *)PTR_rl_completion_mark_symlink_dirs_001578a4 != 0)) {\n      psVar24 = &finfo;\n      iVar6 = (*(code *)PTR___xstat64_001582e8)(3);\n    }\n    else {\n      iVar6 = (*(code *)PTR___lxstat64_001582c8)(3);\n    }\n    if (iVar6 == 0) {\n      if ((finfo.st_mode & 0xf000) == 0x4000) {\n        if (*(int *)PTR__rl_complete_mark_directories_00157f80 != 0) {\n          iVar6 = *(int *)PTR_rl_point_001575f0;\n          if ((iVar6 == 0) || (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar6) != '\0')) {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar6);\n          }\n          else {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar6 + -1);\n          }\n          if (cVar1 != '/') {\n            rl_insert_text(PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c);\n          }\n        }\n      }\n      else if (((finfo.st_mode & 0xf000) != 0xa000) ||\n              (iVar6 = path_isdir((char *)unaff_s2), iVar6 == 0)) goto LAB_000fa9f0;\n    }\n    else {\nLAB_000fa9f0:\n      if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {\n        rl_insert_text(temp_string);\n      }\n    }\n    (*(code *)PTR_xfree_00156bb4)(unaff_s2);\n  }" { (expression_statement "unaff_s2 = (stat *)(*(code *)PTR_tilde_expand_00156b0c)();" (assignment_expression "unaff_s2 = (stat *)(*(code *)PTR_tilde_expand_00156b0c)()" identifier = (cast_expression "(stat *)(*(code *)PTR_tilde_expand_00156b0c)()" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_tilde_expand_00156b0c)()" (parenthesized_expression "(*(code *)PTR_tilde_expand_00156b0c)" ( (pointer_expression "*(code *)PTR_tilde_expand_00156b0c" * (cast_expression "(code *)PTR_tilde_expand_00156b0c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (if_statement "if (*(int *)PTR_rl_filename_stat_hook_00157754 != 0) {\n      iVar6 = (*(code *)PTR_strlen_00158444)(unaff_s2);\n      uVar9 = (*(code *)PTR_xmalloc_001565b8)(iVar6 + 1);\n      fn = (char *)(*(code *)PTR_strcpy_001584cc)(uVar9,unaff_s2);\n      (**(code **)PTR_rl_filename_stat_hook_00157754)(&fn);\n      (*(code *)PTR_xfree_00156bb4)(unaff_s2);\n      unaff_s2 = (stat *)fn;\n    }" if (parenthesized_expression "(*(int *)PTR_rl_filename_stat_hook_00157754 != 0)" ( (binary_expression "*(int *)PTR_rl_filename_stat_hook_00157754 != 0" (pointer_expression "*(int *)PTR_rl_filename_stat_hook_00157754" * (cast_expression "(int *)PTR_rl_filename_stat_hook_00157754" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) )) (compound_statement "{\n      iVar6 = (*(code *)PTR_strlen_00158444)(unaff_s2);\n      uVar9 = (*(code *)PTR_xmalloc_001565b8)(iVar6 + 1);\n      fn = (char *)(*(code *)PTR_strcpy_001584cc)(uVar9,unaff_s2);\n      (**(code **)PTR_rl_filename_stat_hook_00157754)(&fn);\n      (*(code *)PTR_xfree_00156bb4)(unaff_s2);\n      unaff_s2 = (stat *)fn;\n    }" { (expression_statement "iVar6 = (*(code *)PTR_strlen_00158444)(unaff_s2);" (assignment_expression "iVar6 = (*(code *)PTR_strlen_00158444)(unaff_s2)" identifier = (call_expression "(*(code *)PTR_strlen_00158444)(unaff_s2)" (parenthesized_expression "(*(code *)PTR_strlen_00158444)" ( (pointer_expression "*(code *)PTR_strlen_00158444" * (cast_expression "(code *)PTR_strlen_00158444" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s2)" ( identifier )))) ;) (expression_statement "uVar9 = (*(code *)PTR_xmalloc_001565b8)(iVar6 + 1);" (assignment_expression "uVar9 = (*(code *)PTR_xmalloc_001565b8)(iVar6 + 1)" identifier = (call_expression "(*(code *)PTR_xmalloc_001565b8)(iVar6 + 1)" (parenthesized_expression "(*(code *)PTR_xmalloc_001565b8)" ( (pointer_expression "*(code *)PTR_xmalloc_001565b8" * (cast_expression "(code *)PTR_xmalloc_001565b8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6 + 1)" ( (binary_expression "iVar6 + 1" identifier + number_literal) )))) ;) (expression_statement "fn = (char *)(*(code *)PTR_strcpy_001584cc)(uVar9,unaff_s2);" (assignment_expression "fn = (char *)(*(code *)PTR_strcpy_001584cc)(uVar9,unaff_s2)" identifier = (cast_expression "(char *)(*(code *)PTR_strcpy_001584cc)(uVar9,unaff_s2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_strcpy_001584cc)(uVar9,unaff_s2)" (parenthesized_expression "(*(code *)PTR_strcpy_001584cc)" ( (pointer_expression "*(code *)PTR_strcpy_001584cc" * (cast_expression "(code *)PTR_strcpy_001584cc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar9,unaff_s2)" ( identifier , identifier ))))) ;) (expression_statement "(**(code **)PTR_rl_filename_stat_hook_00157754)(&fn);" (call_expression "(**(code **)PTR_rl_filename_stat_hook_00157754)(&fn)" (parenthesized_expression "(**(code **)PTR_rl_filename_stat_hook_00157754)" ( (pointer_expression "**(code **)PTR_rl_filename_stat_hook_00157754" * (pointer_expression "*(code **)PTR_rl_filename_stat_hook_00157754" * (cast_expression "(code **)PTR_rl_filename_stat_hook_00157754" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (argument_list "(&fn)" ( (pointer_expression "&fn" & identifier) ))) ;) (expression_statement "(*(code *)PTR_xfree_00156bb4)(unaff_s2);" (call_expression "(*(code *)PTR_xfree_00156bb4)(unaff_s2)" (parenthesized_expression "(*(code *)PTR_xfree_00156bb4)" ( (pointer_expression "*(code *)PTR_xfree_00156bb4" * (cast_expression "(code *)PTR_xfree_00156bb4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s2)" ( identifier ))) ;) (expression_statement "unaff_s2 = (stat *)fn;" (assignment_expression "unaff_s2 = (stat *)fn" identifier = (cast_expression "(stat *)fn" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) })) (expression_statement "delimiter = (int)unaff_s2;" (assignment_expression "delimiter = (int)unaff_s2" identifier = (cast_expression "(int)unaff_s2" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if ((nontrivial_match == 0) ||\n       (psVar24 = &finfo, *(int *)PTR_rl_completion_mark_symlink_dirs_001578a4 != 0)) {\n      psVar24 = &finfo;\n      iVar6 = (*(code *)PTR___xstat64_001582e8)(3);\n    }\n    else {\n      iVar6 = (*(code *)PTR___lxstat64_001582c8)(3);\n    }" if (parenthesized_expression "((nontrivial_match == 0) ||\n       (psVar24 = &finfo, *(int *)PTR_rl_completion_mark_symlink_dirs_001578a4 != 0))" ( (binary_expression "(nontrivial_match == 0) ||\n       (psVar24 = &finfo, *(int *)PTR_rl_completion_mark_symlink_dirs_001578a4 != 0)" (parenthesized_expression "(nontrivial_match == 0)" ( (binary_expression "nontrivial_match == 0" identifier == number_literal) )) || (parenthesized_expression "(psVar24 = &finfo, *(int *)PTR_rl_completion_mark_symlink_dirs_001578a4 != 0)" ( (comma_expression "psVar24 = &finfo, *(int *)PTR_rl_completion_mark_symlink_dirs_001578a4 != 0" (assignment_expression "psVar24 = &finfo" identifier = (pointer_expression "&finfo" & identifier)) , (binary_expression "*(int *)PTR_rl_completion_mark_symlink_dirs_001578a4 != 0" (pointer_expression "*(int *)PTR_rl_completion_mark_symlink_dirs_001578a4" * (cast_expression "(int *)PTR_rl_completion_mark_symlink_dirs_001578a4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal)) ))) )) (compound_statement "{\n      psVar24 = &finfo;\n      iVar6 = (*(code *)PTR___xstat64_001582e8)(3);\n    }" { (expression_statement "psVar24 = &finfo;" (assignment_expression "psVar24 = &finfo" identifier = (pointer_expression "&finfo" & identifier)) ;) (expression_statement "iVar6 = (*(code *)PTR___xstat64_001582e8)(3);" (assignment_expression "iVar6 = (*(code *)PTR___xstat64_001582e8)(3)" identifier = (call_expression "(*(code *)PTR___xstat64_001582e8)(3)" (parenthesized_expression "(*(code *)PTR___xstat64_001582e8)" ( (pointer_expression "*(code *)PTR___xstat64_001582e8" * (cast_expression "(code *)PTR___xstat64_001582e8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(3)" ( number_literal )))) ;) }) (else_clause "else {\n      iVar6 = (*(code *)PTR___lxstat64_001582c8)(3);\n    }" else (compound_statement "{\n      iVar6 = (*(code *)PTR___lxstat64_001582c8)(3);\n    }" { (expression_statement "iVar6 = (*(code *)PTR___lxstat64_001582c8)(3);" (assignment_expression "iVar6 = (*(code *)PTR___lxstat64_001582c8)(3)" identifier = (call_expression "(*(code *)PTR___lxstat64_001582c8)(3)" (parenthesized_expression "(*(code *)PTR___lxstat64_001582c8)" ( (pointer_expression "*(code *)PTR___lxstat64_001582c8" * (cast_expression "(code *)PTR___lxstat64_001582c8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(3)" ( number_literal )))) ;) }))) (if_statement "if (iVar6 == 0) {\n      if ((finfo.st_mode & 0xf000) == 0x4000) {\n        if (*(int *)PTR__rl_complete_mark_directories_00157f80 != 0) {\n          iVar6 = *(int *)PTR_rl_point_001575f0;\n          if ((iVar6 == 0) || (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar6) != '\0')) {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar6);\n          }\n          else {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar6 + -1);\n          }\n          if (cVar1 != '/') {\n            rl_insert_text(PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c);\n          }\n        }\n      }\n      else if (((finfo.st_mode & 0xf000) != 0xa000) ||\n              (iVar6 = path_isdir((char *)unaff_s2), iVar6 == 0)) goto LAB_000fa9f0;\n    }\n    else {\nLAB_000fa9f0:\n      if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {\n        rl_insert_text(temp_string);\n      }\n    }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n      if ((finfo.st_mode & 0xf000) == 0x4000) {\n        if (*(int *)PTR__rl_complete_mark_directories_00157f80 != 0) {\n          iVar6 = *(int *)PTR_rl_point_001575f0;\n          if ((iVar6 == 0) || (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar6) != '\0')) {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar6);\n          }\n          else {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar6 + -1);\n          }\n          if (cVar1 != '/') {\n            rl_insert_text(PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c);\n          }\n        }\n      }\n      else if (((finfo.st_mode & 0xf000) != 0xa000) ||\n              (iVar6 = path_isdir((char *)unaff_s2), iVar6 == 0)) goto LAB_000fa9f0;\n    }" { (if_statement "if ((finfo.st_mode & 0xf000) == 0x4000) {\n        if (*(int *)PTR__rl_complete_mark_directories_00157f80 != 0) {\n          iVar6 = *(int *)PTR_rl_point_001575f0;\n          if ((iVar6 == 0) || (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar6) != '\0')) {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar6);\n          }\n          else {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar6 + -1);\n          }\n          if (cVar1 != '/') {\n            rl_insert_text(PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c);\n          }\n        }\n      }\n      else if (((finfo.st_mode & 0xf000) != 0xa000) ||\n              (iVar6 = path_isdir((char *)unaff_s2), iVar6 == 0)) goto LAB_000fa9f0;" if (parenthesized_expression "((finfo.st_mode & 0xf000) == 0x4000)" ( (binary_expression "(finfo.st_mode & 0xf000) == 0x4000" (parenthesized_expression "(finfo.st_mode & 0xf000)" ( (binary_expression "finfo.st_mode & 0xf000" (field_expression "finfo.st_mode" identifier . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n        if (*(int *)PTR__rl_complete_mark_directories_00157f80 != 0) {\n          iVar6 = *(int *)PTR_rl_point_001575f0;\n          if ((iVar6 == 0) || (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar6) != '\0')) {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar6);\n          }\n          else {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar6 + -1);\n          }\n          if (cVar1 != '/') {\n            rl_insert_text(PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c);\n          }\n        }\n      }" { (if_statement "if (*(int *)PTR__rl_complete_mark_directories_00157f80 != 0) {\n          iVar6 = *(int *)PTR_rl_point_001575f0;\n          if ((iVar6 == 0) || (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar6) != '\0')) {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar6);\n          }\n          else {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar6 + -1);\n          }\n          if (cVar1 != '/') {\n            rl_insert_text(PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c);\n          }\n        }" if (parenthesized_expression "(*(int *)PTR__rl_complete_mark_directories_00157f80 != 0)" ( (binary_expression "*(int *)PTR__rl_complete_mark_directories_00157f80 != 0" (pointer_expression "*(int *)PTR__rl_complete_mark_directories_00157f80" * (cast_expression "(int *)PTR__rl_complete_mark_directories_00157f80" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) )) (compound_statement "{\n          iVar6 = *(int *)PTR_rl_point_001575f0;\n          if ((iVar6 == 0) || (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar6) != '\0')) {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar6);\n          }\n          else {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar6 + -1);\n          }\n          if (cVar1 != '/') {\n            rl_insert_text(PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c);\n          }\n        }" { (expression_statement "iVar6 = *(int *)PTR_rl_point_001575f0;" (assignment_expression "iVar6 = *(int *)PTR_rl_point_001575f0" identifier = (pointer_expression "*(int *)PTR_rl_point_001575f0" * (cast_expression "(int *)PTR_rl_point_001575f0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if ((iVar6 == 0) || (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar6) != '\0')) {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar6);\n          }\n          else {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar6 + -1);\n          }" if (parenthesized_expression "((iVar6 == 0) || (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar6) != '\0'))" ( (binary_expression "(iVar6 == 0) || (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar6) != '\0')" (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) || (parenthesized_expression "(*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar6) != '\0')" ( (binary_expression "*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar6) != '\0'" (pointer_expression "*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar6)" * (cast_expression "(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar6)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_rl_line_buffer_001575e8 + iVar6)" ( (binary_expression "*(int *)PTR_rl_line_buffer_001575e8 + iVar6" (pointer_expression "*(int *)PTR_rl_line_buffer_001575e8" * (cast_expression "(int *)PTR_rl_line_buffer_001575e8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + identifier) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar6);\n          }" { (expression_statement "cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar6);" (assignment_expression "cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar6)" identifier = (pointer_expression "*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar6)" * (cast_expression "(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar6)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_rl_line_buffer_001575e8 + iVar6)" ( (binary_expression "*(int *)PTR_rl_line_buffer_001575e8 + iVar6" (pointer_expression "*(int *)PTR_rl_line_buffer_001575e8" * (cast_expression "(int *)PTR_rl_line_buffer_001575e8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + identifier) ))))) ;) }) (else_clause "else {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar6 + -1);\n          }" else (compound_statement "{\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar6 + -1);\n          }" { (expression_statement "cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar6 + -1);" (assignment_expression "cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar6 + -1)" identifier = (pointer_expression "*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar6 + -1)" * (cast_expression "(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar6 + -1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_rl_line_buffer_001575e8 + iVar6 + -1)" ( (binary_expression "*(int *)PTR_rl_line_buffer_001575e8 + iVar6 + -1" (binary_expression "*(int *)PTR_rl_line_buffer_001575e8 + iVar6" (pointer_expression "*(int *)PTR_rl_line_buffer_001575e8" * (cast_expression "(int *)PTR_rl_line_buffer_001575e8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + identifier) + number_literal) ))))) ;) }))) (if_statement "if (cVar1 != '/') {\n            rl_insert_text(PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c);\n          }" if (parenthesized_expression "(cVar1 != '/')" ( (binary_expression "cVar1 != '/'" identifier != (char_literal "'/'" ' character ')) )) (compound_statement "{\n            rl_insert_text(PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c);\n          }" { (expression_statement "rl_insert_text(PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c);" (call_expression "rl_insert_text(PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c)" identifier (argument_list "(PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c)" ( (binary_expression "PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c" identifier + number_literal) ))) ;) })) })) }) (else_clause "else if (((finfo.st_mode & 0xf000) != 0xa000) ||\n              (iVar6 = path_isdir((char *)unaff_s2), iVar6 == 0)) goto LAB_000fa9f0;" else (if_statement "if (((finfo.st_mode & 0xf000) != 0xa000) ||\n              (iVar6 = path_isdir((char *)unaff_s2), iVar6 == 0)) goto LAB_000fa9f0;" if (parenthesized_expression "(((finfo.st_mode & 0xf000) != 0xa000) ||\n              (iVar6 = path_isdir((char *)unaff_s2), iVar6 == 0))" ( (binary_expression "((finfo.st_mode & 0xf000) != 0xa000) ||\n              (iVar6 = path_isdir((char *)unaff_s2), iVar6 == 0)" (parenthesized_expression "((finfo.st_mode & 0xf000) != 0xa000)" ( (binary_expression "(finfo.st_mode & 0xf000) != 0xa000" (parenthesized_expression "(finfo.st_mode & 0xf000)" ( (binary_expression "finfo.st_mode & 0xf000" (field_expression "finfo.st_mode" identifier . field_identifier) & number_literal) )) != number_literal) )) || (parenthesized_expression "(iVar6 = path_isdir((char *)unaff_s2), iVar6 == 0)" ( (comma_expression "iVar6 = path_isdir((char *)unaff_s2), iVar6 == 0" (assignment_expression "iVar6 = path_isdir((char *)unaff_s2)" identifier = (call_expression "path_isdir((char *)unaff_s2)" identifier (argument_list "((char *)unaff_s2)" ( (cast_expression "(char *)unaff_s2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) )))) , (binary_expression "iVar6 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_000fa9f0;" goto statement_identifier ;)))) }) (else_clause "else {\nLAB_000fa9f0:\n      if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {\n        rl_insert_text(temp_string);\n      }\n    }" else (compound_statement "{\nLAB_000fa9f0:\n      if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {\n        rl_insert_text(temp_string);\n      }\n    }" { (labeled_statement "LAB_000fa9f0:\n      if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {\n        rl_insert_text(temp_string);\n      }" statement_identifier : (if_statement "if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {\n        rl_insert_text(temp_string);\n      }" if (parenthesized_expression "(*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec)" ( (binary_expression "*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec" (pointer_expression "*(int *)PTR_rl_point_001575f0" * (cast_expression "(int *)PTR_rl_point_001575f0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == (pointer_expression "*(int *)PTR_rl_end_001575ec" * (cast_expression "(int *)PTR_rl_end_001575ec" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n        rl_insert_text(temp_string);\n      }" { (expression_statement "rl_insert_text(temp_string);" (call_expression "rl_insert_text(temp_string)" identifier (argument_list "(temp_string)" ( identifier ))) ;) }))) }))) (expression_statement "(*(code *)PTR_xfree_00156bb4)(unaff_s2);" (call_expression "(*(code *)PTR_xfree_00156bb4)(unaff_s2)" (parenthesized_expression "(*(code *)PTR_xfree_00156bb4)" ( (pointer_expression "*(code *)PTR_xfree_00156bb4" * (cast_expression "(code *)PTR_xfree_00156bb4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s2)" ( identifier ))) ;) }))) (if_statement "if (piVar4 == *(int **)PTR___stack_chk_guard_0015858c) {\n    return (int)psVar22;\n  }" if (parenthesized_expression "(piVar4 == *(int **)PTR___stack_chk_guard_0015858c)" ( (binary_expression "piVar4 == *(int **)PTR___stack_chk_guard_0015858c" identifier == (pointer_expression "*(int **)PTR___stack_chk_guard_0015858c" * (cast_expression "(int **)PTR___stack_chk_guard_0015858c" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n    return (int)psVar22;\n  }" { (return_statement "return (int)psVar22;" return (cast_expression "(int)psVar22" ( (type_descriptor "int" primitive_type) ) identifier) ;) })) (expression_statement "puVar28 = PTR___stack_chk_fail_0015853c;" (assignment_expression "puVar28 = PTR___stack_chk_fail_0015853c" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_0015853c)();" (call_expression "(*(code *)PTR___stack_chk_fail_0015853c)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0015853c)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_0015853c" * (cast_expression "(code *)PTR___stack_chk_fail_0015853c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "puStack_158 = puVar28 + 0x63a10;" (assignment_expression "puStack_158 = puVar28 + 0x63a10" identifier = (binary_expression "puVar28 + 0x63a10" identifier + number_literal)) ;) (expression_statement "puStack_104 = (undefined4 *)**(undefined4 **)(puVar28 + 0x5da5c);" (assignment_expression "puStack_104 = (undefined4 *)**(undefined4 **)(puVar28 + 0x5da5c)" identifier = (cast_expression "(undefined4 *)**(undefined4 **)(puVar28 + 0x5da5c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(puVar28 + 0x5da5c)" * (pointer_expression "*(undefined4 **)(puVar28 + 0x5da5c)" * (cast_expression "(undefined4 **)(puVar28 + 0x5da5c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + 0x5da5c)" ( (binary_expression "puVar28 + 0x5da5c" identifier + number_literal) ))))))) ;) (expression_statement "psVar20 = (stat *)delimiter;" (assignment_expression "psVar20 = (stat *)delimiter" identifier = (cast_expression "(stat *)delimiter" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "psStack_130 = psVar24;" (assignment_expression "psStack_130 = psVar24" identifier = identifier) ;) (expression_statement "piStack_12c = piVar4;" (assignment_expression "piStack_12c = piVar4" identifier = identifier) ;) (expression_statement "psStack_100 = psVar22;" (assignment_expression "psStack_100 = psVar22" identifier = identifier) ;) (expression_statement "_Stack_fc = nontrivial_match;" (assignment_expression "_Stack_fc = nontrivial_match" identifier = identifier) ;) (expression_statement "psStack_f8 = unaff_s2;" (assignment_expression "psStack_f8 = unaff_s2" identifier = identifier) ;) (if_statement "if ((stat *)delimiter == (stat *)0x1) {\n    *piVar4 = piVar4[1];\n    piVar4[1] = 0;\n    psStack_13c = (stat *)delimiter;\n  }\n  else {\n    if (delimiter < 2) {\n      psStack_140 = (stat *)&__DT_SYMTAB[0x3d1].st_info;\n    }\n    else {\n      psVar24 = (stat *)(piVar4 + 1);\n      psStack_140 = (stat *)&__DT_SYMTAB[0x3d1].st_info;\n      psStack_13c = (stat *)0x1;\n      unaff_s3 = *(stat **)(puVar28 + 0x5d2e8);\n      piStack_134 = *(int **)(puVar28 + 0x5d454);\n      unaff_s8 = &psStack_124;\n      do {\n        uVar5 = (**(code **)(puStack_158 + -0x6060))();\n        if ((1 < uVar5) && (unaff_s3->st_dev == 0)) {\n          uStack_11c = 0;\n          _Stack_118 = 0;\n          uStack_114 = 0;\n          lStack_110 = 0;\n        }\n        if (*piStack_134 == 0) {\n          nontrivial_match = (int)*(char *)psVar24->st_dev;\n          unaff_s5 = psVar24;\n          if ((stat *)nontrivial_match == (stat *)0x0) {\n            psVar22 = (stat *)0x0;\n            goto LAB_000fac1c;\n          }\n          psVar22 = (stat *)(int)*(char *)psVar24->st_pad1[0];\n          psStack_14c = (stat *)0x0;\n          unaff_s4 = psVar22;\n          if (psVar22 == (stat *)0x0) goto LAB_000fac1c;\n          unaff_s6 = &uStack_11c;\n          psStack_148 = (stat *)&uStack_114;\n          unaff_s7 = (stat *)&uStack_10c;\n          do {\n            psVar22 = psStack_14c;\n            uVar5 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar5 < 2) || (unaff_s3->st_dev != 0)) {\n              if ((stat *)nontrivial_match != unaff_s4) goto LAB_000fac1c;\n            }\n            else {\n              uStack_10c = uStack_11c;\n              _Stack_108 = _Stack_118;\n              psStack_15c = psStack_148;\n              psStack_160 = psVar22;\n              iVar6 = (**(code **)(puStack_158 + -0x65b8))\n                                (psVar24->st_dev,psVar22,unaff_s6,psVar24->st_pad1[0]);\n              psVar20 = unaff_s7;\n              if (iVar6 == 0) goto LAB_000fac1c;\n              iVar6 = (**(code **)(puStack_158 + -0x65b4))\n                                ((int)psStack_14c->st_pad1 + (psVar24->st_dev - 4));\n              if (1 < iVar6) {\n                psVar22 = (stat *)((int)psVar22->st_pad1 + iVar6 + -5);\n              }\n            }\n            psVar22 = (stat *)((int)&psVar22->st_dev + 1);\n            nontrivial_match = (int)*(char *)((int)psVar22->st_pad1 + (psVar24->st_dev - 4));\n            psStack_14c = psVar22;\n            if ((stat *)nontrivial_match == (stat *)0x0) goto LAB_000fac1c;\n            unaff_s4 = (stat *)(int)*(char *)((int)psVar22->st_pad1 + psVar24->st_pad1[0] + -4);\n            bVar3 = (int)psVar22 < (int)psStack_140;\n          } while (unaff_s4 != (stat *)0x0);\n        }\n        else {\n          psVar22 = (stat *)0x0;\n          unaff_s7 = (stat *)&uStack_11c;\n          unaff_s6 = &uStack_114;\n          while( true ) {\n            bVar2 = *(byte *)((int)psVar22->st_pad1 + (psVar24->st_dev - 4));\n            nontrivial_match = (int)(char)bVar2;\n            unaff_s4 = (stat *)(uint)bVar2;\n            psStack_148 = psVar22;\n            psStack_144 = psVar24;\n            if (unaff_s4 == (stat *)nontrivial_match) {\n              piVar4 = (int *)(**(code **)(puStack_158 + -0x6290))();\n              if ((*(ushort *)(*piVar4 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar4 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (stat *)(*piVar4 + (int)unaff_s4 * 4);\n                nontrivial_match = unaff_s4->st_dev;\n              }\n            }\n            unaff_s5 = (stat *)&psStack_120;\n            if ((stat *)nontrivial_match == (stat *)0x0) break;\n            bVar2 = *(byte *)((int)psStack_148->st_pad1 + psStack_144->st_pad1[0] + -4);\n            psStack_14c = (stat *)(int)(char)bVar2;\n            unaff_s4 = (stat *)(uint)bVar2;\n            if ((unaff_s4 == psStack_14c) &&\n               (piVar4 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar4 + (int)unaff_s4 * 2) & 1) != 0)) {\n              piVar4 = (int *)(**(code **)(puStack_158 + -0x628c))();\n              unaff_s4 = (stat *)(*piVar4 + (int)unaff_s4 * 4);\n              psStack_14c = (stat *)unaff_s4->st_dev;\n            }\n            if (psStack_14c == (stat *)0x0) break;\n            uVar5 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar5 < 2) || (unaff_s3->st_dev != 0)) {\njoined_r0x000facac:\n              if ((stat *)nontrivial_match != psStack_14c) break;\n            }\n            else {\n              iVar6 = (int)psStack_148->st_pad1 + (psStack_144->st_dev - 4);\n              uVar9 = (**(code **)(puStack_158 + -0x60fc))(iVar6);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,iVar6,uVar9,unaff_s7);\n              unaff_s4 = (stat *)((int)psStack_148->st_pad1 + psStack_144->st_pad1[0] + -4);\n              uVar9 = (**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              psVar20 = unaff_s4;\n              iVar6 = (**(code **)(puStack_158 + -0x6084))\n                                ((stat *)&psStack_120,unaff_s4,uVar9,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar6 + 2U < 2)) goto joined_r0x000facac;\n              nontrivial_match = (**(code **)(puStack_158 + -0x5fc8))(psStack_124);\n              psStack_124 = (stat *)nontrivial_match;\n              psStack_120 = (stat *)(**(code **)(puStack_158 + -0x5fc8))(psStack_120);\n              if ((stat *)nontrivial_match != psStack_120) break;\n              if (1 < uStack_138) {\n                psVar22 = (stat *)((int)psStack_148->st_pad1 + (uStack_138 - 5));\n              }\n            }\n            psVar22 = (stat *)((int)&psVar22->st_dev + 1);\n          }\nLAB_000fac1c:\n          bVar3 = (int)psVar22 < (int)psStack_140;\n        }\n        psVar21 = psStack_130;\n        if (bVar3) {\n          psStack_140 = psVar22;\n        }\n        psStack_13c = (stat *)((int)&psStack_13c->st_dev + 1);\n        psVar24 = (stat *)psVar24->st_pad1;\n      } while ((stat *)delimiter != psStack_13c);\n      unaff_s2 = psVar24;\n      if (((psStack_140 == (stat *)0x0) && (psStack_130 != (stat *)0x0)) &&\n         (psVar22 = psStack_130, *(byte *)&psStack_130->st_dev != 0)) {\n        iVar6 = (**(code **)(puStack_158 + -0x60fc))(psStack_130);\n        iVar6 = (**(code **)(puStack_158 + -0x7f88))(iVar6 + 1);\n        *piStack_12c = iVar6;\n        psVar20 = psVar21;\n        (**(code **)(puStack_158 + -0x6074))(iVar6);\n        psVar22 = psVar21;\n        goto LAB_000fb1f0;\n      }\n    }\n    iVar6 = (**(code **)(puStack_158 + -0x7f88))((byte *)((int)&psStack_140->st_dev + 1));\n    *piStack_12c = iVar6;\n    if (**(int **)(puStack_158 + -0x65bc) == 0) {\n      psVar20 = (stat *)piStack_12c[1];\n      (**(code **)(puStack_158 + -0x615c))(iVar6,psVar20,psStack_140);\n    }\n    else {\n      psVar24 = (stat *)0x0;\n      if (**(int **)(puStack_158 + -0x6f0c) != 0) {\n        if ((code *)**(undefined4 **)(puStack_158 + -0x6de4) == (code *)0x0) {\n          psVar24 = (stat *)0x0;\n        }\n        else if ((**(int **)(puStack_158 + -0x6f38) != 0) &&\n                (**(int **)(puStack_158 + -0x702c) != 0)) {\n          psVar20 = (stat *)**(undefined4 **)(puStack_158 + -0x6f34);\n          psVar24 = (stat *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(psStack_130);\n          psStack_130 = psVar24;\n        }\n      }\n      if (**(int **)(puStack_158 + -0x6f10) != 0) {\n        psVar20 = (stat *)delimiter;\n        (**(code **)(puStack_158 + -0x6218))\n                  (piStack_12c + 1,delimiter,4,*(undefined4 *)(puStack_158 + -0x6660));\n      }\n      psVar22 = (stat *)(**(code **)(puStack_158 + -0x60fc))(psStack_130);\n      unaff_s4 = psStack_140;\n      if ((int)psVar22 <= (int)psStack_140) {\n        unaff_s4 = psVar22;\n      }\n      if (delimiter < 1) {\n        psVar22 = (stat *)0x1;\nLAB_000fb1a8:\n        psVar22 = (stat *)(uint)(delimiter < (int)psVar22);\n        if (psVar22 != (stat *)0x0) goto LAB_000fb12c;\n      }\n      else {\n        nontrivial_match = (int)(piStack_12c + 1);\n        psVar22 = (stat *)0x1;\n        do {\n          unaff_s2 = (stat *)((stat *)nontrivial_match)->st_dev;\n          iVar6 = (**(code **)(puStack_158 + -0x6238))(unaff_s2,psStack_130,unaff_s4);\n          if (iVar6 == 0) {\n            psVar20 = unaff_s2;\n            (**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,psStack_140);\n            goto LAB_000fb1a8;\n          }\n          psVar22 = (stat *)((int)&psVar22->st_dev + 1);\n          nontrivial_match = (int)((stat *)nontrivial_match)->st_pad1;\n        } while ((int)psVar22 <= delimiter);\nLAB_000fb12c:\n        psVar20 = (stat *)piStack_12c[1];\n        (**(code **)(puStack_158 + -0x615c))(*piStack_12c,psVar20,psStack_140);\n      }\n      if (psVar24 != (stat *)0x0) {\n        iVar6 = (**(code **)(puStack_158 + -0x5f94))(psVar24);\n        return iVar6;\n      }\n      unaff_s3 = (stat *)0x0;\n    }\n    *(undefined1 *)((int)psStack_140->st_pad1 + *piStack_12c + -4) = 0;\n    psStack_13c = (stat *)delimiter;\n  }" if (parenthesized_expression "((stat *)delimiter == (stat *)0x1)" ( (binary_expression "(stat *)delimiter == (stat *)0x1" (cast_expression "(stat *)delimiter" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) == (cast_expression "(stat *)0x1" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    *piVar4 = piVar4[1];\n    piVar4[1] = 0;\n    psStack_13c = (stat *)delimiter;\n  }" { (expression_statement "*piVar4 = piVar4[1];" (assignment_expression "*piVar4 = piVar4[1]" (pointer_expression "*piVar4" * identifier) = (subscript_expression "piVar4[1]" identifier [ number_literal ])) ;) (expression_statement "piVar4[1] = 0;" (assignment_expression "piVar4[1] = 0" (subscript_expression "piVar4[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "psStack_13c = (stat *)delimiter;" (assignment_expression "psStack_13c = (stat *)delimiter" identifier = (cast_expression "(stat *)delimiter" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) }) (else_clause "else {\n    if (delimiter < 2) {\n      psStack_140 = (stat *)&__DT_SYMTAB[0x3d1].st_info;\n    }\n    else {\n      psVar24 = (stat *)(piVar4 + 1);\n      psStack_140 = (stat *)&__DT_SYMTAB[0x3d1].st_info;\n      psStack_13c = (stat *)0x1;\n      unaff_s3 = *(stat **)(puVar28 + 0x5d2e8);\n      piStack_134 = *(int **)(puVar28 + 0x5d454);\n      unaff_s8 = &psStack_124;\n      do {\n        uVar5 = (**(code **)(puStack_158 + -0x6060))();\n        if ((1 < uVar5) && (unaff_s3->st_dev == 0)) {\n          uStack_11c = 0;\n          _Stack_118 = 0;\n          uStack_114 = 0;\n          lStack_110 = 0;\n        }\n        if (*piStack_134 == 0) {\n          nontrivial_match = (int)*(char *)psVar24->st_dev;\n          unaff_s5 = psVar24;\n          if ((stat *)nontrivial_match == (stat *)0x0) {\n            psVar22 = (stat *)0x0;\n            goto LAB_000fac1c;\n          }\n          psVar22 = (stat *)(int)*(char *)psVar24->st_pad1[0];\n          psStack_14c = (stat *)0x0;\n          unaff_s4 = psVar22;\n          if (psVar22 == (stat *)0x0) goto LAB_000fac1c;\n          unaff_s6 = &uStack_11c;\n          psStack_148 = (stat *)&uStack_114;\n          unaff_s7 = (stat *)&uStack_10c;\n          do {\n            psVar22 = psStack_14c;\n            uVar5 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar5 < 2) || (unaff_s3->st_dev != 0)) {\n              if ((stat *)nontrivial_match != unaff_s4) goto LAB_000fac1c;\n            }\n            else {\n              uStack_10c = uStack_11c;\n              _Stack_108 = _Stack_118;\n              psStack_15c = psStack_148;\n              psStack_160 = psVar22;\n              iVar6 = (**(code **)(puStack_158 + -0x65b8))\n                                (psVar24->st_dev,psVar22,unaff_s6,psVar24->st_pad1[0]);\n              psVar20 = unaff_s7;\n              if (iVar6 == 0) goto LAB_000fac1c;\n              iVar6 = (**(code **)(puStack_158 + -0x65b4))\n                                ((int)psStack_14c->st_pad1 + (psVar24->st_dev - 4));\n              if (1 < iVar6) {\n                psVar22 = (stat *)((int)psVar22->st_pad1 + iVar6 + -5);\n              }\n            }\n            psVar22 = (stat *)((int)&psVar22->st_dev + 1);\n            nontrivial_match = (int)*(char *)((int)psVar22->st_pad1 + (psVar24->st_dev - 4));\n            psStack_14c = psVar22;\n            if ((stat *)nontrivial_match == (stat *)0x0) goto LAB_000fac1c;\n            unaff_s4 = (stat *)(int)*(char *)((int)psVar22->st_pad1 + psVar24->st_pad1[0] + -4);\n            bVar3 = (int)psVar22 < (int)psStack_140;\n          } while (unaff_s4 != (stat *)0x0);\n        }\n        else {\n          psVar22 = (stat *)0x0;\n          unaff_s7 = (stat *)&uStack_11c;\n          unaff_s6 = &uStack_114;\n          while( true ) {\n            bVar2 = *(byte *)((int)psVar22->st_pad1 + (psVar24->st_dev - 4));\n            nontrivial_match = (int)(char)bVar2;\n            unaff_s4 = (stat *)(uint)bVar2;\n            psStack_148 = psVar22;\n            psStack_144 = psVar24;\n            if (unaff_s4 == (stat *)nontrivial_match) {\n              piVar4 = (int *)(**(code **)(puStack_158 + -0x6290))();\n              if ((*(ushort *)(*piVar4 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar4 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (stat *)(*piVar4 + (int)unaff_s4 * 4);\n                nontrivial_match = unaff_s4->st_dev;\n              }\n            }\n            unaff_s5 = (stat *)&psStack_120;\n            if ((stat *)nontrivial_match == (stat *)0x0) break;\n            bVar2 = *(byte *)((int)psStack_148->st_pad1 + psStack_144->st_pad1[0] + -4);\n            psStack_14c = (stat *)(int)(char)bVar2;\n            unaff_s4 = (stat *)(uint)bVar2;\n            if ((unaff_s4 == psStack_14c) &&\n               (piVar4 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar4 + (int)unaff_s4 * 2) & 1) != 0)) {\n              piVar4 = (int *)(**(code **)(puStack_158 + -0x628c))();\n              unaff_s4 = (stat *)(*piVar4 + (int)unaff_s4 * 4);\n              psStack_14c = (stat *)unaff_s4->st_dev;\n            }\n            if (psStack_14c == (stat *)0x0) break;\n            uVar5 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar5 < 2) || (unaff_s3->st_dev != 0)) {\njoined_r0x000facac:\n              if ((stat *)nontrivial_match != psStack_14c) break;\n            }\n            else {\n              iVar6 = (int)psStack_148->st_pad1 + (psStack_144->st_dev - 4);\n              uVar9 = (**(code **)(puStack_158 + -0x60fc))(iVar6);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,iVar6,uVar9,unaff_s7);\n              unaff_s4 = (stat *)((int)psStack_148->st_pad1 + psStack_144->st_pad1[0] + -4);\n              uVar9 = (**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              psVar20 = unaff_s4;\n              iVar6 = (**(code **)(puStack_158 + -0x6084))\n                                ((stat *)&psStack_120,unaff_s4,uVar9,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar6 + 2U < 2)) goto joined_r0x000facac;\n              nontrivial_match = (**(code **)(puStack_158 + -0x5fc8))(psStack_124);\n              psStack_124 = (stat *)nontrivial_match;\n              psStack_120 = (stat *)(**(code **)(puStack_158 + -0x5fc8))(psStack_120);\n              if ((stat *)nontrivial_match != psStack_120) break;\n              if (1 < uStack_138) {\n                psVar22 = (stat *)((int)psStack_148->st_pad1 + (uStack_138 - 5));\n              }\n            }\n            psVar22 = (stat *)((int)&psVar22->st_dev + 1);\n          }\nLAB_000fac1c:\n          bVar3 = (int)psVar22 < (int)psStack_140;\n        }\n        psVar21 = psStack_130;\n        if (bVar3) {\n          psStack_140 = psVar22;\n        }\n        psStack_13c = (stat *)((int)&psStack_13c->st_dev + 1);\n        psVar24 = (stat *)psVar24->st_pad1;\n      } while ((stat *)delimiter != psStack_13c);\n      unaff_s2 = psVar24;\n      if (((psStack_140 == (stat *)0x0) && (psStack_130 != (stat *)0x0)) &&\n         (psVar22 = psStack_130, *(byte *)&psStack_130->st_dev != 0)) {\n        iVar6 = (**(code **)(puStack_158 + -0x60fc))(psStack_130);\n        iVar6 = (**(code **)(puStack_158 + -0x7f88))(iVar6 + 1);\n        *piStack_12c = iVar6;\n        psVar20 = psVar21;\n        (**(code **)(puStack_158 + -0x6074))(iVar6);\n        psVar22 = psVar21;\n        goto LAB_000fb1f0;\n      }\n    }\n    iVar6 = (**(code **)(puStack_158 + -0x7f88))((byte *)((int)&psStack_140->st_dev + 1));\n    *piStack_12c = iVar6;\n    if (**(int **)(puStack_158 + -0x65bc) == 0) {\n      psVar20 = (stat *)piStack_12c[1];\n      (**(code **)(puStack_158 + -0x615c))(iVar6,psVar20,psStack_140);\n    }\n    else {\n      psVar24 = (stat *)0x0;\n      if (**(int **)(puStack_158 + -0x6f0c) != 0) {\n        if ((code *)**(undefined4 **)(puStack_158 + -0x6de4) == (code *)0x0) {\n          psVar24 = (stat *)0x0;\n        }\n        else if ((**(int **)(puStack_158 + -0x6f38) != 0) &&\n                (**(int **)(puStack_158 + -0x702c) != 0)) {\n          psVar20 = (stat *)**(undefined4 **)(puStack_158 + -0x6f34);\n          psVar24 = (stat *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(psStack_130);\n          psStack_130 = psVar24;\n        }\n      }\n      if (**(int **)(puStack_158 + -0x6f10) != 0) {\n        psVar20 = (stat *)delimiter;\n        (**(code **)(puStack_158 + -0x6218))\n                  (piStack_12c + 1,delimiter,4,*(undefined4 *)(puStack_158 + -0x6660));\n      }\n      psVar22 = (stat *)(**(code **)(puStack_158 + -0x60fc))(psStack_130);\n      unaff_s4 = psStack_140;\n      if ((int)psVar22 <= (int)psStack_140) {\n        unaff_s4 = psVar22;\n      }\n      if (delimiter < 1) {\n        psVar22 = (stat *)0x1;\nLAB_000fb1a8:\n        psVar22 = (stat *)(uint)(delimiter < (int)psVar22);\n        if (psVar22 != (stat *)0x0) goto LAB_000fb12c;\n      }\n      else {\n        nontrivial_match = (int)(piStack_12c + 1);\n        psVar22 = (stat *)0x1;\n        do {\n          unaff_s2 = (stat *)((stat *)nontrivial_match)->st_dev;\n          iVar6 = (**(code **)(puStack_158 + -0x6238))(unaff_s2,psStack_130,unaff_s4);\n          if (iVar6 == 0) {\n            psVar20 = unaff_s2;\n            (**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,psStack_140);\n            goto LAB_000fb1a8;\n          }\n          psVar22 = (stat *)((int)&psVar22->st_dev + 1);\n          nontrivial_match = (int)((stat *)nontrivial_match)->st_pad1;\n        } while ((int)psVar22 <= delimiter);\nLAB_000fb12c:\n        psVar20 = (stat *)piStack_12c[1];\n        (**(code **)(puStack_158 + -0x615c))(*piStack_12c,psVar20,psStack_140);\n      }\n      if (psVar24 != (stat *)0x0) {\n        iVar6 = (**(code **)(puStack_158 + -0x5f94))(psVar24);\n        return iVar6;\n      }\n      unaff_s3 = (stat *)0x0;\n    }\n    *(undefined1 *)((int)psStack_140->st_pad1 + *piStack_12c + -4) = 0;\n    psStack_13c = (stat *)delimiter;\n  }" else (compound_statement "{\n    if (delimiter < 2) {\n      psStack_140 = (stat *)&__DT_SYMTAB[0x3d1].st_info;\n    }\n    else {\n      psVar24 = (stat *)(piVar4 + 1);\n      psStack_140 = (stat *)&__DT_SYMTAB[0x3d1].st_info;\n      psStack_13c = (stat *)0x1;\n      unaff_s3 = *(stat **)(puVar28 + 0x5d2e8);\n      piStack_134 = *(int **)(puVar28 + 0x5d454);\n      unaff_s8 = &psStack_124;\n      do {\n        uVar5 = (**(code **)(puStack_158 + -0x6060))();\n        if ((1 < uVar5) && (unaff_s3->st_dev == 0)) {\n          uStack_11c = 0;\n          _Stack_118 = 0;\n          uStack_114 = 0;\n          lStack_110 = 0;\n        }\n        if (*piStack_134 == 0) {\n          nontrivial_match = (int)*(char *)psVar24->st_dev;\n          unaff_s5 = psVar24;\n          if ((stat *)nontrivial_match == (stat *)0x0) {\n            psVar22 = (stat *)0x0;\n            goto LAB_000fac1c;\n          }\n          psVar22 = (stat *)(int)*(char *)psVar24->st_pad1[0];\n          psStack_14c = (stat *)0x0;\n          unaff_s4 = psVar22;\n          if (psVar22 == (stat *)0x0) goto LAB_000fac1c;\n          unaff_s6 = &uStack_11c;\n          psStack_148 = (stat *)&uStack_114;\n          unaff_s7 = (stat *)&uStack_10c;\n          do {\n            psVar22 = psStack_14c;\n            uVar5 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar5 < 2) || (unaff_s3->st_dev != 0)) {\n              if ((stat *)nontrivial_match != unaff_s4) goto LAB_000fac1c;\n            }\n            else {\n              uStack_10c = uStack_11c;\n              _Stack_108 = _Stack_118;\n              psStack_15c = psStack_148;\n              psStack_160 = psVar22;\n              iVar6 = (**(code **)(puStack_158 + -0x65b8))\n                                (psVar24->st_dev,psVar22,unaff_s6,psVar24->st_pad1[0]);\n              psVar20 = unaff_s7;\n              if (iVar6 == 0) goto LAB_000fac1c;\n              iVar6 = (**(code **)(puStack_158 + -0x65b4))\n                                ((int)psStack_14c->st_pad1 + (psVar24->st_dev - 4));\n              if (1 < iVar6) {\n                psVar22 = (stat *)((int)psVar22->st_pad1 + iVar6 + -5);\n              }\n            }\n            psVar22 = (stat *)((int)&psVar22->st_dev + 1);\n            nontrivial_match = (int)*(char *)((int)psVar22->st_pad1 + (psVar24->st_dev - 4));\n            psStack_14c = psVar22;\n            if ((stat *)nontrivial_match == (stat *)0x0) goto LAB_000fac1c;\n            unaff_s4 = (stat *)(int)*(char *)((int)psVar22->st_pad1 + psVar24->st_pad1[0] + -4);\n            bVar3 = (int)psVar22 < (int)psStack_140;\n          } while (unaff_s4 != (stat *)0x0);\n        }\n        else {\n          psVar22 = (stat *)0x0;\n          unaff_s7 = (stat *)&uStack_11c;\n          unaff_s6 = &uStack_114;\n          while( true ) {\n            bVar2 = *(byte *)((int)psVar22->st_pad1 + (psVar24->st_dev - 4));\n            nontrivial_match = (int)(char)bVar2;\n            unaff_s4 = (stat *)(uint)bVar2;\n            psStack_148 = psVar22;\n            psStack_144 = psVar24;\n            if (unaff_s4 == (stat *)nontrivial_match) {\n              piVar4 = (int *)(**(code **)(puStack_158 + -0x6290))();\n              if ((*(ushort *)(*piVar4 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar4 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (stat *)(*piVar4 + (int)unaff_s4 * 4);\n                nontrivial_match = unaff_s4->st_dev;\n              }\n            }\n            unaff_s5 = (stat *)&psStack_120;\n            if ((stat *)nontrivial_match == (stat *)0x0) break;\n            bVar2 = *(byte *)((int)psStack_148->st_pad1 + psStack_144->st_pad1[0] + -4);\n            psStack_14c = (stat *)(int)(char)bVar2;\n            unaff_s4 = (stat *)(uint)bVar2;\n            if ((unaff_s4 == psStack_14c) &&\n               (piVar4 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar4 + (int)unaff_s4 * 2) & 1) != 0)) {\n              piVar4 = (int *)(**(code **)(puStack_158 + -0x628c))();\n              unaff_s4 = (stat *)(*piVar4 + (int)unaff_s4 * 4);\n              psStack_14c = (stat *)unaff_s4->st_dev;\n            }\n            if (psStack_14c == (stat *)0x0) break;\n            uVar5 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar5 < 2) || (unaff_s3->st_dev != 0)) {\njoined_r0x000facac:\n              if ((stat *)nontrivial_match != psStack_14c) break;\n            }\n            else {\n              iVar6 = (int)psStack_148->st_pad1 + (psStack_144->st_dev - 4);\n              uVar9 = (**(code **)(puStack_158 + -0x60fc))(iVar6);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,iVar6,uVar9,unaff_s7);\n              unaff_s4 = (stat *)((int)psStack_148->st_pad1 + psStack_144->st_pad1[0] + -4);\n              uVar9 = (**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              psVar20 = unaff_s4;\n              iVar6 = (**(code **)(puStack_158 + -0x6084))\n                                ((stat *)&psStack_120,unaff_s4,uVar9,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar6 + 2U < 2)) goto joined_r0x000facac;\n              nontrivial_match = (**(code **)(puStack_158 + -0x5fc8))(psStack_124);\n              psStack_124 = (stat *)nontrivial_match;\n              psStack_120 = (stat *)(**(code **)(puStack_158 + -0x5fc8))(psStack_120);\n              if ((stat *)nontrivial_match != psStack_120) break;\n              if (1 < uStack_138) {\n                psVar22 = (stat *)((int)psStack_148->st_pad1 + (uStack_138 - 5));\n              }\n            }\n            psVar22 = (stat *)((int)&psVar22->st_dev + 1);\n          }\nLAB_000fac1c:\n          bVar3 = (int)psVar22 < (int)psStack_140;\n        }\n        psVar21 = psStack_130;\n        if (bVar3) {\n          psStack_140 = psVar22;\n        }\n        psStack_13c = (stat *)((int)&psStack_13c->st_dev + 1);\n        psVar24 = (stat *)psVar24->st_pad1;\n      } while ((stat *)delimiter != psStack_13c);\n      unaff_s2 = psVar24;\n      if (((psStack_140 == (stat *)0x0) && (psStack_130 != (stat *)0x0)) &&\n         (psVar22 = psStack_130, *(byte *)&psStack_130->st_dev != 0)) {\n        iVar6 = (**(code **)(puStack_158 + -0x60fc))(psStack_130);\n        iVar6 = (**(code **)(puStack_158 + -0x7f88))(iVar6 + 1);\n        *piStack_12c = iVar6;\n        psVar20 = psVar21;\n        (**(code **)(puStack_158 + -0x6074))(iVar6);\n        psVar22 = psVar21;\n        goto LAB_000fb1f0;\n      }\n    }\n    iVar6 = (**(code **)(puStack_158 + -0x7f88))((byte *)((int)&psStack_140->st_dev + 1));\n    *piStack_12c = iVar6;\n    if (**(int **)(puStack_158 + -0x65bc) == 0) {\n      psVar20 = (stat *)piStack_12c[1];\n      (**(code **)(puStack_158 + -0x615c))(iVar6,psVar20,psStack_140);\n    }\n    else {\n      psVar24 = (stat *)0x0;\n      if (**(int **)(puStack_158 + -0x6f0c) != 0) {\n        if ((code *)**(undefined4 **)(puStack_158 + -0x6de4) == (code *)0x0) {\n          psVar24 = (stat *)0x0;\n        }\n        else if ((**(int **)(puStack_158 + -0x6f38) != 0) &&\n                (**(int **)(puStack_158 + -0x702c) != 0)) {\n          psVar20 = (stat *)**(undefined4 **)(puStack_158 + -0x6f34);\n          psVar24 = (stat *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(psStack_130);\n          psStack_130 = psVar24;\n        }\n      }\n      if (**(int **)(puStack_158 + -0x6f10) != 0) {\n        psVar20 = (stat *)delimiter;\n        (**(code **)(puStack_158 + -0x6218))\n                  (piStack_12c + 1,delimiter,4,*(undefined4 *)(puStack_158 + -0x6660));\n      }\n      psVar22 = (stat *)(**(code **)(puStack_158 + -0x60fc))(psStack_130);\n      unaff_s4 = psStack_140;\n      if ((int)psVar22 <= (int)psStack_140) {\n        unaff_s4 = psVar22;\n      }\n      if (delimiter < 1) {\n        psVar22 = (stat *)0x1;\nLAB_000fb1a8:\n        psVar22 = (stat *)(uint)(delimiter < (int)psVar22);\n        if (psVar22 != (stat *)0x0) goto LAB_000fb12c;\n      }\n      else {\n        nontrivial_match = (int)(piStack_12c + 1);\n        psVar22 = (stat *)0x1;\n        do {\n          unaff_s2 = (stat *)((stat *)nontrivial_match)->st_dev;\n          iVar6 = (**(code **)(puStack_158 + -0x6238))(unaff_s2,psStack_130,unaff_s4);\n          if (iVar6 == 0) {\n            psVar20 = unaff_s2;\n            (**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,psStack_140);\n            goto LAB_000fb1a8;\n          }\n          psVar22 = (stat *)((int)&psVar22->st_dev + 1);\n          nontrivial_match = (int)((stat *)nontrivial_match)->st_pad1;\n        } while ((int)psVar22 <= delimiter);\nLAB_000fb12c:\n        psVar20 = (stat *)piStack_12c[1];\n        (**(code **)(puStack_158 + -0x615c))(*piStack_12c,psVar20,psStack_140);\n      }\n      if (psVar24 != (stat *)0x0) {\n        iVar6 = (**(code **)(puStack_158 + -0x5f94))(psVar24);\n        return iVar6;\n      }\n      unaff_s3 = (stat *)0x0;\n    }\n    *(undefined1 *)((int)psStack_140->st_pad1 + *piStack_12c + -4) = 0;\n    psStack_13c = (stat *)delimiter;\n  }" { (if_statement "if (delimiter < 2) {\n      psStack_140 = (stat *)&__DT_SYMTAB[0x3d1].st_info;\n    }\n    else {\n      psVar24 = (stat *)(piVar4 + 1);\n      psStack_140 = (stat *)&__DT_SYMTAB[0x3d1].st_info;\n      psStack_13c = (stat *)0x1;\n      unaff_s3 = *(stat **)(puVar28 + 0x5d2e8);\n      piStack_134 = *(int **)(puVar28 + 0x5d454);\n      unaff_s8 = &psStack_124;\n      do {\n        uVar5 = (**(code **)(puStack_158 + -0x6060))();\n        if ((1 < uVar5) && (unaff_s3->st_dev == 0)) {\n          uStack_11c = 0;\n          _Stack_118 = 0;\n          uStack_114 = 0;\n          lStack_110 = 0;\n        }\n        if (*piStack_134 == 0) {\n          nontrivial_match = (int)*(char *)psVar24->st_dev;\n          unaff_s5 = psVar24;\n          if ((stat *)nontrivial_match == (stat *)0x0) {\n            psVar22 = (stat *)0x0;\n            goto LAB_000fac1c;\n          }\n          psVar22 = (stat *)(int)*(char *)psVar24->st_pad1[0];\n          psStack_14c = (stat *)0x0;\n          unaff_s4 = psVar22;\n          if (psVar22 == (stat *)0x0) goto LAB_000fac1c;\n          unaff_s6 = &uStack_11c;\n          psStack_148 = (stat *)&uStack_114;\n          unaff_s7 = (stat *)&uStack_10c;\n          do {\n            psVar22 = psStack_14c;\n            uVar5 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar5 < 2) || (unaff_s3->st_dev != 0)) {\n              if ((stat *)nontrivial_match != unaff_s4) goto LAB_000fac1c;\n            }\n            else {\n              uStack_10c = uStack_11c;\n              _Stack_108 = _Stack_118;\n              psStack_15c = psStack_148;\n              psStack_160 = psVar22;\n              iVar6 = (**(code **)(puStack_158 + -0x65b8))\n                                (psVar24->st_dev,psVar22,unaff_s6,psVar24->st_pad1[0]);\n              psVar20 = unaff_s7;\n              if (iVar6 == 0) goto LAB_000fac1c;\n              iVar6 = (**(code **)(puStack_158 + -0x65b4))\n                                ((int)psStack_14c->st_pad1 + (psVar24->st_dev - 4));\n              if (1 < iVar6) {\n                psVar22 = (stat *)((int)psVar22->st_pad1 + iVar6 + -5);\n              }\n            }\n            psVar22 = (stat *)((int)&psVar22->st_dev + 1);\n            nontrivial_match = (int)*(char *)((int)psVar22->st_pad1 + (psVar24->st_dev - 4));\n            psStack_14c = psVar22;\n            if ((stat *)nontrivial_match == (stat *)0x0) goto LAB_000fac1c;\n            unaff_s4 = (stat *)(int)*(char *)((int)psVar22->st_pad1 + psVar24->st_pad1[0] + -4);\n            bVar3 = (int)psVar22 < (int)psStack_140;\n          } while (unaff_s4 != (stat *)0x0);\n        }\n        else {\n          psVar22 = (stat *)0x0;\n          unaff_s7 = (stat *)&uStack_11c;\n          unaff_s6 = &uStack_114;\n          while( true ) {\n            bVar2 = *(byte *)((int)psVar22->st_pad1 + (psVar24->st_dev - 4));\n            nontrivial_match = (int)(char)bVar2;\n            unaff_s4 = (stat *)(uint)bVar2;\n            psStack_148 = psVar22;\n            psStack_144 = psVar24;\n            if (unaff_s4 == (stat *)nontrivial_match) {\n              piVar4 = (int *)(**(code **)(puStack_158 + -0x6290))();\n              if ((*(ushort *)(*piVar4 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar4 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (stat *)(*piVar4 + (int)unaff_s4 * 4);\n                nontrivial_match = unaff_s4->st_dev;\n              }\n            }\n            unaff_s5 = (stat *)&psStack_120;\n            if ((stat *)nontrivial_match == (stat *)0x0) break;\n            bVar2 = *(byte *)((int)psStack_148->st_pad1 + psStack_144->st_pad1[0] + -4);\n            psStack_14c = (stat *)(int)(char)bVar2;\n            unaff_s4 = (stat *)(uint)bVar2;\n            if ((unaff_s4 == psStack_14c) &&\n               (piVar4 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar4 + (int)unaff_s4 * 2) & 1) != 0)) {\n              piVar4 = (int *)(**(code **)(puStack_158 + -0x628c))();\n              unaff_s4 = (stat *)(*piVar4 + (int)unaff_s4 * 4);\n              psStack_14c = (stat *)unaff_s4->st_dev;\n            }\n            if (psStack_14c == (stat *)0x0) break;\n            uVar5 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar5 < 2) || (unaff_s3->st_dev != 0)) {\njoined_r0x000facac:\n              if ((stat *)nontrivial_match != psStack_14c) break;\n            }\n            else {\n              iVar6 = (int)psStack_148->st_pad1 + (psStack_144->st_dev - 4);\n              uVar9 = (**(code **)(puStack_158 + -0x60fc))(iVar6);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,iVar6,uVar9,unaff_s7);\n              unaff_s4 = (stat *)((int)psStack_148->st_pad1 + psStack_144->st_pad1[0] + -4);\n              uVar9 = (**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              psVar20 = unaff_s4;\n              iVar6 = (**(code **)(puStack_158 + -0x6084))\n                                ((stat *)&psStack_120,unaff_s4,uVar9,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar6 + 2U < 2)) goto joined_r0x000facac;\n              nontrivial_match = (**(code **)(puStack_158 + -0x5fc8))(psStack_124);\n              psStack_124 = (stat *)nontrivial_match;\n              psStack_120 = (stat *)(**(code **)(puStack_158 + -0x5fc8))(psStack_120);\n              if ((stat *)nontrivial_match != psStack_120) break;\n              if (1 < uStack_138) {\n                psVar22 = (stat *)((int)psStack_148->st_pad1 + (uStack_138 - 5));\n              }\n            }\n            psVar22 = (stat *)((int)&psVar22->st_dev + 1);\n          }\nLAB_000fac1c:\n          bVar3 = (int)psVar22 < (int)psStack_140;\n        }\n        psVar21 = psStack_130;\n        if (bVar3) {\n          psStack_140 = psVar22;\n        }\n        psStack_13c = (stat *)((int)&psStack_13c->st_dev + 1);\n        psVar24 = (stat *)psVar24->st_pad1;\n      } while ((stat *)delimiter != psStack_13c);\n      unaff_s2 = psVar24;\n      if (((psStack_140 == (stat *)0x0) && (psStack_130 != (stat *)0x0)) &&\n         (psVar22 = psStack_130, *(byte *)&psStack_130->st_dev != 0)) {\n        iVar6 = (**(code **)(puStack_158 + -0x60fc))(psStack_130);\n        iVar6 = (**(code **)(puStack_158 + -0x7f88))(iVar6 + 1);\n        *piStack_12c = iVar6;\n        psVar20 = psVar21;\n        (**(code **)(puStack_158 + -0x6074))(iVar6);\n        psVar22 = psVar21;\n        goto LAB_000fb1f0;\n      }\n    }" if (parenthesized_expression "(delimiter < 2)" ( (binary_expression "delimiter < 2" identifier < number_literal) )) (compound_statement "{\n      psStack_140 = (stat *)&__DT_SYMTAB[0x3d1].st_info;\n    }" { (expression_statement "psStack_140 = (stat *)&__DT_SYMTAB[0x3d1].st_info;" (assignment_expression "psStack_140 = (stat *)&__DT_SYMTAB[0x3d1].st_info" identifier = (cast_expression "(stat *)&__DT_SYMTAB[0x3d1].st_info" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&__DT_SYMTAB[0x3d1].st_info" & (field_expression "__DT_SYMTAB[0x3d1].st_info" (subscript_expression "__DT_SYMTAB[0x3d1]" identifier [ number_literal ]) . field_identifier)))) ;) }) (else_clause "else {\n      psVar24 = (stat *)(piVar4 + 1);\n      psStack_140 = (stat *)&__DT_SYMTAB[0x3d1].st_info;\n      psStack_13c = (stat *)0x1;\n      unaff_s3 = *(stat **)(puVar28 + 0x5d2e8);\n      piStack_134 = *(int **)(puVar28 + 0x5d454);\n      unaff_s8 = &psStack_124;\n      do {\n        uVar5 = (**(code **)(puStack_158 + -0x6060))();\n        if ((1 < uVar5) && (unaff_s3->st_dev == 0)) {\n          uStack_11c = 0;\n          _Stack_118 = 0;\n          uStack_114 = 0;\n          lStack_110 = 0;\n        }\n        if (*piStack_134 == 0) {\n          nontrivial_match = (int)*(char *)psVar24->st_dev;\n          unaff_s5 = psVar24;\n          if ((stat *)nontrivial_match == (stat *)0x0) {\n            psVar22 = (stat *)0x0;\n            goto LAB_000fac1c;\n          }\n          psVar22 = (stat *)(int)*(char *)psVar24->st_pad1[0];\n          psStack_14c = (stat *)0x0;\n          unaff_s4 = psVar22;\n          if (psVar22 == (stat *)0x0) goto LAB_000fac1c;\n          unaff_s6 = &uStack_11c;\n          psStack_148 = (stat *)&uStack_114;\n          unaff_s7 = (stat *)&uStack_10c;\n          do {\n            psVar22 = psStack_14c;\n            uVar5 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar5 < 2) || (unaff_s3->st_dev != 0)) {\n              if ((stat *)nontrivial_match != unaff_s4) goto LAB_000fac1c;\n            }\n            else {\n              uStack_10c = uStack_11c;\n              _Stack_108 = _Stack_118;\n              psStack_15c = psStack_148;\n              psStack_160 = psVar22;\n              iVar6 = (**(code **)(puStack_158 + -0x65b8))\n                                (psVar24->st_dev,psVar22,unaff_s6,psVar24->st_pad1[0]);\n              psVar20 = unaff_s7;\n              if (iVar6 == 0) goto LAB_000fac1c;\n              iVar6 = (**(code **)(puStack_158 + -0x65b4))\n                                ((int)psStack_14c->st_pad1 + (psVar24->st_dev - 4));\n              if (1 < iVar6) {\n                psVar22 = (stat *)((int)psVar22->st_pad1 + iVar6 + -5);\n              }\n            }\n            psVar22 = (stat *)((int)&psVar22->st_dev + 1);\n            nontrivial_match = (int)*(char *)((int)psVar22->st_pad1 + (psVar24->st_dev - 4));\n            psStack_14c = psVar22;\n            if ((stat *)nontrivial_match == (stat *)0x0) goto LAB_000fac1c;\n            unaff_s4 = (stat *)(int)*(char *)((int)psVar22->st_pad1 + psVar24->st_pad1[0] + -4);\n            bVar3 = (int)psVar22 < (int)psStack_140;\n          } while (unaff_s4 != (stat *)0x0);\n        }\n        else {\n          psVar22 = (stat *)0x0;\n          unaff_s7 = (stat *)&uStack_11c;\n          unaff_s6 = &uStack_114;\n          while( true ) {\n            bVar2 = *(byte *)((int)psVar22->st_pad1 + (psVar24->st_dev - 4));\n            nontrivial_match = (int)(char)bVar2;\n            unaff_s4 = (stat *)(uint)bVar2;\n            psStack_148 = psVar22;\n            psStack_144 = psVar24;\n            if (unaff_s4 == (stat *)nontrivial_match) {\n              piVar4 = (int *)(**(code **)(puStack_158 + -0x6290))();\n              if ((*(ushort *)(*piVar4 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar4 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (stat *)(*piVar4 + (int)unaff_s4 * 4);\n                nontrivial_match = unaff_s4->st_dev;\n              }\n            }\n            unaff_s5 = (stat *)&psStack_120;\n            if ((stat *)nontrivial_match == (stat *)0x0) break;\n            bVar2 = *(byte *)((int)psStack_148->st_pad1 + psStack_144->st_pad1[0] + -4);\n            psStack_14c = (stat *)(int)(char)bVar2;\n            unaff_s4 = (stat *)(uint)bVar2;\n            if ((unaff_s4 == psStack_14c) &&\n               (piVar4 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar4 + (int)unaff_s4 * 2) & 1) != 0)) {\n              piVar4 = (int *)(**(code **)(puStack_158 + -0x628c))();\n              unaff_s4 = (stat *)(*piVar4 + (int)unaff_s4 * 4);\n              psStack_14c = (stat *)unaff_s4->st_dev;\n            }\n            if (psStack_14c == (stat *)0x0) break;\n            uVar5 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar5 < 2) || (unaff_s3->st_dev != 0)) {\njoined_r0x000facac:\n              if ((stat *)nontrivial_match != psStack_14c) break;\n            }\n            else {\n              iVar6 = (int)psStack_148->st_pad1 + (psStack_144->st_dev - 4);\n              uVar9 = (**(code **)(puStack_158 + -0x60fc))(iVar6);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,iVar6,uVar9,unaff_s7);\n              unaff_s4 = (stat *)((int)psStack_148->st_pad1 + psStack_144->st_pad1[0] + -4);\n              uVar9 = (**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              psVar20 = unaff_s4;\n              iVar6 = (**(code **)(puStack_158 + -0x6084))\n                                ((stat *)&psStack_120,unaff_s4,uVar9,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar6 + 2U < 2)) goto joined_r0x000facac;\n              nontrivial_match = (**(code **)(puStack_158 + -0x5fc8))(psStack_124);\n              psStack_124 = (stat *)nontrivial_match;\n              psStack_120 = (stat *)(**(code **)(puStack_158 + -0x5fc8))(psStack_120);\n              if ((stat *)nontrivial_match != psStack_120) break;\n              if (1 < uStack_138) {\n                psVar22 = (stat *)((int)psStack_148->st_pad1 + (uStack_138 - 5));\n              }\n            }\n            psVar22 = (stat *)((int)&psVar22->st_dev + 1);\n          }\nLAB_000fac1c:\n          bVar3 = (int)psVar22 < (int)psStack_140;\n        }\n        psVar21 = psStack_130;\n        if (bVar3) {\n          psStack_140 = psVar22;\n        }\n        psStack_13c = (stat *)((int)&psStack_13c->st_dev + 1);\n        psVar24 = (stat *)psVar24->st_pad1;\n      } while ((stat *)delimiter != psStack_13c);\n      unaff_s2 = psVar24;\n      if (((psStack_140 == (stat *)0x0) && (psStack_130 != (stat *)0x0)) &&\n         (psVar22 = psStack_130, *(byte *)&psStack_130->st_dev != 0)) {\n        iVar6 = (**(code **)(puStack_158 + -0x60fc))(psStack_130);\n        iVar6 = (**(code **)(puStack_158 + -0x7f88))(iVar6 + 1);\n        *piStack_12c = iVar6;\n        psVar20 = psVar21;\n        (**(code **)(puStack_158 + -0x6074))(iVar6);\n        psVar22 = psVar21;\n        goto LAB_000fb1f0;\n      }\n    }" else (compound_statement "{\n      psVar24 = (stat *)(piVar4 + 1);\n      psStack_140 = (stat *)&__DT_SYMTAB[0x3d1].st_info;\n      psStack_13c = (stat *)0x1;\n      unaff_s3 = *(stat **)(puVar28 + 0x5d2e8);\n      piStack_134 = *(int **)(puVar28 + 0x5d454);\n      unaff_s8 = &psStack_124;\n      do {\n        uVar5 = (**(code **)(puStack_158 + -0x6060))();\n        if ((1 < uVar5) && (unaff_s3->st_dev == 0)) {\n          uStack_11c = 0;\n          _Stack_118 = 0;\n          uStack_114 = 0;\n          lStack_110 = 0;\n        }\n        if (*piStack_134 == 0) {\n          nontrivial_match = (int)*(char *)psVar24->st_dev;\n          unaff_s5 = psVar24;\n          if ((stat *)nontrivial_match == (stat *)0x0) {\n            psVar22 = (stat *)0x0;\n            goto LAB_000fac1c;\n          }\n          psVar22 = (stat *)(int)*(char *)psVar24->st_pad1[0];\n          psStack_14c = (stat *)0x0;\n          unaff_s4 = psVar22;\n          if (psVar22 == (stat *)0x0) goto LAB_000fac1c;\n          unaff_s6 = &uStack_11c;\n          psStack_148 = (stat *)&uStack_114;\n          unaff_s7 = (stat *)&uStack_10c;\n          do {\n            psVar22 = psStack_14c;\n            uVar5 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar5 < 2) || (unaff_s3->st_dev != 0)) {\n              if ((stat *)nontrivial_match != unaff_s4) goto LAB_000fac1c;\n            }\n            else {\n              uStack_10c = uStack_11c;\n              _Stack_108 = _Stack_118;\n              psStack_15c = psStack_148;\n              psStack_160 = psVar22;\n              iVar6 = (**(code **)(puStack_158 + -0x65b8))\n                                (psVar24->st_dev,psVar22,unaff_s6,psVar24->st_pad1[0]);\n              psVar20 = unaff_s7;\n              if (iVar6 == 0) goto LAB_000fac1c;\n              iVar6 = (**(code **)(puStack_158 + -0x65b4))\n                                ((int)psStack_14c->st_pad1 + (psVar24->st_dev - 4));\n              if (1 < iVar6) {\n                psVar22 = (stat *)((int)psVar22->st_pad1 + iVar6 + -5);\n              }\n            }\n            psVar22 = (stat *)((int)&psVar22->st_dev + 1);\n            nontrivial_match = (int)*(char *)((int)psVar22->st_pad1 + (psVar24->st_dev - 4));\n            psStack_14c = psVar22;\n            if ((stat *)nontrivial_match == (stat *)0x0) goto LAB_000fac1c;\n            unaff_s4 = (stat *)(int)*(char *)((int)psVar22->st_pad1 + psVar24->st_pad1[0] + -4);\n            bVar3 = (int)psVar22 < (int)psStack_140;\n          } while (unaff_s4 != (stat *)0x0);\n        }\n        else {\n          psVar22 = (stat *)0x0;\n          unaff_s7 = (stat *)&uStack_11c;\n          unaff_s6 = &uStack_114;\n          while( true ) {\n            bVar2 = *(byte *)((int)psVar22->st_pad1 + (psVar24->st_dev - 4));\n            nontrivial_match = (int)(char)bVar2;\n            unaff_s4 = (stat *)(uint)bVar2;\n            psStack_148 = psVar22;\n            psStack_144 = psVar24;\n            if (unaff_s4 == (stat *)nontrivial_match) {\n              piVar4 = (int *)(**(code **)(puStack_158 + -0x6290))();\n              if ((*(ushort *)(*piVar4 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar4 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (stat *)(*piVar4 + (int)unaff_s4 * 4);\n                nontrivial_match = unaff_s4->st_dev;\n              }\n            }\n            unaff_s5 = (stat *)&psStack_120;\n            if ((stat *)nontrivial_match == (stat *)0x0) break;\n            bVar2 = *(byte *)((int)psStack_148->st_pad1 + psStack_144->st_pad1[0] + -4);\n            psStack_14c = (stat *)(int)(char)bVar2;\n            unaff_s4 = (stat *)(uint)bVar2;\n            if ((unaff_s4 == psStack_14c) &&\n               (piVar4 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar4 + (int)unaff_s4 * 2) & 1) != 0)) {\n              piVar4 = (int *)(**(code **)(puStack_158 + -0x628c))();\n              unaff_s4 = (stat *)(*piVar4 + (int)unaff_s4 * 4);\n              psStack_14c = (stat *)unaff_s4->st_dev;\n            }\n            if (psStack_14c == (stat *)0x0) break;\n            uVar5 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar5 < 2) || (unaff_s3->st_dev != 0)) {\njoined_r0x000facac:\n              if ((stat *)nontrivial_match != psStack_14c) break;\n            }\n            else {\n              iVar6 = (int)psStack_148->st_pad1 + (psStack_144->st_dev - 4);\n              uVar9 = (**(code **)(puStack_158 + -0x60fc))(iVar6);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,iVar6,uVar9,unaff_s7);\n              unaff_s4 = (stat *)((int)psStack_148->st_pad1 + psStack_144->st_pad1[0] + -4);\n              uVar9 = (**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              psVar20 = unaff_s4;\n              iVar6 = (**(code **)(puStack_158 + -0x6084))\n                                ((stat *)&psStack_120,unaff_s4,uVar9,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar6 + 2U < 2)) goto joined_r0x000facac;\n              nontrivial_match = (**(code **)(puStack_158 + -0x5fc8))(psStack_124);\n              psStack_124 = (stat *)nontrivial_match;\n              psStack_120 = (stat *)(**(code **)(puStack_158 + -0x5fc8))(psStack_120);\n              if ((stat *)nontrivial_match != psStack_120) break;\n              if (1 < uStack_138) {\n                psVar22 = (stat *)((int)psStack_148->st_pad1 + (uStack_138 - 5));\n              }\n            }\n            psVar22 = (stat *)((int)&psVar22->st_dev + 1);\n          }\nLAB_000fac1c:\n          bVar3 = (int)psVar22 < (int)psStack_140;\n        }\n        psVar21 = psStack_130;\n        if (bVar3) {\n          psStack_140 = psVar22;\n        }\n        psStack_13c = (stat *)((int)&psStack_13c->st_dev + 1);\n        psVar24 = (stat *)psVar24->st_pad1;\n      } while ((stat *)delimiter != psStack_13c);\n      unaff_s2 = psVar24;\n      if (((psStack_140 == (stat *)0x0) && (psStack_130 != (stat *)0x0)) &&\n         (psVar22 = psStack_130, *(byte *)&psStack_130->st_dev != 0)) {\n        iVar6 = (**(code **)(puStack_158 + -0x60fc))(psStack_130);\n        iVar6 = (**(code **)(puStack_158 + -0x7f88))(iVar6 + 1);\n        *piStack_12c = iVar6;\n        psVar20 = psVar21;\n        (**(code **)(puStack_158 + -0x6074))(iVar6);\n        psVar22 = psVar21;\n        goto LAB_000fb1f0;\n      }\n    }" { (expression_statement "psVar24 = (stat *)(piVar4 + 1);" (assignment_expression "psVar24 = (stat *)(piVar4 + 1)" identifier = (cast_expression "(stat *)(piVar4 + 1)" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar4 + 1)" ( (binary_expression "piVar4 + 1" identifier + number_literal) )))) ;) (expression_statement "psStack_140 = (stat *)&__DT_SYMTAB[0x3d1].st_info;" (assignment_expression "psStack_140 = (stat *)&__DT_SYMTAB[0x3d1].st_info" identifier = (cast_expression "(stat *)&__DT_SYMTAB[0x3d1].st_info" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&__DT_SYMTAB[0x3d1].st_info" & (field_expression "__DT_SYMTAB[0x3d1].st_info" (subscript_expression "__DT_SYMTAB[0x3d1]" identifier [ number_literal ]) . field_identifier)))) ;) (expression_statement "psStack_13c = (stat *)0x1;" (assignment_expression "psStack_13c = (stat *)0x1" identifier = (cast_expression "(stat *)0x1" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "unaff_s3 = *(stat **)(puVar28 + 0x5d2e8);" (assignment_expression "unaff_s3 = *(stat **)(puVar28 + 0x5d2e8)" identifier = (pointer_expression "*(stat **)(puVar28 + 0x5d2e8)" * (cast_expression "(stat **)(puVar28 + 0x5d2e8)" ( (type_descriptor "stat **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + 0x5d2e8)" ( (binary_expression "puVar28 + 0x5d2e8" identifier + number_literal) ))))) ;) (expression_statement "piStack_134 = *(int **)(puVar28 + 0x5d454);" (assignment_expression "piStack_134 = *(int **)(puVar28 + 0x5d454)" identifier = (pointer_expression "*(int **)(puVar28 + 0x5d454)" * (cast_expression "(int **)(puVar28 + 0x5d454)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + 0x5d454)" ( (binary_expression "puVar28 + 0x5d454" identifier + number_literal) ))))) ;) (expression_statement "unaff_s8 = &psStack_124;" (assignment_expression "unaff_s8 = &psStack_124" identifier = (pointer_expression "&psStack_124" & identifier)) ;) (do_statement "do {\n        uVar5 = (**(code **)(puStack_158 + -0x6060))();\n        if ((1 < uVar5) && (unaff_s3->st_dev == 0)) {\n          uStack_11c = 0;\n          _Stack_118 = 0;\n          uStack_114 = 0;\n          lStack_110 = 0;\n        }\n        if (*piStack_134 == 0) {\n          nontrivial_match = (int)*(char *)psVar24->st_dev;\n          unaff_s5 = psVar24;\n          if ((stat *)nontrivial_match == (stat *)0x0) {\n            psVar22 = (stat *)0x0;\n            goto LAB_000fac1c;\n          }\n          psVar22 = (stat *)(int)*(char *)psVar24->st_pad1[0];\n          psStack_14c = (stat *)0x0;\n          unaff_s4 = psVar22;\n          if (psVar22 == (stat *)0x0) goto LAB_000fac1c;\n          unaff_s6 = &uStack_11c;\n          psStack_148 = (stat *)&uStack_114;\n          unaff_s7 = (stat *)&uStack_10c;\n          do {\n            psVar22 = psStack_14c;\n            uVar5 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar5 < 2) || (unaff_s3->st_dev != 0)) {\n              if ((stat *)nontrivial_match != unaff_s4) goto LAB_000fac1c;\n            }\n            else {\n              uStack_10c = uStack_11c;\n              _Stack_108 = _Stack_118;\n              psStack_15c = psStack_148;\n              psStack_160 = psVar22;\n              iVar6 = (**(code **)(puStack_158 + -0x65b8))\n                                (psVar24->st_dev,psVar22,unaff_s6,psVar24->st_pad1[0]);\n              psVar20 = unaff_s7;\n              if (iVar6 == 0) goto LAB_000fac1c;\n              iVar6 = (**(code **)(puStack_158 + -0x65b4))\n                                ((int)psStack_14c->st_pad1 + (psVar24->st_dev - 4));\n              if (1 < iVar6) {\n                psVar22 = (stat *)((int)psVar22->st_pad1 + iVar6 + -5);\n              }\n            }\n            psVar22 = (stat *)((int)&psVar22->st_dev + 1);\n            nontrivial_match = (int)*(char *)((int)psVar22->st_pad1 + (psVar24->st_dev - 4));\n            psStack_14c = psVar22;\n            if ((stat *)nontrivial_match == (stat *)0x0) goto LAB_000fac1c;\n            unaff_s4 = (stat *)(int)*(char *)((int)psVar22->st_pad1 + psVar24->st_pad1[0] + -4);\n            bVar3 = (int)psVar22 < (int)psStack_140;\n          } while (unaff_s4 != (stat *)0x0);\n        }\n        else {\n          psVar22 = (stat *)0x0;\n          unaff_s7 = (stat *)&uStack_11c;\n          unaff_s6 = &uStack_114;\n          while( true ) {\n            bVar2 = *(byte *)((int)psVar22->st_pad1 + (psVar24->st_dev - 4));\n            nontrivial_match = (int)(char)bVar2;\n            unaff_s4 = (stat *)(uint)bVar2;\n            psStack_148 = psVar22;\n            psStack_144 = psVar24;\n            if (unaff_s4 == (stat *)nontrivial_match) {\n              piVar4 = (int *)(**(code **)(puStack_158 + -0x6290))();\n              if ((*(ushort *)(*piVar4 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar4 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (stat *)(*piVar4 + (int)unaff_s4 * 4);\n                nontrivial_match = unaff_s4->st_dev;\n              }\n            }\n            unaff_s5 = (stat *)&psStack_120;\n            if ((stat *)nontrivial_match == (stat *)0x0) break;\n            bVar2 = *(byte *)((int)psStack_148->st_pad1 + psStack_144->st_pad1[0] + -4);\n            psStack_14c = (stat *)(int)(char)bVar2;\n            unaff_s4 = (stat *)(uint)bVar2;\n            if ((unaff_s4 == psStack_14c) &&\n               (piVar4 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar4 + (int)unaff_s4 * 2) & 1) != 0)) {\n              piVar4 = (int *)(**(code **)(puStack_158 + -0x628c))();\n              unaff_s4 = (stat *)(*piVar4 + (int)unaff_s4 * 4);\n              psStack_14c = (stat *)unaff_s4->st_dev;\n            }\n            if (psStack_14c == (stat *)0x0) break;\n            uVar5 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar5 < 2) || (unaff_s3->st_dev != 0)) {\njoined_r0x000facac:\n              if ((stat *)nontrivial_match != psStack_14c) break;\n            }\n            else {\n              iVar6 = (int)psStack_148->st_pad1 + (psStack_144->st_dev - 4);\n              uVar9 = (**(code **)(puStack_158 + -0x60fc))(iVar6);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,iVar6,uVar9,unaff_s7);\n              unaff_s4 = (stat *)((int)psStack_148->st_pad1 + psStack_144->st_pad1[0] + -4);\n              uVar9 = (**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              psVar20 = unaff_s4;\n              iVar6 = (**(code **)(puStack_158 + -0x6084))\n                                ((stat *)&psStack_120,unaff_s4,uVar9,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar6 + 2U < 2)) goto joined_r0x000facac;\n              nontrivial_match = (**(code **)(puStack_158 + -0x5fc8))(psStack_124);\n              psStack_124 = (stat *)nontrivial_match;\n              psStack_120 = (stat *)(**(code **)(puStack_158 + -0x5fc8))(psStack_120);\n              if ((stat *)nontrivial_match != psStack_120) break;\n              if (1 < uStack_138) {\n                psVar22 = (stat *)((int)psStack_148->st_pad1 + (uStack_138 - 5));\n              }\n            }\n            psVar22 = (stat *)((int)&psVar22->st_dev + 1);\n          }\nLAB_000fac1c:\n          bVar3 = (int)psVar22 < (int)psStack_140;\n        }\n        psVar21 = psStack_130;\n        if (bVar3) {\n          psStack_140 = psVar22;\n        }\n        psStack_13c = (stat *)((int)&psStack_13c->st_dev + 1);\n        psVar24 = (stat *)psVar24->st_pad1;\n      } while ((stat *)delimiter != psStack_13c);" do (compound_statement "{\n        uVar5 = (**(code **)(puStack_158 + -0x6060))();\n        if ((1 < uVar5) && (unaff_s3->st_dev == 0)) {\n          uStack_11c = 0;\n          _Stack_118 = 0;\n          uStack_114 = 0;\n          lStack_110 = 0;\n        }\n        if (*piStack_134 == 0) {\n          nontrivial_match = (int)*(char *)psVar24->st_dev;\n          unaff_s5 = psVar24;\n          if ((stat *)nontrivial_match == (stat *)0x0) {\n            psVar22 = (stat *)0x0;\n            goto LAB_000fac1c;\n          }\n          psVar22 = (stat *)(int)*(char *)psVar24->st_pad1[0];\n          psStack_14c = (stat *)0x0;\n          unaff_s4 = psVar22;\n          if (psVar22 == (stat *)0x0) goto LAB_000fac1c;\n          unaff_s6 = &uStack_11c;\n          psStack_148 = (stat *)&uStack_114;\n          unaff_s7 = (stat *)&uStack_10c;\n          do {\n            psVar22 = psStack_14c;\n            uVar5 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar5 < 2) || (unaff_s3->st_dev != 0)) {\n              if ((stat *)nontrivial_match != unaff_s4) goto LAB_000fac1c;\n            }\n            else {\n              uStack_10c = uStack_11c;\n              _Stack_108 = _Stack_118;\n              psStack_15c = psStack_148;\n              psStack_160 = psVar22;\n              iVar6 = (**(code **)(puStack_158 + -0x65b8))\n                                (psVar24->st_dev,psVar22,unaff_s6,psVar24->st_pad1[0]);\n              psVar20 = unaff_s7;\n              if (iVar6 == 0) goto LAB_000fac1c;\n              iVar6 = (**(code **)(puStack_158 + -0x65b4))\n                                ((int)psStack_14c->st_pad1 + (psVar24->st_dev - 4));\n              if (1 < iVar6) {\n                psVar22 = (stat *)((int)psVar22->st_pad1 + iVar6 + -5);\n              }\n            }\n            psVar22 = (stat *)((int)&psVar22->st_dev + 1);\n            nontrivial_match = (int)*(char *)((int)psVar22->st_pad1 + (psVar24->st_dev - 4));\n            psStack_14c = psVar22;\n            if ((stat *)nontrivial_match == (stat *)0x0) goto LAB_000fac1c;\n            unaff_s4 = (stat *)(int)*(char *)((int)psVar22->st_pad1 + psVar24->st_pad1[0] + -4);\n            bVar3 = (int)psVar22 < (int)psStack_140;\n          } while (unaff_s4 != (stat *)0x0);\n        }\n        else {\n          psVar22 = (stat *)0x0;\n          unaff_s7 = (stat *)&uStack_11c;\n          unaff_s6 = &uStack_114;\n          while( true ) {\n            bVar2 = *(byte *)((int)psVar22->st_pad1 + (psVar24->st_dev - 4));\n            nontrivial_match = (int)(char)bVar2;\n            unaff_s4 = (stat *)(uint)bVar2;\n            psStack_148 = psVar22;\n            psStack_144 = psVar24;\n            if (unaff_s4 == (stat *)nontrivial_match) {\n              piVar4 = (int *)(**(code **)(puStack_158 + -0x6290))();\n              if ((*(ushort *)(*piVar4 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar4 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (stat *)(*piVar4 + (int)unaff_s4 * 4);\n                nontrivial_match = unaff_s4->st_dev;\n              }\n            }\n            unaff_s5 = (stat *)&psStack_120;\n            if ((stat *)nontrivial_match == (stat *)0x0) break;\n            bVar2 = *(byte *)((int)psStack_148->st_pad1 + psStack_144->st_pad1[0] + -4);\n            psStack_14c = (stat *)(int)(char)bVar2;\n            unaff_s4 = (stat *)(uint)bVar2;\n            if ((unaff_s4 == psStack_14c) &&\n               (piVar4 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar4 + (int)unaff_s4 * 2) & 1) != 0)) {\n              piVar4 = (int *)(**(code **)(puStack_158 + -0x628c))();\n              unaff_s4 = (stat *)(*piVar4 + (int)unaff_s4 * 4);\n              psStack_14c = (stat *)unaff_s4->st_dev;\n            }\n            if (psStack_14c == (stat *)0x0) break;\n            uVar5 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar5 < 2) || (unaff_s3->st_dev != 0)) {\njoined_r0x000facac:\n              if ((stat *)nontrivial_match != psStack_14c) break;\n            }\n            else {\n              iVar6 = (int)psStack_148->st_pad1 + (psStack_144->st_dev - 4);\n              uVar9 = (**(code **)(puStack_158 + -0x60fc))(iVar6);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,iVar6,uVar9,unaff_s7);\n              unaff_s4 = (stat *)((int)psStack_148->st_pad1 + psStack_144->st_pad1[0] + -4);\n              uVar9 = (**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              psVar20 = unaff_s4;\n              iVar6 = (**(code **)(puStack_158 + -0x6084))\n                                ((stat *)&psStack_120,unaff_s4,uVar9,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar6 + 2U < 2)) goto joined_r0x000facac;\n              nontrivial_match = (**(code **)(puStack_158 + -0x5fc8))(psStack_124);\n              psStack_124 = (stat *)nontrivial_match;\n              psStack_120 = (stat *)(**(code **)(puStack_158 + -0x5fc8))(psStack_120);\n              if ((stat *)nontrivial_match != psStack_120) break;\n              if (1 < uStack_138) {\n                psVar22 = (stat *)((int)psStack_148->st_pad1 + (uStack_138 - 5));\n              }\n            }\n            psVar22 = (stat *)((int)&psVar22->st_dev + 1);\n          }\nLAB_000fac1c:\n          bVar3 = (int)psVar22 < (int)psStack_140;\n        }\n        psVar21 = psStack_130;\n        if (bVar3) {\n          psStack_140 = psVar22;\n        }\n        psStack_13c = (stat *)((int)&psStack_13c->st_dev + 1);\n        psVar24 = (stat *)psVar24->st_pad1;\n      }" { (expression_statement "uVar5 = (**(code **)(puStack_158 + -0x6060))();" (assignment_expression "uVar5 = (**(code **)(puStack_158 + -0x6060))()" identifier = (call_expression "(**(code **)(puStack_158 + -0x6060))()" (parenthesized_expression "(**(code **)(puStack_158 + -0x6060))" ( (pointer_expression "**(code **)(puStack_158 + -0x6060)" * (pointer_expression "*(code **)(puStack_158 + -0x6060)" * (cast_expression "(code **)(puStack_158 + -0x6060)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x6060)" ( (binary_expression "puStack_158 + -0x6060" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if ((1 < uVar5) && (unaff_s3->st_dev == 0)) {\n          uStack_11c = 0;\n          _Stack_118 = 0;\n          uStack_114 = 0;\n          lStack_110 = 0;\n        }" if (parenthesized_expression "((1 < uVar5) && (unaff_s3->st_dev == 0))" ( (binary_expression "(1 < uVar5) && (unaff_s3->st_dev == 0)" (parenthesized_expression "(1 < uVar5)" ( (binary_expression "1 < uVar5" number_literal < identifier) )) && (parenthesized_expression "(unaff_s3->st_dev == 0)" ( (binary_expression "unaff_s3->st_dev == 0" (field_expression "unaff_s3->st_dev" identifier -> field_identifier) == number_literal) ))) )) (compound_statement "{\n          uStack_11c = 0;\n          _Stack_118 = 0;\n          uStack_114 = 0;\n          lStack_110 = 0;\n        }" { (expression_statement "uStack_11c = 0;" (assignment_expression "uStack_11c = 0" identifier = number_literal) ;) (expression_statement "_Stack_118 = 0;" (assignment_expression "_Stack_118 = 0" identifier = number_literal) ;) (expression_statement "uStack_114 = 0;" (assignment_expression "uStack_114 = 0" identifier = number_literal) ;) (expression_statement "lStack_110 = 0;" (assignment_expression "lStack_110 = 0" identifier = number_literal) ;) })) (if_statement "if (*piStack_134 == 0) {\n          nontrivial_match = (int)*(char *)psVar24->st_dev;\n          unaff_s5 = psVar24;\n          if ((stat *)nontrivial_match == (stat *)0x0) {\n            psVar22 = (stat *)0x0;\n            goto LAB_000fac1c;\n          }\n          psVar22 = (stat *)(int)*(char *)psVar24->st_pad1[0];\n          psStack_14c = (stat *)0x0;\n          unaff_s4 = psVar22;\n          if (psVar22 == (stat *)0x0) goto LAB_000fac1c;\n          unaff_s6 = &uStack_11c;\n          psStack_148 = (stat *)&uStack_114;\n          unaff_s7 = (stat *)&uStack_10c;\n          do {\n            psVar22 = psStack_14c;\n            uVar5 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar5 < 2) || (unaff_s3->st_dev != 0)) {\n              if ((stat *)nontrivial_match != unaff_s4) goto LAB_000fac1c;\n            }\n            else {\n              uStack_10c = uStack_11c;\n              _Stack_108 = _Stack_118;\n              psStack_15c = psStack_148;\n              psStack_160 = psVar22;\n              iVar6 = (**(code **)(puStack_158 + -0x65b8))\n                                (psVar24->st_dev,psVar22,unaff_s6,psVar24->st_pad1[0]);\n              psVar20 = unaff_s7;\n              if (iVar6 == 0) goto LAB_000fac1c;\n              iVar6 = (**(code **)(puStack_158 + -0x65b4))\n                                ((int)psStack_14c->st_pad1 + (psVar24->st_dev - 4));\n              if (1 < iVar6) {\n                psVar22 = (stat *)((int)psVar22->st_pad1 + iVar6 + -5);\n              }\n            }\n            psVar22 = (stat *)((int)&psVar22->st_dev + 1);\n            nontrivial_match = (int)*(char *)((int)psVar22->st_pad1 + (psVar24->st_dev - 4));\n            psStack_14c = psVar22;\n            if ((stat *)nontrivial_match == (stat *)0x0) goto LAB_000fac1c;\n            unaff_s4 = (stat *)(int)*(char *)((int)psVar22->st_pad1 + psVar24->st_pad1[0] + -4);\n            bVar3 = (int)psVar22 < (int)psStack_140;\n          } while (unaff_s4 != (stat *)0x0);\n        }\n        else {\n          psVar22 = (stat *)0x0;\n          unaff_s7 = (stat *)&uStack_11c;\n          unaff_s6 = &uStack_114;\n          while( true ) {\n            bVar2 = *(byte *)((int)psVar22->st_pad1 + (psVar24->st_dev - 4));\n            nontrivial_match = (int)(char)bVar2;\n            unaff_s4 = (stat *)(uint)bVar2;\n            psStack_148 = psVar22;\n            psStack_144 = psVar24;\n            if (unaff_s4 == (stat *)nontrivial_match) {\n              piVar4 = (int *)(**(code **)(puStack_158 + -0x6290))();\n              if ((*(ushort *)(*piVar4 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar4 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (stat *)(*piVar4 + (int)unaff_s4 * 4);\n                nontrivial_match = unaff_s4->st_dev;\n              }\n            }\n            unaff_s5 = (stat *)&psStack_120;\n            if ((stat *)nontrivial_match == (stat *)0x0) break;\n            bVar2 = *(byte *)((int)psStack_148->st_pad1 + psStack_144->st_pad1[0] + -4);\n            psStack_14c = (stat *)(int)(char)bVar2;\n            unaff_s4 = (stat *)(uint)bVar2;\n            if ((unaff_s4 == psStack_14c) &&\n               (piVar4 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar4 + (int)unaff_s4 * 2) & 1) != 0)) {\n              piVar4 = (int *)(**(code **)(puStack_158 + -0x628c))();\n              unaff_s4 = (stat *)(*piVar4 + (int)unaff_s4 * 4);\n              psStack_14c = (stat *)unaff_s4->st_dev;\n            }\n            if (psStack_14c == (stat *)0x0) break;\n            uVar5 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar5 < 2) || (unaff_s3->st_dev != 0)) {\njoined_r0x000facac:\n              if ((stat *)nontrivial_match != psStack_14c) break;\n            }\n            else {\n              iVar6 = (int)psStack_148->st_pad1 + (psStack_144->st_dev - 4);\n              uVar9 = (**(code **)(puStack_158 + -0x60fc))(iVar6);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,iVar6,uVar9,unaff_s7);\n              unaff_s4 = (stat *)((int)psStack_148->st_pad1 + psStack_144->st_pad1[0] + -4);\n              uVar9 = (**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              psVar20 = unaff_s4;\n              iVar6 = (**(code **)(puStack_158 + -0x6084))\n                                ((stat *)&psStack_120,unaff_s4,uVar9,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar6 + 2U < 2)) goto joined_r0x000facac;\n              nontrivial_match = (**(code **)(puStack_158 + -0x5fc8))(psStack_124);\n              psStack_124 = (stat *)nontrivial_match;\n              psStack_120 = (stat *)(**(code **)(puStack_158 + -0x5fc8))(psStack_120);\n              if ((stat *)nontrivial_match != psStack_120) break;\n              if (1 < uStack_138) {\n                psVar22 = (stat *)((int)psStack_148->st_pad1 + (uStack_138 - 5));\n              }\n            }\n            psVar22 = (stat *)((int)&psVar22->st_dev + 1);\n          }\nLAB_000fac1c:\n          bVar3 = (int)psVar22 < (int)psStack_140;\n        }" if (parenthesized_expression "(*piStack_134 == 0)" ( (binary_expression "*piStack_134 == 0" (pointer_expression "*piStack_134" * identifier) == number_literal) )) (compound_statement "{\n          nontrivial_match = (int)*(char *)psVar24->st_dev;\n          unaff_s5 = psVar24;\n          if ((stat *)nontrivial_match == (stat *)0x0) {\n            psVar22 = (stat *)0x0;\n            goto LAB_000fac1c;\n          }\n          psVar22 = (stat *)(int)*(char *)psVar24->st_pad1[0];\n          psStack_14c = (stat *)0x0;\n          unaff_s4 = psVar22;\n          if (psVar22 == (stat *)0x0) goto LAB_000fac1c;\n          unaff_s6 = &uStack_11c;\n          psStack_148 = (stat *)&uStack_114;\n          unaff_s7 = (stat *)&uStack_10c;\n          do {\n            psVar22 = psStack_14c;\n            uVar5 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar5 < 2) || (unaff_s3->st_dev != 0)) {\n              if ((stat *)nontrivial_match != unaff_s4) goto LAB_000fac1c;\n            }\n            else {\n              uStack_10c = uStack_11c;\n              _Stack_108 = _Stack_118;\n              psStack_15c = psStack_148;\n              psStack_160 = psVar22;\n              iVar6 = (**(code **)(puStack_158 + -0x65b8))\n                                (psVar24->st_dev,psVar22,unaff_s6,psVar24->st_pad1[0]);\n              psVar20 = unaff_s7;\n              if (iVar6 == 0) goto LAB_000fac1c;\n              iVar6 = (**(code **)(puStack_158 + -0x65b4))\n                                ((int)psStack_14c->st_pad1 + (psVar24->st_dev - 4));\n              if (1 < iVar6) {\n                psVar22 = (stat *)((int)psVar22->st_pad1 + iVar6 + -5);\n              }\n            }\n            psVar22 = (stat *)((int)&psVar22->st_dev + 1);\n            nontrivial_match = (int)*(char *)((int)psVar22->st_pad1 + (psVar24->st_dev - 4));\n            psStack_14c = psVar22;\n            if ((stat *)nontrivial_match == (stat *)0x0) goto LAB_000fac1c;\n            unaff_s4 = (stat *)(int)*(char *)((int)psVar22->st_pad1 + psVar24->st_pad1[0] + -4);\n            bVar3 = (int)psVar22 < (int)psStack_140;\n          } while (unaff_s4 != (stat *)0x0);\n        }" { (expression_statement "nontrivial_match = (int)*(char *)psVar24->st_dev;" (assignment_expression "nontrivial_match = (int)*(char *)psVar24->st_dev" identifier = (cast_expression "(int)*(char *)psVar24->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(char *)psVar24->st_dev" * (cast_expression "(char *)psVar24->st_dev" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "psVar24->st_dev" identifier -> field_identifier))))) ;) (expression_statement "unaff_s5 = psVar24;" (assignment_expression "unaff_s5 = psVar24" identifier = identifier) ;) (if_statement "if ((stat *)nontrivial_match == (stat *)0x0) {\n            psVar22 = (stat *)0x0;\n            goto LAB_000fac1c;\n          }" if (parenthesized_expression "((stat *)nontrivial_match == (stat *)0x0)" ( (binary_expression "(stat *)nontrivial_match == (stat *)0x0" (cast_expression "(stat *)nontrivial_match" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) == (cast_expression "(stat *)0x0" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            psVar22 = (stat *)0x0;\n            goto LAB_000fac1c;\n          }" { (expression_statement "psVar22 = (stat *)0x0;" (assignment_expression "psVar22 = (stat *)0x0" identifier = (cast_expression "(stat *)0x0" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000fac1c;" goto statement_identifier ;) })) (expression_statement "psVar22 = (stat *)(int)*(char *)psVar24->st_pad1[0];" (assignment_expression "psVar22 = (stat *)(int)*(char *)psVar24->st_pad1[0]" identifier = (cast_expression "(stat *)(int)*(char *)psVar24->st_pad1[0]" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)*(char *)psVar24->st_pad1[0]" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(char *)psVar24->st_pad1[0]" * (cast_expression "(char *)psVar24->st_pad1[0]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "psVar24->st_pad1[0]" (field_expression "psVar24->st_pad1" identifier -> field_identifier) [ number_literal ])))))) ;) (expression_statement "psStack_14c = (stat *)0x0;" (assignment_expression "psStack_14c = (stat *)0x0" identifier = (cast_expression "(stat *)0x0" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "unaff_s4 = psVar22;" (assignment_expression "unaff_s4 = psVar22" identifier = identifier) ;) (if_statement "if (psVar22 == (stat *)0x0) goto LAB_000fac1c;" if (parenthesized_expression "(psVar22 == (stat *)0x0)" ( (binary_expression "psVar22 == (stat *)0x0" identifier == (cast_expression "(stat *)0x0" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000fac1c;" goto statement_identifier ;)) (expression_statement "unaff_s6 = &uStack_11c;" (assignment_expression "unaff_s6 = &uStack_11c" identifier = (pointer_expression "&uStack_11c" & identifier)) ;) (expression_statement "psStack_148 = (stat *)&uStack_114;" (assignment_expression "psStack_148 = (stat *)&uStack_114" identifier = (cast_expression "(stat *)&uStack_114" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&uStack_114" & identifier))) ;) (expression_statement "unaff_s7 = (stat *)&uStack_10c;" (assignment_expression "unaff_s7 = (stat *)&uStack_10c" identifier = (cast_expression "(stat *)&uStack_10c" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&uStack_10c" & identifier))) ;) (do_statement "do {\n            psVar22 = psStack_14c;\n            uVar5 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar5 < 2) || (unaff_s3->st_dev != 0)) {\n              if ((stat *)nontrivial_match != unaff_s4) goto LAB_000fac1c;\n            }\n            else {\n              uStack_10c = uStack_11c;\n              _Stack_108 = _Stack_118;\n              psStack_15c = psStack_148;\n              psStack_160 = psVar22;\n              iVar6 = (**(code **)(puStack_158 + -0x65b8))\n                                (psVar24->st_dev,psVar22,unaff_s6,psVar24->st_pad1[0]);\n              psVar20 = unaff_s7;\n              if (iVar6 == 0) goto LAB_000fac1c;\n              iVar6 = (**(code **)(puStack_158 + -0x65b4))\n                                ((int)psStack_14c->st_pad1 + (psVar24->st_dev - 4));\n              if (1 < iVar6) {\n                psVar22 = (stat *)((int)psVar22->st_pad1 + iVar6 + -5);\n              }\n            }\n            psVar22 = (stat *)((int)&psVar22->st_dev + 1);\n            nontrivial_match = (int)*(char *)((int)psVar22->st_pad1 + (psVar24->st_dev - 4));\n            psStack_14c = psVar22;\n            if ((stat *)nontrivial_match == (stat *)0x0) goto LAB_000fac1c;\n            unaff_s4 = (stat *)(int)*(char *)((int)psVar22->st_pad1 + psVar24->st_pad1[0] + -4);\n            bVar3 = (int)psVar22 < (int)psStack_140;\n          } while (unaff_s4 != (stat *)0x0);" do (compound_statement "{\n            psVar22 = psStack_14c;\n            uVar5 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar5 < 2) || (unaff_s3->st_dev != 0)) {\n              if ((stat *)nontrivial_match != unaff_s4) goto LAB_000fac1c;\n            }\n            else {\n              uStack_10c = uStack_11c;\n              _Stack_108 = _Stack_118;\n              psStack_15c = psStack_148;\n              psStack_160 = psVar22;\n              iVar6 = (**(code **)(puStack_158 + -0x65b8))\n                                (psVar24->st_dev,psVar22,unaff_s6,psVar24->st_pad1[0]);\n              psVar20 = unaff_s7;\n              if (iVar6 == 0) goto LAB_000fac1c;\n              iVar6 = (**(code **)(puStack_158 + -0x65b4))\n                                ((int)psStack_14c->st_pad1 + (psVar24->st_dev - 4));\n              if (1 < iVar6) {\n                psVar22 = (stat *)((int)psVar22->st_pad1 + iVar6 + -5);\n              }\n            }\n            psVar22 = (stat *)((int)&psVar22->st_dev + 1);\n            nontrivial_match = (int)*(char *)((int)psVar22->st_pad1 + (psVar24->st_dev - 4));\n            psStack_14c = psVar22;\n            if ((stat *)nontrivial_match == (stat *)0x0) goto LAB_000fac1c;\n            unaff_s4 = (stat *)(int)*(char *)((int)psVar22->st_pad1 + psVar24->st_pad1[0] + -4);\n            bVar3 = (int)psVar22 < (int)psStack_140;\n          }" { (expression_statement "psVar22 = psStack_14c;" (assignment_expression "psVar22 = psStack_14c" identifier = identifier) ;) (expression_statement "uVar5 = (**(code **)(puStack_158 + -0x6060))();" (assignment_expression "uVar5 = (**(code **)(puStack_158 + -0x6060))()" identifier = (call_expression "(**(code **)(puStack_158 + -0x6060))()" (parenthesized_expression "(**(code **)(puStack_158 + -0x6060))" ( (pointer_expression "**(code **)(puStack_158 + -0x6060)" * (pointer_expression "*(code **)(puStack_158 + -0x6060)" * (cast_expression "(code **)(puStack_158 + -0x6060)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x6060)" ( (binary_expression "puStack_158 + -0x6060" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if ((uVar5 < 2) || (unaff_s3->st_dev != 0)) {\n              if ((stat *)nontrivial_match != unaff_s4) goto LAB_000fac1c;\n            }\n            else {\n              uStack_10c = uStack_11c;\n              _Stack_108 = _Stack_118;\n              psStack_15c = psStack_148;\n              psStack_160 = psVar22;\n              iVar6 = (**(code **)(puStack_158 + -0x65b8))\n                                (psVar24->st_dev,psVar22,unaff_s6,psVar24->st_pad1[0]);\n              psVar20 = unaff_s7;\n              if (iVar6 == 0) goto LAB_000fac1c;\n              iVar6 = (**(code **)(puStack_158 + -0x65b4))\n                                ((int)psStack_14c->st_pad1 + (psVar24->st_dev - 4));\n              if (1 < iVar6) {\n                psVar22 = (stat *)((int)psVar22->st_pad1 + iVar6 + -5);\n              }\n            }" if (parenthesized_expression "((uVar5 < 2) || (unaff_s3->st_dev != 0))" ( (binary_expression "(uVar5 < 2) || (unaff_s3->st_dev != 0)" (parenthesized_expression "(uVar5 < 2)" ( (binary_expression "uVar5 < 2" identifier < number_literal) )) || (parenthesized_expression "(unaff_s3->st_dev != 0)" ( (binary_expression "unaff_s3->st_dev != 0" (field_expression "unaff_s3->st_dev" identifier -> field_identifier) != number_literal) ))) )) (compound_statement "{\n              if ((stat *)nontrivial_match != unaff_s4) goto LAB_000fac1c;\n            }" { (if_statement "if ((stat *)nontrivial_match != unaff_s4) goto LAB_000fac1c;" if (parenthesized_expression "((stat *)nontrivial_match != unaff_s4)" ( (binary_expression "(stat *)nontrivial_match != unaff_s4" (cast_expression "(stat *)nontrivial_match" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) != identifier) )) (goto_statement "goto LAB_000fac1c;" goto statement_identifier ;)) }) (else_clause "else {\n              uStack_10c = uStack_11c;\n              _Stack_108 = _Stack_118;\n              psStack_15c = psStack_148;\n              psStack_160 = psVar22;\n              iVar6 = (**(code **)(puStack_158 + -0x65b8))\n                                (psVar24->st_dev,psVar22,unaff_s6,psVar24->st_pad1[0]);\n              psVar20 = unaff_s7;\n              if (iVar6 == 0) goto LAB_000fac1c;\n              iVar6 = (**(code **)(puStack_158 + -0x65b4))\n                                ((int)psStack_14c->st_pad1 + (psVar24->st_dev - 4));\n              if (1 < iVar6) {\n                psVar22 = (stat *)((int)psVar22->st_pad1 + iVar6 + -5);\n              }\n            }" else (compound_statement "{\n              uStack_10c = uStack_11c;\n              _Stack_108 = _Stack_118;\n              psStack_15c = psStack_148;\n              psStack_160 = psVar22;\n              iVar6 = (**(code **)(puStack_158 + -0x65b8))\n                                (psVar24->st_dev,psVar22,unaff_s6,psVar24->st_pad1[0]);\n              psVar20 = unaff_s7;\n              if (iVar6 == 0) goto LAB_000fac1c;\n              iVar6 = (**(code **)(puStack_158 + -0x65b4))\n                                ((int)psStack_14c->st_pad1 + (psVar24->st_dev - 4));\n              if (1 < iVar6) {\n                psVar22 = (stat *)((int)psVar22->st_pad1 + iVar6 + -5);\n              }\n            }" { (expression_statement "uStack_10c = uStack_11c;" (assignment_expression "uStack_10c = uStack_11c" identifier = identifier) ;) (expression_statement "_Stack_108 = _Stack_118;" (assignment_expression "_Stack_108 = _Stack_118" identifier = identifier) ;) (expression_statement "psStack_15c = psStack_148;" (assignment_expression "psStack_15c = psStack_148" identifier = identifier) ;) (expression_statement "psStack_160 = psVar22;" (assignment_expression "psStack_160 = psVar22" identifier = identifier) ;) (expression_statement "iVar6 = (**(code **)(puStack_158 + -0x65b8))\n                                (psVar24->st_dev,psVar22,unaff_s6,psVar24->st_pad1[0]);" (assignment_expression "iVar6 = (**(code **)(puStack_158 + -0x65b8))\n                                (psVar24->st_dev,psVar22,unaff_s6,psVar24->st_pad1[0])" identifier = (call_expression "(**(code **)(puStack_158 + -0x65b8))\n                                (psVar24->st_dev,psVar22,unaff_s6,psVar24->st_pad1[0])" (parenthesized_expression "(**(code **)(puStack_158 + -0x65b8))" ( (pointer_expression "**(code **)(puStack_158 + -0x65b8)" * (pointer_expression "*(code **)(puStack_158 + -0x65b8)" * (cast_expression "(code **)(puStack_158 + -0x65b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x65b8)" ( (binary_expression "puStack_158 + -0x65b8" identifier + number_literal) ))))) )) (argument_list "(psVar24->st_dev,psVar22,unaff_s6,psVar24->st_pad1[0])" ( (field_expression "psVar24->st_dev" identifier -> field_identifier) , identifier , identifier , (subscript_expression "psVar24->st_pad1[0]" (field_expression "psVar24->st_pad1" identifier -> field_identifier) [ number_literal ]) )))) ;) (expression_statement "psVar20 = unaff_s7;" (assignment_expression "psVar20 = unaff_s7" identifier = identifier) ;) (if_statement "if (iVar6 == 0) goto LAB_000fac1c;" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000fac1c;" goto statement_identifier ;)) (expression_statement "iVar6 = (**(code **)(puStack_158 + -0x65b4))\n                                ((int)psStack_14c->st_pad1 + (psVar24->st_dev - 4));" (assignment_expression "iVar6 = (**(code **)(puStack_158 + -0x65b4))\n                                ((int)psStack_14c->st_pad1 + (psVar24->st_dev - 4))" identifier = (call_expression "(**(code **)(puStack_158 + -0x65b4))\n                                ((int)psStack_14c->st_pad1 + (psVar24->st_dev - 4))" (parenthesized_expression "(**(code **)(puStack_158 + -0x65b4))" ( (pointer_expression "**(code **)(puStack_158 + -0x65b4)" * (pointer_expression "*(code **)(puStack_158 + -0x65b4)" * (cast_expression "(code **)(puStack_158 + -0x65b4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x65b4)" ( (binary_expression "puStack_158 + -0x65b4" identifier + number_literal) ))))) )) (argument_list "((int)psStack_14c->st_pad1 + (psVar24->st_dev - 4))" ( (binary_expression "(int)psStack_14c->st_pad1 + (psVar24->st_dev - 4)" (cast_expression "(int)psStack_14c->st_pad1" ( (type_descriptor "int" primitive_type) ) (field_expression "psStack_14c->st_pad1" identifier -> field_identifier)) + (parenthesized_expression "(psVar24->st_dev - 4)" ( (binary_expression "psVar24->st_dev - 4" (field_expression "psVar24->st_dev" identifier -> field_identifier) - number_literal) ))) )))) ;) (if_statement "if (1 < iVar6) {\n                psVar22 = (stat *)((int)psVar22->st_pad1 + iVar6 + -5);\n              }" if (parenthesized_expression "(1 < iVar6)" ( (binary_expression "1 < iVar6" number_literal < identifier) )) (compound_statement "{\n                psVar22 = (stat *)((int)psVar22->st_pad1 + iVar6 + -5);\n              }" { (expression_statement "psVar22 = (stat *)((int)psVar22->st_pad1 + iVar6 + -5);" (assignment_expression "psVar22 = (stat *)((int)psVar22->st_pad1 + iVar6 + -5)" identifier = (cast_expression "(stat *)((int)psVar22->st_pad1 + iVar6 + -5)" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar22->st_pad1 + iVar6 + -5)" ( (binary_expression "(int)psVar22->st_pad1 + iVar6 + -5" (binary_expression "(int)psVar22->st_pad1 + iVar6" (cast_expression "(int)psVar22->st_pad1" ( (type_descriptor "int" primitive_type) ) (field_expression "psVar22->st_pad1" identifier -> field_identifier)) + identifier) + number_literal) )))) ;) })) }))) (expression_statement "psVar22 = (stat *)((int)&psVar22->st_dev + 1);" (assignment_expression "psVar22 = (stat *)((int)&psVar22->st_dev + 1)" identifier = (cast_expression "(stat *)((int)&psVar22->st_dev + 1)" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar22->st_dev + 1)" ( (binary_expression "(int)&psVar22->st_dev + 1" (cast_expression "(int)&psVar22->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar22->st_dev" & (field_expression "psVar22->st_dev" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "nontrivial_match = (int)*(char *)((int)psVar22->st_pad1 + (psVar24->st_dev - 4));" (assignment_expression "nontrivial_match = (int)*(char *)((int)psVar22->st_pad1 + (psVar24->st_dev - 4))" identifier = (cast_expression "(int)*(char *)((int)psVar22->st_pad1 + (psVar24->st_dev - 4))" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(char *)((int)psVar22->st_pad1 + (psVar24->st_dev - 4))" * (cast_expression "(char *)((int)psVar22->st_pad1 + (psVar24->st_dev - 4))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar22->st_pad1 + (psVar24->st_dev - 4))" ( (binary_expression "(int)psVar22->st_pad1 + (psVar24->st_dev - 4)" (cast_expression "(int)psVar22->st_pad1" ( (type_descriptor "int" primitive_type) ) (field_expression "psVar22->st_pad1" identifier -> field_identifier)) + (parenthesized_expression "(psVar24->st_dev - 4)" ( (binary_expression "psVar24->st_dev - 4" (field_expression "psVar24->st_dev" identifier -> field_identifier) - number_literal) ))) )))))) ;) (expression_statement "psStack_14c = psVar22;" (assignment_expression "psStack_14c = psVar22" identifier = identifier) ;) (if_statement "if ((stat *)nontrivial_match == (stat *)0x0) goto LAB_000fac1c;" if (parenthesized_expression "((stat *)nontrivial_match == (stat *)0x0)" ( (binary_expression "(stat *)nontrivial_match == (stat *)0x0" (cast_expression "(stat *)nontrivial_match" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) == (cast_expression "(stat *)0x0" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000fac1c;" goto statement_identifier ;)) (expression_statement "unaff_s4 = (stat *)(int)*(char *)((int)psVar22->st_pad1 + psVar24->st_pad1[0] + -4);" (assignment_expression "unaff_s4 = (stat *)(int)*(char *)((int)psVar22->st_pad1 + psVar24->st_pad1[0] + -4)" identifier = (cast_expression "(stat *)(int)*(char *)((int)psVar22->st_pad1 + psVar24->st_pad1[0] + -4)" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)*(char *)((int)psVar22->st_pad1 + psVar24->st_pad1[0] + -4)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(char *)((int)psVar22->st_pad1 + psVar24->st_pad1[0] + -4)" * (cast_expression "(char *)((int)psVar22->st_pad1 + psVar24->st_pad1[0] + -4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar22->st_pad1 + psVar24->st_pad1[0] + -4)" ( (binary_expression "(int)psVar22->st_pad1 + psVar24->st_pad1[0] + -4" (binary_expression "(int)psVar22->st_pad1 + psVar24->st_pad1[0]" (cast_expression "(int)psVar22->st_pad1" ( (type_descriptor "int" primitive_type) ) (field_expression "psVar22->st_pad1" identifier -> field_identifier)) + (subscript_expression "psVar24->st_pad1[0]" (field_expression "psVar24->st_pad1" identifier -> field_identifier) [ number_literal ])) + number_literal) ))))))) ;) (expression_statement "bVar3 = (int)psVar22 < (int)psStack_140;" (assignment_expression "bVar3 = (int)psVar22 < (int)psStack_140" identifier = (binary_expression "(int)psVar22 < (int)psStack_140" (cast_expression "(int)psVar22" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)psStack_140" ( (type_descriptor "int" primitive_type) ) identifier))) ;) }) while (parenthesized_expression "(unaff_s4 != (stat *)0x0)" ( (binary_expression "unaff_s4 != (stat *)0x0" identifier != (cast_expression "(stat *)0x0" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) }) (else_clause "else {\n          psVar22 = (stat *)0x0;\n          unaff_s7 = (stat *)&uStack_11c;\n          unaff_s6 = &uStack_114;\n          while( true ) {\n            bVar2 = *(byte *)((int)psVar22->st_pad1 + (psVar24->st_dev - 4));\n            nontrivial_match = (int)(char)bVar2;\n            unaff_s4 = (stat *)(uint)bVar2;\n            psStack_148 = psVar22;\n            psStack_144 = psVar24;\n            if (unaff_s4 == (stat *)nontrivial_match) {\n              piVar4 = (int *)(**(code **)(puStack_158 + -0x6290))();\n              if ((*(ushort *)(*piVar4 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar4 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (stat *)(*piVar4 + (int)unaff_s4 * 4);\n                nontrivial_match = unaff_s4->st_dev;\n              }\n            }\n            unaff_s5 = (stat *)&psStack_120;\n            if ((stat *)nontrivial_match == (stat *)0x0) break;\n            bVar2 = *(byte *)((int)psStack_148->st_pad1 + psStack_144->st_pad1[0] + -4);\n            psStack_14c = (stat *)(int)(char)bVar2;\n            unaff_s4 = (stat *)(uint)bVar2;\n            if ((unaff_s4 == psStack_14c) &&\n               (piVar4 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar4 + (int)unaff_s4 * 2) & 1) != 0)) {\n              piVar4 = (int *)(**(code **)(puStack_158 + -0x628c))();\n              unaff_s4 = (stat *)(*piVar4 + (int)unaff_s4 * 4);\n              psStack_14c = (stat *)unaff_s4->st_dev;\n            }\n            if (psStack_14c == (stat *)0x0) break;\n            uVar5 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar5 < 2) || (unaff_s3->st_dev != 0)) {\njoined_r0x000facac:\n              if ((stat *)nontrivial_match != psStack_14c) break;\n            }\n            else {\n              iVar6 = (int)psStack_148->st_pad1 + (psStack_144->st_dev - 4);\n              uVar9 = (**(code **)(puStack_158 + -0x60fc))(iVar6);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,iVar6,uVar9,unaff_s7);\n              unaff_s4 = (stat *)((int)psStack_148->st_pad1 + psStack_144->st_pad1[0] + -4);\n              uVar9 = (**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              psVar20 = unaff_s4;\n              iVar6 = (**(code **)(puStack_158 + -0x6084))\n                                ((stat *)&psStack_120,unaff_s4,uVar9,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar6 + 2U < 2)) goto joined_r0x000facac;\n              nontrivial_match = (**(code **)(puStack_158 + -0x5fc8))(psStack_124);\n              psStack_124 = (stat *)nontrivial_match;\n              psStack_120 = (stat *)(**(code **)(puStack_158 + -0x5fc8))(psStack_120);\n              if ((stat *)nontrivial_match != psStack_120) break;\n              if (1 < uStack_138) {\n                psVar22 = (stat *)((int)psStack_148->st_pad1 + (uStack_138 - 5));\n              }\n            }\n            psVar22 = (stat *)((int)&psVar22->st_dev + 1);\n          }\nLAB_000fac1c:\n          bVar3 = (int)psVar22 < (int)psStack_140;\n        }" else (compound_statement "{\n          psVar22 = (stat *)0x0;\n          unaff_s7 = (stat *)&uStack_11c;\n          unaff_s6 = &uStack_114;\n          while( true ) {\n            bVar2 = *(byte *)((int)psVar22->st_pad1 + (psVar24->st_dev - 4));\n            nontrivial_match = (int)(char)bVar2;\n            unaff_s4 = (stat *)(uint)bVar2;\n            psStack_148 = psVar22;\n            psStack_144 = psVar24;\n            if (unaff_s4 == (stat *)nontrivial_match) {\n              piVar4 = (int *)(**(code **)(puStack_158 + -0x6290))();\n              if ((*(ushort *)(*piVar4 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar4 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (stat *)(*piVar4 + (int)unaff_s4 * 4);\n                nontrivial_match = unaff_s4->st_dev;\n              }\n            }\n            unaff_s5 = (stat *)&psStack_120;\n            if ((stat *)nontrivial_match == (stat *)0x0) break;\n            bVar2 = *(byte *)((int)psStack_148->st_pad1 + psStack_144->st_pad1[0] + -4);\n            psStack_14c = (stat *)(int)(char)bVar2;\n            unaff_s4 = (stat *)(uint)bVar2;\n            if ((unaff_s4 == psStack_14c) &&\n               (piVar4 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar4 + (int)unaff_s4 * 2) & 1) != 0)) {\n              piVar4 = (int *)(**(code **)(puStack_158 + -0x628c))();\n              unaff_s4 = (stat *)(*piVar4 + (int)unaff_s4 * 4);\n              psStack_14c = (stat *)unaff_s4->st_dev;\n            }\n            if (psStack_14c == (stat *)0x0) break;\n            uVar5 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar5 < 2) || (unaff_s3->st_dev != 0)) {\njoined_r0x000facac:\n              if ((stat *)nontrivial_match != psStack_14c) break;\n            }\n            else {\n              iVar6 = (int)psStack_148->st_pad1 + (psStack_144->st_dev - 4);\n              uVar9 = (**(code **)(puStack_158 + -0x60fc))(iVar6);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,iVar6,uVar9,unaff_s7);\n              unaff_s4 = (stat *)((int)psStack_148->st_pad1 + psStack_144->st_pad1[0] + -4);\n              uVar9 = (**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              psVar20 = unaff_s4;\n              iVar6 = (**(code **)(puStack_158 + -0x6084))\n                                ((stat *)&psStack_120,unaff_s4,uVar9,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar6 + 2U < 2)) goto joined_r0x000facac;\n              nontrivial_match = (**(code **)(puStack_158 + -0x5fc8))(psStack_124);\n              psStack_124 = (stat *)nontrivial_match;\n              psStack_120 = (stat *)(**(code **)(puStack_158 + -0x5fc8))(psStack_120);\n              if ((stat *)nontrivial_match != psStack_120) break;\n              if (1 < uStack_138) {\n                psVar22 = (stat *)((int)psStack_148->st_pad1 + (uStack_138 - 5));\n              }\n            }\n            psVar22 = (stat *)((int)&psVar22->st_dev + 1);\n          }\nLAB_000fac1c:\n          bVar3 = (int)psVar22 < (int)psStack_140;\n        }" { (expression_statement "psVar22 = (stat *)0x0;" (assignment_expression "psVar22 = (stat *)0x0" identifier = (cast_expression "(stat *)0x0" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "unaff_s7 = (stat *)&uStack_11c;" (assignment_expression "unaff_s7 = (stat *)&uStack_11c" identifier = (cast_expression "(stat *)&uStack_11c" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&uStack_11c" & identifier))) ;) (expression_statement "unaff_s6 = &uStack_114;" (assignment_expression "unaff_s6 = &uStack_114" identifier = (pointer_expression "&uStack_114" & identifier)) ;) (while_statement "while( true ) {\n            bVar2 = *(byte *)((int)psVar22->st_pad1 + (psVar24->st_dev - 4));\n            nontrivial_match = (int)(char)bVar2;\n            unaff_s4 = (stat *)(uint)bVar2;\n            psStack_148 = psVar22;\n            psStack_144 = psVar24;\n            if (unaff_s4 == (stat *)nontrivial_match) {\n              piVar4 = (int *)(**(code **)(puStack_158 + -0x6290))();\n              if ((*(ushort *)(*piVar4 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar4 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (stat *)(*piVar4 + (int)unaff_s4 * 4);\n                nontrivial_match = unaff_s4->st_dev;\n              }\n            }\n            unaff_s5 = (stat *)&psStack_120;\n            if ((stat *)nontrivial_match == (stat *)0x0) break;\n            bVar2 = *(byte *)((int)psStack_148->st_pad1 + psStack_144->st_pad1[0] + -4);\n            psStack_14c = (stat *)(int)(char)bVar2;\n            unaff_s4 = (stat *)(uint)bVar2;\n            if ((unaff_s4 == psStack_14c) &&\n               (piVar4 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar4 + (int)unaff_s4 * 2) & 1) != 0)) {\n              piVar4 = (int *)(**(code **)(puStack_158 + -0x628c))();\n              unaff_s4 = (stat *)(*piVar4 + (int)unaff_s4 * 4);\n              psStack_14c = (stat *)unaff_s4->st_dev;\n            }\n            if (psStack_14c == (stat *)0x0) break;\n            uVar5 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar5 < 2) || (unaff_s3->st_dev != 0)) {\njoined_r0x000facac:\n              if ((stat *)nontrivial_match != psStack_14c) break;\n            }\n            else {\n              iVar6 = (int)psStack_148->st_pad1 + (psStack_144->st_dev - 4);\n              uVar9 = (**(code **)(puStack_158 + -0x60fc))(iVar6);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,iVar6,uVar9,unaff_s7);\n              unaff_s4 = (stat *)((int)psStack_148->st_pad1 + psStack_144->st_pad1[0] + -4);\n              uVar9 = (**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              psVar20 = unaff_s4;\n              iVar6 = (**(code **)(puStack_158 + -0x6084))\n                                ((stat *)&psStack_120,unaff_s4,uVar9,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar6 + 2U < 2)) goto joined_r0x000facac;\n              nontrivial_match = (**(code **)(puStack_158 + -0x5fc8))(psStack_124);\n              psStack_124 = (stat *)nontrivial_match;\n              psStack_120 = (stat *)(**(code **)(puStack_158 + -0x5fc8))(psStack_120);\n              if ((stat *)nontrivial_match != psStack_120) break;\n              if (1 < uStack_138) {\n                psVar22 = (stat *)((int)psStack_148->st_pad1 + (uStack_138 - 5));\n              }\n            }\n            psVar22 = (stat *)((int)&psVar22->st_dev + 1);\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            bVar2 = *(byte *)((int)psVar22->st_pad1 + (psVar24->st_dev - 4));\n            nontrivial_match = (int)(char)bVar2;\n            unaff_s4 = (stat *)(uint)bVar2;\n            psStack_148 = psVar22;\n            psStack_144 = psVar24;\n            if (unaff_s4 == (stat *)nontrivial_match) {\n              piVar4 = (int *)(**(code **)(puStack_158 + -0x6290))();\n              if ((*(ushort *)(*piVar4 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar4 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (stat *)(*piVar4 + (int)unaff_s4 * 4);\n                nontrivial_match = unaff_s4->st_dev;\n              }\n            }\n            unaff_s5 = (stat *)&psStack_120;\n            if ((stat *)nontrivial_match == (stat *)0x0) break;\n            bVar2 = *(byte *)((int)psStack_148->st_pad1 + psStack_144->st_pad1[0] + -4);\n            psStack_14c = (stat *)(int)(char)bVar2;\n            unaff_s4 = (stat *)(uint)bVar2;\n            if ((unaff_s4 == psStack_14c) &&\n               (piVar4 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar4 + (int)unaff_s4 * 2) & 1) != 0)) {\n              piVar4 = (int *)(**(code **)(puStack_158 + -0x628c))();\n              unaff_s4 = (stat *)(*piVar4 + (int)unaff_s4 * 4);\n              psStack_14c = (stat *)unaff_s4->st_dev;\n            }\n            if (psStack_14c == (stat *)0x0) break;\n            uVar5 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar5 < 2) || (unaff_s3->st_dev != 0)) {\njoined_r0x000facac:\n              if ((stat *)nontrivial_match != psStack_14c) break;\n            }\n            else {\n              iVar6 = (int)psStack_148->st_pad1 + (psStack_144->st_dev - 4);\n              uVar9 = (**(code **)(puStack_158 + -0x60fc))(iVar6);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,iVar6,uVar9,unaff_s7);\n              unaff_s4 = (stat *)((int)psStack_148->st_pad1 + psStack_144->st_pad1[0] + -4);\n              uVar9 = (**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              psVar20 = unaff_s4;\n              iVar6 = (**(code **)(puStack_158 + -0x6084))\n                                ((stat *)&psStack_120,unaff_s4,uVar9,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar6 + 2U < 2)) goto joined_r0x000facac;\n              nontrivial_match = (**(code **)(puStack_158 + -0x5fc8))(psStack_124);\n              psStack_124 = (stat *)nontrivial_match;\n              psStack_120 = (stat *)(**(code **)(puStack_158 + -0x5fc8))(psStack_120);\n              if ((stat *)nontrivial_match != psStack_120) break;\n              if (1 < uStack_138) {\n                psVar22 = (stat *)((int)psStack_148->st_pad1 + (uStack_138 - 5));\n              }\n            }\n            psVar22 = (stat *)((int)&psVar22->st_dev + 1);\n          }" { (expression_statement "bVar2 = *(byte *)((int)psVar22->st_pad1 + (psVar24->st_dev - 4));" (assignment_expression "bVar2 = *(byte *)((int)psVar22->st_pad1 + (psVar24->st_dev - 4))" identifier = (pointer_expression "*(byte *)((int)psVar22->st_pad1 + (psVar24->st_dev - 4))" * (cast_expression "(byte *)((int)psVar22->st_pad1 + (psVar24->st_dev - 4))" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar22->st_pad1 + (psVar24->st_dev - 4))" ( (binary_expression "(int)psVar22->st_pad1 + (psVar24->st_dev - 4)" (cast_expression "(int)psVar22->st_pad1" ( (type_descriptor "int" primitive_type) ) (field_expression "psVar22->st_pad1" identifier -> field_identifier)) + (parenthesized_expression "(psVar24->st_dev - 4)" ( (binary_expression "psVar24->st_dev - 4" (field_expression "psVar24->st_dev" identifier -> field_identifier) - number_literal) ))) ))))) ;) (expression_statement "nontrivial_match = (int)(char)bVar2;" (assignment_expression "nontrivial_match = (int)(char)bVar2" identifier = (cast_expression "(int)(char)bVar2" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bVar2" ( (type_descriptor "char" primitive_type) ) identifier))) ;) (expression_statement "unaff_s4 = (stat *)(uint)bVar2;" (assignment_expression "unaff_s4 = (stat *)(uint)bVar2" identifier = (cast_expression "(stat *)(uint)bVar2" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)bVar2" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "psStack_148 = psVar22;" (assignment_expression "psStack_148 = psVar22" identifier = identifier) ;) (expression_statement "psStack_144 = psVar24;" (assignment_expression "psStack_144 = psVar24" identifier = identifier) ;) (if_statement "if (unaff_s4 == (stat *)nontrivial_match) {\n              piVar4 = (int *)(**(code **)(puStack_158 + -0x6290))();\n              if ((*(ushort *)(*piVar4 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar4 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (stat *)(*piVar4 + (int)unaff_s4 * 4);\n                nontrivial_match = unaff_s4->st_dev;\n              }\n            }" if (parenthesized_expression "(unaff_s4 == (stat *)nontrivial_match)" ( (binary_expression "unaff_s4 == (stat *)nontrivial_match" identifier == (cast_expression "(stat *)nontrivial_match" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (compound_statement "{\n              piVar4 = (int *)(**(code **)(puStack_158 + -0x6290))();\n              if ((*(ushort *)(*piVar4 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar4 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (stat *)(*piVar4 + (int)unaff_s4 * 4);\n                nontrivial_match = unaff_s4->st_dev;\n              }\n            }" { (expression_statement "piVar4 = (int *)(**(code **)(puStack_158 + -0x6290))();" (assignment_expression "piVar4 = (int *)(**(code **)(puStack_158 + -0x6290))()" identifier = (cast_expression "(int *)(**(code **)(puStack_158 + -0x6290))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puStack_158 + -0x6290))()" (parenthesized_expression "(**(code **)(puStack_158 + -0x6290))" ( (pointer_expression "**(code **)(puStack_158 + -0x6290)" * (pointer_expression "*(code **)(puStack_158 + -0x6290)" * (cast_expression "(code **)(puStack_158 + -0x6290)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x6290)" ( (binary_expression "puStack_158 + -0x6290" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (if_statement "if ((*(ushort *)(*piVar4 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar4 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (stat *)(*piVar4 + (int)unaff_s4 * 4);\n                nontrivial_match = unaff_s4->st_dev;\n              }" if (parenthesized_expression "((*(ushort *)(*piVar4 + (int)unaff_s4 * 2) & 1) != 0)" ( (binary_expression "(*(ushort *)(*piVar4 + (int)unaff_s4 * 2) & 1) != 0" (parenthesized_expression "(*(ushort *)(*piVar4 + (int)unaff_s4 * 2) & 1)" ( (binary_expression "*(ushort *)(*piVar4 + (int)unaff_s4 * 2) & 1" (pointer_expression "*(ushort *)(*piVar4 + (int)unaff_s4 * 2)" * (cast_expression "(ushort *)(*piVar4 + (int)unaff_s4 * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar4 + (int)unaff_s4 * 2)" ( (binary_expression "*piVar4 + (int)unaff_s4 * 2" (pointer_expression "*piVar4" * identifier) + (binary_expression "(int)unaff_s4 * 2" (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n                piVar4 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (stat *)(*piVar4 + (int)unaff_s4 * 4);\n                nontrivial_match = unaff_s4->st_dev;\n              }" { (expression_statement "piVar4 = (int *)(**(code **)(puStack_158 + -0x628c))();" (assignment_expression "piVar4 = (int *)(**(code **)(puStack_158 + -0x628c))()" identifier = (cast_expression "(int *)(**(code **)(puStack_158 + -0x628c))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puStack_158 + -0x628c))()" (parenthesized_expression "(**(code **)(puStack_158 + -0x628c))" ( (pointer_expression "**(code **)(puStack_158 + -0x628c)" * (pointer_expression "*(code **)(puStack_158 + -0x628c)" * (cast_expression "(code **)(puStack_158 + -0x628c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x628c)" ( (binary_expression "puStack_158 + -0x628c" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "unaff_s4 = (stat *)(*piVar4 + (int)unaff_s4 * 4);" (assignment_expression "unaff_s4 = (stat *)(*piVar4 + (int)unaff_s4 * 4)" identifier = (cast_expression "(stat *)(*piVar4 + (int)unaff_s4 * 4)" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar4 + (int)unaff_s4 * 4)" ( (binary_expression "*piVar4 + (int)unaff_s4 * 4" (pointer_expression "*piVar4" * identifier) + (binary_expression "(int)unaff_s4 * 4" (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) ;) (expression_statement "nontrivial_match = unaff_s4->st_dev;" (assignment_expression "nontrivial_match = unaff_s4->st_dev" identifier = (field_expression "unaff_s4->st_dev" identifier -> field_identifier)) ;) })) })) (expression_statement "unaff_s5 = (stat *)&psStack_120;" (assignment_expression "unaff_s5 = (stat *)&psStack_120" identifier = (cast_expression "(stat *)&psStack_120" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psStack_120" & identifier))) ;) (if_statement "if ((stat *)nontrivial_match == (stat *)0x0) break;" if (parenthesized_expression "((stat *)nontrivial_match == (stat *)0x0)" ( (binary_expression "(stat *)nontrivial_match == (stat *)0x0" (cast_expression "(stat *)nontrivial_match" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) == (cast_expression "(stat *)0x0" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "bVar2 = *(byte *)((int)psStack_148->st_pad1 + psStack_144->st_pad1[0] + -4);" (assignment_expression "bVar2 = *(byte *)((int)psStack_148->st_pad1 + psStack_144->st_pad1[0] + -4)" identifier = (pointer_expression "*(byte *)((int)psStack_148->st_pad1 + psStack_144->st_pad1[0] + -4)" * (cast_expression "(byte *)((int)psStack_148->st_pad1 + psStack_144->st_pad1[0] + -4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psStack_148->st_pad1 + psStack_144->st_pad1[0] + -4)" ( (binary_expression "(int)psStack_148->st_pad1 + psStack_144->st_pad1[0] + -4" (binary_expression "(int)psStack_148->st_pad1 + psStack_144->st_pad1[0]" (cast_expression "(int)psStack_148->st_pad1" ( (type_descriptor "int" primitive_type) ) (field_expression "psStack_148->st_pad1" identifier -> field_identifier)) + (subscript_expression "psStack_144->st_pad1[0]" (field_expression "psStack_144->st_pad1" identifier -> field_identifier) [ number_literal ])) + number_literal) ))))) ;) (expression_statement "psStack_14c = (stat *)(int)(char)bVar2;" (assignment_expression "psStack_14c = (stat *)(int)(char)bVar2" identifier = (cast_expression "(stat *)(int)(char)bVar2" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)(char)bVar2" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)bVar2" ( (type_descriptor "char" primitive_type) ) identifier)))) ;) (expression_statement "unaff_s4 = (stat *)(uint)bVar2;" (assignment_expression "unaff_s4 = (stat *)(uint)bVar2" identifier = (cast_expression "(stat *)(uint)bVar2" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)bVar2" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (if_statement "if ((unaff_s4 == psStack_14c) &&\n               (piVar4 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar4 + (int)unaff_s4 * 2) & 1) != 0)) {\n              piVar4 = (int *)(**(code **)(puStack_158 + -0x628c))();\n              unaff_s4 = (stat *)(*piVar4 + (int)unaff_s4 * 4);\n              psStack_14c = (stat *)unaff_s4->st_dev;\n            }" if (parenthesized_expression "((unaff_s4 == psStack_14c) &&\n               (piVar4 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar4 + (int)unaff_s4 * 2) & 1) != 0))" ( (binary_expression "(unaff_s4 == psStack_14c) &&\n               (piVar4 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar4 + (int)unaff_s4 * 2) & 1) != 0)" (parenthesized_expression "(unaff_s4 == psStack_14c)" ( (binary_expression "unaff_s4 == psStack_14c" identifier == identifier) )) && (parenthesized_expression "(piVar4 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar4 + (int)unaff_s4 * 2) & 1) != 0)" ( (comma_expression "piVar4 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar4 + (int)unaff_s4 * 2) & 1) != 0" (assignment_expression "piVar4 = (int *)(**(code **)(puStack_158 + -0x6290))()" identifier = (cast_expression "(int *)(**(code **)(puStack_158 + -0x6290))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puStack_158 + -0x6290))()" (parenthesized_expression "(**(code **)(puStack_158 + -0x6290))" ( (pointer_expression "**(code **)(puStack_158 + -0x6290)" * (pointer_expression "*(code **)(puStack_158 + -0x6290)" * (cast_expression "(code **)(puStack_158 + -0x6290)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x6290)" ( (binary_expression "puStack_158 + -0x6290" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) , (binary_expression "(*(ushort *)(*piVar4 + (int)unaff_s4 * 2) & 1) != 0" (parenthesized_expression "(*(ushort *)(*piVar4 + (int)unaff_s4 * 2) & 1)" ( (binary_expression "*(ushort *)(*piVar4 + (int)unaff_s4 * 2) & 1" (pointer_expression "*(ushort *)(*piVar4 + (int)unaff_s4 * 2)" * (cast_expression "(ushort *)(*piVar4 + (int)unaff_s4 * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar4 + (int)unaff_s4 * 2)" ( (binary_expression "*piVar4 + (int)unaff_s4 * 2" (pointer_expression "*piVar4" * identifier) + (binary_expression "(int)unaff_s4 * 2" (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) & number_literal) )) != number_literal)) ))) )) (compound_statement "{\n              piVar4 = (int *)(**(code **)(puStack_158 + -0x628c))();\n              unaff_s4 = (stat *)(*piVar4 + (int)unaff_s4 * 4);\n              psStack_14c = (stat *)unaff_s4->st_dev;\n            }" { (expression_statement "piVar4 = (int *)(**(code **)(puStack_158 + -0x628c))();" (assignment_expression "piVar4 = (int *)(**(code **)(puStack_158 + -0x628c))()" identifier = (cast_expression "(int *)(**(code **)(puStack_158 + -0x628c))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puStack_158 + -0x628c))()" (parenthesized_expression "(**(code **)(puStack_158 + -0x628c))" ( (pointer_expression "**(code **)(puStack_158 + -0x628c)" * (pointer_expression "*(code **)(puStack_158 + -0x628c)" * (cast_expression "(code **)(puStack_158 + -0x628c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x628c)" ( (binary_expression "puStack_158 + -0x628c" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "unaff_s4 = (stat *)(*piVar4 + (int)unaff_s4 * 4);" (assignment_expression "unaff_s4 = (stat *)(*piVar4 + (int)unaff_s4 * 4)" identifier = (cast_expression "(stat *)(*piVar4 + (int)unaff_s4 * 4)" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar4 + (int)unaff_s4 * 4)" ( (binary_expression "*piVar4 + (int)unaff_s4 * 4" (pointer_expression "*piVar4" * identifier) + (binary_expression "(int)unaff_s4 * 4" (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) ;) (expression_statement "psStack_14c = (stat *)unaff_s4->st_dev;" (assignment_expression "psStack_14c = (stat *)unaff_s4->st_dev" identifier = (cast_expression "(stat *)unaff_s4->st_dev" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "unaff_s4->st_dev" identifier -> field_identifier))) ;) })) (if_statement "if (psStack_14c == (stat *)0x0) break;" if (parenthesized_expression "(psStack_14c == (stat *)0x0)" ( (binary_expression "psStack_14c == (stat *)0x0" identifier == (cast_expression "(stat *)0x0" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "uVar5 = (**(code **)(puStack_158 + -0x6060))();" (assignment_expression "uVar5 = (**(code **)(puStack_158 + -0x6060))()" identifier = (call_expression "(**(code **)(puStack_158 + -0x6060))()" (parenthesized_expression "(**(code **)(puStack_158 + -0x6060))" ( (pointer_expression "**(code **)(puStack_158 + -0x6060)" * (pointer_expression "*(code **)(puStack_158 + -0x6060)" * (cast_expression "(code **)(puStack_158 + -0x6060)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x6060)" ( (binary_expression "puStack_158 + -0x6060" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if ((uVar5 < 2) || (unaff_s3->st_dev != 0)) {\njoined_r0x000facac:\n              if ((stat *)nontrivial_match != psStack_14c) break;\n            }\n            else {\n              iVar6 = (int)psStack_148->st_pad1 + (psStack_144->st_dev - 4);\n              uVar9 = (**(code **)(puStack_158 + -0x60fc))(iVar6);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,iVar6,uVar9,unaff_s7);\n              unaff_s4 = (stat *)((int)psStack_148->st_pad1 + psStack_144->st_pad1[0] + -4);\n              uVar9 = (**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              psVar20 = unaff_s4;\n              iVar6 = (**(code **)(puStack_158 + -0x6084))\n                                ((stat *)&psStack_120,unaff_s4,uVar9,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar6 + 2U < 2)) goto joined_r0x000facac;\n              nontrivial_match = (**(code **)(puStack_158 + -0x5fc8))(psStack_124);\n              psStack_124 = (stat *)nontrivial_match;\n              psStack_120 = (stat *)(**(code **)(puStack_158 + -0x5fc8))(psStack_120);\n              if ((stat *)nontrivial_match != psStack_120) break;\n              if (1 < uStack_138) {\n                psVar22 = (stat *)((int)psStack_148->st_pad1 + (uStack_138 - 5));\n              }\n            }" if (parenthesized_expression "((uVar5 < 2) || (unaff_s3->st_dev != 0))" ( (binary_expression "(uVar5 < 2) || (unaff_s3->st_dev != 0)" (parenthesized_expression "(uVar5 < 2)" ( (binary_expression "uVar5 < 2" identifier < number_literal) )) || (parenthesized_expression "(unaff_s3->st_dev != 0)" ( (binary_expression "unaff_s3->st_dev != 0" (field_expression "unaff_s3->st_dev" identifier -> field_identifier) != number_literal) ))) )) (compound_statement "{\njoined_r0x000facac:\n              if ((stat *)nontrivial_match != psStack_14c) break;\n            }" { (labeled_statement "joined_r0x000facac:\n              if ((stat *)nontrivial_match != psStack_14c) break;" statement_identifier : (if_statement "if ((stat *)nontrivial_match != psStack_14c) break;" if (parenthesized_expression "((stat *)nontrivial_match != psStack_14c)" ( (binary_expression "(stat *)nontrivial_match != psStack_14c" (cast_expression "(stat *)nontrivial_match" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) != identifier) )) (break_statement "break;" break ;))) }) (else_clause "else {\n              iVar6 = (int)psStack_148->st_pad1 + (psStack_144->st_dev - 4);\n              uVar9 = (**(code **)(puStack_158 + -0x60fc))(iVar6);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,iVar6,uVar9,unaff_s7);\n              unaff_s4 = (stat *)((int)psStack_148->st_pad1 + psStack_144->st_pad1[0] + -4);\n              uVar9 = (**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              psVar20 = unaff_s4;\n              iVar6 = (**(code **)(puStack_158 + -0x6084))\n                                ((stat *)&psStack_120,unaff_s4,uVar9,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar6 + 2U < 2)) goto joined_r0x000facac;\n              nontrivial_match = (**(code **)(puStack_158 + -0x5fc8))(psStack_124);\n              psStack_124 = (stat *)nontrivial_match;\n              psStack_120 = (stat *)(**(code **)(puStack_158 + -0x5fc8))(psStack_120);\n              if ((stat *)nontrivial_match != psStack_120) break;\n              if (1 < uStack_138) {\n                psVar22 = (stat *)((int)psStack_148->st_pad1 + (uStack_138 - 5));\n              }\n            }" else (compound_statement "{\n              iVar6 = (int)psStack_148->st_pad1 + (psStack_144->st_dev - 4);\n              uVar9 = (**(code **)(puStack_158 + -0x60fc))(iVar6);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,iVar6,uVar9,unaff_s7);\n              unaff_s4 = (stat *)((int)psStack_148->st_pad1 + psStack_144->st_pad1[0] + -4);\n              uVar9 = (**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              psVar20 = unaff_s4;\n              iVar6 = (**(code **)(puStack_158 + -0x6084))\n                                ((stat *)&psStack_120,unaff_s4,uVar9,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar6 + 2U < 2)) goto joined_r0x000facac;\n              nontrivial_match = (**(code **)(puStack_158 + -0x5fc8))(psStack_124);\n              psStack_124 = (stat *)nontrivial_match;\n              psStack_120 = (stat *)(**(code **)(puStack_158 + -0x5fc8))(psStack_120);\n              if ((stat *)nontrivial_match != psStack_120) break;\n              if (1 < uStack_138) {\n                psVar22 = (stat *)((int)psStack_148->st_pad1 + (uStack_138 - 5));\n              }\n            }" { (expression_statement "iVar6 = (int)psStack_148->st_pad1 + (psStack_144->st_dev - 4);" (assignment_expression "iVar6 = (int)psStack_148->st_pad1 + (psStack_144->st_dev - 4)" identifier = (binary_expression "(int)psStack_148->st_pad1 + (psStack_144->st_dev - 4)" (cast_expression "(int)psStack_148->st_pad1" ( (type_descriptor "int" primitive_type) ) (field_expression "psStack_148->st_pad1" identifier -> field_identifier)) + (parenthesized_expression "(psStack_144->st_dev - 4)" ( (binary_expression "psStack_144->st_dev - 4" (field_expression "psStack_144->st_dev" identifier -> field_identifier) - number_literal) )))) ;) (expression_statement "uVar9 = (**(code **)(puStack_158 + -0x60fc))(iVar6);" (assignment_expression "uVar9 = (**(code **)(puStack_158 + -0x60fc))(iVar6)" identifier = (call_expression "(**(code **)(puStack_158 + -0x60fc))(iVar6)" (parenthesized_expression "(**(code **)(puStack_158 + -0x60fc))" ( (pointer_expression "**(code **)(puStack_158 + -0x60fc)" * (pointer_expression "*(code **)(puStack_158 + -0x60fc)" * (cast_expression "(code **)(puStack_158 + -0x60fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x60fc)" ( (binary_expression "puStack_158 + -0x60fc" identifier + number_literal) ))))) )) (argument_list "(iVar6)" ( identifier )))) ;) (expression_statement "uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,iVar6,uVar9,unaff_s7);" (assignment_expression "uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,iVar6,uVar9,unaff_s7)" identifier = (call_expression "(**(code **)(puStack_158 + -0x6084))(unaff_s8,iVar6,uVar9,unaff_s7)" (parenthesized_expression "(**(code **)(puStack_158 + -0x6084))" ( (pointer_expression "**(code **)(puStack_158 + -0x6084)" * (pointer_expression "*(code **)(puStack_158 + -0x6084)" * (cast_expression "(code **)(puStack_158 + -0x6084)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x6084)" ( (binary_expression "puStack_158 + -0x6084" identifier + number_literal) ))))) )) (argument_list "(unaff_s8,iVar6,uVar9,unaff_s7)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "unaff_s4 = (stat *)((int)psStack_148->st_pad1 + psStack_144->st_pad1[0] + -4);" (assignment_expression "unaff_s4 = (stat *)((int)psStack_148->st_pad1 + psStack_144->st_pad1[0] + -4)" identifier = (cast_expression "(stat *)((int)psStack_148->st_pad1 + psStack_144->st_pad1[0] + -4)" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psStack_148->st_pad1 + psStack_144->st_pad1[0] + -4)" ( (binary_expression "(int)psStack_148->st_pad1 + psStack_144->st_pad1[0] + -4" (binary_expression "(int)psStack_148->st_pad1 + psStack_144->st_pad1[0]" (cast_expression "(int)psStack_148->st_pad1" ( (type_descriptor "int" primitive_type) ) (field_expression "psStack_148->st_pad1" identifier -> field_identifier)) + (subscript_expression "psStack_144->st_pad1[0]" (field_expression "psStack_144->st_pad1" identifier -> field_identifier) [ number_literal ])) + number_literal) )))) ;) (expression_statement "uVar9 = (**(code **)(puStack_158 + -0x60fc))(unaff_s4);" (assignment_expression "uVar9 = (**(code **)(puStack_158 + -0x60fc))(unaff_s4)" identifier = (call_expression "(**(code **)(puStack_158 + -0x60fc))(unaff_s4)" (parenthesized_expression "(**(code **)(puStack_158 + -0x60fc))" ( (pointer_expression "**(code **)(puStack_158 + -0x60fc)" * (pointer_expression "*(code **)(puStack_158 + -0x60fc)" * (cast_expression "(code **)(puStack_158 + -0x60fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x60fc)" ( (binary_expression "puStack_158 + -0x60fc" identifier + number_literal) ))))) )) (argument_list "(unaff_s4)" ( identifier )))) ;) (expression_statement "psVar20 = unaff_s4;" (assignment_expression "psVar20 = unaff_s4" identifier = identifier) ;) (expression_statement "iVar6 = (**(code **)(puStack_158 + -0x6084))\n                                ((stat *)&psStack_120,unaff_s4,uVar9,unaff_s6);" (assignment_expression "iVar6 = (**(code **)(puStack_158 + -0x6084))\n                                ((stat *)&psStack_120,unaff_s4,uVar9,unaff_s6)" identifier = (call_expression "(**(code **)(puStack_158 + -0x6084))\n                                ((stat *)&psStack_120,unaff_s4,uVar9,unaff_s6)" (parenthesized_expression "(**(code **)(puStack_158 + -0x6084))" ( (pointer_expression "**(code **)(puStack_158 + -0x6084)" * (pointer_expression "*(code **)(puStack_158 + -0x6084)" * (cast_expression "(code **)(puStack_158 + -0x6084)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x6084)" ( (binary_expression "puStack_158 + -0x6084" identifier + number_literal) ))))) )) (argument_list "((stat *)&psStack_120,unaff_s4,uVar9,unaff_s6)" ( (cast_expression "(stat *)&psStack_120" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psStack_120" & identifier)) , identifier , identifier , identifier )))) ;) (if_statement "if ((uStack_138 + 2 < 2) || (iVar6 + 2U < 2)) goto joined_r0x000facac;" if (parenthesized_expression "((uStack_138 + 2 < 2) || (iVar6 + 2U < 2))" ( (binary_expression "(uStack_138 + 2 < 2) || (iVar6 + 2U < 2)" (parenthesized_expression "(uStack_138 + 2 < 2)" ( (binary_expression "uStack_138 + 2 < 2" (binary_expression "uStack_138 + 2" identifier + number_literal) < number_literal) )) || (parenthesized_expression "(iVar6 + 2U < 2)" ( (binary_expression "iVar6 + 2U < 2" (binary_expression "iVar6 + 2U" identifier + number_literal) < number_literal) ))) )) (goto_statement "goto joined_r0x000facac;" goto statement_identifier ;)) (expression_statement "nontrivial_match = (**(code **)(puStack_158 + -0x5fc8))(psStack_124);" (assignment_expression "nontrivial_match = (**(code **)(puStack_158 + -0x5fc8))(psStack_124)" identifier = (call_expression "(**(code **)(puStack_158 + -0x5fc8))(psStack_124)" (parenthesized_expression "(**(code **)(puStack_158 + -0x5fc8))" ( (pointer_expression "**(code **)(puStack_158 + -0x5fc8)" * (pointer_expression "*(code **)(puStack_158 + -0x5fc8)" * (cast_expression "(code **)(puStack_158 + -0x5fc8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x5fc8)" ( (binary_expression "puStack_158 + -0x5fc8" identifier + number_literal) ))))) )) (argument_list "(psStack_124)" ( identifier )))) ;) (expression_statement "psStack_124 = (stat *)nontrivial_match;" (assignment_expression "psStack_124 = (stat *)nontrivial_match" identifier = (cast_expression "(stat *)nontrivial_match" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "psStack_120 = (stat *)(**(code **)(puStack_158 + -0x5fc8))(psStack_120);" (assignment_expression "psStack_120 = (stat *)(**(code **)(puStack_158 + -0x5fc8))(psStack_120)" identifier = (cast_expression "(stat *)(**(code **)(puStack_158 + -0x5fc8))(psStack_120)" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puStack_158 + -0x5fc8))(psStack_120)" (parenthesized_expression "(**(code **)(puStack_158 + -0x5fc8))" ( (pointer_expression "**(code **)(puStack_158 + -0x5fc8)" * (pointer_expression "*(code **)(puStack_158 + -0x5fc8)" * (cast_expression "(code **)(puStack_158 + -0x5fc8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x5fc8)" ( (binary_expression "puStack_158 + -0x5fc8" identifier + number_literal) ))))) )) (argument_list "(psStack_120)" ( identifier ))))) ;) (if_statement "if ((stat *)nontrivial_match != psStack_120) break;" if (parenthesized_expression "((stat *)nontrivial_match != psStack_120)" ( (binary_expression "(stat *)nontrivial_match != psStack_120" (cast_expression "(stat *)nontrivial_match" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) != identifier) )) (break_statement "break;" break ;)) (if_statement "if (1 < uStack_138) {\n                psVar22 = (stat *)((int)psStack_148->st_pad1 + (uStack_138 - 5));\n              }" if (parenthesized_expression "(1 < uStack_138)" ( (binary_expression "1 < uStack_138" number_literal < identifier) )) (compound_statement "{\n                psVar22 = (stat *)((int)psStack_148->st_pad1 + (uStack_138 - 5));\n              }" { (expression_statement "psVar22 = (stat *)((int)psStack_148->st_pad1 + (uStack_138 - 5));" (assignment_expression "psVar22 = (stat *)((int)psStack_148->st_pad1 + (uStack_138 - 5))" identifier = (cast_expression "(stat *)((int)psStack_148->st_pad1 + (uStack_138 - 5))" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psStack_148->st_pad1 + (uStack_138 - 5))" ( (binary_expression "(int)psStack_148->st_pad1 + (uStack_138 - 5)" (cast_expression "(int)psStack_148->st_pad1" ( (type_descriptor "int" primitive_type) ) (field_expression "psStack_148->st_pad1" identifier -> field_identifier)) + (parenthesized_expression "(uStack_138 - 5)" ( (binary_expression "uStack_138 - 5" identifier - number_literal) ))) )))) ;) })) }))) (expression_statement "psVar22 = (stat *)((int)&psVar22->st_dev + 1);" (assignment_expression "psVar22 = (stat *)((int)&psVar22->st_dev + 1)" identifier = (cast_expression "(stat *)((int)&psVar22->st_dev + 1)" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar22->st_dev + 1)" ( (binary_expression "(int)&psVar22->st_dev + 1" (cast_expression "(int)&psVar22->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar22->st_dev" & (field_expression "psVar22->st_dev" identifier -> field_identifier))) + number_literal) )))) ;) })) (labeled_statement "LAB_000fac1c:\n          bVar3 = (int)psVar22 < (int)psStack_140;" statement_identifier : (expression_statement "bVar3 = (int)psVar22 < (int)psStack_140;" (assignment_expression "bVar3 = (int)psVar22 < (int)psStack_140" identifier = (binary_expression "(int)psVar22 < (int)psStack_140" (cast_expression "(int)psVar22" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)psStack_140" ( (type_descriptor "int" primitive_type) ) identifier))) ;)) }))) (expression_statement "psVar21 = psStack_130;" (assignment_expression "psVar21 = psStack_130" identifier = identifier) ;) (if_statement "if (bVar3) {\n          psStack_140 = psVar22;\n        }" if (parenthesized_expression "(bVar3)" ( identifier )) (compound_statement "{\n          psStack_140 = psVar22;\n        }" { (expression_statement "psStack_140 = psVar22;" (assignment_expression "psStack_140 = psVar22" identifier = identifier) ;) })) (expression_statement "psStack_13c = (stat *)((int)&psStack_13c->st_dev + 1);" (assignment_expression "psStack_13c = (stat *)((int)&psStack_13c->st_dev + 1)" identifier = (cast_expression "(stat *)((int)&psStack_13c->st_dev + 1)" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psStack_13c->st_dev + 1)" ( (binary_expression "(int)&psStack_13c->st_dev + 1" (cast_expression "(int)&psStack_13c->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psStack_13c->st_dev" & (field_expression "psStack_13c->st_dev" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "psVar24 = (stat *)psVar24->st_pad1;" (assignment_expression "psVar24 = (stat *)psVar24->st_pad1" identifier = (cast_expression "(stat *)psVar24->st_pad1" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "psVar24->st_pad1" identifier -> field_identifier))) ;) }) while (parenthesized_expression "((stat *)delimiter != psStack_13c)" ( (binary_expression "(stat *)delimiter != psStack_13c" (cast_expression "(stat *)delimiter" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) != identifier) )) ;) (expression_statement "unaff_s2 = psVar24;" (assignment_expression "unaff_s2 = psVar24" identifier = identifier) ;) (if_statement "if (((psStack_140 == (stat *)0x0) && (psStack_130 != (stat *)0x0)) &&\n         (psVar22 = psStack_130, *(byte *)&psStack_130->st_dev != 0)) {\n        iVar6 = (**(code **)(puStack_158 + -0x60fc))(psStack_130);\n        iVar6 = (**(code **)(puStack_158 + -0x7f88))(iVar6 + 1);\n        *piStack_12c = iVar6;\n        psVar20 = psVar21;\n        (**(code **)(puStack_158 + -0x6074))(iVar6);\n        psVar22 = psVar21;\n        goto LAB_000fb1f0;\n      }" if (parenthesized_expression "(((psStack_140 == (stat *)0x0) && (psStack_130 != (stat *)0x0)) &&\n         (psVar22 = psStack_130, *(byte *)&psStack_130->st_dev != 0))" ( (binary_expression "((psStack_140 == (stat *)0x0) && (psStack_130 != (stat *)0x0)) &&\n         (psVar22 = psStack_130, *(byte *)&psStack_130->st_dev != 0)" (parenthesized_expression "((psStack_140 == (stat *)0x0) && (psStack_130 != (stat *)0x0))" ( (binary_expression "(psStack_140 == (stat *)0x0) && (psStack_130 != (stat *)0x0)" (parenthesized_expression "(psStack_140 == (stat *)0x0)" ( (binary_expression "psStack_140 == (stat *)0x0" identifier == (cast_expression "(stat *)0x0" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(psStack_130 != (stat *)0x0)" ( (binary_expression "psStack_130 != (stat *)0x0" identifier != (cast_expression "(stat *)0x0" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) && (parenthesized_expression "(psVar22 = psStack_130, *(byte *)&psStack_130->st_dev != 0)" ( (comma_expression "psVar22 = psStack_130, *(byte *)&psStack_130->st_dev != 0" (assignment_expression "psVar22 = psStack_130" identifier = identifier) , (binary_expression "*(byte *)&psStack_130->st_dev != 0" (pointer_expression "*(byte *)&psStack_130->st_dev" * (cast_expression "(byte *)&psStack_130->st_dev" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psStack_130->st_dev" & (field_expression "psStack_130->st_dev" identifier -> field_identifier)))) != number_literal)) ))) )) (compound_statement "{\n        iVar6 = (**(code **)(puStack_158 + -0x60fc))(psStack_130);\n        iVar6 = (**(code **)(puStack_158 + -0x7f88))(iVar6 + 1);\n        *piStack_12c = iVar6;\n        psVar20 = psVar21;\n        (**(code **)(puStack_158 + -0x6074))(iVar6);\n        psVar22 = psVar21;\n        goto LAB_000fb1f0;\n      }" { (expression_statement "iVar6 = (**(code **)(puStack_158 + -0x60fc))(psStack_130);" (assignment_expression "iVar6 = (**(code **)(puStack_158 + -0x60fc))(psStack_130)" identifier = (call_expression "(**(code **)(puStack_158 + -0x60fc))(psStack_130)" (parenthesized_expression "(**(code **)(puStack_158 + -0x60fc))" ( (pointer_expression "**(code **)(puStack_158 + -0x60fc)" * (pointer_expression "*(code **)(puStack_158 + -0x60fc)" * (cast_expression "(code **)(puStack_158 + -0x60fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x60fc)" ( (binary_expression "puStack_158 + -0x60fc" identifier + number_literal) ))))) )) (argument_list "(psStack_130)" ( identifier )))) ;) (expression_statement "iVar6 = (**(code **)(puStack_158 + -0x7f88))(iVar6 + 1);" (assignment_expression "iVar6 = (**(code **)(puStack_158 + -0x7f88))(iVar6 + 1)" identifier = (call_expression "(**(code **)(puStack_158 + -0x7f88))(iVar6 + 1)" (parenthesized_expression "(**(code **)(puStack_158 + -0x7f88))" ( (pointer_expression "**(code **)(puStack_158 + -0x7f88)" * (pointer_expression "*(code **)(puStack_158 + -0x7f88)" * (cast_expression "(code **)(puStack_158 + -0x7f88)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x7f88)" ( (binary_expression "puStack_158 + -0x7f88" identifier + number_literal) ))))) )) (argument_list "(iVar6 + 1)" ( (binary_expression "iVar6 + 1" identifier + number_literal) )))) ;) (expression_statement "*piStack_12c = iVar6;" (assignment_expression "*piStack_12c = iVar6" (pointer_expression "*piStack_12c" * identifier) = identifier) ;) (expression_statement "psVar20 = psVar21;" (assignment_expression "psVar20 = psVar21" identifier = identifier) ;) (expression_statement "(**(code **)(puStack_158 + -0x6074))(iVar6);" (call_expression "(**(code **)(puStack_158 + -0x6074))(iVar6)" (parenthesized_expression "(**(code **)(puStack_158 + -0x6074))" ( (pointer_expression "**(code **)(puStack_158 + -0x6074)" * (pointer_expression "*(code **)(puStack_158 + -0x6074)" * (cast_expression "(code **)(puStack_158 + -0x6074)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x6074)" ( (binary_expression "puStack_158 + -0x6074" identifier + number_literal) ))))) )) (argument_list "(iVar6)" ( identifier ))) ;) (expression_statement "psVar22 = psVar21;" (assignment_expression "psVar22 = psVar21" identifier = identifier) ;) (goto_statement "goto LAB_000fb1f0;" goto statement_identifier ;) })) }))) (expression_statement "iVar6 = (**(code **)(puStack_158 + -0x7f88))((byte *)((int)&psStack_140->st_dev + 1));" (assignment_expression "iVar6 = (**(code **)(puStack_158 + -0x7f88))((byte *)((int)&psStack_140->st_dev + 1))" identifier = (call_expression "(**(code **)(puStack_158 + -0x7f88))((byte *)((int)&psStack_140->st_dev + 1))" (parenthesized_expression "(**(code **)(puStack_158 + -0x7f88))" ( (pointer_expression "**(code **)(puStack_158 + -0x7f88)" * (pointer_expression "*(code **)(puStack_158 + -0x7f88)" * (cast_expression "(code **)(puStack_158 + -0x7f88)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x7f88)" ( (binary_expression "puStack_158 + -0x7f88" identifier + number_literal) ))))) )) (argument_list "((byte *)((int)&psStack_140->st_dev + 1))" ( (cast_expression "(byte *)((int)&psStack_140->st_dev + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psStack_140->st_dev + 1)" ( (binary_expression "(int)&psStack_140->st_dev + 1" (cast_expression "(int)&psStack_140->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psStack_140->st_dev" & (field_expression "psStack_140->st_dev" identifier -> field_identifier))) + number_literal) ))) )))) ;) (expression_statement "*piStack_12c = iVar6;" (assignment_expression "*piStack_12c = iVar6" (pointer_expression "*piStack_12c" * identifier) = identifier) ;) (if_statement "if (**(int **)(puStack_158 + -0x65bc) == 0) {\n      psVar20 = (stat *)piStack_12c[1];\n      (**(code **)(puStack_158 + -0x615c))(iVar6,psVar20,psStack_140);\n    }\n    else {\n      psVar24 = (stat *)0x0;\n      if (**(int **)(puStack_158 + -0x6f0c) != 0) {\n        if ((code *)**(undefined4 **)(puStack_158 + -0x6de4) == (code *)0x0) {\n          psVar24 = (stat *)0x0;\n        }\n        else if ((**(int **)(puStack_158 + -0x6f38) != 0) &&\n                (**(int **)(puStack_158 + -0x702c) != 0)) {\n          psVar20 = (stat *)**(undefined4 **)(puStack_158 + -0x6f34);\n          psVar24 = (stat *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(psStack_130);\n          psStack_130 = psVar24;\n        }\n      }\n      if (**(int **)(puStack_158 + -0x6f10) != 0) {\n        psVar20 = (stat *)delimiter;\n        (**(code **)(puStack_158 + -0x6218))\n                  (piStack_12c + 1,delimiter,4,*(undefined4 *)(puStack_158 + -0x6660));\n      }\n      psVar22 = (stat *)(**(code **)(puStack_158 + -0x60fc))(psStack_130);\n      unaff_s4 = psStack_140;\n      if ((int)psVar22 <= (int)psStack_140) {\n        unaff_s4 = psVar22;\n      }\n      if (delimiter < 1) {\n        psVar22 = (stat *)0x1;\nLAB_000fb1a8:\n        psVar22 = (stat *)(uint)(delimiter < (int)psVar22);\n        if (psVar22 != (stat *)0x0) goto LAB_000fb12c;\n      }\n      else {\n        nontrivial_match = (int)(piStack_12c + 1);\n        psVar22 = (stat *)0x1;\n        do {\n          unaff_s2 = (stat *)((stat *)nontrivial_match)->st_dev;\n          iVar6 = (**(code **)(puStack_158 + -0x6238))(unaff_s2,psStack_130,unaff_s4);\n          if (iVar6 == 0) {\n            psVar20 = unaff_s2;\n            (**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,psStack_140);\n            goto LAB_000fb1a8;\n          }\n          psVar22 = (stat *)((int)&psVar22->st_dev + 1);\n          nontrivial_match = (int)((stat *)nontrivial_match)->st_pad1;\n        } while ((int)psVar22 <= delimiter);\nLAB_000fb12c:\n        psVar20 = (stat *)piStack_12c[1];\n        (**(code **)(puStack_158 + -0x615c))(*piStack_12c,psVar20,psStack_140);\n      }\n      if (psVar24 != (stat *)0x0) {\n        iVar6 = (**(code **)(puStack_158 + -0x5f94))(psVar24);\n        return iVar6;\n      }\n      unaff_s3 = (stat *)0x0;\n    }" if (parenthesized_expression "(**(int **)(puStack_158 + -0x65bc) == 0)" ( (binary_expression "**(int **)(puStack_158 + -0x65bc) == 0" (pointer_expression "**(int **)(puStack_158 + -0x65bc)" * (pointer_expression "*(int **)(puStack_158 + -0x65bc)" * (cast_expression "(int **)(puStack_158 + -0x65bc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x65bc)" ( (binary_expression "puStack_158 + -0x65bc" identifier + number_literal) ))))) == number_literal) )) (compound_statement "{\n      psVar20 = (stat *)piStack_12c[1];\n      (**(code **)(puStack_158 + -0x615c))(iVar6,psVar20,psStack_140);\n    }" { (expression_statement "psVar20 = (stat *)piStack_12c[1];" (assignment_expression "psVar20 = (stat *)piStack_12c[1]" identifier = (cast_expression "(stat *)piStack_12c[1]" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piStack_12c[1]" identifier [ number_literal ]))) ;) (expression_statement "(**(code **)(puStack_158 + -0x615c))(iVar6,psVar20,psStack_140);" (call_expression "(**(code **)(puStack_158 + -0x615c))(iVar6,psVar20,psStack_140)" (parenthesized_expression "(**(code **)(puStack_158 + -0x615c))" ( (pointer_expression "**(code **)(puStack_158 + -0x615c)" * (pointer_expression "*(code **)(puStack_158 + -0x615c)" * (cast_expression "(code **)(puStack_158 + -0x615c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x615c)" ( (binary_expression "puStack_158 + -0x615c" identifier + number_literal) ))))) )) (argument_list "(iVar6,psVar20,psStack_140)" ( identifier , identifier , identifier ))) ;) }) (else_clause "else {\n      psVar24 = (stat *)0x0;\n      if (**(int **)(puStack_158 + -0x6f0c) != 0) {\n        if ((code *)**(undefined4 **)(puStack_158 + -0x6de4) == (code *)0x0) {\n          psVar24 = (stat *)0x0;\n        }\n        else if ((**(int **)(puStack_158 + -0x6f38) != 0) &&\n                (**(int **)(puStack_158 + -0x702c) != 0)) {\n          psVar20 = (stat *)**(undefined4 **)(puStack_158 + -0x6f34);\n          psVar24 = (stat *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(psStack_130);\n          psStack_130 = psVar24;\n        }\n      }\n      if (**(int **)(puStack_158 + -0x6f10) != 0) {\n        psVar20 = (stat *)delimiter;\n        (**(code **)(puStack_158 + -0x6218))\n                  (piStack_12c + 1,delimiter,4,*(undefined4 *)(puStack_158 + -0x6660));\n      }\n      psVar22 = (stat *)(**(code **)(puStack_158 + -0x60fc))(psStack_130);\n      unaff_s4 = psStack_140;\n      if ((int)psVar22 <= (int)psStack_140) {\n        unaff_s4 = psVar22;\n      }\n      if (delimiter < 1) {\n        psVar22 = (stat *)0x1;\nLAB_000fb1a8:\n        psVar22 = (stat *)(uint)(delimiter < (int)psVar22);\n        if (psVar22 != (stat *)0x0) goto LAB_000fb12c;\n      }\n      else {\n        nontrivial_match = (int)(piStack_12c + 1);\n        psVar22 = (stat *)0x1;\n        do {\n          unaff_s2 = (stat *)((stat *)nontrivial_match)->st_dev;\n          iVar6 = (**(code **)(puStack_158 + -0x6238))(unaff_s2,psStack_130,unaff_s4);\n          if (iVar6 == 0) {\n            psVar20 = unaff_s2;\n            (**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,psStack_140);\n            goto LAB_000fb1a8;\n          }\n          psVar22 = (stat *)((int)&psVar22->st_dev + 1);\n          nontrivial_match = (int)((stat *)nontrivial_match)->st_pad1;\n        } while ((int)psVar22 <= delimiter);\nLAB_000fb12c:\n        psVar20 = (stat *)piStack_12c[1];\n        (**(code **)(puStack_158 + -0x615c))(*piStack_12c,psVar20,psStack_140);\n      }\n      if (psVar24 != (stat *)0x0) {\n        iVar6 = (**(code **)(puStack_158 + -0x5f94))(psVar24);\n        return iVar6;\n      }\n      unaff_s3 = (stat *)0x0;\n    }" else (compound_statement "{\n      psVar24 = (stat *)0x0;\n      if (**(int **)(puStack_158 + -0x6f0c) != 0) {\n        if ((code *)**(undefined4 **)(puStack_158 + -0x6de4) == (code *)0x0) {\n          psVar24 = (stat *)0x0;\n        }\n        else if ((**(int **)(puStack_158 + -0x6f38) != 0) &&\n                (**(int **)(puStack_158 + -0x702c) != 0)) {\n          psVar20 = (stat *)**(undefined4 **)(puStack_158 + -0x6f34);\n          psVar24 = (stat *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(psStack_130);\n          psStack_130 = psVar24;\n        }\n      }\n      if (**(int **)(puStack_158 + -0x6f10) != 0) {\n        psVar20 = (stat *)delimiter;\n        (**(code **)(puStack_158 + -0x6218))\n                  (piStack_12c + 1,delimiter,4,*(undefined4 *)(puStack_158 + -0x6660));\n      }\n      psVar22 = (stat *)(**(code **)(puStack_158 + -0x60fc))(psStack_130);\n      unaff_s4 = psStack_140;\n      if ((int)psVar22 <= (int)psStack_140) {\n        unaff_s4 = psVar22;\n      }\n      if (delimiter < 1) {\n        psVar22 = (stat *)0x1;\nLAB_000fb1a8:\n        psVar22 = (stat *)(uint)(delimiter < (int)psVar22);\n        if (psVar22 != (stat *)0x0) goto LAB_000fb12c;\n      }\n      else {\n        nontrivial_match = (int)(piStack_12c + 1);\n        psVar22 = (stat *)0x1;\n        do {\n          unaff_s2 = (stat *)((stat *)nontrivial_match)->st_dev;\n          iVar6 = (**(code **)(puStack_158 + -0x6238))(unaff_s2,psStack_130,unaff_s4);\n          if (iVar6 == 0) {\n            psVar20 = unaff_s2;\n            (**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,psStack_140);\n            goto LAB_000fb1a8;\n          }\n          psVar22 = (stat *)((int)&psVar22->st_dev + 1);\n          nontrivial_match = (int)((stat *)nontrivial_match)->st_pad1;\n        } while ((int)psVar22 <= delimiter);\nLAB_000fb12c:\n        psVar20 = (stat *)piStack_12c[1];\n        (**(code **)(puStack_158 + -0x615c))(*piStack_12c,psVar20,psStack_140);\n      }\n      if (psVar24 != (stat *)0x0) {\n        iVar6 = (**(code **)(puStack_158 + -0x5f94))(psVar24);\n        return iVar6;\n      }\n      unaff_s3 = (stat *)0x0;\n    }" { (expression_statement "psVar24 = (stat *)0x0;" (assignment_expression "psVar24 = (stat *)0x0" identifier = (cast_expression "(stat *)0x0" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (**(int **)(puStack_158 + -0x6f0c) != 0) {\n        if ((code *)**(undefined4 **)(puStack_158 + -0x6de4) == (code *)0x0) {\n          psVar24 = (stat *)0x0;\n        }\n        else if ((**(int **)(puStack_158 + -0x6f38) != 0) &&\n                (**(int **)(puStack_158 + -0x702c) != 0)) {\n          psVar20 = (stat *)**(undefined4 **)(puStack_158 + -0x6f34);\n          psVar24 = (stat *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(psStack_130);\n          psStack_130 = psVar24;\n        }\n      }" if (parenthesized_expression "(**(int **)(puStack_158 + -0x6f0c) != 0)" ( (binary_expression "**(int **)(puStack_158 + -0x6f0c) != 0" (pointer_expression "**(int **)(puStack_158 + -0x6f0c)" * (pointer_expression "*(int **)(puStack_158 + -0x6f0c)" * (cast_expression "(int **)(puStack_158 + -0x6f0c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x6f0c)" ( (binary_expression "puStack_158 + -0x6f0c" identifier + number_literal) ))))) != number_literal) )) (compound_statement "{\n        if ((code *)**(undefined4 **)(puStack_158 + -0x6de4) == (code *)0x0) {\n          psVar24 = (stat *)0x0;\n        }\n        else if ((**(int **)(puStack_158 + -0x6f38) != 0) &&\n                (**(int **)(puStack_158 + -0x702c) != 0)) {\n          psVar20 = (stat *)**(undefined4 **)(puStack_158 + -0x6f34);\n          psVar24 = (stat *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(psStack_130);\n          psStack_130 = psVar24;\n        }\n      }" { (if_statement "if ((code *)**(undefined4 **)(puStack_158 + -0x6de4) == (code *)0x0) {\n          psVar24 = (stat *)0x0;\n        }\n        else if ((**(int **)(puStack_158 + -0x6f38) != 0) &&\n                (**(int **)(puStack_158 + -0x702c) != 0)) {\n          psVar20 = (stat *)**(undefined4 **)(puStack_158 + -0x6f34);\n          psVar24 = (stat *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(psStack_130);\n          psStack_130 = psVar24;\n        }" if (parenthesized_expression "((code *)**(undefined4 **)(puStack_158 + -0x6de4) == (code *)0x0)" ( (binary_expression "(code *)**(undefined4 **)(puStack_158 + -0x6de4) == (code *)0x0" (cast_expression "(code *)**(undefined4 **)(puStack_158 + -0x6de4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(puStack_158 + -0x6de4)" * (pointer_expression "*(undefined4 **)(puStack_158 + -0x6de4)" * (cast_expression "(undefined4 **)(puStack_158 + -0x6de4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x6de4)" ( (binary_expression "puStack_158 + -0x6de4" identifier + number_literal) )))))) == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          psVar24 = (stat *)0x0;\n        }" { (expression_statement "psVar24 = (stat *)0x0;" (assignment_expression "psVar24 = (stat *)0x0" identifier = (cast_expression "(stat *)0x0" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else if ((**(int **)(puStack_158 + -0x6f38) != 0) &&\n                (**(int **)(puStack_158 + -0x702c) != 0)) {\n          psVar20 = (stat *)**(undefined4 **)(puStack_158 + -0x6f34);\n          psVar24 = (stat *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(psStack_130);\n          psStack_130 = psVar24;\n        }" else (if_statement "if ((**(int **)(puStack_158 + -0x6f38) != 0) &&\n                (**(int **)(puStack_158 + -0x702c) != 0)) {\n          psVar20 = (stat *)**(undefined4 **)(puStack_158 + -0x6f34);\n          psVar24 = (stat *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(psStack_130);\n          psStack_130 = psVar24;\n        }" if (parenthesized_expression "((**(int **)(puStack_158 + -0x6f38) != 0) &&\n                (**(int **)(puStack_158 + -0x702c) != 0))" ( (binary_expression "(**(int **)(puStack_158 + -0x6f38) != 0) &&\n                (**(int **)(puStack_158 + -0x702c) != 0)" (parenthesized_expression "(**(int **)(puStack_158 + -0x6f38) != 0)" ( (binary_expression "**(int **)(puStack_158 + -0x6f38) != 0" (pointer_expression "**(int **)(puStack_158 + -0x6f38)" * (pointer_expression "*(int **)(puStack_158 + -0x6f38)" * (cast_expression "(int **)(puStack_158 + -0x6f38)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x6f38)" ( (binary_expression "puStack_158 + -0x6f38" identifier + number_literal) ))))) != number_literal) )) && (parenthesized_expression "(**(int **)(puStack_158 + -0x702c) != 0)" ( (binary_expression "**(int **)(puStack_158 + -0x702c) != 0" (pointer_expression "**(int **)(puStack_158 + -0x702c)" * (pointer_expression "*(int **)(puStack_158 + -0x702c)" * (cast_expression "(int **)(puStack_158 + -0x702c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x702c)" ( (binary_expression "puStack_158 + -0x702c" identifier + number_literal) ))))) != number_literal) ))) )) (compound_statement "{\n          psVar20 = (stat *)**(undefined4 **)(puStack_158 + -0x6f34);\n          psVar24 = (stat *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(psStack_130);\n          psStack_130 = psVar24;\n        }" { (expression_statement "psVar20 = (stat *)**(undefined4 **)(puStack_158 + -0x6f34);" (assignment_expression "psVar20 = (stat *)**(undefined4 **)(puStack_158 + -0x6f34)" identifier = (cast_expression "(stat *)**(undefined4 **)(puStack_158 + -0x6f34)" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(puStack_158 + -0x6f34)" * (pointer_expression "*(undefined4 **)(puStack_158 + -0x6f34)" * (cast_expression "(undefined4 **)(puStack_158 + -0x6f34)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x6f34)" ( (binary_expression "puStack_158 + -0x6f34" identifier + number_literal) ))))))) ;) (expression_statement "psVar24 = (stat *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(psStack_130);" (assignment_expression "psVar24 = (stat *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(psStack_130)" identifier = (cast_expression "(stat *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(psStack_130)" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(psStack_130)" (parenthesized_expression "(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))" ( (pointer_expression "*(code *)**(undefined4 **)(puStack_158 + -0x6de4)" * (cast_expression "(code *)**(undefined4 **)(puStack_158 + -0x6de4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(puStack_158 + -0x6de4)" * (pointer_expression "*(undefined4 **)(puStack_158 + -0x6de4)" * (cast_expression "(undefined4 **)(puStack_158 + -0x6de4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x6de4)" ( (binary_expression "puStack_158 + -0x6de4" identifier + number_literal) ))))))) )) (argument_list "(psStack_130)" ( identifier ))))) ;) (expression_statement "psStack_130 = psVar24;" (assignment_expression "psStack_130 = psVar24" identifier = identifier) ;) })))) })) (if_statement "if (**(int **)(puStack_158 + -0x6f10) != 0) {\n        psVar20 = (stat *)delimiter;\n        (**(code **)(puStack_158 + -0x6218))\n                  (piStack_12c + 1,delimiter,4,*(undefined4 *)(puStack_158 + -0x6660));\n      }" if (parenthesized_expression "(**(int **)(puStack_158 + -0x6f10) != 0)" ( (binary_expression "**(int **)(puStack_158 + -0x6f10) != 0" (pointer_expression "**(int **)(puStack_158 + -0x6f10)" * (pointer_expression "*(int **)(puStack_158 + -0x6f10)" * (cast_expression "(int **)(puStack_158 + -0x6f10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x6f10)" ( (binary_expression "puStack_158 + -0x6f10" identifier + number_literal) ))))) != number_literal) )) (compound_statement "{\n        psVar20 = (stat *)delimiter;\n        (**(code **)(puStack_158 + -0x6218))\n                  (piStack_12c + 1,delimiter,4,*(undefined4 *)(puStack_158 + -0x6660));\n      }" { (expression_statement "psVar20 = (stat *)delimiter;" (assignment_expression "psVar20 = (stat *)delimiter" identifier = (cast_expression "(stat *)delimiter" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "(**(code **)(puStack_158 + -0x6218))\n                  (piStack_12c + 1,delimiter,4,*(undefined4 *)(puStack_158 + -0x6660));" (call_expression "(**(code **)(puStack_158 + -0x6218))\n                  (piStack_12c + 1,delimiter,4,*(undefined4 *)(puStack_158 + -0x6660))" (parenthesized_expression "(**(code **)(puStack_158 + -0x6218))" ( (pointer_expression "**(code **)(puStack_158 + -0x6218)" * (pointer_expression "*(code **)(puStack_158 + -0x6218)" * (cast_expression "(code **)(puStack_158 + -0x6218)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x6218)" ( (binary_expression "puStack_158 + -0x6218" identifier + number_literal) ))))) )) (argument_list "(piStack_12c + 1,delimiter,4,*(undefined4 *)(puStack_158 + -0x6660))" ( (binary_expression "piStack_12c + 1" identifier + number_literal) , identifier , number_literal , (pointer_expression "*(undefined4 *)(puStack_158 + -0x6660)" * (cast_expression "(undefined4 *)(puStack_158 + -0x6660)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_158 + -0x6660)" ( (binary_expression "puStack_158 + -0x6660" identifier + number_literal) )))) ))) ;) })) (expression_statement "psVar22 = (stat *)(**(code **)(puStack_158 + -0x60fc))(psStack_130);" (assignment_expression "psVar22 = (stat *)(**(code **)(puStack_158 + -0x60fc))(psStack_130)" identifier = (cast_expression "(stat *)(**(code **)(puStack_158 + -0x60fc))(psStack_130)" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puStack_158 + -0x60fc))(psStack_130)" (parenthesized_expression "(**(code **)(puStack_158 + -0x60fc))" ( (pointer_expression "**(code **)(puStack_158 + -0x60fc)" * (pointer_expression "*(code **)(puStack_158 + -0x60fc)" * (cast_expression "(code **)(puStack_158 + -0x60fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x60fc)" ( (binary_expression "puStack_158 + -0x60fc" identifier + number_literal) ))))) )) (argument_list "(psStack_130)" ( identifier ))))) ;) (expression_statement "unaff_s4 = psStack_140;" (assignment_expression "unaff_s4 = psStack_140" identifier = identifier) ;) (if_statement "if ((int)psVar22 <= (int)psStack_140) {\n        unaff_s4 = psVar22;\n      }" if (parenthesized_expression "((int)psVar22 <= (int)psStack_140)" ( (binary_expression "(int)psVar22 <= (int)psStack_140" (cast_expression "(int)psVar22" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)psStack_140" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        unaff_s4 = psVar22;\n      }" { (expression_statement "unaff_s4 = psVar22;" (assignment_expression "unaff_s4 = psVar22" identifier = identifier) ;) })) (if_statement "if (delimiter < 1) {\n        psVar22 = (stat *)0x1;\nLAB_000fb1a8:\n        psVar22 = (stat *)(uint)(delimiter < (int)psVar22);\n        if (psVar22 != (stat *)0x0) goto LAB_000fb12c;\n      }\n      else {\n        nontrivial_match = (int)(piStack_12c + 1);\n        psVar22 = (stat *)0x1;\n        do {\n          unaff_s2 = (stat *)((stat *)nontrivial_match)->st_dev;\n          iVar6 = (**(code **)(puStack_158 + -0x6238))(unaff_s2,psStack_130,unaff_s4);\n          if (iVar6 == 0) {\n            psVar20 = unaff_s2;\n            (**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,psStack_140);\n            goto LAB_000fb1a8;\n          }\n          psVar22 = (stat *)((int)&psVar22->st_dev + 1);\n          nontrivial_match = (int)((stat *)nontrivial_match)->st_pad1;\n        } while ((int)psVar22 <= delimiter);\nLAB_000fb12c:\n        psVar20 = (stat *)piStack_12c[1];\n        (**(code **)(puStack_158 + -0x615c))(*piStack_12c,psVar20,psStack_140);\n      }" if (parenthesized_expression "(delimiter < 1)" ( (binary_expression "delimiter < 1" identifier < number_literal) )) (compound_statement "{\n        psVar22 = (stat *)0x1;\nLAB_000fb1a8:\n        psVar22 = (stat *)(uint)(delimiter < (int)psVar22);\n        if (psVar22 != (stat *)0x0) goto LAB_000fb12c;\n      }" { (expression_statement "psVar22 = (stat *)0x1;" (assignment_expression "psVar22 = (stat *)0x1" identifier = (cast_expression "(stat *)0x1" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_000fb1a8:\n        psVar22 = (stat *)(uint)(delimiter < (int)psVar22);" statement_identifier : (expression_statement "psVar22 = (stat *)(uint)(delimiter < (int)psVar22);" (assignment_expression "psVar22 = (stat *)(uint)(delimiter < (int)psVar22)" identifier = (cast_expression "(stat *)(uint)(delimiter < (int)psVar22)" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(delimiter < (int)psVar22)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(delimiter < (int)psVar22)" ( (binary_expression "delimiter < (int)psVar22" identifier < (cast_expression "(int)psVar22" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;)) (if_statement "if (psVar22 != (stat *)0x0) goto LAB_000fb12c;" if (parenthesized_expression "(psVar22 != (stat *)0x0)" ( (binary_expression "psVar22 != (stat *)0x0" identifier != (cast_expression "(stat *)0x0" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000fb12c;" goto statement_identifier ;)) }) (else_clause "else {\n        nontrivial_match = (int)(piStack_12c + 1);\n        psVar22 = (stat *)0x1;\n        do {\n          unaff_s2 = (stat *)((stat *)nontrivial_match)->st_dev;\n          iVar6 = (**(code **)(puStack_158 + -0x6238))(unaff_s2,psStack_130,unaff_s4);\n          if (iVar6 == 0) {\n            psVar20 = unaff_s2;\n            (**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,psStack_140);\n            goto LAB_000fb1a8;\n          }\n          psVar22 = (stat *)((int)&psVar22->st_dev + 1);\n          nontrivial_match = (int)((stat *)nontrivial_match)->st_pad1;\n        } while ((int)psVar22 <= delimiter);\nLAB_000fb12c:\n        psVar20 = (stat *)piStack_12c[1];\n        (**(code **)(puStack_158 + -0x615c))(*piStack_12c,psVar20,psStack_140);\n      }" else (compound_statement "{\n        nontrivial_match = (int)(piStack_12c + 1);\n        psVar22 = (stat *)0x1;\n        do {\n          unaff_s2 = (stat *)((stat *)nontrivial_match)->st_dev;\n          iVar6 = (**(code **)(puStack_158 + -0x6238))(unaff_s2,psStack_130,unaff_s4);\n          if (iVar6 == 0) {\n            psVar20 = unaff_s2;\n            (**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,psStack_140);\n            goto LAB_000fb1a8;\n          }\n          psVar22 = (stat *)((int)&psVar22->st_dev + 1);\n          nontrivial_match = (int)((stat *)nontrivial_match)->st_pad1;\n        } while ((int)psVar22 <= delimiter);\nLAB_000fb12c:\n        psVar20 = (stat *)piStack_12c[1];\n        (**(code **)(puStack_158 + -0x615c))(*piStack_12c,psVar20,psStack_140);\n      }" { (expression_statement "nontrivial_match = (int)(piStack_12c + 1);" (assignment_expression "nontrivial_match = (int)(piStack_12c + 1)" identifier = (cast_expression "(int)(piStack_12c + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(piStack_12c + 1)" ( (binary_expression "piStack_12c + 1" identifier + number_literal) )))) ;) (expression_statement "psVar22 = (stat *)0x1;" (assignment_expression "psVar22 = (stat *)0x1" identifier = (cast_expression "(stat *)0x1" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n          unaff_s2 = (stat *)((stat *)nontrivial_match)->st_dev;\n          iVar6 = (**(code **)(puStack_158 + -0x6238))(unaff_s2,psStack_130,unaff_s4);\n          if (iVar6 == 0) {\n            psVar20 = unaff_s2;\n            (**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,psStack_140);\n            goto LAB_000fb1a8;\n          }\n          psVar22 = (stat *)((int)&psVar22->st_dev + 1);\n          nontrivial_match = (int)((stat *)nontrivial_match)->st_pad1;\n        } while ((int)psVar22 <= delimiter);" do (compound_statement "{\n          unaff_s2 = (stat *)((stat *)nontrivial_match)->st_dev;\n          iVar6 = (**(code **)(puStack_158 + -0x6238))(unaff_s2,psStack_130,unaff_s4);\n          if (iVar6 == 0) {\n            psVar20 = unaff_s2;\n            (**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,psStack_140);\n            goto LAB_000fb1a8;\n          }\n          psVar22 = (stat *)((int)&psVar22->st_dev + 1);\n          nontrivial_match = (int)((stat *)nontrivial_match)->st_pad1;\n        }" { (expression_statement "unaff_s2 = (stat *)((stat *)nontrivial_match)->st_dev;" (assignment_expression "unaff_s2 = (stat *)((stat *)nontrivial_match)->st_dev" identifier = (cast_expression "(stat *)((stat *)nontrivial_match)->st_dev" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "((stat *)nontrivial_match)->st_dev" (parenthesized_expression "((stat *)nontrivial_match)" ( (cast_expression "(stat *)nontrivial_match" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier))) ;) (expression_statement "iVar6 = (**(code **)(puStack_158 + -0x6238))(unaff_s2,psStack_130,unaff_s4);" (assignment_expression "iVar6 = (**(code **)(puStack_158 + -0x6238))(unaff_s2,psStack_130,unaff_s4)" identifier = (call_expression "(**(code **)(puStack_158 + -0x6238))(unaff_s2,psStack_130,unaff_s4)" (parenthesized_expression "(**(code **)(puStack_158 + -0x6238))" ( (pointer_expression "**(code **)(puStack_158 + -0x6238)" * (pointer_expression "*(code **)(puStack_158 + -0x6238)" * (cast_expression "(code **)(puStack_158 + -0x6238)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x6238)" ( (binary_expression "puStack_158 + -0x6238" identifier + number_literal) ))))) )) (argument_list "(unaff_s2,psStack_130,unaff_s4)" ( identifier , identifier , identifier )))) ;) (if_statement "if (iVar6 == 0) {\n            psVar20 = unaff_s2;\n            (**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,psStack_140);\n            goto LAB_000fb1a8;\n          }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n            psVar20 = unaff_s2;\n            (**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,psStack_140);\n            goto LAB_000fb1a8;\n          }" { (expression_statement "psVar20 = unaff_s2;" (assignment_expression "psVar20 = unaff_s2" identifier = identifier) ;) (expression_statement "(**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,psStack_140);" (call_expression "(**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,psStack_140)" (parenthesized_expression "(**(code **)(puStack_158 + -0x615c))" ( (pointer_expression "**(code **)(puStack_158 + -0x615c)" * (pointer_expression "*(code **)(puStack_158 + -0x615c)" * (cast_expression "(code **)(puStack_158 + -0x615c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x615c)" ( (binary_expression "puStack_158 + -0x615c" identifier + number_literal) ))))) )) (argument_list "(*piStack_12c,unaff_s2,psStack_140)" ( (pointer_expression "*piStack_12c" * identifier) , identifier , identifier ))) ;) (goto_statement "goto LAB_000fb1a8;" goto statement_identifier ;) })) (expression_statement "psVar22 = (stat *)((int)&psVar22->st_dev + 1);" (assignment_expression "psVar22 = (stat *)((int)&psVar22->st_dev + 1)" identifier = (cast_expression "(stat *)((int)&psVar22->st_dev + 1)" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar22->st_dev + 1)" ( (binary_expression "(int)&psVar22->st_dev + 1" (cast_expression "(int)&psVar22->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar22->st_dev" & (field_expression "psVar22->st_dev" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "nontrivial_match = (int)((stat *)nontrivial_match)->st_pad1;" (assignment_expression "nontrivial_match = (int)((stat *)nontrivial_match)->st_pad1" identifier = (cast_expression "(int)((stat *)nontrivial_match)->st_pad1" ( (type_descriptor "int" primitive_type) ) (field_expression "((stat *)nontrivial_match)->st_pad1" (parenthesized_expression "((stat *)nontrivial_match)" ( (cast_expression "(stat *)nontrivial_match" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) )) -> field_identifier))) ;) }) while (parenthesized_expression "((int)psVar22 <= delimiter)" ( (binary_expression "(int)psVar22 <= delimiter" (cast_expression "(int)psVar22" ( (type_descriptor "int" primitive_type) ) identifier) <= identifier) )) ;) (labeled_statement "LAB_000fb12c:\n        psVar20 = (stat *)piStack_12c[1];" statement_identifier : (expression_statement "psVar20 = (stat *)piStack_12c[1];" (assignment_expression "psVar20 = (stat *)piStack_12c[1]" identifier = (cast_expression "(stat *)piStack_12c[1]" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piStack_12c[1]" identifier [ number_literal ]))) ;)) (expression_statement "(**(code **)(puStack_158 + -0x615c))(*piStack_12c,psVar20,psStack_140);" (call_expression "(**(code **)(puStack_158 + -0x615c))(*piStack_12c,psVar20,psStack_140)" (parenthesized_expression "(**(code **)(puStack_158 + -0x615c))" ( (pointer_expression "**(code **)(puStack_158 + -0x615c)" * (pointer_expression "*(code **)(puStack_158 + -0x615c)" * (cast_expression "(code **)(puStack_158 + -0x615c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x615c)" ( (binary_expression "puStack_158 + -0x615c" identifier + number_literal) ))))) )) (argument_list "(*piStack_12c,psVar20,psStack_140)" ( (pointer_expression "*piStack_12c" * identifier) , identifier , identifier ))) ;) }))) (if_statement "if (psVar24 != (stat *)0x0) {\n        iVar6 = (**(code **)(puStack_158 + -0x5f94))(psVar24);\n        return iVar6;\n      }" if (parenthesized_expression "(psVar24 != (stat *)0x0)" ( (binary_expression "psVar24 != (stat *)0x0" identifier != (cast_expression "(stat *)0x0" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        iVar6 = (**(code **)(puStack_158 + -0x5f94))(psVar24);\n        return iVar6;\n      }" { (expression_statement "iVar6 = (**(code **)(puStack_158 + -0x5f94))(psVar24);" (assignment_expression "iVar6 = (**(code **)(puStack_158 + -0x5f94))(psVar24)" identifier = (call_expression "(**(code **)(puStack_158 + -0x5f94))(psVar24)" (parenthesized_expression "(**(code **)(puStack_158 + -0x5f94))" ( (pointer_expression "**(code **)(puStack_158 + -0x5f94)" * (pointer_expression "*(code **)(puStack_158 + -0x5f94)" * (cast_expression "(code **)(puStack_158 + -0x5f94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x5f94)" ( (binary_expression "puStack_158 + -0x5f94" identifier + number_literal) ))))) )) (argument_list "(psVar24)" ( identifier )))) ;) (return_statement "return iVar6;" return identifier ;) })) (expression_statement "unaff_s3 = (stat *)0x0;" (assignment_expression "unaff_s3 = (stat *)0x0" identifier = (cast_expression "(stat *)0x0" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (expression_statement "*(undefined1 *)((int)psStack_140->st_pad1 + *piStack_12c + -4) = 0;" (assignment_expression "*(undefined1 *)((int)psStack_140->st_pad1 + *piStack_12c + -4) = 0" (pointer_expression "*(undefined1 *)((int)psStack_140->st_pad1 + *piStack_12c + -4)" * (cast_expression "(undefined1 *)((int)psStack_140->st_pad1 + *piStack_12c + -4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psStack_140->st_pad1 + *piStack_12c + -4)" ( (binary_expression "(int)psStack_140->st_pad1 + *piStack_12c + -4" (binary_expression "(int)psStack_140->st_pad1 + *piStack_12c" (cast_expression "(int)psStack_140->st_pad1" ( (type_descriptor "int" primitive_type) ) (field_expression "psStack_140->st_pad1" identifier -> field_identifier)) + (pointer_expression "*piStack_12c" * identifier)) + number_literal) )))) = number_literal) ;) (expression_statement "psStack_13c = (stat *)delimiter;" (assignment_expression "psStack_13c = (stat *)delimiter" identifier = (cast_expression "(stat *)delimiter" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) }))) (labeled_statement "LAB_000fb1f0:\n  if (puStack_104 == (undefined4 *)**(undefined4 **)(puStack_158 + -0x5fb4)) {\n    return (int)psStack_13c;\n  }" statement_identifier : (if_statement "if (puStack_104 == (undefined4 *)**(undefined4 **)(puStack_158 + -0x5fb4)) {\n    return (int)psStack_13c;\n  }" if (parenthesized_expression "(puStack_104 == (undefined4 *)**(undefined4 **)(puStack_158 + -0x5fb4))" ( (binary_expression "puStack_104 == (undefined4 *)**(undefined4 **)(puStack_158 + -0x5fb4)" identifier == (cast_expression "(undefined4 *)**(undefined4 **)(puStack_158 + -0x5fb4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(puStack_158 + -0x5fb4)" * (pointer_expression "*(undefined4 **)(puStack_158 + -0x5fb4)" * (cast_expression "(undefined4 **)(puStack_158 + -0x5fb4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x5fb4)" ( (binary_expression "puStack_158 + -0x5fb4" identifier + number_literal) ))))))) )) (compound_statement "{\n    return (int)psStack_13c;\n  }" { (return_statement "return (int)psStack_13c;" return (cast_expression "(int)psStack_13c" ( (type_descriptor "int" primitive_type) ) identifier) ;) }))) (expression_statement "pcVar29 = *(code **)(puStack_158 + -0x6004);" (assignment_expression "pcVar29 = *(code **)(puStack_158 + -0x6004)" identifier = (pointer_expression "*(code **)(puStack_158 + -0x6004)" * (cast_expression "(code **)(puStack_158 + -0x6004)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x6004)" ( (binary_expression "puStack_158 + -0x6004" identifier + number_literal) ))))) ;) (expression_statement "pcVar30 = postprocess_matches;" (assignment_expression "pcVar30 = postprocess_matches" identifier = identifier) ;) (expression_statement "puVar11 = puStack_104;" (assignment_expression "puVar11 = puStack_104" identifier = identifier) ;) (expression_statement "(*pcVar29)();" (call_expression "(*pcVar29)()" (parenthesized_expression "(*pcVar29)" ( (pointer_expression "*pcVar29" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_1a8 = pcVar29 + 0x632d8;" (assignment_expression "pcStack_1a8 = pcVar29 + 0x632d8" identifier = (binary_expression "pcVar29 + 0x632d8" identifier + number_literal)) ;) (expression_statement "auStack_19d._1_4_ = **(undefined4 **)(pcVar29 + 0x5d324);" (assignment_expression "auStack_19d._1_4_ = **(undefined4 **)(pcVar29 + 0x5d324)" (field_expression "auStack_19d._1_4_" identifier . field_identifier) = (pointer_expression "**(undefined4 **)(pcVar29 + 0x5d324)" * (pointer_expression "*(undefined4 **)(pcVar29 + 0x5d324)" * (cast_expression "(undefined4 **)(pcVar29 + 0x5d324)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5d324)" ( (binary_expression "pcVar29 + 0x5d324" identifier + number_literal) )))))) ;) (expression_statement "psVar24 = (stat *)*puVar11;" (assignment_expression "psVar24 = (stat *)*puVar11" identifier = (cast_expression "(stat *)*puVar11" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar11" * identifier))) ;) (expression_statement "auStack_19d._9_4_ = psVar22;" (assignment_expression "auStack_19d._9_4_ = psVar22" (field_expression "auStack_19d._9_4_" identifier . field_identifier) = identifier) ;) (expression_statement "auStack_19d._13_4_ = nontrivial_match;" (assignment_expression "auStack_19d._13_4_ = nontrivial_match" (field_expression "auStack_19d._13_4_" identifier . field_identifier) = identifier) ;) (expression_statement "auStack_19d._17_4_ = unaff_s2;" (assignment_expression "auStack_19d._17_4_ = unaff_s2" (field_expression "auStack_19d._17_4_" identifier . field_identifier) = identifier) ;) (expression_statement "psStack_188 = unaff_s3;" (assignment_expression "psStack_188 = unaff_s3" identifier = identifier) ;) (expression_statement "psStack_184 = unaff_s4;" (assignment_expression "psStack_184 = unaff_s4" identifier = identifier) ;) (expression_statement "psStack_180 = unaff_s5;" (assignment_expression "psStack_180 = unaff_s5" identifier = identifier) ;) (expression_statement "puStack_17c = unaff_s6;" (assignment_expression "puStack_17c = unaff_s6" identifier = identifier) ;) (expression_statement "psStack_178 = unaff_s7;" (assignment_expression "psStack_178 = unaff_s7" identifier = identifier) ;) (expression_statement "pcStack_174 = pcVar30;" (assignment_expression "pcStack_174 = pcVar30" identifier = identifier) ;) (if_statement "if (psVar24 == (stat *)0x0) {\n    iVar6 = 0;\n  }\n  else {\n    psVar21 = psVar20;\n    match_list = psVar24;\n    if (**(int **)(pcVar29 + 0x5cd28) != 0) {\n      if (psVar24->st_dev == 0) {\nLAB_000fb370:\n        uVar18 = psVar24->st_dev;\n      }\n      else {\n        plVar7 = psVar24->st_pad1;\n        iVar6 = 0;\n        do {\n          iVar13 = iVar6;\n          iVar12 = *plVar7;\n          iVar6 = iVar13 + 1;\n          plVar7 = plVar7 + 1;\n        } while (iVar12 != 0);\n        if ((iVar6 == 0) || (**(int **)(pcVar29 + 0x5c3c8) == 0)) goto LAB_000fb370;\n        (**(code **)(pcVar29 + 0x5d0c0))\n                  (psVar24->st_pad1,iVar13,4,*(undefined4 *)(pcVar29 + 0x5cc78));\n        uVar18 = psVar24->st_dev;\n      }\n      iVar6 = (**(code **)(pcStack_1a8 + -0x60fc))(uVar18);\n      uVar9 = (**(code **)(pcStack_1a8 + -0x7f88))(iVar6 + 1);\n      unaff_s4 = (stat *)(**(code **)(pcStack_1a8 + -0x6074))(uVar9,psVar24->st_dev);\n      if (psVar24->st_pad1[0] == 0) {\n        unaff_s6 = (ulong *)0x0;\n        iVar6 = 3;\n        psVar21 = (stat *)0x0;\n      }\n      else {\n        unaff_s6 = (ulong *)0x0;\n        unaff_s7 = (stat *)auStack_19d;\n        psVar22 = psVar24;\n        do {\n          uVar18 = psVar22->st_dev;\n          iVar6 = (**(code **)(pcStack_1a8 + -0x5f48))(uVar18);\n          if (iVar6 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(uVar18);\n            psVar22->st_dev = (ulong)unaff_s7;\n          }\n          else {\n            unaff_s6 = (ulong *)((int)unaff_s6 + 1);\n          }\n          psVar21 = (stat *)psVar22->st_pad1[1];\n          iVar6 = (int)unaff_s6 + 3;\n          psVar22 = (stat *)psVar22->st_pad1;\n        } while (psVar21 != (stat *)0x0);\n      }\n      match_list = (stat *)(**(code **)(pcStack_1a8 + -0x7f88))(iVar6 << 2);\n      psVar8 = (stat *)psVar24->st_pad1[0];\n      plVar7 = psVar24->st_pad1;\n      if (psVar8 == (stat *)0x0) {\n        match_list->st_pad1[0] = 0;\n        psVar22 = (stat *)0x1;\n        if ((undefined1 *)psVar24->st_dev != auStack_19d) {\n          pcVar29 = *(code **)(pcStack_1a8 + -0x798c);\n          goto LAB_000fb4b4;\n        }\n        match_list->st_dev = (ulong)unaff_s4;\n      }\n      else {\n        psVar22 = (stat *)0x1;\n        psVar21 = (stat *)auStack_19d;\n        do {\n          plVar7 = plVar7 + 1;\n          if (psVar8 != psVar21) {\n            match_list->st_pad1[(int)((int)psVar22[-1].st_pad5 + 0x37)] = (long)psVar8;\n            psVar22 = (stat *)((int)&psVar22->st_dev + 1);\n          }\n          psVar8 = (stat *)*plVar7;\n        } while (psVar8 != (stat *)0x0);\n        match_list->st_pad1[(int)((int)psVar22[-1].st_pad5 + 0x37)] = 0;\n        if ((undefined1 *)psVar24->st_dev != auStack_19d) {\n          pcVar29 = *(code **)(pcStack_1a8 + -0x798c);\nLAB_000fb4b4:\n          (*pcVar29)();\n        }\n        match_list->st_dev = (ulong)unaff_s4;\n        if (psVar22 == (stat *)0x2) {\n          psVar22 = (stat *)match_list->st_pad1[0];\n          psVar21 = psVar22;\n          iVar6 = (**(code **)(pcStack_1a8 + -0x5f48))(unaff_s4);\n          if (iVar6 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(psVar22);\n            match_list->st_pad1[0] = 0;\n          }\n        }\n      }\n      (**(code **)(pcStack_1a8 + -0x798c))(psVar24);\n      unaff_s5 = match_list;\n    }\n    unaff_s3 = psVar20;\n    psVar24 = match_list;\n    if (((code *)**(undefined4 **)(pcStack_1a8 + -0x703c) == (code *)0x0) ||\n       (psVar20 == (stat *)0x0)) goto LAB_000fb570;\n    plVar7 = match_list->st_pad1;\n    if (match_list->st_pad1[0] == 0) {\n      psVar22 = (stat *)0x1;\n    }\n    else {\n      psVar22 = (stat *)0x1;\n      do {\n        plVar7 = plVar7 + 1;\n        psVar22 = (stat *)((int)&psVar22->st_dev + 1);\n      } while (*plVar7 != 0);\n    }\n    (*(code *)**(undefined4 **)(pcStack_1a8 + -0x703c))(match_list);\n    unaff_s3 = (stat *)match_list->st_dev;\n    if (unaff_s3 == (stat *)0x0) {\n      (**(code **)(pcStack_1a8 + -0x5f94))(match_list);\n      *puVar11 = 0;\n      iVar6 = 0;\n      psVar20 = psVar21;\n      goto LAB_000fb578;\n    }\n    plVar7 = match_list->st_pad1;\n    if (match_list->st_pad1[0] == 0) {\nLAB_000fb570:\n      *puVar11 = match_list;\n    }\n    else {\n      psVar20 = (stat *)0x1;\n      do {\n        psVar21 = psVar20;\n        plVar7 = plVar7 + 1;\n        psVar20 = (stat *)((int)&psVar21->st_dev + 1);\n      } while (*plVar7 != 0);\n      psVar22 = (stat *)(uint)((int)psVar20 < (int)psVar22);\n      if (((int)psVar20 < 2) || (psVar22 == (stat *)0x0)) goto LAB_000fb570;\n      compute_lcd_of_matches((char **)match_list,(int)psVar21,(char *)unaff_s3);\n      (**(code **)(pcStack_1a8 + -0x5f94))(unaff_s3);\n      *puVar11 = match_list;\n    }\n    iVar6 = 1;\n    psVar20 = psVar21;\n  }" if (parenthesized_expression "(psVar24 == (stat *)0x0)" ( (binary_expression "psVar24 == (stat *)0x0" identifier == (cast_expression "(stat *)0x0" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar6 = 0;\n  }" { (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) }) (else_clause "else {\n    psVar21 = psVar20;\n    match_list = psVar24;\n    if (**(int **)(pcVar29 + 0x5cd28) != 0) {\n      if (psVar24->st_dev == 0) {\nLAB_000fb370:\n        uVar18 = psVar24->st_dev;\n      }\n      else {\n        plVar7 = psVar24->st_pad1;\n        iVar6 = 0;\n        do {\n          iVar13 = iVar6;\n          iVar12 = *plVar7;\n          iVar6 = iVar13 + 1;\n          plVar7 = plVar7 + 1;\n        } while (iVar12 != 0);\n        if ((iVar6 == 0) || (**(int **)(pcVar29 + 0x5c3c8) == 0)) goto LAB_000fb370;\n        (**(code **)(pcVar29 + 0x5d0c0))\n                  (psVar24->st_pad1,iVar13,4,*(undefined4 *)(pcVar29 + 0x5cc78));\n        uVar18 = psVar24->st_dev;\n      }\n      iVar6 = (**(code **)(pcStack_1a8 + -0x60fc))(uVar18);\n      uVar9 = (**(code **)(pcStack_1a8 + -0x7f88))(iVar6 + 1);\n      unaff_s4 = (stat *)(**(code **)(pcStack_1a8 + -0x6074))(uVar9,psVar24->st_dev);\n      if (psVar24->st_pad1[0] == 0) {\n        unaff_s6 = (ulong *)0x0;\n        iVar6 = 3;\n        psVar21 = (stat *)0x0;\n      }\n      else {\n        unaff_s6 = (ulong *)0x0;\n        unaff_s7 = (stat *)auStack_19d;\n        psVar22 = psVar24;\n        do {\n          uVar18 = psVar22->st_dev;\n          iVar6 = (**(code **)(pcStack_1a8 + -0x5f48))(uVar18);\n          if (iVar6 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(uVar18);\n            psVar22->st_dev = (ulong)unaff_s7;\n          }\n          else {\n            unaff_s6 = (ulong *)((int)unaff_s6 + 1);\n          }\n          psVar21 = (stat *)psVar22->st_pad1[1];\n          iVar6 = (int)unaff_s6 + 3;\n          psVar22 = (stat *)psVar22->st_pad1;\n        } while (psVar21 != (stat *)0x0);\n      }\n      match_list = (stat *)(**(code **)(pcStack_1a8 + -0x7f88))(iVar6 << 2);\n      psVar8 = (stat *)psVar24->st_pad1[0];\n      plVar7 = psVar24->st_pad1;\n      if (psVar8 == (stat *)0x0) {\n        match_list->st_pad1[0] = 0;\n        psVar22 = (stat *)0x1;\n        if ((undefined1 *)psVar24->st_dev != auStack_19d) {\n          pcVar29 = *(code **)(pcStack_1a8 + -0x798c);\n          goto LAB_000fb4b4;\n        }\n        match_list->st_dev = (ulong)unaff_s4;\n      }\n      else {\n        psVar22 = (stat *)0x1;\n        psVar21 = (stat *)auStack_19d;\n        do {\n          plVar7 = plVar7 + 1;\n          if (psVar8 != psVar21) {\n            match_list->st_pad1[(int)((int)psVar22[-1].st_pad5 + 0x37)] = (long)psVar8;\n            psVar22 = (stat *)((int)&psVar22->st_dev + 1);\n          }\n          psVar8 = (stat *)*plVar7;\n        } while (psVar8 != (stat *)0x0);\n        match_list->st_pad1[(int)((int)psVar22[-1].st_pad5 + 0x37)] = 0;\n        if ((undefined1 *)psVar24->st_dev != auStack_19d) {\n          pcVar29 = *(code **)(pcStack_1a8 + -0x798c);\nLAB_000fb4b4:\n          (*pcVar29)();\n        }\n        match_list->st_dev = (ulong)unaff_s4;\n        if (psVar22 == (stat *)0x2) {\n          psVar22 = (stat *)match_list->st_pad1[0];\n          psVar21 = psVar22;\n          iVar6 = (**(code **)(pcStack_1a8 + -0x5f48))(unaff_s4);\n          if (iVar6 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(psVar22);\n            match_list->st_pad1[0] = 0;\n          }\n        }\n      }\n      (**(code **)(pcStack_1a8 + -0x798c))(psVar24);\n      unaff_s5 = match_list;\n    }\n    unaff_s3 = psVar20;\n    psVar24 = match_list;\n    if (((code *)**(undefined4 **)(pcStack_1a8 + -0x703c) == (code *)0x0) ||\n       (psVar20 == (stat *)0x0)) goto LAB_000fb570;\n    plVar7 = match_list->st_pad1;\n    if (match_list->st_pad1[0] == 0) {\n      psVar22 = (stat *)0x1;\n    }\n    else {\n      psVar22 = (stat *)0x1;\n      do {\n        plVar7 = plVar7 + 1;\n        psVar22 = (stat *)((int)&psVar22->st_dev + 1);\n      } while (*plVar7 != 0);\n    }\n    (*(code *)**(undefined4 **)(pcStack_1a8 + -0x703c))(match_list);\n    unaff_s3 = (stat *)match_list->st_dev;\n    if (unaff_s3 == (stat *)0x0) {\n      (**(code **)(pcStack_1a8 + -0x5f94))(match_list);\n      *puVar11 = 0;\n      iVar6 = 0;\n      psVar20 = psVar21;\n      goto LAB_000fb578;\n    }\n    plVar7 = match_list->st_pad1;\n    if (match_list->st_pad1[0] == 0) {\nLAB_000fb570:\n      *puVar11 = match_list;\n    }\n    else {\n      psVar20 = (stat *)0x1;\n      do {\n        psVar21 = psVar20;\n        plVar7 = plVar7 + 1;\n        psVar20 = (stat *)((int)&psVar21->st_dev + 1);\n      } while (*plVar7 != 0);\n      psVar22 = (stat *)(uint)((int)psVar20 < (int)psVar22);\n      if (((int)psVar20 < 2) || (psVar22 == (stat *)0x0)) goto LAB_000fb570;\n      compute_lcd_of_matches((char **)match_list,(int)psVar21,(char *)unaff_s3);\n      (**(code **)(pcStack_1a8 + -0x5f94))(unaff_s3);\n      *puVar11 = match_list;\n    }\n    iVar6 = 1;\n    psVar20 = psVar21;\n  }" else (compound_statement "{\n    psVar21 = psVar20;\n    match_list = psVar24;\n    if (**(int **)(pcVar29 + 0x5cd28) != 0) {\n      if (psVar24->st_dev == 0) {\nLAB_000fb370:\n        uVar18 = psVar24->st_dev;\n      }\n      else {\n        plVar7 = psVar24->st_pad1;\n        iVar6 = 0;\n        do {\n          iVar13 = iVar6;\n          iVar12 = *plVar7;\n          iVar6 = iVar13 + 1;\n          plVar7 = plVar7 + 1;\n        } while (iVar12 != 0);\n        if ((iVar6 == 0) || (**(int **)(pcVar29 + 0x5c3c8) == 0)) goto LAB_000fb370;\n        (**(code **)(pcVar29 + 0x5d0c0))\n                  (psVar24->st_pad1,iVar13,4,*(undefined4 *)(pcVar29 + 0x5cc78));\n        uVar18 = psVar24->st_dev;\n      }\n      iVar6 = (**(code **)(pcStack_1a8 + -0x60fc))(uVar18);\n      uVar9 = (**(code **)(pcStack_1a8 + -0x7f88))(iVar6 + 1);\n      unaff_s4 = (stat *)(**(code **)(pcStack_1a8 + -0x6074))(uVar9,psVar24->st_dev);\n      if (psVar24->st_pad1[0] == 0) {\n        unaff_s6 = (ulong *)0x0;\n        iVar6 = 3;\n        psVar21 = (stat *)0x0;\n      }\n      else {\n        unaff_s6 = (ulong *)0x0;\n        unaff_s7 = (stat *)auStack_19d;\n        psVar22 = psVar24;\n        do {\n          uVar18 = psVar22->st_dev;\n          iVar6 = (**(code **)(pcStack_1a8 + -0x5f48))(uVar18);\n          if (iVar6 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(uVar18);\n            psVar22->st_dev = (ulong)unaff_s7;\n          }\n          else {\n            unaff_s6 = (ulong *)((int)unaff_s6 + 1);\n          }\n          psVar21 = (stat *)psVar22->st_pad1[1];\n          iVar6 = (int)unaff_s6 + 3;\n          psVar22 = (stat *)psVar22->st_pad1;\n        } while (psVar21 != (stat *)0x0);\n      }\n      match_list = (stat *)(**(code **)(pcStack_1a8 + -0x7f88))(iVar6 << 2);\n      psVar8 = (stat *)psVar24->st_pad1[0];\n      plVar7 = psVar24->st_pad1;\n      if (psVar8 == (stat *)0x0) {\n        match_list->st_pad1[0] = 0;\n        psVar22 = (stat *)0x1;\n        if ((undefined1 *)psVar24->st_dev != auStack_19d) {\n          pcVar29 = *(code **)(pcStack_1a8 + -0x798c);\n          goto LAB_000fb4b4;\n        }\n        match_list->st_dev = (ulong)unaff_s4;\n      }\n      else {\n        psVar22 = (stat *)0x1;\n        psVar21 = (stat *)auStack_19d;\n        do {\n          plVar7 = plVar7 + 1;\n          if (psVar8 != psVar21) {\n            match_list->st_pad1[(int)((int)psVar22[-1].st_pad5 + 0x37)] = (long)psVar8;\n            psVar22 = (stat *)((int)&psVar22->st_dev + 1);\n          }\n          psVar8 = (stat *)*plVar7;\n        } while (psVar8 != (stat *)0x0);\n        match_list->st_pad1[(int)((int)psVar22[-1].st_pad5 + 0x37)] = 0;\n        if ((undefined1 *)psVar24->st_dev != auStack_19d) {\n          pcVar29 = *(code **)(pcStack_1a8 + -0x798c);\nLAB_000fb4b4:\n          (*pcVar29)();\n        }\n        match_list->st_dev = (ulong)unaff_s4;\n        if (psVar22 == (stat *)0x2) {\n          psVar22 = (stat *)match_list->st_pad1[0];\n          psVar21 = psVar22;\n          iVar6 = (**(code **)(pcStack_1a8 + -0x5f48))(unaff_s4);\n          if (iVar6 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(psVar22);\n            match_list->st_pad1[0] = 0;\n          }\n        }\n      }\n      (**(code **)(pcStack_1a8 + -0x798c))(psVar24);\n      unaff_s5 = match_list;\n    }\n    unaff_s3 = psVar20;\n    psVar24 = match_list;\n    if (((code *)**(undefined4 **)(pcStack_1a8 + -0x703c) == (code *)0x0) ||\n       (psVar20 == (stat *)0x0)) goto LAB_000fb570;\n    plVar7 = match_list->st_pad1;\n    if (match_list->st_pad1[0] == 0) {\n      psVar22 = (stat *)0x1;\n    }\n    else {\n      psVar22 = (stat *)0x1;\n      do {\n        plVar7 = plVar7 + 1;\n        psVar22 = (stat *)((int)&psVar22->st_dev + 1);\n      } while (*plVar7 != 0);\n    }\n    (*(code *)**(undefined4 **)(pcStack_1a8 + -0x703c))(match_list);\n    unaff_s3 = (stat *)match_list->st_dev;\n    if (unaff_s3 == (stat *)0x0) {\n      (**(code **)(pcStack_1a8 + -0x5f94))(match_list);\n      *puVar11 = 0;\n      iVar6 = 0;\n      psVar20 = psVar21;\n      goto LAB_000fb578;\n    }\n    plVar7 = match_list->st_pad1;\n    if (match_list->st_pad1[0] == 0) {\nLAB_000fb570:\n      *puVar11 = match_list;\n    }\n    else {\n      psVar20 = (stat *)0x1;\n      do {\n        psVar21 = psVar20;\n        plVar7 = plVar7 + 1;\n        psVar20 = (stat *)((int)&psVar21->st_dev + 1);\n      } while (*plVar7 != 0);\n      psVar22 = (stat *)(uint)((int)psVar20 < (int)psVar22);\n      if (((int)psVar20 < 2) || (psVar22 == (stat *)0x0)) goto LAB_000fb570;\n      compute_lcd_of_matches((char **)match_list,(int)psVar21,(char *)unaff_s3);\n      (**(code **)(pcStack_1a8 + -0x5f94))(unaff_s3);\n      *puVar11 = match_list;\n    }\n    iVar6 = 1;\n    psVar20 = psVar21;\n  }" { (expression_statement "psVar21 = psVar20;" (assignment_expression "psVar21 = psVar20" identifier = identifier) ;) (expression_statement "match_list = psVar24;" (assignment_expression "match_list = psVar24" identifier = identifier) ;) (if_statement "if (**(int **)(pcVar29 + 0x5cd28) != 0) {\n      if (psVar24->st_dev == 0) {\nLAB_000fb370:\n        uVar18 = psVar24->st_dev;\n      }\n      else {\n        plVar7 = psVar24->st_pad1;\n        iVar6 = 0;\n        do {\n          iVar13 = iVar6;\n          iVar12 = *plVar7;\n          iVar6 = iVar13 + 1;\n          plVar7 = plVar7 + 1;\n        } while (iVar12 != 0);\n        if ((iVar6 == 0) || (**(int **)(pcVar29 + 0x5c3c8) == 0)) goto LAB_000fb370;\n        (**(code **)(pcVar29 + 0x5d0c0))\n                  (psVar24->st_pad1,iVar13,4,*(undefined4 *)(pcVar29 + 0x5cc78));\n        uVar18 = psVar24->st_dev;\n      }\n      iVar6 = (**(code **)(pcStack_1a8 + -0x60fc))(uVar18);\n      uVar9 = (**(code **)(pcStack_1a8 + -0x7f88))(iVar6 + 1);\n      unaff_s4 = (stat *)(**(code **)(pcStack_1a8 + -0x6074))(uVar9,psVar24->st_dev);\n      if (psVar24->st_pad1[0] == 0) {\n        unaff_s6 = (ulong *)0x0;\n        iVar6 = 3;\n        psVar21 = (stat *)0x0;\n      }\n      else {\n        unaff_s6 = (ulong *)0x0;\n        unaff_s7 = (stat *)auStack_19d;\n        psVar22 = psVar24;\n        do {\n          uVar18 = psVar22->st_dev;\n          iVar6 = (**(code **)(pcStack_1a8 + -0x5f48))(uVar18);\n          if (iVar6 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(uVar18);\n            psVar22->st_dev = (ulong)unaff_s7;\n          }\n          else {\n            unaff_s6 = (ulong *)((int)unaff_s6 + 1);\n          }\n          psVar21 = (stat *)psVar22->st_pad1[1];\n          iVar6 = (int)unaff_s6 + 3;\n          psVar22 = (stat *)psVar22->st_pad1;\n        } while (psVar21 != (stat *)0x0);\n      }\n      match_list = (stat *)(**(code **)(pcStack_1a8 + -0x7f88))(iVar6 << 2);\n      psVar8 = (stat *)psVar24->st_pad1[0];\n      plVar7 = psVar24->st_pad1;\n      if (psVar8 == (stat *)0x0) {\n        match_list->st_pad1[0] = 0;\n        psVar22 = (stat *)0x1;\n        if ((undefined1 *)psVar24->st_dev != auStack_19d) {\n          pcVar29 = *(code **)(pcStack_1a8 + -0x798c);\n          goto LAB_000fb4b4;\n        }\n        match_list->st_dev = (ulong)unaff_s4;\n      }\n      else {\n        psVar22 = (stat *)0x1;\n        psVar21 = (stat *)auStack_19d;\n        do {\n          plVar7 = plVar7 + 1;\n          if (psVar8 != psVar21) {\n            match_list->st_pad1[(int)((int)psVar22[-1].st_pad5 + 0x37)] = (long)psVar8;\n            psVar22 = (stat *)((int)&psVar22->st_dev + 1);\n          }\n          psVar8 = (stat *)*plVar7;\n        } while (psVar8 != (stat *)0x0);\n        match_list->st_pad1[(int)((int)psVar22[-1].st_pad5 + 0x37)] = 0;\n        if ((undefined1 *)psVar24->st_dev != auStack_19d) {\n          pcVar29 = *(code **)(pcStack_1a8 + -0x798c);\nLAB_000fb4b4:\n          (*pcVar29)();\n        }\n        match_list->st_dev = (ulong)unaff_s4;\n        if (psVar22 == (stat *)0x2) {\n          psVar22 = (stat *)match_list->st_pad1[0];\n          psVar21 = psVar22;\n          iVar6 = (**(code **)(pcStack_1a8 + -0x5f48))(unaff_s4);\n          if (iVar6 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(psVar22);\n            match_list->st_pad1[0] = 0;\n          }\n        }\n      }\n      (**(code **)(pcStack_1a8 + -0x798c))(psVar24);\n      unaff_s5 = match_list;\n    }" if (parenthesized_expression "(**(int **)(pcVar29 + 0x5cd28) != 0)" ( (binary_expression "**(int **)(pcVar29 + 0x5cd28) != 0" (pointer_expression "**(int **)(pcVar29 + 0x5cd28)" * (pointer_expression "*(int **)(pcVar29 + 0x5cd28)" * (cast_expression "(int **)(pcVar29 + 0x5cd28)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5cd28)" ( (binary_expression "pcVar29 + 0x5cd28" identifier + number_literal) ))))) != number_literal) )) (compound_statement "{\n      if (psVar24->st_dev == 0) {\nLAB_000fb370:\n        uVar18 = psVar24->st_dev;\n      }\n      else {\n        plVar7 = psVar24->st_pad1;\n        iVar6 = 0;\n        do {\n          iVar13 = iVar6;\n          iVar12 = *plVar7;\n          iVar6 = iVar13 + 1;\n          plVar7 = plVar7 + 1;\n        } while (iVar12 != 0);\n        if ((iVar6 == 0) || (**(int **)(pcVar29 + 0x5c3c8) == 0)) goto LAB_000fb370;\n        (**(code **)(pcVar29 + 0x5d0c0))\n                  (psVar24->st_pad1,iVar13,4,*(undefined4 *)(pcVar29 + 0x5cc78));\n        uVar18 = psVar24->st_dev;\n      }\n      iVar6 = (**(code **)(pcStack_1a8 + -0x60fc))(uVar18);\n      uVar9 = (**(code **)(pcStack_1a8 + -0x7f88))(iVar6 + 1);\n      unaff_s4 = (stat *)(**(code **)(pcStack_1a8 + -0x6074))(uVar9,psVar24->st_dev);\n      if (psVar24->st_pad1[0] == 0) {\n        unaff_s6 = (ulong *)0x0;\n        iVar6 = 3;\n        psVar21 = (stat *)0x0;\n      }\n      else {\n        unaff_s6 = (ulong *)0x0;\n        unaff_s7 = (stat *)auStack_19d;\n        psVar22 = psVar24;\n        do {\n          uVar18 = psVar22->st_dev;\n          iVar6 = (**(code **)(pcStack_1a8 + -0x5f48))(uVar18);\n          if (iVar6 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(uVar18);\n            psVar22->st_dev = (ulong)unaff_s7;\n          }\n          else {\n            unaff_s6 = (ulong *)((int)unaff_s6 + 1);\n          }\n          psVar21 = (stat *)psVar22->st_pad1[1];\n          iVar6 = (int)unaff_s6 + 3;\n          psVar22 = (stat *)psVar22->st_pad1;\n        } while (psVar21 != (stat *)0x0);\n      }\n      match_list = (stat *)(**(code **)(pcStack_1a8 + -0x7f88))(iVar6 << 2);\n      psVar8 = (stat *)psVar24->st_pad1[0];\n      plVar7 = psVar24->st_pad1;\n      if (psVar8 == (stat *)0x0) {\n        match_list->st_pad1[0] = 0;\n        psVar22 = (stat *)0x1;\n        if ((undefined1 *)psVar24->st_dev != auStack_19d) {\n          pcVar29 = *(code **)(pcStack_1a8 + -0x798c);\n          goto LAB_000fb4b4;\n        }\n        match_list->st_dev = (ulong)unaff_s4;\n      }\n      else {\n        psVar22 = (stat *)0x1;\n        psVar21 = (stat *)auStack_19d;\n        do {\n          plVar7 = plVar7 + 1;\n          if (psVar8 != psVar21) {\n            match_list->st_pad1[(int)((int)psVar22[-1].st_pad5 + 0x37)] = (long)psVar8;\n            psVar22 = (stat *)((int)&psVar22->st_dev + 1);\n          }\n          psVar8 = (stat *)*plVar7;\n        } while (psVar8 != (stat *)0x0);\n        match_list->st_pad1[(int)((int)psVar22[-1].st_pad5 + 0x37)] = 0;\n        if ((undefined1 *)psVar24->st_dev != auStack_19d) {\n          pcVar29 = *(code **)(pcStack_1a8 + -0x798c);\nLAB_000fb4b4:\n          (*pcVar29)();\n        }\n        match_list->st_dev = (ulong)unaff_s4;\n        if (psVar22 == (stat *)0x2) {\n          psVar22 = (stat *)match_list->st_pad1[0];\n          psVar21 = psVar22;\n          iVar6 = (**(code **)(pcStack_1a8 + -0x5f48))(unaff_s4);\n          if (iVar6 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(psVar22);\n            match_list->st_pad1[0] = 0;\n          }\n        }\n      }\n      (**(code **)(pcStack_1a8 + -0x798c))(psVar24);\n      unaff_s5 = match_list;\n    }" { (if_statement "if (psVar24->st_dev == 0) {\nLAB_000fb370:\n        uVar18 = psVar24->st_dev;\n      }\n      else {\n        plVar7 = psVar24->st_pad1;\n        iVar6 = 0;\n        do {\n          iVar13 = iVar6;\n          iVar12 = *plVar7;\n          iVar6 = iVar13 + 1;\n          plVar7 = plVar7 + 1;\n        } while (iVar12 != 0);\n        if ((iVar6 == 0) || (**(int **)(pcVar29 + 0x5c3c8) == 0)) goto LAB_000fb370;\n        (**(code **)(pcVar29 + 0x5d0c0))\n                  (psVar24->st_pad1,iVar13,4,*(undefined4 *)(pcVar29 + 0x5cc78));\n        uVar18 = psVar24->st_dev;\n      }" if (parenthesized_expression "(psVar24->st_dev == 0)" ( (binary_expression "psVar24->st_dev == 0" (field_expression "psVar24->st_dev" identifier -> field_identifier) == number_literal) )) (compound_statement "{\nLAB_000fb370:\n        uVar18 = psVar24->st_dev;\n      }" { (labeled_statement "LAB_000fb370:\n        uVar18 = psVar24->st_dev;" statement_identifier : (expression_statement "uVar18 = psVar24->st_dev;" (assignment_expression "uVar18 = psVar24->st_dev" identifier = (field_expression "psVar24->st_dev" identifier -> field_identifier)) ;)) }) (else_clause "else {\n        plVar7 = psVar24->st_pad1;\n        iVar6 = 0;\n        do {\n          iVar13 = iVar6;\n          iVar12 = *plVar7;\n          iVar6 = iVar13 + 1;\n          plVar7 = plVar7 + 1;\n        } while (iVar12 != 0);\n        if ((iVar6 == 0) || (**(int **)(pcVar29 + 0x5c3c8) == 0)) goto LAB_000fb370;\n        (**(code **)(pcVar29 + 0x5d0c0))\n                  (psVar24->st_pad1,iVar13,4,*(undefined4 *)(pcVar29 + 0x5cc78));\n        uVar18 = psVar24->st_dev;\n      }" else (compound_statement "{\n        plVar7 = psVar24->st_pad1;\n        iVar6 = 0;\n        do {\n          iVar13 = iVar6;\n          iVar12 = *plVar7;\n          iVar6 = iVar13 + 1;\n          plVar7 = plVar7 + 1;\n        } while (iVar12 != 0);\n        if ((iVar6 == 0) || (**(int **)(pcVar29 + 0x5c3c8) == 0)) goto LAB_000fb370;\n        (**(code **)(pcVar29 + 0x5d0c0))\n                  (psVar24->st_pad1,iVar13,4,*(undefined4 *)(pcVar29 + 0x5cc78));\n        uVar18 = psVar24->st_dev;\n      }" { (expression_statement "plVar7 = psVar24->st_pad1;" (assignment_expression "plVar7 = psVar24->st_pad1" identifier = (field_expression "psVar24->st_pad1" identifier -> field_identifier)) ;) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (do_statement "do {\n          iVar13 = iVar6;\n          iVar12 = *plVar7;\n          iVar6 = iVar13 + 1;\n          plVar7 = plVar7 + 1;\n        } while (iVar12 != 0);" do (compound_statement "{\n          iVar13 = iVar6;\n          iVar12 = *plVar7;\n          iVar6 = iVar13 + 1;\n          plVar7 = plVar7 + 1;\n        }" { (expression_statement "iVar13 = iVar6;" (assignment_expression "iVar13 = iVar6" identifier = identifier) ;) (expression_statement "iVar12 = *plVar7;" (assignment_expression "iVar12 = *plVar7" identifier = (pointer_expression "*plVar7" * identifier)) ;) (expression_statement "iVar6 = iVar13 + 1;" (assignment_expression "iVar6 = iVar13 + 1" identifier = (binary_expression "iVar13 + 1" identifier + number_literal)) ;) (expression_statement "plVar7 = plVar7 + 1;" (assignment_expression "plVar7 = plVar7 + 1" identifier = (binary_expression "plVar7 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar12 != 0)" ( (binary_expression "iVar12 != 0" identifier != number_literal) )) ;) (if_statement "if ((iVar6 == 0) || (**(int **)(pcVar29 + 0x5c3c8) == 0)) goto LAB_000fb370;" if (parenthesized_expression "((iVar6 == 0) || (**(int **)(pcVar29 + 0x5c3c8) == 0))" ( (binary_expression "(iVar6 == 0) || (**(int **)(pcVar29 + 0x5c3c8) == 0)" (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) || (parenthesized_expression "(**(int **)(pcVar29 + 0x5c3c8) == 0)" ( (binary_expression "**(int **)(pcVar29 + 0x5c3c8) == 0" (pointer_expression "**(int **)(pcVar29 + 0x5c3c8)" * (pointer_expression "*(int **)(pcVar29 + 0x5c3c8)" * (cast_expression "(int **)(pcVar29 + 0x5c3c8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5c3c8)" ( (binary_expression "pcVar29 + 0x5c3c8" identifier + number_literal) ))))) == number_literal) ))) )) (goto_statement "goto LAB_000fb370;" goto statement_identifier ;)) (expression_statement "(**(code **)(pcVar29 + 0x5d0c0))\n                  (psVar24->st_pad1,iVar13,4,*(undefined4 *)(pcVar29 + 0x5cc78));" (call_expression "(**(code **)(pcVar29 + 0x5d0c0))\n                  (psVar24->st_pad1,iVar13,4,*(undefined4 *)(pcVar29 + 0x5cc78))" (parenthesized_expression "(**(code **)(pcVar29 + 0x5d0c0))" ( (pointer_expression "**(code **)(pcVar29 + 0x5d0c0)" * (pointer_expression "*(code **)(pcVar29 + 0x5d0c0)" * (cast_expression "(code **)(pcVar29 + 0x5d0c0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5d0c0)" ( (binary_expression "pcVar29 + 0x5d0c0" identifier + number_literal) ))))) )) (argument_list "(psVar24->st_pad1,iVar13,4,*(undefined4 *)(pcVar29 + 0x5cc78))" ( (field_expression "psVar24->st_pad1" identifier -> field_identifier) , identifier , number_literal , (pointer_expression "*(undefined4 *)(pcVar29 + 0x5cc78)" * (cast_expression "(undefined4 *)(pcVar29 + 0x5cc78)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x5cc78)" ( (binary_expression "pcVar29 + 0x5cc78" identifier + number_literal) )))) ))) ;) (expression_statement "uVar18 = psVar24->st_dev;" (assignment_expression "uVar18 = psVar24->st_dev" identifier = (field_expression "psVar24->st_dev" identifier -> field_identifier)) ;) }))) (expression_statement "iVar6 = (**(code **)(pcStack_1a8 + -0x60fc))(uVar18);" (assignment_expression "iVar6 = (**(code **)(pcStack_1a8 + -0x60fc))(uVar18)" identifier = (call_expression "(**(code **)(pcStack_1a8 + -0x60fc))(uVar18)" (parenthesized_expression "(**(code **)(pcStack_1a8 + -0x60fc))" ( (pointer_expression "**(code **)(pcStack_1a8 + -0x60fc)" * (pointer_expression "*(code **)(pcStack_1a8 + -0x60fc)" * (cast_expression "(code **)(pcStack_1a8 + -0x60fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1a8 + -0x60fc)" ( (binary_expression "pcStack_1a8 + -0x60fc" identifier + number_literal) ))))) )) (argument_list "(uVar18)" ( identifier )))) ;) (expression_statement "uVar9 = (**(code **)(pcStack_1a8 + -0x7f88))(iVar6 + 1);" (assignment_expression "uVar9 = (**(code **)(pcStack_1a8 + -0x7f88))(iVar6 + 1)" identifier = (call_expression "(**(code **)(pcStack_1a8 + -0x7f88))(iVar6 + 1)" (parenthesized_expression "(**(code **)(pcStack_1a8 + -0x7f88))" ( (pointer_expression "**(code **)(pcStack_1a8 + -0x7f88)" * (pointer_expression "*(code **)(pcStack_1a8 + -0x7f88)" * (cast_expression "(code **)(pcStack_1a8 + -0x7f88)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1a8 + -0x7f88)" ( (binary_expression "pcStack_1a8 + -0x7f88" identifier + number_literal) ))))) )) (argument_list "(iVar6 + 1)" ( (binary_expression "iVar6 + 1" identifier + number_literal) )))) ;) (expression_statement "unaff_s4 = (stat *)(**(code **)(pcStack_1a8 + -0x6074))(uVar9,psVar24->st_dev);" (assignment_expression "unaff_s4 = (stat *)(**(code **)(pcStack_1a8 + -0x6074))(uVar9,psVar24->st_dev)" identifier = (cast_expression "(stat *)(**(code **)(pcStack_1a8 + -0x6074))(uVar9,psVar24->st_dev)" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_1a8 + -0x6074))(uVar9,psVar24->st_dev)" (parenthesized_expression "(**(code **)(pcStack_1a8 + -0x6074))" ( (pointer_expression "**(code **)(pcStack_1a8 + -0x6074)" * (pointer_expression "*(code **)(pcStack_1a8 + -0x6074)" * (cast_expression "(code **)(pcStack_1a8 + -0x6074)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1a8 + -0x6074)" ( (binary_expression "pcStack_1a8 + -0x6074" identifier + number_literal) ))))) )) (argument_list "(uVar9,psVar24->st_dev)" ( identifier , (field_expression "psVar24->st_dev" identifier -> field_identifier) ))))) ;) (if_statement "if (psVar24->st_pad1[0] == 0) {\n        unaff_s6 = (ulong *)0x0;\n        iVar6 = 3;\n        psVar21 = (stat *)0x0;\n      }\n      else {\n        unaff_s6 = (ulong *)0x0;\n        unaff_s7 = (stat *)auStack_19d;\n        psVar22 = psVar24;\n        do {\n          uVar18 = psVar22->st_dev;\n          iVar6 = (**(code **)(pcStack_1a8 + -0x5f48))(uVar18);\n          if (iVar6 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(uVar18);\n            psVar22->st_dev = (ulong)unaff_s7;\n          }\n          else {\n            unaff_s6 = (ulong *)((int)unaff_s6 + 1);\n          }\n          psVar21 = (stat *)psVar22->st_pad1[1];\n          iVar6 = (int)unaff_s6 + 3;\n          psVar22 = (stat *)psVar22->st_pad1;\n        } while (psVar21 != (stat *)0x0);\n      }" if (parenthesized_expression "(psVar24->st_pad1[0] == 0)" ( (binary_expression "psVar24->st_pad1[0] == 0" (subscript_expression "psVar24->st_pad1[0]" (field_expression "psVar24->st_pad1" identifier -> field_identifier) [ number_literal ]) == number_literal) )) (compound_statement "{\n        unaff_s6 = (ulong *)0x0;\n        iVar6 = 3;\n        psVar21 = (stat *)0x0;\n      }" { (expression_statement "unaff_s6 = (ulong *)0x0;" (assignment_expression "unaff_s6 = (ulong *)0x0" identifier = (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar6 = 3;" (assignment_expression "iVar6 = 3" identifier = number_literal) ;) (expression_statement "psVar21 = (stat *)0x0;" (assignment_expression "psVar21 = (stat *)0x0" identifier = (cast_expression "(stat *)0x0" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n        unaff_s6 = (ulong *)0x0;\n        unaff_s7 = (stat *)auStack_19d;\n        psVar22 = psVar24;\n        do {\n          uVar18 = psVar22->st_dev;\n          iVar6 = (**(code **)(pcStack_1a8 + -0x5f48))(uVar18);\n          if (iVar6 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(uVar18);\n            psVar22->st_dev = (ulong)unaff_s7;\n          }\n          else {\n            unaff_s6 = (ulong *)((int)unaff_s6 + 1);\n          }\n          psVar21 = (stat *)psVar22->st_pad1[1];\n          iVar6 = (int)unaff_s6 + 3;\n          psVar22 = (stat *)psVar22->st_pad1;\n        } while (psVar21 != (stat *)0x0);\n      }" else (compound_statement "{\n        unaff_s6 = (ulong *)0x0;\n        unaff_s7 = (stat *)auStack_19d;\n        psVar22 = psVar24;\n        do {\n          uVar18 = psVar22->st_dev;\n          iVar6 = (**(code **)(pcStack_1a8 + -0x5f48))(uVar18);\n          if (iVar6 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(uVar18);\n            psVar22->st_dev = (ulong)unaff_s7;\n          }\n          else {\n            unaff_s6 = (ulong *)((int)unaff_s6 + 1);\n          }\n          psVar21 = (stat *)psVar22->st_pad1[1];\n          iVar6 = (int)unaff_s6 + 3;\n          psVar22 = (stat *)psVar22->st_pad1;\n        } while (psVar21 != (stat *)0x0);\n      }" { (expression_statement "unaff_s6 = (ulong *)0x0;" (assignment_expression "unaff_s6 = (ulong *)0x0" identifier = (cast_expression "(ulong *)0x0" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "unaff_s7 = (stat *)auStack_19d;" (assignment_expression "unaff_s7 = (stat *)auStack_19d" identifier = (cast_expression "(stat *)auStack_19d" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "psVar22 = psVar24;" (assignment_expression "psVar22 = psVar24" identifier = identifier) ;) (do_statement "do {\n          uVar18 = psVar22->st_dev;\n          iVar6 = (**(code **)(pcStack_1a8 + -0x5f48))(uVar18);\n          if (iVar6 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(uVar18);\n            psVar22->st_dev = (ulong)unaff_s7;\n          }\n          else {\n            unaff_s6 = (ulong *)((int)unaff_s6 + 1);\n          }\n          psVar21 = (stat *)psVar22->st_pad1[1];\n          iVar6 = (int)unaff_s6 + 3;\n          psVar22 = (stat *)psVar22->st_pad1;\n        } while (psVar21 != (stat *)0x0);" do (compound_statement "{\n          uVar18 = psVar22->st_dev;\n          iVar6 = (**(code **)(pcStack_1a8 + -0x5f48))(uVar18);\n          if (iVar6 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(uVar18);\n            psVar22->st_dev = (ulong)unaff_s7;\n          }\n          else {\n            unaff_s6 = (ulong *)((int)unaff_s6 + 1);\n          }\n          psVar21 = (stat *)psVar22->st_pad1[1];\n          iVar6 = (int)unaff_s6 + 3;\n          psVar22 = (stat *)psVar22->st_pad1;\n        }" { (expression_statement "uVar18 = psVar22->st_dev;" (assignment_expression "uVar18 = psVar22->st_dev" identifier = (field_expression "psVar22->st_dev" identifier -> field_identifier)) ;) (expression_statement "iVar6 = (**(code **)(pcStack_1a8 + -0x5f48))(uVar18);" (assignment_expression "iVar6 = (**(code **)(pcStack_1a8 + -0x5f48))(uVar18)" identifier = (call_expression "(**(code **)(pcStack_1a8 + -0x5f48))(uVar18)" (parenthesized_expression "(**(code **)(pcStack_1a8 + -0x5f48))" ( (pointer_expression "**(code **)(pcStack_1a8 + -0x5f48)" * (pointer_expression "*(code **)(pcStack_1a8 + -0x5f48)" * (cast_expression "(code **)(pcStack_1a8 + -0x5f48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1a8 + -0x5f48)" ( (binary_expression "pcStack_1a8 + -0x5f48" identifier + number_literal) ))))) )) (argument_list "(uVar18)" ( identifier )))) ;) (if_statement "if (iVar6 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(uVar18);\n            psVar22->st_dev = (ulong)unaff_s7;\n          }\n          else {\n            unaff_s6 = (ulong *)((int)unaff_s6 + 1);\n          }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n            (**(code **)(pcStack_1a8 + -0x798c))(uVar18);\n            psVar22->st_dev = (ulong)unaff_s7;\n          }" { (expression_statement "(**(code **)(pcStack_1a8 + -0x798c))(uVar18);" (call_expression "(**(code **)(pcStack_1a8 + -0x798c))(uVar18)" (parenthesized_expression "(**(code **)(pcStack_1a8 + -0x798c))" ( (pointer_expression "**(code **)(pcStack_1a8 + -0x798c)" * (pointer_expression "*(code **)(pcStack_1a8 + -0x798c)" * (cast_expression "(code **)(pcStack_1a8 + -0x798c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1a8 + -0x798c)" ( (binary_expression "pcStack_1a8 + -0x798c" identifier + number_literal) ))))) )) (argument_list "(uVar18)" ( identifier ))) ;) (expression_statement "psVar22->st_dev = (ulong)unaff_s7;" (assignment_expression "psVar22->st_dev = (ulong)unaff_s7" (field_expression "psVar22->st_dev" identifier -> field_identifier) = (cast_expression "(ulong)unaff_s7" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) }) (else_clause "else {\n            unaff_s6 = (ulong *)((int)unaff_s6 + 1);\n          }" else (compound_statement "{\n            unaff_s6 = (ulong *)((int)unaff_s6 + 1);\n          }" { (expression_statement "unaff_s6 = (ulong *)((int)unaff_s6 + 1);" (assignment_expression "unaff_s6 = (ulong *)((int)unaff_s6 + 1)" identifier = (cast_expression "(ulong *)((int)unaff_s6 + 1)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s6 + 1)" ( (binary_expression "(int)unaff_s6 + 1" (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }))) (expression_statement "psVar21 = (stat *)psVar22->st_pad1[1];" (assignment_expression "psVar21 = (stat *)psVar22->st_pad1[1]" identifier = (cast_expression "(stat *)psVar22->st_pad1[1]" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "psVar22->st_pad1[1]" (field_expression "psVar22->st_pad1" identifier -> field_identifier) [ number_literal ]))) ;) (expression_statement "iVar6 = (int)unaff_s6 + 3;" (assignment_expression "iVar6 = (int)unaff_s6 + 3" identifier = (binary_expression "(int)unaff_s6 + 3" (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal)) ;) (expression_statement "psVar22 = (stat *)psVar22->st_pad1;" (assignment_expression "psVar22 = (stat *)psVar22->st_pad1" identifier = (cast_expression "(stat *)psVar22->st_pad1" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "psVar22->st_pad1" identifier -> field_identifier))) ;) }) while (parenthesized_expression "(psVar21 != (stat *)0x0)" ( (binary_expression "psVar21 != (stat *)0x0" identifier != (cast_expression "(stat *)0x0" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) }))) (expression_statement "match_list = (stat *)(**(code **)(pcStack_1a8 + -0x7f88))(iVar6 << 2);" (assignment_expression "match_list = (stat *)(**(code **)(pcStack_1a8 + -0x7f88))(iVar6 << 2)" identifier = (cast_expression "(stat *)(**(code **)(pcStack_1a8 + -0x7f88))(iVar6 << 2)" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_1a8 + -0x7f88))(iVar6 << 2)" (parenthesized_expression "(**(code **)(pcStack_1a8 + -0x7f88))" ( (pointer_expression "**(code **)(pcStack_1a8 + -0x7f88)" * (pointer_expression "*(code **)(pcStack_1a8 + -0x7f88)" * (cast_expression "(code **)(pcStack_1a8 + -0x7f88)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1a8 + -0x7f88)" ( (binary_expression "pcStack_1a8 + -0x7f88" identifier + number_literal) ))))) )) (argument_list "(iVar6 << 2)" ( (binary_expression "iVar6 << 2" identifier << number_literal) ))))) ;) (expression_statement "psVar8 = (stat *)psVar24->st_pad1[0];" (assignment_expression "psVar8 = (stat *)psVar24->st_pad1[0]" identifier = (cast_expression "(stat *)psVar24->st_pad1[0]" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "psVar24->st_pad1[0]" (field_expression "psVar24->st_pad1" identifier -> field_identifier) [ number_literal ]))) ;) (expression_statement "plVar7 = psVar24->st_pad1;" (assignment_expression "plVar7 = psVar24->st_pad1" identifier = (field_expression "psVar24->st_pad1" identifier -> field_identifier)) ;) (if_statement "if (psVar8 == (stat *)0x0) {\n        match_list->st_pad1[0] = 0;\n        psVar22 = (stat *)0x1;\n        if ((undefined1 *)psVar24->st_dev != auStack_19d) {\n          pcVar29 = *(code **)(pcStack_1a8 + -0x798c);\n          goto LAB_000fb4b4;\n        }\n        match_list->st_dev = (ulong)unaff_s4;\n      }\n      else {\n        psVar22 = (stat *)0x1;\n        psVar21 = (stat *)auStack_19d;\n        do {\n          plVar7 = plVar7 + 1;\n          if (psVar8 != psVar21) {\n            match_list->st_pad1[(int)((int)psVar22[-1].st_pad5 + 0x37)] = (long)psVar8;\n            psVar22 = (stat *)((int)&psVar22->st_dev + 1);\n          }\n          psVar8 = (stat *)*plVar7;\n        } while (psVar8 != (stat *)0x0);\n        match_list->st_pad1[(int)((int)psVar22[-1].st_pad5 + 0x37)] = 0;\n        if ((undefined1 *)psVar24->st_dev != auStack_19d) {\n          pcVar29 = *(code **)(pcStack_1a8 + -0x798c);\nLAB_000fb4b4:\n          (*pcVar29)();\n        }\n        match_list->st_dev = (ulong)unaff_s4;\n        if (psVar22 == (stat *)0x2) {\n          psVar22 = (stat *)match_list->st_pad1[0];\n          psVar21 = psVar22;\n          iVar6 = (**(code **)(pcStack_1a8 + -0x5f48))(unaff_s4);\n          if (iVar6 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(psVar22);\n            match_list->st_pad1[0] = 0;\n          }\n        }\n      }" if (parenthesized_expression "(psVar8 == (stat *)0x0)" ( (binary_expression "psVar8 == (stat *)0x0" identifier == (cast_expression "(stat *)0x0" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        match_list->st_pad1[0] = 0;\n        psVar22 = (stat *)0x1;\n        if ((undefined1 *)psVar24->st_dev != auStack_19d) {\n          pcVar29 = *(code **)(pcStack_1a8 + -0x798c);\n          goto LAB_000fb4b4;\n        }\n        match_list->st_dev = (ulong)unaff_s4;\n      }" { (expression_statement "match_list->st_pad1[0] = 0;" (assignment_expression "match_list->st_pad1[0] = 0" (subscript_expression "match_list->st_pad1[0]" (field_expression "match_list->st_pad1" identifier -> field_identifier) [ number_literal ]) = number_literal) ;) (expression_statement "psVar22 = (stat *)0x1;" (assignment_expression "psVar22 = (stat *)0x1" identifier = (cast_expression "(stat *)0x1" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((undefined1 *)psVar24->st_dev != auStack_19d) {\n          pcVar29 = *(code **)(pcStack_1a8 + -0x798c);\n          goto LAB_000fb4b4;\n        }" if (parenthesized_expression "((undefined1 *)psVar24->st_dev != auStack_19d)" ( (binary_expression "(undefined1 *)psVar24->st_dev != auStack_19d" (cast_expression "(undefined1 *)psVar24->st_dev" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "psVar24->st_dev" identifier -> field_identifier)) != identifier) )) (compound_statement "{\n          pcVar29 = *(code **)(pcStack_1a8 + -0x798c);\n          goto LAB_000fb4b4;\n        }" { (expression_statement "pcVar29 = *(code **)(pcStack_1a8 + -0x798c);" (assignment_expression "pcVar29 = *(code **)(pcStack_1a8 + -0x798c)" identifier = (pointer_expression "*(code **)(pcStack_1a8 + -0x798c)" * (cast_expression "(code **)(pcStack_1a8 + -0x798c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1a8 + -0x798c)" ( (binary_expression "pcStack_1a8 + -0x798c" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_000fb4b4;" goto statement_identifier ;) })) (expression_statement "match_list->st_dev = (ulong)unaff_s4;" (assignment_expression "match_list->st_dev = (ulong)unaff_s4" (field_expression "match_list->st_dev" identifier -> field_identifier) = (cast_expression "(ulong)unaff_s4" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) }) (else_clause "else {\n        psVar22 = (stat *)0x1;\n        psVar21 = (stat *)auStack_19d;\n        do {\n          plVar7 = plVar7 + 1;\n          if (psVar8 != psVar21) {\n            match_list->st_pad1[(int)((int)psVar22[-1].st_pad5 + 0x37)] = (long)psVar8;\n            psVar22 = (stat *)((int)&psVar22->st_dev + 1);\n          }\n          psVar8 = (stat *)*plVar7;\n        } while (psVar8 != (stat *)0x0);\n        match_list->st_pad1[(int)((int)psVar22[-1].st_pad5 + 0x37)] = 0;\n        if ((undefined1 *)psVar24->st_dev != auStack_19d) {\n          pcVar29 = *(code **)(pcStack_1a8 + -0x798c);\nLAB_000fb4b4:\n          (*pcVar29)();\n        }\n        match_list->st_dev = (ulong)unaff_s4;\n        if (psVar22 == (stat *)0x2) {\n          psVar22 = (stat *)match_list->st_pad1[0];\n          psVar21 = psVar22;\n          iVar6 = (**(code **)(pcStack_1a8 + -0x5f48))(unaff_s4);\n          if (iVar6 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(psVar22);\n            match_list->st_pad1[0] = 0;\n          }\n        }\n      }" else (compound_statement "{\n        psVar22 = (stat *)0x1;\n        psVar21 = (stat *)auStack_19d;\n        do {\n          plVar7 = plVar7 + 1;\n          if (psVar8 != psVar21) {\n            match_list->st_pad1[(int)((int)psVar22[-1].st_pad5 + 0x37)] = (long)psVar8;\n            psVar22 = (stat *)((int)&psVar22->st_dev + 1);\n          }\n          psVar8 = (stat *)*plVar7;\n        } while (psVar8 != (stat *)0x0);\n        match_list->st_pad1[(int)((int)psVar22[-1].st_pad5 + 0x37)] = 0;\n        if ((undefined1 *)psVar24->st_dev != auStack_19d) {\n          pcVar29 = *(code **)(pcStack_1a8 + -0x798c);\nLAB_000fb4b4:\n          (*pcVar29)();\n        }\n        match_list->st_dev = (ulong)unaff_s4;\n        if (psVar22 == (stat *)0x2) {\n          psVar22 = (stat *)match_list->st_pad1[0];\n          psVar21 = psVar22;\n          iVar6 = (**(code **)(pcStack_1a8 + -0x5f48))(unaff_s4);\n          if (iVar6 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(psVar22);\n            match_list->st_pad1[0] = 0;\n          }\n        }\n      }" { (expression_statement "psVar22 = (stat *)0x1;" (assignment_expression "psVar22 = (stat *)0x1" identifier = (cast_expression "(stat *)0x1" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psVar21 = (stat *)auStack_19d;" (assignment_expression "psVar21 = (stat *)auStack_19d" identifier = (cast_expression "(stat *)auStack_19d" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (do_statement "do {\n          plVar7 = plVar7 + 1;\n          if (psVar8 != psVar21) {\n            match_list->st_pad1[(int)((int)psVar22[-1].st_pad5 + 0x37)] = (long)psVar8;\n            psVar22 = (stat *)((int)&psVar22->st_dev + 1);\n          }\n          psVar8 = (stat *)*plVar7;\n        } while (psVar8 != (stat *)0x0);" do (compound_statement "{\n          plVar7 = plVar7 + 1;\n          if (psVar8 != psVar21) {\n            match_list->st_pad1[(int)((int)psVar22[-1].st_pad5 + 0x37)] = (long)psVar8;\n            psVar22 = (stat *)((int)&psVar22->st_dev + 1);\n          }\n          psVar8 = (stat *)*plVar7;\n        }" { (expression_statement "plVar7 = plVar7 + 1;" (assignment_expression "plVar7 = plVar7 + 1" identifier = (binary_expression "plVar7 + 1" identifier + number_literal)) ;) (if_statement "if (psVar8 != psVar21) {\n            match_list->st_pad1[(int)((int)psVar22[-1].st_pad5 + 0x37)] = (long)psVar8;\n            psVar22 = (stat *)((int)&psVar22->st_dev + 1);\n          }" if (parenthesized_expression "(psVar8 != psVar21)" ( (binary_expression "psVar8 != psVar21" identifier != identifier) )) (compound_statement "{\n            match_list->st_pad1[(int)((int)psVar22[-1].st_pad5 + 0x37)] = (long)psVar8;\n            psVar22 = (stat *)((int)&psVar22->st_dev + 1);\n          }" { (expression_statement "match_list->st_pad1[(int)((int)psVar22[-1].st_pad5 + 0x37)] = (long)psVar8;" (assignment_expression "match_list->st_pad1[(int)((int)psVar22[-1].st_pad5 + 0x37)] = (long)psVar8" (subscript_expression "match_list->st_pad1[(int)((int)psVar22[-1].st_pad5 + 0x37)]" (field_expression "match_list->st_pad1" identifier -> field_identifier) [ (cast_expression "(int)((int)psVar22[-1].st_pad5 + 0x37)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)psVar22[-1].st_pad5 + 0x37)" ( (binary_expression "(int)psVar22[-1].st_pad5 + 0x37" (cast_expression "(int)psVar22[-1].st_pad5" ( (type_descriptor "int" primitive_type) ) (field_expression "psVar22[-1].st_pad5" (subscript_expression "psVar22[-1]" identifier [ number_literal ]) . field_identifier)) + number_literal) ))) ]) = (cast_expression "(long)psVar8" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) ;) (expression_statement "psVar22 = (stat *)((int)&psVar22->st_dev + 1);" (assignment_expression "psVar22 = (stat *)((int)&psVar22->st_dev + 1)" identifier = (cast_expression "(stat *)((int)&psVar22->st_dev + 1)" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar22->st_dev + 1)" ( (binary_expression "(int)&psVar22->st_dev + 1" (cast_expression "(int)&psVar22->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar22->st_dev" & (field_expression "psVar22->st_dev" identifier -> field_identifier))) + number_literal) )))) ;) })) (expression_statement "psVar8 = (stat *)*plVar7;" (assignment_expression "psVar8 = (stat *)*plVar7" identifier = (cast_expression "(stat *)*plVar7" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*plVar7" * identifier))) ;) }) while (parenthesized_expression "(psVar8 != (stat *)0x0)" ( (binary_expression "psVar8 != (stat *)0x0" identifier != (cast_expression "(stat *)0x0" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (expression_statement "match_list->st_pad1[(int)((int)psVar22[-1].st_pad5 + 0x37)] = 0;" (assignment_expression "match_list->st_pad1[(int)((int)psVar22[-1].st_pad5 + 0x37)] = 0" (subscript_expression "match_list->st_pad1[(int)((int)psVar22[-1].st_pad5 + 0x37)]" (field_expression "match_list->st_pad1" identifier -> field_identifier) [ (cast_expression "(int)((int)psVar22[-1].st_pad5 + 0x37)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)psVar22[-1].st_pad5 + 0x37)" ( (binary_expression "(int)psVar22[-1].st_pad5 + 0x37" (cast_expression "(int)psVar22[-1].st_pad5" ( (type_descriptor "int" primitive_type) ) (field_expression "psVar22[-1].st_pad5" (subscript_expression "psVar22[-1]" identifier [ number_literal ]) . field_identifier)) + number_literal) ))) ]) = number_literal) ;) (if_statement "if ((undefined1 *)psVar24->st_dev != auStack_19d) {\n          pcVar29 = *(code **)(pcStack_1a8 + -0x798c);\nLAB_000fb4b4:\n          (*pcVar29)();\n        }" if (parenthesized_expression "((undefined1 *)psVar24->st_dev != auStack_19d)" ( (binary_expression "(undefined1 *)psVar24->st_dev != auStack_19d" (cast_expression "(undefined1 *)psVar24->st_dev" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "psVar24->st_dev" identifier -> field_identifier)) != identifier) )) (compound_statement "{\n          pcVar29 = *(code **)(pcStack_1a8 + -0x798c);\nLAB_000fb4b4:\n          (*pcVar29)();\n        }" { (expression_statement "pcVar29 = *(code **)(pcStack_1a8 + -0x798c);" (assignment_expression "pcVar29 = *(code **)(pcStack_1a8 + -0x798c)" identifier = (pointer_expression "*(code **)(pcStack_1a8 + -0x798c)" * (cast_expression "(code **)(pcStack_1a8 + -0x798c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1a8 + -0x798c)" ( (binary_expression "pcStack_1a8 + -0x798c" identifier + number_literal) ))))) ;) (labeled_statement "LAB_000fb4b4:\n          (*pcVar29)();" statement_identifier : (expression_statement "(*pcVar29)();" (call_expression "(*pcVar29)()" (parenthesized_expression "(*pcVar29)" ( (pointer_expression "*pcVar29" * identifier) )) (argument_list "()" ( ))) ;)) })) (expression_statement "match_list->st_dev = (ulong)unaff_s4;" (assignment_expression "match_list->st_dev = (ulong)unaff_s4" (field_expression "match_list->st_dev" identifier -> field_identifier) = (cast_expression "(ulong)unaff_s4" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (if_statement "if (psVar22 == (stat *)0x2) {\n          psVar22 = (stat *)match_list->st_pad1[0];\n          psVar21 = psVar22;\n          iVar6 = (**(code **)(pcStack_1a8 + -0x5f48))(unaff_s4);\n          if (iVar6 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(psVar22);\n            match_list->st_pad1[0] = 0;\n          }\n        }" if (parenthesized_expression "(psVar22 == (stat *)0x2)" ( (binary_expression "psVar22 == (stat *)0x2" identifier == (cast_expression "(stat *)0x2" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          psVar22 = (stat *)match_list->st_pad1[0];\n          psVar21 = psVar22;\n          iVar6 = (**(code **)(pcStack_1a8 + -0x5f48))(unaff_s4);\n          if (iVar6 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(psVar22);\n            match_list->st_pad1[0] = 0;\n          }\n        }" { (expression_statement "psVar22 = (stat *)match_list->st_pad1[0];" (assignment_expression "psVar22 = (stat *)match_list->st_pad1[0]" identifier = (cast_expression "(stat *)match_list->st_pad1[0]" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "match_list->st_pad1[0]" (field_expression "match_list->st_pad1" identifier -> field_identifier) [ number_literal ]))) ;) (expression_statement "psVar21 = psVar22;" (assignment_expression "psVar21 = psVar22" identifier = identifier) ;) (expression_statement "iVar6 = (**(code **)(pcStack_1a8 + -0x5f48))(unaff_s4);" (assignment_expression "iVar6 = (**(code **)(pcStack_1a8 + -0x5f48))(unaff_s4)" identifier = (call_expression "(**(code **)(pcStack_1a8 + -0x5f48))(unaff_s4)" (parenthesized_expression "(**(code **)(pcStack_1a8 + -0x5f48))" ( (pointer_expression "**(code **)(pcStack_1a8 + -0x5f48)" * (pointer_expression "*(code **)(pcStack_1a8 + -0x5f48)" * (cast_expression "(code **)(pcStack_1a8 + -0x5f48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1a8 + -0x5f48)" ( (binary_expression "pcStack_1a8 + -0x5f48" identifier + number_literal) ))))) )) (argument_list "(unaff_s4)" ( identifier )))) ;) (if_statement "if (iVar6 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(psVar22);\n            match_list->st_pad1[0] = 0;\n          }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n            (**(code **)(pcStack_1a8 + -0x798c))(psVar22);\n            match_list->st_pad1[0] = 0;\n          }" { (expression_statement "(**(code **)(pcStack_1a8 + -0x798c))(psVar22);" (call_expression "(**(code **)(pcStack_1a8 + -0x798c))(psVar22)" (parenthesized_expression "(**(code **)(pcStack_1a8 + -0x798c))" ( (pointer_expression "**(code **)(pcStack_1a8 + -0x798c)" * (pointer_expression "*(code **)(pcStack_1a8 + -0x798c)" * (cast_expression "(code **)(pcStack_1a8 + -0x798c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1a8 + -0x798c)" ( (binary_expression "pcStack_1a8 + -0x798c" identifier + number_literal) ))))) )) (argument_list "(psVar22)" ( identifier ))) ;) (expression_statement "match_list->st_pad1[0] = 0;" (assignment_expression "match_list->st_pad1[0] = 0" (subscript_expression "match_list->st_pad1[0]" (field_expression "match_list->st_pad1" identifier -> field_identifier) [ number_literal ]) = number_literal) ;) })) })) }))) (expression_statement "(**(code **)(pcStack_1a8 + -0x798c))(psVar24);" (call_expression "(**(code **)(pcStack_1a8 + -0x798c))(psVar24)" (parenthesized_expression "(**(code **)(pcStack_1a8 + -0x798c))" ( (pointer_expression "**(code **)(pcStack_1a8 + -0x798c)" * (pointer_expression "*(code **)(pcStack_1a8 + -0x798c)" * (cast_expression "(code **)(pcStack_1a8 + -0x798c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1a8 + -0x798c)" ( (binary_expression "pcStack_1a8 + -0x798c" identifier + number_literal) ))))) )) (argument_list "(psVar24)" ( identifier ))) ;) (expression_statement "unaff_s5 = match_list;" (assignment_expression "unaff_s5 = match_list" identifier = identifier) ;) })) (expression_statement "unaff_s3 = psVar20;" (assignment_expression "unaff_s3 = psVar20" identifier = identifier) ;) (expression_statement "psVar24 = match_list;" (assignment_expression "psVar24 = match_list" identifier = identifier) ;) (if_statement "if (((code *)**(undefined4 **)(pcStack_1a8 + -0x703c) == (code *)0x0) ||\n       (psVar20 == (stat *)0x0)) goto LAB_000fb570;" if (parenthesized_expression "(((code *)**(undefined4 **)(pcStack_1a8 + -0x703c) == (code *)0x0) ||\n       (psVar20 == (stat *)0x0))" ( (binary_expression "((code *)**(undefined4 **)(pcStack_1a8 + -0x703c) == (code *)0x0) ||\n       (psVar20 == (stat *)0x0)" (parenthesized_expression "((code *)**(undefined4 **)(pcStack_1a8 + -0x703c) == (code *)0x0)" ( (binary_expression "(code *)**(undefined4 **)(pcStack_1a8 + -0x703c) == (code *)0x0" (cast_expression "(code *)**(undefined4 **)(pcStack_1a8 + -0x703c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcStack_1a8 + -0x703c)" * (pointer_expression "*(undefined4 **)(pcStack_1a8 + -0x703c)" * (cast_expression "(undefined4 **)(pcStack_1a8 + -0x703c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1a8 + -0x703c)" ( (binary_expression "pcStack_1a8 + -0x703c" identifier + number_literal) )))))) == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(psVar20 == (stat *)0x0)" ( (binary_expression "psVar20 == (stat *)0x0" identifier == (cast_expression "(stat *)0x0" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (goto_statement "goto LAB_000fb570;" goto statement_identifier ;)) (expression_statement "plVar7 = match_list->st_pad1;" (assignment_expression "plVar7 = match_list->st_pad1" identifier = (field_expression "match_list->st_pad1" identifier -> field_identifier)) ;) (if_statement "if (match_list->st_pad1[0] == 0) {\n      psVar22 = (stat *)0x1;\n    }\n    else {\n      psVar22 = (stat *)0x1;\n      do {\n        plVar7 = plVar7 + 1;\n        psVar22 = (stat *)((int)&psVar22->st_dev + 1);\n      } while (*plVar7 != 0);\n    }" if (parenthesized_expression "(match_list->st_pad1[0] == 0)" ( (binary_expression "match_list->st_pad1[0] == 0" (subscript_expression "match_list->st_pad1[0]" (field_expression "match_list->st_pad1" identifier -> field_identifier) [ number_literal ]) == number_literal) )) (compound_statement "{\n      psVar22 = (stat *)0x1;\n    }" { (expression_statement "psVar22 = (stat *)0x1;" (assignment_expression "psVar22 = (stat *)0x1" identifier = (cast_expression "(stat *)0x1" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n      psVar22 = (stat *)0x1;\n      do {\n        plVar7 = plVar7 + 1;\n        psVar22 = (stat *)((int)&psVar22->st_dev + 1);\n      } while (*plVar7 != 0);\n    }" else (compound_statement "{\n      psVar22 = (stat *)0x1;\n      do {\n        plVar7 = plVar7 + 1;\n        psVar22 = (stat *)((int)&psVar22->st_dev + 1);\n      } while (*plVar7 != 0);\n    }" { (expression_statement "psVar22 = (stat *)0x1;" (assignment_expression "psVar22 = (stat *)0x1" identifier = (cast_expression "(stat *)0x1" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n        plVar7 = plVar7 + 1;\n        psVar22 = (stat *)((int)&psVar22->st_dev + 1);\n      } while (*plVar7 != 0);" do (compound_statement "{\n        plVar7 = plVar7 + 1;\n        psVar22 = (stat *)((int)&psVar22->st_dev + 1);\n      }" { (expression_statement "plVar7 = plVar7 + 1;" (assignment_expression "plVar7 = plVar7 + 1" identifier = (binary_expression "plVar7 + 1" identifier + number_literal)) ;) (expression_statement "psVar22 = (stat *)((int)&psVar22->st_dev + 1);" (assignment_expression "psVar22 = (stat *)((int)&psVar22->st_dev + 1)" identifier = (cast_expression "(stat *)((int)&psVar22->st_dev + 1)" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar22->st_dev + 1)" ( (binary_expression "(int)&psVar22->st_dev + 1" (cast_expression "(int)&psVar22->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar22->st_dev" & (field_expression "psVar22->st_dev" identifier -> field_identifier))) + number_literal) )))) ;) }) while (parenthesized_expression "(*plVar7 != 0)" ( (binary_expression "*plVar7 != 0" (pointer_expression "*plVar7" * identifier) != number_literal) )) ;) }))) (expression_statement "(*(code *)**(undefined4 **)(pcStack_1a8 + -0x703c))(match_list);" (call_expression "(*(code *)**(undefined4 **)(pcStack_1a8 + -0x703c))(match_list)" (parenthesized_expression "(*(code *)**(undefined4 **)(pcStack_1a8 + -0x703c))" ( (pointer_expression "*(code *)**(undefined4 **)(pcStack_1a8 + -0x703c)" * (cast_expression "(code *)**(undefined4 **)(pcStack_1a8 + -0x703c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcStack_1a8 + -0x703c)" * (pointer_expression "*(undefined4 **)(pcStack_1a8 + -0x703c)" * (cast_expression "(undefined4 **)(pcStack_1a8 + -0x703c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1a8 + -0x703c)" ( (binary_expression "pcStack_1a8 + -0x703c" identifier + number_literal) ))))))) )) (argument_list "(match_list)" ( identifier ))) ;) (expression_statement "unaff_s3 = (stat *)match_list->st_dev;" (assignment_expression "unaff_s3 = (stat *)match_list->st_dev" identifier = (cast_expression "(stat *)match_list->st_dev" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "match_list->st_dev" identifier -> field_identifier))) ;) (if_statement "if (unaff_s3 == (stat *)0x0) {\n      (**(code **)(pcStack_1a8 + -0x5f94))(match_list);\n      *puVar11 = 0;\n      iVar6 = 0;\n      psVar20 = psVar21;\n      goto LAB_000fb578;\n    }" if (parenthesized_expression "(unaff_s3 == (stat *)0x0)" ( (binary_expression "unaff_s3 == (stat *)0x0" identifier == (cast_expression "(stat *)0x0" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      (**(code **)(pcStack_1a8 + -0x5f94))(match_list);\n      *puVar11 = 0;\n      iVar6 = 0;\n      psVar20 = psVar21;\n      goto LAB_000fb578;\n    }" { (expression_statement "(**(code **)(pcStack_1a8 + -0x5f94))(match_list);" (call_expression "(**(code **)(pcStack_1a8 + -0x5f94))(match_list)" (parenthesized_expression "(**(code **)(pcStack_1a8 + -0x5f94))" ( (pointer_expression "**(code **)(pcStack_1a8 + -0x5f94)" * (pointer_expression "*(code **)(pcStack_1a8 + -0x5f94)" * (cast_expression "(code **)(pcStack_1a8 + -0x5f94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1a8 + -0x5f94)" ( (binary_expression "pcStack_1a8 + -0x5f94" identifier + number_literal) ))))) )) (argument_list "(match_list)" ( identifier ))) ;) (expression_statement "*puVar11 = 0;" (assignment_expression "*puVar11 = 0" (pointer_expression "*puVar11" * identifier) = number_literal) ;) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (expression_statement "psVar20 = psVar21;" (assignment_expression "psVar20 = psVar21" identifier = identifier) ;) (goto_statement "goto LAB_000fb578;" goto statement_identifier ;) })) (expression_statement "plVar7 = match_list->st_pad1;" (assignment_expression "plVar7 = match_list->st_pad1" identifier = (field_expression "match_list->st_pad1" identifier -> field_identifier)) ;) (if_statement "if (match_list->st_pad1[0] == 0) {\nLAB_000fb570:\n      *puVar11 = match_list;\n    }\n    else {\n      psVar20 = (stat *)0x1;\n      do {\n        psVar21 = psVar20;\n        plVar7 = plVar7 + 1;\n        psVar20 = (stat *)((int)&psVar21->st_dev + 1);\n      } while (*plVar7 != 0);\n      psVar22 = (stat *)(uint)((int)psVar20 < (int)psVar22);\n      if (((int)psVar20 < 2) || (psVar22 == (stat *)0x0)) goto LAB_000fb570;\n      compute_lcd_of_matches((char **)match_list,(int)psVar21,(char *)unaff_s3);\n      (**(code **)(pcStack_1a8 + -0x5f94))(unaff_s3);\n      *puVar11 = match_list;\n    }" if (parenthesized_expression "(match_list->st_pad1[0] == 0)" ( (binary_expression "match_list->st_pad1[0] == 0" (subscript_expression "match_list->st_pad1[0]" (field_expression "match_list->st_pad1" identifier -> field_identifier) [ number_literal ]) == number_literal) )) (compound_statement "{\nLAB_000fb570:\n      *puVar11 = match_list;\n    }" { (labeled_statement "LAB_000fb570:\n      *puVar11 = match_list;" statement_identifier : (expression_statement "*puVar11 = match_list;" (assignment_expression "*puVar11 = match_list" (pointer_expression "*puVar11" * identifier) = identifier) ;)) }) (else_clause "else {\n      psVar20 = (stat *)0x1;\n      do {\n        psVar21 = psVar20;\n        plVar7 = plVar7 + 1;\n        psVar20 = (stat *)((int)&psVar21->st_dev + 1);\n      } while (*plVar7 != 0);\n      psVar22 = (stat *)(uint)((int)psVar20 < (int)psVar22);\n      if (((int)psVar20 < 2) || (psVar22 == (stat *)0x0)) goto LAB_000fb570;\n      compute_lcd_of_matches((char **)match_list,(int)psVar21,(char *)unaff_s3);\n      (**(code **)(pcStack_1a8 + -0x5f94))(unaff_s3);\n      *puVar11 = match_list;\n    }" else (compound_statement "{\n      psVar20 = (stat *)0x1;\n      do {\n        psVar21 = psVar20;\n        plVar7 = plVar7 + 1;\n        psVar20 = (stat *)((int)&psVar21->st_dev + 1);\n      } while (*plVar7 != 0);\n      psVar22 = (stat *)(uint)((int)psVar20 < (int)psVar22);\n      if (((int)psVar20 < 2) || (psVar22 == (stat *)0x0)) goto LAB_000fb570;\n      compute_lcd_of_matches((char **)match_list,(int)psVar21,(char *)unaff_s3);\n      (**(code **)(pcStack_1a8 + -0x5f94))(unaff_s3);\n      *puVar11 = match_list;\n    }" { (expression_statement "psVar20 = (stat *)0x1;" (assignment_expression "psVar20 = (stat *)0x1" identifier = (cast_expression "(stat *)0x1" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n        psVar21 = psVar20;\n        plVar7 = plVar7 + 1;\n        psVar20 = (stat *)((int)&psVar21->st_dev + 1);\n      } while (*plVar7 != 0);" do (compound_statement "{\n        psVar21 = psVar20;\n        plVar7 = plVar7 + 1;\n        psVar20 = (stat *)((int)&psVar21->st_dev + 1);\n      }" { (expression_statement "psVar21 = psVar20;" (assignment_expression "psVar21 = psVar20" identifier = identifier) ;) (expression_statement "plVar7 = plVar7 + 1;" (assignment_expression "plVar7 = plVar7 + 1" identifier = (binary_expression "plVar7 + 1" identifier + number_literal)) ;) (expression_statement "psVar20 = (stat *)((int)&psVar21->st_dev + 1);" (assignment_expression "psVar20 = (stat *)((int)&psVar21->st_dev + 1)" identifier = (cast_expression "(stat *)((int)&psVar21->st_dev + 1)" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar21->st_dev + 1)" ( (binary_expression "(int)&psVar21->st_dev + 1" (cast_expression "(int)&psVar21->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar21->st_dev" & (field_expression "psVar21->st_dev" identifier -> field_identifier))) + number_literal) )))) ;) }) while (parenthesized_expression "(*plVar7 != 0)" ( (binary_expression "*plVar7 != 0" (pointer_expression "*plVar7" * identifier) != number_literal) )) ;) (expression_statement "psVar22 = (stat *)(uint)((int)psVar20 < (int)psVar22);" (assignment_expression "psVar22 = (stat *)(uint)((int)psVar20 < (int)psVar22)" identifier = (cast_expression "(stat *)(uint)((int)psVar20 < (int)psVar22)" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)((int)psVar20 < (int)psVar22)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)psVar20 < (int)psVar22)" ( (binary_expression "(int)psVar20 < (int)psVar22" (cast_expression "(int)psVar20" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)psVar22" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;) (if_statement "if (((int)psVar20 < 2) || (psVar22 == (stat *)0x0)) goto LAB_000fb570;" if (parenthesized_expression "(((int)psVar20 < 2) || (psVar22 == (stat *)0x0))" ( (binary_expression "((int)psVar20 < 2) || (psVar22 == (stat *)0x0)" (parenthesized_expression "((int)psVar20 < 2)" ( (binary_expression "(int)psVar20 < 2" (cast_expression "(int)psVar20" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) || (parenthesized_expression "(psVar22 == (stat *)0x0)" ( (binary_expression "psVar22 == (stat *)0x0" identifier == (cast_expression "(stat *)0x0" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (goto_statement "goto LAB_000fb570;" goto statement_identifier ;)) (expression_statement "compute_lcd_of_matches((char **)match_list,(int)psVar21,(char *)unaff_s3);" (call_expression "compute_lcd_of_matches((char **)match_list,(int)psVar21,(char *)unaff_s3)" identifier (argument_list "((char **)match_list,(int)psVar21,(char *)unaff_s3)" ( (cast_expression "(char **)match_list" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier) , (cast_expression "(int)psVar21" ( (type_descriptor "int" primitive_type) ) identifier) , (cast_expression "(char *)unaff_s3" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (expression_statement "(**(code **)(pcStack_1a8 + -0x5f94))(unaff_s3);" (call_expression "(**(code **)(pcStack_1a8 + -0x5f94))(unaff_s3)" (parenthesized_expression "(**(code **)(pcStack_1a8 + -0x5f94))" ( (pointer_expression "**(code **)(pcStack_1a8 + -0x5f94)" * (pointer_expression "*(code **)(pcStack_1a8 + -0x5f94)" * (cast_expression "(code **)(pcStack_1a8 + -0x5f94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1a8 + -0x5f94)" ( (binary_expression "pcStack_1a8 + -0x5f94" identifier + number_literal) ))))) )) (argument_list "(unaff_s3)" ( identifier ))) ;) (expression_statement "*puVar11 = match_list;" (assignment_expression "*puVar11 = match_list" (pointer_expression "*puVar11" * identifier) = identifier) ;) }))) (expression_statement "iVar6 = 1;" (assignment_expression "iVar6 = 1" identifier = number_literal) ;) (expression_statement "psVar20 = psVar21;" (assignment_expression "psVar20 = psVar21" identifier = identifier) ;) }))) (labeled_statement "LAB_000fb578:\n  if ((char *)auStack_19d._1_4_ == (char *)**(undefined4 **)(pcStack_1a8 + -0x5fb4)) {\n    return iVar6;\n  }" statement_identifier : (if_statement "if ((char *)auStack_19d._1_4_ == (char *)**(undefined4 **)(pcStack_1a8 + -0x5fb4)) {\n    return iVar6;\n  }" if (parenthesized_expression "((char *)auStack_19d._1_4_ == (char *)**(undefined4 **)(pcStack_1a8 + -0x5fb4))" ( (binary_expression "(char *)auStack_19d._1_4_ == (char *)**(undefined4 **)(pcStack_1a8 + -0x5fb4)" (cast_expression "(char *)auStack_19d._1_4_" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_19d._1_4_" identifier . field_identifier)) == (cast_expression "(char *)**(undefined4 **)(pcStack_1a8 + -0x5fb4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcStack_1a8 + -0x5fb4)" * (pointer_expression "*(undefined4 **)(pcStack_1a8 + -0x5fb4)" * (cast_expression "(undefined4 **)(pcStack_1a8 + -0x5fb4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1a8 + -0x5fb4)" ( (binary_expression "pcStack_1a8 + -0x5fb4" identifier + number_literal) ))))))) )) (compound_statement "{\n    return iVar6;\n  }" { (return_statement "return iVar6;" return identifier ;) }))) (expression_statement "pcVar29 = *(code **)(pcStack_1a8 + -0x6004);" (assignment_expression "pcVar29 = *(code **)(pcStack_1a8 + -0x6004)" identifier = (pointer_expression "*(code **)(pcStack_1a8 + -0x6004)" * (cast_expression "(code **)(pcStack_1a8 + -0x6004)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1a8 + -0x6004)" ( (binary_expression "pcStack_1a8 + -0x6004" identifier + number_literal) ))))) ;) (expression_statement "pcVar30 = rl_filename_completion_function;" (assignment_expression "pcVar30 = rl_filename_completion_function" identifier = identifier) ;) (expression_statement "pcVar23 = (char *)auStack_19d._1_4_;" (assignment_expression "pcVar23 = (char *)auStack_19d._1_4_" identifier = (cast_expression "(char *)auStack_19d._1_4_" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_19d._1_4_" identifier . field_identifier))) ;) (expression_statement "(*pcVar29)();" (call_expression "(*pcVar29)()" (parenthesized_expression "(*pcVar29)" ( (pointer_expression "*pcVar29" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "iStack_1e4 = **(int **)(pcVar29 + 0x5cf6c);" (assignment_expression "iStack_1e4 = **(int **)(pcVar29 + 0x5cf6c)" identifier = (pointer_expression "**(int **)(pcVar29 + 0x5cf6c)" * (pointer_expression "*(int **)(pcVar29 + 0x5cf6c)" * (cast_expression "(int **)(pcVar29 + 0x5cf6c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5cf6c)" ( (binary_expression "pcVar29 + 0x5cf6c" identifier + number_literal) )))))) ;) (expression_statement "psStack_1e0 = psVar22;" (assignment_expression "psStack_1e0 = psVar22" identifier = identifier) ;) (expression_statement "psStack_1dc = psVar24;" (assignment_expression "psStack_1dc = psVar24" identifier = identifier) ;) (expression_statement "puStack_1d8 = puVar11;" (assignment_expression "puStack_1d8 = puVar11" identifier = identifier) ;) (expression_statement "psStack_1d4 = unaff_s3;" (assignment_expression "psStack_1d4 = unaff_s3" identifier = identifier) ;) (expression_statement "psStack_1d0 = unaff_s4;" (assignment_expression "psStack_1d0 = unaff_s4" identifier = identifier) ;) (expression_statement "psStack_1cc = unaff_s5;" (assignment_expression "psStack_1cc = unaff_s5" identifier = identifier) ;) (expression_statement "puStack_1c8 = unaff_s6;" (assignment_expression "puStack_1c8 = unaff_s6" identifier = identifier) ;) (expression_statement "psStack_1c4 = unaff_s7;" (assignment_expression "psStack_1c4 = unaff_s7" identifier = identifier) ;) (expression_statement "ppsStack_1c0 = unaff_s8;" (assignment_expression "ppsStack_1c0 = unaff_s8" identifier = identifier) ;) (expression_statement "pcStack_1bc = pcVar30;" (assignment_expression "pcStack_1bc = pcVar30" identifier = identifier) ;) (if_statement "if (psVar20 != (stat *)0x0) goto LAB_000fb968;" if (parenthesized_expression "(psVar20 != (stat *)0x0)" ( (binary_expression "psVar20 != (stat *)0x0" identifier != (cast_expression "(stat *)0x0" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000fb968;" goto statement_identifier ;)) (if_statement "if (*(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd4) != 0) {\n    (**(code **)(pcVar29 + 0x5cc9c))();\n    *(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd4) = 0;\n  }" if (parenthesized_expression "(*(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd4) != 0)" ( (binary_expression "*(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd4) != 0" (pointer_expression "*(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd4)" * (cast_expression "(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar29 + 0x5af4c) + -0x3fd4)" ( (binary_expression "*(int *)(pcVar29 + 0x5af4c) + -0x3fd4" (pointer_expression "*(int *)(pcVar29 + 0x5af4c)" * (cast_expression "(int *)(pcVar29 + 0x5af4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x5af4c)" ( (binary_expression "pcVar29 + 0x5af4c" identifier + number_literal) )))) + number_literal) )))) != number_literal) )) (compound_statement "{\n    (**(code **)(pcVar29 + 0x5cc9c))();\n    *(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd4) = 0;\n  }" { (expression_statement "(**(code **)(pcVar29 + 0x5cc9c))();" (call_expression "(**(code **)(pcVar29 + 0x5cc9c))()" (parenthesized_expression "(**(code **)(pcVar29 + 0x5cc9c))" ( (pointer_expression "**(code **)(pcVar29 + 0x5cc9c)" * (pointer_expression "*(code **)(pcVar29 + 0x5cc9c)" * (cast_expression "(code **)(pcVar29 + 0x5cc9c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5cc9c)" ( (binary_expression "pcVar29 + 0x5cc9c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd4) = 0;" (assignment_expression "*(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd4) = 0" (pointer_expression "*(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd4)" * (cast_expression "(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar29 + 0x5af4c) + -0x3fd4)" ( (binary_expression "*(int *)(pcVar29 + 0x5af4c) + -0x3fd4" (pointer_expression "*(int *)(pcVar29 + 0x5af4c)" * (cast_expression "(int *)(pcVar29 + 0x5af4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x5af4c)" ( (binary_expression "pcVar29 + 0x5af4c" identifier + number_literal) )))) + number_literal) )))) = number_literal) ;) })) (if_statement "if (*(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8) != 0) {\n    iVar6 = (**(code **)(pcVar29 + 0x5cf8c))();\n    return iVar6;\n  }" if (parenthesized_expression "(*(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8) != 0)" ( (binary_expression "*(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8) != 0" (pointer_expression "*(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8)" * (cast_expression "(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8)" ( (binary_expression "*(int *)(pcVar29 + 0x5af4c) + -0x3fd8" (pointer_expression "*(int *)(pcVar29 + 0x5af4c)" * (cast_expression "(int *)(pcVar29 + 0x5af4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x5af4c)" ( (binary_expression "pcVar29 + 0x5af4c" identifier + number_literal) )))) + number_literal) )))) != number_literal) )) (compound_statement "{\n    iVar6 = (**(code **)(pcVar29 + 0x5cf8c))();\n    return iVar6;\n  }" { (expression_statement "iVar6 = (**(code **)(pcVar29 + 0x5cf8c))();" (assignment_expression "iVar6 = (**(code **)(pcVar29 + 0x5cf8c))()" identifier = (call_expression "(**(code **)(pcVar29 + 0x5cf8c))()" (parenthesized_expression "(**(code **)(pcVar29 + 0x5cf8c))" ( (pointer_expression "**(code **)(pcVar29 + 0x5cf8c)" * (pointer_expression "*(code **)(pcVar29 + 0x5cf8c)" * (cast_expression "(code **)(pcVar29 + 0x5cf8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5cf8c)" ( (binary_expression "pcVar29 + 0x5cf8c" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (return_statement "return iVar6;" return identifier ;) })) (if_statement "if (*(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc) != 0) {\n    iVar6 = (**(code **)(pcVar29 + 0x5cf8c))();\n    return iVar6;\n  }" if (parenthesized_expression "(*(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc) != 0)" ( (binary_expression "*(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc) != 0" (pointer_expression "*(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc)" * (cast_expression "(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc)" ( (binary_expression "*(int *)(pcVar29 + 0x5af4c) + -0x3fdc" (pointer_expression "*(int *)(pcVar29 + 0x5af4c)" * (cast_expression "(int *)(pcVar29 + 0x5af4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x5af4c)" ( (binary_expression "pcVar29 + 0x5af4c" identifier + number_literal) )))) + number_literal) )))) != number_literal) )) (compound_statement "{\n    iVar6 = (**(code **)(pcVar29 + 0x5cf8c))();\n    return iVar6;\n  }" { (expression_statement "iVar6 = (**(code **)(pcVar29 + 0x5cf8c))();" (assignment_expression "iVar6 = (**(code **)(pcVar29 + 0x5cf8c))()" identifier = (call_expression "(**(code **)(pcVar29 + 0x5cf8c))()" (parenthesized_expression "(**(code **)(pcVar29 + 0x5cf8c))" ( (pointer_expression "**(code **)(pcVar29 + 0x5cf8c)" * (pointer_expression "*(code **)(pcVar29 + 0x5cf8c)" * (cast_expression "(code **)(pcVar29 + 0x5cf8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5cf8c)" ( (binary_expression "pcVar29 + 0x5cf8c" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (return_statement "return iVar6;" return identifier ;) })) (if_statement "if (*(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0) != 0) {\n    iVar6 = (**(code **)(pcVar29 + 0x5cf8c))();\n    return iVar6;\n  }" if (parenthesized_expression "(*(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0) != 0)" ( (binary_expression "*(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0) != 0" (pointer_expression "*(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0)" * (cast_expression "(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0)" ( (binary_expression "*(int *)(pcVar29 + 0x5af4c) + -0x3fe0" (pointer_expression "*(int *)(pcVar29 + 0x5af4c)" * (cast_expression "(int *)(pcVar29 + 0x5af4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x5af4c)" ( (binary_expression "pcVar29 + 0x5af4c" identifier + number_literal) )))) + number_literal) )))) != number_literal) )) (compound_statement "{\n    iVar6 = (**(code **)(pcVar29 + 0x5cf8c))();\n    return iVar6;\n  }" { (expression_statement "iVar6 = (**(code **)(pcVar29 + 0x5cf8c))();" (assignment_expression "iVar6 = (**(code **)(pcVar29 + 0x5cf8c))()" identifier = (call_expression "(**(code **)(pcVar29 + 0x5cf8c))()" (parenthesized_expression "(**(code **)(pcVar29 + 0x5cf8c))" ( (pointer_expression "**(code **)(pcVar29 + 0x5cf8c)" * (pointer_expression "*(code **)(pcVar29 + 0x5cf8c)" * (cast_expression "(code **)(pcVar29 + 0x5cf8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5cf8c)" ( (binary_expression "pcVar29 + 0x5cf8c" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (return_statement "return iVar6;" return identifier ;) })) (expression_statement "iVar6 = (**(code **)(pcVar29 + 0x5ce24))(pcVar23);" (assignment_expression "iVar6 = (**(code **)(pcVar29 + 0x5ce24))(pcVar23)" identifier = (call_expression "(**(code **)(pcVar29 + 0x5ce24))(pcVar23)" (parenthesized_expression "(**(code **)(pcVar29 + 0x5ce24))" ( (pointer_expression "**(code **)(pcVar29 + 0x5ce24)" * (pointer_expression "*(code **)(pcVar29 + 0x5ce24)" * (cast_expression "(code **)(pcVar29 + 0x5ce24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5ce24)" ( (binary_expression "pcVar29 + 0x5ce24" identifier + number_literal) ))))) )) (argument_list "(pcVar23)" ( identifier )))) ;) (expression_statement "uVar9 = (**(code **)(pcVar29 + 0x5af98))(iVar6 + 1);" (assignment_expression "uVar9 = (**(code **)(pcVar29 + 0x5af98))(iVar6 + 1)" identifier = (call_expression "(**(code **)(pcVar29 + 0x5af98))(iVar6 + 1)" (parenthesized_expression "(**(code **)(pcVar29 + 0x5af98))" ( (pointer_expression "**(code **)(pcVar29 + 0x5af98)" * (pointer_expression "*(code **)(pcVar29 + 0x5af98)" * (cast_expression "(code **)(pcVar29 + 0x5af98)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5af98)" ( (binary_expression "pcVar29 + 0x5af98" identifier + number_literal) ))))) )) (argument_list "(iVar6 + 1)" ( (binary_expression "iVar6 + 1" identifier + number_literal) )))) ;) (expression_statement "uVar9 = (**(code **)(pcVar29 + 0x5ceac))(uVar9,pcVar23);" (assignment_expression "uVar9 = (**(code **)(pcVar29 + 0x5ceac))(uVar9,pcVar23)" identifier = (call_expression "(**(code **)(pcVar29 + 0x5ceac))(uVar9,pcVar23)" (parenthesized_expression "(**(code **)(pcVar29 + 0x5ceac))" ( (pointer_expression "**(code **)(pcVar29 + 0x5ceac)" * (pointer_expression "*(code **)(pcVar29 + 0x5ceac)" * (cast_expression "(code **)(pcVar29 + 0x5ceac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5ceac)" ( (binary_expression "pcVar29 + 0x5ceac" identifier + number_literal) ))))) )) (argument_list "(uVar9,pcVar23)" ( identifier , identifier )))) ;) (expression_statement "*(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc) = uVar9;" (assignment_expression "*(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc) = uVar9" (pointer_expression "*(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc)" * (cast_expression "(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc)" ( (binary_expression "*(int *)(pcVar29 + 0x5af4c) + -0x3fdc" (pointer_expression "*(int *)(pcVar29 + 0x5af4c)" * (cast_expression "(int *)(pcVar29 + 0x5af4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x5af4c)" ( (binary_expression "pcVar29 + 0x5af4c" identifier + number_literal) )))) + number_literal) )))) = identifier) ;) (if_statement "if (*pcVar23 == '\0') {\n    pcVar23 = (char *)(*(int *)(pcVar29 + 0x5af90) + -0x5e18);\n  }" if (parenthesized_expression "(*pcVar23 == '\0')" ( (binary_expression "*pcVar23 == '\0'" (pointer_expression "*pcVar23" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    pcVar23 = (char *)(*(int *)(pcVar29 + 0x5af90) + -0x5e18);\n  }" { (expression_statement "pcVar23 = (char *)(*(int *)(pcVar29 + 0x5af90) + -0x5e18);" (assignment_expression "pcVar23 = (char *)(*(int *)(pcVar29 + 0x5af90) + -0x5e18)" identifier = (cast_expression "(char *)(*(int *)(pcVar29 + 0x5af90) + -0x5e18)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar29 + 0x5af90) + -0x5e18)" ( (binary_expression "*(int *)(pcVar29 + 0x5af90) + -0x5e18" (pointer_expression "*(int *)(pcVar29 + 0x5af90)" * (cast_expression "(int *)(pcVar29 + 0x5af90)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x5af90)" ( (binary_expression "pcVar29 + 0x5af90" identifier + number_literal) )))) + number_literal) )))) ;) })) (expression_statement "iVar6 = (**(code **)(pcVar29 + 0x5ce24))(pcVar23);" (assignment_expression "iVar6 = (**(code **)(pcVar29 + 0x5ce24))(pcVar23)" identifier = (call_expression "(**(code **)(pcVar29 + 0x5ce24))(pcVar23)" (parenthesized_expression "(**(code **)(pcVar29 + 0x5ce24))" ( (pointer_expression "**(code **)(pcVar29 + 0x5ce24)" * (pointer_expression "*(code **)(pcVar29 + 0x5ce24)" * (cast_expression "(code **)(pcVar29 + 0x5ce24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5ce24)" ( (binary_expression "pcVar29 + 0x5ce24" identifier + number_literal) ))))) )) (argument_list "(pcVar23)" ( identifier )))) ;) (expression_statement "uVar9 = (**(code **)(pcVar29 + 0x5af98))(iVar6 + 1);" (assignment_expression "uVar9 = (**(code **)(pcVar29 + 0x5af98))(iVar6 + 1)" identifier = (call_expression "(**(code **)(pcVar29 + 0x5af98))(iVar6 + 1)" (parenthesized_expression "(**(code **)(pcVar29 + 0x5af98))" ( (pointer_expression "**(code **)(pcVar29 + 0x5af98)" * (pointer_expression "*(code **)(pcVar29 + 0x5af98)" * (cast_expression "(code **)(pcVar29 + 0x5af98)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5af98)" ( (binary_expression "pcVar29 + 0x5af98" identifier + number_literal) ))))) )) (argument_list "(iVar6 + 1)" ( (binary_expression "iVar6 + 1" identifier + number_literal) )))) ;) (expression_statement "puVar10 = (undefined1 *)(**(code **)(pcVar29 + 0x5ceac))(uVar9,pcVar23);" (assignment_expression "puVar10 = (undefined1 *)(**(code **)(pcVar29 + 0x5ceac))(uVar9,pcVar23)" identifier = (cast_expression "(undefined1 *)(**(code **)(pcVar29 + 0x5ceac))(uVar9,pcVar23)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar29 + 0x5ceac))(uVar9,pcVar23)" (parenthesized_expression "(**(code **)(pcVar29 + 0x5ceac))" ( (pointer_expression "**(code **)(pcVar29 + 0x5ceac)" * (pointer_expression "*(code **)(pcVar29 + 0x5ceac)" * (cast_expression "(code **)(pcVar29 + 0x5ceac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5ceac)" ( (binary_expression "pcVar29 + 0x5ceac" identifier + number_literal) ))))) )) (argument_list "(uVar9,pcVar23)" ( identifier , identifier ))))) ;) (expression_statement "*(undefined1 **)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8) = puVar10;" (assignment_expression "*(undefined1 **)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8) = puVar10" (pointer_expression "*(undefined1 **)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8)" * (cast_expression "(undefined1 **)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8)" ( (binary_expression "*(int *)(pcVar29 + 0x5af4c) + -0x3fd8" (pointer_expression "*(int *)(pcVar29 + 0x5af4c)" * (cast_expression "(int *)(pcVar29 + 0x5af4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x5af4c)" ( (binary_expression "pcVar29 + 0x5af4c" identifier + number_literal) )))) + number_literal) )))) = identifier) ;) (expression_statement "iVar6 = (**(code **)(pcVar29 + 0x5cd4c))(puVar10,0x2f);" (assignment_expression "iVar6 = (**(code **)(pcVar29 + 0x5cd4c))(puVar10,0x2f)" identifier = (call_expression "(**(code **)(pcVar29 + 0x5cd4c))(puVar10,0x2f)" (parenthesized_expression "(**(code **)(pcVar29 + 0x5cd4c))" ( (pointer_expression "**(code **)(pcVar29 + 0x5cd4c)" * (pointer_expression "*(code **)(pcVar29 + 0x5cd4c)" * (cast_expression "(code **)(pcVar29 + 0x5cd4c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5cd4c)" ( (binary_expression "pcVar29 + 0x5cd4c" identifier + number_literal) ))))) )) (argument_list "(puVar10,0x2f)" ( identifier , number_literal )))) ;) (if_statement "if (iVar6 == 0) {\n    *puVar10 = 0x2e;\n    *(undefined1 *)(*(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8) + 1) = 0;\n  }\n  else {\n    (**(code **)(pcVar29 + 0x5ceac))\n              (*(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc),iVar6 + 1);\n    *(undefined1 *)(iVar6 + 1) = 0;\n  }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n    *puVar10 = 0x2e;\n    *(undefined1 *)(*(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8) + 1) = 0;\n  }" { (expression_statement "*puVar10 = 0x2e;" (assignment_expression "*puVar10 = 0x2e" (pointer_expression "*puVar10" * identifier) = number_literal) ;) (expression_statement "*(undefined1 *)(*(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8) + 1) = 0;" (assignment_expression "*(undefined1 *)(*(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8) + 1) = 0" (pointer_expression "*(undefined1 *)(*(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8) + 1)" * (cast_expression "(undefined1 *)(*(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8) + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8) + 1)" ( (binary_expression "*(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8) + 1" (pointer_expression "*(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8)" * (cast_expression "(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8)" ( (binary_expression "*(int *)(pcVar29 + 0x5af4c) + -0x3fd8" (pointer_expression "*(int *)(pcVar29 + 0x5af4c)" * (cast_expression "(int *)(pcVar29 + 0x5af4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x5af4c)" ( (binary_expression "pcVar29 + 0x5af4c" identifier + number_literal) )))) + number_literal) )))) + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n    (**(code **)(pcVar29 + 0x5ceac))\n              (*(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc),iVar6 + 1);\n    *(undefined1 *)(iVar6 + 1) = 0;\n  }" else (compound_statement "{\n    (**(code **)(pcVar29 + 0x5ceac))\n              (*(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc),iVar6 + 1);\n    *(undefined1 *)(iVar6 + 1) = 0;\n  }" { (expression_statement "(**(code **)(pcVar29 + 0x5ceac))\n              (*(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc),iVar6 + 1);" (call_expression "(**(code **)(pcVar29 + 0x5ceac))\n              (*(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc),iVar6 + 1)" (parenthesized_expression "(**(code **)(pcVar29 + 0x5ceac))" ( (pointer_expression "**(code **)(pcVar29 + 0x5ceac)" * (pointer_expression "*(code **)(pcVar29 + 0x5ceac)" * (cast_expression "(code **)(pcVar29 + 0x5ceac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5ceac)" ( (binary_expression "pcVar29 + 0x5ceac" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc),iVar6 + 1)" ( (pointer_expression "*(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc)" * (cast_expression "(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc)" ( (binary_expression "*(int *)(pcVar29 + 0x5af4c) + -0x3fdc" (pointer_expression "*(int *)(pcVar29 + 0x5af4c)" * (cast_expression "(int *)(pcVar29 + 0x5af4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x5af4c)" ( (binary_expression "pcVar29 + 0x5af4c" identifier + number_literal) )))) + number_literal) )))) , (binary_expression "iVar6 + 1" identifier + number_literal) ))) ;) (expression_statement "*(undefined1 *)(iVar6 + 1) = 0;" (assignment_expression "*(undefined1 *)(iVar6 + 1) = 0" (pointer_expression "*(undefined1 *)(iVar6 + 1)" * (cast_expression "(undefined1 *)(iVar6 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 1)" ( (binary_expression "iVar6 + 1" identifier + number_literal) )))) = number_literal) ;) }))) (if_statement "if (**(int **)(pcVar29 + 0x5bfe8) == 0) {\nLAB_000fb830:\n    iVar12 = *(int *)(pcVar29 + 0x5af4c);\n    iVar6 = (**(code **)(pcVar29 + 0x5ce24))(*(undefined4 *)(iVar12 + -0x3fd8));\n    uVar9 = (**(code **)(pcVar29 + 0x5af98))(iVar6 + 1);\n    uVar9 = (**(code **)(pcVar29 + 0x5ceac))(uVar9,*(undefined4 *)(iVar12 + -0x3fd8));\n    *(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0) = uVar9;\n  }\n  else {\n    if ((code *)**(undefined4 **)(pcVar29 + 0x5c13c) == (code *)0x0) goto LAB_000fb830;\n    uVar9 = (*(code *)**(undefined4 **)(pcVar29 + 0x5c13c))\n                      (*(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8),\n                       **(undefined4 **)(pcVar29 + 0x5bfec));\n    *(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0) = uVar9;\n  }" if (parenthesized_expression "(**(int **)(pcVar29 + 0x5bfe8) == 0)" ( (binary_expression "**(int **)(pcVar29 + 0x5bfe8) == 0" (pointer_expression "**(int **)(pcVar29 + 0x5bfe8)" * (pointer_expression "*(int **)(pcVar29 + 0x5bfe8)" * (cast_expression "(int **)(pcVar29 + 0x5bfe8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5bfe8)" ( (binary_expression "pcVar29 + 0x5bfe8" identifier + number_literal) ))))) == number_literal) )) (compound_statement "{\nLAB_000fb830:\n    iVar12 = *(int *)(pcVar29 + 0x5af4c);\n    iVar6 = (**(code **)(pcVar29 + 0x5ce24))(*(undefined4 *)(iVar12 + -0x3fd8));\n    uVar9 = (**(code **)(pcVar29 + 0x5af98))(iVar6 + 1);\n    uVar9 = (**(code **)(pcVar29 + 0x5ceac))(uVar9,*(undefined4 *)(iVar12 + -0x3fd8));\n    *(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0) = uVar9;\n  }" { (labeled_statement "LAB_000fb830:\n    iVar12 = *(int *)(pcVar29 + 0x5af4c);" statement_identifier : (expression_statement "iVar12 = *(int *)(pcVar29 + 0x5af4c);" (assignment_expression "iVar12 = *(int *)(pcVar29 + 0x5af4c)" identifier = (pointer_expression "*(int *)(pcVar29 + 0x5af4c)" * (cast_expression "(int *)(pcVar29 + 0x5af4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x5af4c)" ( (binary_expression "pcVar29 + 0x5af4c" identifier + number_literal) ))))) ;)) (expression_statement "iVar6 = (**(code **)(pcVar29 + 0x5ce24))(*(undefined4 *)(iVar12 + -0x3fd8));" (assignment_expression "iVar6 = (**(code **)(pcVar29 + 0x5ce24))(*(undefined4 *)(iVar12 + -0x3fd8))" identifier = (call_expression "(**(code **)(pcVar29 + 0x5ce24))(*(undefined4 *)(iVar12 + -0x3fd8))" (parenthesized_expression "(**(code **)(pcVar29 + 0x5ce24))" ( (pointer_expression "**(code **)(pcVar29 + 0x5ce24)" * (pointer_expression "*(code **)(pcVar29 + 0x5ce24)" * (cast_expression "(code **)(pcVar29 + 0x5ce24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5ce24)" ( (binary_expression "pcVar29 + 0x5ce24" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar12 + -0x3fd8))" ( (pointer_expression "*(undefined4 *)(iVar12 + -0x3fd8)" * (cast_expression "(undefined4 *)(iVar12 + -0x3fd8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + -0x3fd8)" ( (binary_expression "iVar12 + -0x3fd8" identifier + number_literal) )))) )))) ;) (expression_statement "uVar9 = (**(code **)(pcVar29 + 0x5af98))(iVar6 + 1);" (assignment_expression "uVar9 = (**(code **)(pcVar29 + 0x5af98))(iVar6 + 1)" identifier = (call_expression "(**(code **)(pcVar29 + 0x5af98))(iVar6 + 1)" (parenthesized_expression "(**(code **)(pcVar29 + 0x5af98))" ( (pointer_expression "**(code **)(pcVar29 + 0x5af98)" * (pointer_expression "*(code **)(pcVar29 + 0x5af98)" * (cast_expression "(code **)(pcVar29 + 0x5af98)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5af98)" ( (binary_expression "pcVar29 + 0x5af98" identifier + number_literal) ))))) )) (argument_list "(iVar6 + 1)" ( (binary_expression "iVar6 + 1" identifier + number_literal) )))) ;) (expression_statement "uVar9 = (**(code **)(pcVar29 + 0x5ceac))(uVar9,*(undefined4 *)(iVar12 + -0x3fd8));" (assignment_expression "uVar9 = (**(code **)(pcVar29 + 0x5ceac))(uVar9,*(undefined4 *)(iVar12 + -0x3fd8))" identifier = (call_expression "(**(code **)(pcVar29 + 0x5ceac))(uVar9,*(undefined4 *)(iVar12 + -0x3fd8))" (parenthesized_expression "(**(code **)(pcVar29 + 0x5ceac))" ( (pointer_expression "**(code **)(pcVar29 + 0x5ceac)" * (pointer_expression "*(code **)(pcVar29 + 0x5ceac)" * (cast_expression "(code **)(pcVar29 + 0x5ceac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5ceac)" ( (binary_expression "pcVar29 + 0x5ceac" identifier + number_literal) ))))) )) (argument_list "(uVar9,*(undefined4 *)(iVar12 + -0x3fd8))" ( identifier , (pointer_expression "*(undefined4 *)(iVar12 + -0x3fd8)" * (cast_expression "(undefined4 *)(iVar12 + -0x3fd8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + -0x3fd8)" ( (binary_expression "iVar12 + -0x3fd8" identifier + number_literal) )))) )))) ;) (expression_statement "*(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0) = uVar9;" (assignment_expression "*(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0) = uVar9" (pointer_expression "*(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0)" * (cast_expression "(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0)" ( (binary_expression "*(int *)(pcVar29 + 0x5af4c) + -0x3fe0" (pointer_expression "*(int *)(pcVar29 + 0x5af4c)" * (cast_expression "(int *)(pcVar29 + 0x5af4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x5af4c)" ( (binary_expression "pcVar29 + 0x5af4c" identifier + number_literal) )))) + number_literal) )))) = identifier) ;) }) (else_clause "else {\n    if ((code *)**(undefined4 **)(pcVar29 + 0x5c13c) == (code *)0x0) goto LAB_000fb830;\n    uVar9 = (*(code *)**(undefined4 **)(pcVar29 + 0x5c13c))\n                      (*(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8),\n                       **(undefined4 **)(pcVar29 + 0x5bfec));\n    *(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0) = uVar9;\n  }" else (compound_statement "{\n    if ((code *)**(undefined4 **)(pcVar29 + 0x5c13c) == (code *)0x0) goto LAB_000fb830;\n    uVar9 = (*(code *)**(undefined4 **)(pcVar29 + 0x5c13c))\n                      (*(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8),\n                       **(undefined4 **)(pcVar29 + 0x5bfec));\n    *(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0) = uVar9;\n  }" { (if_statement "if ((code *)**(undefined4 **)(pcVar29 + 0x5c13c) == (code *)0x0) goto LAB_000fb830;" if (parenthesized_expression "((code *)**(undefined4 **)(pcVar29 + 0x5c13c) == (code *)0x0)" ( (binary_expression "(code *)**(undefined4 **)(pcVar29 + 0x5c13c) == (code *)0x0" (cast_expression "(code *)**(undefined4 **)(pcVar29 + 0x5c13c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcVar29 + 0x5c13c)" * (pointer_expression "*(undefined4 **)(pcVar29 + 0x5c13c)" * (cast_expression "(undefined4 **)(pcVar29 + 0x5c13c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5c13c)" ( (binary_expression "pcVar29 + 0x5c13c" identifier + number_literal) )))))) == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000fb830;" goto statement_identifier ;)) (expression_statement "uVar9 = (*(code *)**(undefined4 **)(pcVar29 + 0x5c13c))\n                      (*(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8),\n                       **(undefined4 **)(pcVar29 + 0x5bfec));" (assignment_expression "uVar9 = (*(code *)**(undefined4 **)(pcVar29 + 0x5c13c))\n                      (*(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8),\n                       **(undefined4 **)(pcVar29 + 0x5bfec))" identifier = (call_expression "(*(code *)**(undefined4 **)(pcVar29 + 0x5c13c))\n                      (*(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8),\n                       **(undefined4 **)(pcVar29 + 0x5bfec))" (parenthesized_expression "(*(code *)**(undefined4 **)(pcVar29 + 0x5c13c))" ( (pointer_expression "*(code *)**(undefined4 **)(pcVar29 + 0x5c13c)" * (cast_expression "(code *)**(undefined4 **)(pcVar29 + 0x5c13c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcVar29 + 0x5c13c)" * (pointer_expression "*(undefined4 **)(pcVar29 + 0x5c13c)" * (cast_expression "(undefined4 **)(pcVar29 + 0x5c13c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5c13c)" ( (binary_expression "pcVar29 + 0x5c13c" identifier + number_literal) ))))))) )) (argument_list "(*(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8),\n                       **(undefined4 **)(pcVar29 + 0x5bfec))" ( (pointer_expression "*(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8)" * (cast_expression "(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8)" ( (binary_expression "*(int *)(pcVar29 + 0x5af4c) + -0x3fd8" (pointer_expression "*(int *)(pcVar29 + 0x5af4c)" * (cast_expression "(int *)(pcVar29 + 0x5af4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x5af4c)" ( (binary_expression "pcVar29 + 0x5af4c" identifier + number_literal) )))) + number_literal) )))) , (pointer_expression "**(undefined4 **)(pcVar29 + 0x5bfec)" * (pointer_expression "*(undefined4 **)(pcVar29 + 0x5bfec)" * (cast_expression "(undefined4 **)(pcVar29 + 0x5bfec)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5bfec)" ( (binary_expression "pcVar29 + 0x5bfec" identifier + number_literal) ))))) )))) ;) (expression_statement "*(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0) = uVar9;" (assignment_expression "*(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0) = uVar9" (pointer_expression "*(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0)" * (cast_expression "(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0)" ( (binary_expression "*(int *)(pcVar29 + 0x5af4c) + -0x3fe0" (pointer_expression "*(int *)(pcVar29 + 0x5af4c)" * (cast_expression "(int *)(pcVar29 + 0x5af4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x5af4c)" ( (binary_expression "pcVar29 + 0x5af4c" identifier + number_literal) )))) + number_literal) )))) = identifier) ;) }))) (expression_statement "bVar3 = **(char **)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8) == '~';" (assignment_expression "bVar3 = **(char **)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8) == '~'" identifier = (binary_expression "**(char **)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8) == '~'" (pointer_expression "**(char **)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8)" * (pointer_expression "*(char **)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8)" * (cast_expression "(char **)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8)" ( (binary_expression "*(int *)(pcVar29 + 0x5af4c) + -0x3fd8" (pointer_expression "*(int *)(pcVar29 + 0x5af4c)" * (cast_expression "(int *)(pcVar29 + 0x5af4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x5af4c)" ( (binary_expression "pcVar29 + 0x5af4c" identifier + number_literal) )))) + number_literal) ))))) == (char_literal "'~'" ' character '))) ;) (if_statement "if (bVar3) {\n    uVar9 = (**(code **)(pcVar29 + 0x5b4ec))();\n    iVar6 = *(int *)(pcVar29 + 0x5af4c);\n    (**(code **)(pcVar29 + 0x5b594))(*(undefined4 *)(iVar6 + -0x3fd8));\n    *(undefined4 *)(iVar6 + -0x3fd8) = uVar9;\n  }" if (parenthesized_expression "(bVar3)" ( identifier )) (compound_statement "{\n    uVar9 = (**(code **)(pcVar29 + 0x5b4ec))();\n    iVar6 = *(int *)(pcVar29 + 0x5af4c);\n    (**(code **)(pcVar29 + 0x5b594))(*(undefined4 *)(iVar6 + -0x3fd8));\n    *(undefined4 *)(iVar6 + -0x3fd8) = uVar9;\n  }" { (expression_statement "uVar9 = (**(code **)(pcVar29 + 0x5b4ec))();" (assignment_expression "uVar9 = (**(code **)(pcVar29 + 0x5b4ec))()" identifier = (call_expression "(**(code **)(pcVar29 + 0x5b4ec))()" (parenthesized_expression "(**(code **)(pcVar29 + 0x5b4ec))" ( (pointer_expression "**(code **)(pcVar29 + 0x5b4ec)" * (pointer_expression "*(code **)(pcVar29 + 0x5b4ec)" * (cast_expression "(code **)(pcVar29 + 0x5b4ec)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5b4ec)" ( (binary_expression "pcVar29 + 0x5b4ec" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "iVar6 = *(int *)(pcVar29 + 0x5af4c);" (assignment_expression "iVar6 = *(int *)(pcVar29 + 0x5af4c)" identifier = (pointer_expression "*(int *)(pcVar29 + 0x5af4c)" * (cast_expression "(int *)(pcVar29 + 0x5af4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x5af4c)" ( (binary_expression "pcVar29 + 0x5af4c" identifier + number_literal) ))))) ;) (expression_statement "(**(code **)(pcVar29 + 0x5b594))(*(undefined4 *)(iVar6 + -0x3fd8));" (call_expression "(**(code **)(pcVar29 + 0x5b594))(*(undefined4 *)(iVar6 + -0x3fd8))" (parenthesized_expression "(**(code **)(pcVar29 + 0x5b594))" ( (pointer_expression "**(code **)(pcVar29 + 0x5b594)" * (pointer_expression "*(code **)(pcVar29 + 0x5b594)" * (cast_expression "(code **)(pcVar29 + 0x5b594)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5b594)" ( (binary_expression "pcVar29 + 0x5b594" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar6 + -0x3fd8))" ( (pointer_expression "*(undefined4 *)(iVar6 + -0x3fd8)" * (cast_expression "(undefined4 *)(iVar6 + -0x3fd8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + -0x3fd8)" ( (binary_expression "iVar6 + -0x3fd8" identifier + number_literal) )))) ))) ;) (expression_statement "*(undefined4 *)(iVar6 + -0x3fd8) = uVar9;" (assignment_expression "*(undefined4 *)(iVar6 + -0x3fd8) = uVar9" (pointer_expression "*(undefined4 *)(iVar6 + -0x3fd8)" * (cast_expression "(undefined4 *)(iVar6 + -0x3fd8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + -0x3fd8)" ( (binary_expression "iVar6 + -0x3fd8" identifier + number_literal) )))) = identifier) ;) })) (if_statement "if ((code *)**(undefined4 **)(pcVar29 + 0x5bfe0) == (code *)0x0) {\n    if ((code *)**(undefined4 **)(pcVar29 + 0x5bfe4) != (code *)0x0) {\n      iVar6 = (*(code *)**(undefined4 **)(pcVar29 + 0x5bfe4))(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8)\n      ;\n      iVar12 = *(int *)(pcVar29 + 0x5af4c);\n      if (iVar6 != 0) {\n        (**(code **)(pcVar29 + 0x5b594))(*(undefined4 *)(iVar12 + -0x3fe0));\n        iVar13 = *(int *)(pcVar29 + 0x5af4c);\n        iVar6 = (**(code **)(pcVar29 + 0x5ce24))(*(undefined4 *)(iVar13 + -0x3fd8));\n        uVar9 = (**(code **)(pcVar29 + 0x5af98))(iVar6 + 1);\n        uVar9 = (**(code **)(pcVar29 + 0x5ceac))(uVar9,*(undefined4 *)(iVar13 + -0x3fd8));\n        *(undefined4 *)(iVar12 + -0x3fe0) = uVar9;\n        goto LAB_000fb8b4;\n      }\n    }\n    iVar6 = *(int *)(pcVar29 + 0x5af4c);\n    if ((!bVar3) && (iVar6 = *(int *)(pcVar29 + 0x5af4c), **(int **)(pcVar29 + 0x5bfe8) != 0)) {\n      iVar6 = *(int *)(pcVar29 + 0x5af4c);\n      if (**(int **)(pcVar29 + 0x5c13c) != 0) {\n        (**(code **)(pcVar29 + 0x5b594))(*(undefined4 *)(iVar6 + -0x3fd8));\n        iVar13 = *(int *)(pcVar29 + 0x5af4c);\n        iVar12 = (**(code **)(pcVar29 + 0x5ce24))(*(undefined4 *)(iVar13 + -0x3fe0));\n        uVar9 = (**(code **)(pcVar29 + 0x5af98))(iVar12 + 1);\n        uVar9 = (**(code **)(pcVar29 + 0x5ceac))(uVar9,*(undefined4 *)(iVar13 + -0x3fe0));\n        *(undefined4 *)(iVar6 + -0x3fd8) = uVar9;\n      }\n      goto LAB_000fb8b4;\n    }\n  }\n  else {\n    (*(code *)**(undefined4 **)(pcVar29 + 0x5bfe0))(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8);\nLAB_000fb8b4:\n    iVar6 = *(int *)(pcVar29 + 0x5af4c);\n  }" if (parenthesized_expression "((code *)**(undefined4 **)(pcVar29 + 0x5bfe0) == (code *)0x0)" ( (binary_expression "(code *)**(undefined4 **)(pcVar29 + 0x5bfe0) == (code *)0x0" (cast_expression "(code *)**(undefined4 **)(pcVar29 + 0x5bfe0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcVar29 + 0x5bfe0)" * (pointer_expression "*(undefined4 **)(pcVar29 + 0x5bfe0)" * (cast_expression "(undefined4 **)(pcVar29 + 0x5bfe0)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5bfe0)" ( (binary_expression "pcVar29 + 0x5bfe0" identifier + number_literal) )))))) == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if ((code *)**(undefined4 **)(pcVar29 + 0x5bfe4) != (code *)0x0) {\n      iVar6 = (*(code *)**(undefined4 **)(pcVar29 + 0x5bfe4))(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8)\n      ;\n      iVar12 = *(int *)(pcVar29 + 0x5af4c);\n      if (iVar6 != 0) {\n        (**(code **)(pcVar29 + 0x5b594))(*(undefined4 *)(iVar12 + -0x3fe0));\n        iVar13 = *(int *)(pcVar29 + 0x5af4c);\n        iVar6 = (**(code **)(pcVar29 + 0x5ce24))(*(undefined4 *)(iVar13 + -0x3fd8));\n        uVar9 = (**(code **)(pcVar29 + 0x5af98))(iVar6 + 1);\n        uVar9 = (**(code **)(pcVar29 + 0x5ceac))(uVar9,*(undefined4 *)(iVar13 + -0x3fd8));\n        *(undefined4 *)(iVar12 + -0x3fe0) = uVar9;\n        goto LAB_000fb8b4;\n      }\n    }\n    iVar6 = *(int *)(pcVar29 + 0x5af4c);\n    if ((!bVar3) && (iVar6 = *(int *)(pcVar29 + 0x5af4c), **(int **)(pcVar29 + 0x5bfe8) != 0)) {\n      iVar6 = *(int *)(pcVar29 + 0x5af4c);\n      if (**(int **)(pcVar29 + 0x5c13c) != 0) {\n        (**(code **)(pcVar29 + 0x5b594))(*(undefined4 *)(iVar6 + -0x3fd8));\n        iVar13 = *(int *)(pcVar29 + 0x5af4c);\n        iVar12 = (**(code **)(pcVar29 + 0x5ce24))(*(undefined4 *)(iVar13 + -0x3fe0));\n        uVar9 = (**(code **)(pcVar29 + 0x5af98))(iVar12 + 1);\n        uVar9 = (**(code **)(pcVar29 + 0x5ceac))(uVar9,*(undefined4 *)(iVar13 + -0x3fe0));\n        *(undefined4 *)(iVar6 + -0x3fd8) = uVar9;\n      }\n      goto LAB_000fb8b4;\n    }\n  }" { (if_statement "if ((code *)**(undefined4 **)(pcVar29 + 0x5bfe4) != (code *)0x0) {\n      iVar6 = (*(code *)**(undefined4 **)(pcVar29 + 0x5bfe4))(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8)\n      ;\n      iVar12 = *(int *)(pcVar29 + 0x5af4c);\n      if (iVar6 != 0) {\n        (**(code **)(pcVar29 + 0x5b594))(*(undefined4 *)(iVar12 + -0x3fe0));\n        iVar13 = *(int *)(pcVar29 + 0x5af4c);\n        iVar6 = (**(code **)(pcVar29 + 0x5ce24))(*(undefined4 *)(iVar13 + -0x3fd8));\n        uVar9 = (**(code **)(pcVar29 + 0x5af98))(iVar6 + 1);\n        uVar9 = (**(code **)(pcVar29 + 0x5ceac))(uVar9,*(undefined4 *)(iVar13 + -0x3fd8));\n        *(undefined4 *)(iVar12 + -0x3fe0) = uVar9;\n        goto LAB_000fb8b4;\n      }\n    }" if (parenthesized_expression "((code *)**(undefined4 **)(pcVar29 + 0x5bfe4) != (code *)0x0)" ( (binary_expression "(code *)**(undefined4 **)(pcVar29 + 0x5bfe4) != (code *)0x0" (cast_expression "(code *)**(undefined4 **)(pcVar29 + 0x5bfe4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcVar29 + 0x5bfe4)" * (pointer_expression "*(undefined4 **)(pcVar29 + 0x5bfe4)" * (cast_expression "(undefined4 **)(pcVar29 + 0x5bfe4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5bfe4)" ( (binary_expression "pcVar29 + 0x5bfe4" identifier + number_literal) )))))) != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      iVar6 = (*(code *)**(undefined4 **)(pcVar29 + 0x5bfe4))(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8)\n      ;\n      iVar12 = *(int *)(pcVar29 + 0x5af4c);\n      if (iVar6 != 0) {\n        (**(code **)(pcVar29 + 0x5b594))(*(undefined4 *)(iVar12 + -0x3fe0));\n        iVar13 = *(int *)(pcVar29 + 0x5af4c);\n        iVar6 = (**(code **)(pcVar29 + 0x5ce24))(*(undefined4 *)(iVar13 + -0x3fd8));\n        uVar9 = (**(code **)(pcVar29 + 0x5af98))(iVar6 + 1);\n        uVar9 = (**(code **)(pcVar29 + 0x5ceac))(uVar9,*(undefined4 *)(iVar13 + -0x3fd8));\n        *(undefined4 *)(iVar12 + -0x3fe0) = uVar9;\n        goto LAB_000fb8b4;\n      }\n    }" { (expression_statement "iVar6 = (*(code *)**(undefined4 **)(pcVar29 + 0x5bfe4))(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8)\n      ;" (assignment_expression "iVar6 = (*(code *)**(undefined4 **)(pcVar29 + 0x5bfe4))(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8)" identifier = (call_expression "(*(code *)**(undefined4 **)(pcVar29 + 0x5bfe4))(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8)" (parenthesized_expression "(*(code *)**(undefined4 **)(pcVar29 + 0x5bfe4))" ( (pointer_expression "*(code *)**(undefined4 **)(pcVar29 + 0x5bfe4)" * (cast_expression "(code *)**(undefined4 **)(pcVar29 + 0x5bfe4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcVar29 + 0x5bfe4)" * (pointer_expression "*(undefined4 **)(pcVar29 + 0x5bfe4)" * (cast_expression "(undefined4 **)(pcVar29 + 0x5bfe4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5bfe4)" ( (binary_expression "pcVar29 + 0x5bfe4" identifier + number_literal) ))))))) )) (argument_list "(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8)" ( (binary_expression "*(int *)(pcVar29 + 0x5af4c) + -0x3fd8" (pointer_expression "*(int *)(pcVar29 + 0x5af4c)" * (cast_expression "(int *)(pcVar29 + 0x5af4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x5af4c)" ( (binary_expression "pcVar29 + 0x5af4c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar12 = *(int *)(pcVar29 + 0x5af4c);" (assignment_expression "iVar12 = *(int *)(pcVar29 + 0x5af4c)" identifier = (pointer_expression "*(int *)(pcVar29 + 0x5af4c)" * (cast_expression "(int *)(pcVar29 + 0x5af4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x5af4c)" ( (binary_expression "pcVar29 + 0x5af4c" identifier + number_literal) ))))) ;) (if_statement "if (iVar6 != 0) {\n        (**(code **)(pcVar29 + 0x5b594))(*(undefined4 *)(iVar12 + -0x3fe0));\n        iVar13 = *(int *)(pcVar29 + 0x5af4c);\n        iVar6 = (**(code **)(pcVar29 + 0x5ce24))(*(undefined4 *)(iVar13 + -0x3fd8));\n        uVar9 = (**(code **)(pcVar29 + 0x5af98))(iVar6 + 1);\n        uVar9 = (**(code **)(pcVar29 + 0x5ceac))(uVar9,*(undefined4 *)(iVar13 + -0x3fd8));\n        *(undefined4 *)(iVar12 + -0x3fe0) = uVar9;\n        goto LAB_000fb8b4;\n      }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n        (**(code **)(pcVar29 + 0x5b594))(*(undefined4 *)(iVar12 + -0x3fe0));\n        iVar13 = *(int *)(pcVar29 + 0x5af4c);\n        iVar6 = (**(code **)(pcVar29 + 0x5ce24))(*(undefined4 *)(iVar13 + -0x3fd8));\n        uVar9 = (**(code **)(pcVar29 + 0x5af98))(iVar6 + 1);\n        uVar9 = (**(code **)(pcVar29 + 0x5ceac))(uVar9,*(undefined4 *)(iVar13 + -0x3fd8));\n        *(undefined4 *)(iVar12 + -0x3fe0) = uVar9;\n        goto LAB_000fb8b4;\n      }" { (expression_statement "(**(code **)(pcVar29 + 0x5b594))(*(undefined4 *)(iVar12 + -0x3fe0));" (call_expression "(**(code **)(pcVar29 + 0x5b594))(*(undefined4 *)(iVar12 + -0x3fe0))" (parenthesized_expression "(**(code **)(pcVar29 + 0x5b594))" ( (pointer_expression "**(code **)(pcVar29 + 0x5b594)" * (pointer_expression "*(code **)(pcVar29 + 0x5b594)" * (cast_expression "(code **)(pcVar29 + 0x5b594)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5b594)" ( (binary_expression "pcVar29 + 0x5b594" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar12 + -0x3fe0))" ( (pointer_expression "*(undefined4 *)(iVar12 + -0x3fe0)" * (cast_expression "(undefined4 *)(iVar12 + -0x3fe0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + -0x3fe0)" ( (binary_expression "iVar12 + -0x3fe0" identifier + number_literal) )))) ))) ;) (expression_statement "iVar13 = *(int *)(pcVar29 + 0x5af4c);" (assignment_expression "iVar13 = *(int *)(pcVar29 + 0x5af4c)" identifier = (pointer_expression "*(int *)(pcVar29 + 0x5af4c)" * (cast_expression "(int *)(pcVar29 + 0x5af4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x5af4c)" ( (binary_expression "pcVar29 + 0x5af4c" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = (**(code **)(pcVar29 + 0x5ce24))(*(undefined4 *)(iVar13 + -0x3fd8));" (assignment_expression "iVar6 = (**(code **)(pcVar29 + 0x5ce24))(*(undefined4 *)(iVar13 + -0x3fd8))" identifier = (call_expression "(**(code **)(pcVar29 + 0x5ce24))(*(undefined4 *)(iVar13 + -0x3fd8))" (parenthesized_expression "(**(code **)(pcVar29 + 0x5ce24))" ( (pointer_expression "**(code **)(pcVar29 + 0x5ce24)" * (pointer_expression "*(code **)(pcVar29 + 0x5ce24)" * (cast_expression "(code **)(pcVar29 + 0x5ce24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5ce24)" ( (binary_expression "pcVar29 + 0x5ce24" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar13 + -0x3fd8))" ( (pointer_expression "*(undefined4 *)(iVar13 + -0x3fd8)" * (cast_expression "(undefined4 *)(iVar13 + -0x3fd8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + -0x3fd8)" ( (binary_expression "iVar13 + -0x3fd8" identifier + number_literal) )))) )))) ;) (expression_statement "uVar9 = (**(code **)(pcVar29 + 0x5af98))(iVar6 + 1);" (assignment_expression "uVar9 = (**(code **)(pcVar29 + 0x5af98))(iVar6 + 1)" identifier = (call_expression "(**(code **)(pcVar29 + 0x5af98))(iVar6 + 1)" (parenthesized_expression "(**(code **)(pcVar29 + 0x5af98))" ( (pointer_expression "**(code **)(pcVar29 + 0x5af98)" * (pointer_expression "*(code **)(pcVar29 + 0x5af98)" * (cast_expression "(code **)(pcVar29 + 0x5af98)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5af98)" ( (binary_expression "pcVar29 + 0x5af98" identifier + number_literal) ))))) )) (argument_list "(iVar6 + 1)" ( (binary_expression "iVar6 + 1" identifier + number_literal) )))) ;) (expression_statement "uVar9 = (**(code **)(pcVar29 + 0x5ceac))(uVar9,*(undefined4 *)(iVar13 + -0x3fd8));" (assignment_expression "uVar9 = (**(code **)(pcVar29 + 0x5ceac))(uVar9,*(undefined4 *)(iVar13 + -0x3fd8))" identifier = (call_expression "(**(code **)(pcVar29 + 0x5ceac))(uVar9,*(undefined4 *)(iVar13 + -0x3fd8))" (parenthesized_expression "(**(code **)(pcVar29 + 0x5ceac))" ( (pointer_expression "**(code **)(pcVar29 + 0x5ceac)" * (pointer_expression "*(code **)(pcVar29 + 0x5ceac)" * (cast_expression "(code **)(pcVar29 + 0x5ceac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5ceac)" ( (binary_expression "pcVar29 + 0x5ceac" identifier + number_literal) ))))) )) (argument_list "(uVar9,*(undefined4 *)(iVar13 + -0x3fd8))" ( identifier , (pointer_expression "*(undefined4 *)(iVar13 + -0x3fd8)" * (cast_expression "(undefined4 *)(iVar13 + -0x3fd8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + -0x3fd8)" ( (binary_expression "iVar13 + -0x3fd8" identifier + number_literal) )))) )))) ;) (expression_statement "*(undefined4 *)(iVar12 + -0x3fe0) = uVar9;" (assignment_expression "*(undefined4 *)(iVar12 + -0x3fe0) = uVar9" (pointer_expression "*(undefined4 *)(iVar12 + -0x3fe0)" * (cast_expression "(undefined4 *)(iVar12 + -0x3fe0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + -0x3fe0)" ( (binary_expression "iVar12 + -0x3fe0" identifier + number_literal) )))) = identifier) ;) (goto_statement "goto LAB_000fb8b4;" goto statement_identifier ;) })) })) (expression_statement "iVar6 = *(int *)(pcVar29 + 0x5af4c);" (assignment_expression "iVar6 = *(int *)(pcVar29 + 0x5af4c)" identifier = (pointer_expression "*(int *)(pcVar29 + 0x5af4c)" * (cast_expression "(int *)(pcVar29 + 0x5af4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x5af4c)" ( (binary_expression "pcVar29 + 0x5af4c" identifier + number_literal) ))))) ;) (if_statement "if ((!bVar3) && (iVar6 = *(int *)(pcVar29 + 0x5af4c), **(int **)(pcVar29 + 0x5bfe8) != 0)) {\n      iVar6 = *(int *)(pcVar29 + 0x5af4c);\n      if (**(int **)(pcVar29 + 0x5c13c) != 0) {\n        (**(code **)(pcVar29 + 0x5b594))(*(undefined4 *)(iVar6 + -0x3fd8));\n        iVar13 = *(int *)(pcVar29 + 0x5af4c);\n        iVar12 = (**(code **)(pcVar29 + 0x5ce24))(*(undefined4 *)(iVar13 + -0x3fe0));\n        uVar9 = (**(code **)(pcVar29 + 0x5af98))(iVar12 + 1);\n        uVar9 = (**(code **)(pcVar29 + 0x5ceac))(uVar9,*(undefined4 *)(iVar13 + -0x3fe0));\n        *(undefined4 *)(iVar6 + -0x3fd8) = uVar9;\n      }\n      goto LAB_000fb8b4;\n    }" if (parenthesized_expression "((!bVar3) && (iVar6 = *(int *)(pcVar29 + 0x5af4c), **(int **)(pcVar29 + 0x5bfe8) != 0))" ( (binary_expression "(!bVar3) && (iVar6 = *(int *)(pcVar29 + 0x5af4c), **(int **)(pcVar29 + 0x5bfe8) != 0)" (parenthesized_expression "(!bVar3)" ( (unary_expression "!bVar3" ! identifier) )) && (parenthesized_expression "(iVar6 = *(int *)(pcVar29 + 0x5af4c), **(int **)(pcVar29 + 0x5bfe8) != 0)" ( (comma_expression "iVar6 = *(int *)(pcVar29 + 0x5af4c), **(int **)(pcVar29 + 0x5bfe8) != 0" (assignment_expression "iVar6 = *(int *)(pcVar29 + 0x5af4c)" identifier = (pointer_expression "*(int *)(pcVar29 + 0x5af4c)" * (cast_expression "(int *)(pcVar29 + 0x5af4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x5af4c)" ( (binary_expression "pcVar29 + 0x5af4c" identifier + number_literal) ))))) , (binary_expression "**(int **)(pcVar29 + 0x5bfe8) != 0" (pointer_expression "**(int **)(pcVar29 + 0x5bfe8)" * (pointer_expression "*(int **)(pcVar29 + 0x5bfe8)" * (cast_expression "(int **)(pcVar29 + 0x5bfe8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5bfe8)" ( (binary_expression "pcVar29 + 0x5bfe8" identifier + number_literal) ))))) != number_literal)) ))) )) (compound_statement "{\n      iVar6 = *(int *)(pcVar29 + 0x5af4c);\n      if (**(int **)(pcVar29 + 0x5c13c) != 0) {\n        (**(code **)(pcVar29 + 0x5b594))(*(undefined4 *)(iVar6 + -0x3fd8));\n        iVar13 = *(int *)(pcVar29 + 0x5af4c);\n        iVar12 = (**(code **)(pcVar29 + 0x5ce24))(*(undefined4 *)(iVar13 + -0x3fe0));\n        uVar9 = (**(code **)(pcVar29 + 0x5af98))(iVar12 + 1);\n        uVar9 = (**(code **)(pcVar29 + 0x5ceac))(uVar9,*(undefined4 *)(iVar13 + -0x3fe0));\n        *(undefined4 *)(iVar6 + -0x3fd8) = uVar9;\n      }\n      goto LAB_000fb8b4;\n    }" { (expression_statement "iVar6 = *(int *)(pcVar29 + 0x5af4c);" (assignment_expression "iVar6 = *(int *)(pcVar29 + 0x5af4c)" identifier = (pointer_expression "*(int *)(pcVar29 + 0x5af4c)" * (cast_expression "(int *)(pcVar29 + 0x5af4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x5af4c)" ( (binary_expression "pcVar29 + 0x5af4c" identifier + number_literal) ))))) ;) (if_statement "if (**(int **)(pcVar29 + 0x5c13c) != 0) {\n        (**(code **)(pcVar29 + 0x5b594))(*(undefined4 *)(iVar6 + -0x3fd8));\n        iVar13 = *(int *)(pcVar29 + 0x5af4c);\n        iVar12 = (**(code **)(pcVar29 + 0x5ce24))(*(undefined4 *)(iVar13 + -0x3fe0));\n        uVar9 = (**(code **)(pcVar29 + 0x5af98))(iVar12 + 1);\n        uVar9 = (**(code **)(pcVar29 + 0x5ceac))(uVar9,*(undefined4 *)(iVar13 + -0x3fe0));\n        *(undefined4 *)(iVar6 + -0x3fd8) = uVar9;\n      }" if (parenthesized_expression "(**(int **)(pcVar29 + 0x5c13c) != 0)" ( (binary_expression "**(int **)(pcVar29 + 0x5c13c) != 0" (pointer_expression "**(int **)(pcVar29 + 0x5c13c)" * (pointer_expression "*(int **)(pcVar29 + 0x5c13c)" * (cast_expression "(int **)(pcVar29 + 0x5c13c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5c13c)" ( (binary_expression "pcVar29 + 0x5c13c" identifier + number_literal) ))))) != number_literal) )) (compound_statement "{\n        (**(code **)(pcVar29 + 0x5b594))(*(undefined4 *)(iVar6 + -0x3fd8));\n        iVar13 = *(int *)(pcVar29 + 0x5af4c);\n        iVar12 = (**(code **)(pcVar29 + 0x5ce24))(*(undefined4 *)(iVar13 + -0x3fe0));\n        uVar9 = (**(code **)(pcVar29 + 0x5af98))(iVar12 + 1);\n        uVar9 = (**(code **)(pcVar29 + 0x5ceac))(uVar9,*(undefined4 *)(iVar13 + -0x3fe0));\n        *(undefined4 *)(iVar6 + -0x3fd8) = uVar9;\n      }" { (expression_statement "(**(code **)(pcVar29 + 0x5b594))(*(undefined4 *)(iVar6 + -0x3fd8));" (call_expression "(**(code **)(pcVar29 + 0x5b594))(*(undefined4 *)(iVar6 + -0x3fd8))" (parenthesized_expression "(**(code **)(pcVar29 + 0x5b594))" ( (pointer_expression "**(code **)(pcVar29 + 0x5b594)" * (pointer_expression "*(code **)(pcVar29 + 0x5b594)" * (cast_expression "(code **)(pcVar29 + 0x5b594)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5b594)" ( (binary_expression "pcVar29 + 0x5b594" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar6 + -0x3fd8))" ( (pointer_expression "*(undefined4 *)(iVar6 + -0x3fd8)" * (cast_expression "(undefined4 *)(iVar6 + -0x3fd8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + -0x3fd8)" ( (binary_expression "iVar6 + -0x3fd8" identifier + number_literal) )))) ))) ;) (expression_statement "iVar13 = *(int *)(pcVar29 + 0x5af4c);" (assignment_expression "iVar13 = *(int *)(pcVar29 + 0x5af4c)" identifier = (pointer_expression "*(int *)(pcVar29 + 0x5af4c)" * (cast_expression "(int *)(pcVar29 + 0x5af4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x5af4c)" ( (binary_expression "pcVar29 + 0x5af4c" identifier + number_literal) ))))) ;) (expression_statement "iVar12 = (**(code **)(pcVar29 + 0x5ce24))(*(undefined4 *)(iVar13 + -0x3fe0));" (assignment_expression "iVar12 = (**(code **)(pcVar29 + 0x5ce24))(*(undefined4 *)(iVar13 + -0x3fe0))" identifier = (call_expression "(**(code **)(pcVar29 + 0x5ce24))(*(undefined4 *)(iVar13 + -0x3fe0))" (parenthesized_expression "(**(code **)(pcVar29 + 0x5ce24))" ( (pointer_expression "**(code **)(pcVar29 + 0x5ce24)" * (pointer_expression "*(code **)(pcVar29 + 0x5ce24)" * (cast_expression "(code **)(pcVar29 + 0x5ce24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5ce24)" ( (binary_expression "pcVar29 + 0x5ce24" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar13 + -0x3fe0))" ( (pointer_expression "*(undefined4 *)(iVar13 + -0x3fe0)" * (cast_expression "(undefined4 *)(iVar13 + -0x3fe0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + -0x3fe0)" ( (binary_expression "iVar13 + -0x3fe0" identifier + number_literal) )))) )))) ;) (expression_statement "uVar9 = (**(code **)(pcVar29 + 0x5af98))(iVar12 + 1);" (assignment_expression "uVar9 = (**(code **)(pcVar29 + 0x5af98))(iVar12 + 1)" identifier = (call_expression "(**(code **)(pcVar29 + 0x5af98))(iVar12 + 1)" (parenthesized_expression "(**(code **)(pcVar29 + 0x5af98))" ( (pointer_expression "**(code **)(pcVar29 + 0x5af98)" * (pointer_expression "*(code **)(pcVar29 + 0x5af98)" * (cast_expression "(code **)(pcVar29 + 0x5af98)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5af98)" ( (binary_expression "pcVar29 + 0x5af98" identifier + number_literal) ))))) )) (argument_list "(iVar12 + 1)" ( (binary_expression "iVar12 + 1" identifier + number_literal) )))) ;) (expression_statement "uVar9 = (**(code **)(pcVar29 + 0x5ceac))(uVar9,*(undefined4 *)(iVar13 + -0x3fe0));" (assignment_expression "uVar9 = (**(code **)(pcVar29 + 0x5ceac))(uVar9,*(undefined4 *)(iVar13 + -0x3fe0))" identifier = (call_expression "(**(code **)(pcVar29 + 0x5ceac))(uVar9,*(undefined4 *)(iVar13 + -0x3fe0))" (parenthesized_expression "(**(code **)(pcVar29 + 0x5ceac))" ( (pointer_expression "**(code **)(pcVar29 + 0x5ceac)" * (pointer_expression "*(code **)(pcVar29 + 0x5ceac)" * (cast_expression "(code **)(pcVar29 + 0x5ceac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5ceac)" ( (binary_expression "pcVar29 + 0x5ceac" identifier + number_literal) ))))) )) (argument_list "(uVar9,*(undefined4 *)(iVar13 + -0x3fe0))" ( identifier , (pointer_expression "*(undefined4 *)(iVar13 + -0x3fe0)" * (cast_expression "(undefined4 *)(iVar13 + -0x3fe0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + -0x3fe0)" ( (binary_expression "iVar13 + -0x3fe0" identifier + number_literal) )))) )))) ;) (expression_statement "*(undefined4 *)(iVar6 + -0x3fd8) = uVar9;" (assignment_expression "*(undefined4 *)(iVar6 + -0x3fd8) = uVar9" (pointer_expression "*(undefined4 *)(iVar6 + -0x3fd8)" * (cast_expression "(undefined4 *)(iVar6 + -0x3fd8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + -0x3fd8)" ( (binary_expression "iVar6 + -0x3fd8" identifier + number_literal) )))) = identifier) ;) })) (goto_statement "goto LAB_000fb8b4;" goto statement_identifier ;) })) }) (else_clause "else {\n    (*(code *)**(undefined4 **)(pcVar29 + 0x5bfe0))(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8);\nLAB_000fb8b4:\n    iVar6 = *(int *)(pcVar29 + 0x5af4c);\n  }" else (compound_statement "{\n    (*(code *)**(undefined4 **)(pcVar29 + 0x5bfe0))(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8);\nLAB_000fb8b4:\n    iVar6 = *(int *)(pcVar29 + 0x5af4c);\n  }" { (expression_statement "(*(code *)**(undefined4 **)(pcVar29 + 0x5bfe0))(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8);" (call_expression "(*(code *)**(undefined4 **)(pcVar29 + 0x5bfe0))(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8)" (parenthesized_expression "(*(code *)**(undefined4 **)(pcVar29 + 0x5bfe0))" ( (pointer_expression "*(code *)**(undefined4 **)(pcVar29 + 0x5bfe0)" * (cast_expression "(code *)**(undefined4 **)(pcVar29 + 0x5bfe0)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcVar29 + 0x5bfe0)" * (pointer_expression "*(undefined4 **)(pcVar29 + 0x5bfe0)" * (cast_expression "(undefined4 **)(pcVar29 + 0x5bfe0)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5bfe0)" ( (binary_expression "pcVar29 + 0x5bfe0" identifier + number_literal) ))))))) )) (argument_list "(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8)" ( (binary_expression "*(int *)(pcVar29 + 0x5af4c) + -0x3fd8" (pointer_expression "*(int *)(pcVar29 + 0x5af4c)" * (cast_expression "(int *)(pcVar29 + 0x5af4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x5af4c)" ( (binary_expression "pcVar29 + 0x5af4c" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_000fb8b4:\n    iVar6 = *(int *)(pcVar29 + 0x5af4c);" statement_identifier : (expression_statement "iVar6 = *(int *)(pcVar29 + 0x5af4c);" (assignment_expression "iVar6 = *(int *)(pcVar29 + 0x5af4c)" identifier = (pointer_expression "*(int *)(pcVar29 + 0x5af4c)" * (cast_expression "(int *)(pcVar29 + 0x5af4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x5af4c)" ( (binary_expression "pcVar29 + 0x5af4c" identifier + number_literal) ))))) ;)) }))) (expression_statement "uVar9 = (**(code **)(pcVar29 + 0x5cc98))(*(undefined4 *)(iVar6 + -0x3fd8));" (assignment_expression "uVar9 = (**(code **)(pcVar29 + 0x5cc98))(*(undefined4 *)(iVar6 + -0x3fd8))" identifier = (call_expression "(**(code **)(pcVar29 + 0x5cc98))(*(undefined4 *)(iVar6 + -0x3fd8))" (parenthesized_expression "(**(code **)(pcVar29 + 0x5cc98))" ( (pointer_expression "**(code **)(pcVar29 + 0x5cc98)" * (pointer_expression "*(code **)(pcVar29 + 0x5cc98)" * (cast_expression "(code **)(pcVar29 + 0x5cc98)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5cc98)" ( (binary_expression "pcVar29 + 0x5cc98" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar6 + -0x3fd8))" ( (pointer_expression "*(undefined4 *)(iVar6 + -0x3fd8)" * (cast_expression "(undefined4 *)(iVar6 + -0x3fd8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + -0x3fd8)" ( (binary_expression "iVar6 + -0x3fd8" identifier + number_literal) )))) )))) ;) (expression_statement "*(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd4) = uVar9;" (assignment_expression "*(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd4) = uVar9" (pointer_expression "*(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd4)" * (cast_expression "(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar29 + 0x5af4c) + -0x3fd4)" ( (binary_expression "*(int *)(pcVar29 + 0x5af4c) + -0x3fd4" (pointer_expression "*(int *)(pcVar29 + 0x5af4c)" * (cast_expression "(int *)(pcVar29 + 0x5af4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x5af4c)" ( (binary_expression "pcVar29 + 0x5af4c" identifier + number_literal) )))) + number_literal) )))) = identifier) ;) (expression_statement "iVar6 = *(int *)(pcVar29 + 0x5af4c);" (assignment_expression "iVar6 = *(int *)(pcVar29 + 0x5af4c)" identifier = (pointer_expression "*(int *)(pcVar29 + 0x5af4c)" * (cast_expression "(int *)(pcVar29 + 0x5af4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x5af4c)" ( (binary_expression "pcVar29 + 0x5af4c" identifier + number_literal) ))))) ;) (if_statement "if ((**(char **)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc) != '\0') &&\n     (iVar6 = *(int *)(pcVar29 + 0x5af4c), **(int **)(pcVar29 + 0x5bfe8) != 0)) {\n    if ((code *)**(undefined4 **)(pcVar29 + 0x5c13c) != (code *)0x0) {\n      uVar9 = (*(code *)**(undefined4 **)(pcVar29 + 0x5c13c))\n                        (*(char **)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc),\n                         **(undefined4 **)(pcVar29 + 0x5bfec));\n      iVar6 = *(int *)(pcVar29 + 0x5af4c);\n      (**(code **)(pcVar29 + 0x5b594))(*(undefined4 *)(iVar6 + -0x3fdc));\n      *(undefined4 *)(iVar6 + -0x3fdc) = uVar9;\n    }\n    iVar6 = *(int *)(pcVar29 + 0x5af4c);\n  }" if (parenthesized_expression "((**(char **)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc) != '\0') &&\n     (iVar6 = *(int *)(pcVar29 + 0x5af4c), **(int **)(pcVar29 + 0x5bfe8) != 0))" ( (binary_expression "(**(char **)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc) != '\0') &&\n     (iVar6 = *(int *)(pcVar29 + 0x5af4c), **(int **)(pcVar29 + 0x5bfe8) != 0)" (parenthesized_expression "(**(char **)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc) != '\0')" ( (binary_expression "**(char **)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc) != '\0'" (pointer_expression "**(char **)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc)" * (pointer_expression "*(char **)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc)" * (cast_expression "(char **)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc)" ( (binary_expression "*(int *)(pcVar29 + 0x5af4c) + -0x3fdc" (pointer_expression "*(int *)(pcVar29 + 0x5af4c)" * (cast_expression "(int *)(pcVar29 + 0x5af4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x5af4c)" ( (binary_expression "pcVar29 + 0x5af4c" identifier + number_literal) )))) + number_literal) ))))) != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(iVar6 = *(int *)(pcVar29 + 0x5af4c), **(int **)(pcVar29 + 0x5bfe8) != 0)" ( (comma_expression "iVar6 = *(int *)(pcVar29 + 0x5af4c), **(int **)(pcVar29 + 0x5bfe8) != 0" (assignment_expression "iVar6 = *(int *)(pcVar29 + 0x5af4c)" identifier = (pointer_expression "*(int *)(pcVar29 + 0x5af4c)" * (cast_expression "(int *)(pcVar29 + 0x5af4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x5af4c)" ( (binary_expression "pcVar29 + 0x5af4c" identifier + number_literal) ))))) , (binary_expression "**(int **)(pcVar29 + 0x5bfe8) != 0" (pointer_expression "**(int **)(pcVar29 + 0x5bfe8)" * (pointer_expression "*(int **)(pcVar29 + 0x5bfe8)" * (cast_expression "(int **)(pcVar29 + 0x5bfe8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5bfe8)" ( (binary_expression "pcVar29 + 0x5bfe8" identifier + number_literal) ))))) != number_literal)) ))) )) (compound_statement "{\n    if ((code *)**(undefined4 **)(pcVar29 + 0x5c13c) != (code *)0x0) {\n      uVar9 = (*(code *)**(undefined4 **)(pcVar29 + 0x5c13c))\n                        (*(char **)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc),\n                         **(undefined4 **)(pcVar29 + 0x5bfec));\n      iVar6 = *(int *)(pcVar29 + 0x5af4c);\n      (**(code **)(pcVar29 + 0x5b594))(*(undefined4 *)(iVar6 + -0x3fdc));\n      *(undefined4 *)(iVar6 + -0x3fdc) = uVar9;\n    }\n    iVar6 = *(int *)(pcVar29 + 0x5af4c);\n  }" { (if_statement "if ((code *)**(undefined4 **)(pcVar29 + 0x5c13c) != (code *)0x0) {\n      uVar9 = (*(code *)**(undefined4 **)(pcVar29 + 0x5c13c))\n                        (*(char **)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc),\n                         **(undefined4 **)(pcVar29 + 0x5bfec));\n      iVar6 = *(int *)(pcVar29 + 0x5af4c);\n      (**(code **)(pcVar29 + 0x5b594))(*(undefined4 *)(iVar6 + -0x3fdc));\n      *(undefined4 *)(iVar6 + -0x3fdc) = uVar9;\n    }" if (parenthesized_expression "((code *)**(undefined4 **)(pcVar29 + 0x5c13c) != (code *)0x0)" ( (binary_expression "(code *)**(undefined4 **)(pcVar29 + 0x5c13c) != (code *)0x0" (cast_expression "(code *)**(undefined4 **)(pcVar29 + 0x5c13c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcVar29 + 0x5c13c)" * (pointer_expression "*(undefined4 **)(pcVar29 + 0x5c13c)" * (cast_expression "(undefined4 **)(pcVar29 + 0x5c13c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5c13c)" ( (binary_expression "pcVar29 + 0x5c13c" identifier + number_literal) )))))) != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      uVar9 = (*(code *)**(undefined4 **)(pcVar29 + 0x5c13c))\n                        (*(char **)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc),\n                         **(undefined4 **)(pcVar29 + 0x5bfec));\n      iVar6 = *(int *)(pcVar29 + 0x5af4c);\n      (**(code **)(pcVar29 + 0x5b594))(*(undefined4 *)(iVar6 + -0x3fdc));\n      *(undefined4 *)(iVar6 + -0x3fdc) = uVar9;\n    }" { (expression_statement "uVar9 = (*(code *)**(undefined4 **)(pcVar29 + 0x5c13c))\n                        (*(char **)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc),\n                         **(undefined4 **)(pcVar29 + 0x5bfec));" (assignment_expression "uVar9 = (*(code *)**(undefined4 **)(pcVar29 + 0x5c13c))\n                        (*(char **)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc),\n                         **(undefined4 **)(pcVar29 + 0x5bfec))" identifier = (call_expression "(*(code *)**(undefined4 **)(pcVar29 + 0x5c13c))\n                        (*(char **)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc),\n                         **(undefined4 **)(pcVar29 + 0x5bfec))" (parenthesized_expression "(*(code *)**(undefined4 **)(pcVar29 + 0x5c13c))" ( (pointer_expression "*(code *)**(undefined4 **)(pcVar29 + 0x5c13c)" * (cast_expression "(code *)**(undefined4 **)(pcVar29 + 0x5c13c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcVar29 + 0x5c13c)" * (pointer_expression "*(undefined4 **)(pcVar29 + 0x5c13c)" * (cast_expression "(undefined4 **)(pcVar29 + 0x5c13c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5c13c)" ( (binary_expression "pcVar29 + 0x5c13c" identifier + number_literal) ))))))) )) (argument_list "(*(char **)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc),\n                         **(undefined4 **)(pcVar29 + 0x5bfec))" ( (pointer_expression "*(char **)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc)" * (cast_expression "(char **)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc)" ( (binary_expression "*(int *)(pcVar29 + 0x5af4c) + -0x3fdc" (pointer_expression "*(int *)(pcVar29 + 0x5af4c)" * (cast_expression "(int *)(pcVar29 + 0x5af4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x5af4c)" ( (binary_expression "pcVar29 + 0x5af4c" identifier + number_literal) )))) + number_literal) )))) , (pointer_expression "**(undefined4 **)(pcVar29 + 0x5bfec)" * (pointer_expression "*(undefined4 **)(pcVar29 + 0x5bfec)" * (cast_expression "(undefined4 **)(pcVar29 + 0x5bfec)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5bfec)" ( (binary_expression "pcVar29 + 0x5bfec" identifier + number_literal) ))))) )))) ;) (expression_statement "iVar6 = *(int *)(pcVar29 + 0x5af4c);" (assignment_expression "iVar6 = *(int *)(pcVar29 + 0x5af4c)" identifier = (pointer_expression "*(int *)(pcVar29 + 0x5af4c)" * (cast_expression "(int *)(pcVar29 + 0x5af4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x5af4c)" ( (binary_expression "pcVar29 + 0x5af4c" identifier + number_literal) ))))) ;) (expression_statement "(**(code **)(pcVar29 + 0x5b594))(*(undefined4 *)(iVar6 + -0x3fdc));" (call_expression "(**(code **)(pcVar29 + 0x5b594))(*(undefined4 *)(iVar6 + -0x3fdc))" (parenthesized_expression "(**(code **)(pcVar29 + 0x5b594))" ( (pointer_expression "**(code **)(pcVar29 + 0x5b594)" * (pointer_expression "*(code **)(pcVar29 + 0x5b594)" * (cast_expression "(code **)(pcVar29 + 0x5b594)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5b594)" ( (binary_expression "pcVar29 + 0x5b594" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar6 + -0x3fdc))" ( (pointer_expression "*(undefined4 *)(iVar6 + -0x3fdc)" * (cast_expression "(undefined4 *)(iVar6 + -0x3fdc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + -0x3fdc)" ( (binary_expression "iVar6 + -0x3fdc" identifier + number_literal) )))) ))) ;) (expression_statement "*(undefined4 *)(iVar6 + -0x3fdc) = uVar9;" (assignment_expression "*(undefined4 *)(iVar6 + -0x3fdc) = uVar9" (pointer_expression "*(undefined4 *)(iVar6 + -0x3fdc)" * (cast_expression "(undefined4 *)(iVar6 + -0x3fdc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + -0x3fdc)" ( (binary_expression "iVar6 + -0x3fdc" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "iVar6 = *(int *)(pcVar29 + 0x5af4c);" (assignment_expression "iVar6 = *(int *)(pcVar29 + 0x5af4c)" identifier = (pointer_expression "*(int *)(pcVar29 + 0x5af4c)" * (cast_expression "(int *)(pcVar29 + 0x5af4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x5af4c)" ( (binary_expression "pcVar29 + 0x5af4c" identifier + number_literal) ))))) ;) })) (expression_statement "uVar9 = (**(code **)(pcVar29 + 0x5ce24))(*(undefined4 *)(iVar6 + -0x3fdc));" (assignment_expression "uVar9 = (**(code **)(pcVar29 + 0x5ce24))(*(undefined4 *)(iVar6 + -0x3fdc))" identifier = (call_expression "(**(code **)(pcVar29 + 0x5ce24))(*(undefined4 *)(iVar6 + -0x3fdc))" (parenthesized_expression "(**(code **)(pcVar29 + 0x5ce24))" ( (pointer_expression "**(code **)(pcVar29 + 0x5ce24)" * (pointer_expression "*(code **)(pcVar29 + 0x5ce24)" * (cast_expression "(code **)(pcVar29 + 0x5ce24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5ce24)" ( (binary_expression "pcVar29 + 0x5ce24" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar6 + -0x3fdc))" ( (pointer_expression "*(undefined4 *)(iVar6 + -0x3fdc)" * (cast_expression "(undefined4 *)(iVar6 + -0x3fdc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + -0x3fdc)" ( (binary_expression "iVar6 + -0x3fdc" identifier + number_literal) )))) )))) ;) (expression_statement "*(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe4) = uVar9;" (assignment_expression "*(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe4) = uVar9" (pointer_expression "*(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe4)" * (cast_expression "(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar29 + 0x5af4c) + -0x3fe4)" ( (binary_expression "*(int *)(pcVar29 + 0x5af4c) + -0x3fe4" (pointer_expression "*(int *)(pcVar29 + 0x5af4c)" * (cast_expression "(int *)(pcVar29 + 0x5af4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x5af4c)" ( (binary_expression "pcVar29 + 0x5af4c" identifier + number_literal) )))) + number_literal) )))) = identifier) ;) (expression_statement "**(undefined4 **)(pcVar29 + 0x5c014) = 1;" (assignment_expression "**(undefined4 **)(pcVar29 + 0x5c014) = 1" (pointer_expression "**(undefined4 **)(pcVar29 + 0x5c014)" * (pointer_expression "*(undefined4 **)(pcVar29 + 0x5c014)" * (cast_expression "(undefined4 **)(pcVar29 + 0x5c014)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5c014)" ( (binary_expression "pcVar29 + 0x5c014" identifier + number_literal) ))))) = number_literal) ;) (labeled_statement "LAB_000fb968:\n  iVar14 = 0;" statement_identifier : (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" identifier = number_literal) ;)) (expression_statement "iVar6 = *(int *)(pcVar29 + 0x5af4c);" (assignment_expression "iVar6 = *(int *)(pcVar29 + 0x5af4c)" identifier = (pointer_expression "*(int *)(pcVar29 + 0x5af4c)" * (cast_expression "(int *)(pcVar29 + 0x5af4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x5af4c)" ( (binary_expression "pcVar29 + 0x5af4c" identifier + number_literal) ))))) ;) (expression_statement "puVar11 = *(undefined4 **)(pcVar29 + 0x5c130);" (assignment_expression "puVar11 = *(undefined4 **)(pcVar29 + 0x5c130)" identifier = (pointer_expression "*(undefined4 **)(pcVar29 + 0x5c130)" * (cast_expression "(undefined4 **)(pcVar29 + 0x5c130)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5c130)" ( (binary_expression "pcVar29 + 0x5c130" identifier + number_literal) ))))) ;) (expression_statement "iVar12 = *(int *)(pcVar29 + 0x5af4c);" (assignment_expression "iVar12 = *(int *)(pcVar29 + 0x5af4c)" identifier = (pointer_expression "*(int *)(pcVar29 + 0x5af4c)" * (cast_expression "(int *)(pcVar29 + 0x5af4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x5af4c)" ( (binary_expression "pcVar29 + 0x5af4c" identifier + number_literal) ))))) ;) (expression_statement "iVar13 = *(int *)(pcVar29 + 0x5af4c);" (assignment_expression "iVar13 = *(int *)(pcVar29 + 0x5af4c)" identifier = (pointer_expression "*(int *)(pcVar29 + 0x5af4c)" * (cast_expression "(int *)(pcVar29 + 0x5af4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x5af4c)" ( (binary_expression "pcVar29 + 0x5af4c" identifier + number_literal) ))))) ;) (expression_statement "piVar4 = *(int **)(pcVar29 + 0x5c964);" (assignment_expression "piVar4 = *(int **)(pcVar29 + 0x5c964)" identifier = (pointer_expression "*(int **)(pcVar29 + 0x5c964)" * (cast_expression "(int **)(pcVar29 + 0x5c964)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5c964)" ( (binary_expression "pcVar29 + 0x5c964" identifier + number_literal) ))))) ;) (labeled_statement "LAB_000fbb0c:\n  iVar19 = *(int *)(iVar6 + -0x3fd4);" statement_identifier : (expression_statement "iVar19 = *(int *)(iVar6 + -0x3fd4);" (assignment_expression "iVar19 = *(int *)(iVar6 + -0x3fd4)" identifier = (pointer_expression "*(int *)(iVar6 + -0x3fd4)" * (cast_expression "(int *)(iVar6 + -0x3fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + -0x3fd4)" ( (binary_expression "iVar6 + -0x3fd4" identifier + number_literal) ))))) ;)) (labeled_statement "LAB_000fbb10:\n  if (iVar19 == 0) {\n    if (iVar14 != 0) goto LAB_000fbbb0;\n    iVar6 = *(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8);\nLAB_000fc3a0:\n    if (iVar6 != 0) {\n      (**(code **)(pcVar29 + 0x5b594))();\n      *(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8) = 0;\n    }\n    if (*(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc) != 0) {\n      (**(code **)(pcVar29 + 0x5b594))();\n      *(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc) = 0;\n    }\n    iVar6 = *(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0);\n    if (iVar6 != 0) {\n      (**(code **)(pcVar29 + 0x5b594))(iVar6);\n      *(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0) = 0;\n      iVar6 = 0;\n    }\n    goto LAB_000fbca4;\n  }" statement_identifier : (if_statement "if (iVar19 == 0) {\n    if (iVar14 != 0) goto LAB_000fbbb0;\n    iVar6 = *(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8);\nLAB_000fc3a0:\n    if (iVar6 != 0) {\n      (**(code **)(pcVar29 + 0x5b594))();\n      *(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8) = 0;\n    }\n    if (*(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc) != 0) {\n      (**(code **)(pcVar29 + 0x5b594))();\n      *(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc) = 0;\n    }\n    iVar6 = *(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0);\n    if (iVar6 != 0) {\n      (**(code **)(pcVar29 + 0x5b594))(iVar6);\n      *(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0) = 0;\n      iVar6 = 0;\n    }\n    goto LAB_000fbca4;\n  }" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (compound_statement "{\n    if (iVar14 != 0) goto LAB_000fbbb0;\n    iVar6 = *(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8);\nLAB_000fc3a0:\n    if (iVar6 != 0) {\n      (**(code **)(pcVar29 + 0x5b594))();\n      *(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8) = 0;\n    }\n    if (*(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc) != 0) {\n      (**(code **)(pcVar29 + 0x5b594))();\n      *(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc) = 0;\n    }\n    iVar6 = *(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0);\n    if (iVar6 != 0) {\n      (**(code **)(pcVar29 + 0x5b594))(iVar6);\n      *(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0) = 0;\n      iVar6 = 0;\n    }\n    goto LAB_000fbca4;\n  }" { (if_statement "if (iVar14 != 0) goto LAB_000fbbb0;" if (parenthesized_expression "(iVar14 != 0)" ( (binary_expression "iVar14 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000fbbb0;" goto statement_identifier ;)) (expression_statement "iVar6 = *(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8);" (assignment_expression "iVar6 = *(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8)" identifier = (pointer_expression "*(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8)" * (cast_expression "(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8)" ( (binary_expression "*(int *)(pcVar29 + 0x5af4c) + -0x3fd8" (pointer_expression "*(int *)(pcVar29 + 0x5af4c)" * (cast_expression "(int *)(pcVar29 + 0x5af4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x5af4c)" ( (binary_expression "pcVar29 + 0x5af4c" identifier + number_literal) )))) + number_literal) ))))) ;) (labeled_statement "LAB_000fc3a0:\n    if (iVar6 != 0) {\n      (**(code **)(pcVar29 + 0x5b594))();\n      *(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8) = 0;\n    }" statement_identifier : (if_statement "if (iVar6 != 0) {\n      (**(code **)(pcVar29 + 0x5b594))();\n      *(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8) = 0;\n    }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n      (**(code **)(pcVar29 + 0x5b594))();\n      *(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8) = 0;\n    }" { (expression_statement "(**(code **)(pcVar29 + 0x5b594))();" (call_expression "(**(code **)(pcVar29 + 0x5b594))()" (parenthesized_expression "(**(code **)(pcVar29 + 0x5b594))" ( (pointer_expression "**(code **)(pcVar29 + 0x5b594)" * (pointer_expression "*(code **)(pcVar29 + 0x5b594)" * (cast_expression "(code **)(pcVar29 + 0x5b594)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5b594)" ( (binary_expression "pcVar29 + 0x5b594" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8) = 0;" (assignment_expression "*(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8) = 0" (pointer_expression "*(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8)" * (cast_expression "(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8)" ( (binary_expression "*(int *)(pcVar29 + 0x5af4c) + -0x3fd8" (pointer_expression "*(int *)(pcVar29 + 0x5af4c)" * (cast_expression "(int *)(pcVar29 + 0x5af4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x5af4c)" ( (binary_expression "pcVar29 + 0x5af4c" identifier + number_literal) )))) + number_literal) )))) = number_literal) ;) }))) (if_statement "if (*(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc) != 0) {\n      (**(code **)(pcVar29 + 0x5b594))();\n      *(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc) = 0;\n    }" if (parenthesized_expression "(*(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc) != 0)" ( (binary_expression "*(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc) != 0" (pointer_expression "*(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc)" * (cast_expression "(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc)" ( (binary_expression "*(int *)(pcVar29 + 0x5af4c) + -0x3fdc" (pointer_expression "*(int *)(pcVar29 + 0x5af4c)" * (cast_expression "(int *)(pcVar29 + 0x5af4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x5af4c)" ( (binary_expression "pcVar29 + 0x5af4c" identifier + number_literal) )))) + number_literal) )))) != number_literal) )) (compound_statement "{\n      (**(code **)(pcVar29 + 0x5b594))();\n      *(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc) = 0;\n    }" { (expression_statement "(**(code **)(pcVar29 + 0x5b594))();" (call_expression "(**(code **)(pcVar29 + 0x5b594))()" (parenthesized_expression "(**(code **)(pcVar29 + 0x5b594))" ( (pointer_expression "**(code **)(pcVar29 + 0x5b594)" * (pointer_expression "*(code **)(pcVar29 + 0x5b594)" * (cast_expression "(code **)(pcVar29 + 0x5b594)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5b594)" ( (binary_expression "pcVar29 + 0x5b594" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc) = 0;" (assignment_expression "*(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc) = 0" (pointer_expression "*(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc)" * (cast_expression "(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar29 + 0x5af4c) + -0x3fdc)" ( (binary_expression "*(int *)(pcVar29 + 0x5af4c) + -0x3fdc" (pointer_expression "*(int *)(pcVar29 + 0x5af4c)" * (cast_expression "(int *)(pcVar29 + 0x5af4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x5af4c)" ( (binary_expression "pcVar29 + 0x5af4c" identifier + number_literal) )))) + number_literal) )))) = number_literal) ;) })) (expression_statement "iVar6 = *(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0);" (assignment_expression "iVar6 = *(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0)" identifier = (pointer_expression "*(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0)" * (cast_expression "(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0)" ( (binary_expression "*(int *)(pcVar29 + 0x5af4c) + -0x3fe0" (pointer_expression "*(int *)(pcVar29 + 0x5af4c)" * (cast_expression "(int *)(pcVar29 + 0x5af4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x5af4c)" ( (binary_expression "pcVar29 + 0x5af4c" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (iVar6 != 0) {\n      (**(code **)(pcVar29 + 0x5b594))(iVar6);\n      *(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0) = 0;\n      iVar6 = 0;\n    }" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (compound_statement "{\n      (**(code **)(pcVar29 + 0x5b594))(iVar6);\n      *(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0) = 0;\n      iVar6 = 0;\n    }" { (expression_statement "(**(code **)(pcVar29 + 0x5b594))(iVar6);" (call_expression "(**(code **)(pcVar29 + 0x5b594))(iVar6)" (parenthesized_expression "(**(code **)(pcVar29 + 0x5b594))" ( (pointer_expression "**(code **)(pcVar29 + 0x5b594)" * (pointer_expression "*(code **)(pcVar29 + 0x5b594)" * (cast_expression "(code **)(pcVar29 + 0x5b594)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5b594)" ( (binary_expression "pcVar29 + 0x5b594" identifier + number_literal) ))))) )) (argument_list "(iVar6)" ( identifier ))) ;) (expression_statement "*(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0) = 0;" (assignment_expression "*(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0) = 0" (pointer_expression "*(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0)" * (cast_expression "(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0)" ( (binary_expression "*(int *)(pcVar29 + 0x5af4c) + -0x3fe0" (pointer_expression "*(int *)(pcVar29 + 0x5af4c)" * (cast_expression "(int *)(pcVar29 + 0x5af4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x5af4c)" ( (binary_expression "pcVar29 + 0x5af4c" identifier + number_literal) )))) + number_literal) )))) = number_literal) ;) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) })) (goto_statement "goto LAB_000fbca4;" goto statement_identifier ;) }))) (expression_statement "iVar14 = (**(code **)(pcVar29 + 0x5cd0c))();" (assignment_expression "iVar14 = (**(code **)(pcVar29 + 0x5cd0c))()" identifier = (call_expression "(**(code **)(pcVar29 + 0x5cd0c))()" (parenthesized_expression "(**(code **)(pcVar29 + 0x5cd0c))" ( (pointer_expression "**(code **)(pcVar29 + 0x5cd0c)" * (pointer_expression "*(code **)(pcVar29 + 0x5cd0c)" * (cast_expression "(code **)(pcVar29 + 0x5cd0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5cd0c)" ( (binary_expression "pcVar29 + 0x5cd0c" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar14 == 0) {\n    if (*(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd4) != 0) {\n      (**(code **)(pcVar29 + 0x5cc9c))();\n      *(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd4) = 0;\n    }\n    iVar6 = *(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8);\n    goto LAB_000fc3a0;\n  }" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (compound_statement "{\n    if (*(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd4) != 0) {\n      (**(code **)(pcVar29 + 0x5cc9c))();\n      *(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd4) = 0;\n    }\n    iVar6 = *(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8);\n    goto LAB_000fc3a0;\n  }" { (if_statement "if (*(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd4) != 0) {\n      (**(code **)(pcVar29 + 0x5cc9c))();\n      *(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd4) = 0;\n    }" if (parenthesized_expression "(*(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd4) != 0)" ( (binary_expression "*(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd4) != 0" (pointer_expression "*(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd4)" * (cast_expression "(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar29 + 0x5af4c) + -0x3fd4)" ( (binary_expression "*(int *)(pcVar29 + 0x5af4c) + -0x3fd4" (pointer_expression "*(int *)(pcVar29 + 0x5af4c)" * (cast_expression "(int *)(pcVar29 + 0x5af4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x5af4c)" ( (binary_expression "pcVar29 + 0x5af4c" identifier + number_literal) )))) + number_literal) )))) != number_literal) )) (compound_statement "{\n      (**(code **)(pcVar29 + 0x5cc9c))();\n      *(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd4) = 0;\n    }" { (expression_statement "(**(code **)(pcVar29 + 0x5cc9c))();" (call_expression "(**(code **)(pcVar29 + 0x5cc9c))()" (parenthesized_expression "(**(code **)(pcVar29 + 0x5cc9c))" ( (pointer_expression "**(code **)(pcVar29 + 0x5cc9c)" * (pointer_expression "*(code **)(pcVar29 + 0x5cc9c)" * (cast_expression "(code **)(pcVar29 + 0x5cc9c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5cc9c)" ( (binary_expression "pcVar29 + 0x5cc9c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd4) = 0;" (assignment_expression "*(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd4) = 0" (pointer_expression "*(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd4)" * (cast_expression "(undefined4 *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar29 + 0x5af4c) + -0x3fd4)" ( (binary_expression "*(int *)(pcVar29 + 0x5af4c) + -0x3fd4" (pointer_expression "*(int *)(pcVar29 + 0x5af4c)" * (cast_expression "(int *)(pcVar29 + 0x5af4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x5af4c)" ( (binary_expression "pcVar29 + 0x5af4c" identifier + number_literal) )))) + number_literal) )))) = number_literal) ;) })) (expression_statement "iVar6 = *(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8);" (assignment_expression "iVar6 = *(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8)" identifier = (pointer_expression "*(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8)" * (cast_expression "(int *)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8)" ( (binary_expression "*(int *)(pcVar29 + 0x5af4c) + -0x3fd8" (pointer_expression "*(int *)(pcVar29 + 0x5af4c)" * (cast_expression "(int *)(pcVar29 + 0x5af4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x5af4c)" ( (binary_expression "pcVar29 + 0x5af4c" identifier + number_literal) )))) + number_literal) ))))) ;) (goto_statement "goto LAB_000fc3a0;" goto statement_identifier ;) })) (expression_statement "psVar24 = (stat *)(iVar14 + 0x13);" (assignment_expression "psVar24 = (stat *)(iVar14 + 0x13)" identifier = (cast_expression "(stat *)(iVar14 + 0x13)" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + 0x13)" ( (binary_expression "iVar14 + 0x13" identifier + number_literal) )))) ;) (expression_statement "iVar19 = (**(code **)(pcVar29 + 0x5ce24))(psVar24);" (assignment_expression "iVar19 = (**(code **)(pcVar29 + 0x5ce24))(psVar24)" identifier = (call_expression "(**(code **)(pcVar29 + 0x5ce24))(psVar24)" (parenthesized_expression "(**(code **)(pcVar29 + 0x5ce24))" ( (pointer_expression "**(code **)(pcVar29 + 0x5ce24)" * (pointer_expression "*(code **)(pcVar29 + 0x5ce24)" * (cast_expression "(code **)(pcVar29 + 0x5ce24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5ce24)" ( (binary_expression "pcVar29 + 0x5ce24" identifier + number_literal) ))))) )) (argument_list "(psVar24)" ( identifier )))) ;) (expression_statement "psVar22 = psVar24;" (assignment_expression "psVar22 = psVar24" identifier = identifier) ;) (if_statement "if (((code *)*puVar11 != (code *)0x0) &&\n     (psVar22 = (stat *)(*(code *)*puVar11)(psVar24,iVar19), psVar24 != psVar22)) {\n    iVar19 = (**(code **)(pcVar29 + 0x5ce24))(psVar22);\n  }" if (parenthesized_expression "(((code *)*puVar11 != (code *)0x0) &&\n     (psVar22 = (stat *)(*(code *)*puVar11)(psVar24,iVar19), psVar24 != psVar22))" ( (binary_expression "((code *)*puVar11 != (code *)0x0) &&\n     (psVar22 = (stat *)(*(code *)*puVar11)(psVar24,iVar19), psVar24 != psVar22)" (parenthesized_expression "((code *)*puVar11 != (code *)0x0)" ( (binary_expression "(code *)*puVar11 != (code *)0x0" (cast_expression "(code *)*puVar11" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar11" * identifier)) != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(psVar22 = (stat *)(*(code *)*puVar11)(psVar24,iVar19), psVar24 != psVar22)" ( (comma_expression "psVar22 = (stat *)(*(code *)*puVar11)(psVar24,iVar19), psVar24 != psVar22" (assignment_expression "psVar22 = (stat *)(*(code *)*puVar11)(psVar24,iVar19)" identifier = (cast_expression "(stat *)(*(code *)*puVar11)(psVar24,iVar19)" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)*puVar11)(psVar24,iVar19)" (parenthesized_expression "(*(code *)*puVar11)" ( (pointer_expression "*(code *)*puVar11" * (cast_expression "(code *)*puVar11" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar11" * identifier))) )) (argument_list "(psVar24,iVar19)" ( identifier , identifier ))))) , (binary_expression "psVar24 != psVar22" identifier != identifier)) ))) )) (compound_statement "{\n    iVar19 = (**(code **)(pcVar29 + 0x5ce24))(psVar22);\n  }" { (expression_statement "iVar19 = (**(code **)(pcVar29 + 0x5ce24))(psVar22);" (assignment_expression "iVar19 = (**(code **)(pcVar29 + 0x5ce24))(psVar22)" identifier = (call_expression "(**(code **)(pcVar29 + 0x5ce24))(psVar22)" (parenthesized_expression "(**(code **)(pcVar29 + 0x5ce24))" ( (pointer_expression "**(code **)(pcVar29 + 0x5ce24)" * (pointer_expression "*(code **)(pcVar29 + 0x5ce24)" * (cast_expression "(code **)(pcVar29 + 0x5ce24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5ce24)" ( (binary_expression "pcVar29 + 0x5ce24" identifier + number_literal) ))))) )) (argument_list "(psVar22)" ( identifier )))) ;) })) (expression_statement "iVar25 = *(int *)(iVar12 + -0x3fe4);" (assignment_expression "iVar25 = *(int *)(iVar12 + -0x3fe4)" identifier = (pointer_expression "*(int *)(iVar12 + -0x3fe4)" * (cast_expression "(int *)(iVar12 + -0x3fe4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar12 + -0x3fe4)" ( (binary_expression "iVar12 + -0x3fe4" identifier + number_literal) ))))) ;) (if_statement "if (iVar25 == 0) {\n    if (**(int **)(pcVar29 + 0x5c974) == 0) {\n      if (*(byte *)&psVar22->st_dev != 0x2e) goto LAB_000fbbb0;\n    }\n    else {\n      iVar15 = *(int *)(pcVar29 + 0x5af4c);\n      if ((*(byte *)&psVar22->st_dev != 0x2e) ||\n         ((bVar2 = *(byte *)((int)&psVar22->st_dev + 1), bVar2 != 0 &&\n          ((iVar15 = *(int *)(pcVar29 + 0x5af4c), bVar2 != 0x2e ||\n           (iVar15 = *(int *)(pcVar29 + 0x5af4c), *(char *)((int)&psVar22->st_dev + 2) != '\0'))))))\n      goto LAB_000fbbb4;\n    }\n    goto LAB_000fbb0c;\n  }" if (parenthesized_expression "(iVar25 == 0)" ( (binary_expression "iVar25 == 0" identifier == number_literal) )) (compound_statement "{\n    if (**(int **)(pcVar29 + 0x5c974) == 0) {\n      if (*(byte *)&psVar22->st_dev != 0x2e) goto LAB_000fbbb0;\n    }\n    else {\n      iVar15 = *(int *)(pcVar29 + 0x5af4c);\n      if ((*(byte *)&psVar22->st_dev != 0x2e) ||\n         ((bVar2 = *(byte *)((int)&psVar22->st_dev + 1), bVar2 != 0 &&\n          ((iVar15 = *(int *)(pcVar29 + 0x5af4c), bVar2 != 0x2e ||\n           (iVar15 = *(int *)(pcVar29 + 0x5af4c), *(char *)((int)&psVar22->st_dev + 2) != '\0'))))))\n      goto LAB_000fbbb4;\n    }\n    goto LAB_000fbb0c;\n  }" { (if_statement "if (**(int **)(pcVar29 + 0x5c974) == 0) {\n      if (*(byte *)&psVar22->st_dev != 0x2e) goto LAB_000fbbb0;\n    }\n    else {\n      iVar15 = *(int *)(pcVar29 + 0x5af4c);\n      if ((*(byte *)&psVar22->st_dev != 0x2e) ||\n         ((bVar2 = *(byte *)((int)&psVar22->st_dev + 1), bVar2 != 0 &&\n          ((iVar15 = *(int *)(pcVar29 + 0x5af4c), bVar2 != 0x2e ||\n           (iVar15 = *(int *)(pcVar29 + 0x5af4c), *(char *)((int)&psVar22->st_dev + 2) != '\0'))))))\n      goto LAB_000fbbb4;\n    }" if (parenthesized_expression "(**(int **)(pcVar29 + 0x5c974) == 0)" ( (binary_expression "**(int **)(pcVar29 + 0x5c974) == 0" (pointer_expression "**(int **)(pcVar29 + 0x5c974)" * (pointer_expression "*(int **)(pcVar29 + 0x5c974)" * (cast_expression "(int **)(pcVar29 + 0x5c974)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5c974)" ( (binary_expression "pcVar29 + 0x5c974" identifier + number_literal) ))))) == number_literal) )) (compound_statement "{\n      if (*(byte *)&psVar22->st_dev != 0x2e) goto LAB_000fbbb0;\n    }" { (if_statement "if (*(byte *)&psVar22->st_dev != 0x2e) goto LAB_000fbbb0;" if (parenthesized_expression "(*(byte *)&psVar22->st_dev != 0x2e)" ( (binary_expression "*(byte *)&psVar22->st_dev != 0x2e" (pointer_expression "*(byte *)&psVar22->st_dev" * (cast_expression "(byte *)&psVar22->st_dev" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar22->st_dev" & (field_expression "psVar22->st_dev" identifier -> field_identifier)))) != number_literal) )) (goto_statement "goto LAB_000fbbb0;" goto statement_identifier ;)) }) (else_clause "else {\n      iVar15 = *(int *)(pcVar29 + 0x5af4c);\n      if ((*(byte *)&psVar22->st_dev != 0x2e) ||\n         ((bVar2 = *(byte *)((int)&psVar22->st_dev + 1), bVar2 != 0 &&\n          ((iVar15 = *(int *)(pcVar29 + 0x5af4c), bVar2 != 0x2e ||\n           (iVar15 = *(int *)(pcVar29 + 0x5af4c), *(char *)((int)&psVar22->st_dev + 2) != '\0'))))))\n      goto LAB_000fbbb4;\n    }" else (compound_statement "{\n      iVar15 = *(int *)(pcVar29 + 0x5af4c);\n      if ((*(byte *)&psVar22->st_dev != 0x2e) ||\n         ((bVar2 = *(byte *)((int)&psVar22->st_dev + 1), bVar2 != 0 &&\n          ((iVar15 = *(int *)(pcVar29 + 0x5af4c), bVar2 != 0x2e ||\n           (iVar15 = *(int *)(pcVar29 + 0x5af4c), *(char *)((int)&psVar22->st_dev + 2) != '\0'))))))\n      goto LAB_000fbbb4;\n    }" { (expression_statement "iVar15 = *(int *)(pcVar29 + 0x5af4c);" (assignment_expression "iVar15 = *(int *)(pcVar29 + 0x5af4c)" identifier = (pointer_expression "*(int *)(pcVar29 + 0x5af4c)" * (cast_expression "(int *)(pcVar29 + 0x5af4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x5af4c)" ( (binary_expression "pcVar29 + 0x5af4c" identifier + number_literal) ))))) ;) (if_statement "if ((*(byte *)&psVar22->st_dev != 0x2e) ||\n         ((bVar2 = *(byte *)((int)&psVar22->st_dev + 1), bVar2 != 0 &&\n          ((iVar15 = *(int *)(pcVar29 + 0x5af4c), bVar2 != 0x2e ||\n           (iVar15 = *(int *)(pcVar29 + 0x5af4c), *(char *)((int)&psVar22->st_dev + 2) != '\0'))))))\n      goto LAB_000fbbb4;" if (parenthesized_expression "((*(byte *)&psVar22->st_dev != 0x2e) ||\n         ((bVar2 = *(byte *)((int)&psVar22->st_dev + 1), bVar2 != 0 &&\n          ((iVar15 = *(int *)(pcVar29 + 0x5af4c), bVar2 != 0x2e ||\n           (iVar15 = *(int *)(pcVar29 + 0x5af4c), *(char *)((int)&psVar22->st_dev + 2) != '\0'))))))" ( (binary_expression "(*(byte *)&psVar22->st_dev != 0x2e) ||\n         ((bVar2 = *(byte *)((int)&psVar22->st_dev + 1), bVar2 != 0 &&\n          ((iVar15 = *(int *)(pcVar29 + 0x5af4c), bVar2 != 0x2e ||\n           (iVar15 = *(int *)(pcVar29 + 0x5af4c), *(char *)((int)&psVar22->st_dev + 2) != '\0')))))" (parenthesized_expression "(*(byte *)&psVar22->st_dev != 0x2e)" ( (binary_expression "*(byte *)&psVar22->st_dev != 0x2e" (pointer_expression "*(byte *)&psVar22->st_dev" * (cast_expression "(byte *)&psVar22->st_dev" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar22->st_dev" & (field_expression "psVar22->st_dev" identifier -> field_identifier)))) != number_literal) )) || (parenthesized_expression "((bVar2 = *(byte *)((int)&psVar22->st_dev + 1), bVar2 != 0 &&\n          ((iVar15 = *(int *)(pcVar29 + 0x5af4c), bVar2 != 0x2e ||\n           (iVar15 = *(int *)(pcVar29 + 0x5af4c), *(char *)((int)&psVar22->st_dev + 2) != '\0')))))" ( (parenthesized_expression "(bVar2 = *(byte *)((int)&psVar22->st_dev + 1), bVar2 != 0 &&\n          ((iVar15 = *(int *)(pcVar29 + 0x5af4c), bVar2 != 0x2e ||\n           (iVar15 = *(int *)(pcVar29 + 0x5af4c), *(char *)((int)&psVar22->st_dev + 2) != '\0'))))" ( (comma_expression "bVar2 = *(byte *)((int)&psVar22->st_dev + 1), bVar2 != 0 &&\n          ((iVar15 = *(int *)(pcVar29 + 0x5af4c), bVar2 != 0x2e ||\n           (iVar15 = *(int *)(pcVar29 + 0x5af4c), *(char *)((int)&psVar22->st_dev + 2) != '\0')))" (assignment_expression "bVar2 = *(byte *)((int)&psVar22->st_dev + 1)" identifier = (pointer_expression "*(byte *)((int)&psVar22->st_dev + 1)" * (cast_expression "(byte *)((int)&psVar22->st_dev + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar22->st_dev + 1)" ( (binary_expression "(int)&psVar22->st_dev + 1" (cast_expression "(int)&psVar22->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar22->st_dev" & (field_expression "psVar22->st_dev" identifier -> field_identifier))) + number_literal) ))))) , (binary_expression "bVar2 != 0 &&\n          ((iVar15 = *(int *)(pcVar29 + 0x5af4c), bVar2 != 0x2e ||\n           (iVar15 = *(int *)(pcVar29 + 0x5af4c), *(char *)((int)&psVar22->st_dev + 2) != '\0')))" (binary_expression "bVar2 != 0" identifier != number_literal) && (parenthesized_expression "((iVar15 = *(int *)(pcVar29 + 0x5af4c), bVar2 != 0x2e ||\n           (iVar15 = *(int *)(pcVar29 + 0x5af4c), *(char *)((int)&psVar22->st_dev + 2) != '\0')))" ( (parenthesized_expression "(iVar15 = *(int *)(pcVar29 + 0x5af4c), bVar2 != 0x2e ||\n           (iVar15 = *(int *)(pcVar29 + 0x5af4c), *(char *)((int)&psVar22->st_dev + 2) != '\0'))" ( (comma_expression "iVar15 = *(int *)(pcVar29 + 0x5af4c), bVar2 != 0x2e ||\n           (iVar15 = *(int *)(pcVar29 + 0x5af4c), *(char *)((int)&psVar22->st_dev + 2) != '\0')" (assignment_expression "iVar15 = *(int *)(pcVar29 + 0x5af4c)" identifier = (pointer_expression "*(int *)(pcVar29 + 0x5af4c)" * (cast_expression "(int *)(pcVar29 + 0x5af4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x5af4c)" ( (binary_expression "pcVar29 + 0x5af4c" identifier + number_literal) ))))) , (binary_expression "bVar2 != 0x2e ||\n           (iVar15 = *(int *)(pcVar29 + 0x5af4c), *(char *)((int)&psVar22->st_dev + 2) != '\0')" (binary_expression "bVar2 != 0x2e" identifier != number_literal) || (parenthesized_expression "(iVar15 = *(int *)(pcVar29 + 0x5af4c), *(char *)((int)&psVar22->st_dev + 2) != '\0')" ( (comma_expression "iVar15 = *(int *)(pcVar29 + 0x5af4c), *(char *)((int)&psVar22->st_dev + 2) != '\0'" (assignment_expression "iVar15 = *(int *)(pcVar29 + 0x5af4c)" identifier = (pointer_expression "*(int *)(pcVar29 + 0x5af4c)" * (cast_expression "(int *)(pcVar29 + 0x5af4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x5af4c)" ( (binary_expression "pcVar29 + 0x5af4c" identifier + number_literal) ))))) , (binary_expression "*(char *)((int)&psVar22->st_dev + 2) != '\0'" (pointer_expression "*(char *)((int)&psVar22->st_dev + 2)" * (cast_expression "(char *)((int)&psVar22->st_dev + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar22->st_dev + 2)" ( (binary_expression "(int)&psVar22->st_dev + 2" (cast_expression "(int)&psVar22->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar22->st_dev" & (field_expression "psVar22->st_dev" identifier -> field_identifier))) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence '))) )))) )) )))) )) ))) )) (goto_statement "goto LAB_000fbbb4;" goto statement_identifier ;)) }))) (goto_statement "goto LAB_000fbb0c;" goto statement_identifier ;) })) (expression_statement "pbStack_228 = *(byte **)(iVar13 + -0x3fdc);" (assignment_expression "pbStack_228 = *(byte **)(iVar13 + -0x3fdc)" identifier = (pointer_expression "*(byte **)(iVar13 + -0x3fdc)" * (cast_expression "(byte **)(iVar13 + -0x3fdc)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar13 + -0x3fdc)" ( (binary_expression "iVar13 + -0x3fdc" identifier + number_literal) ))))) ;) (expression_statement "uStack_1f4 = 0;" (assignment_expression "uStack_1f4 = 0" identifier = number_literal) ;) (expression_statement "uStack_1f0 = 0;" (assignment_expression "uStack_1f0 = 0" identifier = number_literal) ;) (expression_statement "uStack_1ec = 0;" (assignment_expression "uStack_1ec = 0" identifier = number_literal) ;) (expression_statement "uStack_1e8 = 0;" (assignment_expression "uStack_1e8 = 0" identifier = number_literal) ;) (if_statement "if (iVar19 < iVar25) goto LAB_000fbb0c;" if (parenthesized_expression "(iVar19 < iVar25)" ( (binary_expression "iVar19 < iVar25" identifier < identifier) )) (goto_statement "goto LAB_000fbb0c;" goto statement_identifier ;)) (if_statement "if (*piVar4 != 0) {\n    psStack_214 = psVar22;\n    iStack_208 = iVar25;\n    if (**(int **)(pcVar29 + 0x5c97c) == 0) {\n      uVar5 = (**(code **)(pcVar29 + 0x5cec0))();\n      if ((1 < uVar5) && (**(int **)(pcVar29 + 0x5c7f8) == 0)) {\n        goto LAB_000fc0a8;\n      }\n      uVar26 = (uint)(char)*(byte *)&psVar22->st_dev;\n      uVar5 = (uint)*(byte *)&psVar22->st_dev;\n      if ((uVar5 == uVar26) &&\n         (piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc90))(),\n         (*(ushort *)(*piVar17 + uVar5 * 2) & 1) != 0)) {\n        piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc94))();\n        uVar26 = *(uint *)(*piVar17 + uVar5 * 4);\n      }\n      uVar27 = (uint)(char)*pbStack_228;\n      uVar5 = (uint)*pbStack_228;\n      if (uVar5 == uVar27) {\n        piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc90))();\n        if ((*(ushort *)(*piVar17 + uVar5 * 2) & 1) != 0) {\n          piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc94))();\n          uVar27 = *(uint *)(*piVar17 + uVar5 * 4);\n        }\n      }\n      if (uVar26 == uVar27) {\n        iVar19 = (**(code **)(pcVar29 + 0x5cd98))(pbStack_228,psVar22,iVar25);\n        goto LAB_000fc280;\n      }\n    }\n    else {\n      uVar5 = (**(code **)(pcVar29 + 0x5cec0))();\n      if ((1 < uVar5) && (**(int **)(pcVar29 + 0x5c7f8) == 0)) {\n        do {\n          iVar15 = (**(code **)(pcVar29 + 0x5ce9c))(&iStack_1fc,psStack_214,iVar19,&uStack_1f4);\n          iVar16 = (**(code **)(pcVar29 + 0x5ce9c))(&iStack_1f8,pbStack_228,iVar25,&uStack_1ec);\n          if (iVar15 == 0) {\n            if (iVar16 == 0) goto LAB_000fbbb0;\nLAB_000fbe6c:\n            if (iVar16 + 2U < 2) goto LAB_000fbdb4;\n            iVar16 = (**(code **)(pcVar29 + 0x5cf58))(iStack_1fc);\n            iStack_1fc = iVar16;\n            iStack_1f8 = (**(code **)(pcVar29 + 0x5cf58))(iStack_1f8);\n            psStack_214 = (stat *)((int)psStack_214->st_pad1 + iVar15 + -4);\n            pbStack_228 = pbStack_228 + iVar15;\n            iStack_208 = iStack_208 - iVar15;\n            if ((((iVar16 != 0x2d) && (iVar16 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))) && (iVar16 != iStack_1f8))\n            goto code_r0x000fbef4;\n          }\n          else {\n            if (1 < iVar15 + 2U) goto LAB_000fbe6c;\nLAB_000fbdb4:\n            bVar2 = *(byte *)&psStack_214->st_dev;\n            if (((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||\n               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))) goto LAB_000fbb0c;\n            psStack_214 = (stat *)((int)&psStack_214->st_dev + 1);\n            pbStack_228 = pbStack_228 + 1;\n            iStack_208 = iStack_208 + -1;\n          }\n          iVar15 = *(int *)(pcVar29 + 0x5af4c);\n          if (iStack_208 == 0) goto LAB_000fbbb4;\n        } while( true );\n      }\n      psVar20 = psVar22;\n      while( true ) {\n        uVar5 = (uint)(char)*(byte *)&psVar20->st_dev;\n        uVar26 = (uint)*(byte *)&psVar20->st_dev;\n        psStack_214 = (stat *)uVar5;\n        if ((uVar26 == uVar5) &&\n           (piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc90))(),\n           (*(ushort *)(*piVar17 + uVar26 * 2) & 1) != 0)) {\n          piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc94))();\n          psStack_214 = *(stat **)(*piVar17 + uVar26 * 4);\n        }\n        uVar26 = (uint)(char)*pbStack_228;\n        uVar27 = (uint)*pbStack_228;\n        uStack_210 = uVar26;\n        if (uVar27 == uVar26) {\n          piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc90))();\n          if ((*(ushort *)(*piVar17 + uVar27 * 2) & 1) != 0) {\n            piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc94))();\n            uStack_210 = *(uint *)(*piVar17 + uVar27 * 4);\n          }\n        }\n        if ((((uVar5 != 0x2d) && (uVar5 != 0x5f)) || ((uVar26 != 0x2d && (uVar26 != 0x5f)))) &&\n           (psStack_214 != (stat *)uStack_210)) break;\n        psVar20 = (stat *)((int)&psVar20->st_dev + 1);\n        pbStack_228 = pbStack_228 + 1;\n        iVar15 = *(int *)(pcVar29 + 0x5af4c);\n        if (psVar20 == (stat *)((int)psVar22->st_pad1 + iVar25 + -4)) goto LAB_000fbbb4;\n      }\n    }\n    goto LAB_000fbb0c;\n  }" if (parenthesized_expression "(*piVar4 != 0)" ( (binary_expression "*piVar4 != 0" (pointer_expression "*piVar4" * identifier) != number_literal) )) (compound_statement "{\n    psStack_214 = psVar22;\n    iStack_208 = iVar25;\n    if (**(int **)(pcVar29 + 0x5c97c) == 0) {\n      uVar5 = (**(code **)(pcVar29 + 0x5cec0))();\n      if ((1 < uVar5) && (**(int **)(pcVar29 + 0x5c7f8) == 0)) {\n        goto LAB_000fc0a8;\n      }\n      uVar26 = (uint)(char)*(byte *)&psVar22->st_dev;\n      uVar5 = (uint)*(byte *)&psVar22->st_dev;\n      if ((uVar5 == uVar26) &&\n         (piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc90))(),\n         (*(ushort *)(*piVar17 + uVar5 * 2) & 1) != 0)) {\n        piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc94))();\n        uVar26 = *(uint *)(*piVar17 + uVar5 * 4);\n      }\n      uVar27 = (uint)(char)*pbStack_228;\n      uVar5 = (uint)*pbStack_228;\n      if (uVar5 == uVar27) {\n        piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc90))();\n        if ((*(ushort *)(*piVar17 + uVar5 * 2) & 1) != 0) {\n          piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc94))();\n          uVar27 = *(uint *)(*piVar17 + uVar5 * 4);\n        }\n      }\n      if (uVar26 == uVar27) {\n        iVar19 = (**(code **)(pcVar29 + 0x5cd98))(pbStack_228,psVar22,iVar25);\n        goto LAB_000fc280;\n      }\n    }\n    else {\n      uVar5 = (**(code **)(pcVar29 + 0x5cec0))();\n      if ((1 < uVar5) && (**(int **)(pcVar29 + 0x5c7f8) == 0)) {\n        do {\n          iVar15 = (**(code **)(pcVar29 + 0x5ce9c))(&iStack_1fc,psStack_214,iVar19,&uStack_1f4);\n          iVar16 = (**(code **)(pcVar29 + 0x5ce9c))(&iStack_1f8,pbStack_228,iVar25,&uStack_1ec);\n          if (iVar15 == 0) {\n            if (iVar16 == 0) goto LAB_000fbbb0;\nLAB_000fbe6c:\n            if (iVar16 + 2U < 2) goto LAB_000fbdb4;\n            iVar16 = (**(code **)(pcVar29 + 0x5cf58))(iStack_1fc);\n            iStack_1fc = iVar16;\n            iStack_1f8 = (**(code **)(pcVar29 + 0x5cf58))(iStack_1f8);\n            psStack_214 = (stat *)((int)psStack_214->st_pad1 + iVar15 + -4);\n            pbStack_228 = pbStack_228 + iVar15;\n            iStack_208 = iStack_208 - iVar15;\n            if ((((iVar16 != 0x2d) && (iVar16 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))) && (iVar16 != iStack_1f8))\n            goto code_r0x000fbef4;\n          }\n          else {\n            if (1 < iVar15 + 2U) goto LAB_000fbe6c;\nLAB_000fbdb4:\n            bVar2 = *(byte *)&psStack_214->st_dev;\n            if (((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||\n               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))) goto LAB_000fbb0c;\n            psStack_214 = (stat *)((int)&psStack_214->st_dev + 1);\n            pbStack_228 = pbStack_228 + 1;\n            iStack_208 = iStack_208 + -1;\n          }\n          iVar15 = *(int *)(pcVar29 + 0x5af4c);\n          if (iStack_208 == 0) goto LAB_000fbbb4;\n        } while( true );\n      }\n      psVar20 = psVar22;\n      while( true ) {\n        uVar5 = (uint)(char)*(byte *)&psVar20->st_dev;\n        uVar26 = (uint)*(byte *)&psVar20->st_dev;\n        psStack_214 = (stat *)uVar5;\n        if ((uVar26 == uVar5) &&\n           (piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc90))(),\n           (*(ushort *)(*piVar17 + uVar26 * 2) & 1) != 0)) {\n          piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc94))();\n          psStack_214 = *(stat **)(*piVar17 + uVar26 * 4);\n        }\n        uVar26 = (uint)(char)*pbStack_228;\n        uVar27 = (uint)*pbStack_228;\n        uStack_210 = uVar26;\n        if (uVar27 == uVar26) {\n          piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc90))();\n          if ((*(ushort *)(*piVar17 + uVar27 * 2) & 1) != 0) {\n            piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc94))();\n            uStack_210 = *(uint *)(*piVar17 + uVar27 * 4);\n          }\n        }\n        if ((((uVar5 != 0x2d) && (uVar5 != 0x5f)) || ((uVar26 != 0x2d && (uVar26 != 0x5f)))) &&\n           (psStack_214 != (stat *)uStack_210)) break;\n        psVar20 = (stat *)((int)&psVar20->st_dev + 1);\n        pbStack_228 = pbStack_228 + 1;\n        iVar15 = *(int *)(pcVar29 + 0x5af4c);\n        if (psVar20 == (stat *)((int)psVar22->st_pad1 + iVar25 + -4)) goto LAB_000fbbb4;\n      }\n    }\n    goto LAB_000fbb0c;\n  }" { (expression_statement "psStack_214 = psVar22;" (assignment_expression "psStack_214 = psVar22" identifier = identifier) ;) (expression_statement "iStack_208 = iVar25;" (assignment_expression "iStack_208 = iVar25" identifier = identifier) ;) (if_statement "if (**(int **)(pcVar29 + 0x5c97c) == 0) {\n      uVar5 = (**(code **)(pcVar29 + 0x5cec0))();\n      if ((1 < uVar5) && (**(int **)(pcVar29 + 0x5c7f8) == 0)) {\n        goto LAB_000fc0a8;\n      }\n      uVar26 = (uint)(char)*(byte *)&psVar22->st_dev;\n      uVar5 = (uint)*(byte *)&psVar22->st_dev;\n      if ((uVar5 == uVar26) &&\n         (piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc90))(),\n         (*(ushort *)(*piVar17 + uVar5 * 2) & 1) != 0)) {\n        piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc94))();\n        uVar26 = *(uint *)(*piVar17 + uVar5 * 4);\n      }\n      uVar27 = (uint)(char)*pbStack_228;\n      uVar5 = (uint)*pbStack_228;\n      if (uVar5 == uVar27) {\n        piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc90))();\n        if ((*(ushort *)(*piVar17 + uVar5 * 2) & 1) != 0) {\n          piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc94))();\n          uVar27 = *(uint *)(*piVar17 + uVar5 * 4);\n        }\n      }\n      if (uVar26 == uVar27) {\n        iVar19 = (**(code **)(pcVar29 + 0x5cd98))(pbStack_228,psVar22,iVar25);\n        goto LAB_000fc280;\n      }\n    }\n    else {\n      uVar5 = (**(code **)(pcVar29 + 0x5cec0))();\n      if ((1 < uVar5) && (**(int **)(pcVar29 + 0x5c7f8) == 0)) {\n        do {\n          iVar15 = (**(code **)(pcVar29 + 0x5ce9c))(&iStack_1fc,psStack_214,iVar19,&uStack_1f4);\n          iVar16 = (**(code **)(pcVar29 + 0x5ce9c))(&iStack_1f8,pbStack_228,iVar25,&uStack_1ec);\n          if (iVar15 == 0) {\n            if (iVar16 == 0) goto LAB_000fbbb0;\nLAB_000fbe6c:\n            if (iVar16 + 2U < 2) goto LAB_000fbdb4;\n            iVar16 = (**(code **)(pcVar29 + 0x5cf58))(iStack_1fc);\n            iStack_1fc = iVar16;\n            iStack_1f8 = (**(code **)(pcVar29 + 0x5cf58))(iStack_1f8);\n            psStack_214 = (stat *)((int)psStack_214->st_pad1 + iVar15 + -4);\n            pbStack_228 = pbStack_228 + iVar15;\n            iStack_208 = iStack_208 - iVar15;\n            if ((((iVar16 != 0x2d) && (iVar16 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))) && (iVar16 != iStack_1f8))\n            goto code_r0x000fbef4;\n          }\n          else {\n            if (1 < iVar15 + 2U) goto LAB_000fbe6c;\nLAB_000fbdb4:\n            bVar2 = *(byte *)&psStack_214->st_dev;\n            if (((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||\n               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))) goto LAB_000fbb0c;\n            psStack_214 = (stat *)((int)&psStack_214->st_dev + 1);\n            pbStack_228 = pbStack_228 + 1;\n            iStack_208 = iStack_208 + -1;\n          }\n          iVar15 = *(int *)(pcVar29 + 0x5af4c);\n          if (iStack_208 == 0) goto LAB_000fbbb4;\n        } while( true );\n      }\n      psVar20 = psVar22;\n      while( true ) {\n        uVar5 = (uint)(char)*(byte *)&psVar20->st_dev;\n        uVar26 = (uint)*(byte *)&psVar20->st_dev;\n        psStack_214 = (stat *)uVar5;\n        if ((uVar26 == uVar5) &&\n           (piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc90))(),\n           (*(ushort *)(*piVar17 + uVar26 * 2) & 1) != 0)) {\n          piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc94))();\n          psStack_214 = *(stat **)(*piVar17 + uVar26 * 4);\n        }\n        uVar26 = (uint)(char)*pbStack_228;\n        uVar27 = (uint)*pbStack_228;\n        uStack_210 = uVar26;\n        if (uVar27 == uVar26) {\n          piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc90))();\n          if ((*(ushort *)(*piVar17 + uVar27 * 2) & 1) != 0) {\n            piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc94))();\n            uStack_210 = *(uint *)(*piVar17 + uVar27 * 4);\n          }\n        }\n        if ((((uVar5 != 0x2d) && (uVar5 != 0x5f)) || ((uVar26 != 0x2d && (uVar26 != 0x5f)))) &&\n           (psStack_214 != (stat *)uStack_210)) break;\n        psVar20 = (stat *)((int)&psVar20->st_dev + 1);\n        pbStack_228 = pbStack_228 + 1;\n        iVar15 = *(int *)(pcVar29 + 0x5af4c);\n        if (psVar20 == (stat *)((int)psVar22->st_pad1 + iVar25 + -4)) goto LAB_000fbbb4;\n      }\n    }" if (parenthesized_expression "(**(int **)(pcVar29 + 0x5c97c) == 0)" ( (binary_expression "**(int **)(pcVar29 + 0x5c97c) == 0" (pointer_expression "**(int **)(pcVar29 + 0x5c97c)" * (pointer_expression "*(int **)(pcVar29 + 0x5c97c)" * (cast_expression "(int **)(pcVar29 + 0x5c97c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5c97c)" ( (binary_expression "pcVar29 + 0x5c97c" identifier + number_literal) ))))) == number_literal) )) (compound_statement "{\n      uVar5 = (**(code **)(pcVar29 + 0x5cec0))();\n      if ((1 < uVar5) && (**(int **)(pcVar29 + 0x5c7f8) == 0)) {\n        goto LAB_000fc0a8;\n      }\n      uVar26 = (uint)(char)*(byte *)&psVar22->st_dev;\n      uVar5 = (uint)*(byte *)&psVar22->st_dev;\n      if ((uVar5 == uVar26) &&\n         (piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc90))(),\n         (*(ushort *)(*piVar17 + uVar5 * 2) & 1) != 0)) {\n        piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc94))();\n        uVar26 = *(uint *)(*piVar17 + uVar5 * 4);\n      }\n      uVar27 = (uint)(char)*pbStack_228;\n      uVar5 = (uint)*pbStack_228;\n      if (uVar5 == uVar27) {\n        piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc90))();\n        if ((*(ushort *)(*piVar17 + uVar5 * 2) & 1) != 0) {\n          piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc94))();\n          uVar27 = *(uint *)(*piVar17 + uVar5 * 4);\n        }\n      }\n      if (uVar26 == uVar27) {\n        iVar19 = (**(code **)(pcVar29 + 0x5cd98))(pbStack_228,psVar22,iVar25);\n        goto LAB_000fc280;\n      }\n    }" { (expression_statement "uVar5 = (**(code **)(pcVar29 + 0x5cec0))();" (assignment_expression "uVar5 = (**(code **)(pcVar29 + 0x5cec0))()" identifier = (call_expression "(**(code **)(pcVar29 + 0x5cec0))()" (parenthesized_expression "(**(code **)(pcVar29 + 0x5cec0))" ( (pointer_expression "**(code **)(pcVar29 + 0x5cec0)" * (pointer_expression "*(code **)(pcVar29 + 0x5cec0)" * (cast_expression "(code **)(pcVar29 + 0x5cec0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5cec0)" ( (binary_expression "pcVar29 + 0x5cec0" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if ((1 < uVar5) && (**(int **)(pcVar29 + 0x5c7f8) == 0)) {\n        goto LAB_000fc0a8;\n      }" if (parenthesized_expression "((1 < uVar5) && (**(int **)(pcVar29 + 0x5c7f8) == 0))" ( (binary_expression "(1 < uVar5) && (**(int **)(pcVar29 + 0x5c7f8) == 0)" (parenthesized_expression "(1 < uVar5)" ( (binary_expression "1 < uVar5" number_literal < identifier) )) && (parenthesized_expression "(**(int **)(pcVar29 + 0x5c7f8) == 0)" ( (binary_expression "**(int **)(pcVar29 + 0x5c7f8) == 0" (pointer_expression "**(int **)(pcVar29 + 0x5c7f8)" * (pointer_expression "*(int **)(pcVar29 + 0x5c7f8)" * (cast_expression "(int **)(pcVar29 + 0x5c7f8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5c7f8)" ( (binary_expression "pcVar29 + 0x5c7f8" identifier + number_literal) ))))) == number_literal) ))) )) (compound_statement "{\n        goto LAB_000fc0a8;\n      }" { (goto_statement "goto LAB_000fc0a8;" goto statement_identifier ;) })) (expression_statement "uVar26 = (uint)(char)*(byte *)&psVar22->st_dev;" (assignment_expression "uVar26 = (uint)(char)*(byte *)&psVar22->st_dev" identifier = (binary_expression "(uint)(char)*(byte *)&psVar22->st_dev" (call_expression "(uint)(char)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(char)" ( identifier ))) * (cast_expression "(byte *)&psVar22->st_dev" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar22->st_dev" & (field_expression "psVar22->st_dev" identifier -> field_identifier))))) ;) (expression_statement "uVar5 = (uint)*(byte *)&psVar22->st_dev;" (assignment_expression "uVar5 = (uint)*(byte *)&psVar22->st_dev" identifier = (binary_expression "(uint)*(byte *)&psVar22->st_dev" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)&psVar22->st_dev" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar22->st_dev" & (field_expression "psVar22->st_dev" identifier -> field_identifier))))) ;) (if_statement "if ((uVar5 == uVar26) &&\n         (piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc90))(),\n         (*(ushort *)(*piVar17 + uVar5 * 2) & 1) != 0)) {\n        piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc94))();\n        uVar26 = *(uint *)(*piVar17 + uVar5 * 4);\n      }" if (parenthesized_expression "((uVar5 == uVar26) &&\n         (piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc90))(),\n         (*(ushort *)(*piVar17 + uVar5 * 2) & 1) != 0))" ( (binary_expression "(uVar5 == uVar26) &&\n         (piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc90))(),\n         (*(ushort *)(*piVar17 + uVar5 * 2) & 1) != 0)" (parenthesized_expression "(uVar5 == uVar26)" ( (binary_expression "uVar5 == uVar26" identifier == identifier) )) && (parenthesized_expression "(piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc90))(),\n         (*(ushort *)(*piVar17 + uVar5 * 2) & 1) != 0)" ( (comma_expression "piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc90))(),\n         (*(ushort *)(*piVar17 + uVar5 * 2) & 1) != 0" (assignment_expression "piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc90))()" identifier = (cast_expression "(int *)(**(code **)(pcVar29 + 0x5cc90))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar29 + 0x5cc90))()" (parenthesized_expression "(**(code **)(pcVar29 + 0x5cc90))" ( (pointer_expression "**(code **)(pcVar29 + 0x5cc90)" * (pointer_expression "*(code **)(pcVar29 + 0x5cc90)" * (cast_expression "(code **)(pcVar29 + 0x5cc90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5cc90)" ( (binary_expression "pcVar29 + 0x5cc90" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) , (binary_expression "(*(ushort *)(*piVar17 + uVar5 * 2) & 1) != 0" (parenthesized_expression "(*(ushort *)(*piVar17 + uVar5 * 2) & 1)" ( (binary_expression "*(ushort *)(*piVar17 + uVar5 * 2) & 1" (pointer_expression "*(ushort *)(*piVar17 + uVar5 * 2)" * (cast_expression "(ushort *)(*piVar17 + uVar5 * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar17 + uVar5 * 2)" ( (binary_expression "*piVar17 + uVar5 * 2" (pointer_expression "*piVar17" * identifier) + (binary_expression "uVar5 * 2" identifier * number_literal)) )))) & number_literal) )) != number_literal)) ))) )) (compound_statement "{\n        piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc94))();\n        uVar26 = *(uint *)(*piVar17 + uVar5 * 4);\n      }" { (expression_statement "piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc94))();" (assignment_expression "piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc94))()" identifier = (cast_expression "(int *)(**(code **)(pcVar29 + 0x5cc94))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar29 + 0x5cc94))()" (parenthesized_expression "(**(code **)(pcVar29 + 0x5cc94))" ( (pointer_expression "**(code **)(pcVar29 + 0x5cc94)" * (pointer_expression "*(code **)(pcVar29 + 0x5cc94)" * (cast_expression "(code **)(pcVar29 + 0x5cc94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5cc94)" ( (binary_expression "pcVar29 + 0x5cc94" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar26 = *(uint *)(*piVar17 + uVar5 * 4);" (assignment_expression "uVar26 = *(uint *)(*piVar17 + uVar5 * 4)" identifier = (pointer_expression "*(uint *)(*piVar17 + uVar5 * 4)" * (cast_expression "(uint *)(*piVar17 + uVar5 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar17 + uVar5 * 4)" ( (binary_expression "*piVar17 + uVar5 * 4" (pointer_expression "*piVar17" * identifier) + (binary_expression "uVar5 * 4" identifier * number_literal)) ))))) ;) })) (expression_statement "uVar27 = (uint)(char)*pbStack_228;" (assignment_expression "uVar27 = (uint)(char)*pbStack_228" identifier = (binary_expression "(uint)(char)*pbStack_228" (call_expression "(uint)(char)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(char)" ( identifier ))) * identifier)) ;) (expression_statement "uVar5 = (uint)*pbStack_228;" (assignment_expression "uVar5 = (uint)*pbStack_228" identifier = (binary_expression "(uint)*pbStack_228" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (if_statement "if (uVar5 == uVar27) {\n        piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc90))();\n        if ((*(ushort *)(*piVar17 + uVar5 * 2) & 1) != 0) {\n          piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc94))();\n          uVar27 = *(uint *)(*piVar17 + uVar5 * 4);\n        }\n      }" if (parenthesized_expression "(uVar5 == uVar27)" ( (binary_expression "uVar5 == uVar27" identifier == identifier) )) (compound_statement "{\n        piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc90))();\n        if ((*(ushort *)(*piVar17 + uVar5 * 2) & 1) != 0) {\n          piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc94))();\n          uVar27 = *(uint *)(*piVar17 + uVar5 * 4);\n        }\n      }" { (expression_statement "piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc90))();" (assignment_expression "piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc90))()" identifier = (cast_expression "(int *)(**(code **)(pcVar29 + 0x5cc90))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar29 + 0x5cc90))()" (parenthesized_expression "(**(code **)(pcVar29 + 0x5cc90))" ( (pointer_expression "**(code **)(pcVar29 + 0x5cc90)" * (pointer_expression "*(code **)(pcVar29 + 0x5cc90)" * (cast_expression "(code **)(pcVar29 + 0x5cc90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5cc90)" ( (binary_expression "pcVar29 + 0x5cc90" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (if_statement "if ((*(ushort *)(*piVar17 + uVar5 * 2) & 1) != 0) {\n          piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc94))();\n          uVar27 = *(uint *)(*piVar17 + uVar5 * 4);\n        }" if (parenthesized_expression "((*(ushort *)(*piVar17 + uVar5 * 2) & 1) != 0)" ( (binary_expression "(*(ushort *)(*piVar17 + uVar5 * 2) & 1) != 0" (parenthesized_expression "(*(ushort *)(*piVar17 + uVar5 * 2) & 1)" ( (binary_expression "*(ushort *)(*piVar17 + uVar5 * 2) & 1" (pointer_expression "*(ushort *)(*piVar17 + uVar5 * 2)" * (cast_expression "(ushort *)(*piVar17 + uVar5 * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar17 + uVar5 * 2)" ( (binary_expression "*piVar17 + uVar5 * 2" (pointer_expression "*piVar17" * identifier) + (binary_expression "uVar5 * 2" identifier * number_literal)) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n          piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc94))();\n          uVar27 = *(uint *)(*piVar17 + uVar5 * 4);\n        }" { (expression_statement "piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc94))();" (assignment_expression "piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc94))()" identifier = (cast_expression "(int *)(**(code **)(pcVar29 + 0x5cc94))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar29 + 0x5cc94))()" (parenthesized_expression "(**(code **)(pcVar29 + 0x5cc94))" ( (pointer_expression "**(code **)(pcVar29 + 0x5cc94)" * (pointer_expression "*(code **)(pcVar29 + 0x5cc94)" * (cast_expression "(code **)(pcVar29 + 0x5cc94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5cc94)" ( (binary_expression "pcVar29 + 0x5cc94" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar27 = *(uint *)(*piVar17 + uVar5 * 4);" (assignment_expression "uVar27 = *(uint *)(*piVar17 + uVar5 * 4)" identifier = (pointer_expression "*(uint *)(*piVar17 + uVar5 * 4)" * (cast_expression "(uint *)(*piVar17 + uVar5 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar17 + uVar5 * 4)" ( (binary_expression "*piVar17 + uVar5 * 4" (pointer_expression "*piVar17" * identifier) + (binary_expression "uVar5 * 4" identifier * number_literal)) ))))) ;) })) })) (if_statement "if (uVar26 == uVar27) {\n        iVar19 = (**(code **)(pcVar29 + 0x5cd98))(pbStack_228,psVar22,iVar25);\n        goto LAB_000fc280;\n      }" if (parenthesized_expression "(uVar26 == uVar27)" ( (binary_expression "uVar26 == uVar27" identifier == identifier) )) (compound_statement "{\n        iVar19 = (**(code **)(pcVar29 + 0x5cd98))(pbStack_228,psVar22,iVar25);\n        goto LAB_000fc280;\n      }" { (expression_statement "iVar19 = (**(code **)(pcVar29 + 0x5cd98))(pbStack_228,psVar22,iVar25);" (assignment_expression "iVar19 = (**(code **)(pcVar29 + 0x5cd98))(pbStack_228,psVar22,iVar25)" identifier = (call_expression "(**(code **)(pcVar29 + 0x5cd98))(pbStack_228,psVar22,iVar25)" (parenthesized_expression "(**(code **)(pcVar29 + 0x5cd98))" ( (pointer_expression "**(code **)(pcVar29 + 0x5cd98)" * (pointer_expression "*(code **)(pcVar29 + 0x5cd98)" * (cast_expression "(code **)(pcVar29 + 0x5cd98)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5cd98)" ( (binary_expression "pcVar29 + 0x5cd98" identifier + number_literal) ))))) )) (argument_list "(pbStack_228,psVar22,iVar25)" ( identifier , identifier , identifier )))) ;) (goto_statement "goto LAB_000fc280;" goto statement_identifier ;) })) }) (else_clause "else {\n      uVar5 = (**(code **)(pcVar29 + 0x5cec0))();\n      if ((1 < uVar5) && (**(int **)(pcVar29 + 0x5c7f8) == 0)) {\n        do {\n          iVar15 = (**(code **)(pcVar29 + 0x5ce9c))(&iStack_1fc,psStack_214,iVar19,&uStack_1f4);\n          iVar16 = (**(code **)(pcVar29 + 0x5ce9c))(&iStack_1f8,pbStack_228,iVar25,&uStack_1ec);\n          if (iVar15 == 0) {\n            if (iVar16 == 0) goto LAB_000fbbb0;\nLAB_000fbe6c:\n            if (iVar16 + 2U < 2) goto LAB_000fbdb4;\n            iVar16 = (**(code **)(pcVar29 + 0x5cf58))(iStack_1fc);\n            iStack_1fc = iVar16;\n            iStack_1f8 = (**(code **)(pcVar29 + 0x5cf58))(iStack_1f8);\n            psStack_214 = (stat *)((int)psStack_214->st_pad1 + iVar15 + -4);\n            pbStack_228 = pbStack_228 + iVar15;\n            iStack_208 = iStack_208 - iVar15;\n            if ((((iVar16 != 0x2d) && (iVar16 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))) && (iVar16 != iStack_1f8))\n            goto code_r0x000fbef4;\n          }\n          else {\n            if (1 < iVar15 + 2U) goto LAB_000fbe6c;\nLAB_000fbdb4:\n            bVar2 = *(byte *)&psStack_214->st_dev;\n            if (((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||\n               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))) goto LAB_000fbb0c;\n            psStack_214 = (stat *)((int)&psStack_214->st_dev + 1);\n            pbStack_228 = pbStack_228 + 1;\n            iStack_208 = iStack_208 + -1;\n          }\n          iVar15 = *(int *)(pcVar29 + 0x5af4c);\n          if (iStack_208 == 0) goto LAB_000fbbb4;\n        } while( true );\n      }\n      psVar20 = psVar22;\n      while( true ) {\n        uVar5 = (uint)(char)*(byte *)&psVar20->st_dev;\n        uVar26 = (uint)*(byte *)&psVar20->st_dev;\n        psStack_214 = (stat *)uVar5;\n        if ((uVar26 == uVar5) &&\n           (piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc90))(),\n           (*(ushort *)(*piVar17 + uVar26 * 2) & 1) != 0)) {\n          piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc94))();\n          psStack_214 = *(stat **)(*piVar17 + uVar26 * 4);\n        }\n        uVar26 = (uint)(char)*pbStack_228;\n        uVar27 = (uint)*pbStack_228;\n        uStack_210 = uVar26;\n        if (uVar27 == uVar26) {\n          piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc90))();\n          if ((*(ushort *)(*piVar17 + uVar27 * 2) & 1) != 0) {\n            piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc94))();\n            uStack_210 = *(uint *)(*piVar17 + uVar27 * 4);\n          }\n        }\n        if ((((uVar5 != 0x2d) && (uVar5 != 0x5f)) || ((uVar26 != 0x2d && (uVar26 != 0x5f)))) &&\n           (psStack_214 != (stat *)uStack_210)) break;\n        psVar20 = (stat *)((int)&psVar20->st_dev + 1);\n        pbStack_228 = pbStack_228 + 1;\n        iVar15 = *(int *)(pcVar29 + 0x5af4c);\n        if (psVar20 == (stat *)((int)psVar22->st_pad1 + iVar25 + -4)) goto LAB_000fbbb4;\n      }\n    }" else (compound_statement "{\n      uVar5 = (**(code **)(pcVar29 + 0x5cec0))();\n      if ((1 < uVar5) && (**(int **)(pcVar29 + 0x5c7f8) == 0)) {\n        do {\n          iVar15 = (**(code **)(pcVar29 + 0x5ce9c))(&iStack_1fc,psStack_214,iVar19,&uStack_1f4);\n          iVar16 = (**(code **)(pcVar29 + 0x5ce9c))(&iStack_1f8,pbStack_228,iVar25,&uStack_1ec);\n          if (iVar15 == 0) {\n            if (iVar16 == 0) goto LAB_000fbbb0;\nLAB_000fbe6c:\n            if (iVar16 + 2U < 2) goto LAB_000fbdb4;\n            iVar16 = (**(code **)(pcVar29 + 0x5cf58))(iStack_1fc);\n            iStack_1fc = iVar16;\n            iStack_1f8 = (**(code **)(pcVar29 + 0x5cf58))(iStack_1f8);\n            psStack_214 = (stat *)((int)psStack_214->st_pad1 + iVar15 + -4);\n            pbStack_228 = pbStack_228 + iVar15;\n            iStack_208 = iStack_208 - iVar15;\n            if ((((iVar16 != 0x2d) && (iVar16 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))) && (iVar16 != iStack_1f8))\n            goto code_r0x000fbef4;\n          }\n          else {\n            if (1 < iVar15 + 2U) goto LAB_000fbe6c;\nLAB_000fbdb4:\n            bVar2 = *(byte *)&psStack_214->st_dev;\n            if (((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||\n               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))) goto LAB_000fbb0c;\n            psStack_214 = (stat *)((int)&psStack_214->st_dev + 1);\n            pbStack_228 = pbStack_228 + 1;\n            iStack_208 = iStack_208 + -1;\n          }\n          iVar15 = *(int *)(pcVar29 + 0x5af4c);\n          if (iStack_208 == 0) goto LAB_000fbbb4;\n        } while( true );\n      }\n      psVar20 = psVar22;\n      while( true ) {\n        uVar5 = (uint)(char)*(byte *)&psVar20->st_dev;\n        uVar26 = (uint)*(byte *)&psVar20->st_dev;\n        psStack_214 = (stat *)uVar5;\n        if ((uVar26 == uVar5) &&\n           (piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc90))(),\n           (*(ushort *)(*piVar17 + uVar26 * 2) & 1) != 0)) {\n          piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc94))();\n          psStack_214 = *(stat **)(*piVar17 + uVar26 * 4);\n        }\n        uVar26 = (uint)(char)*pbStack_228;\n        uVar27 = (uint)*pbStack_228;\n        uStack_210 = uVar26;\n        if (uVar27 == uVar26) {\n          piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc90))();\n          if ((*(ushort *)(*piVar17 + uVar27 * 2) & 1) != 0) {\n            piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc94))();\n            uStack_210 = *(uint *)(*piVar17 + uVar27 * 4);\n          }\n        }\n        if ((((uVar5 != 0x2d) && (uVar5 != 0x5f)) || ((uVar26 != 0x2d && (uVar26 != 0x5f)))) &&\n           (psStack_214 != (stat *)uStack_210)) break;\n        psVar20 = (stat *)((int)&psVar20->st_dev + 1);\n        pbStack_228 = pbStack_228 + 1;\n        iVar15 = *(int *)(pcVar29 + 0x5af4c);\n        if (psVar20 == (stat *)((int)psVar22->st_pad1 + iVar25 + -4)) goto LAB_000fbbb4;\n      }\n    }" { (expression_statement "uVar5 = (**(code **)(pcVar29 + 0x5cec0))();" (assignment_expression "uVar5 = (**(code **)(pcVar29 + 0x5cec0))()" identifier = (call_expression "(**(code **)(pcVar29 + 0x5cec0))()" (parenthesized_expression "(**(code **)(pcVar29 + 0x5cec0))" ( (pointer_expression "**(code **)(pcVar29 + 0x5cec0)" * (pointer_expression "*(code **)(pcVar29 + 0x5cec0)" * (cast_expression "(code **)(pcVar29 + 0x5cec0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5cec0)" ( (binary_expression "pcVar29 + 0x5cec0" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if ((1 < uVar5) && (**(int **)(pcVar29 + 0x5c7f8) == 0)) {\n        do {\n          iVar15 = (**(code **)(pcVar29 + 0x5ce9c))(&iStack_1fc,psStack_214,iVar19,&uStack_1f4);\n          iVar16 = (**(code **)(pcVar29 + 0x5ce9c))(&iStack_1f8,pbStack_228,iVar25,&uStack_1ec);\n          if (iVar15 == 0) {\n            if (iVar16 == 0) goto LAB_000fbbb0;\nLAB_000fbe6c:\n            if (iVar16 + 2U < 2) goto LAB_000fbdb4;\n            iVar16 = (**(code **)(pcVar29 + 0x5cf58))(iStack_1fc);\n            iStack_1fc = iVar16;\n            iStack_1f8 = (**(code **)(pcVar29 + 0x5cf58))(iStack_1f8);\n            psStack_214 = (stat *)((int)psStack_214->st_pad1 + iVar15 + -4);\n            pbStack_228 = pbStack_228 + iVar15;\n            iStack_208 = iStack_208 - iVar15;\n            if ((((iVar16 != 0x2d) && (iVar16 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))) && (iVar16 != iStack_1f8))\n            goto code_r0x000fbef4;\n          }\n          else {\n            if (1 < iVar15 + 2U) goto LAB_000fbe6c;\nLAB_000fbdb4:\n            bVar2 = *(byte *)&psStack_214->st_dev;\n            if (((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||\n               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))) goto LAB_000fbb0c;\n            psStack_214 = (stat *)((int)&psStack_214->st_dev + 1);\n            pbStack_228 = pbStack_228 + 1;\n            iStack_208 = iStack_208 + -1;\n          }\n          iVar15 = *(int *)(pcVar29 + 0x5af4c);\n          if (iStack_208 == 0) goto LAB_000fbbb4;\n        } while( true );\n      }" if (parenthesized_expression "((1 < uVar5) && (**(int **)(pcVar29 + 0x5c7f8) == 0))" ( (binary_expression "(1 < uVar5) && (**(int **)(pcVar29 + 0x5c7f8) == 0)" (parenthesized_expression "(1 < uVar5)" ( (binary_expression "1 < uVar5" number_literal < identifier) )) && (parenthesized_expression "(**(int **)(pcVar29 + 0x5c7f8) == 0)" ( (binary_expression "**(int **)(pcVar29 + 0x5c7f8) == 0" (pointer_expression "**(int **)(pcVar29 + 0x5c7f8)" * (pointer_expression "*(int **)(pcVar29 + 0x5c7f8)" * (cast_expression "(int **)(pcVar29 + 0x5c7f8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5c7f8)" ( (binary_expression "pcVar29 + 0x5c7f8" identifier + number_literal) ))))) == number_literal) ))) )) (compound_statement "{\n        do {\n          iVar15 = (**(code **)(pcVar29 + 0x5ce9c))(&iStack_1fc,psStack_214,iVar19,&uStack_1f4);\n          iVar16 = (**(code **)(pcVar29 + 0x5ce9c))(&iStack_1f8,pbStack_228,iVar25,&uStack_1ec);\n          if (iVar15 == 0) {\n            if (iVar16 == 0) goto LAB_000fbbb0;\nLAB_000fbe6c:\n            if (iVar16 + 2U < 2) goto LAB_000fbdb4;\n            iVar16 = (**(code **)(pcVar29 + 0x5cf58))(iStack_1fc);\n            iStack_1fc = iVar16;\n            iStack_1f8 = (**(code **)(pcVar29 + 0x5cf58))(iStack_1f8);\n            psStack_214 = (stat *)((int)psStack_214->st_pad1 + iVar15 + -4);\n            pbStack_228 = pbStack_228 + iVar15;\n            iStack_208 = iStack_208 - iVar15;\n            if ((((iVar16 != 0x2d) && (iVar16 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))) && (iVar16 != iStack_1f8))\n            goto code_r0x000fbef4;\n          }\n          else {\n            if (1 < iVar15 + 2U) goto LAB_000fbe6c;\nLAB_000fbdb4:\n            bVar2 = *(byte *)&psStack_214->st_dev;\n            if (((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||\n               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))) goto LAB_000fbb0c;\n            psStack_214 = (stat *)((int)&psStack_214->st_dev + 1);\n            pbStack_228 = pbStack_228 + 1;\n            iStack_208 = iStack_208 + -1;\n          }\n          iVar15 = *(int *)(pcVar29 + 0x5af4c);\n          if (iStack_208 == 0) goto LAB_000fbbb4;\n        } while( true );\n      }" { (do_statement "do {\n          iVar15 = (**(code **)(pcVar29 + 0x5ce9c))(&iStack_1fc,psStack_214,iVar19,&uStack_1f4);\n          iVar16 = (**(code **)(pcVar29 + 0x5ce9c))(&iStack_1f8,pbStack_228,iVar25,&uStack_1ec);\n          if (iVar15 == 0) {\n            if (iVar16 == 0) goto LAB_000fbbb0;\nLAB_000fbe6c:\n            if (iVar16 + 2U < 2) goto LAB_000fbdb4;\n            iVar16 = (**(code **)(pcVar29 + 0x5cf58))(iStack_1fc);\n            iStack_1fc = iVar16;\n            iStack_1f8 = (**(code **)(pcVar29 + 0x5cf58))(iStack_1f8);\n            psStack_214 = (stat *)((int)psStack_214->st_pad1 + iVar15 + -4);\n            pbStack_228 = pbStack_228 + iVar15;\n            iStack_208 = iStack_208 - iVar15;\n            if ((((iVar16 != 0x2d) && (iVar16 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))) && (iVar16 != iStack_1f8))\n            goto code_r0x000fbef4;\n          }\n          else {\n            if (1 < iVar15 + 2U) goto LAB_000fbe6c;\nLAB_000fbdb4:\n            bVar2 = *(byte *)&psStack_214->st_dev;\n            if (((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||\n               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))) goto LAB_000fbb0c;\n            psStack_214 = (stat *)((int)&psStack_214->st_dev + 1);\n            pbStack_228 = pbStack_228 + 1;\n            iStack_208 = iStack_208 + -1;\n          }\n          iVar15 = *(int *)(pcVar29 + 0x5af4c);\n          if (iStack_208 == 0) goto LAB_000fbbb4;\n        } while( true );" do (compound_statement "{\n          iVar15 = (**(code **)(pcVar29 + 0x5ce9c))(&iStack_1fc,psStack_214,iVar19,&uStack_1f4);\n          iVar16 = (**(code **)(pcVar29 + 0x5ce9c))(&iStack_1f8,pbStack_228,iVar25,&uStack_1ec);\n          if (iVar15 == 0) {\n            if (iVar16 == 0) goto LAB_000fbbb0;\nLAB_000fbe6c:\n            if (iVar16 + 2U < 2) goto LAB_000fbdb4;\n            iVar16 = (**(code **)(pcVar29 + 0x5cf58))(iStack_1fc);\n            iStack_1fc = iVar16;\n            iStack_1f8 = (**(code **)(pcVar29 + 0x5cf58))(iStack_1f8);\n            psStack_214 = (stat *)((int)psStack_214->st_pad1 + iVar15 + -4);\n            pbStack_228 = pbStack_228 + iVar15;\n            iStack_208 = iStack_208 - iVar15;\n            if ((((iVar16 != 0x2d) && (iVar16 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))) && (iVar16 != iStack_1f8))\n            goto code_r0x000fbef4;\n          }\n          else {\n            if (1 < iVar15 + 2U) goto LAB_000fbe6c;\nLAB_000fbdb4:\n            bVar2 = *(byte *)&psStack_214->st_dev;\n            if (((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||\n               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))) goto LAB_000fbb0c;\n            psStack_214 = (stat *)((int)&psStack_214->st_dev + 1);\n            pbStack_228 = pbStack_228 + 1;\n            iStack_208 = iStack_208 + -1;\n          }\n          iVar15 = *(int *)(pcVar29 + 0x5af4c);\n          if (iStack_208 == 0) goto LAB_000fbbb4;\n        }" { (expression_statement "iVar15 = (**(code **)(pcVar29 + 0x5ce9c))(&iStack_1fc,psStack_214,iVar19,&uStack_1f4);" (assignment_expression "iVar15 = (**(code **)(pcVar29 + 0x5ce9c))(&iStack_1fc,psStack_214,iVar19,&uStack_1f4)" identifier = (call_expression "(**(code **)(pcVar29 + 0x5ce9c))(&iStack_1fc,psStack_214,iVar19,&uStack_1f4)" (parenthesized_expression "(**(code **)(pcVar29 + 0x5ce9c))" ( (pointer_expression "**(code **)(pcVar29 + 0x5ce9c)" * (pointer_expression "*(code **)(pcVar29 + 0x5ce9c)" * (cast_expression "(code **)(pcVar29 + 0x5ce9c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5ce9c)" ( (binary_expression "pcVar29 + 0x5ce9c" identifier + number_literal) ))))) )) (argument_list "(&iStack_1fc,psStack_214,iVar19,&uStack_1f4)" ( (pointer_expression "&iStack_1fc" & identifier) , identifier , identifier , (pointer_expression "&uStack_1f4" & identifier) )))) ;) (expression_statement "iVar16 = (**(code **)(pcVar29 + 0x5ce9c))(&iStack_1f8,pbStack_228,iVar25,&uStack_1ec);" (assignment_expression "iVar16 = (**(code **)(pcVar29 + 0x5ce9c))(&iStack_1f8,pbStack_228,iVar25,&uStack_1ec)" identifier = (call_expression "(**(code **)(pcVar29 + 0x5ce9c))(&iStack_1f8,pbStack_228,iVar25,&uStack_1ec)" (parenthesized_expression "(**(code **)(pcVar29 + 0x5ce9c))" ( (pointer_expression "**(code **)(pcVar29 + 0x5ce9c)" * (pointer_expression "*(code **)(pcVar29 + 0x5ce9c)" * (cast_expression "(code **)(pcVar29 + 0x5ce9c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5ce9c)" ( (binary_expression "pcVar29 + 0x5ce9c" identifier + number_literal) ))))) )) (argument_list "(&iStack_1f8,pbStack_228,iVar25,&uStack_1ec)" ( (pointer_expression "&iStack_1f8" & identifier) , identifier , identifier , (pointer_expression "&uStack_1ec" & identifier) )))) ;) (if_statement "if (iVar15 == 0) {\n            if (iVar16 == 0) goto LAB_000fbbb0;\nLAB_000fbe6c:\n            if (iVar16 + 2U < 2) goto LAB_000fbdb4;\n            iVar16 = (**(code **)(pcVar29 + 0x5cf58))(iStack_1fc);\n            iStack_1fc = iVar16;\n            iStack_1f8 = (**(code **)(pcVar29 + 0x5cf58))(iStack_1f8);\n            psStack_214 = (stat *)((int)psStack_214->st_pad1 + iVar15 + -4);\n            pbStack_228 = pbStack_228 + iVar15;\n            iStack_208 = iStack_208 - iVar15;\n            if ((((iVar16 != 0x2d) && (iVar16 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))) && (iVar16 != iStack_1f8))\n            goto code_r0x000fbef4;\n          }\n          else {\n            if (1 < iVar15 + 2U) goto LAB_000fbe6c;\nLAB_000fbdb4:\n            bVar2 = *(byte *)&psStack_214->st_dev;\n            if (((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||\n               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))) goto LAB_000fbb0c;\n            psStack_214 = (stat *)((int)&psStack_214->st_dev + 1);\n            pbStack_228 = pbStack_228 + 1;\n            iStack_208 = iStack_208 + -1;\n          }" if (parenthesized_expression "(iVar15 == 0)" ( (binary_expression "iVar15 == 0" identifier == number_literal) )) (compound_statement "{\n            if (iVar16 == 0) goto LAB_000fbbb0;\nLAB_000fbe6c:\n            if (iVar16 + 2U < 2) goto LAB_000fbdb4;\n            iVar16 = (**(code **)(pcVar29 + 0x5cf58))(iStack_1fc);\n            iStack_1fc = iVar16;\n            iStack_1f8 = (**(code **)(pcVar29 + 0x5cf58))(iStack_1f8);\n            psStack_214 = (stat *)((int)psStack_214->st_pad1 + iVar15 + -4);\n            pbStack_228 = pbStack_228 + iVar15;\n            iStack_208 = iStack_208 - iVar15;\n            if ((((iVar16 != 0x2d) && (iVar16 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))) && (iVar16 != iStack_1f8))\n            goto code_r0x000fbef4;\n          }" { (if_statement "if (iVar16 == 0) goto LAB_000fbbb0;" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000fbbb0;" goto statement_identifier ;)) (labeled_statement "LAB_000fbe6c:\n            if (iVar16 + 2U < 2) goto LAB_000fbdb4;" statement_identifier : (if_statement "if (iVar16 + 2U < 2) goto LAB_000fbdb4;" if (parenthesized_expression "(iVar16 + 2U < 2)" ( (binary_expression "iVar16 + 2U < 2" (binary_expression "iVar16 + 2U" identifier + number_literal) < number_literal) )) (goto_statement "goto LAB_000fbdb4;" goto statement_identifier ;))) (expression_statement "iVar16 = (**(code **)(pcVar29 + 0x5cf58))(iStack_1fc);" (assignment_expression "iVar16 = (**(code **)(pcVar29 + 0x5cf58))(iStack_1fc)" identifier = (call_expression "(**(code **)(pcVar29 + 0x5cf58))(iStack_1fc)" (parenthesized_expression "(**(code **)(pcVar29 + 0x5cf58))" ( (pointer_expression "**(code **)(pcVar29 + 0x5cf58)" * (pointer_expression "*(code **)(pcVar29 + 0x5cf58)" * (cast_expression "(code **)(pcVar29 + 0x5cf58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5cf58)" ( (binary_expression "pcVar29 + 0x5cf58" identifier + number_literal) ))))) )) (argument_list "(iStack_1fc)" ( identifier )))) ;) (expression_statement "iStack_1fc = iVar16;" (assignment_expression "iStack_1fc = iVar16" identifier = identifier) ;) (expression_statement "iStack_1f8 = (**(code **)(pcVar29 + 0x5cf58))(iStack_1f8);" (assignment_expression "iStack_1f8 = (**(code **)(pcVar29 + 0x5cf58))(iStack_1f8)" identifier = (call_expression "(**(code **)(pcVar29 + 0x5cf58))(iStack_1f8)" (parenthesized_expression "(**(code **)(pcVar29 + 0x5cf58))" ( (pointer_expression "**(code **)(pcVar29 + 0x5cf58)" * (pointer_expression "*(code **)(pcVar29 + 0x5cf58)" * (cast_expression "(code **)(pcVar29 + 0x5cf58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5cf58)" ( (binary_expression "pcVar29 + 0x5cf58" identifier + number_literal) ))))) )) (argument_list "(iStack_1f8)" ( identifier )))) ;) (expression_statement "psStack_214 = (stat *)((int)psStack_214->st_pad1 + iVar15 + -4);" (assignment_expression "psStack_214 = (stat *)((int)psStack_214->st_pad1 + iVar15 + -4)" identifier = (cast_expression "(stat *)((int)psStack_214->st_pad1 + iVar15 + -4)" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psStack_214->st_pad1 + iVar15 + -4)" ( (binary_expression "(int)psStack_214->st_pad1 + iVar15 + -4" (binary_expression "(int)psStack_214->st_pad1 + iVar15" (cast_expression "(int)psStack_214->st_pad1" ( (type_descriptor "int" primitive_type) ) (field_expression "psStack_214->st_pad1" identifier -> field_identifier)) + identifier) + number_literal) )))) ;) (expression_statement "pbStack_228 = pbStack_228 + iVar15;" (assignment_expression "pbStack_228 = pbStack_228 + iVar15" identifier = (binary_expression "pbStack_228 + iVar15" identifier + identifier)) ;) (expression_statement "iStack_208 = iStack_208 - iVar15;" (assignment_expression "iStack_208 = iStack_208 - iVar15" identifier = (binary_expression "iStack_208 - iVar15" identifier - identifier)) ;) (if_statement "if ((((iVar16 != 0x2d) && (iVar16 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))) && (iVar16 != iStack_1f8))\n            goto code_r0x000fbef4;" if (parenthesized_expression "((((iVar16 != 0x2d) && (iVar16 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))) && (iVar16 != iStack_1f8))" ( (binary_expression "(((iVar16 != 0x2d) && (iVar16 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))) && (iVar16 != iStack_1f8)" (parenthesized_expression "(((iVar16 != 0x2d) && (iVar16 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f))))" ( (binary_expression "((iVar16 != 0x2d) && (iVar16 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))" (parenthesized_expression "((iVar16 != 0x2d) && (iVar16 != 0x5f))" ( (binary_expression "(iVar16 != 0x2d) && (iVar16 != 0x5f)" (parenthesized_expression "(iVar16 != 0x2d)" ( (binary_expression "iVar16 != 0x2d" identifier != number_literal) )) && (parenthesized_expression "(iVar16 != 0x5f)" ( (binary_expression "iVar16 != 0x5f" identifier != number_literal) ))) )) || (parenthesized_expression "((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))" ( (parenthesized_expression "(iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f))" ( (binary_expression "iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)" (binary_expression "iStack_1f8 != 0x2d" identifier != number_literal) && (parenthesized_expression "(iStack_1f8 != 0x5f)" ( (binary_expression "iStack_1f8 != 0x5f" identifier != number_literal) ))) )) ))) )) && (parenthesized_expression "(iVar16 != iStack_1f8)" ( (binary_expression "iVar16 != iStack_1f8" identifier != identifier) ))) )) (goto_statement "goto code_r0x000fbef4;" goto statement_identifier ;)) }) (else_clause "else {\n            if (1 < iVar15 + 2U) goto LAB_000fbe6c;\nLAB_000fbdb4:\n            bVar2 = *(byte *)&psStack_214->st_dev;\n            if (((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||\n               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))) goto LAB_000fbb0c;\n            psStack_214 = (stat *)((int)&psStack_214->st_dev + 1);\n            pbStack_228 = pbStack_228 + 1;\n            iStack_208 = iStack_208 + -1;\n          }" else (compound_statement "{\n            if (1 < iVar15 + 2U) goto LAB_000fbe6c;\nLAB_000fbdb4:\n            bVar2 = *(byte *)&psStack_214->st_dev;\n            if (((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||\n               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))) goto LAB_000fbb0c;\n            psStack_214 = (stat *)((int)&psStack_214->st_dev + 1);\n            pbStack_228 = pbStack_228 + 1;\n            iStack_208 = iStack_208 + -1;\n          }" { (if_statement "if (1 < iVar15 + 2U) goto LAB_000fbe6c;" if (parenthesized_expression "(1 < iVar15 + 2U)" ( (binary_expression "1 < iVar15 + 2U" number_literal < (binary_expression "iVar15 + 2U" identifier + number_literal)) )) (goto_statement "goto LAB_000fbe6c;" goto statement_identifier ;)) (labeled_statement "LAB_000fbdb4:\n            bVar2 = *(byte *)&psStack_214->st_dev;" statement_identifier : (expression_statement "bVar2 = *(byte *)&psStack_214->st_dev;" (assignment_expression "bVar2 = *(byte *)&psStack_214->st_dev" identifier = (pointer_expression "*(byte *)&psStack_214->st_dev" * (cast_expression "(byte *)&psStack_214->st_dev" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psStack_214->st_dev" & (field_expression "psStack_214->st_dev" identifier -> field_identifier))))) ;)) (if_statement "if (((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||\n               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))) goto LAB_000fbb0c;" if (parenthesized_expression "(((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||\n               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f))))" ( (binary_expression "((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||\n               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))" (parenthesized_expression "((bVar2 != *pbStack_228) || (bVar2 == 0x2d))" ( (binary_expression "(bVar2 != *pbStack_228) || (bVar2 == 0x2d)" (parenthesized_expression "(bVar2 != *pbStack_228)" ( (binary_expression "bVar2 != *pbStack_228" identifier != (pointer_expression "*pbStack_228" * identifier)) )) || (parenthesized_expression "(bVar2 == 0x2d)" ( (binary_expression "bVar2 == 0x2d" identifier == number_literal) ))) )) || (parenthesized_expression "((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))" ( (parenthesized_expression "(bVar2 == 0x5f && (*pbStack_228 == 0x5f))" ( (binary_expression "bVar2 == 0x5f && (*pbStack_228 == 0x5f)" (binary_expression "bVar2 == 0x5f" identifier == number_literal) && (parenthesized_expression "(*pbStack_228 == 0x5f)" ( (binary_expression "*pbStack_228 == 0x5f" (pointer_expression "*pbStack_228" * identifier) == number_literal) ))) )) ))) )) (goto_statement "goto LAB_000fbb0c;" goto statement_identifier ;)) (expression_statement "psStack_214 = (stat *)((int)&psStack_214->st_dev + 1);" (assignment_expression "psStack_214 = (stat *)((int)&psStack_214->st_dev + 1)" identifier = (cast_expression "(stat *)((int)&psStack_214->st_dev + 1)" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psStack_214->st_dev + 1)" ( (binary_expression "(int)&psStack_214->st_dev + 1" (cast_expression "(int)&psStack_214->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psStack_214->st_dev" & (field_expression "psStack_214->st_dev" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "pbStack_228 = pbStack_228 + 1;" (assignment_expression "pbStack_228 = pbStack_228 + 1" identifier = (binary_expression "pbStack_228 + 1" identifier + number_literal)) ;) (expression_statement "iStack_208 = iStack_208 + -1;" (assignment_expression "iStack_208 = iStack_208 + -1" identifier = (binary_expression "iStack_208 + -1" identifier + number_literal)) ;) }))) (expression_statement "iVar15 = *(int *)(pcVar29 + 0x5af4c);" (assignment_expression "iVar15 = *(int *)(pcVar29 + 0x5af4c)" identifier = (pointer_expression "*(int *)(pcVar29 + 0x5af4c)" * (cast_expression "(int *)(pcVar29 + 0x5af4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x5af4c)" ( (binary_expression "pcVar29 + 0x5af4c" identifier + number_literal) ))))) ;) (if_statement "if (iStack_208 == 0) goto LAB_000fbbb4;" if (parenthesized_expression "(iStack_208 == 0)" ( (binary_expression "iStack_208 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000fbbb4;" goto statement_identifier ;)) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "psVar20 = psVar22;" (assignment_expression "psVar20 = psVar22" identifier = identifier) ;) (while_statement "while( true ) {\n        uVar5 = (uint)(char)*(byte *)&psVar20->st_dev;\n        uVar26 = (uint)*(byte *)&psVar20->st_dev;\n        psStack_214 = (stat *)uVar5;\n        if ((uVar26 == uVar5) &&\n           (piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc90))(),\n           (*(ushort *)(*piVar17 + uVar26 * 2) & 1) != 0)) {\n          piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc94))();\n          psStack_214 = *(stat **)(*piVar17 + uVar26 * 4);\n        }\n        uVar26 = (uint)(char)*pbStack_228;\n        uVar27 = (uint)*pbStack_228;\n        uStack_210 = uVar26;\n        if (uVar27 == uVar26) {\n          piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc90))();\n          if ((*(ushort *)(*piVar17 + uVar27 * 2) & 1) != 0) {\n            piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc94))();\n            uStack_210 = *(uint *)(*piVar17 + uVar27 * 4);\n          }\n        }\n        if ((((uVar5 != 0x2d) && (uVar5 != 0x5f)) || ((uVar26 != 0x2d && (uVar26 != 0x5f)))) &&\n           (psStack_214 != (stat *)uStack_210)) break;\n        psVar20 = (stat *)((int)&psVar20->st_dev + 1);\n        pbStack_228 = pbStack_228 + 1;\n        iVar15 = *(int *)(pcVar29 + 0x5af4c);\n        if (psVar20 == (stat *)((int)psVar22->st_pad1 + iVar25 + -4)) goto LAB_000fbbb4;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        uVar5 = (uint)(char)*(byte *)&psVar20->st_dev;\n        uVar26 = (uint)*(byte *)&psVar20->st_dev;\n        psStack_214 = (stat *)uVar5;\n        if ((uVar26 == uVar5) &&\n           (piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc90))(),\n           (*(ushort *)(*piVar17 + uVar26 * 2) & 1) != 0)) {\n          piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc94))();\n          psStack_214 = *(stat **)(*piVar17 + uVar26 * 4);\n        }\n        uVar26 = (uint)(char)*pbStack_228;\n        uVar27 = (uint)*pbStack_228;\n        uStack_210 = uVar26;\n        if (uVar27 == uVar26) {\n          piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc90))();\n          if ((*(ushort *)(*piVar17 + uVar27 * 2) & 1) != 0) {\n            piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc94))();\n            uStack_210 = *(uint *)(*piVar17 + uVar27 * 4);\n          }\n        }\n        if ((((uVar5 != 0x2d) && (uVar5 != 0x5f)) || ((uVar26 != 0x2d && (uVar26 != 0x5f)))) &&\n           (psStack_214 != (stat *)uStack_210)) break;\n        psVar20 = (stat *)((int)&psVar20->st_dev + 1);\n        pbStack_228 = pbStack_228 + 1;\n        iVar15 = *(int *)(pcVar29 + 0x5af4c);\n        if (psVar20 == (stat *)((int)psVar22->st_pad1 + iVar25 + -4)) goto LAB_000fbbb4;\n      }" { (expression_statement "uVar5 = (uint)(char)*(byte *)&psVar20->st_dev;" (assignment_expression "uVar5 = (uint)(char)*(byte *)&psVar20->st_dev" identifier = (binary_expression "(uint)(char)*(byte *)&psVar20->st_dev" (call_expression "(uint)(char)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(char)" ( identifier ))) * (cast_expression "(byte *)&psVar20->st_dev" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar20->st_dev" & (field_expression "psVar20->st_dev" identifier -> field_identifier))))) ;) (expression_statement "uVar26 = (uint)*(byte *)&psVar20->st_dev;" (assignment_expression "uVar26 = (uint)*(byte *)&psVar20->st_dev" identifier = (binary_expression "(uint)*(byte *)&psVar20->st_dev" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)&psVar20->st_dev" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar20->st_dev" & (field_expression "psVar20->st_dev" identifier -> field_identifier))))) ;) (expression_statement "psStack_214 = (stat *)uVar5;" (assignment_expression "psStack_214 = (stat *)uVar5" identifier = (cast_expression "(stat *)uVar5" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if ((uVar26 == uVar5) &&\n           (piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc90))(),\n           (*(ushort *)(*piVar17 + uVar26 * 2) & 1) != 0)) {\n          piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc94))();\n          psStack_214 = *(stat **)(*piVar17 + uVar26 * 4);\n        }" if (parenthesized_expression "((uVar26 == uVar5) &&\n           (piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc90))(),\n           (*(ushort *)(*piVar17 + uVar26 * 2) & 1) != 0))" ( (binary_expression "(uVar26 == uVar5) &&\n           (piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc90))(),\n           (*(ushort *)(*piVar17 + uVar26 * 2) & 1) != 0)" (parenthesized_expression "(uVar26 == uVar5)" ( (binary_expression "uVar26 == uVar5" identifier == identifier) )) && (parenthesized_expression "(piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc90))(),\n           (*(ushort *)(*piVar17 + uVar26 * 2) & 1) != 0)" ( (comma_expression "piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc90))(),\n           (*(ushort *)(*piVar17 + uVar26 * 2) & 1) != 0" (assignment_expression "piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc90))()" identifier = (cast_expression "(int *)(**(code **)(pcVar29 + 0x5cc90))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar29 + 0x5cc90))()" (parenthesized_expression "(**(code **)(pcVar29 + 0x5cc90))" ( (pointer_expression "**(code **)(pcVar29 + 0x5cc90)" * (pointer_expression "*(code **)(pcVar29 + 0x5cc90)" * (cast_expression "(code **)(pcVar29 + 0x5cc90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5cc90)" ( (binary_expression "pcVar29 + 0x5cc90" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) , (binary_expression "(*(ushort *)(*piVar17 + uVar26 * 2) & 1) != 0" (parenthesized_expression "(*(ushort *)(*piVar17 + uVar26 * 2) & 1)" ( (binary_expression "*(ushort *)(*piVar17 + uVar26 * 2) & 1" (pointer_expression "*(ushort *)(*piVar17 + uVar26 * 2)" * (cast_expression "(ushort *)(*piVar17 + uVar26 * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar17 + uVar26 * 2)" ( (binary_expression "*piVar17 + uVar26 * 2" (pointer_expression "*piVar17" * identifier) + (binary_expression "uVar26 * 2" identifier * number_literal)) )))) & number_literal) )) != number_literal)) ))) )) (compound_statement "{\n          piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc94))();\n          psStack_214 = *(stat **)(*piVar17 + uVar26 * 4);\n        }" { (expression_statement "piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc94))();" (assignment_expression "piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc94))()" identifier = (cast_expression "(int *)(**(code **)(pcVar29 + 0x5cc94))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar29 + 0x5cc94))()" (parenthesized_expression "(**(code **)(pcVar29 + 0x5cc94))" ( (pointer_expression "**(code **)(pcVar29 + 0x5cc94)" * (pointer_expression "*(code **)(pcVar29 + 0x5cc94)" * (cast_expression "(code **)(pcVar29 + 0x5cc94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5cc94)" ( (binary_expression "pcVar29 + 0x5cc94" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "psStack_214 = *(stat **)(*piVar17 + uVar26 * 4);" (assignment_expression "psStack_214 = *(stat **)(*piVar17 + uVar26 * 4)" identifier = (pointer_expression "*(stat **)(*piVar17 + uVar26 * 4)" * (cast_expression "(stat **)(*piVar17 + uVar26 * 4)" ( (type_descriptor "stat **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar17 + uVar26 * 4)" ( (binary_expression "*piVar17 + uVar26 * 4" (pointer_expression "*piVar17" * identifier) + (binary_expression "uVar26 * 4" identifier * number_literal)) ))))) ;) })) (expression_statement "uVar26 = (uint)(char)*pbStack_228;" (assignment_expression "uVar26 = (uint)(char)*pbStack_228" identifier = (binary_expression "(uint)(char)*pbStack_228" (call_expression "(uint)(char)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(char)" ( identifier ))) * identifier)) ;) (expression_statement "uVar27 = (uint)*pbStack_228;" (assignment_expression "uVar27 = (uint)*pbStack_228" identifier = (binary_expression "(uint)*pbStack_228" (parenthesized_expression "(uint)" ( identifier )) * identifier)) ;) (expression_statement "uStack_210 = uVar26;" (assignment_expression "uStack_210 = uVar26" identifier = identifier) ;) (if_statement "if (uVar27 == uVar26) {\n          piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc90))();\n          if ((*(ushort *)(*piVar17 + uVar27 * 2) & 1) != 0) {\n            piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc94))();\n            uStack_210 = *(uint *)(*piVar17 + uVar27 * 4);\n          }\n        }" if (parenthesized_expression "(uVar27 == uVar26)" ( (binary_expression "uVar27 == uVar26" identifier == identifier) )) (compound_statement "{\n          piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc90))();\n          if ((*(ushort *)(*piVar17 + uVar27 * 2) & 1) != 0) {\n            piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc94))();\n            uStack_210 = *(uint *)(*piVar17 + uVar27 * 4);\n          }\n        }" { (expression_statement "piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc90))();" (assignment_expression "piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc90))()" identifier = (cast_expression "(int *)(**(code **)(pcVar29 + 0x5cc90))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar29 + 0x5cc90))()" (parenthesized_expression "(**(code **)(pcVar29 + 0x5cc90))" ( (pointer_expression "**(code **)(pcVar29 + 0x5cc90)" * (pointer_expression "*(code **)(pcVar29 + 0x5cc90)" * (cast_expression "(code **)(pcVar29 + 0x5cc90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5cc90)" ( (binary_expression "pcVar29 + 0x5cc90" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (if_statement "if ((*(ushort *)(*piVar17 + uVar27 * 2) & 1) != 0) {\n            piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc94))();\n            uStack_210 = *(uint *)(*piVar17 + uVar27 * 4);\n          }" if (parenthesized_expression "((*(ushort *)(*piVar17 + uVar27 * 2) & 1) != 0)" ( (binary_expression "(*(ushort *)(*piVar17 + uVar27 * 2) & 1) != 0" (parenthesized_expression "(*(ushort *)(*piVar17 + uVar27 * 2) & 1)" ( (binary_expression "*(ushort *)(*piVar17 + uVar27 * 2) & 1" (pointer_expression "*(ushort *)(*piVar17 + uVar27 * 2)" * (cast_expression "(ushort *)(*piVar17 + uVar27 * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar17 + uVar27 * 2)" ( (binary_expression "*piVar17 + uVar27 * 2" (pointer_expression "*piVar17" * identifier) + (binary_expression "uVar27 * 2" identifier * number_literal)) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n            piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc94))();\n            uStack_210 = *(uint *)(*piVar17 + uVar27 * 4);\n          }" { (expression_statement "piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc94))();" (assignment_expression "piVar17 = (int *)(**(code **)(pcVar29 + 0x5cc94))()" identifier = (cast_expression "(int *)(**(code **)(pcVar29 + 0x5cc94))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar29 + 0x5cc94))()" (parenthesized_expression "(**(code **)(pcVar29 + 0x5cc94))" ( (pointer_expression "**(code **)(pcVar29 + 0x5cc94)" * (pointer_expression "*(code **)(pcVar29 + 0x5cc94)" * (cast_expression "(code **)(pcVar29 + 0x5cc94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5cc94)" ( (binary_expression "pcVar29 + 0x5cc94" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "uStack_210 = *(uint *)(*piVar17 + uVar27 * 4);" (assignment_expression "uStack_210 = *(uint *)(*piVar17 + uVar27 * 4)" identifier = (pointer_expression "*(uint *)(*piVar17 + uVar27 * 4)" * (cast_expression "(uint *)(*piVar17 + uVar27 * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar17 + uVar27 * 4)" ( (binary_expression "*piVar17 + uVar27 * 4" (pointer_expression "*piVar17" * identifier) + (binary_expression "uVar27 * 4" identifier * number_literal)) ))))) ;) })) })) (if_statement "if ((((uVar5 != 0x2d) && (uVar5 != 0x5f)) || ((uVar26 != 0x2d && (uVar26 != 0x5f)))) &&\n           (psStack_214 != (stat *)uStack_210)) break;" if (parenthesized_expression "((((uVar5 != 0x2d) && (uVar5 != 0x5f)) || ((uVar26 != 0x2d && (uVar26 != 0x5f)))) &&\n           (psStack_214 != (stat *)uStack_210))" ( (binary_expression "(((uVar5 != 0x2d) && (uVar5 != 0x5f)) || ((uVar26 != 0x2d && (uVar26 != 0x5f)))) &&\n           (psStack_214 != (stat *)uStack_210)" (parenthesized_expression "(((uVar5 != 0x2d) && (uVar5 != 0x5f)) || ((uVar26 != 0x2d && (uVar26 != 0x5f))))" ( (binary_expression "((uVar5 != 0x2d) && (uVar5 != 0x5f)) || ((uVar26 != 0x2d && (uVar26 != 0x5f)))" (parenthesized_expression "((uVar5 != 0x2d) && (uVar5 != 0x5f))" ( (binary_expression "(uVar5 != 0x2d) && (uVar5 != 0x5f)" (parenthesized_expression "(uVar5 != 0x2d)" ( (binary_expression "uVar5 != 0x2d" identifier != number_literal) )) && (parenthesized_expression "(uVar5 != 0x5f)" ( (binary_expression "uVar5 != 0x5f" identifier != number_literal) ))) )) || (parenthesized_expression "((uVar26 != 0x2d && (uVar26 != 0x5f)))" ( (parenthesized_expression "(uVar26 != 0x2d && (uVar26 != 0x5f))" ( (binary_expression "uVar26 != 0x2d && (uVar26 != 0x5f)" (binary_expression "uVar26 != 0x2d" identifier != number_literal) && (parenthesized_expression "(uVar26 != 0x5f)" ( (binary_expression "uVar26 != 0x5f" identifier != number_literal) ))) )) ))) )) && (parenthesized_expression "(psStack_214 != (stat *)uStack_210)" ( (binary_expression "psStack_214 != (stat *)uStack_210" identifier != (cast_expression "(stat *)uStack_210" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) )) (break_statement "break;" break ;)) (expression_statement "psVar20 = (stat *)((int)&psVar20->st_dev + 1);" (assignment_expression "psVar20 = (stat *)((int)&psVar20->st_dev + 1)" identifier = (cast_expression "(stat *)((int)&psVar20->st_dev + 1)" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psVar20->st_dev + 1)" ( (binary_expression "(int)&psVar20->st_dev + 1" (cast_expression "(int)&psVar20->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psVar20->st_dev" & (field_expression "psVar20->st_dev" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "pbStack_228 = pbStack_228 + 1;" (assignment_expression "pbStack_228 = pbStack_228 + 1" identifier = (binary_expression "pbStack_228 + 1" identifier + number_literal)) ;) (expression_statement "iVar15 = *(int *)(pcVar29 + 0x5af4c);" (assignment_expression "iVar15 = *(int *)(pcVar29 + 0x5af4c)" identifier = (pointer_expression "*(int *)(pcVar29 + 0x5af4c)" * (cast_expression "(int *)(pcVar29 + 0x5af4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x5af4c)" ( (binary_expression "pcVar29 + 0x5af4c" identifier + number_literal) ))))) ;) (if_statement "if (psVar20 == (stat *)((int)psVar22->st_pad1 + iVar25 + -4)) goto LAB_000fbbb4;" if (parenthesized_expression "(psVar20 == (stat *)((int)psVar22->st_pad1 + iVar25 + -4))" ( (binary_expression "psVar20 == (stat *)((int)psVar22->st_pad1 + iVar25 + -4)" identifier == (cast_expression "(stat *)((int)psVar22->st_pad1 + iVar25 + -4)" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psVar22->st_pad1 + iVar25 + -4)" ( (binary_expression "(int)psVar22->st_pad1 + iVar25 + -4" (binary_expression "(int)psVar22->st_pad1 + iVar25" (cast_expression "(int)psVar22->st_pad1" ( (type_descriptor "int" primitive_type) ) (field_expression "psVar22->st_pad1" identifier -> field_identifier)) + identifier) + number_literal) )))) )) (goto_statement "goto LAB_000fbbb4;" goto statement_identifier ;)) })) }))) (goto_statement "goto LAB_000fbb0c;" goto statement_identifier ;) })) (if_statement "if (*(byte *)&psVar22->st_dev != *pbStack_228) goto LAB_000fbb0c;" if (parenthesized_expression "(*(byte *)&psVar22->st_dev != *pbStack_228)" ( (binary_expression "*(byte *)&psVar22->st_dev != *pbStack_228" (pointer_expression "*(byte *)&psVar22->st_dev" * (cast_expression "(byte *)&psVar22->st_dev" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psVar22->st_dev" & (field_expression "psVar22->st_dev" identifier -> field_identifier)))) != (pointer_expression "*pbStack_228" * identifier)) )) (goto_statement "goto LAB_000fbb0c;" goto statement_identifier ;)) (expression_statement "iVar19 = (**(code **)(pcVar29 + 0x5cce8))(pbStack_228,psVar22,iVar25);" (assignment_expression "iVar19 = (**(code **)(pcVar29 + 0x5cce8))(pbStack_228,psVar22,iVar25)" identifier = (call_expression "(**(code **)(pcVar29 + 0x5cce8))(pbStack_228,psVar22,iVar25)" (parenthesized_expression "(**(code **)(pcVar29 + 0x5cce8))" ( (pointer_expression "**(code **)(pcVar29 + 0x5cce8)" * (pointer_expression "*(code **)(pcVar29 + 0x5cce8)" * (cast_expression "(code **)(pcVar29 + 0x5cce8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5cce8)" ( (binary_expression "pcVar29 + 0x5cce8" identifier + number_literal) ))))) )) (argument_list "(pbStack_228,psVar22,iVar25)" ( identifier , identifier , identifier )))) ;) (labeled_statement "LAB_000fc280:\n  if (iVar19 != 0) goto LAB_000fbb0c;" statement_identifier : (if_statement "if (iVar19 != 0) goto LAB_000fbb0c;" if (parenthesized_expression "(iVar19 != 0)" ( (binary_expression "iVar19 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000fbb0c;" goto statement_identifier ;))) (expression_statement "pcVar23 = *(char **)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8);" (assignment_expression "pcVar23 = *(char **)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8)" identifier = (pointer_expression "*(char **)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8)" * (cast_expression "(char **)(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcVar29 + 0x5af4c) + -0x3fd8)" ( (binary_expression "*(int *)(pcVar29 + 0x5af4c) + -0x3fd8" (pointer_expression "*(int *)(pcVar29 + 0x5af4c)" * (cast_expression "(int *)(pcVar29 + 0x5af4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x5af4c)" ( (binary_expression "pcVar29 + 0x5af4c" identifier + number_literal) )))) + number_literal) ))))) ;) (goto_statement "goto LAB_000fbbb8;" goto statement_identifier ;) (labeled_statement "LAB_000fc0a8:\n  iVar15 = (**(code **)(pcVar29 + 0x5ce9c))(&iStack_1fc,psStack_214,iVar19,&uStack_1f4);" statement_identifier : (expression_statement "iVar15 = (**(code **)(pcVar29 + 0x5ce9c))(&iStack_1fc,psStack_214,iVar19,&uStack_1f4);" (assignment_expression "iVar15 = (**(code **)(pcVar29 + 0x5ce9c))(&iStack_1fc,psStack_214,iVar19,&uStack_1f4)" identifier = (call_expression "(**(code **)(pcVar29 + 0x5ce9c))(&iStack_1fc,psStack_214,iVar19,&uStack_1f4)" (parenthesized_expression "(**(code **)(pcVar29 + 0x5ce9c))" ( (pointer_expression "**(code **)(pcVar29 + 0x5ce9c)" * (pointer_expression "*(code **)(pcVar29 + 0x5ce9c)" * (cast_expression "(code **)(pcVar29 + 0x5ce9c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5ce9c)" ( (binary_expression "pcVar29 + 0x5ce9c" identifier + number_literal) ))))) )) (argument_list "(&iStack_1fc,psStack_214,iVar19,&uStack_1f4)" ( (pointer_expression "&iStack_1fc" & identifier) , identifier , identifier , (pointer_expression "&uStack_1f4" & identifier) )))) ;)) (expression_statement "iVar16 = (**(code **)(pcVar29 + 0x5ce9c))(&iStack_1f8,pbStack_228,iVar25,&uStack_1ec);" (assignment_expression "iVar16 = (**(code **)(pcVar29 + 0x5ce9c))(&iStack_1f8,pbStack_228,iVar25,&uStack_1ec)" identifier = (call_expression "(**(code **)(pcVar29 + 0x5ce9c))(&iStack_1f8,pbStack_228,iVar25,&uStack_1ec)" (parenthesized_expression "(**(code **)(pcVar29 + 0x5ce9c))" ( (pointer_expression "**(code **)(pcVar29 + 0x5ce9c)" * (pointer_expression "*(code **)(pcVar29 + 0x5ce9c)" * (cast_expression "(code **)(pcVar29 + 0x5ce9c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5ce9c)" ( (binary_expression "pcVar29 + 0x5ce9c" identifier + number_literal) ))))) )) (argument_list "(&iStack_1f8,pbStack_228,iVar25,&uStack_1ec)" ( (pointer_expression "&iStack_1f8" & identifier) , identifier , identifier , (pointer_expression "&uStack_1ec" & identifier) )))) ;) (if_statement "if (iVar15 == 0) {\n    if (iVar16 == 0) goto LAB_000fbbb0;\nLAB_000fc100:\n    if (iVar16 + 2U < 2) goto LAB_000fc060;\n    iVar16 = (**(code **)(pcVar29 + 0x5cf58))(iStack_1fc);\n    iStack_1fc = iVar16;\n    iStack_1f8 = (**(code **)(pcVar29 + 0x5cf58))(iStack_1f8);\n    if (iVar16 != iStack_1f8) goto LAB_000fbb0c;\n    psStack_214 = (stat *)((int)psStack_214->st_pad1 + iVar15 + -4);\n    pbStack_228 = pbStack_228 + iVar15;\n    iStack_208 = iStack_208 - iVar15;\n  }\n  else {\n    if (1 < iVar15 + 2U) goto LAB_000fc100;\nLAB_000fc060:\n    if (*(byte *)&psStack_214->st_dev != *pbStack_228) goto LAB_000fbb0c;\n    psStack_214 = (stat *)((int)&psStack_214->st_dev + 1);\n    pbStack_228 = pbStack_228 + 1;\n    iStack_208 = iStack_208 + -1;\n  }" if (parenthesized_expression "(iVar15 == 0)" ( (binary_expression "iVar15 == 0" identifier == number_literal) )) (compound_statement "{\n    if (iVar16 == 0) goto LAB_000fbbb0;\nLAB_000fc100:\n    if (iVar16 + 2U < 2) goto LAB_000fc060;\n    iVar16 = (**(code **)(pcVar29 + 0x5cf58))(iStack_1fc);\n    iStack_1fc = iVar16;\n    iStack_1f8 = (**(code **)(pcVar29 + 0x5cf58))(iStack_1f8);\n    if (iVar16 != iStack_1f8) goto LAB_000fbb0c;\n    psStack_214 = (stat *)((int)psStack_214->st_pad1 + iVar15 + -4);\n    pbStack_228 = pbStack_228 + iVar15;\n    iStack_208 = iStack_208 - iVar15;\n  }" { (if_statement "if (iVar16 == 0) goto LAB_000fbbb0;" if (parenthesized_expression "(iVar16 == 0)" ( (binary_expression "iVar16 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000fbbb0;" goto statement_identifier ;)) (labeled_statement "LAB_000fc100:\n    if (iVar16 + 2U < 2) goto LAB_000fc060;" statement_identifier : (if_statement "if (iVar16 + 2U < 2) goto LAB_000fc060;" if (parenthesized_expression "(iVar16 + 2U < 2)" ( (binary_expression "iVar16 + 2U < 2" (binary_expression "iVar16 + 2U" identifier + number_literal) < number_literal) )) (goto_statement "goto LAB_000fc060;" goto statement_identifier ;))) (expression_statement "iVar16 = (**(code **)(pcVar29 + 0x5cf58))(iStack_1fc);" (assignment_expression "iVar16 = (**(code **)(pcVar29 + 0x5cf58))(iStack_1fc)" identifier = (call_expression "(**(code **)(pcVar29 + 0x5cf58))(iStack_1fc)" (parenthesized_expression "(**(code **)(pcVar29 + 0x5cf58))" ( (pointer_expression "**(code **)(pcVar29 + 0x5cf58)" * (pointer_expression "*(code **)(pcVar29 + 0x5cf58)" * (cast_expression "(code **)(pcVar29 + 0x5cf58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5cf58)" ( (binary_expression "pcVar29 + 0x5cf58" identifier + number_literal) ))))) )) (argument_list "(iStack_1fc)" ( identifier )))) ;) (expression_statement "iStack_1fc = iVar16;" (assignment_expression "iStack_1fc = iVar16" identifier = identifier) ;) (expression_statement "iStack_1f8 = (**(code **)(pcVar29 + 0x5cf58))(iStack_1f8);" (assignment_expression "iStack_1f8 = (**(code **)(pcVar29 + 0x5cf58))(iStack_1f8)" identifier = (call_expression "(**(code **)(pcVar29 + 0x5cf58))(iStack_1f8)" (parenthesized_expression "(**(code **)(pcVar29 + 0x5cf58))" ( (pointer_expression "**(code **)(pcVar29 + 0x5cf58)" * (pointer_expression "*(code **)(pcVar29 + 0x5cf58)" * (cast_expression "(code **)(pcVar29 + 0x5cf58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5cf58)" ( (binary_expression "pcVar29 + 0x5cf58" identifier + number_literal) ))))) )) (argument_list "(iStack_1f8)" ( identifier )))) ;) (if_statement "if (iVar16 != iStack_1f8) goto LAB_000fbb0c;" if (parenthesized_expression "(iVar16 != iStack_1f8)" ( (binary_expression "iVar16 != iStack_1f8" identifier != identifier) )) (goto_statement "goto LAB_000fbb0c;" goto statement_identifier ;)) (expression_statement "psStack_214 = (stat *)((int)psStack_214->st_pad1 + iVar15 + -4);" (assignment_expression "psStack_214 = (stat *)((int)psStack_214->st_pad1 + iVar15 + -4)" identifier = (cast_expression "(stat *)((int)psStack_214->st_pad1 + iVar15 + -4)" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)psStack_214->st_pad1 + iVar15 + -4)" ( (binary_expression "(int)psStack_214->st_pad1 + iVar15 + -4" (binary_expression "(int)psStack_214->st_pad1 + iVar15" (cast_expression "(int)psStack_214->st_pad1" ( (type_descriptor "int" primitive_type) ) (field_expression "psStack_214->st_pad1" identifier -> field_identifier)) + identifier) + number_literal) )))) ;) (expression_statement "pbStack_228 = pbStack_228 + iVar15;" (assignment_expression "pbStack_228 = pbStack_228 + iVar15" identifier = (binary_expression "pbStack_228 + iVar15" identifier + identifier)) ;) (expression_statement "iStack_208 = iStack_208 - iVar15;" (assignment_expression "iStack_208 = iStack_208 - iVar15" identifier = (binary_expression "iStack_208 - iVar15" identifier - identifier)) ;) }) (else_clause "else {\n    if (1 < iVar15 + 2U) goto LAB_000fc100;\nLAB_000fc060:\n    if (*(byte *)&psStack_214->st_dev != *pbStack_228) goto LAB_000fbb0c;\n    psStack_214 = (stat *)((int)&psStack_214->st_dev + 1);\n    pbStack_228 = pbStack_228 + 1;\n    iStack_208 = iStack_208 + -1;\n  }" else (compound_statement "{\n    if (1 < iVar15 + 2U) goto LAB_000fc100;\nLAB_000fc060:\n    if (*(byte *)&psStack_214->st_dev != *pbStack_228) goto LAB_000fbb0c;\n    psStack_214 = (stat *)((int)&psStack_214->st_dev + 1);\n    pbStack_228 = pbStack_228 + 1;\n    iStack_208 = iStack_208 + -1;\n  }" { (if_statement "if (1 < iVar15 + 2U) goto LAB_000fc100;" if (parenthesized_expression "(1 < iVar15 + 2U)" ( (binary_expression "1 < iVar15 + 2U" number_literal < (binary_expression "iVar15 + 2U" identifier + number_literal)) )) (goto_statement "goto LAB_000fc100;" goto statement_identifier ;)) (labeled_statement "LAB_000fc060:\n    if (*(byte *)&psStack_214->st_dev != *pbStack_228) goto LAB_000fbb0c;" statement_identifier : (if_statement "if (*(byte *)&psStack_214->st_dev != *pbStack_228) goto LAB_000fbb0c;" if (parenthesized_expression "(*(byte *)&psStack_214->st_dev != *pbStack_228)" ( (binary_expression "*(byte *)&psStack_214->st_dev != *pbStack_228" (pointer_expression "*(byte *)&psStack_214->st_dev" * (cast_expression "(byte *)&psStack_214->st_dev" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&psStack_214->st_dev" & (field_expression "psStack_214->st_dev" identifier -> field_identifier)))) != (pointer_expression "*pbStack_228" * identifier)) )) (goto_statement "goto LAB_000fbb0c;" goto statement_identifier ;))) (expression_statement "psStack_214 = (stat *)((int)&psStack_214->st_dev + 1);" (assignment_expression "psStack_214 = (stat *)((int)&psStack_214->st_dev + 1)" identifier = (cast_expression "(stat *)((int)&psStack_214->st_dev + 1)" ( (type_descriptor "stat *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&psStack_214->st_dev + 1)" ( (binary_expression "(int)&psStack_214->st_dev + 1" (cast_expression "(int)&psStack_214->st_dev" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&psStack_214->st_dev" & (field_expression "psStack_214->st_dev" identifier -> field_identifier))) + number_literal) )))) ;) (expression_statement "pbStack_228 = pbStack_228 + 1;" (assignment_expression "pbStack_228 = pbStack_228 + 1" identifier = (binary_expression "pbStack_228 + 1" identifier + number_literal)) ;) (expression_statement "iStack_208 = iStack_208 + -1;" (assignment_expression "iStack_208 = iStack_208 + -1" identifier = (binary_expression "iStack_208 + -1" identifier + number_literal)) ;) }))) (expression_statement "iVar15 = *(int *)(pcVar29 + 0x5af4c);" (assignment_expression "iVar15 = *(int *)(pcVar29 + 0x5af4c)" identifier = (pointer_expression "*(int *)(pcVar29 + 0x5af4c)" * (cast_expression "(int *)(pcVar29 + 0x5af4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x5af4c)" ( (binary_expression "pcVar29 + 0x5af4c" identifier + number_literal) ))))) ;) (if_statement "if (iStack_208 == 0) goto LAB_000fbbb4;" if (parenthesized_expression "(iStack_208 == 0)" ( (binary_expression "iStack_208 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000fbbb4;" goto statement_identifier ;)) (goto_statement "goto LAB_000fc0a8;" goto statement_identifier ;) (labeled_statement "code_r0x000fbef4:\n  iVar19 = *(int *)(iVar6 + -0x3fd4);" statement_identifier : (expression_statement "iVar19 = *(int *)(iVar6 + -0x3fd4);" (assignment_expression "iVar19 = *(int *)(iVar6 + -0x3fd4)" identifier = (pointer_expression "*(int *)(iVar6 + -0x3fd4)" * (cast_expression "(int *)(iVar6 + -0x3fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + -0x3fd4)" ( (binary_expression "iVar6 + -0x3fd4" identifier + number_literal) ))))) ;)) (goto_statement "goto LAB_000fbb10;" goto statement_identifier ;) (labeled_statement "LAB_000fbbb0:\n  iVar15 = *(int *)(pcVar29 + 0x5af4c);" statement_identifier : (expression_statement "iVar15 = *(int *)(pcVar29 + 0x5af4c);" (assignment_expression "iVar15 = *(int *)(pcVar29 + 0x5af4c)" identifier = (pointer_expression "*(int *)(pcVar29 + 0x5af4c)" * (cast_expression "(int *)(pcVar29 + 0x5af4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x5af4c)" ( (binary_expression "pcVar29 + 0x5af4c" identifier + number_literal) ))))) ;)) (labeled_statement "LAB_000fbbb4:\n  pcVar23 = *(char **)(iVar15 + -0x3fd8);" statement_identifier : (expression_statement "pcVar23 = *(char **)(iVar15 + -0x3fd8);" (assignment_expression "pcVar23 = *(char **)(iVar15 + -0x3fd8)" identifier = (pointer_expression "*(char **)(iVar15 + -0x3fd8)" * (cast_expression "(char **)(iVar15 + -0x3fd8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar15 + -0x3fd8)" ( (binary_expression "iVar15 + -0x3fd8" identifier + number_literal) ))))) ;)) (labeled_statement "LAB_000fbbb8:\n  if ((pcVar23 == (char *)0x0) ||\n     ((piVar4 = *(int **)(pcVar29 + 0x5c978), *pcVar23 == '.' &&\n      (piVar4 = *(int **)(pcVar29 + 0x5c978), pcVar23[1] == '\0')))) {\n    iVar6 = (**(code **)(pcVar29 + 0x5ce24))(psVar22);\n    uVar9 = (**(code **)(pcVar29 + 0x5af98))(iVar6 + 1);\n    iVar6 = (**(code **)(pcVar29 + 0x5ceac))(uVar9,psVar22);\n  }\n  else {\n    if ((*piVar4 == 0) || (**(char **)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0) != '~')) {\n      iVar13 = *(int *)(pcVar29 + 0x5af4c);\n      iVar12 = (**(code **)(pcVar29 + 0x5ce24))(*(undefined4 *)(iVar13 + -0x3fe0));\n      iVar6 = (**(code **)(pcVar29 + 0x5ce24))(iVar14 + 0x13);\n      iVar6 = (**(code **)(pcVar29 + 0x5af98))(iVar12 + iVar6 + 2);\n      iVar13 = *(int *)(iVar13 + -0x3fe0);\n      (**(code **)(pcVar29 + 0x5ceac))(iVar6,iVar13);\n      if (*(char *)(iVar13 + iVar12 + -1) != '/') {\n        *(undefined1 *)(iVar6 + iVar12) = 0x2f;\n        iVar12 = iVar12 + 1;\n      }\n    }\n    else {\n      iVar13 = (**(code **)(pcVar29 + 0x5ce24))();\n      iVar6 = (**(code **)(pcVar29 + 0x5ce24))(iVar14 + 0x13);\n      iVar6 = (**(code **)(pcVar29 + 0x5af98))(iVar13 + iVar6 + 2);\n      iVar14 = *(int *)(pcVar29 + 0x5af4c);\n      (**(code **)(pcVar29 + 0x5ceac))(iVar6,*(undefined4 *)(iVar14 + -0x3fd8));\n      iVar12 = iVar13;\n      if (*(char *)(*(int *)(iVar14 + -0x3fd8) + iVar13 + -1) != '/') {\n        iVar12 = iVar13 + 1;\n        *(undefined1 *)(iVar6 + iVar13) = 0x2f;\n        *(undefined1 *)(iVar6 + iVar12) = 0;\n      }\n    }\n    (**(code **)(pcVar29 + 0x5ceac))(iVar6 + iVar12,psVar22);\n  }" statement_identifier : (if_statement "if ((pcVar23 == (char *)0x0) ||\n     ((piVar4 = *(int **)(pcVar29 + 0x5c978), *pcVar23 == '.' &&\n      (piVar4 = *(int **)(pcVar29 + 0x5c978), pcVar23[1] == '\0')))) {\n    iVar6 = (**(code **)(pcVar29 + 0x5ce24))(psVar22);\n    uVar9 = (**(code **)(pcVar29 + 0x5af98))(iVar6 + 1);\n    iVar6 = (**(code **)(pcVar29 + 0x5ceac))(uVar9,psVar22);\n  }\n  else {\n    if ((*piVar4 == 0) || (**(char **)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0) != '~')) {\n      iVar13 = *(int *)(pcVar29 + 0x5af4c);\n      iVar12 = (**(code **)(pcVar29 + 0x5ce24))(*(undefined4 *)(iVar13 + -0x3fe0));\n      iVar6 = (**(code **)(pcVar29 + 0x5ce24))(iVar14 + 0x13);\n      iVar6 = (**(code **)(pcVar29 + 0x5af98))(iVar12 + iVar6 + 2);\n      iVar13 = *(int *)(iVar13 + -0x3fe0);\n      (**(code **)(pcVar29 + 0x5ceac))(iVar6,iVar13);\n      if (*(char *)(iVar13 + iVar12 + -1) != '/') {\n        *(undefined1 *)(iVar6 + iVar12) = 0x2f;\n        iVar12 = iVar12 + 1;\n      }\n    }\n    else {\n      iVar13 = (**(code **)(pcVar29 + 0x5ce24))();\n      iVar6 = (**(code **)(pcVar29 + 0x5ce24))(iVar14 + 0x13);\n      iVar6 = (**(code **)(pcVar29 + 0x5af98))(iVar13 + iVar6 + 2);\n      iVar14 = *(int *)(pcVar29 + 0x5af4c);\n      (**(code **)(pcVar29 + 0x5ceac))(iVar6,*(undefined4 *)(iVar14 + -0x3fd8));\n      iVar12 = iVar13;\n      if (*(char *)(*(int *)(iVar14 + -0x3fd8) + iVar13 + -1) != '/') {\n        iVar12 = iVar13 + 1;\n        *(undefined1 *)(iVar6 + iVar13) = 0x2f;\n        *(undefined1 *)(iVar6 + iVar12) = 0;\n      }\n    }\n    (**(code **)(pcVar29 + 0x5ceac))(iVar6 + iVar12,psVar22);\n  }" if (parenthesized_expression "((pcVar23 == (char *)0x0) ||\n     ((piVar4 = *(int **)(pcVar29 + 0x5c978), *pcVar23 == '.' &&\n      (piVar4 = *(int **)(pcVar29 + 0x5c978), pcVar23[1] == '\0'))))" ( (binary_expression "(pcVar23 == (char *)0x0) ||\n     ((piVar4 = *(int **)(pcVar29 + 0x5c978), *pcVar23 == '.' &&\n      (piVar4 = *(int **)(pcVar29 + 0x5c978), pcVar23[1] == '\0')))" (parenthesized_expression "(pcVar23 == (char *)0x0)" ( (binary_expression "pcVar23 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "((piVar4 = *(int **)(pcVar29 + 0x5c978), *pcVar23 == '.' &&\n      (piVar4 = *(int **)(pcVar29 + 0x5c978), pcVar23[1] == '\0')))" ( (parenthesized_expression "(piVar4 = *(int **)(pcVar29 + 0x5c978), *pcVar23 == '.' &&\n      (piVar4 = *(int **)(pcVar29 + 0x5c978), pcVar23[1] == '\0'))" ( (comma_expression "piVar4 = *(int **)(pcVar29 + 0x5c978), *pcVar23 == '.' &&\n      (piVar4 = *(int **)(pcVar29 + 0x5c978), pcVar23[1] == '\0')" (assignment_expression "piVar4 = *(int **)(pcVar29 + 0x5c978)" identifier = (pointer_expression "*(int **)(pcVar29 + 0x5c978)" * (cast_expression "(int **)(pcVar29 + 0x5c978)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5c978)" ( (binary_expression "pcVar29 + 0x5c978" identifier + number_literal) ))))) , (binary_expression "*pcVar23 == '.' &&\n      (piVar4 = *(int **)(pcVar29 + 0x5c978), pcVar23[1] == '\0')" (binary_expression "*pcVar23 == '.'" (pointer_expression "*pcVar23" * identifier) == (char_literal "'.'" ' character ')) && (parenthesized_expression "(piVar4 = *(int **)(pcVar29 + 0x5c978), pcVar23[1] == '\0')" ( (comma_expression "piVar4 = *(int **)(pcVar29 + 0x5c978), pcVar23[1] == '\0'" (assignment_expression "piVar4 = *(int **)(pcVar29 + 0x5c978)" identifier = (pointer_expression "*(int **)(pcVar29 + 0x5c978)" * (cast_expression "(int **)(pcVar29 + 0x5c978)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5c978)" ( (binary_expression "pcVar29 + 0x5c978" identifier + number_literal) ))))) , (binary_expression "pcVar23[1] == '\0'" (subscript_expression "pcVar23[1]" identifier [ number_literal ]) == (char_literal "'\0'" ' escape_sequence '))) )))) )) ))) )) (compound_statement "{\n    iVar6 = (**(code **)(pcVar29 + 0x5ce24))(psVar22);\n    uVar9 = (**(code **)(pcVar29 + 0x5af98))(iVar6 + 1);\n    iVar6 = (**(code **)(pcVar29 + 0x5ceac))(uVar9,psVar22);\n  }" { (expression_statement "iVar6 = (**(code **)(pcVar29 + 0x5ce24))(psVar22);" (assignment_expression "iVar6 = (**(code **)(pcVar29 + 0x5ce24))(psVar22)" identifier = (call_expression "(**(code **)(pcVar29 + 0x5ce24))(psVar22)" (parenthesized_expression "(**(code **)(pcVar29 + 0x5ce24))" ( (pointer_expression "**(code **)(pcVar29 + 0x5ce24)" * (pointer_expression "*(code **)(pcVar29 + 0x5ce24)" * (cast_expression "(code **)(pcVar29 + 0x5ce24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5ce24)" ( (binary_expression "pcVar29 + 0x5ce24" identifier + number_literal) ))))) )) (argument_list "(psVar22)" ( identifier )))) ;) (expression_statement "uVar9 = (**(code **)(pcVar29 + 0x5af98))(iVar6 + 1);" (assignment_expression "uVar9 = (**(code **)(pcVar29 + 0x5af98))(iVar6 + 1)" identifier = (call_expression "(**(code **)(pcVar29 + 0x5af98))(iVar6 + 1)" (parenthesized_expression "(**(code **)(pcVar29 + 0x5af98))" ( (pointer_expression "**(code **)(pcVar29 + 0x5af98)" * (pointer_expression "*(code **)(pcVar29 + 0x5af98)" * (cast_expression "(code **)(pcVar29 + 0x5af98)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5af98)" ( (binary_expression "pcVar29 + 0x5af98" identifier + number_literal) ))))) )) (argument_list "(iVar6 + 1)" ( (binary_expression "iVar6 + 1" identifier + number_literal) )))) ;) (expression_statement "iVar6 = (**(code **)(pcVar29 + 0x5ceac))(uVar9,psVar22);" (assignment_expression "iVar6 = (**(code **)(pcVar29 + 0x5ceac))(uVar9,psVar22)" identifier = (call_expression "(**(code **)(pcVar29 + 0x5ceac))(uVar9,psVar22)" (parenthesized_expression "(**(code **)(pcVar29 + 0x5ceac))" ( (pointer_expression "**(code **)(pcVar29 + 0x5ceac)" * (pointer_expression "*(code **)(pcVar29 + 0x5ceac)" * (cast_expression "(code **)(pcVar29 + 0x5ceac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5ceac)" ( (binary_expression "pcVar29 + 0x5ceac" identifier + number_literal) ))))) )) (argument_list "(uVar9,psVar22)" ( identifier , identifier )))) ;) }) (else_clause "else {\n    if ((*piVar4 == 0) || (**(char **)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0) != '~')) {\n      iVar13 = *(int *)(pcVar29 + 0x5af4c);\n      iVar12 = (**(code **)(pcVar29 + 0x5ce24))(*(undefined4 *)(iVar13 + -0x3fe0));\n      iVar6 = (**(code **)(pcVar29 + 0x5ce24))(iVar14 + 0x13);\n      iVar6 = (**(code **)(pcVar29 + 0x5af98))(iVar12 + iVar6 + 2);\n      iVar13 = *(int *)(iVar13 + -0x3fe0);\n      (**(code **)(pcVar29 + 0x5ceac))(iVar6,iVar13);\n      if (*(char *)(iVar13 + iVar12 + -1) != '/') {\n        *(undefined1 *)(iVar6 + iVar12) = 0x2f;\n        iVar12 = iVar12 + 1;\n      }\n    }\n    else {\n      iVar13 = (**(code **)(pcVar29 + 0x5ce24))();\n      iVar6 = (**(code **)(pcVar29 + 0x5ce24))(iVar14 + 0x13);\n      iVar6 = (**(code **)(pcVar29 + 0x5af98))(iVar13 + iVar6 + 2);\n      iVar14 = *(int *)(pcVar29 + 0x5af4c);\n      (**(code **)(pcVar29 + 0x5ceac))(iVar6,*(undefined4 *)(iVar14 + -0x3fd8));\n      iVar12 = iVar13;\n      if (*(char *)(*(int *)(iVar14 + -0x3fd8) + iVar13 + -1) != '/') {\n        iVar12 = iVar13 + 1;\n        *(undefined1 *)(iVar6 + iVar13) = 0x2f;\n        *(undefined1 *)(iVar6 + iVar12) = 0;\n      }\n    }\n    (**(code **)(pcVar29 + 0x5ceac))(iVar6 + iVar12,psVar22);\n  }" else (compound_statement "{\n    if ((*piVar4 == 0) || (**(char **)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0) != '~')) {\n      iVar13 = *(int *)(pcVar29 + 0x5af4c);\n      iVar12 = (**(code **)(pcVar29 + 0x5ce24))(*(undefined4 *)(iVar13 + -0x3fe0));\n      iVar6 = (**(code **)(pcVar29 + 0x5ce24))(iVar14 + 0x13);\n      iVar6 = (**(code **)(pcVar29 + 0x5af98))(iVar12 + iVar6 + 2);\n      iVar13 = *(int *)(iVar13 + -0x3fe0);\n      (**(code **)(pcVar29 + 0x5ceac))(iVar6,iVar13);\n      if (*(char *)(iVar13 + iVar12 + -1) != '/') {\n        *(undefined1 *)(iVar6 + iVar12) = 0x2f;\n        iVar12 = iVar12 + 1;\n      }\n    }\n    else {\n      iVar13 = (**(code **)(pcVar29 + 0x5ce24))();\n      iVar6 = (**(code **)(pcVar29 + 0x5ce24))(iVar14 + 0x13);\n      iVar6 = (**(code **)(pcVar29 + 0x5af98))(iVar13 + iVar6 + 2);\n      iVar14 = *(int *)(pcVar29 + 0x5af4c);\n      (**(code **)(pcVar29 + 0x5ceac))(iVar6,*(undefined4 *)(iVar14 + -0x3fd8));\n      iVar12 = iVar13;\n      if (*(char *)(*(int *)(iVar14 + -0x3fd8) + iVar13 + -1) != '/') {\n        iVar12 = iVar13 + 1;\n        *(undefined1 *)(iVar6 + iVar13) = 0x2f;\n        *(undefined1 *)(iVar6 + iVar12) = 0;\n      }\n    }\n    (**(code **)(pcVar29 + 0x5ceac))(iVar6 + iVar12,psVar22);\n  }" { (if_statement "if ((*piVar4 == 0) || (**(char **)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0) != '~')) {\n      iVar13 = *(int *)(pcVar29 + 0x5af4c);\n      iVar12 = (**(code **)(pcVar29 + 0x5ce24))(*(undefined4 *)(iVar13 + -0x3fe0));\n      iVar6 = (**(code **)(pcVar29 + 0x5ce24))(iVar14 + 0x13);\n      iVar6 = (**(code **)(pcVar29 + 0x5af98))(iVar12 + iVar6 + 2);\n      iVar13 = *(int *)(iVar13 + -0x3fe0);\n      (**(code **)(pcVar29 + 0x5ceac))(iVar6,iVar13);\n      if (*(char *)(iVar13 + iVar12 + -1) != '/') {\n        *(undefined1 *)(iVar6 + iVar12) = 0x2f;\n        iVar12 = iVar12 + 1;\n      }\n    }\n    else {\n      iVar13 = (**(code **)(pcVar29 + 0x5ce24))();\n      iVar6 = (**(code **)(pcVar29 + 0x5ce24))(iVar14 + 0x13);\n      iVar6 = (**(code **)(pcVar29 + 0x5af98))(iVar13 + iVar6 + 2);\n      iVar14 = *(int *)(pcVar29 + 0x5af4c);\n      (**(code **)(pcVar29 + 0x5ceac))(iVar6,*(undefined4 *)(iVar14 + -0x3fd8));\n      iVar12 = iVar13;\n      if (*(char *)(*(int *)(iVar14 + -0x3fd8) + iVar13 + -1) != '/') {\n        iVar12 = iVar13 + 1;\n        *(undefined1 *)(iVar6 + iVar13) = 0x2f;\n        *(undefined1 *)(iVar6 + iVar12) = 0;\n      }\n    }" if (parenthesized_expression "((*piVar4 == 0) || (**(char **)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0) != '~'))" ( (binary_expression "(*piVar4 == 0) || (**(char **)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0) != '~')" (parenthesized_expression "(*piVar4 == 0)" ( (binary_expression "*piVar4 == 0" (pointer_expression "*piVar4" * identifier) == number_literal) )) || (parenthesized_expression "(**(char **)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0) != '~')" ( (binary_expression "**(char **)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0) != '~'" (pointer_expression "**(char **)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0)" * (pointer_expression "*(char **)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0)" * (cast_expression "(char **)(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcVar29 + 0x5af4c) + -0x3fe0)" ( (binary_expression "*(int *)(pcVar29 + 0x5af4c) + -0x3fe0" (pointer_expression "*(int *)(pcVar29 + 0x5af4c)" * (cast_expression "(int *)(pcVar29 + 0x5af4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x5af4c)" ( (binary_expression "pcVar29 + 0x5af4c" identifier + number_literal) )))) + number_literal) ))))) != (char_literal "'~'" ' character ')) ))) )) (compound_statement "{\n      iVar13 = *(int *)(pcVar29 + 0x5af4c);\n      iVar12 = (**(code **)(pcVar29 + 0x5ce24))(*(undefined4 *)(iVar13 + -0x3fe0));\n      iVar6 = (**(code **)(pcVar29 + 0x5ce24))(iVar14 + 0x13);\n      iVar6 = (**(code **)(pcVar29 + 0x5af98))(iVar12 + iVar6 + 2);\n      iVar13 = *(int *)(iVar13 + -0x3fe0);\n      (**(code **)(pcVar29 + 0x5ceac))(iVar6,iVar13);\n      if (*(char *)(iVar13 + iVar12 + -1) != '/') {\n        *(undefined1 *)(iVar6 + iVar12) = 0x2f;\n        iVar12 = iVar12 + 1;\n      }\n    }" { (expression_statement "iVar13 = *(int *)(pcVar29 + 0x5af4c);" (assignment_expression "iVar13 = *(int *)(pcVar29 + 0x5af4c)" identifier = (pointer_expression "*(int *)(pcVar29 + 0x5af4c)" * (cast_expression "(int *)(pcVar29 + 0x5af4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x5af4c)" ( (binary_expression "pcVar29 + 0x5af4c" identifier + number_literal) ))))) ;) (expression_statement "iVar12 = (**(code **)(pcVar29 + 0x5ce24))(*(undefined4 *)(iVar13 + -0x3fe0));" (assignment_expression "iVar12 = (**(code **)(pcVar29 + 0x5ce24))(*(undefined4 *)(iVar13 + -0x3fe0))" identifier = (call_expression "(**(code **)(pcVar29 + 0x5ce24))(*(undefined4 *)(iVar13 + -0x3fe0))" (parenthesized_expression "(**(code **)(pcVar29 + 0x5ce24))" ( (pointer_expression "**(code **)(pcVar29 + 0x5ce24)" * (pointer_expression "*(code **)(pcVar29 + 0x5ce24)" * (cast_expression "(code **)(pcVar29 + 0x5ce24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5ce24)" ( (binary_expression "pcVar29 + 0x5ce24" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar13 + -0x3fe0))" ( (pointer_expression "*(undefined4 *)(iVar13 + -0x3fe0)" * (cast_expression "(undefined4 *)(iVar13 + -0x3fe0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + -0x3fe0)" ( (binary_expression "iVar13 + -0x3fe0" identifier + number_literal) )))) )))) ;) (expression_statement "iVar6 = (**(code **)(pcVar29 + 0x5ce24))(iVar14 + 0x13);" (assignment_expression "iVar6 = (**(code **)(pcVar29 + 0x5ce24))(iVar14 + 0x13)" identifier = (call_expression "(**(code **)(pcVar29 + 0x5ce24))(iVar14 + 0x13)" (parenthesized_expression "(**(code **)(pcVar29 + 0x5ce24))" ( (pointer_expression "**(code **)(pcVar29 + 0x5ce24)" * (pointer_expression "*(code **)(pcVar29 + 0x5ce24)" * (cast_expression "(code **)(pcVar29 + 0x5ce24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5ce24)" ( (binary_expression "pcVar29 + 0x5ce24" identifier + number_literal) ))))) )) (argument_list "(iVar14 + 0x13)" ( (binary_expression "iVar14 + 0x13" identifier + number_literal) )))) ;) (expression_statement "iVar6 = (**(code **)(pcVar29 + 0x5af98))(iVar12 + iVar6 + 2);" (assignment_expression "iVar6 = (**(code **)(pcVar29 + 0x5af98))(iVar12 + iVar6 + 2)" identifier = (call_expression "(**(code **)(pcVar29 + 0x5af98))(iVar12 + iVar6 + 2)" (parenthesized_expression "(**(code **)(pcVar29 + 0x5af98))" ( (pointer_expression "**(code **)(pcVar29 + 0x5af98)" * (pointer_expression "*(code **)(pcVar29 + 0x5af98)" * (cast_expression "(code **)(pcVar29 + 0x5af98)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5af98)" ( (binary_expression "pcVar29 + 0x5af98" identifier + number_literal) ))))) )) (argument_list "(iVar12 + iVar6 + 2)" ( (binary_expression "iVar12 + iVar6 + 2" (binary_expression "iVar12 + iVar6" identifier + identifier) + number_literal) )))) ;) (expression_statement "iVar13 = *(int *)(iVar13 + -0x3fe0);" (assignment_expression "iVar13 = *(int *)(iVar13 + -0x3fe0)" identifier = (pointer_expression "*(int *)(iVar13 + -0x3fe0)" * (cast_expression "(int *)(iVar13 + -0x3fe0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + -0x3fe0)" ( (binary_expression "iVar13 + -0x3fe0" identifier + number_literal) ))))) ;) (expression_statement "(**(code **)(pcVar29 + 0x5ceac))(iVar6,iVar13);" (call_expression "(**(code **)(pcVar29 + 0x5ceac))(iVar6,iVar13)" (parenthesized_expression "(**(code **)(pcVar29 + 0x5ceac))" ( (pointer_expression "**(code **)(pcVar29 + 0x5ceac)" * (pointer_expression "*(code **)(pcVar29 + 0x5ceac)" * (cast_expression "(code **)(pcVar29 + 0x5ceac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5ceac)" ( (binary_expression "pcVar29 + 0x5ceac" identifier + number_literal) ))))) )) (argument_list "(iVar6,iVar13)" ( identifier , identifier ))) ;) (if_statement "if (*(char *)(iVar13 + iVar12 + -1) != '/') {\n        *(undefined1 *)(iVar6 + iVar12) = 0x2f;\n        iVar12 = iVar12 + 1;\n      }" if (parenthesized_expression "(*(char *)(iVar13 + iVar12 + -1) != '/')" ( (binary_expression "*(char *)(iVar13 + iVar12 + -1) != '/'" (pointer_expression "*(char *)(iVar13 + iVar12 + -1)" * (cast_expression "(char *)(iVar13 + iVar12 + -1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + iVar12 + -1)" ( (binary_expression "iVar13 + iVar12 + -1" (binary_expression "iVar13 + iVar12" identifier + identifier) + number_literal) )))) != (char_literal "'/'" ' character ')) )) (compound_statement "{\n        *(undefined1 *)(iVar6 + iVar12) = 0x2f;\n        iVar12 = iVar12 + 1;\n      }" { (expression_statement "*(undefined1 *)(iVar6 + iVar12) = 0x2f;" (assignment_expression "*(undefined1 *)(iVar6 + iVar12) = 0x2f" (pointer_expression "*(undefined1 *)(iVar6 + iVar12)" * (cast_expression "(undefined1 *)(iVar6 + iVar12)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + iVar12)" ( (binary_expression "iVar6 + iVar12" identifier + identifier) )))) = number_literal) ;) (expression_statement "iVar12 = iVar12 + 1;" (assignment_expression "iVar12 = iVar12 + 1" identifier = (binary_expression "iVar12 + 1" identifier + number_literal)) ;) })) }) (else_clause "else {\n      iVar13 = (**(code **)(pcVar29 + 0x5ce24))();\n      iVar6 = (**(code **)(pcVar29 + 0x5ce24))(iVar14 + 0x13);\n      iVar6 = (**(code **)(pcVar29 + 0x5af98))(iVar13 + iVar6 + 2);\n      iVar14 = *(int *)(pcVar29 + 0x5af4c);\n      (**(code **)(pcVar29 + 0x5ceac))(iVar6,*(undefined4 *)(iVar14 + -0x3fd8));\n      iVar12 = iVar13;\n      if (*(char *)(*(int *)(iVar14 + -0x3fd8) + iVar13 + -1) != '/') {\n        iVar12 = iVar13 + 1;\n        *(undefined1 *)(iVar6 + iVar13) = 0x2f;\n        *(undefined1 *)(iVar6 + iVar12) = 0;\n      }\n    }" else (compound_statement "{\n      iVar13 = (**(code **)(pcVar29 + 0x5ce24))();\n      iVar6 = (**(code **)(pcVar29 + 0x5ce24))(iVar14 + 0x13);\n      iVar6 = (**(code **)(pcVar29 + 0x5af98))(iVar13 + iVar6 + 2);\n      iVar14 = *(int *)(pcVar29 + 0x5af4c);\n      (**(code **)(pcVar29 + 0x5ceac))(iVar6,*(undefined4 *)(iVar14 + -0x3fd8));\n      iVar12 = iVar13;\n      if (*(char *)(*(int *)(iVar14 + -0x3fd8) + iVar13 + -1) != '/') {\n        iVar12 = iVar13 + 1;\n        *(undefined1 *)(iVar6 + iVar13) = 0x2f;\n        *(undefined1 *)(iVar6 + iVar12) = 0;\n      }\n    }" { (expression_statement "iVar13 = (**(code **)(pcVar29 + 0x5ce24))();" (assignment_expression "iVar13 = (**(code **)(pcVar29 + 0x5ce24))()" identifier = (call_expression "(**(code **)(pcVar29 + 0x5ce24))()" (parenthesized_expression "(**(code **)(pcVar29 + 0x5ce24))" ( (pointer_expression "**(code **)(pcVar29 + 0x5ce24)" * (pointer_expression "*(code **)(pcVar29 + 0x5ce24)" * (cast_expression "(code **)(pcVar29 + 0x5ce24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5ce24)" ( (binary_expression "pcVar29 + 0x5ce24" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "iVar6 = (**(code **)(pcVar29 + 0x5ce24))(iVar14 + 0x13);" (assignment_expression "iVar6 = (**(code **)(pcVar29 + 0x5ce24))(iVar14 + 0x13)" identifier = (call_expression "(**(code **)(pcVar29 + 0x5ce24))(iVar14 + 0x13)" (parenthesized_expression "(**(code **)(pcVar29 + 0x5ce24))" ( (pointer_expression "**(code **)(pcVar29 + 0x5ce24)" * (pointer_expression "*(code **)(pcVar29 + 0x5ce24)" * (cast_expression "(code **)(pcVar29 + 0x5ce24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5ce24)" ( (binary_expression "pcVar29 + 0x5ce24" identifier + number_literal) ))))) )) (argument_list "(iVar14 + 0x13)" ( (binary_expression "iVar14 + 0x13" identifier + number_literal) )))) ;) (expression_statement "iVar6 = (**(code **)(pcVar29 + 0x5af98))(iVar13 + iVar6 + 2);" (assignment_expression "iVar6 = (**(code **)(pcVar29 + 0x5af98))(iVar13 + iVar6 + 2)" identifier = (call_expression "(**(code **)(pcVar29 + 0x5af98))(iVar13 + iVar6 + 2)" (parenthesized_expression "(**(code **)(pcVar29 + 0x5af98))" ( (pointer_expression "**(code **)(pcVar29 + 0x5af98)" * (pointer_expression "*(code **)(pcVar29 + 0x5af98)" * (cast_expression "(code **)(pcVar29 + 0x5af98)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5af98)" ( (binary_expression "pcVar29 + 0x5af98" identifier + number_literal) ))))) )) (argument_list "(iVar13 + iVar6 + 2)" ( (binary_expression "iVar13 + iVar6 + 2" (binary_expression "iVar13 + iVar6" identifier + identifier) + number_literal) )))) ;) (expression_statement "iVar14 = *(int *)(pcVar29 + 0x5af4c);" (assignment_expression "iVar14 = *(int *)(pcVar29 + 0x5af4c)" identifier = (pointer_expression "*(int *)(pcVar29 + 0x5af4c)" * (cast_expression "(int *)(pcVar29 + 0x5af4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar29 + 0x5af4c)" ( (binary_expression "pcVar29 + 0x5af4c" identifier + number_literal) ))))) ;) (expression_statement "(**(code **)(pcVar29 + 0x5ceac))(iVar6,*(undefined4 *)(iVar14 + -0x3fd8));" (call_expression "(**(code **)(pcVar29 + 0x5ceac))(iVar6,*(undefined4 *)(iVar14 + -0x3fd8))" (parenthesized_expression "(**(code **)(pcVar29 + 0x5ceac))" ( (pointer_expression "**(code **)(pcVar29 + 0x5ceac)" * (pointer_expression "*(code **)(pcVar29 + 0x5ceac)" * (cast_expression "(code **)(pcVar29 + 0x5ceac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5ceac)" ( (binary_expression "pcVar29 + 0x5ceac" identifier + number_literal) ))))) )) (argument_list "(iVar6,*(undefined4 *)(iVar14 + -0x3fd8))" ( identifier , (pointer_expression "*(undefined4 *)(iVar14 + -0x3fd8)" * (cast_expression "(undefined4 *)(iVar14 + -0x3fd8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + -0x3fd8)" ( (binary_expression "iVar14 + -0x3fd8" identifier + number_literal) )))) ))) ;) (expression_statement "iVar12 = iVar13;" (assignment_expression "iVar12 = iVar13" identifier = identifier) ;) (if_statement "if (*(char *)(*(int *)(iVar14 + -0x3fd8) + iVar13 + -1) != '/') {\n        iVar12 = iVar13 + 1;\n        *(undefined1 *)(iVar6 + iVar13) = 0x2f;\n        *(undefined1 *)(iVar6 + iVar12) = 0;\n      }" if (parenthesized_expression "(*(char *)(*(int *)(iVar14 + -0x3fd8) + iVar13 + -1) != '/')" ( (binary_expression "*(char *)(*(int *)(iVar14 + -0x3fd8) + iVar13 + -1) != '/'" (pointer_expression "*(char *)(*(int *)(iVar14 + -0x3fd8) + iVar13 + -1)" * (cast_expression "(char *)(*(int *)(iVar14 + -0x3fd8) + iVar13 + -1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar14 + -0x3fd8) + iVar13 + -1)" ( (binary_expression "*(int *)(iVar14 + -0x3fd8) + iVar13 + -1" (binary_expression "*(int *)(iVar14 + -0x3fd8) + iVar13" (pointer_expression "*(int *)(iVar14 + -0x3fd8)" * (cast_expression "(int *)(iVar14 + -0x3fd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar14 + -0x3fd8)" ( (binary_expression "iVar14 + -0x3fd8" identifier + number_literal) )))) + identifier) + number_literal) )))) != (char_literal "'/'" ' character ')) )) (compound_statement "{\n        iVar12 = iVar13 + 1;\n        *(undefined1 *)(iVar6 + iVar13) = 0x2f;\n        *(undefined1 *)(iVar6 + iVar12) = 0;\n      }" { (expression_statement "iVar12 = iVar13 + 1;" (assignment_expression "iVar12 = iVar13 + 1" identifier = (binary_expression "iVar13 + 1" identifier + number_literal)) ;) (expression_statement "*(undefined1 *)(iVar6 + iVar13) = 0x2f;" (assignment_expression "*(undefined1 *)(iVar6 + iVar13) = 0x2f" (pointer_expression "*(undefined1 *)(iVar6 + iVar13)" * (cast_expression "(undefined1 *)(iVar6 + iVar13)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + iVar13)" ( (binary_expression "iVar6 + iVar13" identifier + identifier) )))) = number_literal) ;) (expression_statement "*(undefined1 *)(iVar6 + iVar12) = 0;" (assignment_expression "*(undefined1 *)(iVar6 + iVar12) = 0" (pointer_expression "*(undefined1 *)(iVar6 + iVar12)" * (cast_expression "(undefined1 *)(iVar6 + iVar12)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + iVar12)" ( (binary_expression "iVar6 + iVar12" identifier + identifier) )))) = number_literal) ;) })) }))) (expression_statement "(**(code **)(pcVar29 + 0x5ceac))(iVar6 + iVar12,psVar22);" (call_expression "(**(code **)(pcVar29 + 0x5ceac))(iVar6 + iVar12,psVar22)" (parenthesized_expression "(**(code **)(pcVar29 + 0x5ceac))" ( (pointer_expression "**(code **)(pcVar29 + 0x5ceac)" * (pointer_expression "*(code **)(pcVar29 + 0x5ceac)" * (cast_expression "(code **)(pcVar29 + 0x5ceac)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5ceac)" ( (binary_expression "pcVar29 + 0x5ceac" identifier + number_literal) ))))) )) (argument_list "(iVar6 + iVar12,psVar22)" ( (binary_expression "iVar6 + iVar12" identifier + identifier) , identifier ))) ;) })))) (if_statement "if (psVar24 != psVar22) {\n    (**(code **)(pcVar29 + 0x5b594))(psVar22);\n  }" if (parenthesized_expression "(psVar24 != psVar22)" ( (binary_expression "psVar24 != psVar22" identifier != identifier) )) (compound_statement "{\n    (**(code **)(pcVar29 + 0x5b594))(psVar22);\n  }" { (expression_statement "(**(code **)(pcVar29 + 0x5b594))(psVar22);" (call_expression "(**(code **)(pcVar29 + 0x5b594))(psVar22)" (parenthesized_expression "(**(code **)(pcVar29 + 0x5b594))" ( (pointer_expression "**(code **)(pcVar29 + 0x5b594)" * (pointer_expression "*(code **)(pcVar29 + 0x5b594)" * (cast_expression "(code **)(pcVar29 + 0x5b594)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5b594)" ( (binary_expression "pcVar29 + 0x5b594" identifier + number_literal) ))))) )) (argument_list "(psVar22)" ( identifier ))) ;) })) (labeled_statement "LAB_000fbca4:\n  if (iStack_1e4 == **(int **)(pcVar29 + 0x5cf6c)) {\n    return iVar6;\n  }" statement_identifier : (if_statement "if (iStack_1e4 == **(int **)(pcVar29 + 0x5cf6c)) {\n    return iVar6;\n  }" if (parenthesized_expression "(iStack_1e4 == **(int **)(pcVar29 + 0x5cf6c))" ( (binary_expression "iStack_1e4 == **(int **)(pcVar29 + 0x5cf6c)" identifier == (pointer_expression "**(int **)(pcVar29 + 0x5cf6c)" * (pointer_expression "*(int **)(pcVar29 + 0x5cf6c)" * (cast_expression "(int **)(pcVar29 + 0x5cf6c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5cf6c)" ( (binary_expression "pcVar29 + 0x5cf6c" identifier + number_literal) )))))) )) (compound_statement "{\n    return iVar6;\n  }" { (return_statement "return iVar6;" return identifier ;) }))) (expression_statement "iVar6 = (**(code **)(pcVar29 + 0x5cf1c))();" (assignment_expression "iVar6 = (**(code **)(pcVar29 + 0x5cf1c))()" identifier = (call_expression "(**(code **)(pcVar29 + 0x5cf1c))()" (parenthesized_expression "(**(code **)(pcVar29 + 0x5cf1c))" ( (pointer_expression "**(code **)(pcVar29 + 0x5cf1c)" * (pointer_expression "*(code **)(pcVar29 + 0x5cf1c)" * (cast_expression "(code **)(pcVar29 + 0x5cf1c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar29 + 0x5cf1c)" ( (binary_expression "pcVar29 + 0x5cf1c" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (return_statement "return iVar6;" return identifier ;) })))
(translation_unit "word * FUN_000fa7dc(undefined4 param_1,word *param_2,int param_3,byte *param_4)\n\n{\n  char cVar1;\n  byte bVar2;\n  bool bVar3;\n  uint uVar4;\n  int iVar5;\n  word *pwVar6;\n  undefined4 uVar7;\n  undefined1 *puVar8;\n  int *piVar9;\n  int iVar10;\n  int iVar11;\n  byte *pbVar12;\n  int iVar13;\n  word *pwVar14;\n  word *pwVar15;\n  word *pwVar16;\n  int iVar17;\n  word *pwVar18;\n  word *unaff_s2;\n  char *pcVar19;\n  word *pwVar20;\n  word *unaff_s3;\n  word *unaff_s4;\n  word *unaff_s5;\n  undefined4 *puVar21;\n  word *unaff_s6;\n  word *unaff_s7;\n  undefined *puVar22;\n  code *pcVar23;\n  byte **unaff_s8;\n  byte *pbVar24;\n  code *pcVar25;\n  int iStack_31c;\n  word *pwStack_318;\n  int iStack_314;\n  word *pwStack_310;\n  word *pwStack_30c;\n  word *pwStack_308;\n  word *pwStack_304;\n  int *piStack_300;\n  undefined4 *puStack_2fc;\n  int iStack_2f8;\n  code *pcStack_2f4;\n  code *pcStack_2e0;\n  int iStack_2d4;\n  int iStack_2d0;\n  word *pwStack_2cc;\n  int aiStack_2c8 [3];\n  byte *pbStack_2bc;\n  int iStack_2b8;\n  word *pwStack_2b4;\n  int iStack_2b0;\n  int iStack_2ac;\n  undefined4 uStack_2a8;\n  undefined4 uStack_2a4;\n  int *piStack_2a0;\n  int *piStack_29c;\n  int iStack_298;\n  code *pcStack_294;\n  code *pcStack_280;\n  int aiStack_278 [4];\n  word *pwStack_268;\n  word *pwStack_264;\n  word *pwStack_260;\n  word *pwStack_25c;\n  word *pwStack_258;\n  word *pwStack_254;\n  word *pwStack_250;\n  word *pwStack_24c;\n  byte **ppbStack_248;\n  code *pcStack_244;\n  code *pcStack_230;\n  byte *pbStack_228;\n  int iStack_224;\n  undefined4 *puStack_220;\n  int iStack_21c;\n  int iStack_218;\n  word *pwStack_214;\n  word *pwStack_210;\n  int *piStack_20c;\n  word *pwStack_208;\n  int iStack_204;\n  int iStack_1fc;\n  int iStack_1f8;\n  byte *pbStack_1f4;\n  undefined4 uStack_1f0;\n  undefined4 uStack_1ec;\n  undefined4 uStack_1e8;\n  int iStack_1e4;\n  word *pwStack_1e0;\n  word *pwStack_1dc;\n  undefined4 *puStack_1d8;\n  word *pwStack_1d4;\n  word *pwStack_1d0;\n  word *pwStack_1cc;\n  word *pwStack_1c8;\n  word *pwStack_1c4;\n  byte **ppbStack_1c0;\n  code *pcStack_1bc;\n  code *pcStack_1a8;\n  undefined1 auStack_19d [9];\n  word *pwStack_194;\n  byte *pbStack_190;\n  word *pwStack_18c;\n  word *pwStack_188;\n  word *pwStack_184;\n  word *pwStack_180;\n  word *pwStack_17c;\n  word *pwStack_178;\n  code *pcStack_174;\n  word *pwStack_160;\n  word *pwStack_15c;\n  undefined *puStack_158;\n  word *pwStack_14c;\n  word *pwStack_148;\n  word *pwStack_144;\n  word *pwStack_140;\n  word *pwStack_13c;\n  uint uStack_138;\n  int *piStack_134;\n  word *pwStack_130;\n  int *piStack_12c;\n  byte *pbStack_124;\n  byte *pbStack_120;\n  undefined4 uStack_11c;\n  undefined4 uStack_118;\n  undefined4 uStack_114;\n  undefined4 uStack_110;\n  undefined4 uStack_10c;\n  undefined4 uStack_108;\n  undefined4 *puStack_104;\n  word *pwStack_100;\n  byte *pbStack_fc;\n  word *pwStack_f8;\n  word *local_bc;\n  word awStack_b8 [12];\n  uint local_a0;\n  undefined1 local_18 [4];\n  int *local_14;\n  \n  local_14 = *(int **)PTR___stack_chk_guard_0015858c;\n  if (param_3 != 0) {\n    if (*(int *)PTR_rl_point_001575f0 == 0) {\n      param_3 = 0;\n    }\n    else if (*(int *)PTR_rl_completion_suppress_quote_00157618 == 0) {\n      if (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + *(int *)PTR_rl_point_001575f0 + -1) ==\n          param_3) {\n        param_3 = 0;\n      }\n      else {\n        local_18[0] = (undefined1)param_3;\n        param_3 = 1;\n      }\n    }\n    else {\n      param_3 = 0;\n    }\n  }\n  if (param_2 == (word *)0x0) {\n    pwVar16 = (word *)(param_3 + 1);\n    if ((*(int *)PTR_rl_completion_suppress_append_00157624 == 0) &&\n       (*(int *)PTR_rl_completion_append_character_00157628 != 0)) {\n      local_18[param_3] = (char)*(int *)PTR_rl_completion_append_character_00157628;\n      goto LAB_000fa86c;\n    }\n  }\n  else {\n    local_18[param_3] = (char)param_2;\nLAB_000fa86c:\n    pwVar16 = (word *)(param_3 + 2);\n    param_3 = param_3 + 1;\n  }\n  pwVar15 = (word *)(&stack0xfffffff0 + param_3);\n  local_18[param_3] = 0;\n  if (*(int *)PTR_rl_filename_completion_desired_00157634 == 0) {\n    if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {\n      rl_insert_text(local_18);\n    }\n  }\n  else {\n    unaff_s2 = (word *)(*(code *)PTR_tilde_expand_00156b0c)();\n    if (*(int *)PTR_rl_filename_stat_hook_00157754 != 0) {\n      iVar5 = (*(code *)PTR_strlen_00158444)(unaff_s2);\n      uVar7 = (*(code *)PTR_xmalloc_001565b8)(iVar5 + 1);\n      local_bc = (word *)(*(code *)PTR_strcpy_001584cc)(uVar7,unaff_s2);\n      (**(code **)PTR_rl_filename_stat_hook_00157754)(&local_bc);\n      (*(code *)PTR_xfree_00156bb4)(unaff_s2);\n      unaff_s2 = local_bc;\n    }\n    param_2 = unaff_s2;\n    if ((param_4 == (byte *)0x0) ||\n       (pwVar15 = awStack_b8, *(int *)PTR_rl_completion_mark_symlink_dirs_001578a4 != 0)) {\n      pwVar15 = awStack_b8;\n      iVar5 = (*(code *)PTR___xstat64_001582e8)(3);\n    }\n    else {\n      iVar5 = (*(code *)PTR___lxstat64_001582c8)(3);\n    }\n    if (iVar5 == 0) {\n      if ((local_a0 & 0xf000) == 0x4000) {\n        if (*(int *)PTR__rl_complete_mark_directories_00157f80 != 0) {\n          iVar5 = *(int *)PTR_rl_point_001575f0;\n          if ((iVar5 == 0) || (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5) != '\0')) {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5);\n          }\n          else {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5 + -1);\n          }\n          if (cVar1 != '/') {\n            rl_insert_text(PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c);\n          }\n        }\n      }\n      else if (((local_a0 & 0xf000) != 0xa000) || (iVar5 = FUN_000fa188(unaff_s2), iVar5 == 0))\n      goto LAB_000fa9f0;\n    }\n    else {\nLAB_000fa9f0:\n      if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {\n        rl_insert_text(local_18);\n      }\n    }\n    (*(code *)PTR_xfree_00156bb4)(unaff_s2);\n  }\n  if (local_14 == *(int **)PTR___stack_chk_guard_0015858c) {\n    return pwVar16;\n  }\n  piVar9 = local_14;\n  puVar22 = PTR___stack_chk_fail_0015853c;\n  (*(code *)PTR___stack_chk_fail_0015853c)();\n  puStack_158 = puVar22 + 0x63a10;\n  puStack_104 = (undefined4 *)**(undefined4 **)(puVar22 + 0x5da5c);\n  pwVar14 = param_2;\n  pwStack_130 = pwVar15;\n  piStack_12c = piVar9;\n  pwStack_100 = pwVar16;\n  pbStack_fc = param_4;\n  pwStack_f8 = unaff_s2;\n  if (param_2 == (word *)0x1) {\n    *piVar9 = piVar9[1];\n    piVar9[1] = 0;\n    pwStack_13c = param_2;\n  }\n  else {\n    if ((int)param_2 < 2) {\n      pwStack_140 = (word *)&__DT_SYMTAB[0x3d1].st_info;\n    }\n    else {\n      pwVar18 = (word *)(piVar9 + 1);\n      pwStack_140 = (word *)&__DT_SYMTAB[0x3d1].st_info;\n      pwStack_13c = (word *)0x1;\n      unaff_s3 = *(word **)(puVar22 + 0x5d2e8);\n      piStack_134 = *(int **)(puVar22 + 0x5d454);\n      unaff_s8 = &pbStack_124;\n      do {\n        uVar4 = (**(code **)(puStack_158 + -0x6060))();\n        if ((1 < uVar4) && (*(int *)unaff_s3 == 0)) {\n          uStack_11c = 0;\n          uStack_118 = 0;\n          uStack_114 = 0;\n          uStack_110 = 0;\n        }\n        if (*piStack_134 == 0) {\n          param_4 = (byte *)(int)**(char **)pwVar18;\n          unaff_s5 = pwVar18;\n          if (param_4 == (byte *)0x0) {\n            pwVar16 = (word *)0x0;\n            goto LAB_000fac1c;\n          }\n          pwVar16 = (word *)(int)**(char **)(pwVar18 + 2);\n          pwStack_14c = (word *)0x0;\n          unaff_s4 = pwVar16;\n          if (pwVar16 == (word *)0x0) goto LAB_000fac1c;\n          unaff_s6 = (word *)&uStack_11c;\n          pwStack_148 = (word *)&uStack_114;\n          unaff_s7 = (word *)&uStack_10c;\n          do {\n            pwVar16 = pwStack_14c;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\n              if ((word *)param_4 != unaff_s4) goto LAB_000fac1c;\n            }\n            else {\n              uStack_10c = uStack_11c;\n              uStack_108 = uStack_118;\n              pwStack_15c = pwStack_148;\n              pwVar15 = unaff_s6;\n              pwStack_160 = pwVar16;\n              iVar5 = (**(code **)(puStack_158 + -0x65b8))\n                                (*(undefined4 *)pwVar18,pwVar16,unaff_s6,\n                                 *(undefined4 *)(pwVar18 + 2));\n              pwVar14 = unaff_s7;\n              if (iVar5 == 0) goto LAB_000fac1c;\n              iVar5 = (**(code **)(puStack_158 + -0x65b4))\n                                ((byte *)((int)pwStack_14c + *(int *)pwVar18));\n              if (1 < iVar5) {\n                pwVar16 = (word *)((int)pwVar16 + iVar5 + -1);\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_14c = pwVar16;\n            if (param_4 == (byte *)0x0) goto LAB_000fac1c;\n            unaff_s4 = (word *)(int)(char)*(byte *)((int)pwVar16 + *(int *)(pwVar18 + 2));\n            bVar3 = (int)pwVar16 < (int)pwStack_140;\n          } while (unaff_s4 != (word *)0x0);\n        }\n        else {\n          pwVar16 = (word *)0x0;\n          unaff_s7 = (word *)&uStack_11c;\n          unaff_s6 = (word *)&uStack_114;\n          while( true ) {\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_148 = pwVar16;\n            pwStack_144 = pwVar18;\n            if (unaff_s4 == (word *)param_4) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))();\n              if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n                param_4 = *(byte **)unaff_s4;\n              }\n            }\n            unaff_s5 = (word *)&pbStack_120;\n            if (param_4 == (byte *)0x0) break;\n            pwStack_14c = (word *)(int)(char)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))\n            ;\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n            if ((unaff_s4 == pwStack_14c) &&\n               (piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0)) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n              unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n              pwStack_14c = *(word **)unaff_s4;\n            }\n            if (pwStack_14c == (word *)0x0) break;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\njoined_r0x000facac:\n              if ((word *)param_4 != pwStack_14c) break;\n            }\n            else {\n              pbVar24 = (byte *)((int)pwStack_148 + *(int *)pwStack_144);\n              uVar7 = (**(code **)(puStack_158 + -0x60fc))(pbVar24);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,pbVar24,uVar7,unaff_s7);\n              unaff_s4 = (word *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n              pwVar15 = (word *)(**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              pwVar14 = unaff_s4;\n              iVar5 = (**(code **)(puStack_158 + -0x6084))(&pbStack_120,unaff_s4,pwVar15,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar5 + 2U < 2)) goto joined_r0x000facac;\n              param_4 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_124);\n              pbStack_124 = param_4;\n              pbStack_120 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_120);\n              if (param_4 != pbStack_120) break;\n              if (1 < uStack_138) {\n                pwVar16 = (word *)((int)pwStack_148 + (uStack_138 - 1));\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\nLAB_000fac1c:\n          bVar3 = (int)pwVar16 < (int)pwStack_140;\n        }\n        pwVar6 = pwStack_130;\n        if (bVar3) {\n          pwStack_140 = pwVar16;\n        }\n        pwStack_13c = (word *)((int)pwStack_13c + 1);\n        pwVar18 = pwVar18 + 2;\n      } while (param_2 != pwStack_13c);\n      unaff_s2 = pwVar18;\n      if (((pwStack_140 == (word *)0x0) && (pwStack_130 != (word *)0x0)) &&\n         (pwVar16 = pwStack_130, *(byte *)pwStack_130 != 0)) {\n        iVar5 = (**(code **)(puStack_158 + -0x60fc))(pwStack_130);\n        iVar5 = (**(code **)(puStack_158 + -0x7f88))(iVar5 + 1);\n        *piStack_12c = iVar5;\n        pwVar14 = pwVar6;\n        (**(code **)(puStack_158 + -0x6074))(iVar5);\n        pwVar16 = pwVar6;\n        goto LAB_000fb1f0;\n      }\n    }\n    iVar5 = (**(code **)(puStack_158 + -0x7f88))((byte *)((int)pwStack_140 + 1));\n    *piStack_12c = iVar5;\n    if (**(int **)(puStack_158 + -0x65bc) == 0) {\n      pwVar14 = (word *)piStack_12c[1];\n      pwVar15 = pwStack_140;\n      (**(code **)(puStack_158 + -0x615c))(iVar5);\n    }\n    else {\n      unaff_s3 = (word *)0x0;\n      if (**(int **)(puStack_158 + -0x6f0c) != 0) {\n        if ((code *)**(undefined4 **)(puStack_158 + -0x6de4) == (code *)0x0) {\n          unaff_s3 = (word *)0x0;\n        }\n        else if ((**(int **)(puStack_158 + -0x6f38) != 0) &&\n                (**(int **)(puStack_158 + -0x702c) != 0)) {\n          pwVar14 = (word *)**(undefined4 **)(puStack_158 + -0x6f34);\n          unaff_s3 = (word *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(pwStack_130);\n          pwStack_130 = unaff_s3;\n        }\n      }\n      if (**(int **)(puStack_158 + -0x6f10) != 0) {\n        pwVar14 = param_2;\n        (**(code **)(puStack_158 + -0x6218))\n                  (piStack_12c + 1,param_2,4,*(undefined4 *)(puStack_158 + -0x6660));\n      }\n      pwVar16 = (word *)(**(code **)(puStack_158 + -0x60fc))(pwStack_130);\n      unaff_s4 = pwStack_140;\n      if ((int)pwVar16 <= (int)pwStack_140) {\n        unaff_s4 = pwVar16;\n      }\n      if ((int)param_2 < 1) {\n        pwVar16 = (word *)0x1;\nLAB_000fb1a8:\n        pwVar16 = (word *)(uint)((int)param_2 < (int)pwVar16);\n        pwVar15 = pwStack_140;\n        if (pwVar16 != (word *)0x0) goto LAB_000fb12c;\n      }\n      else {\n        param_4 = (byte *)(piStack_12c + 1);\n        pwVar16 = (word *)0x1;\n        do {\n          unaff_s2 = *(word **)param_4;\n          iVar5 = (**(code **)(puStack_158 + -0x6238))(unaff_s2,pwStack_130,unaff_s4);\n          if (iVar5 == 0) {\n            pwVar14 = unaff_s2;\n            (**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,pwStack_140);\n            goto LAB_000fb1a8;\n          }\n          pwVar16 = (word *)((int)pwVar16 + 1);\n          param_4 = param_4 + 4;\n        } while ((int)pwVar16 <= (int)param_2);\nLAB_000fb12c:\n        pwVar14 = (word *)piStack_12c[1];\n        pwVar15 = pwStack_140;\n        (**(code **)(puStack_158 + -0x615c))(*piStack_12c);\n      }\n      if (unaff_s3 != (word *)0x0) {\n        (**(code **)(puStack_158 + -0x5f94))(unaff_s3);\n      }\n    }\n    *(byte *)((int)pwStack_140 + *piStack_12c) = 0;\n    pwStack_13c = param_2;\n  }\nLAB_000fb1f0:\n  if (puStack_104 == (undefined4 *)**(undefined4 **)(puStack_158 + -0x5fb4)) {\n    return pwStack_13c;\n  }\n  pcVar23 = *(code **)(puStack_158 + -0x6004);\n  pcVar25 = FUN_000fb268;\n  puVar21 = puStack_104;\n  (*pcVar23)();\n  pcStack_1a8 = pcVar23 + 0x632d8;\n  auStack_19d._1_4_ = **(undefined4 **)(pcVar23 + 0x5d324);\n  pwVar18 = (word *)*puVar21;\n  pwStack_194 = pwVar16;\n  pbStack_190 = param_4;\n  pwStack_18c = unaff_s2;\n  pwStack_188 = unaff_s3;\n  pwStack_184 = unaff_s4;\n  pwStack_180 = unaff_s5;\n  pwStack_17c = unaff_s6;\n  pwStack_178 = unaff_s7;\n  pcStack_174 = pcVar25;\n  if (pwVar18 == (word *)0x0) {\n    pwVar6 = (word *)0x0;\n  }\n  else {\n    pwVar20 = pwVar14;\n    pwVar6 = pwVar18;\n    if (**(int **)(pcVar23 + 0x5cd28) != 0) {\n      if (*(int *)pwVar18 == 0) {\nLAB_000fb370:\n        uVar7 = *(undefined4 *)pwVar18;\n      }\n      else {\n        pwVar15 = (word *)0x0;\n        pwVar16 = pwVar18;\n        do {\n          pwVar16 = pwVar16 + 2;\n          pwVar15 = (word *)((int)pwVar15 + 1);\n        } while (*(int *)pwVar16 != 0);\n        if ((pwVar15 == (word *)0x0) || (**(int **)(pcVar23 + 0x5c3c8) == 0)) goto LAB_000fb370;\n        pwVar15 = (word *)&DAT_00000004;\n        (**(code **)(pcVar23 + 0x5d0c0))();\n        uVar7 = *(undefined4 *)pwVar18;\n      }\n      iVar5 = (**(code **)(pcStack_1a8 + -0x60fc))(uVar7);\n      uVar7 = (**(code **)(pcStack_1a8 + -0x7f88))(iVar5 + 1);\n      unaff_s4 = (word *)(**(code **)(pcStack_1a8 + -0x6074))(uVar7,*(undefined4 *)pwVar18);\n      if (*(int *)(pwVar18 + 2) == 0) {\n        unaff_s6 = (word *)0x0;\n        pbVar24 = (byte *)0x3;\n        pwVar20 = (word *)0x0;\n      }\n      else {\n        unaff_s6 = (word *)0x0;\n        unaff_s7 = (word *)auStack_19d;\n        pwVar16 = pwVar18;\n        do {\n          uVar7 = *(undefined4 *)pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(uVar7);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(uVar7);\n            *(word **)pwVar16 = unaff_s7;\n          }\n          else {\n            unaff_s6 = (word *)((int)unaff_s6 + 1);\n          }\n          pwVar20 = *(word **)(pwVar16 + 4);\n          pbVar24 = (byte *)((int)unaff_s6 + 3);\n          pwVar16 = pwVar16 + 2;\n        } while (pwVar20 != (word *)0x0);\n      }\n      pwVar6 = (word *)(**(code **)(pcStack_1a8 + -0x7f88))((int)pbVar24 << 2);\n      pbVar24 = *(byte **)(pwVar18 + 2);\n      if (pbVar24 == (byte *)0x0) {\n        pbVar24 = (byte *)(pwVar6 + 2);\n        pbVar24[0] = 0;\n        pbVar24[1] = 0;\n        pbVar24[2] = 0;\n        pbVar24[3] = 0;\n        pwVar16 = (word *)0x1;\n        if (*(undefined1 **)pwVar18 != auStack_19d) {\n          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);\n          goto LAB_000fb4b4;\n        }\n        *(word **)pwVar6 = unaff_s4;\n      }\n      else {\n        pwVar16 = (word *)0x1;\n        pwVar20 = (word *)auStack_19d;\n        pbVar12 = (byte *)(pwVar18 + 4);\n        do {\n          if ((word *)pbVar24 != pwVar20) {\n            *(byte **)(pwVar6 + (int)pwVar16 * 2) = pbVar24;\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\n          pbVar24 = *(byte **)pbVar12;\n          pbVar12 = pbVar12 + 4;\n        } while (pbVar24 != (byte *)0x0);\n        *(undefined4 *)(pwVar6 + (int)pwVar16 * 2) = 0;\n        if (*(undefined1 **)pwVar18 != auStack_19d) {\n          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);\nLAB_000fb4b4:\n          (*pcVar23)();\n        }\n        *(word **)pwVar6 = unaff_s4;\n        if (pwVar16 == (word *)0x2) {\n          pwVar16 = *(word **)(pwVar6 + 2);\n          pwVar20 = pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(unaff_s4);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(pwVar16);\n            pbVar24 = (byte *)(pwVar6 + 2);\n            pbVar24[0] = 0;\n            pbVar24[1] = 0;\n            pbVar24[2] = 0;\n            pbVar24[3] = 0;\n          }\n        }\n      }\n      (**(code **)(pcStack_1a8 + -0x798c))(pwVar18);\n      unaff_s5 = pwVar6;\n    }\n    unaff_s3 = pwVar14;\n    pwVar18 = pwVar6;\n    if (((code *)**(undefined4 **)(pcStack_1a8 + -0x703c) == (code *)0x0) ||\n       (pwVar14 == (word *)0x0)) goto LAB_000fb570;\n    if (*(int *)(pwVar6 + 2) == 0) {\n      pwVar16 = (word *)0x1;\n    }\n    else {\n      pwVar16 = (word *)0x1;\n      pbVar24 = (byte *)(pwVar6 + 4);\n      do {\n        iVar5 = *(int *)pbVar24;\n        pwVar16 = (word *)((int)pwVar16 + 1);\n        pbVar24 = pbVar24 + 4;\n      } while (iVar5 != 0);\n    }\n    (*(code *)**(undefined4 **)(pcStack_1a8 + -0x703c))(pwVar6);\n    unaff_s3 = *(word **)pwVar6;\n    if (unaff_s3 == (word *)0x0) {\n      (**(code **)(pcStack_1a8 + -0x5f94))(pwVar6);\n      *puVar21 = 0;\n      pwVar6 = (word *)0x0;\n      pwVar14 = pwVar20;\n      goto LAB_000fb578;\n    }\n    if (*(int *)(pwVar6 + 2) == 0) {\nLAB_000fb570:\n      *puVar21 = pwVar6;\n    }\n    else {\n      pbVar24 = (byte *)(pwVar6 + 4);\n      pwVar14 = (word *)0x1;\n      do {\n        pwVar20 = pwVar14;\n        iVar5 = *(int *)pbVar24;\n        pwVar14 = (word *)((int)pwVar20 + 1);\n        pbVar24 = pbVar24 + 4;\n      } while (iVar5 != 0);\n      pwVar16 = (word *)(uint)((int)pwVar14 < (int)pwVar16);\n      if (((int)pwVar14 < 2) || (pwVar15 = unaff_s3, pwVar16 == (word *)0x0)) goto LAB_000fb570;\n      FUN_000fab30(pwVar6);\n      (**(code **)(pcStack_1a8 + -0x5f94))(unaff_s3);\n      *puVar21 = pwVar6;\n    }\n    pwVar6 = (word *)0x1;\n    pwVar14 = pwVar20;\n  }\nLAB_000fb578:\n  if ((char *)auStack_19d._1_4_ == (char *)**(undefined4 **)(pcStack_1a8 + -0x5fb4)) {\n    return pwVar6;\n  }\n  pcVar23 = *(code **)(pcStack_1a8 + -0x6004);\n  pcVar25 = rl_filename_completion_function;\n  pcVar19 = (char *)auStack_19d._1_4_;\n  (*pcVar23)();\n  pcStack_230 = pcVar23 + 0x62f20;\n  iStack_1e4 = **(int **)(pcVar23 + 0x5cf6c);\n  pwStack_1e0 = pwVar16;\n  pwStack_1dc = pwVar18;\n  puStack_1d8 = puVar21;\n  pwStack_1d4 = unaff_s3;\n  pwStack_1d0 = unaff_s4;\n  pwStack_1cc = unaff_s5;\n  pwStack_1c8 = unaff_s6;\n  pwStack_1c4 = unaff_s7;\n  ppbStack_1c0 = unaff_s8;\n  pcStack_1bc = pcVar25;\n  if (pwVar14 != (word *)0x0) goto LAB_000fb968;\n  if (*(int *)(*(int *)(pcVar23 + 0x5af4c) + -0x3fd4) != 0) {\n    (**(code **)(pcVar23 + 0x5cc9c))();\n    *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) = 0;\n  }\n  if (*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) != 0) {\n    (**(code **)(pcStack_230 + -0x5f94))();\n  }\n  if (*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) != 0) {\n    (**(code **)(pcStack_230 + -0x5f94))();\n  }\n  if (*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) != 0) {\n    (**(code **)(pcStack_230 + -0x5f94))();\n  }\n  iVar5 = (**(code **)(pcStack_230 + -0x60fc))(pcVar19);\n  uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);\n  uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,pcVar19);\n  *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) = uVar7;\n  if (*pcVar19 == '\0') {\n    pcVar19 = (char *)(*(int *)(pcStack_230 + -0x7f90) + -0x5e18);\n  }\n  iVar5 = (**(code **)(pcStack_230 + -0x60fc))(pcVar19);\n  uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);\n  puVar8 = (undefined1 *)(**(code **)(pcStack_230 + -0x6074))(uVar7,pcVar19);\n  *(undefined1 **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) = puVar8;\n  unaff_s4 = (word *)(**(code **)(pcStack_230 + -0x61d4))(puVar8,0x2f);\n  if (unaff_s4 == (word *)0x0) {\n    *puVar8 = 0x2e;\n    *(undefined1 *)(*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) + 1) = 0;\n  }\n  else {\n    (**(code **)(pcStack_230 + -0x6074))\n              (*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc),\n               (byte *)((int)unaff_s4 + 1));\n    *(byte *)((int)unaff_s4 + 1) = 0;\n  }\n  if (**(int **)(pcStack_230 + -0x6f38) == 0) {\nLAB_000fb830:\n    iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n    iVar5 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(iVar13 + -0x3fd8));\n    uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);\n    uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(iVar13 + -0x3fd8));\n    *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = uVar7;\n  }\n  else {\n    if ((code *)**(undefined4 **)(pcStack_230 + -0x6de4) == (code *)0x0) goto LAB_000fb830;\n    uVar7 = (*(code *)**(undefined4 **)(pcStack_230 + -0x6de4))\n                      (*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8),\n                       **(undefined4 **)(pcStack_230 + -0x6f34));\n    *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = uVar7;\n  }\n  bVar3 = **(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) == '~';\n  if (bVar3) {\n    uVar7 = (**(code **)(pcStack_230 + -0x7a34))();\n    iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n    (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fd8));\n    *(undefined4 *)(iVar5 + -0x3fd8) = uVar7;\n  }\n  unaff_s3 = (word *)(uint)bVar3;\n  if ((code *)**(undefined4 **)(pcStack_230 + -0x6f40) == (code *)0x0) {\n    if ((code *)**(undefined4 **)(pcStack_230 + -0x6f3c) != (code *)0x0) {\n      iVar5 = (*(code *)**(undefined4 **)(pcStack_230 + -0x6f3c))\n                        (*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);\n      iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n      if (iVar5 != 0) {\n        (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar13 + -0x3fe0));\n        unaff_s3 = *(word **)(pcStack_230 + -0x7fd4);\n        iVar5 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1fec));\n        uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);\n        uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1fec));\n        *(undefined4 *)(iVar13 + -0x3fe0) = uVar7;\n        goto LAB_000fb8b4;\n      }\n    }\n    iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n    if ((unaff_s3 == (word *)0x0) &&\n       (iVar5 = *(int *)(pcStack_230 + -0x7fd4), **(int **)(pcStack_230 + -0x6f38) != 0)) {\n      iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n      if (**(int **)(pcStack_230 + -0x6de4) != 0) {\n        (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fd8));\n        unaff_s3 = *(word **)(pcStack_230 + -0x7fd4);\n        iVar13 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1ff0));\n        uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar13 + 1);\n        uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1ff0));\n        *(undefined4 *)(iVar5 + -0x3fd8) = uVar7;\n      }\n      goto LAB_000fb8b4;\n    }\n  }\n  else {\n    (*(code *)**(undefined4 **)(pcStack_230 + -0x6f40))(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);\nLAB_000fb8b4:\n    iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n  }\n  uVar7 = (**(code **)(pcStack_230 + -0x6288))(*(undefined4 *)(iVar5 + -0x3fd8));\n  *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) = uVar7;\n  iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n  if ((**(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) != '\0') &&\n     (iVar5 = *(int *)(pcStack_230 + -0x7fd4), **(int **)(pcStack_230 + -0x6f38) != 0)) {\n    if ((code *)**(undefined4 **)(pcStack_230 + -0x6de4) != (code *)0x0) {\n      unaff_s3 = (word *)(*(code *)**(undefined4 **)(pcStack_230 + -0x6de4))\n                                   (*(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc),\n                                    **(undefined4 **)(pcStack_230 + -0x6f34));\n      iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n      (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fdc));\n      *(word **)(iVar5 + -0x3fdc) = unaff_s3;\n    }\n    iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n  }\n  uVar7 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(iVar5 + -0x3fdc));\n  *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe4) = uVar7;\n  **(undefined4 **)(pcStack_230 + -0x6f0c) = 1;\nLAB_000fb968:\n  iVar5 = 0;\n  iStack_224 = *(int *)(pcStack_230 + -0x7fd4);\n  puStack_220 = *(undefined4 **)(pcStack_230 + -0x6df0);\n  iStack_21c = *(int *)(pcStack_230 + -0x7fd4);\n  iStack_218 = *(int *)(pcStack_230 + -0x7fd4);\n  piStack_20c = *(int **)(pcStack_230 + -0x65bc);\n  pcVar23 = pcStack_230;\nLAB_000fbb0c:\n  iVar13 = *(int *)(iStack_224 + -0x3fd4);\nLAB_000fbb10:\n  if (iVar13 == 0) {\n    if (iVar5 != 0) goto LAB_000fbbb0;\n    iVar5 = *(int *)(*(int *)(pcVar23 + -0x7fd4) + -0x3fd8);\nLAB_000fc3a0:\n    if (iVar5 != 0) {\n      (**(code **)(pcVar23 + -0x798c))();\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) = 0;\n      pcVar23 = pcStack_230;\n    }\n    if (*(int *)(*(int *)(pcVar23 + -0x7fd4) + -0x3fdc) != 0) {\n      (**(code **)(pcVar23 + -0x798c))();\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) = 0;\n      pcVar23 = pcStack_230;\n    }\n    pwVar14 = *(word **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0);\n    if (pwVar14 != (word *)0x0) {\n      (**(code **)(pcVar23 + -0x798c))(pwVar14);\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = 0;\n      pwVar14 = (word *)0x0;\n      pcVar23 = pcStack_230;\n    }\n    goto LAB_000fbca4;\n  }\n  iVar5 = (**(code **)(pcVar23 + -0x6214))();\n  if (iVar5 == 0) {\n    if (*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) != 0) {\n      (**(code **)(pcStack_230 + -0x6284))();\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) = 0;\n    }\n    iVar5 = *(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);\n    pcVar23 = pcStack_230;\n    goto LAB_000fc3a0;\n  }\n  pwVar18 = (word *)(iVar5 + 0x13);\n  unaff_s4 = (word *)(**(code **)(pcStack_230 + -0x60fc))(pwVar18);\n  pwVar16 = pwVar18;\n  if (((code *)*puStack_220 != (code *)0x0) &&\n     (pwVar16 = (word *)(*(code *)*puStack_220)(pwVar18,unaff_s4), pwVar18 != pwVar16)) {\n    unaff_s4 = (word *)(**(code **)(pcStack_230 + -0x60fc))(pwVar16);\n  }\n  unaff_s3 = *(word **)(iStack_21c + -0x3fe4);\n  pcVar23 = pcStack_230;\n  if (unaff_s3 == (word *)0x0) {\n    if (**(int **)(pcStack_230 + -0x65ac) == 0) {\n      if (*(byte *)pwVar16 != 0x2e) goto LAB_000fbbb0;\n    }\n    else {\n      iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n      if ((*(byte *)pwVar16 != 0x2e) ||\n         (((byte)*pwVar16 != 0 &&\n          ((iVar13 = *(int *)(pcStack_230 + -0x7fd4), (byte)*pwVar16 != 0x2e ||\n           (iVar13 = *(int *)(pcStack_230 + -0x7fd4), *(byte *)(pwVar16 + 1) != 0))))))\n      goto LAB_000fbbb4;\n    }\n    goto LAB_000fbb0c;\n  }\n  pbStack_228 = *(byte **)(iStack_218 + -0x3fdc);\n  pbStack_1f4 = (byte *)0x0;\n  uStack_1f0 = 0;\n  uStack_1ec = 0;\n  uStack_1e8 = 0;\n  if ((int)unaff_s4 < (int)unaff_s3) goto LAB_000fbb0c;\n  if (*piStack_20c != 0) {\n    if (**(int **)(pcStack_230 + -0x65a4) == 0) {\n      uVar4 = (**(code **)(pcStack_230 + -0x6060))();\n      if ((1 < uVar4) && (unaff_s8 = &pbStack_1f4, **(int **)(pcStack_230 + -0x6728) == 0)) {\n        unaff_s7 = (word *)&iStack_1fc;\n        unaff_s6 = (word *)&uStack_1ec;\n        unaff_s5 = (word *)&iStack_1f8;\n        pwStack_214 = pwVar16;\n        pwStack_208 = unaff_s3;\n        goto LAB_000fc0a8;\n      }\n      unaff_s5 = (word *)(int)(char)*(byte *)pwVar16;\n      pbVar24 = (byte *)(uint)*(byte *)pwVar16;\n      if (((word *)pbVar24 == unaff_s5) &&\n         (piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))(),\n         (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0)) {\n        piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n        unaff_s5 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n      }\n      unaff_s6 = (word *)(int)(char)*pbStack_228;\n      unaff_s4 = (word *)(uint)*pbStack_228;\n      if (unaff_s4 == unaff_s6) {\n        piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))();\n        if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n          piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n          unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n          unaff_s6 = *(word **)unaff_s4;\n        }\n      }\n      pwVar15 = unaff_s3;\n      pcVar23 = pcStack_230;\n      if (unaff_s5 == unaff_s6) {\n        iVar13 = (**(code **)(pcStack_230 + -0x6188))(pbStack_228,pwVar16);\n        goto LAB_000fc280;\n      }\n    }\n    else {\n      uVar4 = (**(code **)(pcStack_230 + -0x6060))();\n      if ((1 < uVar4) && (unaff_s6 = (word *)&uStack_1ec, **(int **)(pcStack_230 + -0x6728) == 0)) {\n        unaff_s8 = &pbStack_1f4;\n        unaff_s7 = (word *)&iStack_1fc;\n        unaff_s5 = (word *)&iStack_1f8;\n        pwStack_214 = pwVar16;\n        pwStack_208 = unaff_s3;\n        do {\n          pwStack_210 = (word *)(**(code **)(pcStack_230 + -0x6084))\n                                          (unaff_s7,pwStack_214,unaff_s4,unaff_s8);\n          pwVar15 = unaff_s3;\n          iVar13 = (**(code **)(pcStack_230 + -0x6084))(unaff_s5,pbStack_228,unaff_s3,unaff_s6);\n          pcVar23 = pcStack_230;\n          if (pwStack_210 == (word *)0x0) {\n            if (iVar13 == 0) goto LAB_000fbbb0;\nLAB_000fbe6c:\n            if (iVar13 + 2U < 2) goto LAB_000fbdb4;\n            iStack_204 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc);\n            iStack_1fc = iStack_204;\n            iStack_1f8 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8);\n            pwStack_214 = (word *)((int)pwStack_214 + (int)pwStack_210);\n            pbStack_228 = pbStack_228 + (int)pwStack_210;\n            pwStack_208 = (word *)((int)pwStack_208 - (int)pwStack_210);\n            if ((((iStack_204 != 0x2d) && (iStack_204 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))) && (iStack_204 != iStack_1f8))\n            goto code_r0x000fbef4;\n          }\n          else {\n            if ((word *)0x1 < pwStack_210 + 1) goto LAB_000fbe6c;\nLAB_000fbdb4:\n            bVar2 = *(byte *)pwStack_214;\n            if (((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||\n               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))) goto LAB_000fbb0c;\n            pwStack_214 = (word *)((int)pwStack_214 + 1);\n            pbStack_228 = pbStack_228 + 1;\n            pwStack_208 = (word *)((int)pwStack_208 + -1);\n          }\n          iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n          pcVar23 = pcStack_230;\n          if (pwStack_208 == (word *)0x0) goto LAB_000fbbb4;\n        } while( true );\n      }\n      unaff_s7 = (word *)&DAT_0000002d;\n      unaff_s8 = (byte **)0x5f;\n      pwStack_208 = (word *)((int)pwVar16 + (int)unaff_s3);\n      unaff_s4 = pwVar16;\n      pcVar23 = pcStack_230;\n      while( true ) {\n        unaff_s3 = (word *)(int)(char)*(byte *)unaff_s4;\n        pbVar24 = (byte *)(uint)*(byte *)unaff_s4;\n        pwStack_214 = unaff_s3;\n        if (((word *)pbVar24 == unaff_s3) &&\n           (piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))(), pcVar23 = pcStack_230,\n           (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0)) {\n          piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n          pwStack_214 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n          pcVar23 = pcStack_230;\n        }\n        unaff_s5 = (word *)(int)(char)*pbStack_228;\n        unaff_s6 = (word *)(uint)*pbStack_228;\n        pwStack_210 = unaff_s5;\n        if (unaff_s6 == unaff_s5) {\n          piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))();\n          pcVar23 = pcStack_230;\n          if ((*(ushort *)(*piVar9 + (int)unaff_s6 * 2) & 1) != 0) {\n            piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n            unaff_s6 = (word *)(*piVar9 + (int)unaff_s6 * 4);\n            pwStack_210 = *(word **)unaff_s6;\n            pcVar23 = pcStack_230;\n          }\n        }\n        if ((((unaff_s3 != (word *)&DAT_0000002d) && (unaff_s3 != (word *)0x5f)) ||\n            ((unaff_s5 != (word *)&DAT_0000002d && (unaff_s5 != (word *)0x5f)))) &&\n           (pwStack_214 != pwStack_210)) break;\n        unaff_s4 = (word *)((int)unaff_s4 + 1);\n        pbStack_228 = pbStack_228 + 1;\n        iVar13 = *(int *)(pcVar23 + -0x7fd4);\n        if (unaff_s4 == pwStack_208) goto LAB_000fbbb4;\n      }\n    }\n    goto LAB_000fbb0c;\n  }\n  if (*(byte *)pwVar16 != *pbStack_228) goto LAB_000fbb0c;\n  pwVar15 = unaff_s3;\n  iVar13 = (**(code **)(pcStack_230 + -0x6238))(pbStack_228,pwVar16);\nLAB_000fc280:\n  pcVar23 = pcStack_230;\n  if (iVar13 != 0) goto LAB_000fbb0c;\n  pcVar19 = *(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);\n  goto LAB_000fbbb8;\nLAB_000fc0a8:\n  pwStack_210 = (word *)(**(code **)(pcStack_230 + -0x6084))(unaff_s7,pwStack_214,unaff_s4,unaff_s8)\n  ;\n  pwVar15 = unaff_s3;\n  iVar13 = (**(code **)(pcStack_230 + -0x6084))(unaff_s5,pbStack_228,unaff_s3,unaff_s6);\n  pcVar23 = pcStack_230;\n  if (pwStack_210 == (word *)0x0) {\n    if (iVar13 == 0) goto LAB_000fbbb0;\nLAB_000fc100:\n    if (iVar13 + 2U < 2) goto LAB_000fc060;\n    iStack_204 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc);\n    iStack_1fc = iStack_204;\n    iStack_1f8 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8);\n    pcVar23 = pcStack_230;\n    if (iStack_204 != iStack_1f8) goto LAB_000fbb0c;\n    pwStack_214 = (word *)((int)pwStack_214 + (int)pwStack_210);\n    pbStack_228 = pbStack_228 + (int)pwStack_210;\n    pwStack_208 = (word *)((int)pwStack_208 - (int)pwStack_210);\n  }\n  else {\n    if ((word *)0x1 < pwStack_210 + 1) goto LAB_000fc100;\nLAB_000fc060:\n    if (*(byte *)pwStack_214 != *pbStack_228) goto LAB_000fbb0c;\n    pwStack_214 = (word *)((int)pwStack_214 + 1);\n    pbStack_228 = pbStack_228 + 1;\n    pwStack_208 = (word *)((int)pwStack_208 + -1);\n  }\n  iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n  pcVar23 = pcStack_230;\n  if (pwStack_208 == (word *)0x0) goto LAB_000fbbb4;\n  goto LAB_000fc0a8;\ncode_r0x000fbef4:\n  iVar13 = *(int *)(iStack_224 + -0x3fd4);\n  pcVar23 = pcStack_230;\n  goto LAB_000fbb10;\nLAB_000fbbb0:\n  iVar13 = *(int *)(pcVar23 + -0x7fd4);\nLAB_000fbbb4:\n  pcVar19 = *(char **)(iVar13 + -0x3fd8);\nLAB_000fbbb8:\n  if ((pcVar19 == (char *)0x0) ||\n     ((piVar9 = *(int **)(pcVar23 + -0x65a8), *pcVar19 == '.' &&\n      (piVar9 = *(int **)(pcVar23 + -0x65a8), pcVar19[1] == '\0')))) {\n    iVar5 = (**(code **)(pcVar23 + -0x60fc))(pwVar16);\n    uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);\n    pwVar14 = (word *)(**(code **)(pcStack_230 + -0x6074))(uVar7,pwVar16);\n  }\n  else {\n    if ((*piVar9 == 0) || (**(char **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0) != '~')) {\n      iVar13 = *(int *)(pcVar23 + -0x7fd4);\n      unaff_s3 = (word *)(**(code **)(pcVar23 + -0x60fc))(*(undefined4 *)(iVar13 + -0x3fe0));\n      iVar5 = (**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13);\n      pwVar14 = (word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2));\n      iVar5 = *(int *)(iVar13 + -0x3fe0);\n      (**(code **)(pcStack_230 + -0x6074))(pwVar14,iVar5);\n      unaff_s4 = (word *)((int)unaff_s3 + iVar5);\n      unaff_s5 = unaff_s3;\n      if (*(byte *)((int)unaff_s4 + -1) != 0x2f) {\n        unaff_s5 = (word *)((int)unaff_s3 + 1);\n        unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);\n        *(byte *)unaff_s3 = 0x2f;\n      }\n    }\n    else {\n      unaff_s3 = (word *)(**(code **)(pcVar23 + -0x60fc))();\n      iVar5 = (**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13);\n      pwVar14 = (word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2));\n      unaff_s4 = *(word **)(pcStack_230 + -0x7fd4);\n      (**(code **)(pcStack_230 + -0x6074))(pwVar14,*(undefined4 *)(unaff_s4 + -0x1fec));\n      unaff_s5 = unaff_s3;\n      if (*(byte *)((int)unaff_s3 + *(int *)(unaff_s4 + -0x1fec) + -1) != 0x2f) {\n        unaff_s5 = (word *)((int)unaff_s3 + 1);\n        unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);\n        *(byte *)unaff_s3 = 0x2f;\n        *(byte *)((int)pwVar14 + (int)unaff_s5) = 0;\n      }\n    }\n    (**(code **)(pcStack_230 + -0x6074))((byte *)((int)pwVar14 + (int)unaff_s5),pwVar16);\n  }\n  pcVar23 = pcStack_230;\n  if (pwVar18 != pwVar16) {\n    (**(code **)(pcStack_230 + -0x798c))(pwVar16);\n    pcVar23 = pcStack_230;\n  }\nLAB_000fbca4:\n  if (iStack_1e4 == **(int **)(pcVar23 + -0x5fb4)) {\n    return pwVar14;\n  }\n  pcVar23 = *(code **)(pcVar23 + -0x6004);\n  pcVar25 = FUN_000fc42c;\n  iVar5 = iStack_1e4;\n  (*pcVar23)();\n  pcStack_280 = pcVar23 + 0x62114;\n  aiStack_278[3] = **(int **)(pcVar23 + 0x5c160);\n  pwStack_268 = pwVar16;\n  pwStack_264 = pwVar18;\n  pwStack_260 = pwVar14;\n  pwStack_25c = unaff_s3;\n  pwStack_258 = unaff_s4;\n  pwStack_254 = unaff_s5;\n  pwStack_250 = unaff_s6;\n  pwStack_24c = unaff_s7;\n  ppbStack_248 = unaff_s8;\n  pcStack_244 = pcVar25;\n  iVar10 = (**(code **)(pcVar23 + 0x5c018))();\n  aiStack_278[1] = 0;\n  aiStack_278[2] = 0;\n  pwVar16 = (word *)0x0;\n  iVar13 = 0;\n  pcVar23 = pcStack_280;\n  while( true ) {\n    pwVar14 = (word *)(iVar5 + iVar13);\n    bVar2 = *(byte *)pwVar14;\n    iVar17 = iVar13;\n    if (bVar2 == 0) break;\n    if ((bVar2 < 0x20) || (bVar2 == 0x7f)) {\n      pwVar16 = pwVar16 + 1;\n      iVar13 = iVar13 + 1;\n    }\n    else {\n      pwVar15 = (word *)((iVar10 + 1) - iVar13);\n      iVar11 = (**(code **)(pcVar23 + -0x6084))(aiStack_278,pwVar14,pwVar15,aiStack_278 + 1);\n      pcVar23 = pcStack_280;\n      if (iVar11 + 2U < 2) {\n        pwVar16 = (word *)((int)pwVar16 + 1);\n        iVar13 = iVar13 + 1;\n        aiStack_278[1] = 0;\n        aiStack_278[2] = 0;\n      }\n      else {\n        iVar17 = iVar13 + iVar11;\n        if (iVar11 == 0) break;\n        if (aiStack_278[0] < 0x40) {\n          iVar13 = 1;\n          if (aiStack_278[0] < 0x25) {\n            if (3 < aiStack_278[0] - 0x20U) {\n              pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n              goto LAB_000fc594;\n            }\n            iVar13 = 1;\n          }\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n          if (aiStack_278[0] < 0x41) {\nLAB_000fc594:\n            iVar13 = (*pcVar23)();\n          }\n          else {\n            iVar13 = 1;\n            if (0x5f < aiStack_278[0]) {\n              if (0x1d < aiStack_278[0] - 0x61U) goto LAB_000fc594;\n              iVar13 = 1;\n            }\n          }\n        }\n        if (iVar13 < 0) {\n          iVar13 = 1;\n        }\n        pwVar16 = (word *)((int)pwVar16 + iVar13);\n        iVar13 = iVar17;\n        pcVar23 = pcStack_280;\n      }\n    }\n  }\n  if (aiStack_278[3] == **(int **)(pcVar23 + -0x5fb4)) {\n    return pwVar16;\n  }\n  pcVar23 = *(code **)(pcVar23 + -0x6004);\n  pcVar25 = FUN_000fc5fc;\n  iVar11 = aiStack_278[3];\n  (*pcVar23)();\n  pcStack_2e0 = pcVar23 + 0x61f44;\n  uStack_2a4 = 1;\n  uStack_2a8 = 0x7f;\n  pbStack_2bc = (byte *)**(undefined4 **)(pcVar23 + 0x5bf90);\n  pwVar18 = pwVar14;\n  pwStack_2cc = pwVar15;\n  iStack_2b8 = iVar17;\n  pwStack_2b4 = pwVar16;\n  iStack_2b0 = iVar13;\n  iStack_2ac = iVar5;\n  piStack_2a0 = aiStack_278 + 1;\n  piStack_29c = aiStack_278;\n  iStack_298 = iVar10 + 1;\n  pcStack_294 = pcVar25;\n  iVar5 = (**(code **)(pcVar23 + 0x5be48))();\n  iStack_2d4 = iVar11 + iVar5 + 1;\n  aiStack_2c8[1] = 0;\n  aiStack_2c8[2] = 0;\n  if ((**(int **)(pcStack_2e0 + -0x65a0) < 1) || ((int)pwVar14 < iVar5)) {\n    if (**(int **)(pcStack_2e0 + -0x67a8) == 0) goto LAB_000fc714;\n    if ((pwVar14 == (word *)0x0) || (**(int **)(pcStack_2e0 + -0x67a4) < 1)) goto LAB_000fc6f0;\n    if (0 < **(int **)(pcStack_2e0 + -0x65a0)) goto LAB_000fc750;\n    pcVar23 = *(code **)(pcStack_2e0 + -0x659c);\n    pwVar6 = pwVar14;\nLAB_000fc6c0:\n    (*pcVar23)();\n    (**(code **)(pcStack_2e0 + -0x6598))();\n    pwVar20 = (word *)0x0;\n    pwVar14 = (word *)0x0;\n  }\n  else if (**(int **)(pcStack_2e0 + -0x67a8) == 0) {\n    pwVar14 = (word *)0x0;\n    pwVar20 = (word *)0x0;\n    pwVar6 = (word *)0x0;\n  }\n  else {\n    pwVar14 = (word *)0x0;\nLAB_000fc6f0:\n    (**(code **)(pcStack_2e0 + -0x659c))();\n    (**(code **)(pcStack_2e0 + -0x6594))(pwStack_2cc);\nLAB_000fc714:\n    pwVar6 = pwVar14;\n    if (pwVar14 == (word *)0x0) {\n      pwVar20 = (word *)0x0;\n    }\n    else if (**(int **)(pcStack_2e0 + -0x65a0) < 1) {\n      pcVar23 = *(code **)(pcStack_2e0 + -0x659c);\n      if (0 < **(int **)(pcStack_2e0 + -0x67a4)) goto LAB_000fc6c0;\n      pwVar6 = (word *)0x0;\n      pwVar20 = (word *)0x0;\n    }\n    else {\nLAB_000fc750:\n      pwVar16 = (word *)0x2e;\n      if (*(byte *)((int)pwVar14 + iVar11) == 0x2e) {\n        pwVar16 = (word *)0x5f;\n      }\n      puVar21 = *(undefined4 **)(pcStack_2e0 + -0x6ef0);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16);\n      pwVar20 = (word *)0x3;\n      pwVar6 = (word *)0x0;\n    }\n  }\n  pwVar14 = (word *)((int)pwVar14 + iVar11);\n  puVar21 = *(undefined4 **)(pcStack_2e0 + -0x6ef0);\n  iStack_2d0 = *(int *)(pcStack_2e0 + -26000) + 0xb8;\n  while (bVar2 = *(byte *)pwVar14, bVar2 != 0) {\n    if (bVar2 < 0x20) {\n      (**(code **)(pcStack_2e0 + -0x61f0))(0x5e,*puVar21);\n      pwVar16 = (word *)((int)(char)*(byte *)pwVar14 | 0x40);\n      pbVar24 = (byte *)(*(byte *)pwVar14 | 0x40);\n      if ((word *)pbVar24 == pwVar16) {\n        piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x6290))();\n        if ((*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 2) != 0) {\n          piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x5f10))();\n          pwVar16 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n        }\n      }\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16);\n      pwVar20 = pwVar20 + 1;\n      pwVar14 = (word *)((int)pwVar14 + 1);\n      aiStack_2c8[1] = 0;\n      aiStack_2c8[2] = 0;\n    }\n    else if (bVar2 == 0x7f) {\n      (**(code **)(pcStack_2e0 + -0x61f0))(0x5e,*puVar21);\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(0x3f);\n      pwVar20 = pwVar20 + 1;\n      pwVar14 = (word *)((int)pwVar14 + 1);\n      aiStack_2c8[1] = 0;\n      aiStack_2c8[2] = 0;\n    }\n    else {\n      pwVar15 = (word *)(iStack_2d4 - (int)pwVar14);\n      pwVar18 = pwVar14;\n      pwVar16 = (word *)(**(code **)(pcStack_2e0 + -0x6084))(aiStack_2c8,pwVar14,pwVar15);\n      iVar5 = 1;\n      if (pwVar16 + 1 < (word *)0x2) {\n        aiStack_2c8[1] = 0;\n        aiStack_2c8[2] = 0;\n        pwVar16 = (word *)0x1;\n      }\n      else {\n        if (pwVar16 == (word *)0x0) break;\n        if (aiStack_2c8[0] < 0x40) {\n          if (aiStack_2c8[0] < 0x25) {\n            pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n            if (3 < aiStack_2c8[0] - 0x20U) goto LAB_000fc9c0;\n          }\n          else {\n            iVar5 = 1;\n          }\n        }\n        else if (aiStack_2c8[0] < 0x41) {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\nLAB_000fc9c0:\n          iVar5 = (*pcVar23)();\n        }\n        else if (aiStack_2c8[0] < 0x60) {\n          iVar5 = 1;\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n          if (0x1d < aiStack_2c8[0] - 0x61U) goto LAB_000fc9c0;\n          iVar5 = 1;\n        }\n        if (iVar5 < 0) {\n          iVar5 = 1;\n        }\n      }\n      pwVar18 = (word *)0x1;\n      pwVar15 = pwVar16;\n      (**(code **)(pcStack_2e0 + -0x6054))(pwVar14,1,pwVar16,*puVar21);\n      pwVar14 = (word *)((int)pwVar14 + (int)pwVar16);\n      pwVar20 = (word *)((int)pwVar20 + iVar5);\n    }\n    if ((0 < (int)pwVar6) && ((int)pwVar6 <= (int)pwVar14 - iVar11)) {\n      (**(code **)(pcStack_2e0 + -0x658c))();\n      (**(code **)(pcStack_2e0 + -0x6588))(iStack_2d0);\n      pwVar6 = (word *)**(undefined4 **)(pcStack_2e0 + -0x67a8);\n      if (pwVar6 != (word *)0x0) {\n        (**(code **)(pcStack_2e0 + -0x659c))();\n        (**(code **)(pcStack_2e0 + -0x6594))(pwStack_2cc);\n        pwVar6 = (word *)0x0;\n      }\n    }\n  }\n  if (**(int **)(pcStack_2e0 + -0x67a8) != 0) {\n    (**(code **)(pcStack_2e0 + -0x658c))();\n    (**(code **)(pcStack_2e0 + -0x6588))(*(int *)(pcStack_2e0 + -26000) + 0xb8);\n  }\n  if (pbStack_2bc == (byte *)**(undefined4 **)(pcStack_2e0 + -0x5fb4)) {\n    return pwVar20;\n  }\n  pcVar23 = *(code **)(pcStack_2e0 + -0x6004);\n  pcVar25 = FUN_000fcae4;\n  pbVar24 = pbStack_2bc;\n  (*pcVar23)();\n  iStack_314 = **(int **)(pcVar23 + 0x5baa8);\n  pwStack_310 = pwVar14;\n  pwStack_30c = pwVar16;\n  pwStack_308 = pwVar20;\n  pwStack_304 = pwVar6;\n  piStack_300 = aiStack_2c8 + 1;\n  puStack_2fc = puVar21;\n  iStack_2f8 = iVar11;\n  pcStack_2f4 = pcVar25;\n  if ((**(int **)(pcVar23 + 0x5b2b4) == 0) ||\n     (piVar9 = *(int **)(pcVar23 + 0x5b4d8), **(int **)(pcVar23 + 0x5ab50) == 0)) {\n    pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,pbVar24);\n    piVar9 = *(int **)(pcVar23 + 0x5b4d8);\n    if (**(int **)(pcVar23 + 0x5ab50) == 0) goto LAB_000fcb84;\n  }\n  if ((*piVar9 == 0 && **(int **)(pcVar23 + 0x5b2b4) == 0) && **(int **)(pcVar23 + 0x5b49c) == 0)\n  goto LAB_000fcb84;\n  if ((word *)pbVar24 == pwVar18) {\n    iStack_31c = (**(code **)(pcVar23 + 0x5a028))(pwVar18);\n    if (**(int **)(pcVar23 + 0x5b4d8) != 0) {\n      iVar5 = FUN_000f9fd0(iStack_31c);\n      if (**(int **)(pcVar23 + 0x5b2b4) != 0) goto LAB_000fcf40;\n      goto LAB_000fcddc;\n    }\n    if (**(int **)(pcVar23 + 0x5b49c) == 0) {\n      piVar9 = *(int **)(pcVar23 + 0x5b2b4);\nLAB_000fcef0:\n      iVar5 = 0;\n      if (*piVar9 == 0) {\n        (**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);\n        goto LAB_000fcb84;\n      }\nLAB_000fcf40:\n      pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,iStack_31c);\n      goto LAB_000fcddc;\n    }\n    iVar5 = FUN_000fa188(iStack_31c);\n    piVar9 = *(int **)(pcVar23 + 0x5b2b4);\n    if (iVar5 == 0) goto LAB_000fcef0;\n    if (*piVar9 != 0) {\n      iVar5 = 0x2f;\n      goto LAB_000fcf40;\n    }\n    (**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);\n    iVar5 = 0x2f;\n  }\n  else {\n    bVar2 = pbVar24[-1];\n    pbVar24[-1] = 0;\n    if ((pwVar18 == (word *)0x0) || (*(byte *)pwVar18 == 0)) {\n      pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);\n    }\n    else {\n      pwStack_318 = pwVar18;\n      if (*(byte *)pwVar18 == 0x2f) {\n        if ((byte)*pwVar18 == 0) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59acc) + -0x794);\n        }\n        else if (((byte)*pwVar18 == 0x2f) && (*(byte *)(pwVar18 + 1) == 0)) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);\n        }\n      }\n    }\n    iStack_31c = (**(code **)(pcVar23 + 0x5a028))(pwStack_318);\n    if ((code *)**(undefined4 **)(pcVar23 + 0x5ab20) != (code *)0x0) {\n      (*(code *)**(undefined4 **)(pcVar23 + 0x5ab20))(&iStack_31c);\n    }\n    iVar5 = (**(code **)(pcVar23 + 0x5b960))(iStack_31c);\n    iVar13 = (**(code **)(pcVar23 + 0x5b960))(pbVar24);\n    pwVar16 = (word *)(**(code **)(pcVar23 + 0x59ad4))(iVar13 + iVar5 + 2);\n    (**(code **)(pcVar23 + 0x5b9e8))(pwVar16,iStack_31c);\n    if (*(char *)(iStack_31c + iVar5 + -1) == '/') {\n      iVar5 = iVar5 + -1;\n    }\n    else {\n      *(byte *)((int)pwVar16 + iVar5) = 0x2f;\n    }\n    (**(code **)(pcVar23 + 0x5b9e8))((byte *)((int)pwVar16 + iVar5 + 1),pbVar24);\n    if (**(int **)(pcVar23 + 0x5b4d8) == 0) {\n      iVar5 = **(int **)(pcVar23 + 0x5b49c);\n      piVar9 = *(int **)(pcVar23 + 0x5b2b4);\n      if (iVar5 != 0) {\n        pwStack_318 = (word *)0x0;\n        if ((**(int **)(pcVar23 + 0x5ab20) == 0) && (**(int **)(pcVar23 + 0x5ac70) != 0)) {\n          iVar5 = (**(code **)(pcVar23 + 0x5b960))(pwVar16);\n          uVar7 = (**(code **)(pcVar23 + 0x59ad4))(iVar5 + 1);\n          pwStack_318 = (word *)(**(code **)(pcVar23 + 0x5b9e8))(uVar7,pwVar16);\n          (*(code *)**(undefined4 **)(pcVar23 + 0x5ac70))(&pwStack_318);\n          (**(code **)(pcVar23 + 0x5a0d0))(pwVar16);\n          pwVar16 = pwStack_318;\n        }\n        iVar5 = FUN_000fa188(pwVar16);\n        if (iVar5 != 0) {\n          iVar5 = 0x2f;\n        }\n        goto LAB_000fcdb0;\n      }\n    }\n    else {\n      iVar5 = FUN_000f9fd0(pwVar16);\nLAB_000fcdb0:\n      piVar9 = *(int **)(pcVar23 + 0x5b2b4);\n    }\n    if (*piVar9 != 0) {\n      pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,pwVar16);\n    }\n    (**(code **)(pcVar23 + 0x5a0d0))(pwVar16);\n    pbVar24[-1] = bVar2;\nLAB_000fcddc:\n    (**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);\n    if (iVar5 == 0) goto LAB_000fcb84;\n  }\n  (**(code **)(pcVar23 + 0x5b86c))(iVar5,**(undefined4 **)(pcVar23 + 0x5ab6c));\n  pwVar6 = (word *)((int)pwVar6 + 1);\nLAB_000fcb84:\n  if (iStack_314 == **(int **)(pcVar23 + 0x5baa8)) {\n    return pwVar6;\n  }\n  pcVar23 = *(code **)(pcVar23 + 0x5ba58);\n  (*pcVar23)();\n  if ((**(int **)(pcVar23 + 0x5a67c) == iStack_314) &&\n     (*(int *)(*(int *)(pcVar23 + 0x595b0) + -0x3fb8) == 0)) {\n    return (word *)0x3f;\n  }\n  if (**(int **)(pcVar23 + 0x5b004) == 0) {\n    pwVar16 = (word *)&DAT_00000009;\n    if (**(int **)(pcVar23 + 0x5b008) != 0) {\n      pwVar16 = (word *)0x40;\n    }\n    return pwVar16;\n  }\n  return (word *)&DAT_00000021;\n}\n\n" (function_definition "word * FUN_000fa7dc(undefined4 param_1,word *param_2,int param_3,byte *param_4)\n\n{\n  char cVar1;\n  byte bVar2;\n  bool bVar3;\n  uint uVar4;\n  int iVar5;\n  word *pwVar6;\n  undefined4 uVar7;\n  undefined1 *puVar8;\n  int *piVar9;\n  int iVar10;\n  int iVar11;\n  byte *pbVar12;\n  int iVar13;\n  word *pwVar14;\n  word *pwVar15;\n  word *pwVar16;\n  int iVar17;\n  word *pwVar18;\n  word *unaff_s2;\n  char *pcVar19;\n  word *pwVar20;\n  word *unaff_s3;\n  word *unaff_s4;\n  word *unaff_s5;\n  undefined4 *puVar21;\n  word *unaff_s6;\n  word *unaff_s7;\n  undefined *puVar22;\n  code *pcVar23;\n  byte **unaff_s8;\n  byte *pbVar24;\n  code *pcVar25;\n  int iStack_31c;\n  word *pwStack_318;\n  int iStack_314;\n  word *pwStack_310;\n  word *pwStack_30c;\n  word *pwStack_308;\n  word *pwStack_304;\n  int *piStack_300;\n  undefined4 *puStack_2fc;\n  int iStack_2f8;\n  code *pcStack_2f4;\n  code *pcStack_2e0;\n  int iStack_2d4;\n  int iStack_2d0;\n  word *pwStack_2cc;\n  int aiStack_2c8 [3];\n  byte *pbStack_2bc;\n  int iStack_2b8;\n  word *pwStack_2b4;\n  int iStack_2b0;\n  int iStack_2ac;\n  undefined4 uStack_2a8;\n  undefined4 uStack_2a4;\n  int *piStack_2a0;\n  int *piStack_29c;\n  int iStack_298;\n  code *pcStack_294;\n  code *pcStack_280;\n  int aiStack_278 [4];\n  word *pwStack_268;\n  word *pwStack_264;\n  word *pwStack_260;\n  word *pwStack_25c;\n  word *pwStack_258;\n  word *pwStack_254;\n  word *pwStack_250;\n  word *pwStack_24c;\n  byte **ppbStack_248;\n  code *pcStack_244;\n  code *pcStack_230;\n  byte *pbStack_228;\n  int iStack_224;\n  undefined4 *puStack_220;\n  int iStack_21c;\n  int iStack_218;\n  word *pwStack_214;\n  word *pwStack_210;\n  int *piStack_20c;\n  word *pwStack_208;\n  int iStack_204;\n  int iStack_1fc;\n  int iStack_1f8;\n  byte *pbStack_1f4;\n  undefined4 uStack_1f0;\n  undefined4 uStack_1ec;\n  undefined4 uStack_1e8;\n  int iStack_1e4;\n  word *pwStack_1e0;\n  word *pwStack_1dc;\n  undefined4 *puStack_1d8;\n  word *pwStack_1d4;\n  word *pwStack_1d0;\n  word *pwStack_1cc;\n  word *pwStack_1c8;\n  word *pwStack_1c4;\n  byte **ppbStack_1c0;\n  code *pcStack_1bc;\n  code *pcStack_1a8;\n  undefined1 auStack_19d [9];\n  word *pwStack_194;\n  byte *pbStack_190;\n  word *pwStack_18c;\n  word *pwStack_188;\n  word *pwStack_184;\n  word *pwStack_180;\n  word *pwStack_17c;\n  word *pwStack_178;\n  code *pcStack_174;\n  word *pwStack_160;\n  word *pwStack_15c;\n  undefined *puStack_158;\n  word *pwStack_14c;\n  word *pwStack_148;\n  word *pwStack_144;\n  word *pwStack_140;\n  word *pwStack_13c;\n  uint uStack_138;\n  int *piStack_134;\n  word *pwStack_130;\n  int *piStack_12c;\n  byte *pbStack_124;\n  byte *pbStack_120;\n  undefined4 uStack_11c;\n  undefined4 uStack_118;\n  undefined4 uStack_114;\n  undefined4 uStack_110;\n  undefined4 uStack_10c;\n  undefined4 uStack_108;\n  undefined4 *puStack_104;\n  word *pwStack_100;\n  byte *pbStack_fc;\n  word *pwStack_f8;\n  word *local_bc;\n  word awStack_b8 [12];\n  uint local_a0;\n  undefined1 local_18 [4];\n  int *local_14;\n  \n  local_14 = *(int **)PTR___stack_chk_guard_0015858c;\n  if (param_3 != 0) {\n    if (*(int *)PTR_rl_point_001575f0 == 0) {\n      param_3 = 0;\n    }\n    else if (*(int *)PTR_rl_completion_suppress_quote_00157618 == 0) {\n      if (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + *(int *)PTR_rl_point_001575f0 + -1) ==\n          param_3) {\n        param_3 = 0;\n      }\n      else {\n        local_18[0] = (undefined1)param_3;\n        param_3 = 1;\n      }\n    }\n    else {\n      param_3 = 0;\n    }\n  }\n  if (param_2 == (word *)0x0) {\n    pwVar16 = (word *)(param_3 + 1);\n    if ((*(int *)PTR_rl_completion_suppress_append_00157624 == 0) &&\n       (*(int *)PTR_rl_completion_append_character_00157628 != 0)) {\n      local_18[param_3] = (char)*(int *)PTR_rl_completion_append_character_00157628;\n      goto LAB_000fa86c;\n    }\n  }\n  else {\n    local_18[param_3] = (char)param_2;\nLAB_000fa86c:\n    pwVar16 = (word *)(param_3 + 2);\n    param_3 = param_3 + 1;\n  }\n  pwVar15 = (word *)(&stack0xfffffff0 + param_3);\n  local_18[param_3] = 0;\n  if (*(int *)PTR_rl_filename_completion_desired_00157634 == 0) {\n    if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {\n      rl_insert_text(local_18);\n    }\n  }\n  else {\n    unaff_s2 = (word *)(*(code *)PTR_tilde_expand_00156b0c)();\n    if (*(int *)PTR_rl_filename_stat_hook_00157754 != 0) {\n      iVar5 = (*(code *)PTR_strlen_00158444)(unaff_s2);\n      uVar7 = (*(code *)PTR_xmalloc_001565b8)(iVar5 + 1);\n      local_bc = (word *)(*(code *)PTR_strcpy_001584cc)(uVar7,unaff_s2);\n      (**(code **)PTR_rl_filename_stat_hook_00157754)(&local_bc);\n      (*(code *)PTR_xfree_00156bb4)(unaff_s2);\n      unaff_s2 = local_bc;\n    }\n    param_2 = unaff_s2;\n    if ((param_4 == (byte *)0x0) ||\n       (pwVar15 = awStack_b8, *(int *)PTR_rl_completion_mark_symlink_dirs_001578a4 != 0)) {\n      pwVar15 = awStack_b8;\n      iVar5 = (*(code *)PTR___xstat64_001582e8)(3);\n    }\n    else {\n      iVar5 = (*(code *)PTR___lxstat64_001582c8)(3);\n    }\n    if (iVar5 == 0) {\n      if ((local_a0 & 0xf000) == 0x4000) {\n        if (*(int *)PTR__rl_complete_mark_directories_00157f80 != 0) {\n          iVar5 = *(int *)PTR_rl_point_001575f0;\n          if ((iVar5 == 0) || (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5) != '\0')) {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5);\n          }\n          else {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5 + -1);\n          }\n          if (cVar1 != '/') {\n            rl_insert_text(PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c);\n          }\n        }\n      }\n      else if (((local_a0 & 0xf000) != 0xa000) || (iVar5 = FUN_000fa188(unaff_s2), iVar5 == 0))\n      goto LAB_000fa9f0;\n    }\n    else {\nLAB_000fa9f0:\n      if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {\n        rl_insert_text(local_18);\n      }\n    }\n    (*(code *)PTR_xfree_00156bb4)(unaff_s2);\n  }\n  if (local_14 == *(int **)PTR___stack_chk_guard_0015858c) {\n    return pwVar16;\n  }\n  piVar9 = local_14;\n  puVar22 = PTR___stack_chk_fail_0015853c;\n  (*(code *)PTR___stack_chk_fail_0015853c)();\n  puStack_158 = puVar22 + 0x63a10;\n  puStack_104 = (undefined4 *)**(undefined4 **)(puVar22 + 0x5da5c);\n  pwVar14 = param_2;\n  pwStack_130 = pwVar15;\n  piStack_12c = piVar9;\n  pwStack_100 = pwVar16;\n  pbStack_fc = param_4;\n  pwStack_f8 = unaff_s2;\n  if (param_2 == (word *)0x1) {\n    *piVar9 = piVar9[1];\n    piVar9[1] = 0;\n    pwStack_13c = param_2;\n  }\n  else {\n    if ((int)param_2 < 2) {\n      pwStack_140 = (word *)&__DT_SYMTAB[0x3d1].st_info;\n    }\n    else {\n      pwVar18 = (word *)(piVar9 + 1);\n      pwStack_140 = (word *)&__DT_SYMTAB[0x3d1].st_info;\n      pwStack_13c = (word *)0x1;\n      unaff_s3 = *(word **)(puVar22 + 0x5d2e8);\n      piStack_134 = *(int **)(puVar22 + 0x5d454);\n      unaff_s8 = &pbStack_124;\n      do {\n        uVar4 = (**(code **)(puStack_158 + -0x6060))();\n        if ((1 < uVar4) && (*(int *)unaff_s3 == 0)) {\n          uStack_11c = 0;\n          uStack_118 = 0;\n          uStack_114 = 0;\n          uStack_110 = 0;\n        }\n        if (*piStack_134 == 0) {\n          param_4 = (byte *)(int)**(char **)pwVar18;\n          unaff_s5 = pwVar18;\n          if (param_4 == (byte *)0x0) {\n            pwVar16 = (word *)0x0;\n            goto LAB_000fac1c;\n          }\n          pwVar16 = (word *)(int)**(char **)(pwVar18 + 2);\n          pwStack_14c = (word *)0x0;\n          unaff_s4 = pwVar16;\n          if (pwVar16 == (word *)0x0) goto LAB_000fac1c;\n          unaff_s6 = (word *)&uStack_11c;\n          pwStack_148 = (word *)&uStack_114;\n          unaff_s7 = (word *)&uStack_10c;\n          do {\n            pwVar16 = pwStack_14c;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\n              if ((word *)param_4 != unaff_s4) goto LAB_000fac1c;\n            }\n            else {\n              uStack_10c = uStack_11c;\n              uStack_108 = uStack_118;\n              pwStack_15c = pwStack_148;\n              pwVar15 = unaff_s6;\n              pwStack_160 = pwVar16;\n              iVar5 = (**(code **)(puStack_158 + -0x65b8))\n                                (*(undefined4 *)pwVar18,pwVar16,unaff_s6,\n                                 *(undefined4 *)(pwVar18 + 2));\n              pwVar14 = unaff_s7;\n              if (iVar5 == 0) goto LAB_000fac1c;\n              iVar5 = (**(code **)(puStack_158 + -0x65b4))\n                                ((byte *)((int)pwStack_14c + *(int *)pwVar18));\n              if (1 < iVar5) {\n                pwVar16 = (word *)((int)pwVar16 + iVar5 + -1);\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_14c = pwVar16;\n            if (param_4 == (byte *)0x0) goto LAB_000fac1c;\n            unaff_s4 = (word *)(int)(char)*(byte *)((int)pwVar16 + *(int *)(pwVar18 + 2));\n            bVar3 = (int)pwVar16 < (int)pwStack_140;\n          } while (unaff_s4 != (word *)0x0);\n        }\n        else {\n          pwVar16 = (word *)0x0;\n          unaff_s7 = (word *)&uStack_11c;\n          unaff_s6 = (word *)&uStack_114;\n          while( true ) {\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_148 = pwVar16;\n            pwStack_144 = pwVar18;\n            if (unaff_s4 == (word *)param_4) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))();\n              if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n                param_4 = *(byte **)unaff_s4;\n              }\n            }\n            unaff_s5 = (word *)&pbStack_120;\n            if (param_4 == (byte *)0x0) break;\n            pwStack_14c = (word *)(int)(char)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))\n            ;\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n            if ((unaff_s4 == pwStack_14c) &&\n               (piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0)) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n              unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n              pwStack_14c = *(word **)unaff_s4;\n            }\n            if (pwStack_14c == (word *)0x0) break;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\njoined_r0x000facac:\n              if ((word *)param_4 != pwStack_14c) break;\n            }\n            else {\n              pbVar24 = (byte *)((int)pwStack_148 + *(int *)pwStack_144);\n              uVar7 = (**(code **)(puStack_158 + -0x60fc))(pbVar24);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,pbVar24,uVar7,unaff_s7);\n              unaff_s4 = (word *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n              pwVar15 = (word *)(**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              pwVar14 = unaff_s4;\n              iVar5 = (**(code **)(puStack_158 + -0x6084))(&pbStack_120,unaff_s4,pwVar15,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar5 + 2U < 2)) goto joined_r0x000facac;\n              param_4 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_124);\n              pbStack_124 = param_4;\n              pbStack_120 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_120);\n              if (param_4 != pbStack_120) break;\n              if (1 < uStack_138) {\n                pwVar16 = (word *)((int)pwStack_148 + (uStack_138 - 1));\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\nLAB_000fac1c:\n          bVar3 = (int)pwVar16 < (int)pwStack_140;\n        }\n        pwVar6 = pwStack_130;\n        if (bVar3) {\n          pwStack_140 = pwVar16;\n        }\n        pwStack_13c = (word *)((int)pwStack_13c + 1);\n        pwVar18 = pwVar18 + 2;\n      } while (param_2 != pwStack_13c);\n      unaff_s2 = pwVar18;\n      if (((pwStack_140 == (word *)0x0) && (pwStack_130 != (word *)0x0)) &&\n         (pwVar16 = pwStack_130, *(byte *)pwStack_130 != 0)) {\n        iVar5 = (**(code **)(puStack_158 + -0x60fc))(pwStack_130);\n        iVar5 = (**(code **)(puStack_158 + -0x7f88))(iVar5 + 1);\n        *piStack_12c = iVar5;\n        pwVar14 = pwVar6;\n        (**(code **)(puStack_158 + -0x6074))(iVar5);\n        pwVar16 = pwVar6;\n        goto LAB_000fb1f0;\n      }\n    }\n    iVar5 = (**(code **)(puStack_158 + -0x7f88))((byte *)((int)pwStack_140 + 1));\n    *piStack_12c = iVar5;\n    if (**(int **)(puStack_158 + -0x65bc) == 0) {\n      pwVar14 = (word *)piStack_12c[1];\n      pwVar15 = pwStack_140;\n      (**(code **)(puStack_158 + -0x615c))(iVar5);\n    }\n    else {\n      unaff_s3 = (word *)0x0;\n      if (**(int **)(puStack_158 + -0x6f0c) != 0) {\n        if ((code *)**(undefined4 **)(puStack_158 + -0x6de4) == (code *)0x0) {\n          unaff_s3 = (word *)0x0;\n        }\n        else if ((**(int **)(puStack_158 + -0x6f38) != 0) &&\n                (**(int **)(puStack_158 + -0x702c) != 0)) {\n          pwVar14 = (word *)**(undefined4 **)(puStack_158 + -0x6f34);\n          unaff_s3 = (word *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(pwStack_130);\n          pwStack_130 = unaff_s3;\n        }\n      }\n      if (**(int **)(puStack_158 + -0x6f10) != 0) {\n        pwVar14 = param_2;\n        (**(code **)(puStack_158 + -0x6218))\n                  (piStack_12c + 1,param_2,4,*(undefined4 *)(puStack_158 + -0x6660));\n      }\n      pwVar16 = (word *)(**(code **)(puStack_158 + -0x60fc))(pwStack_130);\n      unaff_s4 = pwStack_140;\n      if ((int)pwVar16 <= (int)pwStack_140) {\n        unaff_s4 = pwVar16;\n      }\n      if ((int)param_2 < 1) {\n        pwVar16 = (word *)0x1;\nLAB_000fb1a8:\n        pwVar16 = (word *)(uint)((int)param_2 < (int)pwVar16);\n        pwVar15 = pwStack_140;\n        if (pwVar16 != (word *)0x0) goto LAB_000fb12c;\n      }\n      else {\n        param_4 = (byte *)(piStack_12c + 1);\n        pwVar16 = (word *)0x1;\n        do {\n          unaff_s2 = *(word **)param_4;\n          iVar5 = (**(code **)(puStack_158 + -0x6238))(unaff_s2,pwStack_130,unaff_s4);\n          if (iVar5 == 0) {\n            pwVar14 = unaff_s2;\n            (**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,pwStack_140);\n            goto LAB_000fb1a8;\n          }\n          pwVar16 = (word *)((int)pwVar16 + 1);\n          param_4 = param_4 + 4;\n        } while ((int)pwVar16 <= (int)param_2);\nLAB_000fb12c:\n        pwVar14 = (word *)piStack_12c[1];\n        pwVar15 = pwStack_140;\n        (**(code **)(puStack_158 + -0x615c))(*piStack_12c);\n      }\n      if (unaff_s3 != (word *)0x0) {\n        (**(code **)(puStack_158 + -0x5f94))(unaff_s3);\n      }\n    }\n    *(byte *)((int)pwStack_140 + *piStack_12c) = 0;\n    pwStack_13c = param_2;\n  }\nLAB_000fb1f0:\n  if (puStack_104 == (undefined4 *)**(undefined4 **)(puStack_158 + -0x5fb4)) {\n    return pwStack_13c;\n  }\n  pcVar23 = *(code **)(puStack_158 + -0x6004);\n  pcVar25 = FUN_000fb268;\n  puVar21 = puStack_104;\n  (*pcVar23)();\n  pcStack_1a8 = pcVar23 + 0x632d8;\n  auStack_19d._1_4_ = **(undefined4 **)(pcVar23 + 0x5d324);\n  pwVar18 = (word *)*puVar21;\n  pwStack_194 = pwVar16;\n  pbStack_190 = param_4;\n  pwStack_18c = unaff_s2;\n  pwStack_188 = unaff_s3;\n  pwStack_184 = unaff_s4;\n  pwStack_180 = unaff_s5;\n  pwStack_17c = unaff_s6;\n  pwStack_178 = unaff_s7;\n  pcStack_174 = pcVar25;\n  if (pwVar18 == (word *)0x0) {\n    pwVar6 = (word *)0x0;\n  }\n  else {\n    pwVar20 = pwVar14;\n    pwVar6 = pwVar18;\n    if (**(int **)(pcVar23 + 0x5cd28) != 0) {\n      if (*(int *)pwVar18 == 0) {\nLAB_000fb370:\n        uVar7 = *(undefined4 *)pwVar18;\n      }\n      else {\n        pwVar15 = (word *)0x0;\n        pwVar16 = pwVar18;\n        do {\n          pwVar16 = pwVar16 + 2;\n          pwVar15 = (word *)((int)pwVar15 + 1);\n        } while (*(int *)pwVar16 != 0);\n        if ((pwVar15 == (word *)0x0) || (**(int **)(pcVar23 + 0x5c3c8) == 0)) goto LAB_000fb370;\n        pwVar15 = (word *)&DAT_00000004;\n        (**(code **)(pcVar23 + 0x5d0c0))();\n        uVar7 = *(undefined4 *)pwVar18;\n      }\n      iVar5 = (**(code **)(pcStack_1a8 + -0x60fc))(uVar7);\n      uVar7 = (**(code **)(pcStack_1a8 + -0x7f88))(iVar5 + 1);\n      unaff_s4 = (word *)(**(code **)(pcStack_1a8 + -0x6074))(uVar7,*(undefined4 *)pwVar18);\n      if (*(int *)(pwVar18 + 2) == 0) {\n        unaff_s6 = (word *)0x0;\n        pbVar24 = (byte *)0x3;\n        pwVar20 = (word *)0x0;\n      }\n      else {\n        unaff_s6 = (word *)0x0;\n        unaff_s7 = (word *)auStack_19d;\n        pwVar16 = pwVar18;\n        do {\n          uVar7 = *(undefined4 *)pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(uVar7);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(uVar7);\n            *(word **)pwVar16 = unaff_s7;\n          }\n          else {\n            unaff_s6 = (word *)((int)unaff_s6 + 1);\n          }\n          pwVar20 = *(word **)(pwVar16 + 4);\n          pbVar24 = (byte *)((int)unaff_s6 + 3);\n          pwVar16 = pwVar16 + 2;\n        } while (pwVar20 != (word *)0x0);\n      }\n      pwVar6 = (word *)(**(code **)(pcStack_1a8 + -0x7f88))((int)pbVar24 << 2);\n      pbVar24 = *(byte **)(pwVar18 + 2);\n      if (pbVar24 == (byte *)0x0) {\n        pbVar24 = (byte *)(pwVar6 + 2);\n        pbVar24[0] = 0;\n        pbVar24[1] = 0;\n        pbVar24[2] = 0;\n        pbVar24[3] = 0;\n        pwVar16 = (word *)0x1;\n        if (*(undefined1 **)pwVar18 != auStack_19d) {\n          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);\n          goto LAB_000fb4b4;\n        }\n        *(word **)pwVar6 = unaff_s4;\n      }\n      else {\n        pwVar16 = (word *)0x1;\n        pwVar20 = (word *)auStack_19d;\n        pbVar12 = (byte *)(pwVar18 + 4);\n        do {\n          if ((word *)pbVar24 != pwVar20) {\n            *(byte **)(pwVar6 + (int)pwVar16 * 2) = pbVar24;\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\n          pbVar24 = *(byte **)pbVar12;\n          pbVar12 = pbVar12 + 4;\n        } while (pbVar24 != (byte *)0x0);\n        *(undefined4 *)(pwVar6 + (int)pwVar16 * 2) = 0;\n        if (*(undefined1 **)pwVar18 != auStack_19d) {\n          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);\nLAB_000fb4b4:\n          (*pcVar23)();\n        }\n        *(word **)pwVar6 = unaff_s4;\n        if (pwVar16 == (word *)0x2) {\n          pwVar16 = *(word **)(pwVar6 + 2);\n          pwVar20 = pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(unaff_s4);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(pwVar16);\n            pbVar24 = (byte *)(pwVar6 + 2);\n            pbVar24[0] = 0;\n            pbVar24[1] = 0;\n            pbVar24[2] = 0;\n            pbVar24[3] = 0;\n          }\n        }\n      }\n      (**(code **)(pcStack_1a8 + -0x798c))(pwVar18);\n      unaff_s5 = pwVar6;\n    }\n    unaff_s3 = pwVar14;\n    pwVar18 = pwVar6;\n    if (((code *)**(undefined4 **)(pcStack_1a8 + -0x703c) == (code *)0x0) ||\n       (pwVar14 == (word *)0x0)) goto LAB_000fb570;\n    if (*(int *)(pwVar6 + 2) == 0) {\n      pwVar16 = (word *)0x1;\n    }\n    else {\n      pwVar16 = (word *)0x1;\n      pbVar24 = (byte *)(pwVar6 + 4);\n      do {\n        iVar5 = *(int *)pbVar24;\n        pwVar16 = (word *)((int)pwVar16 + 1);\n        pbVar24 = pbVar24 + 4;\n      } while (iVar5 != 0);\n    }\n    (*(code *)**(undefined4 **)(pcStack_1a8 + -0x703c))(pwVar6);\n    unaff_s3 = *(word **)pwVar6;\n    if (unaff_s3 == (word *)0x0) {\n      (**(code **)(pcStack_1a8 + -0x5f94))(pwVar6);\n      *puVar21 = 0;\n      pwVar6 = (word *)0x0;\n      pwVar14 = pwVar20;\n      goto LAB_000fb578;\n    }\n    if (*(int *)(pwVar6 + 2) == 0) {\nLAB_000fb570:\n      *puVar21 = pwVar6;\n    }\n    else {\n      pbVar24 = (byte *)(pwVar6 + 4);\n      pwVar14 = (word *)0x1;\n      do {\n        pwVar20 = pwVar14;\n        iVar5 = *(int *)pbVar24;\n        pwVar14 = (word *)((int)pwVar20 + 1);\n        pbVar24 = pbVar24 + 4;\n      } while (iVar5 != 0);\n      pwVar16 = (word *)(uint)((int)pwVar14 < (int)pwVar16);\n      if (((int)pwVar14 < 2) || (pwVar15 = unaff_s3, pwVar16 == (word *)0x0)) goto LAB_000fb570;\n      FUN_000fab30(pwVar6);\n      (**(code **)(pcStack_1a8 + -0x5f94))(unaff_s3);\n      *puVar21 = pwVar6;\n    }\n    pwVar6 = (word *)0x1;\n    pwVar14 = pwVar20;\n  }\nLAB_000fb578:\n  if ((char *)auStack_19d._1_4_ == (char *)**(undefined4 **)(pcStack_1a8 + -0x5fb4)) {\n    return pwVar6;\n  }\n  pcVar23 = *(code **)(pcStack_1a8 + -0x6004);\n  pcVar25 = rl_filename_completion_function;\n  pcVar19 = (char *)auStack_19d._1_4_;\n  (*pcVar23)();\n  pcStack_230 = pcVar23 + 0x62f20;\n  iStack_1e4 = **(int **)(pcVar23 + 0x5cf6c);\n  pwStack_1e0 = pwVar16;\n  pwStack_1dc = pwVar18;\n  puStack_1d8 = puVar21;\n  pwStack_1d4 = unaff_s3;\n  pwStack_1d0 = unaff_s4;\n  pwStack_1cc = unaff_s5;\n  pwStack_1c8 = unaff_s6;\n  pwStack_1c4 = unaff_s7;\n  ppbStack_1c0 = unaff_s8;\n  pcStack_1bc = pcVar25;\n  if (pwVar14 != (word *)0x0) goto LAB_000fb968;\n  if (*(int *)(*(int *)(pcVar23 + 0x5af4c) + -0x3fd4) != 0) {\n    (**(code **)(pcVar23 + 0x5cc9c))();\n    *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) = 0;\n  }\n  if (*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) != 0) {\n    (**(code **)(pcStack_230 + -0x5f94))();\n  }\n  if (*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) != 0) {\n    (**(code **)(pcStack_230 + -0x5f94))();\n  }\n  if (*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) != 0) {\n    (**(code **)(pcStack_230 + -0x5f94))();\n  }\n  iVar5 = (**(code **)(pcStack_230 + -0x60fc))(pcVar19);\n  uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);\n  uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,pcVar19);\n  *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) = uVar7;\n  if (*pcVar19 == '\0') {\n    pcVar19 = (char *)(*(int *)(pcStack_230 + -0x7f90) + -0x5e18);\n  }\n  iVar5 = (**(code **)(pcStack_230 + -0x60fc))(pcVar19);\n  uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);\n  puVar8 = (undefined1 *)(**(code **)(pcStack_230 + -0x6074))(uVar7,pcVar19);\n  *(undefined1 **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) = puVar8;\n  unaff_s4 = (word *)(**(code **)(pcStack_230 + -0x61d4))(puVar8,0x2f);\n  if (unaff_s4 == (word *)0x0) {\n    *puVar8 = 0x2e;\n    *(undefined1 *)(*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) + 1) = 0;\n  }\n  else {\n    (**(code **)(pcStack_230 + -0x6074))\n              (*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc),\n               (byte *)((int)unaff_s4 + 1));\n    *(byte *)((int)unaff_s4 + 1) = 0;\n  }\n  if (**(int **)(pcStack_230 + -0x6f38) == 0) {\nLAB_000fb830:\n    iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n    iVar5 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(iVar13 + -0x3fd8));\n    uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);\n    uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(iVar13 + -0x3fd8));\n    *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = uVar7;\n  }\n  else {\n    if ((code *)**(undefined4 **)(pcStack_230 + -0x6de4) == (code *)0x0) goto LAB_000fb830;\n    uVar7 = (*(code *)**(undefined4 **)(pcStack_230 + -0x6de4))\n                      (*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8),\n                       **(undefined4 **)(pcStack_230 + -0x6f34));\n    *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = uVar7;\n  }\n  bVar3 = **(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) == '~';\n  if (bVar3) {\n    uVar7 = (**(code **)(pcStack_230 + -0x7a34))();\n    iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n    (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fd8));\n    *(undefined4 *)(iVar5 + -0x3fd8) = uVar7;\n  }\n  unaff_s3 = (word *)(uint)bVar3;\n  if ((code *)**(undefined4 **)(pcStack_230 + -0x6f40) == (code *)0x0) {\n    if ((code *)**(undefined4 **)(pcStack_230 + -0x6f3c) != (code *)0x0) {\n      iVar5 = (*(code *)**(undefined4 **)(pcStack_230 + -0x6f3c))\n                        (*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);\n      iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n      if (iVar5 != 0) {\n        (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar13 + -0x3fe0));\n        unaff_s3 = *(word **)(pcStack_230 + -0x7fd4);\n        iVar5 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1fec));\n        uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);\n        uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1fec));\n        *(undefined4 *)(iVar13 + -0x3fe0) = uVar7;\n        goto LAB_000fb8b4;\n      }\n    }\n    iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n    if ((unaff_s3 == (word *)0x0) &&\n       (iVar5 = *(int *)(pcStack_230 + -0x7fd4), **(int **)(pcStack_230 + -0x6f38) != 0)) {\n      iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n      if (**(int **)(pcStack_230 + -0x6de4) != 0) {\n        (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fd8));\n        unaff_s3 = *(word **)(pcStack_230 + -0x7fd4);\n        iVar13 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1ff0));\n        uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar13 + 1);\n        uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1ff0));\n        *(undefined4 *)(iVar5 + -0x3fd8) = uVar7;\n      }\n      goto LAB_000fb8b4;\n    }\n  }\n  else {\n    (*(code *)**(undefined4 **)(pcStack_230 + -0x6f40))(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);\nLAB_000fb8b4:\n    iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n  }\n  uVar7 = (**(code **)(pcStack_230 + -0x6288))(*(undefined4 *)(iVar5 + -0x3fd8));\n  *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) = uVar7;\n  iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n  if ((**(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) != '\0') &&\n     (iVar5 = *(int *)(pcStack_230 + -0x7fd4), **(int **)(pcStack_230 + -0x6f38) != 0)) {\n    if ((code *)**(undefined4 **)(pcStack_230 + -0x6de4) != (code *)0x0) {\n      unaff_s3 = (word *)(*(code *)**(undefined4 **)(pcStack_230 + -0x6de4))\n                                   (*(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc),\n                                    **(undefined4 **)(pcStack_230 + -0x6f34));\n      iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n      (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fdc));\n      *(word **)(iVar5 + -0x3fdc) = unaff_s3;\n    }\n    iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n  }\n  uVar7 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(iVar5 + -0x3fdc));\n  *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe4) = uVar7;\n  **(undefined4 **)(pcStack_230 + -0x6f0c) = 1;\nLAB_000fb968:\n  iVar5 = 0;\n  iStack_224 = *(int *)(pcStack_230 + -0x7fd4);\n  puStack_220 = *(undefined4 **)(pcStack_230 + -0x6df0);\n  iStack_21c = *(int *)(pcStack_230 + -0x7fd4);\n  iStack_218 = *(int *)(pcStack_230 + -0x7fd4);\n  piStack_20c = *(int **)(pcStack_230 + -0x65bc);\n  pcVar23 = pcStack_230;\nLAB_000fbb0c:\n  iVar13 = *(int *)(iStack_224 + -0x3fd4);\nLAB_000fbb10:\n  if (iVar13 == 0) {\n    if (iVar5 != 0) goto LAB_000fbbb0;\n    iVar5 = *(int *)(*(int *)(pcVar23 + -0x7fd4) + -0x3fd8);\nLAB_000fc3a0:\n    if (iVar5 != 0) {\n      (**(code **)(pcVar23 + -0x798c))();\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) = 0;\n      pcVar23 = pcStack_230;\n    }\n    if (*(int *)(*(int *)(pcVar23 + -0x7fd4) + -0x3fdc) != 0) {\n      (**(code **)(pcVar23 + -0x798c))();\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) = 0;\n      pcVar23 = pcStack_230;\n    }\n    pwVar14 = *(word **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0);\n    if (pwVar14 != (word *)0x0) {\n      (**(code **)(pcVar23 + -0x798c))(pwVar14);\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = 0;\n      pwVar14 = (word *)0x0;\n      pcVar23 = pcStack_230;\n    }\n    goto LAB_000fbca4;\n  }\n  iVar5 = (**(code **)(pcVar23 + -0x6214))();\n  if (iVar5 == 0) {\n    if (*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) != 0) {\n      (**(code **)(pcStack_230 + -0x6284))();\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) = 0;\n    }\n    iVar5 = *(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);\n    pcVar23 = pcStack_230;\n    goto LAB_000fc3a0;\n  }\n  pwVar18 = (word *)(iVar5 + 0x13);\n  unaff_s4 = (word *)(**(code **)(pcStack_230 + -0x60fc))(pwVar18);\n  pwVar16 = pwVar18;\n  if (((code *)*puStack_220 != (code *)0x0) &&\n     (pwVar16 = (word *)(*(code *)*puStack_220)(pwVar18,unaff_s4), pwVar18 != pwVar16)) {\n    unaff_s4 = (word *)(**(code **)(pcStack_230 + -0x60fc))(pwVar16);\n  }\n  unaff_s3 = *(word **)(iStack_21c + -0x3fe4);\n  pcVar23 = pcStack_230;\n  if (unaff_s3 == (word *)0x0) {\n    if (**(int **)(pcStack_230 + -0x65ac) == 0) {\n      if (*(byte *)pwVar16 != 0x2e) goto LAB_000fbbb0;\n    }\n    else {\n      iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n      if ((*(byte *)pwVar16 != 0x2e) ||\n         (((byte)*pwVar16 != 0 &&\n          ((iVar13 = *(int *)(pcStack_230 + -0x7fd4), (byte)*pwVar16 != 0x2e ||\n           (iVar13 = *(int *)(pcStack_230 + -0x7fd4), *(byte *)(pwVar16 + 1) != 0))))))\n      goto LAB_000fbbb4;\n    }\n    goto LAB_000fbb0c;\n  }\n  pbStack_228 = *(byte **)(iStack_218 + -0x3fdc);\n  pbStack_1f4 = (byte *)0x0;\n  uStack_1f0 = 0;\n  uStack_1ec = 0;\n  uStack_1e8 = 0;\n  if ((int)unaff_s4 < (int)unaff_s3) goto LAB_000fbb0c;\n  if (*piStack_20c != 0) {\n    if (**(int **)(pcStack_230 + -0x65a4) == 0) {\n      uVar4 = (**(code **)(pcStack_230 + -0x6060))();\n      if ((1 < uVar4) && (unaff_s8 = &pbStack_1f4, **(int **)(pcStack_230 + -0x6728) == 0)) {\n        unaff_s7 = (word *)&iStack_1fc;\n        unaff_s6 = (word *)&uStack_1ec;\n        unaff_s5 = (word *)&iStack_1f8;\n        pwStack_214 = pwVar16;\n        pwStack_208 = unaff_s3;\n        goto LAB_000fc0a8;\n      }\n      unaff_s5 = (word *)(int)(char)*(byte *)pwVar16;\n      pbVar24 = (byte *)(uint)*(byte *)pwVar16;\n      if (((word *)pbVar24 == unaff_s5) &&\n         (piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))(),\n         (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0)) {\n        piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n        unaff_s5 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n      }\n      unaff_s6 = (word *)(int)(char)*pbStack_228;\n      unaff_s4 = (word *)(uint)*pbStack_228;\n      if (unaff_s4 == unaff_s6) {\n        piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))();\n        if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n          piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n          unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n          unaff_s6 = *(word **)unaff_s4;\n        }\n      }\n      pwVar15 = unaff_s3;\n      pcVar23 = pcStack_230;\n      if (unaff_s5 == unaff_s6) {\n        iVar13 = (**(code **)(pcStack_230 + -0x6188))(pbStack_228,pwVar16);\n        goto LAB_000fc280;\n      }\n    }\n    else {\n      uVar4 = (**(code **)(pcStack_230 + -0x6060))();\n      if ((1 < uVar4) && (unaff_s6 = (word *)&uStack_1ec, **(int **)(pcStack_230 + -0x6728) == 0)) {\n        unaff_s8 = &pbStack_1f4;\n        unaff_s7 = (word *)&iStack_1fc;\n        unaff_s5 = (word *)&iStack_1f8;\n        pwStack_214 = pwVar16;\n        pwStack_208 = unaff_s3;\n        do {\n          pwStack_210 = (word *)(**(code **)(pcStack_230 + -0x6084))\n                                          (unaff_s7,pwStack_214,unaff_s4,unaff_s8);\n          pwVar15 = unaff_s3;\n          iVar13 = (**(code **)(pcStack_230 + -0x6084))(unaff_s5,pbStack_228,unaff_s3,unaff_s6);\n          pcVar23 = pcStack_230;\n          if (pwStack_210 == (word *)0x0) {\n            if (iVar13 == 0) goto LAB_000fbbb0;\nLAB_000fbe6c:\n            if (iVar13 + 2U < 2) goto LAB_000fbdb4;\n            iStack_204 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc);\n            iStack_1fc = iStack_204;\n            iStack_1f8 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8);\n            pwStack_214 = (word *)((int)pwStack_214 + (int)pwStack_210);\n            pbStack_228 = pbStack_228 + (int)pwStack_210;\n            pwStack_208 = (word *)((int)pwStack_208 - (int)pwStack_210);\n            if ((((iStack_204 != 0x2d) && (iStack_204 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))) && (iStack_204 != iStack_1f8))\n            goto code_r0x000fbef4;\n          }\n          else {\n            if ((word *)0x1 < pwStack_210 + 1) goto LAB_000fbe6c;\nLAB_000fbdb4:\n            bVar2 = *(byte *)pwStack_214;\n            if (((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||\n               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))) goto LAB_000fbb0c;\n            pwStack_214 = (word *)((int)pwStack_214 + 1);\n            pbStack_228 = pbStack_228 + 1;\n            pwStack_208 = (word *)((int)pwStack_208 + -1);\n          }\n          iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n          pcVar23 = pcStack_230;\n          if (pwStack_208 == (word *)0x0) goto LAB_000fbbb4;\n        } while( true );\n      }\n      unaff_s7 = (word *)&DAT_0000002d;\n      unaff_s8 = (byte **)0x5f;\n      pwStack_208 = (word *)((int)pwVar16 + (int)unaff_s3);\n      unaff_s4 = pwVar16;\n      pcVar23 = pcStack_230;\n      while( true ) {\n        unaff_s3 = (word *)(int)(char)*(byte *)unaff_s4;\n        pbVar24 = (byte *)(uint)*(byte *)unaff_s4;\n        pwStack_214 = unaff_s3;\n        if (((word *)pbVar24 == unaff_s3) &&\n           (piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))(), pcVar23 = pcStack_230,\n           (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0)) {\n          piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n          pwStack_214 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n          pcVar23 = pcStack_230;\n        }\n        unaff_s5 = (word *)(int)(char)*pbStack_228;\n        unaff_s6 = (word *)(uint)*pbStack_228;\n        pwStack_210 = unaff_s5;\n        if (unaff_s6 == unaff_s5) {\n          piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))();\n          pcVar23 = pcStack_230;\n          if ((*(ushort *)(*piVar9 + (int)unaff_s6 * 2) & 1) != 0) {\n            piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n            unaff_s6 = (word *)(*piVar9 + (int)unaff_s6 * 4);\n            pwStack_210 = *(word **)unaff_s6;\n            pcVar23 = pcStack_230;\n          }\n        }\n        if ((((unaff_s3 != (word *)&DAT_0000002d) && (unaff_s3 != (word *)0x5f)) ||\n            ((unaff_s5 != (word *)&DAT_0000002d && (unaff_s5 != (word *)0x5f)))) &&\n           (pwStack_214 != pwStack_210)) break;\n        unaff_s4 = (word *)((int)unaff_s4 + 1);\n        pbStack_228 = pbStack_228 + 1;\n        iVar13 = *(int *)(pcVar23 + -0x7fd4);\n        if (unaff_s4 == pwStack_208) goto LAB_000fbbb4;\n      }\n    }\n    goto LAB_000fbb0c;\n  }\n  if (*(byte *)pwVar16 != *pbStack_228) goto LAB_000fbb0c;\n  pwVar15 = unaff_s3;\n  iVar13 = (**(code **)(pcStack_230 + -0x6238))(pbStack_228,pwVar16);\nLAB_000fc280:\n  pcVar23 = pcStack_230;\n  if (iVar13 != 0) goto LAB_000fbb0c;\n  pcVar19 = *(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);\n  goto LAB_000fbbb8;\nLAB_000fc0a8:\n  pwStack_210 = (word *)(**(code **)(pcStack_230 + -0x6084))(unaff_s7,pwStack_214,unaff_s4,unaff_s8)\n  ;\n  pwVar15 = unaff_s3;\n  iVar13 = (**(code **)(pcStack_230 + -0x6084))(unaff_s5,pbStack_228,unaff_s3,unaff_s6);\n  pcVar23 = pcStack_230;\n  if (pwStack_210 == (word *)0x0) {\n    if (iVar13 == 0) goto LAB_000fbbb0;\nLAB_000fc100:\n    if (iVar13 + 2U < 2) goto LAB_000fc060;\n    iStack_204 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc);\n    iStack_1fc = iStack_204;\n    iStack_1f8 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8);\n    pcVar23 = pcStack_230;\n    if (iStack_204 != iStack_1f8) goto LAB_000fbb0c;\n    pwStack_214 = (word *)((int)pwStack_214 + (int)pwStack_210);\n    pbStack_228 = pbStack_228 + (int)pwStack_210;\n    pwStack_208 = (word *)((int)pwStack_208 - (int)pwStack_210);\n  }\n  else {\n    if ((word *)0x1 < pwStack_210 + 1) goto LAB_000fc100;\nLAB_000fc060:\n    if (*(byte *)pwStack_214 != *pbStack_228) goto LAB_000fbb0c;\n    pwStack_214 = (word *)((int)pwStack_214 + 1);\n    pbStack_228 = pbStack_228 + 1;\n    pwStack_208 = (word *)((int)pwStack_208 + -1);\n  }\n  iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n  pcVar23 = pcStack_230;\n  if (pwStack_208 == (word *)0x0) goto LAB_000fbbb4;\n  goto LAB_000fc0a8;\ncode_r0x000fbef4:\n  iVar13 = *(int *)(iStack_224 + -0x3fd4);\n  pcVar23 = pcStack_230;\n  goto LAB_000fbb10;\nLAB_000fbbb0:\n  iVar13 = *(int *)(pcVar23 + -0x7fd4);\nLAB_000fbbb4:\n  pcVar19 = *(char **)(iVar13 + -0x3fd8);\nLAB_000fbbb8:\n  if ((pcVar19 == (char *)0x0) ||\n     ((piVar9 = *(int **)(pcVar23 + -0x65a8), *pcVar19 == '.' &&\n      (piVar9 = *(int **)(pcVar23 + -0x65a8), pcVar19[1] == '\0')))) {\n    iVar5 = (**(code **)(pcVar23 + -0x60fc))(pwVar16);\n    uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);\n    pwVar14 = (word *)(**(code **)(pcStack_230 + -0x6074))(uVar7,pwVar16);\n  }\n  else {\n    if ((*piVar9 == 0) || (**(char **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0) != '~')) {\n      iVar13 = *(int *)(pcVar23 + -0x7fd4);\n      unaff_s3 = (word *)(**(code **)(pcVar23 + -0x60fc))(*(undefined4 *)(iVar13 + -0x3fe0));\n      iVar5 = (**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13);\n      pwVar14 = (word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2));\n      iVar5 = *(int *)(iVar13 + -0x3fe0);\n      (**(code **)(pcStack_230 + -0x6074))(pwVar14,iVar5);\n      unaff_s4 = (word *)((int)unaff_s3 + iVar5);\n      unaff_s5 = unaff_s3;\n      if (*(byte *)((int)unaff_s4 + -1) != 0x2f) {\n        unaff_s5 = (word *)((int)unaff_s3 + 1);\n        unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);\n        *(byte *)unaff_s3 = 0x2f;\n      }\n    }\n    else {\n      unaff_s3 = (word *)(**(code **)(pcVar23 + -0x60fc))();\n      iVar5 = (**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13);\n      pwVar14 = (word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2));\n      unaff_s4 = *(word **)(pcStack_230 + -0x7fd4);\n      (**(code **)(pcStack_230 + -0x6074))(pwVar14,*(undefined4 *)(unaff_s4 + -0x1fec));\n      unaff_s5 = unaff_s3;\n      if (*(byte *)((int)unaff_s3 + *(int *)(unaff_s4 + -0x1fec) + -1) != 0x2f) {\n        unaff_s5 = (word *)((int)unaff_s3 + 1);\n        unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);\n        *(byte *)unaff_s3 = 0x2f;\n        *(byte *)((int)pwVar14 + (int)unaff_s5) = 0;\n      }\n    }\n    (**(code **)(pcStack_230 + -0x6074))((byte *)((int)pwVar14 + (int)unaff_s5),pwVar16);\n  }\n  pcVar23 = pcStack_230;\n  if (pwVar18 != pwVar16) {\n    (**(code **)(pcStack_230 + -0x798c))(pwVar16);\n    pcVar23 = pcStack_230;\n  }\nLAB_000fbca4:\n  if (iStack_1e4 == **(int **)(pcVar23 + -0x5fb4)) {\n    return pwVar14;\n  }\n  pcVar23 = *(code **)(pcVar23 + -0x6004);\n  pcVar25 = FUN_000fc42c;\n  iVar5 = iStack_1e4;\n  (*pcVar23)();\n  pcStack_280 = pcVar23 + 0x62114;\n  aiStack_278[3] = **(int **)(pcVar23 + 0x5c160);\n  pwStack_268 = pwVar16;\n  pwStack_264 = pwVar18;\n  pwStack_260 = pwVar14;\n  pwStack_25c = unaff_s3;\n  pwStack_258 = unaff_s4;\n  pwStack_254 = unaff_s5;\n  pwStack_250 = unaff_s6;\n  pwStack_24c = unaff_s7;\n  ppbStack_248 = unaff_s8;\n  pcStack_244 = pcVar25;\n  iVar10 = (**(code **)(pcVar23 + 0x5c018))();\n  aiStack_278[1] = 0;\n  aiStack_278[2] = 0;\n  pwVar16 = (word *)0x0;\n  iVar13 = 0;\n  pcVar23 = pcStack_280;\n  while( true ) {\n    pwVar14 = (word *)(iVar5 + iVar13);\n    bVar2 = *(byte *)pwVar14;\n    iVar17 = iVar13;\n    if (bVar2 == 0) break;\n    if ((bVar2 < 0x20) || (bVar2 == 0x7f)) {\n      pwVar16 = pwVar16 + 1;\n      iVar13 = iVar13 + 1;\n    }\n    else {\n      pwVar15 = (word *)((iVar10 + 1) - iVar13);\n      iVar11 = (**(code **)(pcVar23 + -0x6084))(aiStack_278,pwVar14,pwVar15,aiStack_278 + 1);\n      pcVar23 = pcStack_280;\n      if (iVar11 + 2U < 2) {\n        pwVar16 = (word *)((int)pwVar16 + 1);\n        iVar13 = iVar13 + 1;\n        aiStack_278[1] = 0;\n        aiStack_278[2] = 0;\n      }\n      else {\n        iVar17 = iVar13 + iVar11;\n        if (iVar11 == 0) break;\n        if (aiStack_278[0] < 0x40) {\n          iVar13 = 1;\n          if (aiStack_278[0] < 0x25) {\n            if (3 < aiStack_278[0] - 0x20U) {\n              pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n              goto LAB_000fc594;\n            }\n            iVar13 = 1;\n          }\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n          if (aiStack_278[0] < 0x41) {\nLAB_000fc594:\n            iVar13 = (*pcVar23)();\n          }\n          else {\n            iVar13 = 1;\n            if (0x5f < aiStack_278[0]) {\n              if (0x1d < aiStack_278[0] - 0x61U) goto LAB_000fc594;\n              iVar13 = 1;\n            }\n          }\n        }\n        if (iVar13 < 0) {\n          iVar13 = 1;\n        }\n        pwVar16 = (word *)((int)pwVar16 + iVar13);\n        iVar13 = iVar17;\n        pcVar23 = pcStack_280;\n      }\n    }\n  }\n  if (aiStack_278[3] == **(int **)(pcVar23 + -0x5fb4)) {\n    return pwVar16;\n  }\n  pcVar23 = *(code **)(pcVar23 + -0x6004);\n  pcVar25 = FUN_000fc5fc;\n  iVar11 = aiStack_278[3];\n  (*pcVar23)();\n  pcStack_2e0 = pcVar23 + 0x61f44;\n  uStack_2a4 = 1;\n  uStack_2a8 = 0x7f;\n  pbStack_2bc = (byte *)**(undefined4 **)(pcVar23 + 0x5bf90);\n  pwVar18 = pwVar14;\n  pwStack_2cc = pwVar15;\n  iStack_2b8 = iVar17;\n  pwStack_2b4 = pwVar16;\n  iStack_2b0 = iVar13;\n  iStack_2ac = iVar5;\n  piStack_2a0 = aiStack_278 + 1;\n  piStack_29c = aiStack_278;\n  iStack_298 = iVar10 + 1;\n  pcStack_294 = pcVar25;\n  iVar5 = (**(code **)(pcVar23 + 0x5be48))();\n  iStack_2d4 = iVar11 + iVar5 + 1;\n  aiStack_2c8[1] = 0;\n  aiStack_2c8[2] = 0;\n  if ((**(int **)(pcStack_2e0 + -0x65a0) < 1) || ((int)pwVar14 < iVar5)) {\n    if (**(int **)(pcStack_2e0 + -0x67a8) == 0) goto LAB_000fc714;\n    if ((pwVar14 == (word *)0x0) || (**(int **)(pcStack_2e0 + -0x67a4) < 1)) goto LAB_000fc6f0;\n    if (0 < **(int **)(pcStack_2e0 + -0x65a0)) goto LAB_000fc750;\n    pcVar23 = *(code **)(pcStack_2e0 + -0x659c);\n    pwVar6 = pwVar14;\nLAB_000fc6c0:\n    (*pcVar23)();\n    (**(code **)(pcStack_2e0 + -0x6598))();\n    pwVar20 = (word *)0x0;\n    pwVar14 = (word *)0x0;\n  }\n  else if (**(int **)(pcStack_2e0 + -0x67a8) == 0) {\n    pwVar14 = (word *)0x0;\n    pwVar20 = (word *)0x0;\n    pwVar6 = (word *)0x0;\n  }\n  else {\n    pwVar14 = (word *)0x0;\nLAB_000fc6f0:\n    (**(code **)(pcStack_2e0 + -0x659c))();\n    (**(code **)(pcStack_2e0 + -0x6594))(pwStack_2cc);\nLAB_000fc714:\n    pwVar6 = pwVar14;\n    if (pwVar14 == (word *)0x0) {\n      pwVar20 = (word *)0x0;\n    }\n    else if (**(int **)(pcStack_2e0 + -0x65a0) < 1) {\n      pcVar23 = *(code **)(pcStack_2e0 + -0x659c);\n      if (0 < **(int **)(pcStack_2e0 + -0x67a4)) goto LAB_000fc6c0;\n      pwVar6 = (word *)0x0;\n      pwVar20 = (word *)0x0;\n    }\n    else {\nLAB_000fc750:\n      pwVar16 = (word *)0x2e;\n      if (*(byte *)((int)pwVar14 + iVar11) == 0x2e) {\n        pwVar16 = (word *)0x5f;\n      }\n      puVar21 = *(undefined4 **)(pcStack_2e0 + -0x6ef0);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16);\n      pwVar20 = (word *)0x3;\n      pwVar6 = (word *)0x0;\n    }\n  }\n  pwVar14 = (word *)((int)pwVar14 + iVar11);\n  puVar21 = *(undefined4 **)(pcStack_2e0 + -0x6ef0);\n  iStack_2d0 = *(int *)(pcStack_2e0 + -26000) + 0xb8;\n  while (bVar2 = *(byte *)pwVar14, bVar2 != 0) {\n    if (bVar2 < 0x20) {\n      (**(code **)(pcStack_2e0 + -0x61f0))(0x5e,*puVar21);\n      pwVar16 = (word *)((int)(char)*(byte *)pwVar14 | 0x40);\n      pbVar24 = (byte *)(*(byte *)pwVar14 | 0x40);\n      if ((word *)pbVar24 == pwVar16) {\n        piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x6290))();\n        if ((*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 2) != 0) {\n          piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x5f10))();\n          pwVar16 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n        }\n      }\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16);\n      pwVar20 = pwVar20 + 1;\n      pwVar14 = (word *)((int)pwVar14 + 1);\n      aiStack_2c8[1] = 0;\n      aiStack_2c8[2] = 0;\n    }\n    else if (bVar2 == 0x7f) {\n      (**(code **)(pcStack_2e0 + -0x61f0))(0x5e,*puVar21);\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(0x3f);\n      pwVar20 = pwVar20 + 1;\n      pwVar14 = (word *)((int)pwVar14 + 1);\n      aiStack_2c8[1] = 0;\n      aiStack_2c8[2] = 0;\n    }\n    else {\n      pwVar15 = (word *)(iStack_2d4 - (int)pwVar14);\n      pwVar18 = pwVar14;\n      pwVar16 = (word *)(**(code **)(pcStack_2e0 + -0x6084))(aiStack_2c8,pwVar14,pwVar15);\n      iVar5 = 1;\n      if (pwVar16 + 1 < (word *)0x2) {\n        aiStack_2c8[1] = 0;\n        aiStack_2c8[2] = 0;\n        pwVar16 = (word *)0x1;\n      }\n      else {\n        if (pwVar16 == (word *)0x0) break;\n        if (aiStack_2c8[0] < 0x40) {\n          if (aiStack_2c8[0] < 0x25) {\n            pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n            if (3 < aiStack_2c8[0] - 0x20U) goto LAB_000fc9c0;\n          }\n          else {\n            iVar5 = 1;\n          }\n        }\n        else if (aiStack_2c8[0] < 0x41) {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\nLAB_000fc9c0:\n          iVar5 = (*pcVar23)();\n        }\n        else if (aiStack_2c8[0] < 0x60) {\n          iVar5 = 1;\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n          if (0x1d < aiStack_2c8[0] - 0x61U) goto LAB_000fc9c0;\n          iVar5 = 1;\n        }\n        if (iVar5 < 0) {\n          iVar5 = 1;\n        }\n      }\n      pwVar18 = (word *)0x1;\n      pwVar15 = pwVar16;\n      (**(code **)(pcStack_2e0 + -0x6054))(pwVar14,1,pwVar16,*puVar21);\n      pwVar14 = (word *)((int)pwVar14 + (int)pwVar16);\n      pwVar20 = (word *)((int)pwVar20 + iVar5);\n    }\n    if ((0 < (int)pwVar6) && ((int)pwVar6 <= (int)pwVar14 - iVar11)) {\n      (**(code **)(pcStack_2e0 + -0x658c))();\n      (**(code **)(pcStack_2e0 + -0x6588))(iStack_2d0);\n      pwVar6 = (word *)**(undefined4 **)(pcStack_2e0 + -0x67a8);\n      if (pwVar6 != (word *)0x0) {\n        (**(code **)(pcStack_2e0 + -0x659c))();\n        (**(code **)(pcStack_2e0 + -0x6594))(pwStack_2cc);\n        pwVar6 = (word *)0x0;\n      }\n    }\n  }\n  if (**(int **)(pcStack_2e0 + -0x67a8) != 0) {\n    (**(code **)(pcStack_2e0 + -0x658c))();\n    (**(code **)(pcStack_2e0 + -0x6588))(*(int *)(pcStack_2e0 + -26000) + 0xb8);\n  }\n  if (pbStack_2bc == (byte *)**(undefined4 **)(pcStack_2e0 + -0x5fb4)) {\n    return pwVar20;\n  }\n  pcVar23 = *(code **)(pcStack_2e0 + -0x6004);\n  pcVar25 = FUN_000fcae4;\n  pbVar24 = pbStack_2bc;\n  (*pcVar23)();\n  iStack_314 = **(int **)(pcVar23 + 0x5baa8);\n  pwStack_310 = pwVar14;\n  pwStack_30c = pwVar16;\n  pwStack_308 = pwVar20;\n  pwStack_304 = pwVar6;\n  piStack_300 = aiStack_2c8 + 1;\n  puStack_2fc = puVar21;\n  iStack_2f8 = iVar11;\n  pcStack_2f4 = pcVar25;\n  if ((**(int **)(pcVar23 + 0x5b2b4) == 0) ||\n     (piVar9 = *(int **)(pcVar23 + 0x5b4d8), **(int **)(pcVar23 + 0x5ab50) == 0)) {\n    pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,pbVar24);\n    piVar9 = *(int **)(pcVar23 + 0x5b4d8);\n    if (**(int **)(pcVar23 + 0x5ab50) == 0) goto LAB_000fcb84;\n  }\n  if ((*piVar9 == 0 && **(int **)(pcVar23 + 0x5b2b4) == 0) && **(int **)(pcVar23 + 0x5b49c) == 0)\n  goto LAB_000fcb84;\n  if ((word *)pbVar24 == pwVar18) {\n    iStack_31c = (**(code **)(pcVar23 + 0x5a028))(pwVar18);\n    if (**(int **)(pcVar23 + 0x5b4d8) != 0) {\n      iVar5 = FUN_000f9fd0(iStack_31c);\n      if (**(int **)(pcVar23 + 0x5b2b4) != 0) goto LAB_000fcf40;\n      goto LAB_000fcddc;\n    }\n    if (**(int **)(pcVar23 + 0x5b49c) == 0) {\n      piVar9 = *(int **)(pcVar23 + 0x5b2b4);\nLAB_000fcef0:\n      iVar5 = 0;\n      if (*piVar9 == 0) {\n        (**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);\n        goto LAB_000fcb84;\n      }\nLAB_000fcf40:\n      pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,iStack_31c);\n      goto LAB_000fcddc;\n    }\n    iVar5 = FUN_000fa188(iStack_31c);\n    piVar9 = *(int **)(pcVar23 + 0x5b2b4);\n    if (iVar5 == 0) goto LAB_000fcef0;\n    if (*piVar9 != 0) {\n      iVar5 = 0x2f;\n      goto LAB_000fcf40;\n    }\n    (**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);\n    iVar5 = 0x2f;\n  }\n  else {\n    bVar2 = pbVar24[-1];\n    pbVar24[-1] = 0;\n    if ((pwVar18 == (word *)0x0) || (*(byte *)pwVar18 == 0)) {\n      pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);\n    }\n    else {\n      pwStack_318 = pwVar18;\n      if (*(byte *)pwVar18 == 0x2f) {\n        if ((byte)*pwVar18 == 0) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59acc) + -0x794);\n        }\n        else if (((byte)*pwVar18 == 0x2f) && (*(byte *)(pwVar18 + 1) == 0)) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);\n        }\n      }\n    }\n    iStack_31c = (**(code **)(pcVar23 + 0x5a028))(pwStack_318);\n    if ((code *)**(undefined4 **)(pcVar23 + 0x5ab20) != (code *)0x0) {\n      (*(code *)**(undefined4 **)(pcVar23 + 0x5ab20))(&iStack_31c);\n    }\n    iVar5 = (**(code **)(pcVar23 + 0x5b960))(iStack_31c);\n    iVar13 = (**(code **)(pcVar23 + 0x5b960))(pbVar24);\n    pwVar16 = (word *)(**(code **)(pcVar23 + 0x59ad4))(iVar13 + iVar5 + 2);\n    (**(code **)(pcVar23 + 0x5b9e8))(pwVar16,iStack_31c);\n    if (*(char *)(iStack_31c + iVar5 + -1) == '/') {\n      iVar5 = iVar5 + -1;\n    }\n    else {\n      *(byte *)((int)pwVar16 + iVar5) = 0x2f;\n    }\n    (**(code **)(pcVar23 + 0x5b9e8))((byte *)((int)pwVar16 + iVar5 + 1),pbVar24);\n    if (**(int **)(pcVar23 + 0x5b4d8) == 0) {\n      iVar5 = **(int **)(pcVar23 + 0x5b49c);\n      piVar9 = *(int **)(pcVar23 + 0x5b2b4);\n      if (iVar5 != 0) {\n        pwStack_318 = (word *)0x0;\n        if ((**(int **)(pcVar23 + 0x5ab20) == 0) && (**(int **)(pcVar23 + 0x5ac70) != 0)) {\n          iVar5 = (**(code **)(pcVar23 + 0x5b960))(pwVar16);\n          uVar7 = (**(code **)(pcVar23 + 0x59ad4))(iVar5 + 1);\n          pwStack_318 = (word *)(**(code **)(pcVar23 + 0x5b9e8))(uVar7,pwVar16);\n          (*(code *)**(undefined4 **)(pcVar23 + 0x5ac70))(&pwStack_318);\n          (**(code **)(pcVar23 + 0x5a0d0))(pwVar16);\n          pwVar16 = pwStack_318;\n        }\n        iVar5 = FUN_000fa188(pwVar16);\n        if (iVar5 != 0) {\n          iVar5 = 0x2f;\n        }\n        goto LAB_000fcdb0;\n      }\n    }\n    else {\n      iVar5 = FUN_000f9fd0(pwVar16);\nLAB_000fcdb0:\n      piVar9 = *(int **)(pcVar23 + 0x5b2b4);\n    }\n    if (*piVar9 != 0) {\n      pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,pwVar16);\n    }\n    (**(code **)(pcVar23 + 0x5a0d0))(pwVar16);\n    pbVar24[-1] = bVar2;\nLAB_000fcddc:\n    (**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);\n    if (iVar5 == 0) goto LAB_000fcb84;\n  }\n  (**(code **)(pcVar23 + 0x5b86c))(iVar5,**(undefined4 **)(pcVar23 + 0x5ab6c));\n  pwVar6 = (word *)((int)pwVar6 + 1);\nLAB_000fcb84:\n  if (iStack_314 == **(int **)(pcVar23 + 0x5baa8)) {\n    return pwVar6;\n  }\n  pcVar23 = *(code **)(pcVar23 + 0x5ba58);\n  (*pcVar23)();\n  if ((**(int **)(pcVar23 + 0x5a67c) == iStack_314) &&\n     (*(int *)(*(int *)(pcVar23 + 0x595b0) + -0x3fb8) == 0)) {\n    return (word *)0x3f;\n  }\n  if (**(int **)(pcVar23 + 0x5b004) == 0) {\n    pwVar16 = (word *)&DAT_00000009;\n    if (**(int **)(pcVar23 + 0x5b008) != 0) {\n      pwVar16 = (word *)0x40;\n    }\n    return pwVar16;\n  }\n  return (word *)&DAT_00000021;\n}" type_identifier (pointer_declarator "* FUN_000fa7dc(undefined4 param_1,word *param_2,int param_3,byte *param_4)" * (function_declarator "FUN_000fa7dc(undefined4 param_1,word *param_2,int param_3,byte *param_4)" identifier (parameter_list "(undefined4 param_1,word *param_2,int param_3,byte *param_4)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "word *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "int param_3" primitive_type identifier) , (parameter_declaration "byte *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) )))) (compound_statement "{\n  char cVar1;\n  byte bVar2;\n  bool bVar3;\n  uint uVar4;\n  int iVar5;\n  word *pwVar6;\n  undefined4 uVar7;\n  undefined1 *puVar8;\n  int *piVar9;\n  int iVar10;\n  int iVar11;\n  byte *pbVar12;\n  int iVar13;\n  word *pwVar14;\n  word *pwVar15;\n  word *pwVar16;\n  int iVar17;\n  word *pwVar18;\n  word *unaff_s2;\n  char *pcVar19;\n  word *pwVar20;\n  word *unaff_s3;\n  word *unaff_s4;\n  word *unaff_s5;\n  undefined4 *puVar21;\n  word *unaff_s6;\n  word *unaff_s7;\n  undefined *puVar22;\n  code *pcVar23;\n  byte **unaff_s8;\n  byte *pbVar24;\n  code *pcVar25;\n  int iStack_31c;\n  word *pwStack_318;\n  int iStack_314;\n  word *pwStack_310;\n  word *pwStack_30c;\n  word *pwStack_308;\n  word *pwStack_304;\n  int *piStack_300;\n  undefined4 *puStack_2fc;\n  int iStack_2f8;\n  code *pcStack_2f4;\n  code *pcStack_2e0;\n  int iStack_2d4;\n  int iStack_2d0;\n  word *pwStack_2cc;\n  int aiStack_2c8 [3];\n  byte *pbStack_2bc;\n  int iStack_2b8;\n  word *pwStack_2b4;\n  int iStack_2b0;\n  int iStack_2ac;\n  undefined4 uStack_2a8;\n  undefined4 uStack_2a4;\n  int *piStack_2a0;\n  int *piStack_29c;\n  int iStack_298;\n  code *pcStack_294;\n  code *pcStack_280;\n  int aiStack_278 [4];\n  word *pwStack_268;\n  word *pwStack_264;\n  word *pwStack_260;\n  word *pwStack_25c;\n  word *pwStack_258;\n  word *pwStack_254;\n  word *pwStack_250;\n  word *pwStack_24c;\n  byte **ppbStack_248;\n  code *pcStack_244;\n  code *pcStack_230;\n  byte *pbStack_228;\n  int iStack_224;\n  undefined4 *puStack_220;\n  int iStack_21c;\n  int iStack_218;\n  word *pwStack_214;\n  word *pwStack_210;\n  int *piStack_20c;\n  word *pwStack_208;\n  int iStack_204;\n  int iStack_1fc;\n  int iStack_1f8;\n  byte *pbStack_1f4;\n  undefined4 uStack_1f0;\n  undefined4 uStack_1ec;\n  undefined4 uStack_1e8;\n  int iStack_1e4;\n  word *pwStack_1e0;\n  word *pwStack_1dc;\n  undefined4 *puStack_1d8;\n  word *pwStack_1d4;\n  word *pwStack_1d0;\n  word *pwStack_1cc;\n  word *pwStack_1c8;\n  word *pwStack_1c4;\n  byte **ppbStack_1c0;\n  code *pcStack_1bc;\n  code *pcStack_1a8;\n  undefined1 auStack_19d [9];\n  word *pwStack_194;\n  byte *pbStack_190;\n  word *pwStack_18c;\n  word *pwStack_188;\n  word *pwStack_184;\n  word *pwStack_180;\n  word *pwStack_17c;\n  word *pwStack_178;\n  code *pcStack_174;\n  word *pwStack_160;\n  word *pwStack_15c;\n  undefined *puStack_158;\n  word *pwStack_14c;\n  word *pwStack_148;\n  word *pwStack_144;\n  word *pwStack_140;\n  word *pwStack_13c;\n  uint uStack_138;\n  int *piStack_134;\n  word *pwStack_130;\n  int *piStack_12c;\n  byte *pbStack_124;\n  byte *pbStack_120;\n  undefined4 uStack_11c;\n  undefined4 uStack_118;\n  undefined4 uStack_114;\n  undefined4 uStack_110;\n  undefined4 uStack_10c;\n  undefined4 uStack_108;\n  undefined4 *puStack_104;\n  word *pwStack_100;\n  byte *pbStack_fc;\n  word *pwStack_f8;\n  word *local_bc;\n  word awStack_b8 [12];\n  uint local_a0;\n  undefined1 local_18 [4];\n  int *local_14;\n  \n  local_14 = *(int **)PTR___stack_chk_guard_0015858c;\n  if (param_3 != 0) {\n    if (*(int *)PTR_rl_point_001575f0 == 0) {\n      param_3 = 0;\n    }\n    else if (*(int *)PTR_rl_completion_suppress_quote_00157618 == 0) {\n      if (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + *(int *)PTR_rl_point_001575f0 + -1) ==\n          param_3) {\n        param_3 = 0;\n      }\n      else {\n        local_18[0] = (undefined1)param_3;\n        param_3 = 1;\n      }\n    }\n    else {\n      param_3 = 0;\n    }\n  }\n  if (param_2 == (word *)0x0) {\n    pwVar16 = (word *)(param_3 + 1);\n    if ((*(int *)PTR_rl_completion_suppress_append_00157624 == 0) &&\n       (*(int *)PTR_rl_completion_append_character_00157628 != 0)) {\n      local_18[param_3] = (char)*(int *)PTR_rl_completion_append_character_00157628;\n      goto LAB_000fa86c;\n    }\n  }\n  else {\n    local_18[param_3] = (char)param_2;\nLAB_000fa86c:\n    pwVar16 = (word *)(param_3 + 2);\n    param_3 = param_3 + 1;\n  }\n  pwVar15 = (word *)(&stack0xfffffff0 + param_3);\n  local_18[param_3] = 0;\n  if (*(int *)PTR_rl_filename_completion_desired_00157634 == 0) {\n    if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {\n      rl_insert_text(local_18);\n    }\n  }\n  else {\n    unaff_s2 = (word *)(*(code *)PTR_tilde_expand_00156b0c)();\n    if (*(int *)PTR_rl_filename_stat_hook_00157754 != 0) {\n      iVar5 = (*(code *)PTR_strlen_00158444)(unaff_s2);\n      uVar7 = (*(code *)PTR_xmalloc_001565b8)(iVar5 + 1);\n      local_bc = (word *)(*(code *)PTR_strcpy_001584cc)(uVar7,unaff_s2);\n      (**(code **)PTR_rl_filename_stat_hook_00157754)(&local_bc);\n      (*(code *)PTR_xfree_00156bb4)(unaff_s2);\n      unaff_s2 = local_bc;\n    }\n    param_2 = unaff_s2;\n    if ((param_4 == (byte *)0x0) ||\n       (pwVar15 = awStack_b8, *(int *)PTR_rl_completion_mark_symlink_dirs_001578a4 != 0)) {\n      pwVar15 = awStack_b8;\n      iVar5 = (*(code *)PTR___xstat64_001582e8)(3);\n    }\n    else {\n      iVar5 = (*(code *)PTR___lxstat64_001582c8)(3);\n    }\n    if (iVar5 == 0) {\n      if ((local_a0 & 0xf000) == 0x4000) {\n        if (*(int *)PTR__rl_complete_mark_directories_00157f80 != 0) {\n          iVar5 = *(int *)PTR_rl_point_001575f0;\n          if ((iVar5 == 0) || (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5) != '\0')) {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5);\n          }\n          else {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5 + -1);\n          }\n          if (cVar1 != '/') {\n            rl_insert_text(PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c);\n          }\n        }\n      }\n      else if (((local_a0 & 0xf000) != 0xa000) || (iVar5 = FUN_000fa188(unaff_s2), iVar5 == 0))\n      goto LAB_000fa9f0;\n    }\n    else {\nLAB_000fa9f0:\n      if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {\n        rl_insert_text(local_18);\n      }\n    }\n    (*(code *)PTR_xfree_00156bb4)(unaff_s2);\n  }\n  if (local_14 == *(int **)PTR___stack_chk_guard_0015858c) {\n    return pwVar16;\n  }\n  piVar9 = local_14;\n  puVar22 = PTR___stack_chk_fail_0015853c;\n  (*(code *)PTR___stack_chk_fail_0015853c)();\n  puStack_158 = puVar22 + 0x63a10;\n  puStack_104 = (undefined4 *)**(undefined4 **)(puVar22 + 0x5da5c);\n  pwVar14 = param_2;\n  pwStack_130 = pwVar15;\n  piStack_12c = piVar9;\n  pwStack_100 = pwVar16;\n  pbStack_fc = param_4;\n  pwStack_f8 = unaff_s2;\n  if (param_2 == (word *)0x1) {\n    *piVar9 = piVar9[1];\n    piVar9[1] = 0;\n    pwStack_13c = param_2;\n  }\n  else {\n    if ((int)param_2 < 2) {\n      pwStack_140 = (word *)&__DT_SYMTAB[0x3d1].st_info;\n    }\n    else {\n      pwVar18 = (word *)(piVar9 + 1);\n      pwStack_140 = (word *)&__DT_SYMTAB[0x3d1].st_info;\n      pwStack_13c = (word *)0x1;\n      unaff_s3 = *(word **)(puVar22 + 0x5d2e8);\n      piStack_134 = *(int **)(puVar22 + 0x5d454);\n      unaff_s8 = &pbStack_124;\n      do {\n        uVar4 = (**(code **)(puStack_158 + -0x6060))();\n        if ((1 < uVar4) && (*(int *)unaff_s3 == 0)) {\n          uStack_11c = 0;\n          uStack_118 = 0;\n          uStack_114 = 0;\n          uStack_110 = 0;\n        }\n        if (*piStack_134 == 0) {\n          param_4 = (byte *)(int)**(char **)pwVar18;\n          unaff_s5 = pwVar18;\n          if (param_4 == (byte *)0x0) {\n            pwVar16 = (word *)0x0;\n            goto LAB_000fac1c;\n          }\n          pwVar16 = (word *)(int)**(char **)(pwVar18 + 2);\n          pwStack_14c = (word *)0x0;\n          unaff_s4 = pwVar16;\n          if (pwVar16 == (word *)0x0) goto LAB_000fac1c;\n          unaff_s6 = (word *)&uStack_11c;\n          pwStack_148 = (word *)&uStack_114;\n          unaff_s7 = (word *)&uStack_10c;\n          do {\n            pwVar16 = pwStack_14c;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\n              if ((word *)param_4 != unaff_s4) goto LAB_000fac1c;\n            }\n            else {\n              uStack_10c = uStack_11c;\n              uStack_108 = uStack_118;\n              pwStack_15c = pwStack_148;\n              pwVar15 = unaff_s6;\n              pwStack_160 = pwVar16;\n              iVar5 = (**(code **)(puStack_158 + -0x65b8))\n                                (*(undefined4 *)pwVar18,pwVar16,unaff_s6,\n                                 *(undefined4 *)(pwVar18 + 2));\n              pwVar14 = unaff_s7;\n              if (iVar5 == 0) goto LAB_000fac1c;\n              iVar5 = (**(code **)(puStack_158 + -0x65b4))\n                                ((byte *)((int)pwStack_14c + *(int *)pwVar18));\n              if (1 < iVar5) {\n                pwVar16 = (word *)((int)pwVar16 + iVar5 + -1);\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_14c = pwVar16;\n            if (param_4 == (byte *)0x0) goto LAB_000fac1c;\n            unaff_s4 = (word *)(int)(char)*(byte *)((int)pwVar16 + *(int *)(pwVar18 + 2));\n            bVar3 = (int)pwVar16 < (int)pwStack_140;\n          } while (unaff_s4 != (word *)0x0);\n        }\n        else {\n          pwVar16 = (word *)0x0;\n          unaff_s7 = (word *)&uStack_11c;\n          unaff_s6 = (word *)&uStack_114;\n          while( true ) {\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_148 = pwVar16;\n            pwStack_144 = pwVar18;\n            if (unaff_s4 == (word *)param_4) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))();\n              if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n                param_4 = *(byte **)unaff_s4;\n              }\n            }\n            unaff_s5 = (word *)&pbStack_120;\n            if (param_4 == (byte *)0x0) break;\n            pwStack_14c = (word *)(int)(char)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))\n            ;\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n            if ((unaff_s4 == pwStack_14c) &&\n               (piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0)) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n              unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n              pwStack_14c = *(word **)unaff_s4;\n            }\n            if (pwStack_14c == (word *)0x0) break;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\njoined_r0x000facac:\n              if ((word *)param_4 != pwStack_14c) break;\n            }\n            else {\n              pbVar24 = (byte *)((int)pwStack_148 + *(int *)pwStack_144);\n              uVar7 = (**(code **)(puStack_158 + -0x60fc))(pbVar24);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,pbVar24,uVar7,unaff_s7);\n              unaff_s4 = (word *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n              pwVar15 = (word *)(**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              pwVar14 = unaff_s4;\n              iVar5 = (**(code **)(puStack_158 + -0x6084))(&pbStack_120,unaff_s4,pwVar15,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar5 + 2U < 2)) goto joined_r0x000facac;\n              param_4 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_124);\n              pbStack_124 = param_4;\n              pbStack_120 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_120);\n              if (param_4 != pbStack_120) break;\n              if (1 < uStack_138) {\n                pwVar16 = (word *)((int)pwStack_148 + (uStack_138 - 1));\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\nLAB_000fac1c:\n          bVar3 = (int)pwVar16 < (int)pwStack_140;\n        }\n        pwVar6 = pwStack_130;\n        if (bVar3) {\n          pwStack_140 = pwVar16;\n        }\n        pwStack_13c = (word *)((int)pwStack_13c + 1);\n        pwVar18 = pwVar18 + 2;\n      } while (param_2 != pwStack_13c);\n      unaff_s2 = pwVar18;\n      if (((pwStack_140 == (word *)0x0) && (pwStack_130 != (word *)0x0)) &&\n         (pwVar16 = pwStack_130, *(byte *)pwStack_130 != 0)) {\n        iVar5 = (**(code **)(puStack_158 + -0x60fc))(pwStack_130);\n        iVar5 = (**(code **)(puStack_158 + -0x7f88))(iVar5 + 1);\n        *piStack_12c = iVar5;\n        pwVar14 = pwVar6;\n        (**(code **)(puStack_158 + -0x6074))(iVar5);\n        pwVar16 = pwVar6;\n        goto LAB_000fb1f0;\n      }\n    }\n    iVar5 = (**(code **)(puStack_158 + -0x7f88))((byte *)((int)pwStack_140 + 1));\n    *piStack_12c = iVar5;\n    if (**(int **)(puStack_158 + -0x65bc) == 0) {\n      pwVar14 = (word *)piStack_12c[1];\n      pwVar15 = pwStack_140;\n      (**(code **)(puStack_158 + -0x615c))(iVar5);\n    }\n    else {\n      unaff_s3 = (word *)0x0;\n      if (**(int **)(puStack_158 + -0x6f0c) != 0) {\n        if ((code *)**(undefined4 **)(puStack_158 + -0x6de4) == (code *)0x0) {\n          unaff_s3 = (word *)0x0;\n        }\n        else if ((**(int **)(puStack_158 + -0x6f38) != 0) &&\n                (**(int **)(puStack_158 + -0x702c) != 0)) {\n          pwVar14 = (word *)**(undefined4 **)(puStack_158 + -0x6f34);\n          unaff_s3 = (word *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(pwStack_130);\n          pwStack_130 = unaff_s3;\n        }\n      }\n      if (**(int **)(puStack_158 + -0x6f10) != 0) {\n        pwVar14 = param_2;\n        (**(code **)(puStack_158 + -0x6218))\n                  (piStack_12c + 1,param_2,4,*(undefined4 *)(puStack_158 + -0x6660));\n      }\n      pwVar16 = (word *)(**(code **)(puStack_158 + -0x60fc))(pwStack_130);\n      unaff_s4 = pwStack_140;\n      if ((int)pwVar16 <= (int)pwStack_140) {\n        unaff_s4 = pwVar16;\n      }\n      if ((int)param_2 < 1) {\n        pwVar16 = (word *)0x1;\nLAB_000fb1a8:\n        pwVar16 = (word *)(uint)((int)param_2 < (int)pwVar16);\n        pwVar15 = pwStack_140;\n        if (pwVar16 != (word *)0x0) goto LAB_000fb12c;\n      }\n      else {\n        param_4 = (byte *)(piStack_12c + 1);\n        pwVar16 = (word *)0x1;\n        do {\n          unaff_s2 = *(word **)param_4;\n          iVar5 = (**(code **)(puStack_158 + -0x6238))(unaff_s2,pwStack_130,unaff_s4);\n          if (iVar5 == 0) {\n            pwVar14 = unaff_s2;\n            (**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,pwStack_140);\n            goto LAB_000fb1a8;\n          }\n          pwVar16 = (word *)((int)pwVar16 + 1);\n          param_4 = param_4 + 4;\n        } while ((int)pwVar16 <= (int)param_2);\nLAB_000fb12c:\n        pwVar14 = (word *)piStack_12c[1];\n        pwVar15 = pwStack_140;\n        (**(code **)(puStack_158 + -0x615c))(*piStack_12c);\n      }\n      if (unaff_s3 != (word *)0x0) {\n        (**(code **)(puStack_158 + -0x5f94))(unaff_s3);\n      }\n    }\n    *(byte *)((int)pwStack_140 + *piStack_12c) = 0;\n    pwStack_13c = param_2;\n  }\nLAB_000fb1f0:\n  if (puStack_104 == (undefined4 *)**(undefined4 **)(puStack_158 + -0x5fb4)) {\n    return pwStack_13c;\n  }\n  pcVar23 = *(code **)(puStack_158 + -0x6004);\n  pcVar25 = FUN_000fb268;\n  puVar21 = puStack_104;\n  (*pcVar23)();\n  pcStack_1a8 = pcVar23 + 0x632d8;\n  auStack_19d._1_4_ = **(undefined4 **)(pcVar23 + 0x5d324);\n  pwVar18 = (word *)*puVar21;\n  pwStack_194 = pwVar16;\n  pbStack_190 = param_4;\n  pwStack_18c = unaff_s2;\n  pwStack_188 = unaff_s3;\n  pwStack_184 = unaff_s4;\n  pwStack_180 = unaff_s5;\n  pwStack_17c = unaff_s6;\n  pwStack_178 = unaff_s7;\n  pcStack_174 = pcVar25;\n  if (pwVar18 == (word *)0x0) {\n    pwVar6 = (word *)0x0;\n  }\n  else {\n    pwVar20 = pwVar14;\n    pwVar6 = pwVar18;\n    if (**(int **)(pcVar23 + 0x5cd28) != 0) {\n      if (*(int *)pwVar18 == 0) {\nLAB_000fb370:\n        uVar7 = *(undefined4 *)pwVar18;\n      }\n      else {\n        pwVar15 = (word *)0x0;\n        pwVar16 = pwVar18;\n        do {\n          pwVar16 = pwVar16 + 2;\n          pwVar15 = (word *)((int)pwVar15 + 1);\n        } while (*(int *)pwVar16 != 0);\n        if ((pwVar15 == (word *)0x0) || (**(int **)(pcVar23 + 0x5c3c8) == 0)) goto LAB_000fb370;\n        pwVar15 = (word *)&DAT_00000004;\n        (**(code **)(pcVar23 + 0x5d0c0))();\n        uVar7 = *(undefined4 *)pwVar18;\n      }\n      iVar5 = (**(code **)(pcStack_1a8 + -0x60fc))(uVar7);\n      uVar7 = (**(code **)(pcStack_1a8 + -0x7f88))(iVar5 + 1);\n      unaff_s4 = (word *)(**(code **)(pcStack_1a8 + -0x6074))(uVar7,*(undefined4 *)pwVar18);\n      if (*(int *)(pwVar18 + 2) == 0) {\n        unaff_s6 = (word *)0x0;\n        pbVar24 = (byte *)0x3;\n        pwVar20 = (word *)0x0;\n      }\n      else {\n        unaff_s6 = (word *)0x0;\n        unaff_s7 = (word *)auStack_19d;\n        pwVar16 = pwVar18;\n        do {\n          uVar7 = *(undefined4 *)pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(uVar7);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(uVar7);\n            *(word **)pwVar16 = unaff_s7;\n          }\n          else {\n            unaff_s6 = (word *)((int)unaff_s6 + 1);\n          }\n          pwVar20 = *(word **)(pwVar16 + 4);\n          pbVar24 = (byte *)((int)unaff_s6 + 3);\n          pwVar16 = pwVar16 + 2;\n        } while (pwVar20 != (word *)0x0);\n      }\n      pwVar6 = (word *)(**(code **)(pcStack_1a8 + -0x7f88))((int)pbVar24 << 2);\n      pbVar24 = *(byte **)(pwVar18 + 2);\n      if (pbVar24 == (byte *)0x0) {\n        pbVar24 = (byte *)(pwVar6 + 2);\n        pbVar24[0] = 0;\n        pbVar24[1] = 0;\n        pbVar24[2] = 0;\n        pbVar24[3] = 0;\n        pwVar16 = (word *)0x1;\n        if (*(undefined1 **)pwVar18 != auStack_19d) {\n          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);\n          goto LAB_000fb4b4;\n        }\n        *(word **)pwVar6 = unaff_s4;\n      }\n      else {\n        pwVar16 = (word *)0x1;\n        pwVar20 = (word *)auStack_19d;\n        pbVar12 = (byte *)(pwVar18 + 4);\n        do {\n          if ((word *)pbVar24 != pwVar20) {\n            *(byte **)(pwVar6 + (int)pwVar16 * 2) = pbVar24;\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\n          pbVar24 = *(byte **)pbVar12;\n          pbVar12 = pbVar12 + 4;\n        } while (pbVar24 != (byte *)0x0);\n        *(undefined4 *)(pwVar6 + (int)pwVar16 * 2) = 0;\n        if (*(undefined1 **)pwVar18 != auStack_19d) {\n          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);\nLAB_000fb4b4:\n          (*pcVar23)();\n        }\n        *(word **)pwVar6 = unaff_s4;\n        if (pwVar16 == (word *)0x2) {\n          pwVar16 = *(word **)(pwVar6 + 2);\n          pwVar20 = pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(unaff_s4);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(pwVar16);\n            pbVar24 = (byte *)(pwVar6 + 2);\n            pbVar24[0] = 0;\n            pbVar24[1] = 0;\n            pbVar24[2] = 0;\n            pbVar24[3] = 0;\n          }\n        }\n      }\n      (**(code **)(pcStack_1a8 + -0x798c))(pwVar18);\n      unaff_s5 = pwVar6;\n    }\n    unaff_s3 = pwVar14;\n    pwVar18 = pwVar6;\n    if (((code *)**(undefined4 **)(pcStack_1a8 + -0x703c) == (code *)0x0) ||\n       (pwVar14 == (word *)0x0)) goto LAB_000fb570;\n    if (*(int *)(pwVar6 + 2) == 0) {\n      pwVar16 = (word *)0x1;\n    }\n    else {\n      pwVar16 = (word *)0x1;\n      pbVar24 = (byte *)(pwVar6 + 4);\n      do {\n        iVar5 = *(int *)pbVar24;\n        pwVar16 = (word *)((int)pwVar16 + 1);\n        pbVar24 = pbVar24 + 4;\n      } while (iVar5 != 0);\n    }\n    (*(code *)**(undefined4 **)(pcStack_1a8 + -0x703c))(pwVar6);\n    unaff_s3 = *(word **)pwVar6;\n    if (unaff_s3 == (word *)0x0) {\n      (**(code **)(pcStack_1a8 + -0x5f94))(pwVar6);\n      *puVar21 = 0;\n      pwVar6 = (word *)0x0;\n      pwVar14 = pwVar20;\n      goto LAB_000fb578;\n    }\n    if (*(int *)(pwVar6 + 2) == 0) {\nLAB_000fb570:\n      *puVar21 = pwVar6;\n    }\n    else {\n      pbVar24 = (byte *)(pwVar6 + 4);\n      pwVar14 = (word *)0x1;\n      do {\n        pwVar20 = pwVar14;\n        iVar5 = *(int *)pbVar24;\n        pwVar14 = (word *)((int)pwVar20 + 1);\n        pbVar24 = pbVar24 + 4;\n      } while (iVar5 != 0);\n      pwVar16 = (word *)(uint)((int)pwVar14 < (int)pwVar16);\n      if (((int)pwVar14 < 2) || (pwVar15 = unaff_s3, pwVar16 == (word *)0x0)) goto LAB_000fb570;\n      FUN_000fab30(pwVar6);\n      (**(code **)(pcStack_1a8 + -0x5f94))(unaff_s3);\n      *puVar21 = pwVar6;\n    }\n    pwVar6 = (word *)0x1;\n    pwVar14 = pwVar20;\n  }\nLAB_000fb578:\n  if ((char *)auStack_19d._1_4_ == (char *)**(undefined4 **)(pcStack_1a8 + -0x5fb4)) {\n    return pwVar6;\n  }\n  pcVar23 = *(code **)(pcStack_1a8 + -0x6004);\n  pcVar25 = rl_filename_completion_function;\n  pcVar19 = (char *)auStack_19d._1_4_;\n  (*pcVar23)();\n  pcStack_230 = pcVar23 + 0x62f20;\n  iStack_1e4 = **(int **)(pcVar23 + 0x5cf6c);\n  pwStack_1e0 = pwVar16;\n  pwStack_1dc = pwVar18;\n  puStack_1d8 = puVar21;\n  pwStack_1d4 = unaff_s3;\n  pwStack_1d0 = unaff_s4;\n  pwStack_1cc = unaff_s5;\n  pwStack_1c8 = unaff_s6;\n  pwStack_1c4 = unaff_s7;\n  ppbStack_1c0 = unaff_s8;\n  pcStack_1bc = pcVar25;\n  if (pwVar14 != (word *)0x0) goto LAB_000fb968;\n  if (*(int *)(*(int *)(pcVar23 + 0x5af4c) + -0x3fd4) != 0) {\n    (**(code **)(pcVar23 + 0x5cc9c))();\n    *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) = 0;\n  }\n  if (*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) != 0) {\n    (**(code **)(pcStack_230 + -0x5f94))();\n  }\n  if (*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) != 0) {\n    (**(code **)(pcStack_230 + -0x5f94))();\n  }\n  if (*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) != 0) {\n    (**(code **)(pcStack_230 + -0x5f94))();\n  }\n  iVar5 = (**(code **)(pcStack_230 + -0x60fc))(pcVar19);\n  uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);\n  uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,pcVar19);\n  *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) = uVar7;\n  if (*pcVar19 == '\0') {\n    pcVar19 = (char *)(*(int *)(pcStack_230 + -0x7f90) + -0x5e18);\n  }\n  iVar5 = (**(code **)(pcStack_230 + -0x60fc))(pcVar19);\n  uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);\n  puVar8 = (undefined1 *)(**(code **)(pcStack_230 + -0x6074))(uVar7,pcVar19);\n  *(undefined1 **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) = puVar8;\n  unaff_s4 = (word *)(**(code **)(pcStack_230 + -0x61d4))(puVar8,0x2f);\n  if (unaff_s4 == (word *)0x0) {\n    *puVar8 = 0x2e;\n    *(undefined1 *)(*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) + 1) = 0;\n  }\n  else {\n    (**(code **)(pcStack_230 + -0x6074))\n              (*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc),\n               (byte *)((int)unaff_s4 + 1));\n    *(byte *)((int)unaff_s4 + 1) = 0;\n  }\n  if (**(int **)(pcStack_230 + -0x6f38) == 0) {\nLAB_000fb830:\n    iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n    iVar5 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(iVar13 + -0x3fd8));\n    uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);\n    uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(iVar13 + -0x3fd8));\n    *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = uVar7;\n  }\n  else {\n    if ((code *)**(undefined4 **)(pcStack_230 + -0x6de4) == (code *)0x0) goto LAB_000fb830;\n    uVar7 = (*(code *)**(undefined4 **)(pcStack_230 + -0x6de4))\n                      (*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8),\n                       **(undefined4 **)(pcStack_230 + -0x6f34));\n    *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = uVar7;\n  }\n  bVar3 = **(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) == '~';\n  if (bVar3) {\n    uVar7 = (**(code **)(pcStack_230 + -0x7a34))();\n    iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n    (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fd8));\n    *(undefined4 *)(iVar5 + -0x3fd8) = uVar7;\n  }\n  unaff_s3 = (word *)(uint)bVar3;\n  if ((code *)**(undefined4 **)(pcStack_230 + -0x6f40) == (code *)0x0) {\n    if ((code *)**(undefined4 **)(pcStack_230 + -0x6f3c) != (code *)0x0) {\n      iVar5 = (*(code *)**(undefined4 **)(pcStack_230 + -0x6f3c))\n                        (*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);\n      iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n      if (iVar5 != 0) {\n        (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar13 + -0x3fe0));\n        unaff_s3 = *(word **)(pcStack_230 + -0x7fd4);\n        iVar5 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1fec));\n        uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);\n        uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1fec));\n        *(undefined4 *)(iVar13 + -0x3fe0) = uVar7;\n        goto LAB_000fb8b4;\n      }\n    }\n    iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n    if ((unaff_s3 == (word *)0x0) &&\n       (iVar5 = *(int *)(pcStack_230 + -0x7fd4), **(int **)(pcStack_230 + -0x6f38) != 0)) {\n      iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n      if (**(int **)(pcStack_230 + -0x6de4) != 0) {\n        (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fd8));\n        unaff_s3 = *(word **)(pcStack_230 + -0x7fd4);\n        iVar13 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1ff0));\n        uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar13 + 1);\n        uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1ff0));\n        *(undefined4 *)(iVar5 + -0x3fd8) = uVar7;\n      }\n      goto LAB_000fb8b4;\n    }\n  }\n  else {\n    (*(code *)**(undefined4 **)(pcStack_230 + -0x6f40))(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);\nLAB_000fb8b4:\n    iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n  }\n  uVar7 = (**(code **)(pcStack_230 + -0x6288))(*(undefined4 *)(iVar5 + -0x3fd8));\n  *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) = uVar7;\n  iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n  if ((**(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) != '\0') &&\n     (iVar5 = *(int *)(pcStack_230 + -0x7fd4), **(int **)(pcStack_230 + -0x6f38) != 0)) {\n    if ((code *)**(undefined4 **)(pcStack_230 + -0x6de4) != (code *)0x0) {\n      unaff_s3 = (word *)(*(code *)**(undefined4 **)(pcStack_230 + -0x6de4))\n                                   (*(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc),\n                                    **(undefined4 **)(pcStack_230 + -0x6f34));\n      iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n      (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fdc));\n      *(word **)(iVar5 + -0x3fdc) = unaff_s3;\n    }\n    iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n  }\n  uVar7 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(iVar5 + -0x3fdc));\n  *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe4) = uVar7;\n  **(undefined4 **)(pcStack_230 + -0x6f0c) = 1;\nLAB_000fb968:\n  iVar5 = 0;\n  iStack_224 = *(int *)(pcStack_230 + -0x7fd4);\n  puStack_220 = *(undefined4 **)(pcStack_230 + -0x6df0);\n  iStack_21c = *(int *)(pcStack_230 + -0x7fd4);\n  iStack_218 = *(int *)(pcStack_230 + -0x7fd4);\n  piStack_20c = *(int **)(pcStack_230 + -0x65bc);\n  pcVar23 = pcStack_230;\nLAB_000fbb0c:\n  iVar13 = *(int *)(iStack_224 + -0x3fd4);\nLAB_000fbb10:\n  if (iVar13 == 0) {\n    if (iVar5 != 0) goto LAB_000fbbb0;\n    iVar5 = *(int *)(*(int *)(pcVar23 + -0x7fd4) + -0x3fd8);\nLAB_000fc3a0:\n    if (iVar5 != 0) {\n      (**(code **)(pcVar23 + -0x798c))();\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) = 0;\n      pcVar23 = pcStack_230;\n    }\n    if (*(int *)(*(int *)(pcVar23 + -0x7fd4) + -0x3fdc) != 0) {\n      (**(code **)(pcVar23 + -0x798c))();\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) = 0;\n      pcVar23 = pcStack_230;\n    }\n    pwVar14 = *(word **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0);\n    if (pwVar14 != (word *)0x0) {\n      (**(code **)(pcVar23 + -0x798c))(pwVar14);\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = 0;\n      pwVar14 = (word *)0x0;\n      pcVar23 = pcStack_230;\n    }\n    goto LAB_000fbca4;\n  }\n  iVar5 = (**(code **)(pcVar23 + -0x6214))();\n  if (iVar5 == 0) {\n    if (*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) != 0) {\n      (**(code **)(pcStack_230 + -0x6284))();\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) = 0;\n    }\n    iVar5 = *(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);\n    pcVar23 = pcStack_230;\n    goto LAB_000fc3a0;\n  }\n  pwVar18 = (word *)(iVar5 + 0x13);\n  unaff_s4 = (word *)(**(code **)(pcStack_230 + -0x60fc))(pwVar18);\n  pwVar16 = pwVar18;\n  if (((code *)*puStack_220 != (code *)0x0) &&\n     (pwVar16 = (word *)(*(code *)*puStack_220)(pwVar18,unaff_s4), pwVar18 != pwVar16)) {\n    unaff_s4 = (word *)(**(code **)(pcStack_230 + -0x60fc))(pwVar16);\n  }\n  unaff_s3 = *(word **)(iStack_21c + -0x3fe4);\n  pcVar23 = pcStack_230;\n  if (unaff_s3 == (word *)0x0) {\n    if (**(int **)(pcStack_230 + -0x65ac) == 0) {\n      if (*(byte *)pwVar16 != 0x2e) goto LAB_000fbbb0;\n    }\n    else {\n      iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n      if ((*(byte *)pwVar16 != 0x2e) ||\n         (((byte)*pwVar16 != 0 &&\n          ((iVar13 = *(int *)(pcStack_230 + -0x7fd4), (byte)*pwVar16 != 0x2e ||\n           (iVar13 = *(int *)(pcStack_230 + -0x7fd4), *(byte *)(pwVar16 + 1) != 0))))))\n      goto LAB_000fbbb4;\n    }\n    goto LAB_000fbb0c;\n  }\n  pbStack_228 = *(byte **)(iStack_218 + -0x3fdc);\n  pbStack_1f4 = (byte *)0x0;\n  uStack_1f0 = 0;\n  uStack_1ec = 0;\n  uStack_1e8 = 0;\n  if ((int)unaff_s4 < (int)unaff_s3) goto LAB_000fbb0c;\n  if (*piStack_20c != 0) {\n    if (**(int **)(pcStack_230 + -0x65a4) == 0) {\n      uVar4 = (**(code **)(pcStack_230 + -0x6060))();\n      if ((1 < uVar4) && (unaff_s8 = &pbStack_1f4, **(int **)(pcStack_230 + -0x6728) == 0)) {\n        unaff_s7 = (word *)&iStack_1fc;\n        unaff_s6 = (word *)&uStack_1ec;\n        unaff_s5 = (word *)&iStack_1f8;\n        pwStack_214 = pwVar16;\n        pwStack_208 = unaff_s3;\n        goto LAB_000fc0a8;\n      }\n      unaff_s5 = (word *)(int)(char)*(byte *)pwVar16;\n      pbVar24 = (byte *)(uint)*(byte *)pwVar16;\n      if (((word *)pbVar24 == unaff_s5) &&\n         (piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))(),\n         (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0)) {\n        piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n        unaff_s5 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n      }\n      unaff_s6 = (word *)(int)(char)*pbStack_228;\n      unaff_s4 = (word *)(uint)*pbStack_228;\n      if (unaff_s4 == unaff_s6) {\n        piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))();\n        if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n          piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n          unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n          unaff_s6 = *(word **)unaff_s4;\n        }\n      }\n      pwVar15 = unaff_s3;\n      pcVar23 = pcStack_230;\n      if (unaff_s5 == unaff_s6) {\n        iVar13 = (**(code **)(pcStack_230 + -0x6188))(pbStack_228,pwVar16);\n        goto LAB_000fc280;\n      }\n    }\n    else {\n      uVar4 = (**(code **)(pcStack_230 + -0x6060))();\n      if ((1 < uVar4) && (unaff_s6 = (word *)&uStack_1ec, **(int **)(pcStack_230 + -0x6728) == 0)) {\n        unaff_s8 = &pbStack_1f4;\n        unaff_s7 = (word *)&iStack_1fc;\n        unaff_s5 = (word *)&iStack_1f8;\n        pwStack_214 = pwVar16;\n        pwStack_208 = unaff_s3;\n        do {\n          pwStack_210 = (word *)(**(code **)(pcStack_230 + -0x6084))\n                                          (unaff_s7,pwStack_214,unaff_s4,unaff_s8);\n          pwVar15 = unaff_s3;\n          iVar13 = (**(code **)(pcStack_230 + -0x6084))(unaff_s5,pbStack_228,unaff_s3,unaff_s6);\n          pcVar23 = pcStack_230;\n          if (pwStack_210 == (word *)0x0) {\n            if (iVar13 == 0) goto LAB_000fbbb0;\nLAB_000fbe6c:\n            if (iVar13 + 2U < 2) goto LAB_000fbdb4;\n            iStack_204 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc);\n            iStack_1fc = iStack_204;\n            iStack_1f8 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8);\n            pwStack_214 = (word *)((int)pwStack_214 + (int)pwStack_210);\n            pbStack_228 = pbStack_228 + (int)pwStack_210;\n            pwStack_208 = (word *)((int)pwStack_208 - (int)pwStack_210);\n            if ((((iStack_204 != 0x2d) && (iStack_204 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))) && (iStack_204 != iStack_1f8))\n            goto code_r0x000fbef4;\n          }\n          else {\n            if ((word *)0x1 < pwStack_210 + 1) goto LAB_000fbe6c;\nLAB_000fbdb4:\n            bVar2 = *(byte *)pwStack_214;\n            if (((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||\n               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))) goto LAB_000fbb0c;\n            pwStack_214 = (word *)((int)pwStack_214 + 1);\n            pbStack_228 = pbStack_228 + 1;\n            pwStack_208 = (word *)((int)pwStack_208 + -1);\n          }\n          iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n          pcVar23 = pcStack_230;\n          if (pwStack_208 == (word *)0x0) goto LAB_000fbbb4;\n        } while( true );\n      }\n      unaff_s7 = (word *)&DAT_0000002d;\n      unaff_s8 = (byte **)0x5f;\n      pwStack_208 = (word *)((int)pwVar16 + (int)unaff_s3);\n      unaff_s4 = pwVar16;\n      pcVar23 = pcStack_230;\n      while( true ) {\n        unaff_s3 = (word *)(int)(char)*(byte *)unaff_s4;\n        pbVar24 = (byte *)(uint)*(byte *)unaff_s4;\n        pwStack_214 = unaff_s3;\n        if (((word *)pbVar24 == unaff_s3) &&\n           (piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))(), pcVar23 = pcStack_230,\n           (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0)) {\n          piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n          pwStack_214 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n          pcVar23 = pcStack_230;\n        }\n        unaff_s5 = (word *)(int)(char)*pbStack_228;\n        unaff_s6 = (word *)(uint)*pbStack_228;\n        pwStack_210 = unaff_s5;\n        if (unaff_s6 == unaff_s5) {\n          piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))();\n          pcVar23 = pcStack_230;\n          if ((*(ushort *)(*piVar9 + (int)unaff_s6 * 2) & 1) != 0) {\n            piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n            unaff_s6 = (word *)(*piVar9 + (int)unaff_s6 * 4);\n            pwStack_210 = *(word **)unaff_s6;\n            pcVar23 = pcStack_230;\n          }\n        }\n        if ((((unaff_s3 != (word *)&DAT_0000002d) && (unaff_s3 != (word *)0x5f)) ||\n            ((unaff_s5 != (word *)&DAT_0000002d && (unaff_s5 != (word *)0x5f)))) &&\n           (pwStack_214 != pwStack_210)) break;\n        unaff_s4 = (word *)((int)unaff_s4 + 1);\n        pbStack_228 = pbStack_228 + 1;\n        iVar13 = *(int *)(pcVar23 + -0x7fd4);\n        if (unaff_s4 == pwStack_208) goto LAB_000fbbb4;\n      }\n    }\n    goto LAB_000fbb0c;\n  }\n  if (*(byte *)pwVar16 != *pbStack_228) goto LAB_000fbb0c;\n  pwVar15 = unaff_s3;\n  iVar13 = (**(code **)(pcStack_230 + -0x6238))(pbStack_228,pwVar16);\nLAB_000fc280:\n  pcVar23 = pcStack_230;\n  if (iVar13 != 0) goto LAB_000fbb0c;\n  pcVar19 = *(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);\n  goto LAB_000fbbb8;\nLAB_000fc0a8:\n  pwStack_210 = (word *)(**(code **)(pcStack_230 + -0x6084))(unaff_s7,pwStack_214,unaff_s4,unaff_s8)\n  ;\n  pwVar15 = unaff_s3;\n  iVar13 = (**(code **)(pcStack_230 + -0x6084))(unaff_s5,pbStack_228,unaff_s3,unaff_s6);\n  pcVar23 = pcStack_230;\n  if (pwStack_210 == (word *)0x0) {\n    if (iVar13 == 0) goto LAB_000fbbb0;\nLAB_000fc100:\n    if (iVar13 + 2U < 2) goto LAB_000fc060;\n    iStack_204 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc);\n    iStack_1fc = iStack_204;\n    iStack_1f8 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8);\n    pcVar23 = pcStack_230;\n    if (iStack_204 != iStack_1f8) goto LAB_000fbb0c;\n    pwStack_214 = (word *)((int)pwStack_214 + (int)pwStack_210);\n    pbStack_228 = pbStack_228 + (int)pwStack_210;\n    pwStack_208 = (word *)((int)pwStack_208 - (int)pwStack_210);\n  }\n  else {\n    if ((word *)0x1 < pwStack_210 + 1) goto LAB_000fc100;\nLAB_000fc060:\n    if (*(byte *)pwStack_214 != *pbStack_228) goto LAB_000fbb0c;\n    pwStack_214 = (word *)((int)pwStack_214 + 1);\n    pbStack_228 = pbStack_228 + 1;\n    pwStack_208 = (word *)((int)pwStack_208 + -1);\n  }\n  iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n  pcVar23 = pcStack_230;\n  if (pwStack_208 == (word *)0x0) goto LAB_000fbbb4;\n  goto LAB_000fc0a8;\ncode_r0x000fbef4:\n  iVar13 = *(int *)(iStack_224 + -0x3fd4);\n  pcVar23 = pcStack_230;\n  goto LAB_000fbb10;\nLAB_000fbbb0:\n  iVar13 = *(int *)(pcVar23 + -0x7fd4);\nLAB_000fbbb4:\n  pcVar19 = *(char **)(iVar13 + -0x3fd8);\nLAB_000fbbb8:\n  if ((pcVar19 == (char *)0x0) ||\n     ((piVar9 = *(int **)(pcVar23 + -0x65a8), *pcVar19 == '.' &&\n      (piVar9 = *(int **)(pcVar23 + -0x65a8), pcVar19[1] == '\0')))) {\n    iVar5 = (**(code **)(pcVar23 + -0x60fc))(pwVar16);\n    uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);\n    pwVar14 = (word *)(**(code **)(pcStack_230 + -0x6074))(uVar7,pwVar16);\n  }\n  else {\n    if ((*piVar9 == 0) || (**(char **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0) != '~')) {\n      iVar13 = *(int *)(pcVar23 + -0x7fd4);\n      unaff_s3 = (word *)(**(code **)(pcVar23 + -0x60fc))(*(undefined4 *)(iVar13 + -0x3fe0));\n      iVar5 = (**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13);\n      pwVar14 = (word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2));\n      iVar5 = *(int *)(iVar13 + -0x3fe0);\n      (**(code **)(pcStack_230 + -0x6074))(pwVar14,iVar5);\n      unaff_s4 = (word *)((int)unaff_s3 + iVar5);\n      unaff_s5 = unaff_s3;\n      if (*(byte *)((int)unaff_s4 + -1) != 0x2f) {\n        unaff_s5 = (word *)((int)unaff_s3 + 1);\n        unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);\n        *(byte *)unaff_s3 = 0x2f;\n      }\n    }\n    else {\n      unaff_s3 = (word *)(**(code **)(pcVar23 + -0x60fc))();\n      iVar5 = (**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13);\n      pwVar14 = (word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2));\n      unaff_s4 = *(word **)(pcStack_230 + -0x7fd4);\n      (**(code **)(pcStack_230 + -0x6074))(pwVar14,*(undefined4 *)(unaff_s4 + -0x1fec));\n      unaff_s5 = unaff_s3;\n      if (*(byte *)((int)unaff_s3 + *(int *)(unaff_s4 + -0x1fec) + -1) != 0x2f) {\n        unaff_s5 = (word *)((int)unaff_s3 + 1);\n        unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);\n        *(byte *)unaff_s3 = 0x2f;\n        *(byte *)((int)pwVar14 + (int)unaff_s5) = 0;\n      }\n    }\n    (**(code **)(pcStack_230 + -0x6074))((byte *)((int)pwVar14 + (int)unaff_s5),pwVar16);\n  }\n  pcVar23 = pcStack_230;\n  if (pwVar18 != pwVar16) {\n    (**(code **)(pcStack_230 + -0x798c))(pwVar16);\n    pcVar23 = pcStack_230;\n  }\nLAB_000fbca4:\n  if (iStack_1e4 == **(int **)(pcVar23 + -0x5fb4)) {\n    return pwVar14;\n  }\n  pcVar23 = *(code **)(pcVar23 + -0x6004);\n  pcVar25 = FUN_000fc42c;\n  iVar5 = iStack_1e4;\n  (*pcVar23)();\n  pcStack_280 = pcVar23 + 0x62114;\n  aiStack_278[3] = **(int **)(pcVar23 + 0x5c160);\n  pwStack_268 = pwVar16;\n  pwStack_264 = pwVar18;\n  pwStack_260 = pwVar14;\n  pwStack_25c = unaff_s3;\n  pwStack_258 = unaff_s4;\n  pwStack_254 = unaff_s5;\n  pwStack_250 = unaff_s6;\n  pwStack_24c = unaff_s7;\n  ppbStack_248 = unaff_s8;\n  pcStack_244 = pcVar25;\n  iVar10 = (**(code **)(pcVar23 + 0x5c018))();\n  aiStack_278[1] = 0;\n  aiStack_278[2] = 0;\n  pwVar16 = (word *)0x0;\n  iVar13 = 0;\n  pcVar23 = pcStack_280;\n  while( true ) {\n    pwVar14 = (word *)(iVar5 + iVar13);\n    bVar2 = *(byte *)pwVar14;\n    iVar17 = iVar13;\n    if (bVar2 == 0) break;\n    if ((bVar2 < 0x20) || (bVar2 == 0x7f)) {\n      pwVar16 = pwVar16 + 1;\n      iVar13 = iVar13 + 1;\n    }\n    else {\n      pwVar15 = (word *)((iVar10 + 1) - iVar13);\n      iVar11 = (**(code **)(pcVar23 + -0x6084))(aiStack_278,pwVar14,pwVar15,aiStack_278 + 1);\n      pcVar23 = pcStack_280;\n      if (iVar11 + 2U < 2) {\n        pwVar16 = (word *)((int)pwVar16 + 1);\n        iVar13 = iVar13 + 1;\n        aiStack_278[1] = 0;\n        aiStack_278[2] = 0;\n      }\n      else {\n        iVar17 = iVar13 + iVar11;\n        if (iVar11 == 0) break;\n        if (aiStack_278[0] < 0x40) {\n          iVar13 = 1;\n          if (aiStack_278[0] < 0x25) {\n            if (3 < aiStack_278[0] - 0x20U) {\n              pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n              goto LAB_000fc594;\n            }\n            iVar13 = 1;\n          }\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n          if (aiStack_278[0] < 0x41) {\nLAB_000fc594:\n            iVar13 = (*pcVar23)();\n          }\n          else {\n            iVar13 = 1;\n            if (0x5f < aiStack_278[0]) {\n              if (0x1d < aiStack_278[0] - 0x61U) goto LAB_000fc594;\n              iVar13 = 1;\n            }\n          }\n        }\n        if (iVar13 < 0) {\n          iVar13 = 1;\n        }\n        pwVar16 = (word *)((int)pwVar16 + iVar13);\n        iVar13 = iVar17;\n        pcVar23 = pcStack_280;\n      }\n    }\n  }\n  if (aiStack_278[3] == **(int **)(pcVar23 + -0x5fb4)) {\n    return pwVar16;\n  }\n  pcVar23 = *(code **)(pcVar23 + -0x6004);\n  pcVar25 = FUN_000fc5fc;\n  iVar11 = aiStack_278[3];\n  (*pcVar23)();\n  pcStack_2e0 = pcVar23 + 0x61f44;\n  uStack_2a4 = 1;\n  uStack_2a8 = 0x7f;\n  pbStack_2bc = (byte *)**(undefined4 **)(pcVar23 + 0x5bf90);\n  pwVar18 = pwVar14;\n  pwStack_2cc = pwVar15;\n  iStack_2b8 = iVar17;\n  pwStack_2b4 = pwVar16;\n  iStack_2b0 = iVar13;\n  iStack_2ac = iVar5;\n  piStack_2a0 = aiStack_278 + 1;\n  piStack_29c = aiStack_278;\n  iStack_298 = iVar10 + 1;\n  pcStack_294 = pcVar25;\n  iVar5 = (**(code **)(pcVar23 + 0x5be48))();\n  iStack_2d4 = iVar11 + iVar5 + 1;\n  aiStack_2c8[1] = 0;\n  aiStack_2c8[2] = 0;\n  if ((**(int **)(pcStack_2e0 + -0x65a0) < 1) || ((int)pwVar14 < iVar5)) {\n    if (**(int **)(pcStack_2e0 + -0x67a8) == 0) goto LAB_000fc714;\n    if ((pwVar14 == (word *)0x0) || (**(int **)(pcStack_2e0 + -0x67a4) < 1)) goto LAB_000fc6f0;\n    if (0 < **(int **)(pcStack_2e0 + -0x65a0)) goto LAB_000fc750;\n    pcVar23 = *(code **)(pcStack_2e0 + -0x659c);\n    pwVar6 = pwVar14;\nLAB_000fc6c0:\n    (*pcVar23)();\n    (**(code **)(pcStack_2e0 + -0x6598))();\n    pwVar20 = (word *)0x0;\n    pwVar14 = (word *)0x0;\n  }\n  else if (**(int **)(pcStack_2e0 + -0x67a8) == 0) {\n    pwVar14 = (word *)0x0;\n    pwVar20 = (word *)0x0;\n    pwVar6 = (word *)0x0;\n  }\n  else {\n    pwVar14 = (word *)0x0;\nLAB_000fc6f0:\n    (**(code **)(pcStack_2e0 + -0x659c))();\n    (**(code **)(pcStack_2e0 + -0x6594))(pwStack_2cc);\nLAB_000fc714:\n    pwVar6 = pwVar14;\n    if (pwVar14 == (word *)0x0) {\n      pwVar20 = (word *)0x0;\n    }\n    else if (**(int **)(pcStack_2e0 + -0x65a0) < 1) {\n      pcVar23 = *(code **)(pcStack_2e0 + -0x659c);\n      if (0 < **(int **)(pcStack_2e0 + -0x67a4)) goto LAB_000fc6c0;\n      pwVar6 = (word *)0x0;\n      pwVar20 = (word *)0x0;\n    }\n    else {\nLAB_000fc750:\n      pwVar16 = (word *)0x2e;\n      if (*(byte *)((int)pwVar14 + iVar11) == 0x2e) {\n        pwVar16 = (word *)0x5f;\n      }\n      puVar21 = *(undefined4 **)(pcStack_2e0 + -0x6ef0);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16);\n      pwVar20 = (word *)0x3;\n      pwVar6 = (word *)0x0;\n    }\n  }\n  pwVar14 = (word *)((int)pwVar14 + iVar11);\n  puVar21 = *(undefined4 **)(pcStack_2e0 + -0x6ef0);\n  iStack_2d0 = *(int *)(pcStack_2e0 + -26000) + 0xb8;\n  while (bVar2 = *(byte *)pwVar14, bVar2 != 0) {\n    if (bVar2 < 0x20) {\n      (**(code **)(pcStack_2e0 + -0x61f0))(0x5e,*puVar21);\n      pwVar16 = (word *)((int)(char)*(byte *)pwVar14 | 0x40);\n      pbVar24 = (byte *)(*(byte *)pwVar14 | 0x40);\n      if ((word *)pbVar24 == pwVar16) {\n        piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x6290))();\n        if ((*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 2) != 0) {\n          piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x5f10))();\n          pwVar16 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n        }\n      }\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16);\n      pwVar20 = pwVar20 + 1;\n      pwVar14 = (word *)((int)pwVar14 + 1);\n      aiStack_2c8[1] = 0;\n      aiStack_2c8[2] = 0;\n    }\n    else if (bVar2 == 0x7f) {\n      (**(code **)(pcStack_2e0 + -0x61f0))(0x5e,*puVar21);\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(0x3f);\n      pwVar20 = pwVar20 + 1;\n      pwVar14 = (word *)((int)pwVar14 + 1);\n      aiStack_2c8[1] = 0;\n      aiStack_2c8[2] = 0;\n    }\n    else {\n      pwVar15 = (word *)(iStack_2d4 - (int)pwVar14);\n      pwVar18 = pwVar14;\n      pwVar16 = (word *)(**(code **)(pcStack_2e0 + -0x6084))(aiStack_2c8,pwVar14,pwVar15);\n      iVar5 = 1;\n      if (pwVar16 + 1 < (word *)0x2) {\n        aiStack_2c8[1] = 0;\n        aiStack_2c8[2] = 0;\n        pwVar16 = (word *)0x1;\n      }\n      else {\n        if (pwVar16 == (word *)0x0) break;\n        if (aiStack_2c8[0] < 0x40) {\n          if (aiStack_2c8[0] < 0x25) {\n            pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n            if (3 < aiStack_2c8[0] - 0x20U) goto LAB_000fc9c0;\n          }\n          else {\n            iVar5 = 1;\n          }\n        }\n        else if (aiStack_2c8[0] < 0x41) {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\nLAB_000fc9c0:\n          iVar5 = (*pcVar23)();\n        }\n        else if (aiStack_2c8[0] < 0x60) {\n          iVar5 = 1;\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n          if (0x1d < aiStack_2c8[0] - 0x61U) goto LAB_000fc9c0;\n          iVar5 = 1;\n        }\n        if (iVar5 < 0) {\n          iVar5 = 1;\n        }\n      }\n      pwVar18 = (word *)0x1;\n      pwVar15 = pwVar16;\n      (**(code **)(pcStack_2e0 + -0x6054))(pwVar14,1,pwVar16,*puVar21);\n      pwVar14 = (word *)((int)pwVar14 + (int)pwVar16);\n      pwVar20 = (word *)((int)pwVar20 + iVar5);\n    }\n    if ((0 < (int)pwVar6) && ((int)pwVar6 <= (int)pwVar14 - iVar11)) {\n      (**(code **)(pcStack_2e0 + -0x658c))();\n      (**(code **)(pcStack_2e0 + -0x6588))(iStack_2d0);\n      pwVar6 = (word *)**(undefined4 **)(pcStack_2e0 + -0x67a8);\n      if (pwVar6 != (word *)0x0) {\n        (**(code **)(pcStack_2e0 + -0x659c))();\n        (**(code **)(pcStack_2e0 + -0x6594))(pwStack_2cc);\n        pwVar6 = (word *)0x0;\n      }\n    }\n  }\n  if (**(int **)(pcStack_2e0 + -0x67a8) != 0) {\n    (**(code **)(pcStack_2e0 + -0x658c))();\n    (**(code **)(pcStack_2e0 + -0x6588))(*(int *)(pcStack_2e0 + -26000) + 0xb8);\n  }\n  if (pbStack_2bc == (byte *)**(undefined4 **)(pcStack_2e0 + -0x5fb4)) {\n    return pwVar20;\n  }\n  pcVar23 = *(code **)(pcStack_2e0 + -0x6004);\n  pcVar25 = FUN_000fcae4;\n  pbVar24 = pbStack_2bc;\n  (*pcVar23)();\n  iStack_314 = **(int **)(pcVar23 + 0x5baa8);\n  pwStack_310 = pwVar14;\n  pwStack_30c = pwVar16;\n  pwStack_308 = pwVar20;\n  pwStack_304 = pwVar6;\n  piStack_300 = aiStack_2c8 + 1;\n  puStack_2fc = puVar21;\n  iStack_2f8 = iVar11;\n  pcStack_2f4 = pcVar25;\n  if ((**(int **)(pcVar23 + 0x5b2b4) == 0) ||\n     (piVar9 = *(int **)(pcVar23 + 0x5b4d8), **(int **)(pcVar23 + 0x5ab50) == 0)) {\n    pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,pbVar24);\n    piVar9 = *(int **)(pcVar23 + 0x5b4d8);\n    if (**(int **)(pcVar23 + 0x5ab50) == 0) goto LAB_000fcb84;\n  }\n  if ((*piVar9 == 0 && **(int **)(pcVar23 + 0x5b2b4) == 0) && **(int **)(pcVar23 + 0x5b49c) == 0)\n  goto LAB_000fcb84;\n  if ((word *)pbVar24 == pwVar18) {\n    iStack_31c = (**(code **)(pcVar23 + 0x5a028))(pwVar18);\n    if (**(int **)(pcVar23 + 0x5b4d8) != 0) {\n      iVar5 = FUN_000f9fd0(iStack_31c);\n      if (**(int **)(pcVar23 + 0x5b2b4) != 0) goto LAB_000fcf40;\n      goto LAB_000fcddc;\n    }\n    if (**(int **)(pcVar23 + 0x5b49c) == 0) {\n      piVar9 = *(int **)(pcVar23 + 0x5b2b4);\nLAB_000fcef0:\n      iVar5 = 0;\n      if (*piVar9 == 0) {\n        (**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);\n        goto LAB_000fcb84;\n      }\nLAB_000fcf40:\n      pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,iStack_31c);\n      goto LAB_000fcddc;\n    }\n    iVar5 = FUN_000fa188(iStack_31c);\n    piVar9 = *(int **)(pcVar23 + 0x5b2b4);\n    if (iVar5 == 0) goto LAB_000fcef0;\n    if (*piVar9 != 0) {\n      iVar5 = 0x2f;\n      goto LAB_000fcf40;\n    }\n    (**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);\n    iVar5 = 0x2f;\n  }\n  else {\n    bVar2 = pbVar24[-1];\n    pbVar24[-1] = 0;\n    if ((pwVar18 == (word *)0x0) || (*(byte *)pwVar18 == 0)) {\n      pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);\n    }\n    else {\n      pwStack_318 = pwVar18;\n      if (*(byte *)pwVar18 == 0x2f) {\n        if ((byte)*pwVar18 == 0) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59acc) + -0x794);\n        }\n        else if (((byte)*pwVar18 == 0x2f) && (*(byte *)(pwVar18 + 1) == 0)) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);\n        }\n      }\n    }\n    iStack_31c = (**(code **)(pcVar23 + 0x5a028))(pwStack_318);\n    if ((code *)**(undefined4 **)(pcVar23 + 0x5ab20) != (code *)0x0) {\n      (*(code *)**(undefined4 **)(pcVar23 + 0x5ab20))(&iStack_31c);\n    }\n    iVar5 = (**(code **)(pcVar23 + 0x5b960))(iStack_31c);\n    iVar13 = (**(code **)(pcVar23 + 0x5b960))(pbVar24);\n    pwVar16 = (word *)(**(code **)(pcVar23 + 0x59ad4))(iVar13 + iVar5 + 2);\n    (**(code **)(pcVar23 + 0x5b9e8))(pwVar16,iStack_31c);\n    if (*(char *)(iStack_31c + iVar5 + -1) == '/') {\n      iVar5 = iVar5 + -1;\n    }\n    else {\n      *(byte *)((int)pwVar16 + iVar5) = 0x2f;\n    }\n    (**(code **)(pcVar23 + 0x5b9e8))((byte *)((int)pwVar16 + iVar5 + 1),pbVar24);\n    if (**(int **)(pcVar23 + 0x5b4d8) == 0) {\n      iVar5 = **(int **)(pcVar23 + 0x5b49c);\n      piVar9 = *(int **)(pcVar23 + 0x5b2b4);\n      if (iVar5 != 0) {\n        pwStack_318 = (word *)0x0;\n        if ((**(int **)(pcVar23 + 0x5ab20) == 0) && (**(int **)(pcVar23 + 0x5ac70) != 0)) {\n          iVar5 = (**(code **)(pcVar23 + 0x5b960))(pwVar16);\n          uVar7 = (**(code **)(pcVar23 + 0x59ad4))(iVar5 + 1);\n          pwStack_318 = (word *)(**(code **)(pcVar23 + 0x5b9e8))(uVar7,pwVar16);\n          (*(code *)**(undefined4 **)(pcVar23 + 0x5ac70))(&pwStack_318);\n          (**(code **)(pcVar23 + 0x5a0d0))(pwVar16);\n          pwVar16 = pwStack_318;\n        }\n        iVar5 = FUN_000fa188(pwVar16);\n        if (iVar5 != 0) {\n          iVar5 = 0x2f;\n        }\n        goto LAB_000fcdb0;\n      }\n    }\n    else {\n      iVar5 = FUN_000f9fd0(pwVar16);\nLAB_000fcdb0:\n      piVar9 = *(int **)(pcVar23 + 0x5b2b4);\n    }\n    if (*piVar9 != 0) {\n      pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,pwVar16);\n    }\n    (**(code **)(pcVar23 + 0x5a0d0))(pwVar16);\n    pbVar24[-1] = bVar2;\nLAB_000fcddc:\n    (**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);\n    if (iVar5 == 0) goto LAB_000fcb84;\n  }\n  (**(code **)(pcVar23 + 0x5b86c))(iVar5,**(undefined4 **)(pcVar23 + 0x5ab6c));\n  pwVar6 = (word *)((int)pwVar6 + 1);\nLAB_000fcb84:\n  if (iStack_314 == **(int **)(pcVar23 + 0x5baa8)) {\n    return pwVar6;\n  }\n  pcVar23 = *(code **)(pcVar23 + 0x5ba58);\n  (*pcVar23)();\n  if ((**(int **)(pcVar23 + 0x5a67c) == iStack_314) &&\n     (*(int *)(*(int *)(pcVar23 + 0x595b0) + -0x3fb8) == 0)) {\n    return (word *)0x3f;\n  }\n  if (**(int **)(pcVar23 + 0x5b004) == 0) {\n    pwVar16 = (word *)&DAT_00000009;\n    if (**(int **)(pcVar23 + 0x5b008) != 0) {\n      pwVar16 = (word *)0x40;\n    }\n    return pwVar16;\n  }\n  return (word *)&DAT_00000021;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "bool bVar3;" primitive_type identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "word *pwVar6;" type_identifier (pointer_declarator "*pwVar6" * identifier) ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "undefined1 *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "byte *pbVar12;" type_identifier (pointer_declarator "*pbVar12" * identifier) ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "word *pwVar14;" type_identifier (pointer_declarator "*pwVar14" * identifier) ;) (declaration "word *pwVar15;" type_identifier (pointer_declarator "*pwVar15" * identifier) ;) (declaration "word *pwVar16;" type_identifier (pointer_declarator "*pwVar16" * identifier) ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "word *pwVar18;" type_identifier (pointer_declarator "*pwVar18" * identifier) ;) (declaration "word *unaff_s2;" type_identifier (pointer_declarator "*unaff_s2" * identifier) ;) (declaration "char *pcVar19;" primitive_type (pointer_declarator "*pcVar19" * identifier) ;) (declaration "word *pwVar20;" type_identifier (pointer_declarator "*pwVar20" * identifier) ;) (declaration "word *unaff_s3;" type_identifier (pointer_declarator "*unaff_s3" * identifier) ;) (declaration "word *unaff_s4;" type_identifier (pointer_declarator "*unaff_s4" * identifier) ;) (declaration "word *unaff_s5;" type_identifier (pointer_declarator "*unaff_s5" * identifier) ;) (declaration "undefined4 *puVar21;" type_identifier (pointer_declarator "*puVar21" * identifier) ;) (declaration "word *unaff_s6;" type_identifier (pointer_declarator "*unaff_s6" * identifier) ;) (declaration "word *unaff_s7;" type_identifier (pointer_declarator "*unaff_s7" * identifier) ;) (declaration "undefined *puVar22;" type_identifier (pointer_declarator "*puVar22" * identifier) ;) (declaration "code *pcVar23;" type_identifier (pointer_declarator "*pcVar23" * identifier) ;) (declaration "byte **unaff_s8;" type_identifier (pointer_declarator "**unaff_s8" * (pointer_declarator "*unaff_s8" * identifier)) ;) (declaration "byte *pbVar24;" type_identifier (pointer_declarator "*pbVar24" * identifier) ;) (declaration "code *pcVar25;" type_identifier (pointer_declarator "*pcVar25" * identifier) ;) (declaration "int iStack_31c;" primitive_type identifier ;) (declaration "word *pwStack_318;" type_identifier (pointer_declarator "*pwStack_318" * identifier) ;) (declaration "int iStack_314;" primitive_type identifier ;) (declaration "word *pwStack_310;" type_identifier (pointer_declarator "*pwStack_310" * identifier) ;) (declaration "word *pwStack_30c;" type_identifier (pointer_declarator "*pwStack_30c" * identifier) ;) (declaration "word *pwStack_308;" type_identifier (pointer_declarator "*pwStack_308" * identifier) ;) (declaration "word *pwStack_304;" type_identifier (pointer_declarator "*pwStack_304" * identifier) ;) (declaration "int *piStack_300;" primitive_type (pointer_declarator "*piStack_300" * identifier) ;) (declaration "undefined4 *puStack_2fc;" type_identifier (pointer_declarator "*puStack_2fc" * identifier) ;) (declaration "int iStack_2f8;" primitive_type identifier ;) (declaration "code *pcStack_2f4;" type_identifier (pointer_declarator "*pcStack_2f4" * identifier) ;) (declaration "code *pcStack_2e0;" type_identifier (pointer_declarator "*pcStack_2e0" * identifier) ;) (declaration "int iStack_2d4;" primitive_type identifier ;) (declaration "int iStack_2d0;" primitive_type identifier ;) (declaration "word *pwStack_2cc;" type_identifier (pointer_declarator "*pwStack_2cc" * identifier) ;) (declaration "int aiStack_2c8 [3];" primitive_type (array_declarator "aiStack_2c8 [3]" identifier [ number_literal ]) ;) (declaration "byte *pbStack_2bc;" type_identifier (pointer_declarator "*pbStack_2bc" * identifier) ;) (declaration "int iStack_2b8;" primitive_type identifier ;) (declaration "word *pwStack_2b4;" type_identifier (pointer_declarator "*pwStack_2b4" * identifier) ;) (declaration "int iStack_2b0;" primitive_type identifier ;) (declaration "int iStack_2ac;" primitive_type identifier ;) (declaration "undefined4 uStack_2a8;" type_identifier identifier ;) (declaration "undefined4 uStack_2a4;" type_identifier identifier ;) (declaration "int *piStack_2a0;" primitive_type (pointer_declarator "*piStack_2a0" * identifier) ;) (declaration "int *piStack_29c;" primitive_type (pointer_declarator "*piStack_29c" * identifier) ;) (declaration "int iStack_298;" primitive_type identifier ;) (declaration "code *pcStack_294;" type_identifier (pointer_declarator "*pcStack_294" * identifier) ;) (declaration "code *pcStack_280;" type_identifier (pointer_declarator "*pcStack_280" * identifier) ;) (declaration "int aiStack_278 [4];" primitive_type (array_declarator "aiStack_278 [4]" identifier [ number_literal ]) ;) (declaration "word *pwStack_268;" type_identifier (pointer_declarator "*pwStack_268" * identifier) ;) (declaration "word *pwStack_264;" type_identifier (pointer_declarator "*pwStack_264" * identifier) ;) (declaration "word *pwStack_260;" type_identifier (pointer_declarator "*pwStack_260" * identifier) ;) (declaration "word *pwStack_25c;" type_identifier (pointer_declarator "*pwStack_25c" * identifier) ;) (declaration "word *pwStack_258;" type_identifier (pointer_declarator "*pwStack_258" * identifier) ;) (declaration "word *pwStack_254;" type_identifier (pointer_declarator "*pwStack_254" * identifier) ;) (declaration "word *pwStack_250;" type_identifier (pointer_declarator "*pwStack_250" * identifier) ;) (declaration "word *pwStack_24c;" type_identifier (pointer_declarator "*pwStack_24c" * identifier) ;) (declaration "byte **ppbStack_248;" type_identifier (pointer_declarator "**ppbStack_248" * (pointer_declarator "*ppbStack_248" * identifier)) ;) (declaration "code *pcStack_244;" type_identifier (pointer_declarator "*pcStack_244" * identifier) ;) (declaration "code *pcStack_230;" type_identifier (pointer_declarator "*pcStack_230" * identifier) ;) (declaration "byte *pbStack_228;" type_identifier (pointer_declarator "*pbStack_228" * identifier) ;) (declaration "int iStack_224;" primitive_type identifier ;) (declaration "undefined4 *puStack_220;" type_identifier (pointer_declarator "*puStack_220" * identifier) ;) (declaration "int iStack_21c;" primitive_type identifier ;) (declaration "int iStack_218;" primitive_type identifier ;) (declaration "word *pwStack_214;" type_identifier (pointer_declarator "*pwStack_214" * identifier) ;) (declaration "word *pwStack_210;" type_identifier (pointer_declarator "*pwStack_210" * identifier) ;) (declaration "int *piStack_20c;" primitive_type (pointer_declarator "*piStack_20c" * identifier) ;) (declaration "word *pwStack_208;" type_identifier (pointer_declarator "*pwStack_208" * identifier) ;) (declaration "int iStack_204;" primitive_type identifier ;) (declaration "int iStack_1fc;" primitive_type identifier ;) (declaration "int iStack_1f8;" primitive_type identifier ;) (declaration "byte *pbStack_1f4;" type_identifier (pointer_declarator "*pbStack_1f4" * identifier) ;) (declaration "undefined4 uStack_1f0;" type_identifier identifier ;) (declaration "undefined4 uStack_1ec;" type_identifier identifier ;) (declaration "undefined4 uStack_1e8;" type_identifier identifier ;) (declaration "int iStack_1e4;" primitive_type identifier ;) (declaration "word *pwStack_1e0;" type_identifier (pointer_declarator "*pwStack_1e0" * identifier) ;) (declaration "word *pwStack_1dc;" type_identifier (pointer_declarator "*pwStack_1dc" * identifier) ;) (declaration "undefined4 *puStack_1d8;" type_identifier (pointer_declarator "*puStack_1d8" * identifier) ;) (declaration "word *pwStack_1d4;" type_identifier (pointer_declarator "*pwStack_1d4" * identifier) ;) (declaration "word *pwStack_1d0;" type_identifier (pointer_declarator "*pwStack_1d0" * identifier) ;) (declaration "word *pwStack_1cc;" type_identifier (pointer_declarator "*pwStack_1cc" * identifier) ;) (declaration "word *pwStack_1c8;" type_identifier (pointer_declarator "*pwStack_1c8" * identifier) ;) (declaration "word *pwStack_1c4;" type_identifier (pointer_declarator "*pwStack_1c4" * identifier) ;) (declaration "byte **ppbStack_1c0;" type_identifier (pointer_declarator "**ppbStack_1c0" * (pointer_declarator "*ppbStack_1c0" * identifier)) ;) (declaration "code *pcStack_1bc;" type_identifier (pointer_declarator "*pcStack_1bc" * identifier) ;) (declaration "code *pcStack_1a8;" type_identifier (pointer_declarator "*pcStack_1a8" * identifier) ;) (declaration "undefined1 auStack_19d [9];" type_identifier (array_declarator "auStack_19d [9]" identifier [ number_literal ]) ;) (declaration "word *pwStack_194;" type_identifier (pointer_declarator "*pwStack_194" * identifier) ;) (declaration "byte *pbStack_190;" type_identifier (pointer_declarator "*pbStack_190" * identifier) ;) (declaration "word *pwStack_18c;" type_identifier (pointer_declarator "*pwStack_18c" * identifier) ;) (declaration "word *pwStack_188;" type_identifier (pointer_declarator "*pwStack_188" * identifier) ;) (declaration "word *pwStack_184;" type_identifier (pointer_declarator "*pwStack_184" * identifier) ;) (declaration "word *pwStack_180;" type_identifier (pointer_declarator "*pwStack_180" * identifier) ;) (declaration "word *pwStack_17c;" type_identifier (pointer_declarator "*pwStack_17c" * identifier) ;) (declaration "word *pwStack_178;" type_identifier (pointer_declarator "*pwStack_178" * identifier) ;) (declaration "code *pcStack_174;" type_identifier (pointer_declarator "*pcStack_174" * identifier) ;) (declaration "word *pwStack_160;" type_identifier (pointer_declarator "*pwStack_160" * identifier) ;) (declaration "word *pwStack_15c;" type_identifier (pointer_declarator "*pwStack_15c" * identifier) ;) (declaration "undefined *puStack_158;" type_identifier (pointer_declarator "*puStack_158" * identifier) ;) (declaration "word *pwStack_14c;" type_identifier (pointer_declarator "*pwStack_14c" * identifier) ;) (declaration "word *pwStack_148;" type_identifier (pointer_declarator "*pwStack_148" * identifier) ;) (declaration "word *pwStack_144;" type_identifier (pointer_declarator "*pwStack_144" * identifier) ;) (declaration "word *pwStack_140;" type_identifier (pointer_declarator "*pwStack_140" * identifier) ;) (declaration "word *pwStack_13c;" type_identifier (pointer_declarator "*pwStack_13c" * identifier) ;) (declaration "uint uStack_138;" type_identifier identifier ;) (declaration "int *piStack_134;" primitive_type (pointer_declarator "*piStack_134" * identifier) ;) (declaration "word *pwStack_130;" type_identifier (pointer_declarator "*pwStack_130" * identifier) ;) (declaration "int *piStack_12c;" primitive_type (pointer_declarator "*piStack_12c" * identifier) ;) (declaration "byte *pbStack_124;" type_identifier (pointer_declarator "*pbStack_124" * identifier) ;) (declaration "byte *pbStack_120;" type_identifier (pointer_declarator "*pbStack_120" * identifier) ;) (declaration "undefined4 uStack_11c;" type_identifier identifier ;) (declaration "undefined4 uStack_118;" type_identifier identifier ;) (declaration "undefined4 uStack_114;" type_identifier identifier ;) (declaration "undefined4 uStack_110;" type_identifier identifier ;) (declaration "undefined4 uStack_10c;" type_identifier identifier ;) (declaration "undefined4 uStack_108;" type_identifier identifier ;) (declaration "undefined4 *puStack_104;" type_identifier (pointer_declarator "*puStack_104" * identifier) ;) (declaration "word *pwStack_100;" type_identifier (pointer_declarator "*pwStack_100" * identifier) ;) (declaration "byte *pbStack_fc;" type_identifier (pointer_declarator "*pbStack_fc" * identifier) ;) (declaration "word *pwStack_f8;" type_identifier (pointer_declarator "*pwStack_f8" * identifier) ;) (declaration "word *local_bc;" type_identifier (pointer_declarator "*local_bc" * identifier) ;) (declaration "word awStack_b8 [12];" type_identifier (array_declarator "awStack_b8 [12]" identifier [ number_literal ]) ;) (declaration "uint local_a0;" type_identifier identifier ;) (declaration "undefined1 local_18 [4];" type_identifier (array_declarator "local_18 [4]" identifier [ number_literal ]) ;) (declaration "int *local_14;" primitive_type (pointer_declarator "*local_14" * identifier) ;) (expression_statement "local_14 = *(int **)PTR___stack_chk_guard_0015858c;" (assignment_expression "local_14 = *(int **)PTR___stack_chk_guard_0015858c" identifier = (pointer_expression "*(int **)PTR___stack_chk_guard_0015858c" * (cast_expression "(int **)PTR___stack_chk_guard_0015858c" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (if_statement "if (param_3 != 0) {\n    if (*(int *)PTR_rl_point_001575f0 == 0) {\n      param_3 = 0;\n    }\n    else if (*(int *)PTR_rl_completion_suppress_quote_00157618 == 0) {\n      if (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + *(int *)PTR_rl_point_001575f0 + -1) ==\n          param_3) {\n        param_3 = 0;\n      }\n      else {\n        local_18[0] = (undefined1)param_3;\n        param_3 = 1;\n      }\n    }\n    else {\n      param_3 = 0;\n    }\n  }" if (parenthesized_expression "(param_3 != 0)" ( (binary_expression "param_3 != 0" identifier != number_literal) )) (compound_statement "{\n    if (*(int *)PTR_rl_point_001575f0 == 0) {\n      param_3 = 0;\n    }\n    else if (*(int *)PTR_rl_completion_suppress_quote_00157618 == 0) {\n      if (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + *(int *)PTR_rl_point_001575f0 + -1) ==\n          param_3) {\n        param_3 = 0;\n      }\n      else {\n        local_18[0] = (undefined1)param_3;\n        param_3 = 1;\n      }\n    }\n    else {\n      param_3 = 0;\n    }\n  }" { (if_statement "if (*(int *)PTR_rl_point_001575f0 == 0) {\n      param_3 = 0;\n    }\n    else if (*(int *)PTR_rl_completion_suppress_quote_00157618 == 0) {\n      if (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + *(int *)PTR_rl_point_001575f0 + -1) ==\n          param_3) {\n        param_3 = 0;\n      }\n      else {\n        local_18[0] = (undefined1)param_3;\n        param_3 = 1;\n      }\n    }\n    else {\n      param_3 = 0;\n    }" if (parenthesized_expression "(*(int *)PTR_rl_point_001575f0 == 0)" ( (binary_expression "*(int *)PTR_rl_point_001575f0 == 0" (pointer_expression "*(int *)PTR_rl_point_001575f0" * (cast_expression "(int *)PTR_rl_point_001575f0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal) )) (compound_statement "{\n      param_3 = 0;\n    }" { (expression_statement "param_3 = 0;" (assignment_expression "param_3 = 0" identifier = number_literal) ;) }) (else_clause "else if (*(int *)PTR_rl_completion_suppress_quote_00157618 == 0) {\n      if (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + *(int *)PTR_rl_point_001575f0 + -1) ==\n          param_3) {\n        param_3 = 0;\n      }\n      else {\n        local_18[0] = (undefined1)param_3;\n        param_3 = 1;\n      }\n    }\n    else {\n      param_3 = 0;\n    }" else (if_statement "if (*(int *)PTR_rl_completion_suppress_quote_00157618 == 0) {\n      if (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + *(int *)PTR_rl_point_001575f0 + -1) ==\n          param_3) {\n        param_3 = 0;\n      }\n      else {\n        local_18[0] = (undefined1)param_3;\n        param_3 = 1;\n      }\n    }\n    else {\n      param_3 = 0;\n    }" if (parenthesized_expression "(*(int *)PTR_rl_completion_suppress_quote_00157618 == 0)" ( (binary_expression "*(int *)PTR_rl_completion_suppress_quote_00157618 == 0" (pointer_expression "*(int *)PTR_rl_completion_suppress_quote_00157618" * (cast_expression "(int *)PTR_rl_completion_suppress_quote_00157618" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal) )) (compound_statement "{\n      if (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + *(int *)PTR_rl_point_001575f0 + -1) ==\n          param_3) {\n        param_3 = 0;\n      }\n      else {\n        local_18[0] = (undefined1)param_3;\n        param_3 = 1;\n      }\n    }" { (if_statement "if (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + *(int *)PTR_rl_point_001575f0 + -1) ==\n          param_3) {\n        param_3 = 0;\n      }\n      else {\n        local_18[0] = (undefined1)param_3;\n        param_3 = 1;\n      }" if (parenthesized_expression "(*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + *(int *)PTR_rl_point_001575f0 + -1) ==\n          param_3)" ( (binary_expression "*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + *(int *)PTR_rl_point_001575f0 + -1) ==\n          param_3" (pointer_expression "*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + *(int *)PTR_rl_point_001575f0 + -1)" * (cast_expression "(char *)(*(int *)PTR_rl_line_buffer_001575e8 + *(int *)PTR_rl_point_001575f0 + -1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_rl_line_buffer_001575e8 + *(int *)PTR_rl_point_001575f0 + -1)" ( (binary_expression "*(int *)PTR_rl_line_buffer_001575e8 + *(int *)PTR_rl_point_001575f0 + -1" (binary_expression "*(int *)PTR_rl_line_buffer_001575e8 + *(int *)PTR_rl_point_001575f0" (pointer_expression "*(int *)PTR_rl_line_buffer_001575e8" * (cast_expression "(int *)PTR_rl_line_buffer_001575e8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + (pointer_expression "*(int *)PTR_rl_point_001575f0" * (cast_expression "(int *)PTR_rl_point_001575f0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) + number_literal) )))) == identifier) )) (compound_statement "{\n        param_3 = 0;\n      }" { (expression_statement "param_3 = 0;" (assignment_expression "param_3 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        local_18[0] = (undefined1)param_3;\n        param_3 = 1;\n      }" else (compound_statement "{\n        local_18[0] = (undefined1)param_3;\n        param_3 = 1;\n      }" { (expression_statement "local_18[0] = (undefined1)param_3;" (assignment_expression "local_18[0] = (undefined1)param_3" (subscript_expression "local_18[0]" identifier [ number_literal ]) = (cast_expression "(undefined1)param_3" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) (expression_statement "param_3 = 1;" (assignment_expression "param_3 = 1" identifier = number_literal) ;) }))) }) (else_clause "else {\n      param_3 = 0;\n    }" else (compound_statement "{\n      param_3 = 0;\n    }" { (expression_statement "param_3 = 0;" (assignment_expression "param_3 = 0" identifier = number_literal) ;) }))))) })) (if_statement "if (param_2 == (word *)0x0) {\n    pwVar16 = (word *)(param_3 + 1);\n    if ((*(int *)PTR_rl_completion_suppress_append_00157624 == 0) &&\n       (*(int *)PTR_rl_completion_append_character_00157628 != 0)) {\n      local_18[param_3] = (char)*(int *)PTR_rl_completion_append_character_00157628;\n      goto LAB_000fa86c;\n    }\n  }\n  else {\n    local_18[param_3] = (char)param_2;\nLAB_000fa86c:\n    pwVar16 = (word *)(param_3 + 2);\n    param_3 = param_3 + 1;\n  }" if (parenthesized_expression "(param_2 == (word *)0x0)" ( (binary_expression "param_2 == (word *)0x0" identifier == (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pwVar16 = (word *)(param_3 + 1);\n    if ((*(int *)PTR_rl_completion_suppress_append_00157624 == 0) &&\n       (*(int *)PTR_rl_completion_append_character_00157628 != 0)) {\n      local_18[param_3] = (char)*(int *)PTR_rl_completion_append_character_00157628;\n      goto LAB_000fa86c;\n    }\n  }" { (expression_statement "pwVar16 = (word *)(param_3 + 1);" (assignment_expression "pwVar16 = (word *)(param_3 + 1)" identifier = (cast_expression "(word *)(param_3 + 1)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 1)" ( (binary_expression "param_3 + 1" identifier + number_literal) )))) ;) (if_statement "if ((*(int *)PTR_rl_completion_suppress_append_00157624 == 0) &&\n       (*(int *)PTR_rl_completion_append_character_00157628 != 0)) {\n      local_18[param_3] = (char)*(int *)PTR_rl_completion_append_character_00157628;\n      goto LAB_000fa86c;\n    }" if (parenthesized_expression "((*(int *)PTR_rl_completion_suppress_append_00157624 == 0) &&\n       (*(int *)PTR_rl_completion_append_character_00157628 != 0))" ( (binary_expression "(*(int *)PTR_rl_completion_suppress_append_00157624 == 0) &&\n       (*(int *)PTR_rl_completion_append_character_00157628 != 0)" (parenthesized_expression "(*(int *)PTR_rl_completion_suppress_append_00157624 == 0)" ( (binary_expression "*(int *)PTR_rl_completion_suppress_append_00157624 == 0" (pointer_expression "*(int *)PTR_rl_completion_suppress_append_00157624" * (cast_expression "(int *)PTR_rl_completion_suppress_append_00157624" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal) )) && (parenthesized_expression "(*(int *)PTR_rl_completion_append_character_00157628 != 0)" ( (binary_expression "*(int *)PTR_rl_completion_append_character_00157628 != 0" (pointer_expression "*(int *)PTR_rl_completion_append_character_00157628" * (cast_expression "(int *)PTR_rl_completion_append_character_00157628" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) ))) )) (compound_statement "{\n      local_18[param_3] = (char)*(int *)PTR_rl_completion_append_character_00157628;\n      goto LAB_000fa86c;\n    }" { (expression_statement "local_18[param_3] = (char)*(int *)PTR_rl_completion_append_character_00157628;" (assignment_expression "local_18[param_3] = (char)*(int *)PTR_rl_completion_append_character_00157628" (subscript_expression "local_18[param_3]" identifier [ identifier ]) = (cast_expression "(char)*(int *)PTR_rl_completion_append_character_00157628" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(int *)PTR_rl_completion_append_character_00157628" * (cast_expression "(int *)PTR_rl_completion_append_character_00157628" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (goto_statement "goto LAB_000fa86c;" goto statement_identifier ;) })) }) (else_clause "else {\n    local_18[param_3] = (char)param_2;\nLAB_000fa86c:\n    pwVar16 = (word *)(param_3 + 2);\n    param_3 = param_3 + 1;\n  }" else (compound_statement "{\n    local_18[param_3] = (char)param_2;\nLAB_000fa86c:\n    pwVar16 = (word *)(param_3 + 2);\n    param_3 = param_3 + 1;\n  }" { (expression_statement "local_18[param_3] = (char)param_2;" (assignment_expression "local_18[param_3] = (char)param_2" (subscript_expression "local_18[param_3]" identifier [ identifier ]) = (cast_expression "(char)param_2" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (labeled_statement "LAB_000fa86c:\n    pwVar16 = (word *)(param_3 + 2);" statement_identifier : (expression_statement "pwVar16 = (word *)(param_3 + 2);" (assignment_expression "pwVar16 = (word *)(param_3 + 2)" identifier = (cast_expression "(word *)(param_3 + 2)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_3 + 2)" ( (binary_expression "param_3 + 2" identifier + number_literal) )))) ;)) (expression_statement "param_3 = param_3 + 1;" (assignment_expression "param_3 = param_3 + 1" identifier = (binary_expression "param_3 + 1" identifier + number_literal)) ;) }))) (expression_statement "pwVar15 = (word *)(&stack0xfffffff0 + param_3);" (assignment_expression "pwVar15 = (word *)(&stack0xfffffff0 + param_3)" identifier = (cast_expression "(word *)(&stack0xfffffff0 + param_3)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&stack0xfffffff0 + param_3)" ( (binary_expression "&stack0xfffffff0 + param_3" (pointer_expression "&stack0xfffffff0" & identifier) + identifier) )))) ;) (expression_statement "local_18[param_3] = 0;" (assignment_expression "local_18[param_3] = 0" (subscript_expression "local_18[param_3]" identifier [ identifier ]) = number_literal) ;) (if_statement "if (*(int *)PTR_rl_filename_completion_desired_00157634 == 0) {\n    if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {\n      rl_insert_text(local_18);\n    }\n  }\n  else {\n    unaff_s2 = (word *)(*(code *)PTR_tilde_expand_00156b0c)();\n    if (*(int *)PTR_rl_filename_stat_hook_00157754 != 0) {\n      iVar5 = (*(code *)PTR_strlen_00158444)(unaff_s2);\n      uVar7 = (*(code *)PTR_xmalloc_001565b8)(iVar5 + 1);\n      local_bc = (word *)(*(code *)PTR_strcpy_001584cc)(uVar7,unaff_s2);\n      (**(code **)PTR_rl_filename_stat_hook_00157754)(&local_bc);\n      (*(code *)PTR_xfree_00156bb4)(unaff_s2);\n      unaff_s2 = local_bc;\n    }\n    param_2 = unaff_s2;\n    if ((param_4 == (byte *)0x0) ||\n       (pwVar15 = awStack_b8, *(int *)PTR_rl_completion_mark_symlink_dirs_001578a4 != 0)) {\n      pwVar15 = awStack_b8;\n      iVar5 = (*(code *)PTR___xstat64_001582e8)(3);\n    }\n    else {\n      iVar5 = (*(code *)PTR___lxstat64_001582c8)(3);\n    }\n    if (iVar5 == 0) {\n      if ((local_a0 & 0xf000) == 0x4000) {\n        if (*(int *)PTR__rl_complete_mark_directories_00157f80 != 0) {\n          iVar5 = *(int *)PTR_rl_point_001575f0;\n          if ((iVar5 == 0) || (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5) != '\0')) {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5);\n          }\n          else {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5 + -1);\n          }\n          if (cVar1 != '/') {\n            rl_insert_text(PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c);\n          }\n        }\n      }\n      else if (((local_a0 & 0xf000) != 0xa000) || (iVar5 = FUN_000fa188(unaff_s2), iVar5 == 0))\n      goto LAB_000fa9f0;\n    }\n    else {\nLAB_000fa9f0:\n      if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {\n        rl_insert_text(local_18);\n      }\n    }\n    (*(code *)PTR_xfree_00156bb4)(unaff_s2);\n  }" if (parenthesized_expression "(*(int *)PTR_rl_filename_completion_desired_00157634 == 0)" ( (binary_expression "*(int *)PTR_rl_filename_completion_desired_00157634 == 0" (pointer_expression "*(int *)PTR_rl_filename_completion_desired_00157634" * (cast_expression "(int *)PTR_rl_filename_completion_desired_00157634" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal) )) (compound_statement "{\n    if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {\n      rl_insert_text(local_18);\n    }\n  }" { (if_statement "if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {\n      rl_insert_text(local_18);\n    }" if (parenthesized_expression "(*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec)" ( (binary_expression "*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec" (pointer_expression "*(int *)PTR_rl_point_001575f0" * (cast_expression "(int *)PTR_rl_point_001575f0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == (pointer_expression "*(int *)PTR_rl_end_001575ec" * (cast_expression "(int *)PTR_rl_end_001575ec" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n      rl_insert_text(local_18);\n    }" { (expression_statement "rl_insert_text(local_18);" (call_expression "rl_insert_text(local_18)" identifier (argument_list "(local_18)" ( identifier ))) ;) })) }) (else_clause "else {\n    unaff_s2 = (word *)(*(code *)PTR_tilde_expand_00156b0c)();\n    if (*(int *)PTR_rl_filename_stat_hook_00157754 != 0) {\n      iVar5 = (*(code *)PTR_strlen_00158444)(unaff_s2);\n      uVar7 = (*(code *)PTR_xmalloc_001565b8)(iVar5 + 1);\n      local_bc = (word *)(*(code *)PTR_strcpy_001584cc)(uVar7,unaff_s2);\n      (**(code **)PTR_rl_filename_stat_hook_00157754)(&local_bc);\n      (*(code *)PTR_xfree_00156bb4)(unaff_s2);\n      unaff_s2 = local_bc;\n    }\n    param_2 = unaff_s2;\n    if ((param_4 == (byte *)0x0) ||\n       (pwVar15 = awStack_b8, *(int *)PTR_rl_completion_mark_symlink_dirs_001578a4 != 0)) {\n      pwVar15 = awStack_b8;\n      iVar5 = (*(code *)PTR___xstat64_001582e8)(3);\n    }\n    else {\n      iVar5 = (*(code *)PTR___lxstat64_001582c8)(3);\n    }\n    if (iVar5 == 0) {\n      if ((local_a0 & 0xf000) == 0x4000) {\n        if (*(int *)PTR__rl_complete_mark_directories_00157f80 != 0) {\n          iVar5 = *(int *)PTR_rl_point_001575f0;\n          if ((iVar5 == 0) || (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5) != '\0')) {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5);\n          }\n          else {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5 + -1);\n          }\n          if (cVar1 != '/') {\n            rl_insert_text(PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c);\n          }\n        }\n      }\n      else if (((local_a0 & 0xf000) != 0xa000) || (iVar5 = FUN_000fa188(unaff_s2), iVar5 == 0))\n      goto LAB_000fa9f0;\n    }\n    else {\nLAB_000fa9f0:\n      if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {\n        rl_insert_text(local_18);\n      }\n    }\n    (*(code *)PTR_xfree_00156bb4)(unaff_s2);\n  }" else (compound_statement "{\n    unaff_s2 = (word *)(*(code *)PTR_tilde_expand_00156b0c)();\n    if (*(int *)PTR_rl_filename_stat_hook_00157754 != 0) {\n      iVar5 = (*(code *)PTR_strlen_00158444)(unaff_s2);\n      uVar7 = (*(code *)PTR_xmalloc_001565b8)(iVar5 + 1);\n      local_bc = (word *)(*(code *)PTR_strcpy_001584cc)(uVar7,unaff_s2);\n      (**(code **)PTR_rl_filename_stat_hook_00157754)(&local_bc);\n      (*(code *)PTR_xfree_00156bb4)(unaff_s2);\n      unaff_s2 = local_bc;\n    }\n    param_2 = unaff_s2;\n    if ((param_4 == (byte *)0x0) ||\n       (pwVar15 = awStack_b8, *(int *)PTR_rl_completion_mark_symlink_dirs_001578a4 != 0)) {\n      pwVar15 = awStack_b8;\n      iVar5 = (*(code *)PTR___xstat64_001582e8)(3);\n    }\n    else {\n      iVar5 = (*(code *)PTR___lxstat64_001582c8)(3);\n    }\n    if (iVar5 == 0) {\n      if ((local_a0 & 0xf000) == 0x4000) {\n        if (*(int *)PTR__rl_complete_mark_directories_00157f80 != 0) {\n          iVar5 = *(int *)PTR_rl_point_001575f0;\n          if ((iVar5 == 0) || (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5) != '\0')) {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5);\n          }\n          else {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5 + -1);\n          }\n          if (cVar1 != '/') {\n            rl_insert_text(PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c);\n          }\n        }\n      }\n      else if (((local_a0 & 0xf000) != 0xa000) || (iVar5 = FUN_000fa188(unaff_s2), iVar5 == 0))\n      goto LAB_000fa9f0;\n    }\n    else {\nLAB_000fa9f0:\n      if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {\n        rl_insert_text(local_18);\n      }\n    }\n    (*(code *)PTR_xfree_00156bb4)(unaff_s2);\n  }" { (expression_statement "unaff_s2 = (word *)(*(code *)PTR_tilde_expand_00156b0c)();" (assignment_expression "unaff_s2 = (word *)(*(code *)PTR_tilde_expand_00156b0c)()" identifier = (cast_expression "(word *)(*(code *)PTR_tilde_expand_00156b0c)()" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_tilde_expand_00156b0c)()" (parenthesized_expression "(*(code *)PTR_tilde_expand_00156b0c)" ( (pointer_expression "*(code *)PTR_tilde_expand_00156b0c" * (cast_expression "(code *)PTR_tilde_expand_00156b0c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (if_statement "if (*(int *)PTR_rl_filename_stat_hook_00157754 != 0) {\n      iVar5 = (*(code *)PTR_strlen_00158444)(unaff_s2);\n      uVar7 = (*(code *)PTR_xmalloc_001565b8)(iVar5 + 1);\n      local_bc = (word *)(*(code *)PTR_strcpy_001584cc)(uVar7,unaff_s2);\n      (**(code **)PTR_rl_filename_stat_hook_00157754)(&local_bc);\n      (*(code *)PTR_xfree_00156bb4)(unaff_s2);\n      unaff_s2 = local_bc;\n    }" if (parenthesized_expression "(*(int *)PTR_rl_filename_stat_hook_00157754 != 0)" ( (binary_expression "*(int *)PTR_rl_filename_stat_hook_00157754 != 0" (pointer_expression "*(int *)PTR_rl_filename_stat_hook_00157754" * (cast_expression "(int *)PTR_rl_filename_stat_hook_00157754" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) )) (compound_statement "{\n      iVar5 = (*(code *)PTR_strlen_00158444)(unaff_s2);\n      uVar7 = (*(code *)PTR_xmalloc_001565b8)(iVar5 + 1);\n      local_bc = (word *)(*(code *)PTR_strcpy_001584cc)(uVar7,unaff_s2);\n      (**(code **)PTR_rl_filename_stat_hook_00157754)(&local_bc);\n      (*(code *)PTR_xfree_00156bb4)(unaff_s2);\n      unaff_s2 = local_bc;\n    }" { (expression_statement "iVar5 = (*(code *)PTR_strlen_00158444)(unaff_s2);" (assignment_expression "iVar5 = (*(code *)PTR_strlen_00158444)(unaff_s2)" identifier = (call_expression "(*(code *)PTR_strlen_00158444)(unaff_s2)" (parenthesized_expression "(*(code *)PTR_strlen_00158444)" ( (pointer_expression "*(code *)PTR_strlen_00158444" * (cast_expression "(code *)PTR_strlen_00158444" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s2)" ( identifier )))) ;) (expression_statement "uVar7 = (*(code *)PTR_xmalloc_001565b8)(iVar5 + 1);" (assignment_expression "uVar7 = (*(code *)PTR_xmalloc_001565b8)(iVar5 + 1)" identifier = (call_expression "(*(code *)PTR_xmalloc_001565b8)(iVar5 + 1)" (parenthesized_expression "(*(code *)PTR_xmalloc_001565b8)" ( (pointer_expression "*(code *)PTR_xmalloc_001565b8" * (cast_expression "(code *)PTR_xmalloc_001565b8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar5 + 1)" ( (binary_expression "iVar5 + 1" identifier + number_literal) )))) ;) (expression_statement "local_bc = (word *)(*(code *)PTR_strcpy_001584cc)(uVar7,unaff_s2);" (assignment_expression "local_bc = (word *)(*(code *)PTR_strcpy_001584cc)(uVar7,unaff_s2)" identifier = (cast_expression "(word *)(*(code *)PTR_strcpy_001584cc)(uVar7,unaff_s2)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_strcpy_001584cc)(uVar7,unaff_s2)" (parenthesized_expression "(*(code *)PTR_strcpy_001584cc)" ( (pointer_expression "*(code *)PTR_strcpy_001584cc" * (cast_expression "(code *)PTR_strcpy_001584cc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar7,unaff_s2)" ( identifier , identifier ))))) ;) (expression_statement "(**(code **)PTR_rl_filename_stat_hook_00157754)(&local_bc);" (call_expression "(**(code **)PTR_rl_filename_stat_hook_00157754)(&local_bc)" (parenthesized_expression "(**(code **)PTR_rl_filename_stat_hook_00157754)" ( (pointer_expression "**(code **)PTR_rl_filename_stat_hook_00157754" * (pointer_expression "*(code **)PTR_rl_filename_stat_hook_00157754" * (cast_expression "(code **)PTR_rl_filename_stat_hook_00157754" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (argument_list "(&local_bc)" ( (pointer_expression "&local_bc" & identifier) ))) ;) (expression_statement "(*(code *)PTR_xfree_00156bb4)(unaff_s2);" (call_expression "(*(code *)PTR_xfree_00156bb4)(unaff_s2)" (parenthesized_expression "(*(code *)PTR_xfree_00156bb4)" ( (pointer_expression "*(code *)PTR_xfree_00156bb4" * (cast_expression "(code *)PTR_xfree_00156bb4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s2)" ( identifier ))) ;) (expression_statement "unaff_s2 = local_bc;" (assignment_expression "unaff_s2 = local_bc" identifier = identifier) ;) })) (expression_statement "param_2 = unaff_s2;" (assignment_expression "param_2 = unaff_s2" identifier = identifier) ;) (if_statement "if ((param_4 == (byte *)0x0) ||\n       (pwVar15 = awStack_b8, *(int *)PTR_rl_completion_mark_symlink_dirs_001578a4 != 0)) {\n      pwVar15 = awStack_b8;\n      iVar5 = (*(code *)PTR___xstat64_001582e8)(3);\n    }\n    else {\n      iVar5 = (*(code *)PTR___lxstat64_001582c8)(3);\n    }" if (parenthesized_expression "((param_4 == (byte *)0x0) ||\n       (pwVar15 = awStack_b8, *(int *)PTR_rl_completion_mark_symlink_dirs_001578a4 != 0))" ( (binary_expression "(param_4 == (byte *)0x0) ||\n       (pwVar15 = awStack_b8, *(int *)PTR_rl_completion_mark_symlink_dirs_001578a4 != 0)" (parenthesized_expression "(param_4 == (byte *)0x0)" ( (binary_expression "param_4 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(pwVar15 = awStack_b8, *(int *)PTR_rl_completion_mark_symlink_dirs_001578a4 != 0)" ( (comma_expression "pwVar15 = awStack_b8, *(int *)PTR_rl_completion_mark_symlink_dirs_001578a4 != 0" (assignment_expression "pwVar15 = awStack_b8" identifier = identifier) , (binary_expression "*(int *)PTR_rl_completion_mark_symlink_dirs_001578a4 != 0" (pointer_expression "*(int *)PTR_rl_completion_mark_symlink_dirs_001578a4" * (cast_expression "(int *)PTR_rl_completion_mark_symlink_dirs_001578a4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal)) ))) )) (compound_statement "{\n      pwVar15 = awStack_b8;\n      iVar5 = (*(code *)PTR___xstat64_001582e8)(3);\n    }" { (expression_statement "pwVar15 = awStack_b8;" (assignment_expression "pwVar15 = awStack_b8" identifier = identifier) ;) (expression_statement "iVar5 = (*(code *)PTR___xstat64_001582e8)(3);" (assignment_expression "iVar5 = (*(code *)PTR___xstat64_001582e8)(3)" identifier = (call_expression "(*(code *)PTR___xstat64_001582e8)(3)" (parenthesized_expression "(*(code *)PTR___xstat64_001582e8)" ( (pointer_expression "*(code *)PTR___xstat64_001582e8" * (cast_expression "(code *)PTR___xstat64_001582e8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(3)" ( number_literal )))) ;) }) (else_clause "else {\n      iVar5 = (*(code *)PTR___lxstat64_001582c8)(3);\n    }" else (compound_statement "{\n      iVar5 = (*(code *)PTR___lxstat64_001582c8)(3);\n    }" { (expression_statement "iVar5 = (*(code *)PTR___lxstat64_001582c8)(3);" (assignment_expression "iVar5 = (*(code *)PTR___lxstat64_001582c8)(3)" identifier = (call_expression "(*(code *)PTR___lxstat64_001582c8)(3)" (parenthesized_expression "(*(code *)PTR___lxstat64_001582c8)" ( (pointer_expression "*(code *)PTR___lxstat64_001582c8" * (cast_expression "(code *)PTR___lxstat64_001582c8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(3)" ( number_literal )))) ;) }))) (if_statement "if (iVar5 == 0) {\n      if ((local_a0 & 0xf000) == 0x4000) {\n        if (*(int *)PTR__rl_complete_mark_directories_00157f80 != 0) {\n          iVar5 = *(int *)PTR_rl_point_001575f0;\n          if ((iVar5 == 0) || (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5) != '\0')) {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5);\n          }\n          else {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5 + -1);\n          }\n          if (cVar1 != '/') {\n            rl_insert_text(PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c);\n          }\n        }\n      }\n      else if (((local_a0 & 0xf000) != 0xa000) || (iVar5 = FUN_000fa188(unaff_s2), iVar5 == 0))\n      goto LAB_000fa9f0;\n    }\n    else {\nLAB_000fa9f0:\n      if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {\n        rl_insert_text(local_18);\n      }\n    }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n      if ((local_a0 & 0xf000) == 0x4000) {\n        if (*(int *)PTR__rl_complete_mark_directories_00157f80 != 0) {\n          iVar5 = *(int *)PTR_rl_point_001575f0;\n          if ((iVar5 == 0) || (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5) != '\0')) {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5);\n          }\n          else {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5 + -1);\n          }\n          if (cVar1 != '/') {\n            rl_insert_text(PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c);\n          }\n        }\n      }\n      else if (((local_a0 & 0xf000) != 0xa000) || (iVar5 = FUN_000fa188(unaff_s2), iVar5 == 0))\n      goto LAB_000fa9f0;\n    }" { (if_statement "if ((local_a0 & 0xf000) == 0x4000) {\n        if (*(int *)PTR__rl_complete_mark_directories_00157f80 != 0) {\n          iVar5 = *(int *)PTR_rl_point_001575f0;\n          if ((iVar5 == 0) || (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5) != '\0')) {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5);\n          }\n          else {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5 + -1);\n          }\n          if (cVar1 != '/') {\n            rl_insert_text(PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c);\n          }\n        }\n      }\n      else if (((local_a0 & 0xf000) != 0xa000) || (iVar5 = FUN_000fa188(unaff_s2), iVar5 == 0))\n      goto LAB_000fa9f0;" if (parenthesized_expression "((local_a0 & 0xf000) == 0x4000)" ( (binary_expression "(local_a0 & 0xf000) == 0x4000" (parenthesized_expression "(local_a0 & 0xf000)" ( (binary_expression "local_a0 & 0xf000" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        if (*(int *)PTR__rl_complete_mark_directories_00157f80 != 0) {\n          iVar5 = *(int *)PTR_rl_point_001575f0;\n          if ((iVar5 == 0) || (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5) != '\0')) {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5);\n          }\n          else {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5 + -1);\n          }\n          if (cVar1 != '/') {\n            rl_insert_text(PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c);\n          }\n        }\n      }" { (if_statement "if (*(int *)PTR__rl_complete_mark_directories_00157f80 != 0) {\n          iVar5 = *(int *)PTR_rl_point_001575f0;\n          if ((iVar5 == 0) || (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5) != '\0')) {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5);\n          }\n          else {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5 + -1);\n          }\n          if (cVar1 != '/') {\n            rl_insert_text(PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c);\n          }\n        }" if (parenthesized_expression "(*(int *)PTR__rl_complete_mark_directories_00157f80 != 0)" ( (binary_expression "*(int *)PTR__rl_complete_mark_directories_00157f80 != 0" (pointer_expression "*(int *)PTR__rl_complete_mark_directories_00157f80" * (cast_expression "(int *)PTR__rl_complete_mark_directories_00157f80" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) )) (compound_statement "{\n          iVar5 = *(int *)PTR_rl_point_001575f0;\n          if ((iVar5 == 0) || (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5) != '\0')) {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5);\n          }\n          else {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5 + -1);\n          }\n          if (cVar1 != '/') {\n            rl_insert_text(PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c);\n          }\n        }" { (expression_statement "iVar5 = *(int *)PTR_rl_point_001575f0;" (assignment_expression "iVar5 = *(int *)PTR_rl_point_001575f0" identifier = (pointer_expression "*(int *)PTR_rl_point_001575f0" * (cast_expression "(int *)PTR_rl_point_001575f0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if ((iVar5 == 0) || (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5) != '\0')) {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5);\n          }\n          else {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5 + -1);\n          }" if (parenthesized_expression "((iVar5 == 0) || (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5) != '\0'))" ( (binary_expression "(iVar5 == 0) || (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5) != '\0')" (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) || (parenthesized_expression "(*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5) != '\0')" ( (binary_expression "*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5) != '\0'" (pointer_expression "*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5)" * (cast_expression "(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_rl_line_buffer_001575e8 + iVar5)" ( (binary_expression "*(int *)PTR_rl_line_buffer_001575e8 + iVar5" (pointer_expression "*(int *)PTR_rl_line_buffer_001575e8" * (cast_expression "(int *)PTR_rl_line_buffer_001575e8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + identifier) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5);\n          }" { (expression_statement "cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5);" (assignment_expression "cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5)" identifier = (pointer_expression "*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5)" * (cast_expression "(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_rl_line_buffer_001575e8 + iVar5)" ( (binary_expression "*(int *)PTR_rl_line_buffer_001575e8 + iVar5" (pointer_expression "*(int *)PTR_rl_line_buffer_001575e8" * (cast_expression "(int *)PTR_rl_line_buffer_001575e8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + identifier) ))))) ;) }) (else_clause "else {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5 + -1);\n          }" else (compound_statement "{\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5 + -1);\n          }" { (expression_statement "cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5 + -1);" (assignment_expression "cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5 + -1)" identifier = (pointer_expression "*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5 + -1)" * (cast_expression "(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5 + -1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_rl_line_buffer_001575e8 + iVar5 + -1)" ( (binary_expression "*(int *)PTR_rl_line_buffer_001575e8 + iVar5 + -1" (binary_expression "*(int *)PTR_rl_line_buffer_001575e8 + iVar5" (pointer_expression "*(int *)PTR_rl_line_buffer_001575e8" * (cast_expression "(int *)PTR_rl_line_buffer_001575e8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + identifier) + number_literal) ))))) ;) }))) (if_statement "if (cVar1 != '/') {\n            rl_insert_text(PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c);\n          }" if (parenthesized_expression "(cVar1 != '/')" ( (binary_expression "cVar1 != '/'" identifier != (char_literal "'/'" ' character ')) )) (compound_statement "{\n            rl_insert_text(PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c);\n          }" { (expression_statement "rl_insert_text(PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c);" (call_expression "rl_insert_text(PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c)" identifier (argument_list "(PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c)" ( (binary_expression "PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c" identifier + number_literal) ))) ;) })) })) }) (else_clause "else if (((local_a0 & 0xf000) != 0xa000) || (iVar5 = FUN_000fa188(unaff_s2), iVar5 == 0))\n      goto LAB_000fa9f0;" else (if_statement "if (((local_a0 & 0xf000) != 0xa000) || (iVar5 = FUN_000fa188(unaff_s2), iVar5 == 0))\n      goto LAB_000fa9f0;" if (parenthesized_expression "(((local_a0 & 0xf000) != 0xa000) || (iVar5 = FUN_000fa188(unaff_s2), iVar5 == 0))" ( (binary_expression "((local_a0 & 0xf000) != 0xa000) || (iVar5 = FUN_000fa188(unaff_s2), iVar5 == 0)" (parenthesized_expression "((local_a0 & 0xf000) != 0xa000)" ( (binary_expression "(local_a0 & 0xf000) != 0xa000" (parenthesized_expression "(local_a0 & 0xf000)" ( (binary_expression "local_a0 & 0xf000" identifier & number_literal) )) != number_literal) )) || (parenthesized_expression "(iVar5 = FUN_000fa188(unaff_s2), iVar5 == 0)" ( (comma_expression "iVar5 = FUN_000fa188(unaff_s2), iVar5 == 0" (assignment_expression "iVar5 = FUN_000fa188(unaff_s2)" identifier = (call_expression "FUN_000fa188(unaff_s2)" identifier (argument_list "(unaff_s2)" ( identifier )))) , (binary_expression "iVar5 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_000fa9f0;" goto statement_identifier ;)))) }) (else_clause "else {\nLAB_000fa9f0:\n      if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {\n        rl_insert_text(local_18);\n      }\n    }" else (compound_statement "{\nLAB_000fa9f0:\n      if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {\n        rl_insert_text(local_18);\n      }\n    }" { (labeled_statement "LAB_000fa9f0:\n      if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {\n        rl_insert_text(local_18);\n      }" statement_identifier : (if_statement "if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {\n        rl_insert_text(local_18);\n      }" if (parenthesized_expression "(*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec)" ( (binary_expression "*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec" (pointer_expression "*(int *)PTR_rl_point_001575f0" * (cast_expression "(int *)PTR_rl_point_001575f0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == (pointer_expression "*(int *)PTR_rl_end_001575ec" * (cast_expression "(int *)PTR_rl_end_001575ec" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n        rl_insert_text(local_18);\n      }" { (expression_statement "rl_insert_text(local_18);" (call_expression "rl_insert_text(local_18)" identifier (argument_list "(local_18)" ( identifier ))) ;) }))) }))) (expression_statement "(*(code *)PTR_xfree_00156bb4)(unaff_s2);" (call_expression "(*(code *)PTR_xfree_00156bb4)(unaff_s2)" (parenthesized_expression "(*(code *)PTR_xfree_00156bb4)" ( (pointer_expression "*(code *)PTR_xfree_00156bb4" * (cast_expression "(code *)PTR_xfree_00156bb4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(unaff_s2)" ( identifier ))) ;) }))) (if_statement "if (local_14 == *(int **)PTR___stack_chk_guard_0015858c) {\n    return pwVar16;\n  }" if (parenthesized_expression "(local_14 == *(int **)PTR___stack_chk_guard_0015858c)" ( (binary_expression "local_14 == *(int **)PTR___stack_chk_guard_0015858c" identifier == (pointer_expression "*(int **)PTR___stack_chk_guard_0015858c" * (cast_expression "(int **)PTR___stack_chk_guard_0015858c" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n    return pwVar16;\n  }" { (return_statement "return pwVar16;" return identifier ;) })) (expression_statement "piVar9 = local_14;" (assignment_expression "piVar9 = local_14" identifier = identifier) ;) (expression_statement "puVar22 = PTR___stack_chk_fail_0015853c;" (assignment_expression "puVar22 = PTR___stack_chk_fail_0015853c" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_0015853c)();" (call_expression "(*(code *)PTR___stack_chk_fail_0015853c)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0015853c)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_0015853c" * (cast_expression "(code *)PTR___stack_chk_fail_0015853c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "puStack_158 = puVar22 + 0x63a10;" (assignment_expression "puStack_158 = puVar22 + 0x63a10" identifier = (binary_expression "puVar22 + 0x63a10" identifier + number_literal)) ;) (expression_statement "puStack_104 = (undefined4 *)**(undefined4 **)(puVar22 + 0x5da5c);" (assignment_expression "puStack_104 = (undefined4 *)**(undefined4 **)(puVar22 + 0x5da5c)" identifier = (cast_expression "(undefined4 *)**(undefined4 **)(puVar22 + 0x5da5c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(puVar22 + 0x5da5c)" * (pointer_expression "*(undefined4 **)(puVar22 + 0x5da5c)" * (cast_expression "(undefined4 **)(puVar22 + 0x5da5c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + 0x5da5c)" ( (binary_expression "puVar22 + 0x5da5c" identifier + number_literal) ))))))) ;) (expression_statement "pwVar14 = param_2;" (assignment_expression "pwVar14 = param_2" identifier = identifier) ;) (expression_statement "pwStack_130 = pwVar15;" (assignment_expression "pwStack_130 = pwVar15" identifier = identifier) ;) (expression_statement "piStack_12c = piVar9;" (assignment_expression "piStack_12c = piVar9" identifier = identifier) ;) (expression_statement "pwStack_100 = pwVar16;" (assignment_expression "pwStack_100 = pwVar16" identifier = identifier) ;) (expression_statement "pbStack_fc = param_4;" (assignment_expression "pbStack_fc = param_4" identifier = identifier) ;) (expression_statement "pwStack_f8 = unaff_s2;" (assignment_expression "pwStack_f8 = unaff_s2" identifier = identifier) ;) (if_statement "if (param_2 == (word *)0x1) {\n    *piVar9 = piVar9[1];\n    piVar9[1] = 0;\n    pwStack_13c = param_2;\n  }\n  else {\n    if ((int)param_2 < 2) {\n      pwStack_140 = (word *)&__DT_SYMTAB[0x3d1].st_info;\n    }\n    else {\n      pwVar18 = (word *)(piVar9 + 1);\n      pwStack_140 = (word *)&__DT_SYMTAB[0x3d1].st_info;\n      pwStack_13c = (word *)0x1;\n      unaff_s3 = *(word **)(puVar22 + 0x5d2e8);\n      piStack_134 = *(int **)(puVar22 + 0x5d454);\n      unaff_s8 = &pbStack_124;\n      do {\n        uVar4 = (**(code **)(puStack_158 + -0x6060))();\n        if ((1 < uVar4) && (*(int *)unaff_s3 == 0)) {\n          uStack_11c = 0;\n          uStack_118 = 0;\n          uStack_114 = 0;\n          uStack_110 = 0;\n        }\n        if (*piStack_134 == 0) {\n          param_4 = (byte *)(int)**(char **)pwVar18;\n          unaff_s5 = pwVar18;\n          if (param_4 == (byte *)0x0) {\n            pwVar16 = (word *)0x0;\n            goto LAB_000fac1c;\n          }\n          pwVar16 = (word *)(int)**(char **)(pwVar18 + 2);\n          pwStack_14c = (word *)0x0;\n          unaff_s4 = pwVar16;\n          if (pwVar16 == (word *)0x0) goto LAB_000fac1c;\n          unaff_s6 = (word *)&uStack_11c;\n          pwStack_148 = (word *)&uStack_114;\n          unaff_s7 = (word *)&uStack_10c;\n          do {\n            pwVar16 = pwStack_14c;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\n              if ((word *)param_4 != unaff_s4) goto LAB_000fac1c;\n            }\n            else {\n              uStack_10c = uStack_11c;\n              uStack_108 = uStack_118;\n              pwStack_15c = pwStack_148;\n              pwVar15 = unaff_s6;\n              pwStack_160 = pwVar16;\n              iVar5 = (**(code **)(puStack_158 + -0x65b8))\n                                (*(undefined4 *)pwVar18,pwVar16,unaff_s6,\n                                 *(undefined4 *)(pwVar18 + 2));\n              pwVar14 = unaff_s7;\n              if (iVar5 == 0) goto LAB_000fac1c;\n              iVar5 = (**(code **)(puStack_158 + -0x65b4))\n                                ((byte *)((int)pwStack_14c + *(int *)pwVar18));\n              if (1 < iVar5) {\n                pwVar16 = (word *)((int)pwVar16 + iVar5 + -1);\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_14c = pwVar16;\n            if (param_4 == (byte *)0x0) goto LAB_000fac1c;\n            unaff_s4 = (word *)(int)(char)*(byte *)((int)pwVar16 + *(int *)(pwVar18 + 2));\n            bVar3 = (int)pwVar16 < (int)pwStack_140;\n          } while (unaff_s4 != (word *)0x0);\n        }\n        else {\n          pwVar16 = (word *)0x0;\n          unaff_s7 = (word *)&uStack_11c;\n          unaff_s6 = (word *)&uStack_114;\n          while( true ) {\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_148 = pwVar16;\n            pwStack_144 = pwVar18;\n            if (unaff_s4 == (word *)param_4) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))();\n              if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n                param_4 = *(byte **)unaff_s4;\n              }\n            }\n            unaff_s5 = (word *)&pbStack_120;\n            if (param_4 == (byte *)0x0) break;\n            pwStack_14c = (word *)(int)(char)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))\n            ;\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n            if ((unaff_s4 == pwStack_14c) &&\n               (piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0)) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n              unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n              pwStack_14c = *(word **)unaff_s4;\n            }\n            if (pwStack_14c == (word *)0x0) break;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\njoined_r0x000facac:\n              if ((word *)param_4 != pwStack_14c) break;\n            }\n            else {\n              pbVar24 = (byte *)((int)pwStack_148 + *(int *)pwStack_144);\n              uVar7 = (**(code **)(puStack_158 + -0x60fc))(pbVar24);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,pbVar24,uVar7,unaff_s7);\n              unaff_s4 = (word *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n              pwVar15 = (word *)(**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              pwVar14 = unaff_s4;\n              iVar5 = (**(code **)(puStack_158 + -0x6084))(&pbStack_120,unaff_s4,pwVar15,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar5 + 2U < 2)) goto joined_r0x000facac;\n              param_4 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_124);\n              pbStack_124 = param_4;\n              pbStack_120 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_120);\n              if (param_4 != pbStack_120) break;\n              if (1 < uStack_138) {\n                pwVar16 = (word *)((int)pwStack_148 + (uStack_138 - 1));\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\nLAB_000fac1c:\n          bVar3 = (int)pwVar16 < (int)pwStack_140;\n        }\n        pwVar6 = pwStack_130;\n        if (bVar3) {\n          pwStack_140 = pwVar16;\n        }\n        pwStack_13c = (word *)((int)pwStack_13c + 1);\n        pwVar18 = pwVar18 + 2;\n      } while (param_2 != pwStack_13c);\n      unaff_s2 = pwVar18;\n      if (((pwStack_140 == (word *)0x0) && (pwStack_130 != (word *)0x0)) &&\n         (pwVar16 = pwStack_130, *(byte *)pwStack_130 != 0)) {\n        iVar5 = (**(code **)(puStack_158 + -0x60fc))(pwStack_130);\n        iVar5 = (**(code **)(puStack_158 + -0x7f88))(iVar5 + 1);\n        *piStack_12c = iVar5;\n        pwVar14 = pwVar6;\n        (**(code **)(puStack_158 + -0x6074))(iVar5);\n        pwVar16 = pwVar6;\n        goto LAB_000fb1f0;\n      }\n    }\n    iVar5 = (**(code **)(puStack_158 + -0x7f88))((byte *)((int)pwStack_140 + 1));\n    *piStack_12c = iVar5;\n    if (**(int **)(puStack_158 + -0x65bc) == 0) {\n      pwVar14 = (word *)piStack_12c[1];\n      pwVar15 = pwStack_140;\n      (**(code **)(puStack_158 + -0x615c))(iVar5);\n    }\n    else {\n      unaff_s3 = (word *)0x0;\n      if (**(int **)(puStack_158 + -0x6f0c) != 0) {\n        if ((code *)**(undefined4 **)(puStack_158 + -0x6de4) == (code *)0x0) {\n          unaff_s3 = (word *)0x0;\n        }\n        else if ((**(int **)(puStack_158 + -0x6f38) != 0) &&\n                (**(int **)(puStack_158 + -0x702c) != 0)) {\n          pwVar14 = (word *)**(undefined4 **)(puStack_158 + -0x6f34);\n          unaff_s3 = (word *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(pwStack_130);\n          pwStack_130 = unaff_s3;\n        }\n      }\n      if (**(int **)(puStack_158 + -0x6f10) != 0) {\n        pwVar14 = param_2;\n        (**(code **)(puStack_158 + -0x6218))\n                  (piStack_12c + 1,param_2,4,*(undefined4 *)(puStack_158 + -0x6660));\n      }\n      pwVar16 = (word *)(**(code **)(puStack_158 + -0x60fc))(pwStack_130);\n      unaff_s4 = pwStack_140;\n      if ((int)pwVar16 <= (int)pwStack_140) {\n        unaff_s4 = pwVar16;\n      }\n      if ((int)param_2 < 1) {\n        pwVar16 = (word *)0x1;\nLAB_000fb1a8:\n        pwVar16 = (word *)(uint)((int)param_2 < (int)pwVar16);\n        pwVar15 = pwStack_140;\n        if (pwVar16 != (word *)0x0) goto LAB_000fb12c;\n      }\n      else {\n        param_4 = (byte *)(piStack_12c + 1);\n        pwVar16 = (word *)0x1;\n        do {\n          unaff_s2 = *(word **)param_4;\n          iVar5 = (**(code **)(puStack_158 + -0x6238))(unaff_s2,pwStack_130,unaff_s4);\n          if (iVar5 == 0) {\n            pwVar14 = unaff_s2;\n            (**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,pwStack_140);\n            goto LAB_000fb1a8;\n          }\n          pwVar16 = (word *)((int)pwVar16 + 1);\n          param_4 = param_4 + 4;\n        } while ((int)pwVar16 <= (int)param_2);\nLAB_000fb12c:\n        pwVar14 = (word *)piStack_12c[1];\n        pwVar15 = pwStack_140;\n        (**(code **)(puStack_158 + -0x615c))(*piStack_12c);\n      }\n      if (unaff_s3 != (word *)0x0) {\n        (**(code **)(puStack_158 + -0x5f94))(unaff_s3);\n      }\n    }\n    *(byte *)((int)pwStack_140 + *piStack_12c) = 0;\n    pwStack_13c = param_2;\n  }" if (parenthesized_expression "(param_2 == (word *)0x1)" ( (binary_expression "param_2 == (word *)0x1" identifier == (cast_expression "(word *)0x1" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    *piVar9 = piVar9[1];\n    piVar9[1] = 0;\n    pwStack_13c = param_2;\n  }" { (expression_statement "*piVar9 = piVar9[1];" (assignment_expression "*piVar9 = piVar9[1]" (pointer_expression "*piVar9" * identifier) = (subscript_expression "piVar9[1]" identifier [ number_literal ])) ;) (expression_statement "piVar9[1] = 0;" (assignment_expression "piVar9[1] = 0" (subscript_expression "piVar9[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pwStack_13c = param_2;" (assignment_expression "pwStack_13c = param_2" identifier = identifier) ;) }) (else_clause "else {\n    if ((int)param_2 < 2) {\n      pwStack_140 = (word *)&__DT_SYMTAB[0x3d1].st_info;\n    }\n    else {\n      pwVar18 = (word *)(piVar9 + 1);\n      pwStack_140 = (word *)&__DT_SYMTAB[0x3d1].st_info;\n      pwStack_13c = (word *)0x1;\n      unaff_s3 = *(word **)(puVar22 + 0x5d2e8);\n      piStack_134 = *(int **)(puVar22 + 0x5d454);\n      unaff_s8 = &pbStack_124;\n      do {\n        uVar4 = (**(code **)(puStack_158 + -0x6060))();\n        if ((1 < uVar4) && (*(int *)unaff_s3 == 0)) {\n          uStack_11c = 0;\n          uStack_118 = 0;\n          uStack_114 = 0;\n          uStack_110 = 0;\n        }\n        if (*piStack_134 == 0) {\n          param_4 = (byte *)(int)**(char **)pwVar18;\n          unaff_s5 = pwVar18;\n          if (param_4 == (byte *)0x0) {\n            pwVar16 = (word *)0x0;\n            goto LAB_000fac1c;\n          }\n          pwVar16 = (word *)(int)**(char **)(pwVar18 + 2);\n          pwStack_14c = (word *)0x0;\n          unaff_s4 = pwVar16;\n          if (pwVar16 == (word *)0x0) goto LAB_000fac1c;\n          unaff_s6 = (word *)&uStack_11c;\n          pwStack_148 = (word *)&uStack_114;\n          unaff_s7 = (word *)&uStack_10c;\n          do {\n            pwVar16 = pwStack_14c;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\n              if ((word *)param_4 != unaff_s4) goto LAB_000fac1c;\n            }\n            else {\n              uStack_10c = uStack_11c;\n              uStack_108 = uStack_118;\n              pwStack_15c = pwStack_148;\n              pwVar15 = unaff_s6;\n              pwStack_160 = pwVar16;\n              iVar5 = (**(code **)(puStack_158 + -0x65b8))\n                                (*(undefined4 *)pwVar18,pwVar16,unaff_s6,\n                                 *(undefined4 *)(pwVar18 + 2));\n              pwVar14 = unaff_s7;\n              if (iVar5 == 0) goto LAB_000fac1c;\n              iVar5 = (**(code **)(puStack_158 + -0x65b4))\n                                ((byte *)((int)pwStack_14c + *(int *)pwVar18));\n              if (1 < iVar5) {\n                pwVar16 = (word *)((int)pwVar16 + iVar5 + -1);\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_14c = pwVar16;\n            if (param_4 == (byte *)0x0) goto LAB_000fac1c;\n            unaff_s4 = (word *)(int)(char)*(byte *)((int)pwVar16 + *(int *)(pwVar18 + 2));\n            bVar3 = (int)pwVar16 < (int)pwStack_140;\n          } while (unaff_s4 != (word *)0x0);\n        }\n        else {\n          pwVar16 = (word *)0x0;\n          unaff_s7 = (word *)&uStack_11c;\n          unaff_s6 = (word *)&uStack_114;\n          while( true ) {\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_148 = pwVar16;\n            pwStack_144 = pwVar18;\n            if (unaff_s4 == (word *)param_4) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))();\n              if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n                param_4 = *(byte **)unaff_s4;\n              }\n            }\n            unaff_s5 = (word *)&pbStack_120;\n            if (param_4 == (byte *)0x0) break;\n            pwStack_14c = (word *)(int)(char)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))\n            ;\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n            if ((unaff_s4 == pwStack_14c) &&\n               (piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0)) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n              unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n              pwStack_14c = *(word **)unaff_s4;\n            }\n            if (pwStack_14c == (word *)0x0) break;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\njoined_r0x000facac:\n              if ((word *)param_4 != pwStack_14c) break;\n            }\n            else {\n              pbVar24 = (byte *)((int)pwStack_148 + *(int *)pwStack_144);\n              uVar7 = (**(code **)(puStack_158 + -0x60fc))(pbVar24);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,pbVar24,uVar7,unaff_s7);\n              unaff_s4 = (word *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n              pwVar15 = (word *)(**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              pwVar14 = unaff_s4;\n              iVar5 = (**(code **)(puStack_158 + -0x6084))(&pbStack_120,unaff_s4,pwVar15,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar5 + 2U < 2)) goto joined_r0x000facac;\n              param_4 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_124);\n              pbStack_124 = param_4;\n              pbStack_120 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_120);\n              if (param_4 != pbStack_120) break;\n              if (1 < uStack_138) {\n                pwVar16 = (word *)((int)pwStack_148 + (uStack_138 - 1));\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\nLAB_000fac1c:\n          bVar3 = (int)pwVar16 < (int)pwStack_140;\n        }\n        pwVar6 = pwStack_130;\n        if (bVar3) {\n          pwStack_140 = pwVar16;\n        }\n        pwStack_13c = (word *)((int)pwStack_13c + 1);\n        pwVar18 = pwVar18 + 2;\n      } while (param_2 != pwStack_13c);\n      unaff_s2 = pwVar18;\n      if (((pwStack_140 == (word *)0x0) && (pwStack_130 != (word *)0x0)) &&\n         (pwVar16 = pwStack_130, *(byte *)pwStack_130 != 0)) {\n        iVar5 = (**(code **)(puStack_158 + -0x60fc))(pwStack_130);\n        iVar5 = (**(code **)(puStack_158 + -0x7f88))(iVar5 + 1);\n        *piStack_12c = iVar5;\n        pwVar14 = pwVar6;\n        (**(code **)(puStack_158 + -0x6074))(iVar5);\n        pwVar16 = pwVar6;\n        goto LAB_000fb1f0;\n      }\n    }\n    iVar5 = (**(code **)(puStack_158 + -0x7f88))((byte *)((int)pwStack_140 + 1));\n    *piStack_12c = iVar5;\n    if (**(int **)(puStack_158 + -0x65bc) == 0) {\n      pwVar14 = (word *)piStack_12c[1];\n      pwVar15 = pwStack_140;\n      (**(code **)(puStack_158 + -0x615c))(iVar5);\n    }\n    else {\n      unaff_s3 = (word *)0x0;\n      if (**(int **)(puStack_158 + -0x6f0c) != 0) {\n        if ((code *)**(undefined4 **)(puStack_158 + -0x6de4) == (code *)0x0) {\n          unaff_s3 = (word *)0x0;\n        }\n        else if ((**(int **)(puStack_158 + -0x6f38) != 0) &&\n                (**(int **)(puStack_158 + -0x702c) != 0)) {\n          pwVar14 = (word *)**(undefined4 **)(puStack_158 + -0x6f34);\n          unaff_s3 = (word *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(pwStack_130);\n          pwStack_130 = unaff_s3;\n        }\n      }\n      if (**(int **)(puStack_158 + -0x6f10) != 0) {\n        pwVar14 = param_2;\n        (**(code **)(puStack_158 + -0x6218))\n                  (piStack_12c + 1,param_2,4,*(undefined4 *)(puStack_158 + -0x6660));\n      }\n      pwVar16 = (word *)(**(code **)(puStack_158 + -0x60fc))(pwStack_130);\n      unaff_s4 = pwStack_140;\n      if ((int)pwVar16 <= (int)pwStack_140) {\n        unaff_s4 = pwVar16;\n      }\n      if ((int)param_2 < 1) {\n        pwVar16 = (word *)0x1;\nLAB_000fb1a8:\n        pwVar16 = (word *)(uint)((int)param_2 < (int)pwVar16);\n        pwVar15 = pwStack_140;\n        if (pwVar16 != (word *)0x0) goto LAB_000fb12c;\n      }\n      else {\n        param_4 = (byte *)(piStack_12c + 1);\n        pwVar16 = (word *)0x1;\n        do {\n          unaff_s2 = *(word **)param_4;\n          iVar5 = (**(code **)(puStack_158 + -0x6238))(unaff_s2,pwStack_130,unaff_s4);\n          if (iVar5 == 0) {\n            pwVar14 = unaff_s2;\n            (**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,pwStack_140);\n            goto LAB_000fb1a8;\n          }\n          pwVar16 = (word *)((int)pwVar16 + 1);\n          param_4 = param_4 + 4;\n        } while ((int)pwVar16 <= (int)param_2);\nLAB_000fb12c:\n        pwVar14 = (word *)piStack_12c[1];\n        pwVar15 = pwStack_140;\n        (**(code **)(puStack_158 + -0x615c))(*piStack_12c);\n      }\n      if (unaff_s3 != (word *)0x0) {\n        (**(code **)(puStack_158 + -0x5f94))(unaff_s3);\n      }\n    }\n    *(byte *)((int)pwStack_140 + *piStack_12c) = 0;\n    pwStack_13c = param_2;\n  }" else (compound_statement "{\n    if ((int)param_2 < 2) {\n      pwStack_140 = (word *)&__DT_SYMTAB[0x3d1].st_info;\n    }\n    else {\n      pwVar18 = (word *)(piVar9 + 1);\n      pwStack_140 = (word *)&__DT_SYMTAB[0x3d1].st_info;\n      pwStack_13c = (word *)0x1;\n      unaff_s3 = *(word **)(puVar22 + 0x5d2e8);\n      piStack_134 = *(int **)(puVar22 + 0x5d454);\n      unaff_s8 = &pbStack_124;\n      do {\n        uVar4 = (**(code **)(puStack_158 + -0x6060))();\n        if ((1 < uVar4) && (*(int *)unaff_s3 == 0)) {\n          uStack_11c = 0;\n          uStack_118 = 0;\n          uStack_114 = 0;\n          uStack_110 = 0;\n        }\n        if (*piStack_134 == 0) {\n          param_4 = (byte *)(int)**(char **)pwVar18;\n          unaff_s5 = pwVar18;\n          if (param_4 == (byte *)0x0) {\n            pwVar16 = (word *)0x0;\n            goto LAB_000fac1c;\n          }\n          pwVar16 = (word *)(int)**(char **)(pwVar18 + 2);\n          pwStack_14c = (word *)0x0;\n          unaff_s4 = pwVar16;\n          if (pwVar16 == (word *)0x0) goto LAB_000fac1c;\n          unaff_s6 = (word *)&uStack_11c;\n          pwStack_148 = (word *)&uStack_114;\n          unaff_s7 = (word *)&uStack_10c;\n          do {\n            pwVar16 = pwStack_14c;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\n              if ((word *)param_4 != unaff_s4) goto LAB_000fac1c;\n            }\n            else {\n              uStack_10c = uStack_11c;\n              uStack_108 = uStack_118;\n              pwStack_15c = pwStack_148;\n              pwVar15 = unaff_s6;\n              pwStack_160 = pwVar16;\n              iVar5 = (**(code **)(puStack_158 + -0x65b8))\n                                (*(undefined4 *)pwVar18,pwVar16,unaff_s6,\n                                 *(undefined4 *)(pwVar18 + 2));\n              pwVar14 = unaff_s7;\n              if (iVar5 == 0) goto LAB_000fac1c;\n              iVar5 = (**(code **)(puStack_158 + -0x65b4))\n                                ((byte *)((int)pwStack_14c + *(int *)pwVar18));\n              if (1 < iVar5) {\n                pwVar16 = (word *)((int)pwVar16 + iVar5 + -1);\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_14c = pwVar16;\n            if (param_4 == (byte *)0x0) goto LAB_000fac1c;\n            unaff_s4 = (word *)(int)(char)*(byte *)((int)pwVar16 + *(int *)(pwVar18 + 2));\n            bVar3 = (int)pwVar16 < (int)pwStack_140;\n          } while (unaff_s4 != (word *)0x0);\n        }\n        else {\n          pwVar16 = (word *)0x0;\n          unaff_s7 = (word *)&uStack_11c;\n          unaff_s6 = (word *)&uStack_114;\n          while( true ) {\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_148 = pwVar16;\n            pwStack_144 = pwVar18;\n            if (unaff_s4 == (word *)param_4) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))();\n              if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n                param_4 = *(byte **)unaff_s4;\n              }\n            }\n            unaff_s5 = (word *)&pbStack_120;\n            if (param_4 == (byte *)0x0) break;\n            pwStack_14c = (word *)(int)(char)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))\n            ;\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n            if ((unaff_s4 == pwStack_14c) &&\n               (piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0)) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n              unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n              pwStack_14c = *(word **)unaff_s4;\n            }\n            if (pwStack_14c == (word *)0x0) break;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\njoined_r0x000facac:\n              if ((word *)param_4 != pwStack_14c) break;\n            }\n            else {\n              pbVar24 = (byte *)((int)pwStack_148 + *(int *)pwStack_144);\n              uVar7 = (**(code **)(puStack_158 + -0x60fc))(pbVar24);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,pbVar24,uVar7,unaff_s7);\n              unaff_s4 = (word *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n              pwVar15 = (word *)(**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              pwVar14 = unaff_s4;\n              iVar5 = (**(code **)(puStack_158 + -0x6084))(&pbStack_120,unaff_s4,pwVar15,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar5 + 2U < 2)) goto joined_r0x000facac;\n              param_4 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_124);\n              pbStack_124 = param_4;\n              pbStack_120 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_120);\n              if (param_4 != pbStack_120) break;\n              if (1 < uStack_138) {\n                pwVar16 = (word *)((int)pwStack_148 + (uStack_138 - 1));\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\nLAB_000fac1c:\n          bVar3 = (int)pwVar16 < (int)pwStack_140;\n        }\n        pwVar6 = pwStack_130;\n        if (bVar3) {\n          pwStack_140 = pwVar16;\n        }\n        pwStack_13c = (word *)((int)pwStack_13c + 1);\n        pwVar18 = pwVar18 + 2;\n      } while (param_2 != pwStack_13c);\n      unaff_s2 = pwVar18;\n      if (((pwStack_140 == (word *)0x0) && (pwStack_130 != (word *)0x0)) &&\n         (pwVar16 = pwStack_130, *(byte *)pwStack_130 != 0)) {\n        iVar5 = (**(code **)(puStack_158 + -0x60fc))(pwStack_130);\n        iVar5 = (**(code **)(puStack_158 + -0x7f88))(iVar5 + 1);\n        *piStack_12c = iVar5;\n        pwVar14 = pwVar6;\n        (**(code **)(puStack_158 + -0x6074))(iVar5);\n        pwVar16 = pwVar6;\n        goto LAB_000fb1f0;\n      }\n    }\n    iVar5 = (**(code **)(puStack_158 + -0x7f88))((byte *)((int)pwStack_140 + 1));\n    *piStack_12c = iVar5;\n    if (**(int **)(puStack_158 + -0x65bc) == 0) {\n      pwVar14 = (word *)piStack_12c[1];\n      pwVar15 = pwStack_140;\n      (**(code **)(puStack_158 + -0x615c))(iVar5);\n    }\n    else {\n      unaff_s3 = (word *)0x0;\n      if (**(int **)(puStack_158 + -0x6f0c) != 0) {\n        if ((code *)**(undefined4 **)(puStack_158 + -0x6de4) == (code *)0x0) {\n          unaff_s3 = (word *)0x0;\n        }\n        else if ((**(int **)(puStack_158 + -0x6f38) != 0) &&\n                (**(int **)(puStack_158 + -0x702c) != 0)) {\n          pwVar14 = (word *)**(undefined4 **)(puStack_158 + -0x6f34);\n          unaff_s3 = (word *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(pwStack_130);\n          pwStack_130 = unaff_s3;\n        }\n      }\n      if (**(int **)(puStack_158 + -0x6f10) != 0) {\n        pwVar14 = param_2;\n        (**(code **)(puStack_158 + -0x6218))\n                  (piStack_12c + 1,param_2,4,*(undefined4 *)(puStack_158 + -0x6660));\n      }\n      pwVar16 = (word *)(**(code **)(puStack_158 + -0x60fc))(pwStack_130);\n      unaff_s4 = pwStack_140;\n      if ((int)pwVar16 <= (int)pwStack_140) {\n        unaff_s4 = pwVar16;\n      }\n      if ((int)param_2 < 1) {\n        pwVar16 = (word *)0x1;\nLAB_000fb1a8:\n        pwVar16 = (word *)(uint)((int)param_2 < (int)pwVar16);\n        pwVar15 = pwStack_140;\n        if (pwVar16 != (word *)0x0) goto LAB_000fb12c;\n      }\n      else {\n        param_4 = (byte *)(piStack_12c + 1);\n        pwVar16 = (word *)0x1;\n        do {\n          unaff_s2 = *(word **)param_4;\n          iVar5 = (**(code **)(puStack_158 + -0x6238))(unaff_s2,pwStack_130,unaff_s4);\n          if (iVar5 == 0) {\n            pwVar14 = unaff_s2;\n            (**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,pwStack_140);\n            goto LAB_000fb1a8;\n          }\n          pwVar16 = (word *)((int)pwVar16 + 1);\n          param_4 = param_4 + 4;\n        } while ((int)pwVar16 <= (int)param_2);\nLAB_000fb12c:\n        pwVar14 = (word *)piStack_12c[1];\n        pwVar15 = pwStack_140;\n        (**(code **)(puStack_158 + -0x615c))(*piStack_12c);\n      }\n      if (unaff_s3 != (word *)0x0) {\n        (**(code **)(puStack_158 + -0x5f94))(unaff_s3);\n      }\n    }\n    *(byte *)((int)pwStack_140 + *piStack_12c) = 0;\n    pwStack_13c = param_2;\n  }" { (if_statement "if ((int)param_2 < 2) {\n      pwStack_140 = (word *)&__DT_SYMTAB[0x3d1].st_info;\n    }\n    else {\n      pwVar18 = (word *)(piVar9 + 1);\n      pwStack_140 = (word *)&__DT_SYMTAB[0x3d1].st_info;\n      pwStack_13c = (word *)0x1;\n      unaff_s3 = *(word **)(puVar22 + 0x5d2e8);\n      piStack_134 = *(int **)(puVar22 + 0x5d454);\n      unaff_s8 = &pbStack_124;\n      do {\n        uVar4 = (**(code **)(puStack_158 + -0x6060))();\n        if ((1 < uVar4) && (*(int *)unaff_s3 == 0)) {\n          uStack_11c = 0;\n          uStack_118 = 0;\n          uStack_114 = 0;\n          uStack_110 = 0;\n        }\n        if (*piStack_134 == 0) {\n          param_4 = (byte *)(int)**(char **)pwVar18;\n          unaff_s5 = pwVar18;\n          if (param_4 == (byte *)0x0) {\n            pwVar16 = (word *)0x0;\n            goto LAB_000fac1c;\n          }\n          pwVar16 = (word *)(int)**(char **)(pwVar18 + 2);\n          pwStack_14c = (word *)0x0;\n          unaff_s4 = pwVar16;\n          if (pwVar16 == (word *)0x0) goto LAB_000fac1c;\n          unaff_s6 = (word *)&uStack_11c;\n          pwStack_148 = (word *)&uStack_114;\n          unaff_s7 = (word *)&uStack_10c;\n          do {\n            pwVar16 = pwStack_14c;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\n              if ((word *)param_4 != unaff_s4) goto LAB_000fac1c;\n            }\n            else {\n              uStack_10c = uStack_11c;\n              uStack_108 = uStack_118;\n              pwStack_15c = pwStack_148;\n              pwVar15 = unaff_s6;\n              pwStack_160 = pwVar16;\n              iVar5 = (**(code **)(puStack_158 + -0x65b8))\n                                (*(undefined4 *)pwVar18,pwVar16,unaff_s6,\n                                 *(undefined4 *)(pwVar18 + 2));\n              pwVar14 = unaff_s7;\n              if (iVar5 == 0) goto LAB_000fac1c;\n              iVar5 = (**(code **)(puStack_158 + -0x65b4))\n                                ((byte *)((int)pwStack_14c + *(int *)pwVar18));\n              if (1 < iVar5) {\n                pwVar16 = (word *)((int)pwVar16 + iVar5 + -1);\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_14c = pwVar16;\n            if (param_4 == (byte *)0x0) goto LAB_000fac1c;\n            unaff_s4 = (word *)(int)(char)*(byte *)((int)pwVar16 + *(int *)(pwVar18 + 2));\n            bVar3 = (int)pwVar16 < (int)pwStack_140;\n          } while (unaff_s4 != (word *)0x0);\n        }\n        else {\n          pwVar16 = (word *)0x0;\n          unaff_s7 = (word *)&uStack_11c;\n          unaff_s6 = (word *)&uStack_114;\n          while( true ) {\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_148 = pwVar16;\n            pwStack_144 = pwVar18;\n            if (unaff_s4 == (word *)param_4) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))();\n              if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n                param_4 = *(byte **)unaff_s4;\n              }\n            }\n            unaff_s5 = (word *)&pbStack_120;\n            if (param_4 == (byte *)0x0) break;\n            pwStack_14c = (word *)(int)(char)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))\n            ;\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n            if ((unaff_s4 == pwStack_14c) &&\n               (piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0)) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n              unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n              pwStack_14c = *(word **)unaff_s4;\n            }\n            if (pwStack_14c == (word *)0x0) break;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\njoined_r0x000facac:\n              if ((word *)param_4 != pwStack_14c) break;\n            }\n            else {\n              pbVar24 = (byte *)((int)pwStack_148 + *(int *)pwStack_144);\n              uVar7 = (**(code **)(puStack_158 + -0x60fc))(pbVar24);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,pbVar24,uVar7,unaff_s7);\n              unaff_s4 = (word *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n              pwVar15 = (word *)(**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              pwVar14 = unaff_s4;\n              iVar5 = (**(code **)(puStack_158 + -0x6084))(&pbStack_120,unaff_s4,pwVar15,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar5 + 2U < 2)) goto joined_r0x000facac;\n              param_4 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_124);\n              pbStack_124 = param_4;\n              pbStack_120 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_120);\n              if (param_4 != pbStack_120) break;\n              if (1 < uStack_138) {\n                pwVar16 = (word *)((int)pwStack_148 + (uStack_138 - 1));\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\nLAB_000fac1c:\n          bVar3 = (int)pwVar16 < (int)pwStack_140;\n        }\n        pwVar6 = pwStack_130;\n        if (bVar3) {\n          pwStack_140 = pwVar16;\n        }\n        pwStack_13c = (word *)((int)pwStack_13c + 1);\n        pwVar18 = pwVar18 + 2;\n      } while (param_2 != pwStack_13c);\n      unaff_s2 = pwVar18;\n      if (((pwStack_140 == (word *)0x0) && (pwStack_130 != (word *)0x0)) &&\n         (pwVar16 = pwStack_130, *(byte *)pwStack_130 != 0)) {\n        iVar5 = (**(code **)(puStack_158 + -0x60fc))(pwStack_130);\n        iVar5 = (**(code **)(puStack_158 + -0x7f88))(iVar5 + 1);\n        *piStack_12c = iVar5;\n        pwVar14 = pwVar6;\n        (**(code **)(puStack_158 + -0x6074))(iVar5);\n        pwVar16 = pwVar6;\n        goto LAB_000fb1f0;\n      }\n    }" if (parenthesized_expression "((int)param_2 < 2)" ( (binary_expression "(int)param_2 < 2" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      pwStack_140 = (word *)&__DT_SYMTAB[0x3d1].st_info;\n    }" { (expression_statement "pwStack_140 = (word *)&__DT_SYMTAB[0x3d1].st_info;" (assignment_expression "pwStack_140 = (word *)&__DT_SYMTAB[0x3d1].st_info" identifier = (cast_expression "(word *)&__DT_SYMTAB[0x3d1].st_info" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&__DT_SYMTAB[0x3d1].st_info" & (field_expression "__DT_SYMTAB[0x3d1].st_info" (subscript_expression "__DT_SYMTAB[0x3d1]" identifier [ number_literal ]) . field_identifier)))) ;) }) (else_clause "else {\n      pwVar18 = (word *)(piVar9 + 1);\n      pwStack_140 = (word *)&__DT_SYMTAB[0x3d1].st_info;\n      pwStack_13c = (word *)0x1;\n      unaff_s3 = *(word **)(puVar22 + 0x5d2e8);\n      piStack_134 = *(int **)(puVar22 + 0x5d454);\n      unaff_s8 = &pbStack_124;\n      do {\n        uVar4 = (**(code **)(puStack_158 + -0x6060))();\n        if ((1 < uVar4) && (*(int *)unaff_s3 == 0)) {\n          uStack_11c = 0;\n          uStack_118 = 0;\n          uStack_114 = 0;\n          uStack_110 = 0;\n        }\n        if (*piStack_134 == 0) {\n          param_4 = (byte *)(int)**(char **)pwVar18;\n          unaff_s5 = pwVar18;\n          if (param_4 == (byte *)0x0) {\n            pwVar16 = (word *)0x0;\n            goto LAB_000fac1c;\n          }\n          pwVar16 = (word *)(int)**(char **)(pwVar18 + 2);\n          pwStack_14c = (word *)0x0;\n          unaff_s4 = pwVar16;\n          if (pwVar16 == (word *)0x0) goto LAB_000fac1c;\n          unaff_s6 = (word *)&uStack_11c;\n          pwStack_148 = (word *)&uStack_114;\n          unaff_s7 = (word *)&uStack_10c;\n          do {\n            pwVar16 = pwStack_14c;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\n              if ((word *)param_4 != unaff_s4) goto LAB_000fac1c;\n            }\n            else {\n              uStack_10c = uStack_11c;\n              uStack_108 = uStack_118;\n              pwStack_15c = pwStack_148;\n              pwVar15 = unaff_s6;\n              pwStack_160 = pwVar16;\n              iVar5 = (**(code **)(puStack_158 + -0x65b8))\n                                (*(undefined4 *)pwVar18,pwVar16,unaff_s6,\n                                 *(undefined4 *)(pwVar18 + 2));\n              pwVar14 = unaff_s7;\n              if (iVar5 == 0) goto LAB_000fac1c;\n              iVar5 = (**(code **)(puStack_158 + -0x65b4))\n                                ((byte *)((int)pwStack_14c + *(int *)pwVar18));\n              if (1 < iVar5) {\n                pwVar16 = (word *)((int)pwVar16 + iVar5 + -1);\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_14c = pwVar16;\n            if (param_4 == (byte *)0x0) goto LAB_000fac1c;\n            unaff_s4 = (word *)(int)(char)*(byte *)((int)pwVar16 + *(int *)(pwVar18 + 2));\n            bVar3 = (int)pwVar16 < (int)pwStack_140;\n          } while (unaff_s4 != (word *)0x0);\n        }\n        else {\n          pwVar16 = (word *)0x0;\n          unaff_s7 = (word *)&uStack_11c;\n          unaff_s6 = (word *)&uStack_114;\n          while( true ) {\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_148 = pwVar16;\n            pwStack_144 = pwVar18;\n            if (unaff_s4 == (word *)param_4) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))();\n              if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n                param_4 = *(byte **)unaff_s4;\n              }\n            }\n            unaff_s5 = (word *)&pbStack_120;\n            if (param_4 == (byte *)0x0) break;\n            pwStack_14c = (word *)(int)(char)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))\n            ;\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n            if ((unaff_s4 == pwStack_14c) &&\n               (piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0)) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n              unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n              pwStack_14c = *(word **)unaff_s4;\n            }\n            if (pwStack_14c == (word *)0x0) break;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\njoined_r0x000facac:\n              if ((word *)param_4 != pwStack_14c) break;\n            }\n            else {\n              pbVar24 = (byte *)((int)pwStack_148 + *(int *)pwStack_144);\n              uVar7 = (**(code **)(puStack_158 + -0x60fc))(pbVar24);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,pbVar24,uVar7,unaff_s7);\n              unaff_s4 = (word *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n              pwVar15 = (word *)(**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              pwVar14 = unaff_s4;\n              iVar5 = (**(code **)(puStack_158 + -0x6084))(&pbStack_120,unaff_s4,pwVar15,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar5 + 2U < 2)) goto joined_r0x000facac;\n              param_4 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_124);\n              pbStack_124 = param_4;\n              pbStack_120 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_120);\n              if (param_4 != pbStack_120) break;\n              if (1 < uStack_138) {\n                pwVar16 = (word *)((int)pwStack_148 + (uStack_138 - 1));\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\nLAB_000fac1c:\n          bVar3 = (int)pwVar16 < (int)pwStack_140;\n        }\n        pwVar6 = pwStack_130;\n        if (bVar3) {\n          pwStack_140 = pwVar16;\n        }\n        pwStack_13c = (word *)((int)pwStack_13c + 1);\n        pwVar18 = pwVar18 + 2;\n      } while (param_2 != pwStack_13c);\n      unaff_s2 = pwVar18;\n      if (((pwStack_140 == (word *)0x0) && (pwStack_130 != (word *)0x0)) &&\n         (pwVar16 = pwStack_130, *(byte *)pwStack_130 != 0)) {\n        iVar5 = (**(code **)(puStack_158 + -0x60fc))(pwStack_130);\n        iVar5 = (**(code **)(puStack_158 + -0x7f88))(iVar5 + 1);\n        *piStack_12c = iVar5;\n        pwVar14 = pwVar6;\n        (**(code **)(puStack_158 + -0x6074))(iVar5);\n        pwVar16 = pwVar6;\n        goto LAB_000fb1f0;\n      }\n    }" else (compound_statement "{\n      pwVar18 = (word *)(piVar9 + 1);\n      pwStack_140 = (word *)&__DT_SYMTAB[0x3d1].st_info;\n      pwStack_13c = (word *)0x1;\n      unaff_s3 = *(word **)(puVar22 + 0x5d2e8);\n      piStack_134 = *(int **)(puVar22 + 0x5d454);\n      unaff_s8 = &pbStack_124;\n      do {\n        uVar4 = (**(code **)(puStack_158 + -0x6060))();\n        if ((1 < uVar4) && (*(int *)unaff_s3 == 0)) {\n          uStack_11c = 0;\n          uStack_118 = 0;\n          uStack_114 = 0;\n          uStack_110 = 0;\n        }\n        if (*piStack_134 == 0) {\n          param_4 = (byte *)(int)**(char **)pwVar18;\n          unaff_s5 = pwVar18;\n          if (param_4 == (byte *)0x0) {\n            pwVar16 = (word *)0x0;\n            goto LAB_000fac1c;\n          }\n          pwVar16 = (word *)(int)**(char **)(pwVar18 + 2);\n          pwStack_14c = (word *)0x0;\n          unaff_s4 = pwVar16;\n          if (pwVar16 == (word *)0x0) goto LAB_000fac1c;\n          unaff_s6 = (word *)&uStack_11c;\n          pwStack_148 = (word *)&uStack_114;\n          unaff_s7 = (word *)&uStack_10c;\n          do {\n            pwVar16 = pwStack_14c;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\n              if ((word *)param_4 != unaff_s4) goto LAB_000fac1c;\n            }\n            else {\n              uStack_10c = uStack_11c;\n              uStack_108 = uStack_118;\n              pwStack_15c = pwStack_148;\n              pwVar15 = unaff_s6;\n              pwStack_160 = pwVar16;\n              iVar5 = (**(code **)(puStack_158 + -0x65b8))\n                                (*(undefined4 *)pwVar18,pwVar16,unaff_s6,\n                                 *(undefined4 *)(pwVar18 + 2));\n              pwVar14 = unaff_s7;\n              if (iVar5 == 0) goto LAB_000fac1c;\n              iVar5 = (**(code **)(puStack_158 + -0x65b4))\n                                ((byte *)((int)pwStack_14c + *(int *)pwVar18));\n              if (1 < iVar5) {\n                pwVar16 = (word *)((int)pwVar16 + iVar5 + -1);\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_14c = pwVar16;\n            if (param_4 == (byte *)0x0) goto LAB_000fac1c;\n            unaff_s4 = (word *)(int)(char)*(byte *)((int)pwVar16 + *(int *)(pwVar18 + 2));\n            bVar3 = (int)pwVar16 < (int)pwStack_140;\n          } while (unaff_s4 != (word *)0x0);\n        }\n        else {\n          pwVar16 = (word *)0x0;\n          unaff_s7 = (word *)&uStack_11c;\n          unaff_s6 = (word *)&uStack_114;\n          while( true ) {\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_148 = pwVar16;\n            pwStack_144 = pwVar18;\n            if (unaff_s4 == (word *)param_4) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))();\n              if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n                param_4 = *(byte **)unaff_s4;\n              }\n            }\n            unaff_s5 = (word *)&pbStack_120;\n            if (param_4 == (byte *)0x0) break;\n            pwStack_14c = (word *)(int)(char)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))\n            ;\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n            if ((unaff_s4 == pwStack_14c) &&\n               (piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0)) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n              unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n              pwStack_14c = *(word **)unaff_s4;\n            }\n            if (pwStack_14c == (word *)0x0) break;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\njoined_r0x000facac:\n              if ((word *)param_4 != pwStack_14c) break;\n            }\n            else {\n              pbVar24 = (byte *)((int)pwStack_148 + *(int *)pwStack_144);\n              uVar7 = (**(code **)(puStack_158 + -0x60fc))(pbVar24);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,pbVar24,uVar7,unaff_s7);\n              unaff_s4 = (word *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n              pwVar15 = (word *)(**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              pwVar14 = unaff_s4;\n              iVar5 = (**(code **)(puStack_158 + -0x6084))(&pbStack_120,unaff_s4,pwVar15,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar5 + 2U < 2)) goto joined_r0x000facac;\n              param_4 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_124);\n              pbStack_124 = param_4;\n              pbStack_120 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_120);\n              if (param_4 != pbStack_120) break;\n              if (1 < uStack_138) {\n                pwVar16 = (word *)((int)pwStack_148 + (uStack_138 - 1));\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\nLAB_000fac1c:\n          bVar3 = (int)pwVar16 < (int)pwStack_140;\n        }\n        pwVar6 = pwStack_130;\n        if (bVar3) {\n          pwStack_140 = pwVar16;\n        }\n        pwStack_13c = (word *)((int)pwStack_13c + 1);\n        pwVar18 = pwVar18 + 2;\n      } while (param_2 != pwStack_13c);\n      unaff_s2 = pwVar18;\n      if (((pwStack_140 == (word *)0x0) && (pwStack_130 != (word *)0x0)) &&\n         (pwVar16 = pwStack_130, *(byte *)pwStack_130 != 0)) {\n        iVar5 = (**(code **)(puStack_158 + -0x60fc))(pwStack_130);\n        iVar5 = (**(code **)(puStack_158 + -0x7f88))(iVar5 + 1);\n        *piStack_12c = iVar5;\n        pwVar14 = pwVar6;\n        (**(code **)(puStack_158 + -0x6074))(iVar5);\n        pwVar16 = pwVar6;\n        goto LAB_000fb1f0;\n      }\n    }" { (expression_statement "pwVar18 = (word *)(piVar9 + 1);" (assignment_expression "pwVar18 = (word *)(piVar9 + 1)" identifier = (cast_expression "(word *)(piVar9 + 1)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar9 + 1)" ( (binary_expression "piVar9 + 1" identifier + number_literal) )))) ;) (expression_statement "pwStack_140 = (word *)&__DT_SYMTAB[0x3d1].st_info;" (assignment_expression "pwStack_140 = (word *)&__DT_SYMTAB[0x3d1].st_info" identifier = (cast_expression "(word *)&__DT_SYMTAB[0x3d1].st_info" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&__DT_SYMTAB[0x3d1].st_info" & (field_expression "__DT_SYMTAB[0x3d1].st_info" (subscript_expression "__DT_SYMTAB[0x3d1]" identifier [ number_literal ]) . field_identifier)))) ;) (expression_statement "pwStack_13c = (word *)0x1;" (assignment_expression "pwStack_13c = (word *)0x1" identifier = (cast_expression "(word *)0x1" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "unaff_s3 = *(word **)(puVar22 + 0x5d2e8);" (assignment_expression "unaff_s3 = *(word **)(puVar22 + 0x5d2e8)" identifier = (pointer_expression "*(word **)(puVar22 + 0x5d2e8)" * (cast_expression "(word **)(puVar22 + 0x5d2e8)" ( (type_descriptor "word **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + 0x5d2e8)" ( (binary_expression "puVar22 + 0x5d2e8" identifier + number_literal) ))))) ;) (expression_statement "piStack_134 = *(int **)(puVar22 + 0x5d454);" (assignment_expression "piStack_134 = *(int **)(puVar22 + 0x5d454)" identifier = (pointer_expression "*(int **)(puVar22 + 0x5d454)" * (cast_expression "(int **)(puVar22 + 0x5d454)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar22 + 0x5d454)" ( (binary_expression "puVar22 + 0x5d454" identifier + number_literal) ))))) ;) (expression_statement "unaff_s8 = &pbStack_124;" (assignment_expression "unaff_s8 = &pbStack_124" identifier = (pointer_expression "&pbStack_124" & identifier)) ;) (do_statement "do {\n        uVar4 = (**(code **)(puStack_158 + -0x6060))();\n        if ((1 < uVar4) && (*(int *)unaff_s3 == 0)) {\n          uStack_11c = 0;\n          uStack_118 = 0;\n          uStack_114 = 0;\n          uStack_110 = 0;\n        }\n        if (*piStack_134 == 0) {\n          param_4 = (byte *)(int)**(char **)pwVar18;\n          unaff_s5 = pwVar18;\n          if (param_4 == (byte *)0x0) {\n            pwVar16 = (word *)0x0;\n            goto LAB_000fac1c;\n          }\n          pwVar16 = (word *)(int)**(char **)(pwVar18 + 2);\n          pwStack_14c = (word *)0x0;\n          unaff_s4 = pwVar16;\n          if (pwVar16 == (word *)0x0) goto LAB_000fac1c;\n          unaff_s6 = (word *)&uStack_11c;\n          pwStack_148 = (word *)&uStack_114;\n          unaff_s7 = (word *)&uStack_10c;\n          do {\n            pwVar16 = pwStack_14c;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\n              if ((word *)param_4 != unaff_s4) goto LAB_000fac1c;\n            }\n            else {\n              uStack_10c = uStack_11c;\n              uStack_108 = uStack_118;\n              pwStack_15c = pwStack_148;\n              pwVar15 = unaff_s6;\n              pwStack_160 = pwVar16;\n              iVar5 = (**(code **)(puStack_158 + -0x65b8))\n                                (*(undefined4 *)pwVar18,pwVar16,unaff_s6,\n                                 *(undefined4 *)(pwVar18 + 2));\n              pwVar14 = unaff_s7;\n              if (iVar5 == 0) goto LAB_000fac1c;\n              iVar5 = (**(code **)(puStack_158 + -0x65b4))\n                                ((byte *)((int)pwStack_14c + *(int *)pwVar18));\n              if (1 < iVar5) {\n                pwVar16 = (word *)((int)pwVar16 + iVar5 + -1);\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_14c = pwVar16;\n            if (param_4 == (byte *)0x0) goto LAB_000fac1c;\n            unaff_s4 = (word *)(int)(char)*(byte *)((int)pwVar16 + *(int *)(pwVar18 + 2));\n            bVar3 = (int)pwVar16 < (int)pwStack_140;\n          } while (unaff_s4 != (word *)0x0);\n        }\n        else {\n          pwVar16 = (word *)0x0;\n          unaff_s7 = (word *)&uStack_11c;\n          unaff_s6 = (word *)&uStack_114;\n          while( true ) {\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_148 = pwVar16;\n            pwStack_144 = pwVar18;\n            if (unaff_s4 == (word *)param_4) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))();\n              if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n                param_4 = *(byte **)unaff_s4;\n              }\n            }\n            unaff_s5 = (word *)&pbStack_120;\n            if (param_4 == (byte *)0x0) break;\n            pwStack_14c = (word *)(int)(char)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))\n            ;\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n            if ((unaff_s4 == pwStack_14c) &&\n               (piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0)) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n              unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n              pwStack_14c = *(word **)unaff_s4;\n            }\n            if (pwStack_14c == (word *)0x0) break;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\njoined_r0x000facac:\n              if ((word *)param_4 != pwStack_14c) break;\n            }\n            else {\n              pbVar24 = (byte *)((int)pwStack_148 + *(int *)pwStack_144);\n              uVar7 = (**(code **)(puStack_158 + -0x60fc))(pbVar24);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,pbVar24,uVar7,unaff_s7);\n              unaff_s4 = (word *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n              pwVar15 = (word *)(**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              pwVar14 = unaff_s4;\n              iVar5 = (**(code **)(puStack_158 + -0x6084))(&pbStack_120,unaff_s4,pwVar15,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar5 + 2U < 2)) goto joined_r0x000facac;\n              param_4 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_124);\n              pbStack_124 = param_4;\n              pbStack_120 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_120);\n              if (param_4 != pbStack_120) break;\n              if (1 < uStack_138) {\n                pwVar16 = (word *)((int)pwStack_148 + (uStack_138 - 1));\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\nLAB_000fac1c:\n          bVar3 = (int)pwVar16 < (int)pwStack_140;\n        }\n        pwVar6 = pwStack_130;\n        if (bVar3) {\n          pwStack_140 = pwVar16;\n        }\n        pwStack_13c = (word *)((int)pwStack_13c + 1);\n        pwVar18 = pwVar18 + 2;\n      } while (param_2 != pwStack_13c);" do (compound_statement "{\n        uVar4 = (**(code **)(puStack_158 + -0x6060))();\n        if ((1 < uVar4) && (*(int *)unaff_s3 == 0)) {\n          uStack_11c = 0;\n          uStack_118 = 0;\n          uStack_114 = 0;\n          uStack_110 = 0;\n        }\n        if (*piStack_134 == 0) {\n          param_4 = (byte *)(int)**(char **)pwVar18;\n          unaff_s5 = pwVar18;\n          if (param_4 == (byte *)0x0) {\n            pwVar16 = (word *)0x0;\n            goto LAB_000fac1c;\n          }\n          pwVar16 = (word *)(int)**(char **)(pwVar18 + 2);\n          pwStack_14c = (word *)0x0;\n          unaff_s4 = pwVar16;\n          if (pwVar16 == (word *)0x0) goto LAB_000fac1c;\n          unaff_s6 = (word *)&uStack_11c;\n          pwStack_148 = (word *)&uStack_114;\n          unaff_s7 = (word *)&uStack_10c;\n          do {\n            pwVar16 = pwStack_14c;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\n              if ((word *)param_4 != unaff_s4) goto LAB_000fac1c;\n            }\n            else {\n              uStack_10c = uStack_11c;\n              uStack_108 = uStack_118;\n              pwStack_15c = pwStack_148;\n              pwVar15 = unaff_s6;\n              pwStack_160 = pwVar16;\n              iVar5 = (**(code **)(puStack_158 + -0x65b8))\n                                (*(undefined4 *)pwVar18,pwVar16,unaff_s6,\n                                 *(undefined4 *)(pwVar18 + 2));\n              pwVar14 = unaff_s7;\n              if (iVar5 == 0) goto LAB_000fac1c;\n              iVar5 = (**(code **)(puStack_158 + -0x65b4))\n                                ((byte *)((int)pwStack_14c + *(int *)pwVar18));\n              if (1 < iVar5) {\n                pwVar16 = (word *)((int)pwVar16 + iVar5 + -1);\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_14c = pwVar16;\n            if (param_4 == (byte *)0x0) goto LAB_000fac1c;\n            unaff_s4 = (word *)(int)(char)*(byte *)((int)pwVar16 + *(int *)(pwVar18 + 2));\n            bVar3 = (int)pwVar16 < (int)pwStack_140;\n          } while (unaff_s4 != (word *)0x0);\n        }\n        else {\n          pwVar16 = (word *)0x0;\n          unaff_s7 = (word *)&uStack_11c;\n          unaff_s6 = (word *)&uStack_114;\n          while( true ) {\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_148 = pwVar16;\n            pwStack_144 = pwVar18;\n            if (unaff_s4 == (word *)param_4) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))();\n              if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n                param_4 = *(byte **)unaff_s4;\n              }\n            }\n            unaff_s5 = (word *)&pbStack_120;\n            if (param_4 == (byte *)0x0) break;\n            pwStack_14c = (word *)(int)(char)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))\n            ;\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n            if ((unaff_s4 == pwStack_14c) &&\n               (piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0)) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n              unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n              pwStack_14c = *(word **)unaff_s4;\n            }\n            if (pwStack_14c == (word *)0x0) break;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\njoined_r0x000facac:\n              if ((word *)param_4 != pwStack_14c) break;\n            }\n            else {\n              pbVar24 = (byte *)((int)pwStack_148 + *(int *)pwStack_144);\n              uVar7 = (**(code **)(puStack_158 + -0x60fc))(pbVar24);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,pbVar24,uVar7,unaff_s7);\n              unaff_s4 = (word *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n              pwVar15 = (word *)(**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              pwVar14 = unaff_s4;\n              iVar5 = (**(code **)(puStack_158 + -0x6084))(&pbStack_120,unaff_s4,pwVar15,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar5 + 2U < 2)) goto joined_r0x000facac;\n              param_4 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_124);\n              pbStack_124 = param_4;\n              pbStack_120 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_120);\n              if (param_4 != pbStack_120) break;\n              if (1 < uStack_138) {\n                pwVar16 = (word *)((int)pwStack_148 + (uStack_138 - 1));\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\nLAB_000fac1c:\n          bVar3 = (int)pwVar16 < (int)pwStack_140;\n        }\n        pwVar6 = pwStack_130;\n        if (bVar3) {\n          pwStack_140 = pwVar16;\n        }\n        pwStack_13c = (word *)((int)pwStack_13c + 1);\n        pwVar18 = pwVar18 + 2;\n      }" { (expression_statement "uVar4 = (**(code **)(puStack_158 + -0x6060))();" (assignment_expression "uVar4 = (**(code **)(puStack_158 + -0x6060))()" identifier = (call_expression "(**(code **)(puStack_158 + -0x6060))()" (parenthesized_expression "(**(code **)(puStack_158 + -0x6060))" ( (pointer_expression "**(code **)(puStack_158 + -0x6060)" * (pointer_expression "*(code **)(puStack_158 + -0x6060)" * (cast_expression "(code **)(puStack_158 + -0x6060)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x6060)" ( (binary_expression "puStack_158 + -0x6060" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if ((1 < uVar4) && (*(int *)unaff_s3 == 0)) {\n          uStack_11c = 0;\n          uStack_118 = 0;\n          uStack_114 = 0;\n          uStack_110 = 0;\n        }" if (parenthesized_expression "((1 < uVar4) && (*(int *)unaff_s3 == 0))" ( (binary_expression "(1 < uVar4) && (*(int *)unaff_s3 == 0)" (parenthesized_expression "(1 < uVar4)" ( (binary_expression "1 < uVar4" number_literal < identifier) )) && (parenthesized_expression "(*(int *)unaff_s3 == 0)" ( (binary_expression "*(int *)unaff_s3 == 0" (pointer_expression "*(int *)unaff_s3" * (cast_expression "(int *)unaff_s3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal) ))) )) (compound_statement "{\n          uStack_11c = 0;\n          uStack_118 = 0;\n          uStack_114 = 0;\n          uStack_110 = 0;\n        }" { (expression_statement "uStack_11c = 0;" (assignment_expression "uStack_11c = 0" identifier = number_literal) ;) (expression_statement "uStack_118 = 0;" (assignment_expression "uStack_118 = 0" identifier = number_literal) ;) (expression_statement "uStack_114 = 0;" (assignment_expression "uStack_114 = 0" identifier = number_literal) ;) (expression_statement "uStack_110 = 0;" (assignment_expression "uStack_110 = 0" identifier = number_literal) ;) })) (if_statement "if (*piStack_134 == 0) {\n          param_4 = (byte *)(int)**(char **)pwVar18;\n          unaff_s5 = pwVar18;\n          if (param_4 == (byte *)0x0) {\n            pwVar16 = (word *)0x0;\n            goto LAB_000fac1c;\n          }\n          pwVar16 = (word *)(int)**(char **)(pwVar18 + 2);\n          pwStack_14c = (word *)0x0;\n          unaff_s4 = pwVar16;\n          if (pwVar16 == (word *)0x0) goto LAB_000fac1c;\n          unaff_s6 = (word *)&uStack_11c;\n          pwStack_148 = (word *)&uStack_114;\n          unaff_s7 = (word *)&uStack_10c;\n          do {\n            pwVar16 = pwStack_14c;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\n              if ((word *)param_4 != unaff_s4) goto LAB_000fac1c;\n            }\n            else {\n              uStack_10c = uStack_11c;\n              uStack_108 = uStack_118;\n              pwStack_15c = pwStack_148;\n              pwVar15 = unaff_s6;\n              pwStack_160 = pwVar16;\n              iVar5 = (**(code **)(puStack_158 + -0x65b8))\n                                (*(undefined4 *)pwVar18,pwVar16,unaff_s6,\n                                 *(undefined4 *)(pwVar18 + 2));\n              pwVar14 = unaff_s7;\n              if (iVar5 == 0) goto LAB_000fac1c;\n              iVar5 = (**(code **)(puStack_158 + -0x65b4))\n                                ((byte *)((int)pwStack_14c + *(int *)pwVar18));\n              if (1 < iVar5) {\n                pwVar16 = (word *)((int)pwVar16 + iVar5 + -1);\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_14c = pwVar16;\n            if (param_4 == (byte *)0x0) goto LAB_000fac1c;\n            unaff_s4 = (word *)(int)(char)*(byte *)((int)pwVar16 + *(int *)(pwVar18 + 2));\n            bVar3 = (int)pwVar16 < (int)pwStack_140;\n          } while (unaff_s4 != (word *)0x0);\n        }\n        else {\n          pwVar16 = (word *)0x0;\n          unaff_s7 = (word *)&uStack_11c;\n          unaff_s6 = (word *)&uStack_114;\n          while( true ) {\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_148 = pwVar16;\n            pwStack_144 = pwVar18;\n            if (unaff_s4 == (word *)param_4) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))();\n              if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n                param_4 = *(byte **)unaff_s4;\n              }\n            }\n            unaff_s5 = (word *)&pbStack_120;\n            if (param_4 == (byte *)0x0) break;\n            pwStack_14c = (word *)(int)(char)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))\n            ;\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n            if ((unaff_s4 == pwStack_14c) &&\n               (piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0)) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n              unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n              pwStack_14c = *(word **)unaff_s4;\n            }\n            if (pwStack_14c == (word *)0x0) break;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\njoined_r0x000facac:\n              if ((word *)param_4 != pwStack_14c) break;\n            }\n            else {\n              pbVar24 = (byte *)((int)pwStack_148 + *(int *)pwStack_144);\n              uVar7 = (**(code **)(puStack_158 + -0x60fc))(pbVar24);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,pbVar24,uVar7,unaff_s7);\n              unaff_s4 = (word *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n              pwVar15 = (word *)(**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              pwVar14 = unaff_s4;\n              iVar5 = (**(code **)(puStack_158 + -0x6084))(&pbStack_120,unaff_s4,pwVar15,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar5 + 2U < 2)) goto joined_r0x000facac;\n              param_4 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_124);\n              pbStack_124 = param_4;\n              pbStack_120 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_120);\n              if (param_4 != pbStack_120) break;\n              if (1 < uStack_138) {\n                pwVar16 = (word *)((int)pwStack_148 + (uStack_138 - 1));\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\nLAB_000fac1c:\n          bVar3 = (int)pwVar16 < (int)pwStack_140;\n        }" if (parenthesized_expression "(*piStack_134 == 0)" ( (binary_expression "*piStack_134 == 0" (pointer_expression "*piStack_134" * identifier) == number_literal) )) (compound_statement "{\n          param_4 = (byte *)(int)**(char **)pwVar18;\n          unaff_s5 = pwVar18;\n          if (param_4 == (byte *)0x0) {\n            pwVar16 = (word *)0x0;\n            goto LAB_000fac1c;\n          }\n          pwVar16 = (word *)(int)**(char **)(pwVar18 + 2);\n          pwStack_14c = (word *)0x0;\n          unaff_s4 = pwVar16;\n          if (pwVar16 == (word *)0x0) goto LAB_000fac1c;\n          unaff_s6 = (word *)&uStack_11c;\n          pwStack_148 = (word *)&uStack_114;\n          unaff_s7 = (word *)&uStack_10c;\n          do {\n            pwVar16 = pwStack_14c;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\n              if ((word *)param_4 != unaff_s4) goto LAB_000fac1c;\n            }\n            else {\n              uStack_10c = uStack_11c;\n              uStack_108 = uStack_118;\n              pwStack_15c = pwStack_148;\n              pwVar15 = unaff_s6;\n              pwStack_160 = pwVar16;\n              iVar5 = (**(code **)(puStack_158 + -0x65b8))\n                                (*(undefined4 *)pwVar18,pwVar16,unaff_s6,\n                                 *(undefined4 *)(pwVar18 + 2));\n              pwVar14 = unaff_s7;\n              if (iVar5 == 0) goto LAB_000fac1c;\n              iVar5 = (**(code **)(puStack_158 + -0x65b4))\n                                ((byte *)((int)pwStack_14c + *(int *)pwVar18));\n              if (1 < iVar5) {\n                pwVar16 = (word *)((int)pwVar16 + iVar5 + -1);\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_14c = pwVar16;\n            if (param_4 == (byte *)0x0) goto LAB_000fac1c;\n            unaff_s4 = (word *)(int)(char)*(byte *)((int)pwVar16 + *(int *)(pwVar18 + 2));\n            bVar3 = (int)pwVar16 < (int)pwStack_140;\n          } while (unaff_s4 != (word *)0x0);\n        }" { (expression_statement "param_4 = (byte *)(int)**(char **)pwVar18;" (assignment_expression "param_4 = (byte *)(int)**(char **)pwVar18" identifier = (cast_expression "(byte *)(int)**(char **)pwVar18" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)**(char **)pwVar18" ( (type_descriptor "int" primitive_type) ) (pointer_expression "**(char **)pwVar18" * (pointer_expression "*(char **)pwVar18" * (cast_expression "(char **)pwVar18" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)))))) ;) (expression_statement "unaff_s5 = pwVar18;" (assignment_expression "unaff_s5 = pwVar18" identifier = identifier) ;) (if_statement "if (param_4 == (byte *)0x0) {\n            pwVar16 = (word *)0x0;\n            goto LAB_000fac1c;\n          }" if (parenthesized_expression "(param_4 == (byte *)0x0)" ( (binary_expression "param_4 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            pwVar16 = (word *)0x0;\n            goto LAB_000fac1c;\n          }" { (expression_statement "pwVar16 = (word *)0x0;" (assignment_expression "pwVar16 = (word *)0x0" identifier = (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000fac1c;" goto statement_identifier ;) })) (expression_statement "pwVar16 = (word *)(int)**(char **)(pwVar18 + 2);" (assignment_expression "pwVar16 = (word *)(int)**(char **)(pwVar18 + 2)" identifier = (cast_expression "(word *)(int)**(char **)(pwVar18 + 2)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)**(char **)(pwVar18 + 2)" ( (type_descriptor "int" primitive_type) ) (pointer_expression "**(char **)(pwVar18 + 2)" * (pointer_expression "*(char **)(pwVar18 + 2)" * (cast_expression "(char **)(pwVar18 + 2)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pwVar18 + 2)" ( (binary_expression "pwVar18 + 2" identifier + number_literal) )))))))) ;) (expression_statement "pwStack_14c = (word *)0x0;" (assignment_expression "pwStack_14c = (word *)0x0" identifier = (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "unaff_s4 = pwVar16;" (assignment_expression "unaff_s4 = pwVar16" identifier = identifier) ;) (if_statement "if (pwVar16 == (word *)0x0) goto LAB_000fac1c;" if (parenthesized_expression "(pwVar16 == (word *)0x0)" ( (binary_expression "pwVar16 == (word *)0x0" identifier == (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000fac1c;" goto statement_identifier ;)) (expression_statement "unaff_s6 = (word *)&uStack_11c;" (assignment_expression "unaff_s6 = (word *)&uStack_11c" identifier = (cast_expression "(word *)&uStack_11c" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&uStack_11c" & identifier))) ;) (expression_statement "pwStack_148 = (word *)&uStack_114;" (assignment_expression "pwStack_148 = (word *)&uStack_114" identifier = (cast_expression "(word *)&uStack_114" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&uStack_114" & identifier))) ;) (expression_statement "unaff_s7 = (word *)&uStack_10c;" (assignment_expression "unaff_s7 = (word *)&uStack_10c" identifier = (cast_expression "(word *)&uStack_10c" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&uStack_10c" & identifier))) ;) (do_statement "do {\n            pwVar16 = pwStack_14c;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\n              if ((word *)param_4 != unaff_s4) goto LAB_000fac1c;\n            }\n            else {\n              uStack_10c = uStack_11c;\n              uStack_108 = uStack_118;\n              pwStack_15c = pwStack_148;\n              pwVar15 = unaff_s6;\n              pwStack_160 = pwVar16;\n              iVar5 = (**(code **)(puStack_158 + -0x65b8))\n                                (*(undefined4 *)pwVar18,pwVar16,unaff_s6,\n                                 *(undefined4 *)(pwVar18 + 2));\n              pwVar14 = unaff_s7;\n              if (iVar5 == 0) goto LAB_000fac1c;\n              iVar5 = (**(code **)(puStack_158 + -0x65b4))\n                                ((byte *)((int)pwStack_14c + *(int *)pwVar18));\n              if (1 < iVar5) {\n                pwVar16 = (word *)((int)pwVar16 + iVar5 + -1);\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_14c = pwVar16;\n            if (param_4 == (byte *)0x0) goto LAB_000fac1c;\n            unaff_s4 = (word *)(int)(char)*(byte *)((int)pwVar16 + *(int *)(pwVar18 + 2));\n            bVar3 = (int)pwVar16 < (int)pwStack_140;\n          } while (unaff_s4 != (word *)0x0);" do (compound_statement "{\n            pwVar16 = pwStack_14c;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\n              if ((word *)param_4 != unaff_s4) goto LAB_000fac1c;\n            }\n            else {\n              uStack_10c = uStack_11c;\n              uStack_108 = uStack_118;\n              pwStack_15c = pwStack_148;\n              pwVar15 = unaff_s6;\n              pwStack_160 = pwVar16;\n              iVar5 = (**(code **)(puStack_158 + -0x65b8))\n                                (*(undefined4 *)pwVar18,pwVar16,unaff_s6,\n                                 *(undefined4 *)(pwVar18 + 2));\n              pwVar14 = unaff_s7;\n              if (iVar5 == 0) goto LAB_000fac1c;\n              iVar5 = (**(code **)(puStack_158 + -0x65b4))\n                                ((byte *)((int)pwStack_14c + *(int *)pwVar18));\n              if (1 < iVar5) {\n                pwVar16 = (word *)((int)pwVar16 + iVar5 + -1);\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_14c = pwVar16;\n            if (param_4 == (byte *)0x0) goto LAB_000fac1c;\n            unaff_s4 = (word *)(int)(char)*(byte *)((int)pwVar16 + *(int *)(pwVar18 + 2));\n            bVar3 = (int)pwVar16 < (int)pwStack_140;\n          }" { (expression_statement "pwVar16 = pwStack_14c;" (assignment_expression "pwVar16 = pwStack_14c" identifier = identifier) ;) (expression_statement "uVar4 = (**(code **)(puStack_158 + -0x6060))();" (assignment_expression "uVar4 = (**(code **)(puStack_158 + -0x6060))()" identifier = (call_expression "(**(code **)(puStack_158 + -0x6060))()" (parenthesized_expression "(**(code **)(puStack_158 + -0x6060))" ( (pointer_expression "**(code **)(puStack_158 + -0x6060)" * (pointer_expression "*(code **)(puStack_158 + -0x6060)" * (cast_expression "(code **)(puStack_158 + -0x6060)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x6060)" ( (binary_expression "puStack_158 + -0x6060" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\n              if ((word *)param_4 != unaff_s4) goto LAB_000fac1c;\n            }\n            else {\n              uStack_10c = uStack_11c;\n              uStack_108 = uStack_118;\n              pwStack_15c = pwStack_148;\n              pwVar15 = unaff_s6;\n              pwStack_160 = pwVar16;\n              iVar5 = (**(code **)(puStack_158 + -0x65b8))\n                                (*(undefined4 *)pwVar18,pwVar16,unaff_s6,\n                                 *(undefined4 *)(pwVar18 + 2));\n              pwVar14 = unaff_s7;\n              if (iVar5 == 0) goto LAB_000fac1c;\n              iVar5 = (**(code **)(puStack_158 + -0x65b4))\n                                ((byte *)((int)pwStack_14c + *(int *)pwVar18));\n              if (1 < iVar5) {\n                pwVar16 = (word *)((int)pwVar16 + iVar5 + -1);\n              }\n            }" if (parenthesized_expression "((uVar4 < 2) || (*(int *)unaff_s3 != 0))" ( (binary_expression "(uVar4 < 2) || (*(int *)unaff_s3 != 0)" (parenthesized_expression "(uVar4 < 2)" ( (binary_expression "uVar4 < 2" identifier < number_literal) )) || (parenthesized_expression "(*(int *)unaff_s3 != 0)" ( (binary_expression "*(int *)unaff_s3 != 0" (pointer_expression "*(int *)unaff_s3" * (cast_expression "(int *)unaff_s3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) ))) )) (compound_statement "{\n              if ((word *)param_4 != unaff_s4) goto LAB_000fac1c;\n            }" { (if_statement "if ((word *)param_4 != unaff_s4) goto LAB_000fac1c;" if (parenthesized_expression "((word *)param_4 != unaff_s4)" ( (binary_expression "(word *)param_4 != unaff_s4" (cast_expression "(word *)param_4" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) != identifier) )) (goto_statement "goto LAB_000fac1c;" goto statement_identifier ;)) }) (else_clause "else {\n              uStack_10c = uStack_11c;\n              uStack_108 = uStack_118;\n              pwStack_15c = pwStack_148;\n              pwVar15 = unaff_s6;\n              pwStack_160 = pwVar16;\n              iVar5 = (**(code **)(puStack_158 + -0x65b8))\n                                (*(undefined4 *)pwVar18,pwVar16,unaff_s6,\n                                 *(undefined4 *)(pwVar18 + 2));\n              pwVar14 = unaff_s7;\n              if (iVar5 == 0) goto LAB_000fac1c;\n              iVar5 = (**(code **)(puStack_158 + -0x65b4))\n                                ((byte *)((int)pwStack_14c + *(int *)pwVar18));\n              if (1 < iVar5) {\n                pwVar16 = (word *)((int)pwVar16 + iVar5 + -1);\n              }\n            }" else (compound_statement "{\n              uStack_10c = uStack_11c;\n              uStack_108 = uStack_118;\n              pwStack_15c = pwStack_148;\n              pwVar15 = unaff_s6;\n              pwStack_160 = pwVar16;\n              iVar5 = (**(code **)(puStack_158 + -0x65b8))\n                                (*(undefined4 *)pwVar18,pwVar16,unaff_s6,\n                                 *(undefined4 *)(pwVar18 + 2));\n              pwVar14 = unaff_s7;\n              if (iVar5 == 0) goto LAB_000fac1c;\n              iVar5 = (**(code **)(puStack_158 + -0x65b4))\n                                ((byte *)((int)pwStack_14c + *(int *)pwVar18));\n              if (1 < iVar5) {\n                pwVar16 = (word *)((int)pwVar16 + iVar5 + -1);\n              }\n            }" { (expression_statement "uStack_10c = uStack_11c;" (assignment_expression "uStack_10c = uStack_11c" identifier = identifier) ;) (expression_statement "uStack_108 = uStack_118;" (assignment_expression "uStack_108 = uStack_118" identifier = identifier) ;) (expression_statement "pwStack_15c = pwStack_148;" (assignment_expression "pwStack_15c = pwStack_148" identifier = identifier) ;) (expression_statement "pwVar15 = unaff_s6;" (assignment_expression "pwVar15 = unaff_s6" identifier = identifier) ;) (expression_statement "pwStack_160 = pwVar16;" (assignment_expression "pwStack_160 = pwVar16" identifier = identifier) ;) (expression_statement "iVar5 = (**(code **)(puStack_158 + -0x65b8))\n                                (*(undefined4 *)pwVar18,pwVar16,unaff_s6,\n                                 *(undefined4 *)(pwVar18 + 2));" (assignment_expression "iVar5 = (**(code **)(puStack_158 + -0x65b8))\n                                (*(undefined4 *)pwVar18,pwVar16,unaff_s6,\n                                 *(undefined4 *)(pwVar18 + 2))" identifier = (call_expression "(**(code **)(puStack_158 + -0x65b8))\n                                (*(undefined4 *)pwVar18,pwVar16,unaff_s6,\n                                 *(undefined4 *)(pwVar18 + 2))" (parenthesized_expression "(**(code **)(puStack_158 + -0x65b8))" ( (pointer_expression "**(code **)(puStack_158 + -0x65b8)" * (pointer_expression "*(code **)(puStack_158 + -0x65b8)" * (cast_expression "(code **)(puStack_158 + -0x65b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x65b8)" ( (binary_expression "puStack_158 + -0x65b8" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)pwVar18,pwVar16,unaff_s6,\n                                 *(undefined4 *)(pwVar18 + 2))" ( (pointer_expression "*(undefined4 *)pwVar18" * (cast_expression "(undefined4 *)pwVar18" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , identifier , identifier , (pointer_expression "*(undefined4 *)(pwVar18 + 2)" * (cast_expression "(undefined4 *)(pwVar18 + 2)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pwVar18 + 2)" ( (binary_expression "pwVar18 + 2" identifier + number_literal) )))) )))) ;) (expression_statement "pwVar14 = unaff_s7;" (assignment_expression "pwVar14 = unaff_s7" identifier = identifier) ;) (if_statement "if (iVar5 == 0) goto LAB_000fac1c;" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000fac1c;" goto statement_identifier ;)) (expression_statement "iVar5 = (**(code **)(puStack_158 + -0x65b4))\n                                ((byte *)((int)pwStack_14c + *(int *)pwVar18));" (assignment_expression "iVar5 = (**(code **)(puStack_158 + -0x65b4))\n                                ((byte *)((int)pwStack_14c + *(int *)pwVar18))" identifier = (call_expression "(**(code **)(puStack_158 + -0x65b4))\n                                ((byte *)((int)pwStack_14c + *(int *)pwVar18))" (parenthesized_expression "(**(code **)(puStack_158 + -0x65b4))" ( (pointer_expression "**(code **)(puStack_158 + -0x65b4)" * (pointer_expression "*(code **)(puStack_158 + -0x65b4)" * (cast_expression "(code **)(puStack_158 + -0x65b4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x65b4)" ( (binary_expression "puStack_158 + -0x65b4" identifier + number_literal) ))))) )) (argument_list "((byte *)((int)pwStack_14c + *(int *)pwVar18))" ( (cast_expression "(byte *)((int)pwStack_14c + *(int *)pwVar18)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwStack_14c + *(int *)pwVar18)" ( (binary_expression "(int)pwStack_14c + *(int *)pwVar18" (cast_expression "(int)pwStack_14c" ( (type_descriptor "int" primitive_type) ) identifier) + (pointer_expression "*(int *)pwVar18" * (cast_expression "(int *)pwVar18" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ))) )))) ;) (if_statement "if (1 < iVar5) {\n                pwVar16 = (word *)((int)pwVar16 + iVar5 + -1);\n              }" if (parenthesized_expression "(1 < iVar5)" ( (binary_expression "1 < iVar5" number_literal < identifier) )) (compound_statement "{\n                pwVar16 = (word *)((int)pwVar16 + iVar5 + -1);\n              }" { (expression_statement "pwVar16 = (word *)((int)pwVar16 + iVar5 + -1);" (assignment_expression "pwVar16 = (word *)((int)pwVar16 + iVar5 + -1)" identifier = (cast_expression "(word *)((int)pwVar16 + iVar5 + -1)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwVar16 + iVar5 + -1)" ( (binary_expression "(int)pwVar16 + iVar5 + -1" (binary_expression "(int)pwVar16 + iVar5" (cast_expression "(int)pwVar16" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) ;) })) }))) (expression_statement "pwVar16 = (word *)((int)pwVar16 + 1);" (assignment_expression "pwVar16 = (word *)((int)pwVar16 + 1)" identifier = (cast_expression "(word *)((int)pwVar16 + 1)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwVar16 + 1)" ( (binary_expression "(int)pwVar16 + 1" (cast_expression "(int)pwVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);" (assignment_expression "param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18)" identifier = (cast_expression "(byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18)" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)*(byte *)((int)pwVar16 + *(int *)pwVar18)" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(byte *)((int)pwVar16 + *(int *)pwVar18)" * (cast_expression "(byte *)((int)pwVar16 + *(int *)pwVar18)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwVar16 + *(int *)pwVar18)" ( (binary_expression "(int)pwVar16 + *(int *)pwVar18" (cast_expression "(int)pwVar16" ( (type_descriptor "int" primitive_type) ) identifier) + (pointer_expression "*(int *)pwVar18" * (cast_expression "(int *)pwVar18" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )))))))) ;) (expression_statement "pwStack_14c = pwVar16;" (assignment_expression "pwStack_14c = pwVar16" identifier = identifier) ;) (if_statement "if (param_4 == (byte *)0x0) goto LAB_000fac1c;" if (parenthesized_expression "(param_4 == (byte *)0x0)" ( (binary_expression "param_4 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000fac1c;" goto statement_identifier ;)) (expression_statement "unaff_s4 = (word *)(int)(char)*(byte *)((int)pwVar16 + *(int *)(pwVar18 + 2));" (assignment_expression "unaff_s4 = (word *)(int)(char)*(byte *)((int)pwVar16 + *(int *)(pwVar18 + 2))" identifier = (cast_expression "(word *)(int)(char)*(byte *)((int)pwVar16 + *(int *)(pwVar18 + 2))" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)(char)*(byte *)((int)pwVar16 + *(int *)(pwVar18 + 2))" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)*(byte *)((int)pwVar16 + *(int *)(pwVar18 + 2))" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(byte *)((int)pwVar16 + *(int *)(pwVar18 + 2))" * (cast_expression "(byte *)((int)pwVar16 + *(int *)(pwVar18 + 2))" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwVar16 + *(int *)(pwVar18 + 2))" ( (binary_expression "(int)pwVar16 + *(int *)(pwVar18 + 2)" (cast_expression "(int)pwVar16" ( (type_descriptor "int" primitive_type) ) identifier) + (pointer_expression "*(int *)(pwVar18 + 2)" * (cast_expression "(int *)(pwVar18 + 2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pwVar18 + 2)" ( (binary_expression "pwVar18 + 2" identifier + number_literal) ))))) )))))))) ;) (expression_statement "bVar3 = (int)pwVar16 < (int)pwStack_140;" (assignment_expression "bVar3 = (int)pwVar16 < (int)pwStack_140" identifier = (binary_expression "(int)pwVar16 < (int)pwStack_140" (cast_expression "(int)pwVar16" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pwStack_140" ( (type_descriptor "int" primitive_type) ) identifier))) ;) }) while (parenthesized_expression "(unaff_s4 != (word *)0x0)" ( (binary_expression "unaff_s4 != (word *)0x0" identifier != (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) }) (else_clause "else {\n          pwVar16 = (word *)0x0;\n          unaff_s7 = (word *)&uStack_11c;\n          unaff_s6 = (word *)&uStack_114;\n          while( true ) {\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_148 = pwVar16;\n            pwStack_144 = pwVar18;\n            if (unaff_s4 == (word *)param_4) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))();\n              if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n                param_4 = *(byte **)unaff_s4;\n              }\n            }\n            unaff_s5 = (word *)&pbStack_120;\n            if (param_4 == (byte *)0x0) break;\n            pwStack_14c = (word *)(int)(char)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))\n            ;\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n            if ((unaff_s4 == pwStack_14c) &&\n               (piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0)) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n              unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n              pwStack_14c = *(word **)unaff_s4;\n            }\n            if (pwStack_14c == (word *)0x0) break;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\njoined_r0x000facac:\n              if ((word *)param_4 != pwStack_14c) break;\n            }\n            else {\n              pbVar24 = (byte *)((int)pwStack_148 + *(int *)pwStack_144);\n              uVar7 = (**(code **)(puStack_158 + -0x60fc))(pbVar24);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,pbVar24,uVar7,unaff_s7);\n              unaff_s4 = (word *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n              pwVar15 = (word *)(**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              pwVar14 = unaff_s4;\n              iVar5 = (**(code **)(puStack_158 + -0x6084))(&pbStack_120,unaff_s4,pwVar15,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar5 + 2U < 2)) goto joined_r0x000facac;\n              param_4 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_124);\n              pbStack_124 = param_4;\n              pbStack_120 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_120);\n              if (param_4 != pbStack_120) break;\n              if (1 < uStack_138) {\n                pwVar16 = (word *)((int)pwStack_148 + (uStack_138 - 1));\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\nLAB_000fac1c:\n          bVar3 = (int)pwVar16 < (int)pwStack_140;\n        }" else (compound_statement "{\n          pwVar16 = (word *)0x0;\n          unaff_s7 = (word *)&uStack_11c;\n          unaff_s6 = (word *)&uStack_114;\n          while( true ) {\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_148 = pwVar16;\n            pwStack_144 = pwVar18;\n            if (unaff_s4 == (word *)param_4) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))();\n              if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n                param_4 = *(byte **)unaff_s4;\n              }\n            }\n            unaff_s5 = (word *)&pbStack_120;\n            if (param_4 == (byte *)0x0) break;\n            pwStack_14c = (word *)(int)(char)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))\n            ;\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n            if ((unaff_s4 == pwStack_14c) &&\n               (piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0)) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n              unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n              pwStack_14c = *(word **)unaff_s4;\n            }\n            if (pwStack_14c == (word *)0x0) break;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\njoined_r0x000facac:\n              if ((word *)param_4 != pwStack_14c) break;\n            }\n            else {\n              pbVar24 = (byte *)((int)pwStack_148 + *(int *)pwStack_144);\n              uVar7 = (**(code **)(puStack_158 + -0x60fc))(pbVar24);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,pbVar24,uVar7,unaff_s7);\n              unaff_s4 = (word *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n              pwVar15 = (word *)(**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              pwVar14 = unaff_s4;\n              iVar5 = (**(code **)(puStack_158 + -0x6084))(&pbStack_120,unaff_s4,pwVar15,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar5 + 2U < 2)) goto joined_r0x000facac;\n              param_4 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_124);\n              pbStack_124 = param_4;\n              pbStack_120 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_120);\n              if (param_4 != pbStack_120) break;\n              if (1 < uStack_138) {\n                pwVar16 = (word *)((int)pwStack_148 + (uStack_138 - 1));\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\nLAB_000fac1c:\n          bVar3 = (int)pwVar16 < (int)pwStack_140;\n        }" { (expression_statement "pwVar16 = (word *)0x0;" (assignment_expression "pwVar16 = (word *)0x0" identifier = (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "unaff_s7 = (word *)&uStack_11c;" (assignment_expression "unaff_s7 = (word *)&uStack_11c" identifier = (cast_expression "(word *)&uStack_11c" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&uStack_11c" & identifier))) ;) (expression_statement "unaff_s6 = (word *)&uStack_114;" (assignment_expression "unaff_s6 = (word *)&uStack_114" identifier = (cast_expression "(word *)&uStack_114" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&uStack_114" & identifier))) ;) (while_statement "while( true ) {\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_148 = pwVar16;\n            pwStack_144 = pwVar18;\n            if (unaff_s4 == (word *)param_4) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))();\n              if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n                param_4 = *(byte **)unaff_s4;\n              }\n            }\n            unaff_s5 = (word *)&pbStack_120;\n            if (param_4 == (byte *)0x0) break;\n            pwStack_14c = (word *)(int)(char)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))\n            ;\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n            if ((unaff_s4 == pwStack_14c) &&\n               (piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0)) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n              unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n              pwStack_14c = *(word **)unaff_s4;\n            }\n            if (pwStack_14c == (word *)0x0) break;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\njoined_r0x000facac:\n              if ((word *)param_4 != pwStack_14c) break;\n            }\n            else {\n              pbVar24 = (byte *)((int)pwStack_148 + *(int *)pwStack_144);\n              uVar7 = (**(code **)(puStack_158 + -0x60fc))(pbVar24);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,pbVar24,uVar7,unaff_s7);\n              unaff_s4 = (word *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n              pwVar15 = (word *)(**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              pwVar14 = unaff_s4;\n              iVar5 = (**(code **)(puStack_158 + -0x6084))(&pbStack_120,unaff_s4,pwVar15,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar5 + 2U < 2)) goto joined_r0x000facac;\n              param_4 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_124);\n              pbStack_124 = param_4;\n              pbStack_120 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_120);\n              if (param_4 != pbStack_120) break;\n              if (1 < uStack_138) {\n                pwVar16 = (word *)((int)pwStack_148 + (uStack_138 - 1));\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_148 = pwVar16;\n            pwStack_144 = pwVar18;\n            if (unaff_s4 == (word *)param_4) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))();\n              if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n                param_4 = *(byte **)unaff_s4;\n              }\n            }\n            unaff_s5 = (word *)&pbStack_120;\n            if (param_4 == (byte *)0x0) break;\n            pwStack_14c = (word *)(int)(char)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))\n            ;\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n            if ((unaff_s4 == pwStack_14c) &&\n               (piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0)) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n              unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n              pwStack_14c = *(word **)unaff_s4;\n            }\n            if (pwStack_14c == (word *)0x0) break;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\njoined_r0x000facac:\n              if ((word *)param_4 != pwStack_14c) break;\n            }\n            else {\n              pbVar24 = (byte *)((int)pwStack_148 + *(int *)pwStack_144);\n              uVar7 = (**(code **)(puStack_158 + -0x60fc))(pbVar24);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,pbVar24,uVar7,unaff_s7);\n              unaff_s4 = (word *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n              pwVar15 = (word *)(**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              pwVar14 = unaff_s4;\n              iVar5 = (**(code **)(puStack_158 + -0x6084))(&pbStack_120,unaff_s4,pwVar15,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar5 + 2U < 2)) goto joined_r0x000facac;\n              param_4 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_124);\n              pbStack_124 = param_4;\n              pbStack_120 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_120);\n              if (param_4 != pbStack_120) break;\n              if (1 < uStack_138) {\n                pwVar16 = (word *)((int)pwStack_148 + (uStack_138 - 1));\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }" { (expression_statement "param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);" (assignment_expression "param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18)" identifier = (cast_expression "(byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18)" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)*(byte *)((int)pwVar16 + *(int *)pwVar18)" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(byte *)((int)pwVar16 + *(int *)pwVar18)" * (cast_expression "(byte *)((int)pwVar16 + *(int *)pwVar18)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwVar16 + *(int *)pwVar18)" ( (binary_expression "(int)pwVar16 + *(int *)pwVar18" (cast_expression "(int)pwVar16" ( (type_descriptor "int" primitive_type) ) identifier) + (pointer_expression "*(int *)pwVar18" * (cast_expression "(int *)pwVar18" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )))))))) ;) (expression_statement "unaff_s4 = (word *)(uint)*(byte *)((int)pwVar16 + *(int *)pwVar18);" (assignment_expression "unaff_s4 = (word *)(uint)*(byte *)((int)pwVar16 + *(int *)pwVar18)" identifier = (binary_expression "(word *)(uint)*(byte *)((int)pwVar16 + *(int *)pwVar18)" (cast_expression "(word *)(uint)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(byte *)((int)pwVar16 + *(int *)pwVar18)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwVar16 + *(int *)pwVar18)" ( (binary_expression "(int)pwVar16 + *(int *)pwVar18" (cast_expression "(int)pwVar16" ( (type_descriptor "int" primitive_type) ) identifier) + (pointer_expression "*(int *)pwVar18" * (cast_expression "(int *)pwVar18" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ))))) ;) (expression_statement "pwStack_148 = pwVar16;" (assignment_expression "pwStack_148 = pwVar16" identifier = identifier) ;) (expression_statement "pwStack_144 = pwVar18;" (assignment_expression "pwStack_144 = pwVar18" identifier = identifier) ;) (if_statement "if (unaff_s4 == (word *)param_4) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))();\n              if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n                param_4 = *(byte **)unaff_s4;\n              }\n            }" if (parenthesized_expression "(unaff_s4 == (word *)param_4)" ( (binary_expression "unaff_s4 == (word *)param_4" identifier == (cast_expression "(word *)param_4" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (compound_statement "{\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))();\n              if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n                param_4 = *(byte **)unaff_s4;\n              }\n            }" { (expression_statement "piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))();" (assignment_expression "piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))()" identifier = (cast_expression "(int *)(**(code **)(puStack_158 + -0x6290))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puStack_158 + -0x6290))()" (parenthesized_expression "(**(code **)(puStack_158 + -0x6290))" ( (pointer_expression "**(code **)(puStack_158 + -0x6290)" * (pointer_expression "*(code **)(puStack_158 + -0x6290)" * (cast_expression "(code **)(puStack_158 + -0x6290)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x6290)" ( (binary_expression "puStack_158 + -0x6290" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (if_statement "if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n                param_4 = *(byte **)unaff_s4;\n              }" if (parenthesized_expression "((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0)" ( (binary_expression "(*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0" (parenthesized_expression "(*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1)" ( (binary_expression "*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1" (pointer_expression "*(ushort *)(*piVar9 + (int)unaff_s4 * 2)" * (cast_expression "(ushort *)(*piVar9 + (int)unaff_s4 * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar9 + (int)unaff_s4 * 2)" ( (binary_expression "*piVar9 + (int)unaff_s4 * 2" (pointer_expression "*piVar9" * identifier) + (binary_expression "(int)unaff_s4 * 2" (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n                piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n                param_4 = *(byte **)unaff_s4;\n              }" { (expression_statement "piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();" (assignment_expression "piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))()" identifier = (cast_expression "(int *)(**(code **)(puStack_158 + -0x628c))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puStack_158 + -0x628c))()" (parenthesized_expression "(**(code **)(puStack_158 + -0x628c))" ( (pointer_expression "**(code **)(puStack_158 + -0x628c)" * (pointer_expression "*(code **)(puStack_158 + -0x628c)" * (cast_expression "(code **)(puStack_158 + -0x628c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x628c)" ( (binary_expression "puStack_158 + -0x628c" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);" (assignment_expression "unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4)" identifier = (cast_expression "(word *)(*piVar9 + (int)unaff_s4 * 4)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar9 + (int)unaff_s4 * 4)" ( (binary_expression "*piVar9 + (int)unaff_s4 * 4" (pointer_expression "*piVar9" * identifier) + (binary_expression "(int)unaff_s4 * 4" (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) ;) (expression_statement "param_4 = *(byte **)unaff_s4;" (assignment_expression "param_4 = *(byte **)unaff_s4" identifier = (pointer_expression "*(byte **)unaff_s4" * (cast_expression "(byte **)unaff_s4" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) })) })) (expression_statement "unaff_s5 = (word *)&pbStack_120;" (assignment_expression "unaff_s5 = (word *)&pbStack_120" identifier = (cast_expression "(word *)&pbStack_120" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pbStack_120" & identifier))) ;) (if_statement "if (param_4 == (byte *)0x0) break;" if (parenthesized_expression "(param_4 == (byte *)0x0)" ( (binary_expression "param_4 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "pwStack_14c = (word *)(int)(char)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))\n            ;" (assignment_expression "pwStack_14c = (word *)(int)(char)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))" identifier = (cast_expression "(word *)(int)(char)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)(char)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))" * (cast_expression "(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwStack_148 + *(int *)(pwStack_144 + 2))" ( (binary_expression "(int)pwStack_148 + *(int *)(pwStack_144 + 2)" (cast_expression "(int)pwStack_148" ( (type_descriptor "int" primitive_type) ) identifier) + (pointer_expression "*(int *)(pwStack_144 + 2)" * (cast_expression "(int *)(pwStack_144 + 2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pwStack_144 + 2)" ( (binary_expression "pwStack_144 + 2" identifier + number_literal) ))))) )))))))) ;) (expression_statement "unaff_s4 = (word *)(uint)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));" (assignment_expression "unaff_s4 = (word *)(uint)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))" identifier = (binary_expression "(word *)(uint)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))" (cast_expression "(word *)(uint)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwStack_148 + *(int *)(pwStack_144 + 2))" ( (binary_expression "(int)pwStack_148 + *(int *)(pwStack_144 + 2)" (cast_expression "(int)pwStack_148" ( (type_descriptor "int" primitive_type) ) identifier) + (pointer_expression "*(int *)(pwStack_144 + 2)" * (cast_expression "(int *)(pwStack_144 + 2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pwStack_144 + 2)" ( (binary_expression "pwStack_144 + 2" identifier + number_literal) ))))) ))))) ;) (if_statement "if ((unaff_s4 == pwStack_14c) &&\n               (piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0)) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n              unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n              pwStack_14c = *(word **)unaff_s4;\n            }" if (parenthesized_expression "((unaff_s4 == pwStack_14c) &&\n               (piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0))" ( (binary_expression "(unaff_s4 == pwStack_14c) &&\n               (piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0)" (parenthesized_expression "(unaff_s4 == pwStack_14c)" ( (binary_expression "unaff_s4 == pwStack_14c" identifier == identifier) )) && (parenthesized_expression "(piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0)" ( (comma_expression "piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0" (assignment_expression "piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))()" identifier = (cast_expression "(int *)(**(code **)(puStack_158 + -0x6290))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puStack_158 + -0x6290))()" (parenthesized_expression "(**(code **)(puStack_158 + -0x6290))" ( (pointer_expression "**(code **)(puStack_158 + -0x6290)" * (pointer_expression "*(code **)(puStack_158 + -0x6290)" * (cast_expression "(code **)(puStack_158 + -0x6290)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x6290)" ( (binary_expression "puStack_158 + -0x6290" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) , (binary_expression "(*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0" (parenthesized_expression "(*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1)" ( (binary_expression "*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1" (pointer_expression "*(ushort *)(*piVar9 + (int)unaff_s4 * 2)" * (cast_expression "(ushort *)(*piVar9 + (int)unaff_s4 * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar9 + (int)unaff_s4 * 2)" ( (binary_expression "*piVar9 + (int)unaff_s4 * 2" (pointer_expression "*piVar9" * identifier) + (binary_expression "(int)unaff_s4 * 2" (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) & number_literal) )) != number_literal)) ))) )) (compound_statement "{\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n              unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n              pwStack_14c = *(word **)unaff_s4;\n            }" { (expression_statement "piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();" (assignment_expression "piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))()" identifier = (cast_expression "(int *)(**(code **)(puStack_158 + -0x628c))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puStack_158 + -0x628c))()" (parenthesized_expression "(**(code **)(puStack_158 + -0x628c))" ( (pointer_expression "**(code **)(puStack_158 + -0x628c)" * (pointer_expression "*(code **)(puStack_158 + -0x628c)" * (cast_expression "(code **)(puStack_158 + -0x628c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x628c)" ( (binary_expression "puStack_158 + -0x628c" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);" (assignment_expression "unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4)" identifier = (cast_expression "(word *)(*piVar9 + (int)unaff_s4 * 4)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar9 + (int)unaff_s4 * 4)" ( (binary_expression "*piVar9 + (int)unaff_s4 * 4" (pointer_expression "*piVar9" * identifier) + (binary_expression "(int)unaff_s4 * 4" (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) ;) (expression_statement "pwStack_14c = *(word **)unaff_s4;" (assignment_expression "pwStack_14c = *(word **)unaff_s4" identifier = (pointer_expression "*(word **)unaff_s4" * (cast_expression "(word **)unaff_s4" ( (type_descriptor "word **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) })) (if_statement "if (pwStack_14c == (word *)0x0) break;" if (parenthesized_expression "(pwStack_14c == (word *)0x0)" ( (binary_expression "pwStack_14c == (word *)0x0" identifier == (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "uVar4 = (**(code **)(puStack_158 + -0x6060))();" (assignment_expression "uVar4 = (**(code **)(puStack_158 + -0x6060))()" identifier = (call_expression "(**(code **)(puStack_158 + -0x6060))()" (parenthesized_expression "(**(code **)(puStack_158 + -0x6060))" ( (pointer_expression "**(code **)(puStack_158 + -0x6060)" * (pointer_expression "*(code **)(puStack_158 + -0x6060)" * (cast_expression "(code **)(puStack_158 + -0x6060)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x6060)" ( (binary_expression "puStack_158 + -0x6060" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\njoined_r0x000facac:\n              if ((word *)param_4 != pwStack_14c) break;\n            }\n            else {\n              pbVar24 = (byte *)((int)pwStack_148 + *(int *)pwStack_144);\n              uVar7 = (**(code **)(puStack_158 + -0x60fc))(pbVar24);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,pbVar24,uVar7,unaff_s7);\n              unaff_s4 = (word *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n              pwVar15 = (word *)(**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              pwVar14 = unaff_s4;\n              iVar5 = (**(code **)(puStack_158 + -0x6084))(&pbStack_120,unaff_s4,pwVar15,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar5 + 2U < 2)) goto joined_r0x000facac;\n              param_4 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_124);\n              pbStack_124 = param_4;\n              pbStack_120 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_120);\n              if (param_4 != pbStack_120) break;\n              if (1 < uStack_138) {\n                pwVar16 = (word *)((int)pwStack_148 + (uStack_138 - 1));\n              }\n            }" if (parenthesized_expression "((uVar4 < 2) || (*(int *)unaff_s3 != 0))" ( (binary_expression "(uVar4 < 2) || (*(int *)unaff_s3 != 0)" (parenthesized_expression "(uVar4 < 2)" ( (binary_expression "uVar4 < 2" identifier < number_literal) )) || (parenthesized_expression "(*(int *)unaff_s3 != 0)" ( (binary_expression "*(int *)unaff_s3 != 0" (pointer_expression "*(int *)unaff_s3" * (cast_expression "(int *)unaff_s3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) ))) )) (compound_statement "{\njoined_r0x000facac:\n              if ((word *)param_4 != pwStack_14c) break;\n            }" { (labeled_statement "joined_r0x000facac:\n              if ((word *)param_4 != pwStack_14c) break;" statement_identifier : (if_statement "if ((word *)param_4 != pwStack_14c) break;" if (parenthesized_expression "((word *)param_4 != pwStack_14c)" ( (binary_expression "(word *)param_4 != pwStack_14c" (cast_expression "(word *)param_4" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) != identifier) )) (break_statement "break;" break ;))) }) (else_clause "else {\n              pbVar24 = (byte *)((int)pwStack_148 + *(int *)pwStack_144);\n              uVar7 = (**(code **)(puStack_158 + -0x60fc))(pbVar24);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,pbVar24,uVar7,unaff_s7);\n              unaff_s4 = (word *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n              pwVar15 = (word *)(**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              pwVar14 = unaff_s4;\n              iVar5 = (**(code **)(puStack_158 + -0x6084))(&pbStack_120,unaff_s4,pwVar15,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar5 + 2U < 2)) goto joined_r0x000facac;\n              param_4 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_124);\n              pbStack_124 = param_4;\n              pbStack_120 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_120);\n              if (param_4 != pbStack_120) break;\n              if (1 < uStack_138) {\n                pwVar16 = (word *)((int)pwStack_148 + (uStack_138 - 1));\n              }\n            }" else (compound_statement "{\n              pbVar24 = (byte *)((int)pwStack_148 + *(int *)pwStack_144);\n              uVar7 = (**(code **)(puStack_158 + -0x60fc))(pbVar24);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,pbVar24,uVar7,unaff_s7);\n              unaff_s4 = (word *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n              pwVar15 = (word *)(**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              pwVar14 = unaff_s4;\n              iVar5 = (**(code **)(puStack_158 + -0x6084))(&pbStack_120,unaff_s4,pwVar15,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar5 + 2U < 2)) goto joined_r0x000facac;\n              param_4 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_124);\n              pbStack_124 = param_4;\n              pbStack_120 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_120);\n              if (param_4 != pbStack_120) break;\n              if (1 < uStack_138) {\n                pwVar16 = (word *)((int)pwStack_148 + (uStack_138 - 1));\n              }\n            }" { (expression_statement "pbVar24 = (byte *)((int)pwStack_148 + *(int *)pwStack_144);" (assignment_expression "pbVar24 = (byte *)((int)pwStack_148 + *(int *)pwStack_144)" identifier = (cast_expression "(byte *)((int)pwStack_148 + *(int *)pwStack_144)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwStack_148 + *(int *)pwStack_144)" ( (binary_expression "(int)pwStack_148 + *(int *)pwStack_144" (cast_expression "(int)pwStack_148" ( (type_descriptor "int" primitive_type) ) identifier) + (pointer_expression "*(int *)pwStack_144" * (cast_expression "(int *)pwStack_144" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )))) ;) (expression_statement "uVar7 = (**(code **)(puStack_158 + -0x60fc))(pbVar24);" (assignment_expression "uVar7 = (**(code **)(puStack_158 + -0x60fc))(pbVar24)" identifier = (call_expression "(**(code **)(puStack_158 + -0x60fc))(pbVar24)" (parenthesized_expression "(**(code **)(puStack_158 + -0x60fc))" ( (pointer_expression "**(code **)(puStack_158 + -0x60fc)" * (pointer_expression "*(code **)(puStack_158 + -0x60fc)" * (cast_expression "(code **)(puStack_158 + -0x60fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x60fc)" ( (binary_expression "puStack_158 + -0x60fc" identifier + number_literal) ))))) )) (argument_list "(pbVar24)" ( identifier )))) ;) (expression_statement "uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,pbVar24,uVar7,unaff_s7);" (assignment_expression "uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,pbVar24,uVar7,unaff_s7)" identifier = (call_expression "(**(code **)(puStack_158 + -0x6084))(unaff_s8,pbVar24,uVar7,unaff_s7)" (parenthesized_expression "(**(code **)(puStack_158 + -0x6084))" ( (pointer_expression "**(code **)(puStack_158 + -0x6084)" * (pointer_expression "*(code **)(puStack_158 + -0x6084)" * (cast_expression "(code **)(puStack_158 + -0x6084)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x6084)" ( (binary_expression "puStack_158 + -0x6084" identifier + number_literal) ))))) )) (argument_list "(unaff_s8,pbVar24,uVar7,unaff_s7)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "unaff_s4 = (word *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));" (assignment_expression "unaff_s4 = (word *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))" identifier = (cast_expression "(word *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwStack_148 + *(int *)(pwStack_144 + 2))" ( (binary_expression "(int)pwStack_148 + *(int *)(pwStack_144 + 2)" (cast_expression "(int)pwStack_148" ( (type_descriptor "int" primitive_type) ) identifier) + (pointer_expression "*(int *)(pwStack_144 + 2)" * (cast_expression "(int *)(pwStack_144 + 2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pwStack_144 + 2)" ( (binary_expression "pwStack_144 + 2" identifier + number_literal) ))))) )))) ;) (expression_statement "pwVar15 = (word *)(**(code **)(puStack_158 + -0x60fc))(unaff_s4);" (assignment_expression "pwVar15 = (word *)(**(code **)(puStack_158 + -0x60fc))(unaff_s4)" identifier = (cast_expression "(word *)(**(code **)(puStack_158 + -0x60fc))(unaff_s4)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puStack_158 + -0x60fc))(unaff_s4)" (parenthesized_expression "(**(code **)(puStack_158 + -0x60fc))" ( (pointer_expression "**(code **)(puStack_158 + -0x60fc)" * (pointer_expression "*(code **)(puStack_158 + -0x60fc)" * (cast_expression "(code **)(puStack_158 + -0x60fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x60fc)" ( (binary_expression "puStack_158 + -0x60fc" identifier + number_literal) ))))) )) (argument_list "(unaff_s4)" ( identifier ))))) ;) (expression_statement "pwVar14 = unaff_s4;" (assignment_expression "pwVar14 = unaff_s4" identifier = identifier) ;) (expression_statement "iVar5 = (**(code **)(puStack_158 + -0x6084))(&pbStack_120,unaff_s4,pwVar15,unaff_s6);" (assignment_expression "iVar5 = (**(code **)(puStack_158 + -0x6084))(&pbStack_120,unaff_s4,pwVar15,unaff_s6)" identifier = (call_expression "(**(code **)(puStack_158 + -0x6084))(&pbStack_120,unaff_s4,pwVar15,unaff_s6)" (parenthesized_expression "(**(code **)(puStack_158 + -0x6084))" ( (pointer_expression "**(code **)(puStack_158 + -0x6084)" * (pointer_expression "*(code **)(puStack_158 + -0x6084)" * (cast_expression "(code **)(puStack_158 + -0x6084)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x6084)" ( (binary_expression "puStack_158 + -0x6084" identifier + number_literal) ))))) )) (argument_list "(&pbStack_120,unaff_s4,pwVar15,unaff_s6)" ( (pointer_expression "&pbStack_120" & identifier) , identifier , identifier , identifier )))) ;) (if_statement "if ((uStack_138 + 2 < 2) || (iVar5 + 2U < 2)) goto joined_r0x000facac;" if (parenthesized_expression "((uStack_138 + 2 < 2) || (iVar5 + 2U < 2))" ( (binary_expression "(uStack_138 + 2 < 2) || (iVar5 + 2U < 2)" (parenthesized_expression "(uStack_138 + 2 < 2)" ( (binary_expression "uStack_138 + 2 < 2" (binary_expression "uStack_138 + 2" identifier + number_literal) < number_literal) )) || (parenthesized_expression "(iVar5 + 2U < 2)" ( (binary_expression "iVar5 + 2U < 2" (binary_expression "iVar5 + 2U" identifier + number_literal) < number_literal) ))) )) (goto_statement "goto joined_r0x000facac;" goto statement_identifier ;)) (expression_statement "param_4 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_124);" (assignment_expression "param_4 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_124)" identifier = (cast_expression "(byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_124)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puStack_158 + -0x5fc8))(pbStack_124)" (parenthesized_expression "(**(code **)(puStack_158 + -0x5fc8))" ( (pointer_expression "**(code **)(puStack_158 + -0x5fc8)" * (pointer_expression "*(code **)(puStack_158 + -0x5fc8)" * (cast_expression "(code **)(puStack_158 + -0x5fc8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x5fc8)" ( (binary_expression "puStack_158 + -0x5fc8" identifier + number_literal) ))))) )) (argument_list "(pbStack_124)" ( identifier ))))) ;) (expression_statement "pbStack_124 = param_4;" (assignment_expression "pbStack_124 = param_4" identifier = identifier) ;) (expression_statement "pbStack_120 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_120);" (assignment_expression "pbStack_120 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_120)" identifier = (cast_expression "(byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_120)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puStack_158 + -0x5fc8))(pbStack_120)" (parenthesized_expression "(**(code **)(puStack_158 + -0x5fc8))" ( (pointer_expression "**(code **)(puStack_158 + -0x5fc8)" * (pointer_expression "*(code **)(puStack_158 + -0x5fc8)" * (cast_expression "(code **)(puStack_158 + -0x5fc8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x5fc8)" ( (binary_expression "puStack_158 + -0x5fc8" identifier + number_literal) ))))) )) (argument_list "(pbStack_120)" ( identifier ))))) ;) (if_statement "if (param_4 != pbStack_120) break;" if (parenthesized_expression "(param_4 != pbStack_120)" ( (binary_expression "param_4 != pbStack_120" identifier != identifier) )) (break_statement "break;" break ;)) (if_statement "if (1 < uStack_138) {\n                pwVar16 = (word *)((int)pwStack_148 + (uStack_138 - 1));\n              }" if (parenthesized_expression "(1 < uStack_138)" ( (binary_expression "1 < uStack_138" number_literal < identifier) )) (compound_statement "{\n                pwVar16 = (word *)((int)pwStack_148 + (uStack_138 - 1));\n              }" { (expression_statement "pwVar16 = (word *)((int)pwStack_148 + (uStack_138 - 1));" (assignment_expression "pwVar16 = (word *)((int)pwStack_148 + (uStack_138 - 1))" identifier = (cast_expression "(word *)((int)pwStack_148 + (uStack_138 - 1))" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwStack_148 + (uStack_138 - 1))" ( (binary_expression "(int)pwStack_148 + (uStack_138 - 1)" (cast_expression "(int)pwStack_148" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(uStack_138 - 1)" ( (binary_expression "uStack_138 - 1" identifier - number_literal) ))) )))) ;) })) }))) (expression_statement "pwVar16 = (word *)((int)pwVar16 + 1);" (assignment_expression "pwVar16 = (word *)((int)pwVar16 + 1)" identifier = (cast_expression "(word *)((int)pwVar16 + 1)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwVar16 + 1)" ( (binary_expression "(int)pwVar16 + 1" (cast_expression "(int)pwVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) (labeled_statement "LAB_000fac1c:\n          bVar3 = (int)pwVar16 < (int)pwStack_140;" statement_identifier : (expression_statement "bVar3 = (int)pwVar16 < (int)pwStack_140;" (assignment_expression "bVar3 = (int)pwVar16 < (int)pwStack_140" identifier = (binary_expression "(int)pwVar16 < (int)pwStack_140" (cast_expression "(int)pwVar16" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pwStack_140" ( (type_descriptor "int" primitive_type) ) identifier))) ;)) }))) (expression_statement "pwVar6 = pwStack_130;" (assignment_expression "pwVar6 = pwStack_130" identifier = identifier) ;) (if_statement "if (bVar3) {\n          pwStack_140 = pwVar16;\n        }" if (parenthesized_expression "(bVar3)" ( identifier )) (compound_statement "{\n          pwStack_140 = pwVar16;\n        }" { (expression_statement "pwStack_140 = pwVar16;" (assignment_expression "pwStack_140 = pwVar16" identifier = identifier) ;) })) (expression_statement "pwStack_13c = (word *)((int)pwStack_13c + 1);" (assignment_expression "pwStack_13c = (word *)((int)pwStack_13c + 1)" identifier = (cast_expression "(word *)((int)pwStack_13c + 1)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwStack_13c + 1)" ( (binary_expression "(int)pwStack_13c + 1" (cast_expression "(int)pwStack_13c" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pwVar18 = pwVar18 + 2;" (assignment_expression "pwVar18 = pwVar18 + 2" identifier = (binary_expression "pwVar18 + 2" identifier + number_literal)) ;) }) while (parenthesized_expression "(param_2 != pwStack_13c)" ( (binary_expression "param_2 != pwStack_13c" identifier != identifier) )) ;) (expression_statement "unaff_s2 = pwVar18;" (assignment_expression "unaff_s2 = pwVar18" identifier = identifier) ;) (if_statement "if (((pwStack_140 == (word *)0x0) && (pwStack_130 != (word *)0x0)) &&\n         (pwVar16 = pwStack_130, *(byte *)pwStack_130 != 0)) {\n        iVar5 = (**(code **)(puStack_158 + -0x60fc))(pwStack_130);\n        iVar5 = (**(code **)(puStack_158 + -0x7f88))(iVar5 + 1);\n        *piStack_12c = iVar5;\n        pwVar14 = pwVar6;\n        (**(code **)(puStack_158 + -0x6074))(iVar5);\n        pwVar16 = pwVar6;\n        goto LAB_000fb1f0;\n      }" if (parenthesized_expression "(((pwStack_140 == (word *)0x0) && (pwStack_130 != (word *)0x0)) &&\n         (pwVar16 = pwStack_130, *(byte *)pwStack_130 != 0))" ( (binary_expression "((pwStack_140 == (word *)0x0) && (pwStack_130 != (word *)0x0)) &&\n         (pwVar16 = pwStack_130, *(byte *)pwStack_130 != 0)" (parenthesized_expression "((pwStack_140 == (word *)0x0) && (pwStack_130 != (word *)0x0))" ( (binary_expression "(pwStack_140 == (word *)0x0) && (pwStack_130 != (word *)0x0)" (parenthesized_expression "(pwStack_140 == (word *)0x0)" ( (binary_expression "pwStack_140 == (word *)0x0" identifier == (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(pwStack_130 != (word *)0x0)" ( (binary_expression "pwStack_130 != (word *)0x0" identifier != (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) && (parenthesized_expression "(pwVar16 = pwStack_130, *(byte *)pwStack_130 != 0)" ( (comma_expression "pwVar16 = pwStack_130, *(byte *)pwStack_130 != 0" (assignment_expression "pwVar16 = pwStack_130" identifier = identifier) , (binary_expression "*(byte *)pwStack_130 != 0" (pointer_expression "*(byte *)pwStack_130" * (cast_expression "(byte *)pwStack_130" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal)) ))) )) (compound_statement "{\n        iVar5 = (**(code **)(puStack_158 + -0x60fc))(pwStack_130);\n        iVar5 = (**(code **)(puStack_158 + -0x7f88))(iVar5 + 1);\n        *piStack_12c = iVar5;\n        pwVar14 = pwVar6;\n        (**(code **)(puStack_158 + -0x6074))(iVar5);\n        pwVar16 = pwVar6;\n        goto LAB_000fb1f0;\n      }" { (expression_statement "iVar5 = (**(code **)(puStack_158 + -0x60fc))(pwStack_130);" (assignment_expression "iVar5 = (**(code **)(puStack_158 + -0x60fc))(pwStack_130)" identifier = (call_expression "(**(code **)(puStack_158 + -0x60fc))(pwStack_130)" (parenthesized_expression "(**(code **)(puStack_158 + -0x60fc))" ( (pointer_expression "**(code **)(puStack_158 + -0x60fc)" * (pointer_expression "*(code **)(puStack_158 + -0x60fc)" * (cast_expression "(code **)(puStack_158 + -0x60fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x60fc)" ( (binary_expression "puStack_158 + -0x60fc" identifier + number_literal) ))))) )) (argument_list "(pwStack_130)" ( identifier )))) ;) (expression_statement "iVar5 = (**(code **)(puStack_158 + -0x7f88))(iVar5 + 1);" (assignment_expression "iVar5 = (**(code **)(puStack_158 + -0x7f88))(iVar5 + 1)" identifier = (call_expression "(**(code **)(puStack_158 + -0x7f88))(iVar5 + 1)" (parenthesized_expression "(**(code **)(puStack_158 + -0x7f88))" ( (pointer_expression "**(code **)(puStack_158 + -0x7f88)" * (pointer_expression "*(code **)(puStack_158 + -0x7f88)" * (cast_expression "(code **)(puStack_158 + -0x7f88)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x7f88)" ( (binary_expression "puStack_158 + -0x7f88" identifier + number_literal) ))))) )) (argument_list "(iVar5 + 1)" ( (binary_expression "iVar5 + 1" identifier + number_literal) )))) ;) (expression_statement "*piStack_12c = iVar5;" (assignment_expression "*piStack_12c = iVar5" (pointer_expression "*piStack_12c" * identifier) = identifier) ;) (expression_statement "pwVar14 = pwVar6;" (assignment_expression "pwVar14 = pwVar6" identifier = identifier) ;) (expression_statement "(**(code **)(puStack_158 + -0x6074))(iVar5);" (call_expression "(**(code **)(puStack_158 + -0x6074))(iVar5)" (parenthesized_expression "(**(code **)(puStack_158 + -0x6074))" ( (pointer_expression "**(code **)(puStack_158 + -0x6074)" * (pointer_expression "*(code **)(puStack_158 + -0x6074)" * (cast_expression "(code **)(puStack_158 + -0x6074)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x6074)" ( (binary_expression "puStack_158 + -0x6074" identifier + number_literal) ))))) )) (argument_list "(iVar5)" ( identifier ))) ;) (expression_statement "pwVar16 = pwVar6;" (assignment_expression "pwVar16 = pwVar6" identifier = identifier) ;) (goto_statement "goto LAB_000fb1f0;" goto statement_identifier ;) })) }))) (expression_statement "iVar5 = (**(code **)(puStack_158 + -0x7f88))((byte *)((int)pwStack_140 + 1));" (assignment_expression "iVar5 = (**(code **)(puStack_158 + -0x7f88))((byte *)((int)pwStack_140 + 1))" identifier = (call_expression "(**(code **)(puStack_158 + -0x7f88))((byte *)((int)pwStack_140 + 1))" (parenthesized_expression "(**(code **)(puStack_158 + -0x7f88))" ( (pointer_expression "**(code **)(puStack_158 + -0x7f88)" * (pointer_expression "*(code **)(puStack_158 + -0x7f88)" * (cast_expression "(code **)(puStack_158 + -0x7f88)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x7f88)" ( (binary_expression "puStack_158 + -0x7f88" identifier + number_literal) ))))) )) (argument_list "((byte *)((int)pwStack_140 + 1))" ( (cast_expression "(byte *)((int)pwStack_140 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwStack_140 + 1)" ( (binary_expression "(int)pwStack_140 + 1" (cast_expression "(int)pwStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) )))) ;) (expression_statement "*piStack_12c = iVar5;" (assignment_expression "*piStack_12c = iVar5" (pointer_expression "*piStack_12c" * identifier) = identifier) ;) (if_statement "if (**(int **)(puStack_158 + -0x65bc) == 0) {\n      pwVar14 = (word *)piStack_12c[1];\n      pwVar15 = pwStack_140;\n      (**(code **)(puStack_158 + -0x615c))(iVar5);\n    }\n    else {\n      unaff_s3 = (word *)0x0;\n      if (**(int **)(puStack_158 + -0x6f0c) != 0) {\n        if ((code *)**(undefined4 **)(puStack_158 + -0x6de4) == (code *)0x0) {\n          unaff_s3 = (word *)0x0;\n        }\n        else if ((**(int **)(puStack_158 + -0x6f38) != 0) &&\n                (**(int **)(puStack_158 + -0x702c) != 0)) {\n          pwVar14 = (word *)**(undefined4 **)(puStack_158 + -0x6f34);\n          unaff_s3 = (word *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(pwStack_130);\n          pwStack_130 = unaff_s3;\n        }\n      }\n      if (**(int **)(puStack_158 + -0x6f10) != 0) {\n        pwVar14 = param_2;\n        (**(code **)(puStack_158 + -0x6218))\n                  (piStack_12c + 1,param_2,4,*(undefined4 *)(puStack_158 + -0x6660));\n      }\n      pwVar16 = (word *)(**(code **)(puStack_158 + -0x60fc))(pwStack_130);\n      unaff_s4 = pwStack_140;\n      if ((int)pwVar16 <= (int)pwStack_140) {\n        unaff_s4 = pwVar16;\n      }\n      if ((int)param_2 < 1) {\n        pwVar16 = (word *)0x1;\nLAB_000fb1a8:\n        pwVar16 = (word *)(uint)((int)param_2 < (int)pwVar16);\n        pwVar15 = pwStack_140;\n        if (pwVar16 != (word *)0x0) goto LAB_000fb12c;\n      }\n      else {\n        param_4 = (byte *)(piStack_12c + 1);\n        pwVar16 = (word *)0x1;\n        do {\n          unaff_s2 = *(word **)param_4;\n          iVar5 = (**(code **)(puStack_158 + -0x6238))(unaff_s2,pwStack_130,unaff_s4);\n          if (iVar5 == 0) {\n            pwVar14 = unaff_s2;\n            (**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,pwStack_140);\n            goto LAB_000fb1a8;\n          }\n          pwVar16 = (word *)((int)pwVar16 + 1);\n          param_4 = param_4 + 4;\n        } while ((int)pwVar16 <= (int)param_2);\nLAB_000fb12c:\n        pwVar14 = (word *)piStack_12c[1];\n        pwVar15 = pwStack_140;\n        (**(code **)(puStack_158 + -0x615c))(*piStack_12c);\n      }\n      if (unaff_s3 != (word *)0x0) {\n        (**(code **)(puStack_158 + -0x5f94))(unaff_s3);\n      }\n    }" if (parenthesized_expression "(**(int **)(puStack_158 + -0x65bc) == 0)" ( (binary_expression "**(int **)(puStack_158 + -0x65bc) == 0" (pointer_expression "**(int **)(puStack_158 + -0x65bc)" * (pointer_expression "*(int **)(puStack_158 + -0x65bc)" * (cast_expression "(int **)(puStack_158 + -0x65bc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x65bc)" ( (binary_expression "puStack_158 + -0x65bc" identifier + number_literal) ))))) == number_literal) )) (compound_statement "{\n      pwVar14 = (word *)piStack_12c[1];\n      pwVar15 = pwStack_140;\n      (**(code **)(puStack_158 + -0x615c))(iVar5);\n    }" { (expression_statement "pwVar14 = (word *)piStack_12c[1];" (assignment_expression "pwVar14 = (word *)piStack_12c[1]" identifier = (cast_expression "(word *)piStack_12c[1]" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piStack_12c[1]" identifier [ number_literal ]))) ;) (expression_statement "pwVar15 = pwStack_140;" (assignment_expression "pwVar15 = pwStack_140" identifier = identifier) ;) (expression_statement "(**(code **)(puStack_158 + -0x615c))(iVar5);" (call_expression "(**(code **)(puStack_158 + -0x615c))(iVar5)" (parenthesized_expression "(**(code **)(puStack_158 + -0x615c))" ( (pointer_expression "**(code **)(puStack_158 + -0x615c)" * (pointer_expression "*(code **)(puStack_158 + -0x615c)" * (cast_expression "(code **)(puStack_158 + -0x615c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x615c)" ( (binary_expression "puStack_158 + -0x615c" identifier + number_literal) ))))) )) (argument_list "(iVar5)" ( identifier ))) ;) }) (else_clause "else {\n      unaff_s3 = (word *)0x0;\n      if (**(int **)(puStack_158 + -0x6f0c) != 0) {\n        if ((code *)**(undefined4 **)(puStack_158 + -0x6de4) == (code *)0x0) {\n          unaff_s3 = (word *)0x0;\n        }\n        else if ((**(int **)(puStack_158 + -0x6f38) != 0) &&\n                (**(int **)(puStack_158 + -0x702c) != 0)) {\n          pwVar14 = (word *)**(undefined4 **)(puStack_158 + -0x6f34);\n          unaff_s3 = (word *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(pwStack_130);\n          pwStack_130 = unaff_s3;\n        }\n      }\n      if (**(int **)(puStack_158 + -0x6f10) != 0) {\n        pwVar14 = param_2;\n        (**(code **)(puStack_158 + -0x6218))\n                  (piStack_12c + 1,param_2,4,*(undefined4 *)(puStack_158 + -0x6660));\n      }\n      pwVar16 = (word *)(**(code **)(puStack_158 + -0x60fc))(pwStack_130);\n      unaff_s4 = pwStack_140;\n      if ((int)pwVar16 <= (int)pwStack_140) {\n        unaff_s4 = pwVar16;\n      }\n      if ((int)param_2 < 1) {\n        pwVar16 = (word *)0x1;\nLAB_000fb1a8:\n        pwVar16 = (word *)(uint)((int)param_2 < (int)pwVar16);\n        pwVar15 = pwStack_140;\n        if (pwVar16 != (word *)0x0) goto LAB_000fb12c;\n      }\n      else {\n        param_4 = (byte *)(piStack_12c + 1);\n        pwVar16 = (word *)0x1;\n        do {\n          unaff_s2 = *(word **)param_4;\n          iVar5 = (**(code **)(puStack_158 + -0x6238))(unaff_s2,pwStack_130,unaff_s4);\n          if (iVar5 == 0) {\n            pwVar14 = unaff_s2;\n            (**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,pwStack_140);\n            goto LAB_000fb1a8;\n          }\n          pwVar16 = (word *)((int)pwVar16 + 1);\n          param_4 = param_4 + 4;\n        } while ((int)pwVar16 <= (int)param_2);\nLAB_000fb12c:\n        pwVar14 = (word *)piStack_12c[1];\n        pwVar15 = pwStack_140;\n        (**(code **)(puStack_158 + -0x615c))(*piStack_12c);\n      }\n      if (unaff_s3 != (word *)0x0) {\n        (**(code **)(puStack_158 + -0x5f94))(unaff_s3);\n      }\n    }" else (compound_statement "{\n      unaff_s3 = (word *)0x0;\n      if (**(int **)(puStack_158 + -0x6f0c) != 0) {\n        if ((code *)**(undefined4 **)(puStack_158 + -0x6de4) == (code *)0x0) {\n          unaff_s3 = (word *)0x0;\n        }\n        else if ((**(int **)(puStack_158 + -0x6f38) != 0) &&\n                (**(int **)(puStack_158 + -0x702c) != 0)) {\n          pwVar14 = (word *)**(undefined4 **)(puStack_158 + -0x6f34);\n          unaff_s3 = (word *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(pwStack_130);\n          pwStack_130 = unaff_s3;\n        }\n      }\n      if (**(int **)(puStack_158 + -0x6f10) != 0) {\n        pwVar14 = param_2;\n        (**(code **)(puStack_158 + -0x6218))\n                  (piStack_12c + 1,param_2,4,*(undefined4 *)(puStack_158 + -0x6660));\n      }\n      pwVar16 = (word *)(**(code **)(puStack_158 + -0x60fc))(pwStack_130);\n      unaff_s4 = pwStack_140;\n      if ((int)pwVar16 <= (int)pwStack_140) {\n        unaff_s4 = pwVar16;\n      }\n      if ((int)param_2 < 1) {\n        pwVar16 = (word *)0x1;\nLAB_000fb1a8:\n        pwVar16 = (word *)(uint)((int)param_2 < (int)pwVar16);\n        pwVar15 = pwStack_140;\n        if (pwVar16 != (word *)0x0) goto LAB_000fb12c;\n      }\n      else {\n        param_4 = (byte *)(piStack_12c + 1);\n        pwVar16 = (word *)0x1;\n        do {\n          unaff_s2 = *(word **)param_4;\n          iVar5 = (**(code **)(puStack_158 + -0x6238))(unaff_s2,pwStack_130,unaff_s4);\n          if (iVar5 == 0) {\n            pwVar14 = unaff_s2;\n            (**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,pwStack_140);\n            goto LAB_000fb1a8;\n          }\n          pwVar16 = (word *)((int)pwVar16 + 1);\n          param_4 = param_4 + 4;\n        } while ((int)pwVar16 <= (int)param_2);\nLAB_000fb12c:\n        pwVar14 = (word *)piStack_12c[1];\n        pwVar15 = pwStack_140;\n        (**(code **)(puStack_158 + -0x615c))(*piStack_12c);\n      }\n      if (unaff_s3 != (word *)0x0) {\n        (**(code **)(puStack_158 + -0x5f94))(unaff_s3);\n      }\n    }" { (expression_statement "unaff_s3 = (word *)0x0;" (assignment_expression "unaff_s3 = (word *)0x0" identifier = (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (**(int **)(puStack_158 + -0x6f0c) != 0) {\n        if ((code *)**(undefined4 **)(puStack_158 + -0x6de4) == (code *)0x0) {\n          unaff_s3 = (word *)0x0;\n        }\n        else if ((**(int **)(puStack_158 + -0x6f38) != 0) &&\n                (**(int **)(puStack_158 + -0x702c) != 0)) {\n          pwVar14 = (word *)**(undefined4 **)(puStack_158 + -0x6f34);\n          unaff_s3 = (word *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(pwStack_130);\n          pwStack_130 = unaff_s3;\n        }\n      }" if (parenthesized_expression "(**(int **)(puStack_158 + -0x6f0c) != 0)" ( (binary_expression "**(int **)(puStack_158 + -0x6f0c) != 0" (pointer_expression "**(int **)(puStack_158 + -0x6f0c)" * (pointer_expression "*(int **)(puStack_158 + -0x6f0c)" * (cast_expression "(int **)(puStack_158 + -0x6f0c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x6f0c)" ( (binary_expression "puStack_158 + -0x6f0c" identifier + number_literal) ))))) != number_literal) )) (compound_statement "{\n        if ((code *)**(undefined4 **)(puStack_158 + -0x6de4) == (code *)0x0) {\n          unaff_s3 = (word *)0x0;\n        }\n        else if ((**(int **)(puStack_158 + -0x6f38) != 0) &&\n                (**(int **)(puStack_158 + -0x702c) != 0)) {\n          pwVar14 = (word *)**(undefined4 **)(puStack_158 + -0x6f34);\n          unaff_s3 = (word *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(pwStack_130);\n          pwStack_130 = unaff_s3;\n        }\n      }" { (if_statement "if ((code *)**(undefined4 **)(puStack_158 + -0x6de4) == (code *)0x0) {\n          unaff_s3 = (word *)0x0;\n        }\n        else if ((**(int **)(puStack_158 + -0x6f38) != 0) &&\n                (**(int **)(puStack_158 + -0x702c) != 0)) {\n          pwVar14 = (word *)**(undefined4 **)(puStack_158 + -0x6f34);\n          unaff_s3 = (word *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(pwStack_130);\n          pwStack_130 = unaff_s3;\n        }" if (parenthesized_expression "((code *)**(undefined4 **)(puStack_158 + -0x6de4) == (code *)0x0)" ( (binary_expression "(code *)**(undefined4 **)(puStack_158 + -0x6de4) == (code *)0x0" (cast_expression "(code *)**(undefined4 **)(puStack_158 + -0x6de4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(puStack_158 + -0x6de4)" * (pointer_expression "*(undefined4 **)(puStack_158 + -0x6de4)" * (cast_expression "(undefined4 **)(puStack_158 + -0x6de4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x6de4)" ( (binary_expression "puStack_158 + -0x6de4" identifier + number_literal) )))))) == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          unaff_s3 = (word *)0x0;\n        }" { (expression_statement "unaff_s3 = (word *)0x0;" (assignment_expression "unaff_s3 = (word *)0x0" identifier = (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else if ((**(int **)(puStack_158 + -0x6f38) != 0) &&\n                (**(int **)(puStack_158 + -0x702c) != 0)) {\n          pwVar14 = (word *)**(undefined4 **)(puStack_158 + -0x6f34);\n          unaff_s3 = (word *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(pwStack_130);\n          pwStack_130 = unaff_s3;\n        }" else (if_statement "if ((**(int **)(puStack_158 + -0x6f38) != 0) &&\n                (**(int **)(puStack_158 + -0x702c) != 0)) {\n          pwVar14 = (word *)**(undefined4 **)(puStack_158 + -0x6f34);\n          unaff_s3 = (word *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(pwStack_130);\n          pwStack_130 = unaff_s3;\n        }" if (parenthesized_expression "((**(int **)(puStack_158 + -0x6f38) != 0) &&\n                (**(int **)(puStack_158 + -0x702c) != 0))" ( (binary_expression "(**(int **)(puStack_158 + -0x6f38) != 0) &&\n                (**(int **)(puStack_158 + -0x702c) != 0)" (parenthesized_expression "(**(int **)(puStack_158 + -0x6f38) != 0)" ( (binary_expression "**(int **)(puStack_158 + -0x6f38) != 0" (pointer_expression "**(int **)(puStack_158 + -0x6f38)" * (pointer_expression "*(int **)(puStack_158 + -0x6f38)" * (cast_expression "(int **)(puStack_158 + -0x6f38)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x6f38)" ( (binary_expression "puStack_158 + -0x6f38" identifier + number_literal) ))))) != number_literal) )) && (parenthesized_expression "(**(int **)(puStack_158 + -0x702c) != 0)" ( (binary_expression "**(int **)(puStack_158 + -0x702c) != 0" (pointer_expression "**(int **)(puStack_158 + -0x702c)" * (pointer_expression "*(int **)(puStack_158 + -0x702c)" * (cast_expression "(int **)(puStack_158 + -0x702c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x702c)" ( (binary_expression "puStack_158 + -0x702c" identifier + number_literal) ))))) != number_literal) ))) )) (compound_statement "{\n          pwVar14 = (word *)**(undefined4 **)(puStack_158 + -0x6f34);\n          unaff_s3 = (word *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(pwStack_130);\n          pwStack_130 = unaff_s3;\n        }" { (expression_statement "pwVar14 = (word *)**(undefined4 **)(puStack_158 + -0x6f34);" (assignment_expression "pwVar14 = (word *)**(undefined4 **)(puStack_158 + -0x6f34)" identifier = (cast_expression "(word *)**(undefined4 **)(puStack_158 + -0x6f34)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(puStack_158 + -0x6f34)" * (pointer_expression "*(undefined4 **)(puStack_158 + -0x6f34)" * (cast_expression "(undefined4 **)(puStack_158 + -0x6f34)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x6f34)" ( (binary_expression "puStack_158 + -0x6f34" identifier + number_literal) ))))))) ;) (expression_statement "unaff_s3 = (word *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(pwStack_130);" (assignment_expression "unaff_s3 = (word *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(pwStack_130)" identifier = (cast_expression "(word *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(pwStack_130)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(pwStack_130)" (parenthesized_expression "(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))" ( (pointer_expression "*(code *)**(undefined4 **)(puStack_158 + -0x6de4)" * (cast_expression "(code *)**(undefined4 **)(puStack_158 + -0x6de4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(puStack_158 + -0x6de4)" * (pointer_expression "*(undefined4 **)(puStack_158 + -0x6de4)" * (cast_expression "(undefined4 **)(puStack_158 + -0x6de4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x6de4)" ( (binary_expression "puStack_158 + -0x6de4" identifier + number_literal) ))))))) )) (argument_list "(pwStack_130)" ( identifier ))))) ;) (expression_statement "pwStack_130 = unaff_s3;" (assignment_expression "pwStack_130 = unaff_s3" identifier = identifier) ;) })))) })) (if_statement "if (**(int **)(puStack_158 + -0x6f10) != 0) {\n        pwVar14 = param_2;\n        (**(code **)(puStack_158 + -0x6218))\n                  (piStack_12c + 1,param_2,4,*(undefined4 *)(puStack_158 + -0x6660));\n      }" if (parenthesized_expression "(**(int **)(puStack_158 + -0x6f10) != 0)" ( (binary_expression "**(int **)(puStack_158 + -0x6f10) != 0" (pointer_expression "**(int **)(puStack_158 + -0x6f10)" * (pointer_expression "*(int **)(puStack_158 + -0x6f10)" * (cast_expression "(int **)(puStack_158 + -0x6f10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x6f10)" ( (binary_expression "puStack_158 + -0x6f10" identifier + number_literal) ))))) != number_literal) )) (compound_statement "{\n        pwVar14 = param_2;\n        (**(code **)(puStack_158 + -0x6218))\n                  (piStack_12c + 1,param_2,4,*(undefined4 *)(puStack_158 + -0x6660));\n      }" { (expression_statement "pwVar14 = param_2;" (assignment_expression "pwVar14 = param_2" identifier = identifier) ;) (expression_statement "(**(code **)(puStack_158 + -0x6218))\n                  (piStack_12c + 1,param_2,4,*(undefined4 *)(puStack_158 + -0x6660));" (call_expression "(**(code **)(puStack_158 + -0x6218))\n                  (piStack_12c + 1,param_2,4,*(undefined4 *)(puStack_158 + -0x6660))" (parenthesized_expression "(**(code **)(puStack_158 + -0x6218))" ( (pointer_expression "**(code **)(puStack_158 + -0x6218)" * (pointer_expression "*(code **)(puStack_158 + -0x6218)" * (cast_expression "(code **)(puStack_158 + -0x6218)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x6218)" ( (binary_expression "puStack_158 + -0x6218" identifier + number_literal) ))))) )) (argument_list "(piStack_12c + 1,param_2,4,*(undefined4 *)(puStack_158 + -0x6660))" ( (binary_expression "piStack_12c + 1" identifier + number_literal) , identifier , number_literal , (pointer_expression "*(undefined4 *)(puStack_158 + -0x6660)" * (cast_expression "(undefined4 *)(puStack_158 + -0x6660)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_158 + -0x6660)" ( (binary_expression "puStack_158 + -0x6660" identifier + number_literal) )))) ))) ;) })) (expression_statement "pwVar16 = (word *)(**(code **)(puStack_158 + -0x60fc))(pwStack_130);" (assignment_expression "pwVar16 = (word *)(**(code **)(puStack_158 + -0x60fc))(pwStack_130)" identifier = (cast_expression "(word *)(**(code **)(puStack_158 + -0x60fc))(pwStack_130)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puStack_158 + -0x60fc))(pwStack_130)" (parenthesized_expression "(**(code **)(puStack_158 + -0x60fc))" ( (pointer_expression "**(code **)(puStack_158 + -0x60fc)" * (pointer_expression "*(code **)(puStack_158 + -0x60fc)" * (cast_expression "(code **)(puStack_158 + -0x60fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x60fc)" ( (binary_expression "puStack_158 + -0x60fc" identifier + number_literal) ))))) )) (argument_list "(pwStack_130)" ( identifier ))))) ;) (expression_statement "unaff_s4 = pwStack_140;" (assignment_expression "unaff_s4 = pwStack_140" identifier = identifier) ;) (if_statement "if ((int)pwVar16 <= (int)pwStack_140) {\n        unaff_s4 = pwVar16;\n      }" if (parenthesized_expression "((int)pwVar16 <= (int)pwStack_140)" ( (binary_expression "(int)pwVar16 <= (int)pwStack_140" (cast_expression "(int)pwVar16" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)pwStack_140" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        unaff_s4 = pwVar16;\n      }" { (expression_statement "unaff_s4 = pwVar16;" (assignment_expression "unaff_s4 = pwVar16" identifier = identifier) ;) })) (if_statement "if ((int)param_2 < 1) {\n        pwVar16 = (word *)0x1;\nLAB_000fb1a8:\n        pwVar16 = (word *)(uint)((int)param_2 < (int)pwVar16);\n        pwVar15 = pwStack_140;\n        if (pwVar16 != (word *)0x0) goto LAB_000fb12c;\n      }\n      else {\n        param_4 = (byte *)(piStack_12c + 1);\n        pwVar16 = (word *)0x1;\n        do {\n          unaff_s2 = *(word **)param_4;\n          iVar5 = (**(code **)(puStack_158 + -0x6238))(unaff_s2,pwStack_130,unaff_s4);\n          if (iVar5 == 0) {\n            pwVar14 = unaff_s2;\n            (**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,pwStack_140);\n            goto LAB_000fb1a8;\n          }\n          pwVar16 = (word *)((int)pwVar16 + 1);\n          param_4 = param_4 + 4;\n        } while ((int)pwVar16 <= (int)param_2);\nLAB_000fb12c:\n        pwVar14 = (word *)piStack_12c[1];\n        pwVar15 = pwStack_140;\n        (**(code **)(puStack_158 + -0x615c))(*piStack_12c);\n      }" if (parenthesized_expression "((int)param_2 < 1)" ( (binary_expression "(int)param_2 < 1" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n        pwVar16 = (word *)0x1;\nLAB_000fb1a8:\n        pwVar16 = (word *)(uint)((int)param_2 < (int)pwVar16);\n        pwVar15 = pwStack_140;\n        if (pwVar16 != (word *)0x0) goto LAB_000fb12c;\n      }" { (expression_statement "pwVar16 = (word *)0x1;" (assignment_expression "pwVar16 = (word *)0x1" identifier = (cast_expression "(word *)0x1" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_000fb1a8:\n        pwVar16 = (word *)(uint)((int)param_2 < (int)pwVar16);" statement_identifier : (expression_statement "pwVar16 = (word *)(uint)((int)param_2 < (int)pwVar16);" (assignment_expression "pwVar16 = (word *)(uint)((int)param_2 < (int)pwVar16)" identifier = (cast_expression "(word *)(uint)((int)param_2 < (int)pwVar16)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)((int)param_2 < (int)pwVar16)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)param_2 < (int)pwVar16)" ( (binary_expression "(int)param_2 < (int)pwVar16" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pwVar16" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;)) (expression_statement "pwVar15 = pwStack_140;" (assignment_expression "pwVar15 = pwStack_140" identifier = identifier) ;) (if_statement "if (pwVar16 != (word *)0x0) goto LAB_000fb12c;" if (parenthesized_expression "(pwVar16 != (word *)0x0)" ( (binary_expression "pwVar16 != (word *)0x0" identifier != (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000fb12c;" goto statement_identifier ;)) }) (else_clause "else {\n        param_4 = (byte *)(piStack_12c + 1);\n        pwVar16 = (word *)0x1;\n        do {\n          unaff_s2 = *(word **)param_4;\n          iVar5 = (**(code **)(puStack_158 + -0x6238))(unaff_s2,pwStack_130,unaff_s4);\n          if (iVar5 == 0) {\n            pwVar14 = unaff_s2;\n            (**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,pwStack_140);\n            goto LAB_000fb1a8;\n          }\n          pwVar16 = (word *)((int)pwVar16 + 1);\n          param_4 = param_4 + 4;\n        } while ((int)pwVar16 <= (int)param_2);\nLAB_000fb12c:\n        pwVar14 = (word *)piStack_12c[1];\n        pwVar15 = pwStack_140;\n        (**(code **)(puStack_158 + -0x615c))(*piStack_12c);\n      }" else (compound_statement "{\n        param_4 = (byte *)(piStack_12c + 1);\n        pwVar16 = (word *)0x1;\n        do {\n          unaff_s2 = *(word **)param_4;\n          iVar5 = (**(code **)(puStack_158 + -0x6238))(unaff_s2,pwStack_130,unaff_s4);\n          if (iVar5 == 0) {\n            pwVar14 = unaff_s2;\n            (**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,pwStack_140);\n            goto LAB_000fb1a8;\n          }\n          pwVar16 = (word *)((int)pwVar16 + 1);\n          param_4 = param_4 + 4;\n        } while ((int)pwVar16 <= (int)param_2);\nLAB_000fb12c:\n        pwVar14 = (word *)piStack_12c[1];\n        pwVar15 = pwStack_140;\n        (**(code **)(puStack_158 + -0x615c))(*piStack_12c);\n      }" { (expression_statement "param_4 = (byte *)(piStack_12c + 1);" (assignment_expression "param_4 = (byte *)(piStack_12c + 1)" identifier = (cast_expression "(byte *)(piStack_12c + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piStack_12c + 1)" ( (binary_expression "piStack_12c + 1" identifier + number_literal) )))) ;) (expression_statement "pwVar16 = (word *)0x1;" (assignment_expression "pwVar16 = (word *)0x1" identifier = (cast_expression "(word *)0x1" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n          unaff_s2 = *(word **)param_4;\n          iVar5 = (**(code **)(puStack_158 + -0x6238))(unaff_s2,pwStack_130,unaff_s4);\n          if (iVar5 == 0) {\n            pwVar14 = unaff_s2;\n            (**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,pwStack_140);\n            goto LAB_000fb1a8;\n          }\n          pwVar16 = (word *)((int)pwVar16 + 1);\n          param_4 = param_4 + 4;\n        } while ((int)pwVar16 <= (int)param_2);" do (compound_statement "{\n          unaff_s2 = *(word **)param_4;\n          iVar5 = (**(code **)(puStack_158 + -0x6238))(unaff_s2,pwStack_130,unaff_s4);\n          if (iVar5 == 0) {\n            pwVar14 = unaff_s2;\n            (**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,pwStack_140);\n            goto LAB_000fb1a8;\n          }\n          pwVar16 = (word *)((int)pwVar16 + 1);\n          param_4 = param_4 + 4;\n        }" { (expression_statement "unaff_s2 = *(word **)param_4;" (assignment_expression "unaff_s2 = *(word **)param_4" identifier = (pointer_expression "*(word **)param_4" * (cast_expression "(word **)param_4" ( (type_descriptor "word **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "iVar5 = (**(code **)(puStack_158 + -0x6238))(unaff_s2,pwStack_130,unaff_s4);" (assignment_expression "iVar5 = (**(code **)(puStack_158 + -0x6238))(unaff_s2,pwStack_130,unaff_s4)" identifier = (call_expression "(**(code **)(puStack_158 + -0x6238))(unaff_s2,pwStack_130,unaff_s4)" (parenthesized_expression "(**(code **)(puStack_158 + -0x6238))" ( (pointer_expression "**(code **)(puStack_158 + -0x6238)" * (pointer_expression "*(code **)(puStack_158 + -0x6238)" * (cast_expression "(code **)(puStack_158 + -0x6238)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x6238)" ( (binary_expression "puStack_158 + -0x6238" identifier + number_literal) ))))) )) (argument_list "(unaff_s2,pwStack_130,unaff_s4)" ( identifier , identifier , identifier )))) ;) (if_statement "if (iVar5 == 0) {\n            pwVar14 = unaff_s2;\n            (**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,pwStack_140);\n            goto LAB_000fb1a8;\n          }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n            pwVar14 = unaff_s2;\n            (**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,pwStack_140);\n            goto LAB_000fb1a8;\n          }" { (expression_statement "pwVar14 = unaff_s2;" (assignment_expression "pwVar14 = unaff_s2" identifier = identifier) ;) (expression_statement "(**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,pwStack_140);" (call_expression "(**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,pwStack_140)" (parenthesized_expression "(**(code **)(puStack_158 + -0x615c))" ( (pointer_expression "**(code **)(puStack_158 + -0x615c)" * (pointer_expression "*(code **)(puStack_158 + -0x615c)" * (cast_expression "(code **)(puStack_158 + -0x615c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x615c)" ( (binary_expression "puStack_158 + -0x615c" identifier + number_literal) ))))) )) (argument_list "(*piStack_12c,unaff_s2,pwStack_140)" ( (pointer_expression "*piStack_12c" * identifier) , identifier , identifier ))) ;) (goto_statement "goto LAB_000fb1a8;" goto statement_identifier ;) })) (expression_statement "pwVar16 = (word *)((int)pwVar16 + 1);" (assignment_expression "pwVar16 = (word *)((int)pwVar16 + 1)" identifier = (cast_expression "(word *)((int)pwVar16 + 1)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwVar16 + 1)" ( (binary_expression "(int)pwVar16 + 1" (cast_expression "(int)pwVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "param_4 = param_4 + 4;" (assignment_expression "param_4 = param_4 + 4" identifier = (binary_expression "param_4 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "((int)pwVar16 <= (int)param_2)" ( (binary_expression "(int)pwVar16 <= (int)param_2" (cast_expression "(int)pwVar16" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier)) )) ;) (labeled_statement "LAB_000fb12c:\n        pwVar14 = (word *)piStack_12c[1];" statement_identifier : (expression_statement "pwVar14 = (word *)piStack_12c[1];" (assignment_expression "pwVar14 = (word *)piStack_12c[1]" identifier = (cast_expression "(word *)piStack_12c[1]" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piStack_12c[1]" identifier [ number_literal ]))) ;)) (expression_statement "pwVar15 = pwStack_140;" (assignment_expression "pwVar15 = pwStack_140" identifier = identifier) ;) (expression_statement "(**(code **)(puStack_158 + -0x615c))(*piStack_12c);" (call_expression "(**(code **)(puStack_158 + -0x615c))(*piStack_12c)" (parenthesized_expression "(**(code **)(puStack_158 + -0x615c))" ( (pointer_expression "**(code **)(puStack_158 + -0x615c)" * (pointer_expression "*(code **)(puStack_158 + -0x615c)" * (cast_expression "(code **)(puStack_158 + -0x615c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x615c)" ( (binary_expression "puStack_158 + -0x615c" identifier + number_literal) ))))) )) (argument_list "(*piStack_12c)" ( (pointer_expression "*piStack_12c" * identifier) ))) ;) }))) (if_statement "if (unaff_s3 != (word *)0x0) {\n        (**(code **)(puStack_158 + -0x5f94))(unaff_s3);\n      }" if (parenthesized_expression "(unaff_s3 != (word *)0x0)" ( (binary_expression "unaff_s3 != (word *)0x0" identifier != (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        (**(code **)(puStack_158 + -0x5f94))(unaff_s3);\n      }" { (expression_statement "(**(code **)(puStack_158 + -0x5f94))(unaff_s3);" (call_expression "(**(code **)(puStack_158 + -0x5f94))(unaff_s3)" (parenthesized_expression "(**(code **)(puStack_158 + -0x5f94))" ( (pointer_expression "**(code **)(puStack_158 + -0x5f94)" * (pointer_expression "*(code **)(puStack_158 + -0x5f94)" * (cast_expression "(code **)(puStack_158 + -0x5f94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x5f94)" ( (binary_expression "puStack_158 + -0x5f94" identifier + number_literal) ))))) )) (argument_list "(unaff_s3)" ( identifier ))) ;) })) }))) (expression_statement "*(byte *)((int)pwStack_140 + *piStack_12c) = 0;" (assignment_expression "*(byte *)((int)pwStack_140 + *piStack_12c) = 0" (pointer_expression "*(byte *)((int)pwStack_140 + *piStack_12c)" * (cast_expression "(byte *)((int)pwStack_140 + *piStack_12c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwStack_140 + *piStack_12c)" ( (binary_expression "(int)pwStack_140 + *piStack_12c" (cast_expression "(int)pwStack_140" ( (type_descriptor "int" primitive_type) ) identifier) + (pointer_expression "*piStack_12c" * identifier)) )))) = number_literal) ;) (expression_statement "pwStack_13c = param_2;" (assignment_expression "pwStack_13c = param_2" identifier = identifier) ;) }))) (labeled_statement "LAB_000fb1f0:\n  if (puStack_104 == (undefined4 *)**(undefined4 **)(puStack_158 + -0x5fb4)) {\n    return pwStack_13c;\n  }" statement_identifier : (if_statement "if (puStack_104 == (undefined4 *)**(undefined4 **)(puStack_158 + -0x5fb4)) {\n    return pwStack_13c;\n  }" if (parenthesized_expression "(puStack_104 == (undefined4 *)**(undefined4 **)(puStack_158 + -0x5fb4))" ( (binary_expression "puStack_104 == (undefined4 *)**(undefined4 **)(puStack_158 + -0x5fb4)" identifier == (cast_expression "(undefined4 *)**(undefined4 **)(puStack_158 + -0x5fb4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(puStack_158 + -0x5fb4)" * (pointer_expression "*(undefined4 **)(puStack_158 + -0x5fb4)" * (cast_expression "(undefined4 **)(puStack_158 + -0x5fb4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x5fb4)" ( (binary_expression "puStack_158 + -0x5fb4" identifier + number_literal) ))))))) )) (compound_statement "{\n    return pwStack_13c;\n  }" { (return_statement "return pwStack_13c;" return identifier ;) }))) (expression_statement "pcVar23 = *(code **)(puStack_158 + -0x6004);" (assignment_expression "pcVar23 = *(code **)(puStack_158 + -0x6004)" identifier = (pointer_expression "*(code **)(puStack_158 + -0x6004)" * (cast_expression "(code **)(puStack_158 + -0x6004)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_158 + -0x6004)" ( (binary_expression "puStack_158 + -0x6004" identifier + number_literal) ))))) ;) (expression_statement "pcVar25 = FUN_000fb268;" (assignment_expression "pcVar25 = FUN_000fb268" identifier = identifier) ;) (expression_statement "puVar21 = puStack_104;" (assignment_expression "puVar21 = puStack_104" identifier = identifier) ;) (expression_statement "(*pcVar23)();" (call_expression "(*pcVar23)()" (parenthesized_expression "(*pcVar23)" ( (pointer_expression "*pcVar23" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_1a8 = pcVar23 + 0x632d8;" (assignment_expression "pcStack_1a8 = pcVar23 + 0x632d8" identifier = (binary_expression "pcVar23 + 0x632d8" identifier + number_literal)) ;) (expression_statement "auStack_19d._1_4_ = **(undefined4 **)(pcVar23 + 0x5d324);" (assignment_expression "auStack_19d._1_4_ = **(undefined4 **)(pcVar23 + 0x5d324)" (field_expression "auStack_19d._1_4_" identifier . field_identifier) = (pointer_expression "**(undefined4 **)(pcVar23 + 0x5d324)" * (pointer_expression "*(undefined4 **)(pcVar23 + 0x5d324)" * (cast_expression "(undefined4 **)(pcVar23 + 0x5d324)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5d324)" ( (binary_expression "pcVar23 + 0x5d324" identifier + number_literal) )))))) ;) (expression_statement "pwVar18 = (word *)*puVar21;" (assignment_expression "pwVar18 = (word *)*puVar21" identifier = (cast_expression "(word *)*puVar21" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar21" * identifier))) ;) (expression_statement "pwStack_194 = pwVar16;" (assignment_expression "pwStack_194 = pwVar16" identifier = identifier) ;) (expression_statement "pbStack_190 = param_4;" (assignment_expression "pbStack_190 = param_4" identifier = identifier) ;) (expression_statement "pwStack_18c = unaff_s2;" (assignment_expression "pwStack_18c = unaff_s2" identifier = identifier) ;) (expression_statement "pwStack_188 = unaff_s3;" (assignment_expression "pwStack_188 = unaff_s3" identifier = identifier) ;) (expression_statement "pwStack_184 = unaff_s4;" (assignment_expression "pwStack_184 = unaff_s4" identifier = identifier) ;) (expression_statement "pwStack_180 = unaff_s5;" (assignment_expression "pwStack_180 = unaff_s5" identifier = identifier) ;) (expression_statement "pwStack_17c = unaff_s6;" (assignment_expression "pwStack_17c = unaff_s6" identifier = identifier) ;) (expression_statement "pwStack_178 = unaff_s7;" (assignment_expression "pwStack_178 = unaff_s7" identifier = identifier) ;) (expression_statement "pcStack_174 = pcVar25;" (assignment_expression "pcStack_174 = pcVar25" identifier = identifier) ;) (if_statement "if (pwVar18 == (word *)0x0) {\n    pwVar6 = (word *)0x0;\n  }\n  else {\n    pwVar20 = pwVar14;\n    pwVar6 = pwVar18;\n    if (**(int **)(pcVar23 + 0x5cd28) != 0) {\n      if (*(int *)pwVar18 == 0) {\nLAB_000fb370:\n        uVar7 = *(undefined4 *)pwVar18;\n      }\n      else {\n        pwVar15 = (word *)0x0;\n        pwVar16 = pwVar18;\n        do {\n          pwVar16 = pwVar16 + 2;\n          pwVar15 = (word *)((int)pwVar15 + 1);\n        } while (*(int *)pwVar16 != 0);\n        if ((pwVar15 == (word *)0x0) || (**(int **)(pcVar23 + 0x5c3c8) == 0)) goto LAB_000fb370;\n        pwVar15 = (word *)&DAT_00000004;\n        (**(code **)(pcVar23 + 0x5d0c0))();\n        uVar7 = *(undefined4 *)pwVar18;\n      }\n      iVar5 = (**(code **)(pcStack_1a8 + -0x60fc))(uVar7);\n      uVar7 = (**(code **)(pcStack_1a8 + -0x7f88))(iVar5 + 1);\n      unaff_s4 = (word *)(**(code **)(pcStack_1a8 + -0x6074))(uVar7,*(undefined4 *)pwVar18);\n      if (*(int *)(pwVar18 + 2) == 0) {\n        unaff_s6 = (word *)0x0;\n        pbVar24 = (byte *)0x3;\n        pwVar20 = (word *)0x0;\n      }\n      else {\n        unaff_s6 = (word *)0x0;\n        unaff_s7 = (word *)auStack_19d;\n        pwVar16 = pwVar18;\n        do {\n          uVar7 = *(undefined4 *)pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(uVar7);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(uVar7);\n            *(word **)pwVar16 = unaff_s7;\n          }\n          else {\n            unaff_s6 = (word *)((int)unaff_s6 + 1);\n          }\n          pwVar20 = *(word **)(pwVar16 + 4);\n          pbVar24 = (byte *)((int)unaff_s6 + 3);\n          pwVar16 = pwVar16 + 2;\n        } while (pwVar20 != (word *)0x0);\n      }\n      pwVar6 = (word *)(**(code **)(pcStack_1a8 + -0x7f88))((int)pbVar24 << 2);\n      pbVar24 = *(byte **)(pwVar18 + 2);\n      if (pbVar24 == (byte *)0x0) {\n        pbVar24 = (byte *)(pwVar6 + 2);\n        pbVar24[0] = 0;\n        pbVar24[1] = 0;\n        pbVar24[2] = 0;\n        pbVar24[3] = 0;\n        pwVar16 = (word *)0x1;\n        if (*(undefined1 **)pwVar18 != auStack_19d) {\n          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);\n          goto LAB_000fb4b4;\n        }\n        *(word **)pwVar6 = unaff_s4;\n      }\n      else {\n        pwVar16 = (word *)0x1;\n        pwVar20 = (word *)auStack_19d;\n        pbVar12 = (byte *)(pwVar18 + 4);\n        do {\n          if ((word *)pbVar24 != pwVar20) {\n            *(byte **)(pwVar6 + (int)pwVar16 * 2) = pbVar24;\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\n          pbVar24 = *(byte **)pbVar12;\n          pbVar12 = pbVar12 + 4;\n        } while (pbVar24 != (byte *)0x0);\n        *(undefined4 *)(pwVar6 + (int)pwVar16 * 2) = 0;\n        if (*(undefined1 **)pwVar18 != auStack_19d) {\n          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);\nLAB_000fb4b4:\n          (*pcVar23)();\n        }\n        *(word **)pwVar6 = unaff_s4;\n        if (pwVar16 == (word *)0x2) {\n          pwVar16 = *(word **)(pwVar6 + 2);\n          pwVar20 = pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(unaff_s4);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(pwVar16);\n            pbVar24 = (byte *)(pwVar6 + 2);\n            pbVar24[0] = 0;\n            pbVar24[1] = 0;\n            pbVar24[2] = 0;\n            pbVar24[3] = 0;\n          }\n        }\n      }\n      (**(code **)(pcStack_1a8 + -0x798c))(pwVar18);\n      unaff_s5 = pwVar6;\n    }\n    unaff_s3 = pwVar14;\n    pwVar18 = pwVar6;\n    if (((code *)**(undefined4 **)(pcStack_1a8 + -0x703c) == (code *)0x0) ||\n       (pwVar14 == (word *)0x0)) goto LAB_000fb570;\n    if (*(int *)(pwVar6 + 2) == 0) {\n      pwVar16 = (word *)0x1;\n    }\n    else {\n      pwVar16 = (word *)0x1;\n      pbVar24 = (byte *)(pwVar6 + 4);\n      do {\n        iVar5 = *(int *)pbVar24;\n        pwVar16 = (word *)((int)pwVar16 + 1);\n        pbVar24 = pbVar24 + 4;\n      } while (iVar5 != 0);\n    }\n    (*(code *)**(undefined4 **)(pcStack_1a8 + -0x703c))(pwVar6);\n    unaff_s3 = *(word **)pwVar6;\n    if (unaff_s3 == (word *)0x0) {\n      (**(code **)(pcStack_1a8 + -0x5f94))(pwVar6);\n      *puVar21 = 0;\n      pwVar6 = (word *)0x0;\n      pwVar14 = pwVar20;\n      goto LAB_000fb578;\n    }\n    if (*(int *)(pwVar6 + 2) == 0) {\nLAB_000fb570:\n      *puVar21 = pwVar6;\n    }\n    else {\n      pbVar24 = (byte *)(pwVar6 + 4);\n      pwVar14 = (word *)0x1;\n      do {\n        pwVar20 = pwVar14;\n        iVar5 = *(int *)pbVar24;\n        pwVar14 = (word *)((int)pwVar20 + 1);\n        pbVar24 = pbVar24 + 4;\n      } while (iVar5 != 0);\n      pwVar16 = (word *)(uint)((int)pwVar14 < (int)pwVar16);\n      if (((int)pwVar14 < 2) || (pwVar15 = unaff_s3, pwVar16 == (word *)0x0)) goto LAB_000fb570;\n      FUN_000fab30(pwVar6);\n      (**(code **)(pcStack_1a8 + -0x5f94))(unaff_s3);\n      *puVar21 = pwVar6;\n    }\n    pwVar6 = (word *)0x1;\n    pwVar14 = pwVar20;\n  }" if (parenthesized_expression "(pwVar18 == (word *)0x0)" ( (binary_expression "pwVar18 == (word *)0x0" identifier == (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    pwVar6 = (word *)0x0;\n  }" { (expression_statement "pwVar6 = (word *)0x0;" (assignment_expression "pwVar6 = (word *)0x0" identifier = (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n    pwVar20 = pwVar14;\n    pwVar6 = pwVar18;\n    if (**(int **)(pcVar23 + 0x5cd28) != 0) {\n      if (*(int *)pwVar18 == 0) {\nLAB_000fb370:\n        uVar7 = *(undefined4 *)pwVar18;\n      }\n      else {\n        pwVar15 = (word *)0x0;\n        pwVar16 = pwVar18;\n        do {\n          pwVar16 = pwVar16 + 2;\n          pwVar15 = (word *)((int)pwVar15 + 1);\n        } while (*(int *)pwVar16 != 0);\n        if ((pwVar15 == (word *)0x0) || (**(int **)(pcVar23 + 0x5c3c8) == 0)) goto LAB_000fb370;\n        pwVar15 = (word *)&DAT_00000004;\n        (**(code **)(pcVar23 + 0x5d0c0))();\n        uVar7 = *(undefined4 *)pwVar18;\n      }\n      iVar5 = (**(code **)(pcStack_1a8 + -0x60fc))(uVar7);\n      uVar7 = (**(code **)(pcStack_1a8 + -0x7f88))(iVar5 + 1);\n      unaff_s4 = (word *)(**(code **)(pcStack_1a8 + -0x6074))(uVar7,*(undefined4 *)pwVar18);\n      if (*(int *)(pwVar18 + 2) == 0) {\n        unaff_s6 = (word *)0x0;\n        pbVar24 = (byte *)0x3;\n        pwVar20 = (word *)0x0;\n      }\n      else {\n        unaff_s6 = (word *)0x0;\n        unaff_s7 = (word *)auStack_19d;\n        pwVar16 = pwVar18;\n        do {\n          uVar7 = *(undefined4 *)pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(uVar7);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(uVar7);\n            *(word **)pwVar16 = unaff_s7;\n          }\n          else {\n            unaff_s6 = (word *)((int)unaff_s6 + 1);\n          }\n          pwVar20 = *(word **)(pwVar16 + 4);\n          pbVar24 = (byte *)((int)unaff_s6 + 3);\n          pwVar16 = pwVar16 + 2;\n        } while (pwVar20 != (word *)0x0);\n      }\n      pwVar6 = (word *)(**(code **)(pcStack_1a8 + -0x7f88))((int)pbVar24 << 2);\n      pbVar24 = *(byte **)(pwVar18 + 2);\n      if (pbVar24 == (byte *)0x0) {\n        pbVar24 = (byte *)(pwVar6 + 2);\n        pbVar24[0] = 0;\n        pbVar24[1] = 0;\n        pbVar24[2] = 0;\n        pbVar24[3] = 0;\n        pwVar16 = (word *)0x1;\n        if (*(undefined1 **)pwVar18 != auStack_19d) {\n          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);\n          goto LAB_000fb4b4;\n        }\n        *(word **)pwVar6 = unaff_s4;\n      }\n      else {\n        pwVar16 = (word *)0x1;\n        pwVar20 = (word *)auStack_19d;\n        pbVar12 = (byte *)(pwVar18 + 4);\n        do {\n          if ((word *)pbVar24 != pwVar20) {\n            *(byte **)(pwVar6 + (int)pwVar16 * 2) = pbVar24;\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\n          pbVar24 = *(byte **)pbVar12;\n          pbVar12 = pbVar12 + 4;\n        } while (pbVar24 != (byte *)0x0);\n        *(undefined4 *)(pwVar6 + (int)pwVar16 * 2) = 0;\n        if (*(undefined1 **)pwVar18 != auStack_19d) {\n          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);\nLAB_000fb4b4:\n          (*pcVar23)();\n        }\n        *(word **)pwVar6 = unaff_s4;\n        if (pwVar16 == (word *)0x2) {\n          pwVar16 = *(word **)(pwVar6 + 2);\n          pwVar20 = pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(unaff_s4);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(pwVar16);\n            pbVar24 = (byte *)(pwVar6 + 2);\n            pbVar24[0] = 0;\n            pbVar24[1] = 0;\n            pbVar24[2] = 0;\n            pbVar24[3] = 0;\n          }\n        }\n      }\n      (**(code **)(pcStack_1a8 + -0x798c))(pwVar18);\n      unaff_s5 = pwVar6;\n    }\n    unaff_s3 = pwVar14;\n    pwVar18 = pwVar6;\n    if (((code *)**(undefined4 **)(pcStack_1a8 + -0x703c) == (code *)0x0) ||\n       (pwVar14 == (word *)0x0)) goto LAB_000fb570;\n    if (*(int *)(pwVar6 + 2) == 0) {\n      pwVar16 = (word *)0x1;\n    }\n    else {\n      pwVar16 = (word *)0x1;\n      pbVar24 = (byte *)(pwVar6 + 4);\n      do {\n        iVar5 = *(int *)pbVar24;\n        pwVar16 = (word *)((int)pwVar16 + 1);\n        pbVar24 = pbVar24 + 4;\n      } while (iVar5 != 0);\n    }\n    (*(code *)**(undefined4 **)(pcStack_1a8 + -0x703c))(pwVar6);\n    unaff_s3 = *(word **)pwVar6;\n    if (unaff_s3 == (word *)0x0) {\n      (**(code **)(pcStack_1a8 + -0x5f94))(pwVar6);\n      *puVar21 = 0;\n      pwVar6 = (word *)0x0;\n      pwVar14 = pwVar20;\n      goto LAB_000fb578;\n    }\n    if (*(int *)(pwVar6 + 2) == 0) {\nLAB_000fb570:\n      *puVar21 = pwVar6;\n    }\n    else {\n      pbVar24 = (byte *)(pwVar6 + 4);\n      pwVar14 = (word *)0x1;\n      do {\n        pwVar20 = pwVar14;\n        iVar5 = *(int *)pbVar24;\n        pwVar14 = (word *)((int)pwVar20 + 1);\n        pbVar24 = pbVar24 + 4;\n      } while (iVar5 != 0);\n      pwVar16 = (word *)(uint)((int)pwVar14 < (int)pwVar16);\n      if (((int)pwVar14 < 2) || (pwVar15 = unaff_s3, pwVar16 == (word *)0x0)) goto LAB_000fb570;\n      FUN_000fab30(pwVar6);\n      (**(code **)(pcStack_1a8 + -0x5f94))(unaff_s3);\n      *puVar21 = pwVar6;\n    }\n    pwVar6 = (word *)0x1;\n    pwVar14 = pwVar20;\n  }" else (compound_statement "{\n    pwVar20 = pwVar14;\n    pwVar6 = pwVar18;\n    if (**(int **)(pcVar23 + 0x5cd28) != 0) {\n      if (*(int *)pwVar18 == 0) {\nLAB_000fb370:\n        uVar7 = *(undefined4 *)pwVar18;\n      }\n      else {\n        pwVar15 = (word *)0x0;\n        pwVar16 = pwVar18;\n        do {\n          pwVar16 = pwVar16 + 2;\n          pwVar15 = (word *)((int)pwVar15 + 1);\n        } while (*(int *)pwVar16 != 0);\n        if ((pwVar15 == (word *)0x0) || (**(int **)(pcVar23 + 0x5c3c8) == 0)) goto LAB_000fb370;\n        pwVar15 = (word *)&DAT_00000004;\n        (**(code **)(pcVar23 + 0x5d0c0))();\n        uVar7 = *(undefined4 *)pwVar18;\n      }\n      iVar5 = (**(code **)(pcStack_1a8 + -0x60fc))(uVar7);\n      uVar7 = (**(code **)(pcStack_1a8 + -0x7f88))(iVar5 + 1);\n      unaff_s4 = (word *)(**(code **)(pcStack_1a8 + -0x6074))(uVar7,*(undefined4 *)pwVar18);\n      if (*(int *)(pwVar18 + 2) == 0) {\n        unaff_s6 = (word *)0x0;\n        pbVar24 = (byte *)0x3;\n        pwVar20 = (word *)0x0;\n      }\n      else {\n        unaff_s6 = (word *)0x0;\n        unaff_s7 = (word *)auStack_19d;\n        pwVar16 = pwVar18;\n        do {\n          uVar7 = *(undefined4 *)pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(uVar7);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(uVar7);\n            *(word **)pwVar16 = unaff_s7;\n          }\n          else {\n            unaff_s6 = (word *)((int)unaff_s6 + 1);\n          }\n          pwVar20 = *(word **)(pwVar16 + 4);\n          pbVar24 = (byte *)((int)unaff_s6 + 3);\n          pwVar16 = pwVar16 + 2;\n        } while (pwVar20 != (word *)0x0);\n      }\n      pwVar6 = (word *)(**(code **)(pcStack_1a8 + -0x7f88))((int)pbVar24 << 2);\n      pbVar24 = *(byte **)(pwVar18 + 2);\n      if (pbVar24 == (byte *)0x0) {\n        pbVar24 = (byte *)(pwVar6 + 2);\n        pbVar24[0] = 0;\n        pbVar24[1] = 0;\n        pbVar24[2] = 0;\n        pbVar24[3] = 0;\n        pwVar16 = (word *)0x1;\n        if (*(undefined1 **)pwVar18 != auStack_19d) {\n          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);\n          goto LAB_000fb4b4;\n        }\n        *(word **)pwVar6 = unaff_s4;\n      }\n      else {\n        pwVar16 = (word *)0x1;\n        pwVar20 = (word *)auStack_19d;\n        pbVar12 = (byte *)(pwVar18 + 4);\n        do {\n          if ((word *)pbVar24 != pwVar20) {\n            *(byte **)(pwVar6 + (int)pwVar16 * 2) = pbVar24;\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\n          pbVar24 = *(byte **)pbVar12;\n          pbVar12 = pbVar12 + 4;\n        } while (pbVar24 != (byte *)0x0);\n        *(undefined4 *)(pwVar6 + (int)pwVar16 * 2) = 0;\n        if (*(undefined1 **)pwVar18 != auStack_19d) {\n          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);\nLAB_000fb4b4:\n          (*pcVar23)();\n        }\n        *(word **)pwVar6 = unaff_s4;\n        if (pwVar16 == (word *)0x2) {\n          pwVar16 = *(word **)(pwVar6 + 2);\n          pwVar20 = pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(unaff_s4);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(pwVar16);\n            pbVar24 = (byte *)(pwVar6 + 2);\n            pbVar24[0] = 0;\n            pbVar24[1] = 0;\n            pbVar24[2] = 0;\n            pbVar24[3] = 0;\n          }\n        }\n      }\n      (**(code **)(pcStack_1a8 + -0x798c))(pwVar18);\n      unaff_s5 = pwVar6;\n    }\n    unaff_s3 = pwVar14;\n    pwVar18 = pwVar6;\n    if (((code *)**(undefined4 **)(pcStack_1a8 + -0x703c) == (code *)0x0) ||\n       (pwVar14 == (word *)0x0)) goto LAB_000fb570;\n    if (*(int *)(pwVar6 + 2) == 0) {\n      pwVar16 = (word *)0x1;\n    }\n    else {\n      pwVar16 = (word *)0x1;\n      pbVar24 = (byte *)(pwVar6 + 4);\n      do {\n        iVar5 = *(int *)pbVar24;\n        pwVar16 = (word *)((int)pwVar16 + 1);\n        pbVar24 = pbVar24 + 4;\n      } while (iVar5 != 0);\n    }\n    (*(code *)**(undefined4 **)(pcStack_1a8 + -0x703c))(pwVar6);\n    unaff_s3 = *(word **)pwVar6;\n    if (unaff_s3 == (word *)0x0) {\n      (**(code **)(pcStack_1a8 + -0x5f94))(pwVar6);\n      *puVar21 = 0;\n      pwVar6 = (word *)0x0;\n      pwVar14 = pwVar20;\n      goto LAB_000fb578;\n    }\n    if (*(int *)(pwVar6 + 2) == 0) {\nLAB_000fb570:\n      *puVar21 = pwVar6;\n    }\n    else {\n      pbVar24 = (byte *)(pwVar6 + 4);\n      pwVar14 = (word *)0x1;\n      do {\n        pwVar20 = pwVar14;\n        iVar5 = *(int *)pbVar24;\n        pwVar14 = (word *)((int)pwVar20 + 1);\n        pbVar24 = pbVar24 + 4;\n      } while (iVar5 != 0);\n      pwVar16 = (word *)(uint)((int)pwVar14 < (int)pwVar16);\n      if (((int)pwVar14 < 2) || (pwVar15 = unaff_s3, pwVar16 == (word *)0x0)) goto LAB_000fb570;\n      FUN_000fab30(pwVar6);\n      (**(code **)(pcStack_1a8 + -0x5f94))(unaff_s3);\n      *puVar21 = pwVar6;\n    }\n    pwVar6 = (word *)0x1;\n    pwVar14 = pwVar20;\n  }" { (expression_statement "pwVar20 = pwVar14;" (assignment_expression "pwVar20 = pwVar14" identifier = identifier) ;) (expression_statement "pwVar6 = pwVar18;" (assignment_expression "pwVar6 = pwVar18" identifier = identifier) ;) (if_statement "if (**(int **)(pcVar23 + 0x5cd28) != 0) {\n      if (*(int *)pwVar18 == 0) {\nLAB_000fb370:\n        uVar7 = *(undefined4 *)pwVar18;\n      }\n      else {\n        pwVar15 = (word *)0x0;\n        pwVar16 = pwVar18;\n        do {\n          pwVar16 = pwVar16 + 2;\n          pwVar15 = (word *)((int)pwVar15 + 1);\n        } while (*(int *)pwVar16 != 0);\n        if ((pwVar15 == (word *)0x0) || (**(int **)(pcVar23 + 0x5c3c8) == 0)) goto LAB_000fb370;\n        pwVar15 = (word *)&DAT_00000004;\n        (**(code **)(pcVar23 + 0x5d0c0))();\n        uVar7 = *(undefined4 *)pwVar18;\n      }\n      iVar5 = (**(code **)(pcStack_1a8 + -0x60fc))(uVar7);\n      uVar7 = (**(code **)(pcStack_1a8 + -0x7f88))(iVar5 + 1);\n      unaff_s4 = (word *)(**(code **)(pcStack_1a8 + -0x6074))(uVar7,*(undefined4 *)pwVar18);\n      if (*(int *)(pwVar18 + 2) == 0) {\n        unaff_s6 = (word *)0x0;\n        pbVar24 = (byte *)0x3;\n        pwVar20 = (word *)0x0;\n      }\n      else {\n        unaff_s6 = (word *)0x0;\n        unaff_s7 = (word *)auStack_19d;\n        pwVar16 = pwVar18;\n        do {\n          uVar7 = *(undefined4 *)pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(uVar7);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(uVar7);\n            *(word **)pwVar16 = unaff_s7;\n          }\n          else {\n            unaff_s6 = (word *)((int)unaff_s6 + 1);\n          }\n          pwVar20 = *(word **)(pwVar16 + 4);\n          pbVar24 = (byte *)((int)unaff_s6 + 3);\n          pwVar16 = pwVar16 + 2;\n        } while (pwVar20 != (word *)0x0);\n      }\n      pwVar6 = (word *)(**(code **)(pcStack_1a8 + -0x7f88))((int)pbVar24 << 2);\n      pbVar24 = *(byte **)(pwVar18 + 2);\n      if (pbVar24 == (byte *)0x0) {\n        pbVar24 = (byte *)(pwVar6 + 2);\n        pbVar24[0] = 0;\n        pbVar24[1] = 0;\n        pbVar24[2] = 0;\n        pbVar24[3] = 0;\n        pwVar16 = (word *)0x1;\n        if (*(undefined1 **)pwVar18 != auStack_19d) {\n          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);\n          goto LAB_000fb4b4;\n        }\n        *(word **)pwVar6 = unaff_s4;\n      }\n      else {\n        pwVar16 = (word *)0x1;\n        pwVar20 = (word *)auStack_19d;\n        pbVar12 = (byte *)(pwVar18 + 4);\n        do {\n          if ((word *)pbVar24 != pwVar20) {\n            *(byte **)(pwVar6 + (int)pwVar16 * 2) = pbVar24;\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\n          pbVar24 = *(byte **)pbVar12;\n          pbVar12 = pbVar12 + 4;\n        } while (pbVar24 != (byte *)0x0);\n        *(undefined4 *)(pwVar6 + (int)pwVar16 * 2) = 0;\n        if (*(undefined1 **)pwVar18 != auStack_19d) {\n          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);\nLAB_000fb4b4:\n          (*pcVar23)();\n        }\n        *(word **)pwVar6 = unaff_s4;\n        if (pwVar16 == (word *)0x2) {\n          pwVar16 = *(word **)(pwVar6 + 2);\n          pwVar20 = pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(unaff_s4);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(pwVar16);\n            pbVar24 = (byte *)(pwVar6 + 2);\n            pbVar24[0] = 0;\n            pbVar24[1] = 0;\n            pbVar24[2] = 0;\n            pbVar24[3] = 0;\n          }\n        }\n      }\n      (**(code **)(pcStack_1a8 + -0x798c))(pwVar18);\n      unaff_s5 = pwVar6;\n    }" if (parenthesized_expression "(**(int **)(pcVar23 + 0x5cd28) != 0)" ( (binary_expression "**(int **)(pcVar23 + 0x5cd28) != 0" (pointer_expression "**(int **)(pcVar23 + 0x5cd28)" * (pointer_expression "*(int **)(pcVar23 + 0x5cd28)" * (cast_expression "(int **)(pcVar23 + 0x5cd28)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5cd28)" ( (binary_expression "pcVar23 + 0x5cd28" identifier + number_literal) ))))) != number_literal) )) (compound_statement "{\n      if (*(int *)pwVar18 == 0) {\nLAB_000fb370:\n        uVar7 = *(undefined4 *)pwVar18;\n      }\n      else {\n        pwVar15 = (word *)0x0;\n        pwVar16 = pwVar18;\n        do {\n          pwVar16 = pwVar16 + 2;\n          pwVar15 = (word *)((int)pwVar15 + 1);\n        } while (*(int *)pwVar16 != 0);\n        if ((pwVar15 == (word *)0x0) || (**(int **)(pcVar23 + 0x5c3c8) == 0)) goto LAB_000fb370;\n        pwVar15 = (word *)&DAT_00000004;\n        (**(code **)(pcVar23 + 0x5d0c0))();\n        uVar7 = *(undefined4 *)pwVar18;\n      }\n      iVar5 = (**(code **)(pcStack_1a8 + -0x60fc))(uVar7);\n      uVar7 = (**(code **)(pcStack_1a8 + -0x7f88))(iVar5 + 1);\n      unaff_s4 = (word *)(**(code **)(pcStack_1a8 + -0x6074))(uVar7,*(undefined4 *)pwVar18);\n      if (*(int *)(pwVar18 + 2) == 0) {\n        unaff_s6 = (word *)0x0;\n        pbVar24 = (byte *)0x3;\n        pwVar20 = (word *)0x0;\n      }\n      else {\n        unaff_s6 = (word *)0x0;\n        unaff_s7 = (word *)auStack_19d;\n        pwVar16 = pwVar18;\n        do {\n          uVar7 = *(undefined4 *)pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(uVar7);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(uVar7);\n            *(word **)pwVar16 = unaff_s7;\n          }\n          else {\n            unaff_s6 = (word *)((int)unaff_s6 + 1);\n          }\n          pwVar20 = *(word **)(pwVar16 + 4);\n          pbVar24 = (byte *)((int)unaff_s6 + 3);\n          pwVar16 = pwVar16 + 2;\n        } while (pwVar20 != (word *)0x0);\n      }\n      pwVar6 = (word *)(**(code **)(pcStack_1a8 + -0x7f88))((int)pbVar24 << 2);\n      pbVar24 = *(byte **)(pwVar18 + 2);\n      if (pbVar24 == (byte *)0x0) {\n        pbVar24 = (byte *)(pwVar6 + 2);\n        pbVar24[0] = 0;\n        pbVar24[1] = 0;\n        pbVar24[2] = 0;\n        pbVar24[3] = 0;\n        pwVar16 = (word *)0x1;\n        if (*(undefined1 **)pwVar18 != auStack_19d) {\n          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);\n          goto LAB_000fb4b4;\n        }\n        *(word **)pwVar6 = unaff_s4;\n      }\n      else {\n        pwVar16 = (word *)0x1;\n        pwVar20 = (word *)auStack_19d;\n        pbVar12 = (byte *)(pwVar18 + 4);\n        do {\n          if ((word *)pbVar24 != pwVar20) {\n            *(byte **)(pwVar6 + (int)pwVar16 * 2) = pbVar24;\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\n          pbVar24 = *(byte **)pbVar12;\n          pbVar12 = pbVar12 + 4;\n        } while (pbVar24 != (byte *)0x0);\n        *(undefined4 *)(pwVar6 + (int)pwVar16 * 2) = 0;\n        if (*(undefined1 **)pwVar18 != auStack_19d) {\n          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);\nLAB_000fb4b4:\n          (*pcVar23)();\n        }\n        *(word **)pwVar6 = unaff_s4;\n        if (pwVar16 == (word *)0x2) {\n          pwVar16 = *(word **)(pwVar6 + 2);\n          pwVar20 = pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(unaff_s4);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(pwVar16);\n            pbVar24 = (byte *)(pwVar6 + 2);\n            pbVar24[0] = 0;\n            pbVar24[1] = 0;\n            pbVar24[2] = 0;\n            pbVar24[3] = 0;\n          }\n        }\n      }\n      (**(code **)(pcStack_1a8 + -0x798c))(pwVar18);\n      unaff_s5 = pwVar6;\n    }" { (if_statement "if (*(int *)pwVar18 == 0) {\nLAB_000fb370:\n        uVar7 = *(undefined4 *)pwVar18;\n      }\n      else {\n        pwVar15 = (word *)0x0;\n        pwVar16 = pwVar18;\n        do {\n          pwVar16 = pwVar16 + 2;\n          pwVar15 = (word *)((int)pwVar15 + 1);\n        } while (*(int *)pwVar16 != 0);\n        if ((pwVar15 == (word *)0x0) || (**(int **)(pcVar23 + 0x5c3c8) == 0)) goto LAB_000fb370;\n        pwVar15 = (word *)&DAT_00000004;\n        (**(code **)(pcVar23 + 0x5d0c0))();\n        uVar7 = *(undefined4 *)pwVar18;\n      }" if (parenthesized_expression "(*(int *)pwVar18 == 0)" ( (binary_expression "*(int *)pwVar18 == 0" (pointer_expression "*(int *)pwVar18" * (cast_expression "(int *)pwVar18" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal) )) (compound_statement "{\nLAB_000fb370:\n        uVar7 = *(undefined4 *)pwVar18;\n      }" { (labeled_statement "LAB_000fb370:\n        uVar7 = *(undefined4 *)pwVar18;" statement_identifier : (expression_statement "uVar7 = *(undefined4 *)pwVar18;" (assignment_expression "uVar7 = *(undefined4 *)pwVar18" identifier = (pointer_expression "*(undefined4 *)pwVar18" * (cast_expression "(undefined4 *)pwVar18" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;)) }) (else_clause "else {\n        pwVar15 = (word *)0x0;\n        pwVar16 = pwVar18;\n        do {\n          pwVar16 = pwVar16 + 2;\n          pwVar15 = (word *)((int)pwVar15 + 1);\n        } while (*(int *)pwVar16 != 0);\n        if ((pwVar15 == (word *)0x0) || (**(int **)(pcVar23 + 0x5c3c8) == 0)) goto LAB_000fb370;\n        pwVar15 = (word *)&DAT_00000004;\n        (**(code **)(pcVar23 + 0x5d0c0))();\n        uVar7 = *(undefined4 *)pwVar18;\n      }" else (compound_statement "{\n        pwVar15 = (word *)0x0;\n        pwVar16 = pwVar18;\n        do {\n          pwVar16 = pwVar16 + 2;\n          pwVar15 = (word *)((int)pwVar15 + 1);\n        } while (*(int *)pwVar16 != 0);\n        if ((pwVar15 == (word *)0x0) || (**(int **)(pcVar23 + 0x5c3c8) == 0)) goto LAB_000fb370;\n        pwVar15 = (word *)&DAT_00000004;\n        (**(code **)(pcVar23 + 0x5d0c0))();\n        uVar7 = *(undefined4 *)pwVar18;\n      }" { (expression_statement "pwVar15 = (word *)0x0;" (assignment_expression "pwVar15 = (word *)0x0" identifier = (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pwVar16 = pwVar18;" (assignment_expression "pwVar16 = pwVar18" identifier = identifier) ;) (do_statement "do {\n          pwVar16 = pwVar16 + 2;\n          pwVar15 = (word *)((int)pwVar15 + 1);\n        } while (*(int *)pwVar16 != 0);" do (compound_statement "{\n          pwVar16 = pwVar16 + 2;\n          pwVar15 = (word *)((int)pwVar15 + 1);\n        }" { (expression_statement "pwVar16 = pwVar16 + 2;" (assignment_expression "pwVar16 = pwVar16 + 2" identifier = (binary_expression "pwVar16 + 2" identifier + number_literal)) ;) (expression_statement "pwVar15 = (word *)((int)pwVar15 + 1);" (assignment_expression "pwVar15 = (word *)((int)pwVar15 + 1)" identifier = (cast_expression "(word *)((int)pwVar15 + 1)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwVar15 + 1)" ( (binary_expression "(int)pwVar15 + 1" (cast_expression "(int)pwVar15" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) while (parenthesized_expression "(*(int *)pwVar16 != 0)" ( (binary_expression "*(int *)pwVar16 != 0" (pointer_expression "*(int *)pwVar16" * (cast_expression "(int *)pwVar16" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) )) ;) (if_statement "if ((pwVar15 == (word *)0x0) || (**(int **)(pcVar23 + 0x5c3c8) == 0)) goto LAB_000fb370;" if (parenthesized_expression "((pwVar15 == (word *)0x0) || (**(int **)(pcVar23 + 0x5c3c8) == 0))" ( (binary_expression "(pwVar15 == (word *)0x0) || (**(int **)(pcVar23 + 0x5c3c8) == 0)" (parenthesized_expression "(pwVar15 == (word *)0x0)" ( (binary_expression "pwVar15 == (word *)0x0" identifier == (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(**(int **)(pcVar23 + 0x5c3c8) == 0)" ( (binary_expression "**(int **)(pcVar23 + 0x5c3c8) == 0" (pointer_expression "**(int **)(pcVar23 + 0x5c3c8)" * (pointer_expression "*(int **)(pcVar23 + 0x5c3c8)" * (cast_expression "(int **)(pcVar23 + 0x5c3c8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5c3c8)" ( (binary_expression "pcVar23 + 0x5c3c8" identifier + number_literal) ))))) == number_literal) ))) )) (goto_statement "goto LAB_000fb370;" goto statement_identifier ;)) (expression_statement "pwVar15 = (word *)&DAT_00000004;" (assignment_expression "pwVar15 = (word *)&DAT_00000004" identifier = (cast_expression "(word *)&DAT_00000004" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000004" & identifier))) ;) (expression_statement "(**(code **)(pcVar23 + 0x5d0c0))();" (call_expression "(**(code **)(pcVar23 + 0x5d0c0))()" (parenthesized_expression "(**(code **)(pcVar23 + 0x5d0c0))" ( (pointer_expression "**(code **)(pcVar23 + 0x5d0c0)" * (pointer_expression "*(code **)(pcVar23 + 0x5d0c0)" * (cast_expression "(code **)(pcVar23 + 0x5d0c0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5d0c0)" ( (binary_expression "pcVar23 + 0x5d0c0" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "uVar7 = *(undefined4 *)pwVar18;" (assignment_expression "uVar7 = *(undefined4 *)pwVar18" identifier = (pointer_expression "*(undefined4 *)pwVar18" * (cast_expression "(undefined4 *)pwVar18" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) }))) (expression_statement "iVar5 = (**(code **)(pcStack_1a8 + -0x60fc))(uVar7);" (assignment_expression "iVar5 = (**(code **)(pcStack_1a8 + -0x60fc))(uVar7)" identifier = (call_expression "(**(code **)(pcStack_1a8 + -0x60fc))(uVar7)" (parenthesized_expression "(**(code **)(pcStack_1a8 + -0x60fc))" ( (pointer_expression "**(code **)(pcStack_1a8 + -0x60fc)" * (pointer_expression "*(code **)(pcStack_1a8 + -0x60fc)" * (cast_expression "(code **)(pcStack_1a8 + -0x60fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1a8 + -0x60fc)" ( (binary_expression "pcStack_1a8 + -0x60fc" identifier + number_literal) ))))) )) (argument_list "(uVar7)" ( identifier )))) ;) (expression_statement "uVar7 = (**(code **)(pcStack_1a8 + -0x7f88))(iVar5 + 1);" (assignment_expression "uVar7 = (**(code **)(pcStack_1a8 + -0x7f88))(iVar5 + 1)" identifier = (call_expression "(**(code **)(pcStack_1a8 + -0x7f88))(iVar5 + 1)" (parenthesized_expression "(**(code **)(pcStack_1a8 + -0x7f88))" ( (pointer_expression "**(code **)(pcStack_1a8 + -0x7f88)" * (pointer_expression "*(code **)(pcStack_1a8 + -0x7f88)" * (cast_expression "(code **)(pcStack_1a8 + -0x7f88)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1a8 + -0x7f88)" ( (binary_expression "pcStack_1a8 + -0x7f88" identifier + number_literal) ))))) )) (argument_list "(iVar5 + 1)" ( (binary_expression "iVar5 + 1" identifier + number_literal) )))) ;) (expression_statement "unaff_s4 = (word *)(**(code **)(pcStack_1a8 + -0x6074))(uVar7,*(undefined4 *)pwVar18);" (assignment_expression "unaff_s4 = (word *)(**(code **)(pcStack_1a8 + -0x6074))(uVar7,*(undefined4 *)pwVar18)" identifier = (cast_expression "(word *)(**(code **)(pcStack_1a8 + -0x6074))(uVar7,*(undefined4 *)pwVar18)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_1a8 + -0x6074))(uVar7,*(undefined4 *)pwVar18)" (parenthesized_expression "(**(code **)(pcStack_1a8 + -0x6074))" ( (pointer_expression "**(code **)(pcStack_1a8 + -0x6074)" * (pointer_expression "*(code **)(pcStack_1a8 + -0x6074)" * (cast_expression "(code **)(pcStack_1a8 + -0x6074)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1a8 + -0x6074)" ( (binary_expression "pcStack_1a8 + -0x6074" identifier + number_literal) ))))) )) (argument_list "(uVar7,*(undefined4 *)pwVar18)" ( identifier , (pointer_expression "*(undefined4 *)pwVar18" * (cast_expression "(undefined4 *)pwVar18" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))))) ;) (if_statement "if (*(int *)(pwVar18 + 2) == 0) {\n        unaff_s6 = (word *)0x0;\n        pbVar24 = (byte *)0x3;\n        pwVar20 = (word *)0x0;\n      }\n      else {\n        unaff_s6 = (word *)0x0;\n        unaff_s7 = (word *)auStack_19d;\n        pwVar16 = pwVar18;\n        do {\n          uVar7 = *(undefined4 *)pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(uVar7);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(uVar7);\n            *(word **)pwVar16 = unaff_s7;\n          }\n          else {\n            unaff_s6 = (word *)((int)unaff_s6 + 1);\n          }\n          pwVar20 = *(word **)(pwVar16 + 4);\n          pbVar24 = (byte *)((int)unaff_s6 + 3);\n          pwVar16 = pwVar16 + 2;\n        } while (pwVar20 != (word *)0x0);\n      }" if (parenthesized_expression "(*(int *)(pwVar18 + 2) == 0)" ( (binary_expression "*(int *)(pwVar18 + 2) == 0" (pointer_expression "*(int *)(pwVar18 + 2)" * (cast_expression "(int *)(pwVar18 + 2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pwVar18 + 2)" ( (binary_expression "pwVar18 + 2" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        unaff_s6 = (word *)0x0;\n        pbVar24 = (byte *)0x3;\n        pwVar20 = (word *)0x0;\n      }" { (expression_statement "unaff_s6 = (word *)0x0;" (assignment_expression "unaff_s6 = (word *)0x0" identifier = (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar24 = (byte *)0x3;" (assignment_expression "pbVar24 = (byte *)0x3" identifier = (cast_expression "(byte *)0x3" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pwVar20 = (word *)0x0;" (assignment_expression "pwVar20 = (word *)0x0" identifier = (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n        unaff_s6 = (word *)0x0;\n        unaff_s7 = (word *)auStack_19d;\n        pwVar16 = pwVar18;\n        do {\n          uVar7 = *(undefined4 *)pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(uVar7);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(uVar7);\n            *(word **)pwVar16 = unaff_s7;\n          }\n          else {\n            unaff_s6 = (word *)((int)unaff_s6 + 1);\n          }\n          pwVar20 = *(word **)(pwVar16 + 4);\n          pbVar24 = (byte *)((int)unaff_s6 + 3);\n          pwVar16 = pwVar16 + 2;\n        } while (pwVar20 != (word *)0x0);\n      }" else (compound_statement "{\n        unaff_s6 = (word *)0x0;\n        unaff_s7 = (word *)auStack_19d;\n        pwVar16 = pwVar18;\n        do {\n          uVar7 = *(undefined4 *)pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(uVar7);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(uVar7);\n            *(word **)pwVar16 = unaff_s7;\n          }\n          else {\n            unaff_s6 = (word *)((int)unaff_s6 + 1);\n          }\n          pwVar20 = *(word **)(pwVar16 + 4);\n          pbVar24 = (byte *)((int)unaff_s6 + 3);\n          pwVar16 = pwVar16 + 2;\n        } while (pwVar20 != (word *)0x0);\n      }" { (expression_statement "unaff_s6 = (word *)0x0;" (assignment_expression "unaff_s6 = (word *)0x0" identifier = (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "unaff_s7 = (word *)auStack_19d;" (assignment_expression "unaff_s7 = (word *)auStack_19d" identifier = (cast_expression "(word *)auStack_19d" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pwVar16 = pwVar18;" (assignment_expression "pwVar16 = pwVar18" identifier = identifier) ;) (do_statement "do {\n          uVar7 = *(undefined4 *)pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(uVar7);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(uVar7);\n            *(word **)pwVar16 = unaff_s7;\n          }\n          else {\n            unaff_s6 = (word *)((int)unaff_s6 + 1);\n          }\n          pwVar20 = *(word **)(pwVar16 + 4);\n          pbVar24 = (byte *)((int)unaff_s6 + 3);\n          pwVar16 = pwVar16 + 2;\n        } while (pwVar20 != (word *)0x0);" do (compound_statement "{\n          uVar7 = *(undefined4 *)pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(uVar7);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(uVar7);\n            *(word **)pwVar16 = unaff_s7;\n          }\n          else {\n            unaff_s6 = (word *)((int)unaff_s6 + 1);\n          }\n          pwVar20 = *(word **)(pwVar16 + 4);\n          pbVar24 = (byte *)((int)unaff_s6 + 3);\n          pwVar16 = pwVar16 + 2;\n        }" { (expression_statement "uVar7 = *(undefined4 *)pwVar16;" (assignment_expression "uVar7 = *(undefined4 *)pwVar16" identifier = (pointer_expression "*(undefined4 *)pwVar16" * (cast_expression "(undefined4 *)pwVar16" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(uVar7);" (assignment_expression "iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(uVar7)" identifier = (call_expression "(**(code **)(pcStack_1a8 + -0x5f48))(uVar7)" (parenthesized_expression "(**(code **)(pcStack_1a8 + -0x5f48))" ( (pointer_expression "**(code **)(pcStack_1a8 + -0x5f48)" * (pointer_expression "*(code **)(pcStack_1a8 + -0x5f48)" * (cast_expression "(code **)(pcStack_1a8 + -0x5f48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1a8 + -0x5f48)" ( (binary_expression "pcStack_1a8 + -0x5f48" identifier + number_literal) ))))) )) (argument_list "(uVar7)" ( identifier )))) ;) (if_statement "if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(uVar7);\n            *(word **)pwVar16 = unaff_s7;\n          }\n          else {\n            unaff_s6 = (word *)((int)unaff_s6 + 1);\n          }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n            (**(code **)(pcStack_1a8 + -0x798c))(uVar7);\n            *(word **)pwVar16 = unaff_s7;\n          }" { (expression_statement "(**(code **)(pcStack_1a8 + -0x798c))(uVar7);" (call_expression "(**(code **)(pcStack_1a8 + -0x798c))(uVar7)" (parenthesized_expression "(**(code **)(pcStack_1a8 + -0x798c))" ( (pointer_expression "**(code **)(pcStack_1a8 + -0x798c)" * (pointer_expression "*(code **)(pcStack_1a8 + -0x798c)" * (cast_expression "(code **)(pcStack_1a8 + -0x798c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1a8 + -0x798c)" ( (binary_expression "pcStack_1a8 + -0x798c" identifier + number_literal) ))))) )) (argument_list "(uVar7)" ( identifier ))) ;) (expression_statement "*(word **)pwVar16 = unaff_s7;" (assignment_expression "*(word **)pwVar16 = unaff_s7" (pointer_expression "*(word **)pwVar16" * (cast_expression "(word **)pwVar16" ( (type_descriptor "word **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = identifier) ;) }) (else_clause "else {\n            unaff_s6 = (word *)((int)unaff_s6 + 1);\n          }" else (compound_statement "{\n            unaff_s6 = (word *)((int)unaff_s6 + 1);\n          }" { (expression_statement "unaff_s6 = (word *)((int)unaff_s6 + 1);" (assignment_expression "unaff_s6 = (word *)((int)unaff_s6 + 1)" identifier = (cast_expression "(word *)((int)unaff_s6 + 1)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s6 + 1)" ( (binary_expression "(int)unaff_s6 + 1" (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }))) (expression_statement "pwVar20 = *(word **)(pwVar16 + 4);" (assignment_expression "pwVar20 = *(word **)(pwVar16 + 4)" identifier = (pointer_expression "*(word **)(pwVar16 + 4)" * (cast_expression "(word **)(pwVar16 + 4)" ( (type_descriptor "word **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pwVar16 + 4)" ( (binary_expression "pwVar16 + 4" identifier + number_literal) ))))) ;) (expression_statement "pbVar24 = (byte *)((int)unaff_s6 + 3);" (assignment_expression "pbVar24 = (byte *)((int)unaff_s6 + 3)" identifier = (cast_expression "(byte *)((int)unaff_s6 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s6 + 3)" ( (binary_expression "(int)unaff_s6 + 3" (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pwVar16 = pwVar16 + 2;" (assignment_expression "pwVar16 = pwVar16 + 2" identifier = (binary_expression "pwVar16 + 2" identifier + number_literal)) ;) }) while (parenthesized_expression "(pwVar20 != (word *)0x0)" ( (binary_expression "pwVar20 != (word *)0x0" identifier != (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) }))) (expression_statement "pwVar6 = (word *)(**(code **)(pcStack_1a8 + -0x7f88))((int)pbVar24 << 2);" (assignment_expression "pwVar6 = (word *)(**(code **)(pcStack_1a8 + -0x7f88))((int)pbVar24 << 2)" identifier = (cast_expression "(word *)(**(code **)(pcStack_1a8 + -0x7f88))((int)pbVar24 << 2)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_1a8 + -0x7f88))((int)pbVar24 << 2)" (parenthesized_expression "(**(code **)(pcStack_1a8 + -0x7f88))" ( (pointer_expression "**(code **)(pcStack_1a8 + -0x7f88)" * (pointer_expression "*(code **)(pcStack_1a8 + -0x7f88)" * (cast_expression "(code **)(pcStack_1a8 + -0x7f88)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1a8 + -0x7f88)" ( (binary_expression "pcStack_1a8 + -0x7f88" identifier + number_literal) ))))) )) (argument_list "((int)pbVar24 << 2)" ( (binary_expression "(int)pbVar24 << 2" (cast_expression "(int)pbVar24" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal) ))))) ;) (expression_statement "pbVar24 = *(byte **)(pwVar18 + 2);" (assignment_expression "pbVar24 = *(byte **)(pwVar18 + 2)" identifier = (pointer_expression "*(byte **)(pwVar18 + 2)" * (cast_expression "(byte **)(pwVar18 + 2)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pwVar18 + 2)" ( (binary_expression "pwVar18 + 2" identifier + number_literal) ))))) ;) (if_statement "if (pbVar24 == (byte *)0x0) {\n        pbVar24 = (byte *)(pwVar6 + 2);\n        pbVar24[0] = 0;\n        pbVar24[1] = 0;\n        pbVar24[2] = 0;\n        pbVar24[3] = 0;\n        pwVar16 = (word *)0x1;\n        if (*(undefined1 **)pwVar18 != auStack_19d) {\n          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);\n          goto LAB_000fb4b4;\n        }\n        *(word **)pwVar6 = unaff_s4;\n      }\n      else {\n        pwVar16 = (word *)0x1;\n        pwVar20 = (word *)auStack_19d;\n        pbVar12 = (byte *)(pwVar18 + 4);\n        do {\n          if ((word *)pbVar24 != pwVar20) {\n            *(byte **)(pwVar6 + (int)pwVar16 * 2) = pbVar24;\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\n          pbVar24 = *(byte **)pbVar12;\n          pbVar12 = pbVar12 + 4;\n        } while (pbVar24 != (byte *)0x0);\n        *(undefined4 *)(pwVar6 + (int)pwVar16 * 2) = 0;\n        if (*(undefined1 **)pwVar18 != auStack_19d) {\n          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);\nLAB_000fb4b4:\n          (*pcVar23)();\n        }\n        *(word **)pwVar6 = unaff_s4;\n        if (pwVar16 == (word *)0x2) {\n          pwVar16 = *(word **)(pwVar6 + 2);\n          pwVar20 = pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(unaff_s4);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(pwVar16);\n            pbVar24 = (byte *)(pwVar6 + 2);\n            pbVar24[0] = 0;\n            pbVar24[1] = 0;\n            pbVar24[2] = 0;\n            pbVar24[3] = 0;\n          }\n        }\n      }" if (parenthesized_expression "(pbVar24 == (byte *)0x0)" ( (binary_expression "pbVar24 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pbVar24 = (byte *)(pwVar6 + 2);\n        pbVar24[0] = 0;\n        pbVar24[1] = 0;\n        pbVar24[2] = 0;\n        pbVar24[3] = 0;\n        pwVar16 = (word *)0x1;\n        if (*(undefined1 **)pwVar18 != auStack_19d) {\n          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);\n          goto LAB_000fb4b4;\n        }\n        *(word **)pwVar6 = unaff_s4;\n      }" { (expression_statement "pbVar24 = (byte *)(pwVar6 + 2);" (assignment_expression "pbVar24 = (byte *)(pwVar6 + 2)" identifier = (cast_expression "(byte *)(pwVar6 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pwVar6 + 2)" ( (binary_expression "pwVar6 + 2" identifier + number_literal) )))) ;) (expression_statement "pbVar24[0] = 0;" (assignment_expression "pbVar24[0] = 0" (subscript_expression "pbVar24[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar24[1] = 0;" (assignment_expression "pbVar24[1] = 0" (subscript_expression "pbVar24[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar24[2] = 0;" (assignment_expression "pbVar24[2] = 0" (subscript_expression "pbVar24[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar24[3] = 0;" (assignment_expression "pbVar24[3] = 0" (subscript_expression "pbVar24[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pwVar16 = (word *)0x1;" (assignment_expression "pwVar16 = (word *)0x1" identifier = (cast_expression "(word *)0x1" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (*(undefined1 **)pwVar18 != auStack_19d) {\n          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);\n          goto LAB_000fb4b4;\n        }" if (parenthesized_expression "(*(undefined1 **)pwVar18 != auStack_19d)" ( (binary_expression "*(undefined1 **)pwVar18 != auStack_19d" (pointer_expression "*(undefined1 **)pwVar18" * (cast_expression "(undefined1 **)pwVar18" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) != identifier) )) (compound_statement "{\n          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);\n          goto LAB_000fb4b4;\n        }" { (expression_statement "pcVar23 = *(code **)(pcStack_1a8 + -0x798c);" (assignment_expression "pcVar23 = *(code **)(pcStack_1a8 + -0x798c)" identifier = (pointer_expression "*(code **)(pcStack_1a8 + -0x798c)" * (cast_expression "(code **)(pcStack_1a8 + -0x798c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1a8 + -0x798c)" ( (binary_expression "pcStack_1a8 + -0x798c" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_000fb4b4;" goto statement_identifier ;) })) (expression_statement "*(word **)pwVar6 = unaff_s4;" (assignment_expression "*(word **)pwVar6 = unaff_s4" (pointer_expression "*(word **)pwVar6" * (cast_expression "(word **)pwVar6" ( (type_descriptor "word **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = identifier) ;) }) (else_clause "else {\n        pwVar16 = (word *)0x1;\n        pwVar20 = (word *)auStack_19d;\n        pbVar12 = (byte *)(pwVar18 + 4);\n        do {\n          if ((word *)pbVar24 != pwVar20) {\n            *(byte **)(pwVar6 + (int)pwVar16 * 2) = pbVar24;\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\n          pbVar24 = *(byte **)pbVar12;\n          pbVar12 = pbVar12 + 4;\n        } while (pbVar24 != (byte *)0x0);\n        *(undefined4 *)(pwVar6 + (int)pwVar16 * 2) = 0;\n        if (*(undefined1 **)pwVar18 != auStack_19d) {\n          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);\nLAB_000fb4b4:\n          (*pcVar23)();\n        }\n        *(word **)pwVar6 = unaff_s4;\n        if (pwVar16 == (word *)0x2) {\n          pwVar16 = *(word **)(pwVar6 + 2);\n          pwVar20 = pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(unaff_s4);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(pwVar16);\n            pbVar24 = (byte *)(pwVar6 + 2);\n            pbVar24[0] = 0;\n            pbVar24[1] = 0;\n            pbVar24[2] = 0;\n            pbVar24[3] = 0;\n          }\n        }\n      }" else (compound_statement "{\n        pwVar16 = (word *)0x1;\n        pwVar20 = (word *)auStack_19d;\n        pbVar12 = (byte *)(pwVar18 + 4);\n        do {\n          if ((word *)pbVar24 != pwVar20) {\n            *(byte **)(pwVar6 + (int)pwVar16 * 2) = pbVar24;\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\n          pbVar24 = *(byte **)pbVar12;\n          pbVar12 = pbVar12 + 4;\n        } while (pbVar24 != (byte *)0x0);\n        *(undefined4 *)(pwVar6 + (int)pwVar16 * 2) = 0;\n        if (*(undefined1 **)pwVar18 != auStack_19d) {\n          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);\nLAB_000fb4b4:\n          (*pcVar23)();\n        }\n        *(word **)pwVar6 = unaff_s4;\n        if (pwVar16 == (word *)0x2) {\n          pwVar16 = *(word **)(pwVar6 + 2);\n          pwVar20 = pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(unaff_s4);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(pwVar16);\n            pbVar24 = (byte *)(pwVar6 + 2);\n            pbVar24[0] = 0;\n            pbVar24[1] = 0;\n            pbVar24[2] = 0;\n            pbVar24[3] = 0;\n          }\n        }\n      }" { (expression_statement "pwVar16 = (word *)0x1;" (assignment_expression "pwVar16 = (word *)0x1" identifier = (cast_expression "(word *)0x1" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pwVar20 = (word *)auStack_19d;" (assignment_expression "pwVar20 = (word *)auStack_19d" identifier = (cast_expression "(word *)auStack_19d" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pbVar12 = (byte *)(pwVar18 + 4);" (assignment_expression "pbVar12 = (byte *)(pwVar18 + 4)" identifier = (cast_expression "(byte *)(pwVar18 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pwVar18 + 4)" ( (binary_expression "pwVar18 + 4" identifier + number_literal) )))) ;) (do_statement "do {\n          if ((word *)pbVar24 != pwVar20) {\n            *(byte **)(pwVar6 + (int)pwVar16 * 2) = pbVar24;\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\n          pbVar24 = *(byte **)pbVar12;\n          pbVar12 = pbVar12 + 4;\n        } while (pbVar24 != (byte *)0x0);" do (compound_statement "{\n          if ((word *)pbVar24 != pwVar20) {\n            *(byte **)(pwVar6 + (int)pwVar16 * 2) = pbVar24;\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\n          pbVar24 = *(byte **)pbVar12;\n          pbVar12 = pbVar12 + 4;\n        }" { (if_statement "if ((word *)pbVar24 != pwVar20) {\n            *(byte **)(pwVar6 + (int)pwVar16 * 2) = pbVar24;\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }" if (parenthesized_expression "((word *)pbVar24 != pwVar20)" ( (binary_expression "(word *)pbVar24 != pwVar20" (cast_expression "(word *)pbVar24" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) != identifier) )) (compound_statement "{\n            *(byte **)(pwVar6 + (int)pwVar16 * 2) = pbVar24;\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }" { (expression_statement "*(byte **)(pwVar6 + (int)pwVar16 * 2) = pbVar24;" (assignment_expression "*(byte **)(pwVar6 + (int)pwVar16 * 2) = pbVar24" (pointer_expression "*(byte **)(pwVar6 + (int)pwVar16 * 2)" * (cast_expression "(byte **)(pwVar6 + (int)pwVar16 * 2)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pwVar6 + (int)pwVar16 * 2)" ( (binary_expression "pwVar6 + (int)pwVar16 * 2" identifier + (binary_expression "(int)pwVar16 * 2" (cast_expression "(int)pwVar16" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) = identifier) ;) (expression_statement "pwVar16 = (word *)((int)pwVar16 + 1);" (assignment_expression "pwVar16 = (word *)((int)pwVar16 + 1)" identifier = (cast_expression "(word *)((int)pwVar16 + 1)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwVar16 + 1)" ( (binary_expression "(int)pwVar16 + 1" (cast_expression "(int)pwVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) (expression_statement "pbVar24 = *(byte **)pbVar12;" (assignment_expression "pbVar24 = *(byte **)pbVar12" identifier = (pointer_expression "*(byte **)pbVar12" * (cast_expression "(byte **)pbVar12" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "pbVar12 = pbVar12 + 4;" (assignment_expression "pbVar12 = pbVar12 + 4" identifier = (binary_expression "pbVar12 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(pbVar24 != (byte *)0x0)" ( (binary_expression "pbVar24 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (expression_statement "*(undefined4 *)(pwVar6 + (int)pwVar16 * 2) = 0;" (assignment_expression "*(undefined4 *)(pwVar6 + (int)pwVar16 * 2) = 0" (pointer_expression "*(undefined4 *)(pwVar6 + (int)pwVar16 * 2)" * (cast_expression "(undefined4 *)(pwVar6 + (int)pwVar16 * 2)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pwVar6 + (int)pwVar16 * 2)" ( (binary_expression "pwVar6 + (int)pwVar16 * 2" identifier + (binary_expression "(int)pwVar16 * 2" (cast_expression "(int)pwVar16" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) = number_literal) ;) (if_statement "if (*(undefined1 **)pwVar18 != auStack_19d) {\n          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);\nLAB_000fb4b4:\n          (*pcVar23)();\n        }" if (parenthesized_expression "(*(undefined1 **)pwVar18 != auStack_19d)" ( (binary_expression "*(undefined1 **)pwVar18 != auStack_19d" (pointer_expression "*(undefined1 **)pwVar18" * (cast_expression "(undefined1 **)pwVar18" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) != identifier) )) (compound_statement "{\n          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);\nLAB_000fb4b4:\n          (*pcVar23)();\n        }" { (expression_statement "pcVar23 = *(code **)(pcStack_1a8 + -0x798c);" (assignment_expression "pcVar23 = *(code **)(pcStack_1a8 + -0x798c)" identifier = (pointer_expression "*(code **)(pcStack_1a8 + -0x798c)" * (cast_expression "(code **)(pcStack_1a8 + -0x798c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1a8 + -0x798c)" ( (binary_expression "pcStack_1a8 + -0x798c" identifier + number_literal) ))))) ;) (labeled_statement "LAB_000fb4b4:\n          (*pcVar23)();" statement_identifier : (expression_statement "(*pcVar23)();" (call_expression "(*pcVar23)()" (parenthesized_expression "(*pcVar23)" ( (pointer_expression "*pcVar23" * identifier) )) (argument_list "()" ( ))) ;)) })) (expression_statement "*(word **)pwVar6 = unaff_s4;" (assignment_expression "*(word **)pwVar6 = unaff_s4" (pointer_expression "*(word **)pwVar6" * (cast_expression "(word **)pwVar6" ( (type_descriptor "word **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = identifier) ;) (if_statement "if (pwVar16 == (word *)0x2) {\n          pwVar16 = *(word **)(pwVar6 + 2);\n          pwVar20 = pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(unaff_s4);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(pwVar16);\n            pbVar24 = (byte *)(pwVar6 + 2);\n            pbVar24[0] = 0;\n            pbVar24[1] = 0;\n            pbVar24[2] = 0;\n            pbVar24[3] = 0;\n          }\n        }" if (parenthesized_expression "(pwVar16 == (word *)0x2)" ( (binary_expression "pwVar16 == (word *)0x2" identifier == (cast_expression "(word *)0x2" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          pwVar16 = *(word **)(pwVar6 + 2);\n          pwVar20 = pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(unaff_s4);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(pwVar16);\n            pbVar24 = (byte *)(pwVar6 + 2);\n            pbVar24[0] = 0;\n            pbVar24[1] = 0;\n            pbVar24[2] = 0;\n            pbVar24[3] = 0;\n          }\n        }" { (expression_statement "pwVar16 = *(word **)(pwVar6 + 2);" (assignment_expression "pwVar16 = *(word **)(pwVar6 + 2)" identifier = (pointer_expression "*(word **)(pwVar6 + 2)" * (cast_expression "(word **)(pwVar6 + 2)" ( (type_descriptor "word **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pwVar6 + 2)" ( (binary_expression "pwVar6 + 2" identifier + number_literal) ))))) ;) (expression_statement "pwVar20 = pwVar16;" (assignment_expression "pwVar20 = pwVar16" identifier = identifier) ;) (expression_statement "iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(unaff_s4);" (assignment_expression "iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(unaff_s4)" identifier = (call_expression "(**(code **)(pcStack_1a8 + -0x5f48))(unaff_s4)" (parenthesized_expression "(**(code **)(pcStack_1a8 + -0x5f48))" ( (pointer_expression "**(code **)(pcStack_1a8 + -0x5f48)" * (pointer_expression "*(code **)(pcStack_1a8 + -0x5f48)" * (cast_expression "(code **)(pcStack_1a8 + -0x5f48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1a8 + -0x5f48)" ( (binary_expression "pcStack_1a8 + -0x5f48" identifier + number_literal) ))))) )) (argument_list "(unaff_s4)" ( identifier )))) ;) (if_statement "if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(pwVar16);\n            pbVar24 = (byte *)(pwVar6 + 2);\n            pbVar24[0] = 0;\n            pbVar24[1] = 0;\n            pbVar24[2] = 0;\n            pbVar24[3] = 0;\n          }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n            (**(code **)(pcStack_1a8 + -0x798c))(pwVar16);\n            pbVar24 = (byte *)(pwVar6 + 2);\n            pbVar24[0] = 0;\n            pbVar24[1] = 0;\n            pbVar24[2] = 0;\n            pbVar24[3] = 0;\n          }" { (expression_statement "(**(code **)(pcStack_1a8 + -0x798c))(pwVar16);" (call_expression "(**(code **)(pcStack_1a8 + -0x798c))(pwVar16)" (parenthesized_expression "(**(code **)(pcStack_1a8 + -0x798c))" ( (pointer_expression "**(code **)(pcStack_1a8 + -0x798c)" * (pointer_expression "*(code **)(pcStack_1a8 + -0x798c)" * (cast_expression "(code **)(pcStack_1a8 + -0x798c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1a8 + -0x798c)" ( (binary_expression "pcStack_1a8 + -0x798c" identifier + number_literal) ))))) )) (argument_list "(pwVar16)" ( identifier ))) ;) (expression_statement "pbVar24 = (byte *)(pwVar6 + 2);" (assignment_expression "pbVar24 = (byte *)(pwVar6 + 2)" identifier = (cast_expression "(byte *)(pwVar6 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pwVar6 + 2)" ( (binary_expression "pwVar6 + 2" identifier + number_literal) )))) ;) (expression_statement "pbVar24[0] = 0;" (assignment_expression "pbVar24[0] = 0" (subscript_expression "pbVar24[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar24[1] = 0;" (assignment_expression "pbVar24[1] = 0" (subscript_expression "pbVar24[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar24[2] = 0;" (assignment_expression "pbVar24[2] = 0" (subscript_expression "pbVar24[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar24[3] = 0;" (assignment_expression "pbVar24[3] = 0" (subscript_expression "pbVar24[3]" identifier [ number_literal ]) = number_literal) ;) })) })) }))) (expression_statement "(**(code **)(pcStack_1a8 + -0x798c))(pwVar18);" (call_expression "(**(code **)(pcStack_1a8 + -0x798c))(pwVar18)" (parenthesized_expression "(**(code **)(pcStack_1a8 + -0x798c))" ( (pointer_expression "**(code **)(pcStack_1a8 + -0x798c)" * (pointer_expression "*(code **)(pcStack_1a8 + -0x798c)" * (cast_expression "(code **)(pcStack_1a8 + -0x798c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1a8 + -0x798c)" ( (binary_expression "pcStack_1a8 + -0x798c" identifier + number_literal) ))))) )) (argument_list "(pwVar18)" ( identifier ))) ;) (expression_statement "unaff_s5 = pwVar6;" (assignment_expression "unaff_s5 = pwVar6" identifier = identifier) ;) })) (expression_statement "unaff_s3 = pwVar14;" (assignment_expression "unaff_s3 = pwVar14" identifier = identifier) ;) (expression_statement "pwVar18 = pwVar6;" (assignment_expression "pwVar18 = pwVar6" identifier = identifier) ;) (if_statement "if (((code *)**(undefined4 **)(pcStack_1a8 + -0x703c) == (code *)0x0) ||\n       (pwVar14 == (word *)0x0)) goto LAB_000fb570;" if (parenthesized_expression "(((code *)**(undefined4 **)(pcStack_1a8 + -0x703c) == (code *)0x0) ||\n       (pwVar14 == (word *)0x0))" ( (binary_expression "((code *)**(undefined4 **)(pcStack_1a8 + -0x703c) == (code *)0x0) ||\n       (pwVar14 == (word *)0x0)" (parenthesized_expression "((code *)**(undefined4 **)(pcStack_1a8 + -0x703c) == (code *)0x0)" ( (binary_expression "(code *)**(undefined4 **)(pcStack_1a8 + -0x703c) == (code *)0x0" (cast_expression "(code *)**(undefined4 **)(pcStack_1a8 + -0x703c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcStack_1a8 + -0x703c)" * (pointer_expression "*(undefined4 **)(pcStack_1a8 + -0x703c)" * (cast_expression "(undefined4 **)(pcStack_1a8 + -0x703c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1a8 + -0x703c)" ( (binary_expression "pcStack_1a8 + -0x703c" identifier + number_literal) )))))) == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(pwVar14 == (word *)0x0)" ( (binary_expression "pwVar14 == (word *)0x0" identifier == (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (goto_statement "goto LAB_000fb570;" goto statement_identifier ;)) (if_statement "if (*(int *)(pwVar6 + 2) == 0) {\n      pwVar16 = (word *)0x1;\n    }\n    else {\n      pwVar16 = (word *)0x1;\n      pbVar24 = (byte *)(pwVar6 + 4);\n      do {\n        iVar5 = *(int *)pbVar24;\n        pwVar16 = (word *)((int)pwVar16 + 1);\n        pbVar24 = pbVar24 + 4;\n      } while (iVar5 != 0);\n    }" if (parenthesized_expression "(*(int *)(pwVar6 + 2) == 0)" ( (binary_expression "*(int *)(pwVar6 + 2) == 0" (pointer_expression "*(int *)(pwVar6 + 2)" * (cast_expression "(int *)(pwVar6 + 2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pwVar6 + 2)" ( (binary_expression "pwVar6 + 2" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      pwVar16 = (word *)0x1;\n    }" { (expression_statement "pwVar16 = (word *)0x1;" (assignment_expression "pwVar16 = (word *)0x1" identifier = (cast_expression "(word *)0x1" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n      pwVar16 = (word *)0x1;\n      pbVar24 = (byte *)(pwVar6 + 4);\n      do {\n        iVar5 = *(int *)pbVar24;\n        pwVar16 = (word *)((int)pwVar16 + 1);\n        pbVar24 = pbVar24 + 4;\n      } while (iVar5 != 0);\n    }" else (compound_statement "{\n      pwVar16 = (word *)0x1;\n      pbVar24 = (byte *)(pwVar6 + 4);\n      do {\n        iVar5 = *(int *)pbVar24;\n        pwVar16 = (word *)((int)pwVar16 + 1);\n        pbVar24 = pbVar24 + 4;\n      } while (iVar5 != 0);\n    }" { (expression_statement "pwVar16 = (word *)0x1;" (assignment_expression "pwVar16 = (word *)0x1" identifier = (cast_expression "(word *)0x1" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar24 = (byte *)(pwVar6 + 4);" (assignment_expression "pbVar24 = (byte *)(pwVar6 + 4)" identifier = (cast_expression "(byte *)(pwVar6 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pwVar6 + 4)" ( (binary_expression "pwVar6 + 4" identifier + number_literal) )))) ;) (do_statement "do {\n        iVar5 = *(int *)pbVar24;\n        pwVar16 = (word *)((int)pwVar16 + 1);\n        pbVar24 = pbVar24 + 4;\n      } while (iVar5 != 0);" do (compound_statement "{\n        iVar5 = *(int *)pbVar24;\n        pwVar16 = (word *)((int)pwVar16 + 1);\n        pbVar24 = pbVar24 + 4;\n      }" { (expression_statement "iVar5 = *(int *)pbVar24;" (assignment_expression "iVar5 = *(int *)pbVar24" identifier = (pointer_expression "*(int *)pbVar24" * (cast_expression "(int *)pbVar24" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "pwVar16 = (word *)((int)pwVar16 + 1);" (assignment_expression "pwVar16 = (word *)((int)pwVar16 + 1)" identifier = (cast_expression "(word *)((int)pwVar16 + 1)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwVar16 + 1)" ( (binary_expression "(int)pwVar16 + 1" (cast_expression "(int)pwVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pbVar24 = pbVar24 + 4;" (assignment_expression "pbVar24 = pbVar24 + 4" identifier = (binary_expression "pbVar24 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) ;) }))) (expression_statement "(*(code *)**(undefined4 **)(pcStack_1a8 + -0x703c))(pwVar6);" (call_expression "(*(code *)**(undefined4 **)(pcStack_1a8 + -0x703c))(pwVar6)" (parenthesized_expression "(*(code *)**(undefined4 **)(pcStack_1a8 + -0x703c))" ( (pointer_expression "*(code *)**(undefined4 **)(pcStack_1a8 + -0x703c)" * (cast_expression "(code *)**(undefined4 **)(pcStack_1a8 + -0x703c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcStack_1a8 + -0x703c)" * (pointer_expression "*(undefined4 **)(pcStack_1a8 + -0x703c)" * (cast_expression "(undefined4 **)(pcStack_1a8 + -0x703c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1a8 + -0x703c)" ( (binary_expression "pcStack_1a8 + -0x703c" identifier + number_literal) ))))))) )) (argument_list "(pwVar6)" ( identifier ))) ;) (expression_statement "unaff_s3 = *(word **)pwVar6;" (assignment_expression "unaff_s3 = *(word **)pwVar6" identifier = (pointer_expression "*(word **)pwVar6" * (cast_expression "(word **)pwVar6" ( (type_descriptor "word **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (if_statement "if (unaff_s3 == (word *)0x0) {\n      (**(code **)(pcStack_1a8 + -0x5f94))(pwVar6);\n      *puVar21 = 0;\n      pwVar6 = (word *)0x0;\n      pwVar14 = pwVar20;\n      goto LAB_000fb578;\n    }" if (parenthesized_expression "(unaff_s3 == (word *)0x0)" ( (binary_expression "unaff_s3 == (word *)0x0" identifier == (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      (**(code **)(pcStack_1a8 + -0x5f94))(pwVar6);\n      *puVar21 = 0;\n      pwVar6 = (word *)0x0;\n      pwVar14 = pwVar20;\n      goto LAB_000fb578;\n    }" { (expression_statement "(**(code **)(pcStack_1a8 + -0x5f94))(pwVar6);" (call_expression "(**(code **)(pcStack_1a8 + -0x5f94))(pwVar6)" (parenthesized_expression "(**(code **)(pcStack_1a8 + -0x5f94))" ( (pointer_expression "**(code **)(pcStack_1a8 + -0x5f94)" * (pointer_expression "*(code **)(pcStack_1a8 + -0x5f94)" * (cast_expression "(code **)(pcStack_1a8 + -0x5f94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1a8 + -0x5f94)" ( (binary_expression "pcStack_1a8 + -0x5f94" identifier + number_literal) ))))) )) (argument_list "(pwVar6)" ( identifier ))) ;) (expression_statement "*puVar21 = 0;" (assignment_expression "*puVar21 = 0" (pointer_expression "*puVar21" * identifier) = number_literal) ;) (expression_statement "pwVar6 = (word *)0x0;" (assignment_expression "pwVar6 = (word *)0x0" identifier = (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pwVar14 = pwVar20;" (assignment_expression "pwVar14 = pwVar20" identifier = identifier) ;) (goto_statement "goto LAB_000fb578;" goto statement_identifier ;) })) (if_statement "if (*(int *)(pwVar6 + 2) == 0) {\nLAB_000fb570:\n      *puVar21 = pwVar6;\n    }\n    else {\n      pbVar24 = (byte *)(pwVar6 + 4);\n      pwVar14 = (word *)0x1;\n      do {\n        pwVar20 = pwVar14;\n        iVar5 = *(int *)pbVar24;\n        pwVar14 = (word *)((int)pwVar20 + 1);\n        pbVar24 = pbVar24 + 4;\n      } while (iVar5 != 0);\n      pwVar16 = (word *)(uint)((int)pwVar14 < (int)pwVar16);\n      if (((int)pwVar14 < 2) || (pwVar15 = unaff_s3, pwVar16 == (word *)0x0)) goto LAB_000fb570;\n      FUN_000fab30(pwVar6);\n      (**(code **)(pcStack_1a8 + -0x5f94))(unaff_s3);\n      *puVar21 = pwVar6;\n    }" if (parenthesized_expression "(*(int *)(pwVar6 + 2) == 0)" ( (binary_expression "*(int *)(pwVar6 + 2) == 0" (pointer_expression "*(int *)(pwVar6 + 2)" * (cast_expression "(int *)(pwVar6 + 2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pwVar6 + 2)" ( (binary_expression "pwVar6 + 2" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_000fb570:\n      *puVar21 = pwVar6;\n    }" { (labeled_statement "LAB_000fb570:\n      *puVar21 = pwVar6;" statement_identifier : (expression_statement "*puVar21 = pwVar6;" (assignment_expression "*puVar21 = pwVar6" (pointer_expression "*puVar21" * identifier) = identifier) ;)) }) (else_clause "else {\n      pbVar24 = (byte *)(pwVar6 + 4);\n      pwVar14 = (word *)0x1;\n      do {\n        pwVar20 = pwVar14;\n        iVar5 = *(int *)pbVar24;\n        pwVar14 = (word *)((int)pwVar20 + 1);\n        pbVar24 = pbVar24 + 4;\n      } while (iVar5 != 0);\n      pwVar16 = (word *)(uint)((int)pwVar14 < (int)pwVar16);\n      if (((int)pwVar14 < 2) || (pwVar15 = unaff_s3, pwVar16 == (word *)0x0)) goto LAB_000fb570;\n      FUN_000fab30(pwVar6);\n      (**(code **)(pcStack_1a8 + -0x5f94))(unaff_s3);\n      *puVar21 = pwVar6;\n    }" else (compound_statement "{\n      pbVar24 = (byte *)(pwVar6 + 4);\n      pwVar14 = (word *)0x1;\n      do {\n        pwVar20 = pwVar14;\n        iVar5 = *(int *)pbVar24;\n        pwVar14 = (word *)((int)pwVar20 + 1);\n        pbVar24 = pbVar24 + 4;\n      } while (iVar5 != 0);\n      pwVar16 = (word *)(uint)((int)pwVar14 < (int)pwVar16);\n      if (((int)pwVar14 < 2) || (pwVar15 = unaff_s3, pwVar16 == (word *)0x0)) goto LAB_000fb570;\n      FUN_000fab30(pwVar6);\n      (**(code **)(pcStack_1a8 + -0x5f94))(unaff_s3);\n      *puVar21 = pwVar6;\n    }" { (expression_statement "pbVar24 = (byte *)(pwVar6 + 4);" (assignment_expression "pbVar24 = (byte *)(pwVar6 + 4)" identifier = (cast_expression "(byte *)(pwVar6 + 4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pwVar6 + 4)" ( (binary_expression "pwVar6 + 4" identifier + number_literal) )))) ;) (expression_statement "pwVar14 = (word *)0x1;" (assignment_expression "pwVar14 = (word *)0x1" identifier = (cast_expression "(word *)0x1" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (do_statement "do {\n        pwVar20 = pwVar14;\n        iVar5 = *(int *)pbVar24;\n        pwVar14 = (word *)((int)pwVar20 + 1);\n        pbVar24 = pbVar24 + 4;\n      } while (iVar5 != 0);" do (compound_statement "{\n        pwVar20 = pwVar14;\n        iVar5 = *(int *)pbVar24;\n        pwVar14 = (word *)((int)pwVar20 + 1);\n        pbVar24 = pbVar24 + 4;\n      }" { (expression_statement "pwVar20 = pwVar14;" (assignment_expression "pwVar20 = pwVar14" identifier = identifier) ;) (expression_statement "iVar5 = *(int *)pbVar24;" (assignment_expression "iVar5 = *(int *)pbVar24" identifier = (pointer_expression "*(int *)pbVar24" * (cast_expression "(int *)pbVar24" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "pwVar14 = (word *)((int)pwVar20 + 1);" (assignment_expression "pwVar14 = (word *)((int)pwVar20 + 1)" identifier = (cast_expression "(word *)((int)pwVar20 + 1)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwVar20 + 1)" ( (binary_expression "(int)pwVar20 + 1" (cast_expression "(int)pwVar20" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pbVar24 = pbVar24 + 4;" (assignment_expression "pbVar24 = pbVar24 + 4" identifier = (binary_expression "pbVar24 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) ;) (expression_statement "pwVar16 = (word *)(uint)((int)pwVar14 < (int)pwVar16);" (assignment_expression "pwVar16 = (word *)(uint)((int)pwVar14 < (int)pwVar16)" identifier = (cast_expression "(word *)(uint)((int)pwVar14 < (int)pwVar16)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)((int)pwVar14 < (int)pwVar16)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)pwVar14 < (int)pwVar16)" ( (binary_expression "(int)pwVar14 < (int)pwVar16" (cast_expression "(int)pwVar14" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)pwVar16" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;) (if_statement "if (((int)pwVar14 < 2) || (pwVar15 = unaff_s3, pwVar16 == (word *)0x0)) goto LAB_000fb570;" if (parenthesized_expression "(((int)pwVar14 < 2) || (pwVar15 = unaff_s3, pwVar16 == (word *)0x0))" ( (binary_expression "((int)pwVar14 < 2) || (pwVar15 = unaff_s3, pwVar16 == (word *)0x0)" (parenthesized_expression "((int)pwVar14 < 2)" ( (binary_expression "(int)pwVar14 < 2" (cast_expression "(int)pwVar14" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) || (parenthesized_expression "(pwVar15 = unaff_s3, pwVar16 == (word *)0x0)" ( (comma_expression "pwVar15 = unaff_s3, pwVar16 == (word *)0x0" (assignment_expression "pwVar15 = unaff_s3" identifier = identifier) , (binary_expression "pwVar16 == (word *)0x0" identifier == (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (goto_statement "goto LAB_000fb570;" goto statement_identifier ;)) (expression_statement "FUN_000fab30(pwVar6);" (call_expression "FUN_000fab30(pwVar6)" identifier (argument_list "(pwVar6)" ( identifier ))) ;) (expression_statement "(**(code **)(pcStack_1a8 + -0x5f94))(unaff_s3);" (call_expression "(**(code **)(pcStack_1a8 + -0x5f94))(unaff_s3)" (parenthesized_expression "(**(code **)(pcStack_1a8 + -0x5f94))" ( (pointer_expression "**(code **)(pcStack_1a8 + -0x5f94)" * (pointer_expression "*(code **)(pcStack_1a8 + -0x5f94)" * (cast_expression "(code **)(pcStack_1a8 + -0x5f94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1a8 + -0x5f94)" ( (binary_expression "pcStack_1a8 + -0x5f94" identifier + number_literal) ))))) )) (argument_list "(unaff_s3)" ( identifier ))) ;) (expression_statement "*puVar21 = pwVar6;" (assignment_expression "*puVar21 = pwVar6" (pointer_expression "*puVar21" * identifier) = identifier) ;) }))) (expression_statement "pwVar6 = (word *)0x1;" (assignment_expression "pwVar6 = (word *)0x1" identifier = (cast_expression "(word *)0x1" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pwVar14 = pwVar20;" (assignment_expression "pwVar14 = pwVar20" identifier = identifier) ;) }))) (labeled_statement "LAB_000fb578:\n  if ((char *)auStack_19d._1_4_ == (char *)**(undefined4 **)(pcStack_1a8 + -0x5fb4)) {\n    return pwVar6;\n  }" statement_identifier : (if_statement "if ((char *)auStack_19d._1_4_ == (char *)**(undefined4 **)(pcStack_1a8 + -0x5fb4)) {\n    return pwVar6;\n  }" if (parenthesized_expression "((char *)auStack_19d._1_4_ == (char *)**(undefined4 **)(pcStack_1a8 + -0x5fb4))" ( (binary_expression "(char *)auStack_19d._1_4_ == (char *)**(undefined4 **)(pcStack_1a8 + -0x5fb4)" (cast_expression "(char *)auStack_19d._1_4_" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_19d._1_4_" identifier . field_identifier)) == (cast_expression "(char *)**(undefined4 **)(pcStack_1a8 + -0x5fb4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcStack_1a8 + -0x5fb4)" * (pointer_expression "*(undefined4 **)(pcStack_1a8 + -0x5fb4)" * (cast_expression "(undefined4 **)(pcStack_1a8 + -0x5fb4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1a8 + -0x5fb4)" ( (binary_expression "pcStack_1a8 + -0x5fb4" identifier + number_literal) ))))))) )) (compound_statement "{\n    return pwVar6;\n  }" { (return_statement "return pwVar6;" return identifier ;) }))) (expression_statement "pcVar23 = *(code **)(pcStack_1a8 + -0x6004);" (assignment_expression "pcVar23 = *(code **)(pcStack_1a8 + -0x6004)" identifier = (pointer_expression "*(code **)(pcStack_1a8 + -0x6004)" * (cast_expression "(code **)(pcStack_1a8 + -0x6004)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_1a8 + -0x6004)" ( (binary_expression "pcStack_1a8 + -0x6004" identifier + number_literal) ))))) ;) (expression_statement "pcVar25 = rl_filename_completion_function;" (assignment_expression "pcVar25 = rl_filename_completion_function" identifier = identifier) ;) (expression_statement "pcVar19 = (char *)auStack_19d._1_4_;" (assignment_expression "pcVar19 = (char *)auStack_19d._1_4_" identifier = (cast_expression "(char *)auStack_19d._1_4_" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_19d._1_4_" identifier . field_identifier))) ;) (expression_statement "(*pcVar23)();" (call_expression "(*pcVar23)()" (parenthesized_expression "(*pcVar23)" ( (pointer_expression "*pcVar23" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_230 = pcVar23 + 0x62f20;" (assignment_expression "pcStack_230 = pcVar23 + 0x62f20" identifier = (binary_expression "pcVar23 + 0x62f20" identifier + number_literal)) ;) (expression_statement "iStack_1e4 = **(int **)(pcVar23 + 0x5cf6c);" (assignment_expression "iStack_1e4 = **(int **)(pcVar23 + 0x5cf6c)" identifier = (pointer_expression "**(int **)(pcVar23 + 0x5cf6c)" * (pointer_expression "*(int **)(pcVar23 + 0x5cf6c)" * (cast_expression "(int **)(pcVar23 + 0x5cf6c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5cf6c)" ( (binary_expression "pcVar23 + 0x5cf6c" identifier + number_literal) )))))) ;) (expression_statement "pwStack_1e0 = pwVar16;" (assignment_expression "pwStack_1e0 = pwVar16" identifier = identifier) ;) (expression_statement "pwStack_1dc = pwVar18;" (assignment_expression "pwStack_1dc = pwVar18" identifier = identifier) ;) (expression_statement "puStack_1d8 = puVar21;" (assignment_expression "puStack_1d8 = puVar21" identifier = identifier) ;) (expression_statement "pwStack_1d4 = unaff_s3;" (assignment_expression "pwStack_1d4 = unaff_s3" identifier = identifier) ;) (expression_statement "pwStack_1d0 = unaff_s4;" (assignment_expression "pwStack_1d0 = unaff_s4" identifier = identifier) ;) (expression_statement "pwStack_1cc = unaff_s5;" (assignment_expression "pwStack_1cc = unaff_s5" identifier = identifier) ;) (expression_statement "pwStack_1c8 = unaff_s6;" (assignment_expression "pwStack_1c8 = unaff_s6" identifier = identifier) ;) (expression_statement "pwStack_1c4 = unaff_s7;" (assignment_expression "pwStack_1c4 = unaff_s7" identifier = identifier) ;) (expression_statement "ppbStack_1c0 = unaff_s8;" (assignment_expression "ppbStack_1c0 = unaff_s8" identifier = identifier) ;) (expression_statement "pcStack_1bc = pcVar25;" (assignment_expression "pcStack_1bc = pcVar25" identifier = identifier) ;) (if_statement "if (pwVar14 != (word *)0x0) goto LAB_000fb968;" if (parenthesized_expression "(pwVar14 != (word *)0x0)" ( (binary_expression "pwVar14 != (word *)0x0" identifier != (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000fb968;" goto statement_identifier ;)) (if_statement "if (*(int *)(*(int *)(pcVar23 + 0x5af4c) + -0x3fd4) != 0) {\n    (**(code **)(pcVar23 + 0x5cc9c))();\n    *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) = 0;\n  }" if (parenthesized_expression "(*(int *)(*(int *)(pcVar23 + 0x5af4c) + -0x3fd4) != 0)" ( (binary_expression "*(int *)(*(int *)(pcVar23 + 0x5af4c) + -0x3fd4) != 0" (pointer_expression "*(int *)(*(int *)(pcVar23 + 0x5af4c) + -0x3fd4)" * (cast_expression "(int *)(*(int *)(pcVar23 + 0x5af4c) + -0x3fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar23 + 0x5af4c) + -0x3fd4)" ( (binary_expression "*(int *)(pcVar23 + 0x5af4c) + -0x3fd4" (pointer_expression "*(int *)(pcVar23 + 0x5af4c)" * (cast_expression "(int *)(pcVar23 + 0x5af4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar23 + 0x5af4c)" ( (binary_expression "pcVar23 + 0x5af4c" identifier + number_literal) )))) + number_literal) )))) != number_literal) )) (compound_statement "{\n    (**(code **)(pcVar23 + 0x5cc9c))();\n    *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) = 0;\n  }" { (expression_statement "(**(code **)(pcVar23 + 0x5cc9c))();" (call_expression "(**(code **)(pcVar23 + 0x5cc9c))()" (parenthesized_expression "(**(code **)(pcVar23 + 0x5cc9c))" ( (pointer_expression "**(code **)(pcVar23 + 0x5cc9c)" * (pointer_expression "*(code **)(pcVar23 + 0x5cc9c)" * (cast_expression "(code **)(pcVar23 + 0x5cc9c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5cc9c)" ( (binary_expression "pcVar23 + 0x5cc9c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) = 0;" (assignment_expression "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) = 0" (pointer_expression "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4)" * (cast_expression "(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4)" ( (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) )))) + number_literal) )))) = number_literal) ;) })) (if_statement "if (*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) != 0) {\n    (**(code **)(pcStack_230 + -0x5f94))();\n  }" if (parenthesized_expression "(*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) != 0)" ( (binary_expression "*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) != 0" (pointer_expression "*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" * (cast_expression "(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" ( (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) )))) + number_literal) )))) != number_literal) )) (compound_statement "{\n    (**(code **)(pcStack_230 + -0x5f94))();\n  }" { (expression_statement "(**(code **)(pcStack_230 + -0x5f94))();" (call_expression "(**(code **)(pcStack_230 + -0x5f94))()" (parenthesized_expression "(**(code **)(pcStack_230 + -0x5f94))" ( (pointer_expression "**(code **)(pcStack_230 + -0x5f94)" * (pointer_expression "*(code **)(pcStack_230 + -0x5f94)" * (cast_expression "(code **)(pcStack_230 + -0x5f94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x5f94)" ( (binary_expression "pcStack_230 + -0x5f94" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) })) (if_statement "if (*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) != 0) {\n    (**(code **)(pcStack_230 + -0x5f94))();\n  }" if (parenthesized_expression "(*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) != 0)" ( (binary_expression "*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) != 0" (pointer_expression "*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc)" * (cast_expression "(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc)" ( (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) )))) + number_literal) )))) != number_literal) )) (compound_statement "{\n    (**(code **)(pcStack_230 + -0x5f94))();\n  }" { (expression_statement "(**(code **)(pcStack_230 + -0x5f94))();" (call_expression "(**(code **)(pcStack_230 + -0x5f94))()" (parenthesized_expression "(**(code **)(pcStack_230 + -0x5f94))" ( (pointer_expression "**(code **)(pcStack_230 + -0x5f94)" * (pointer_expression "*(code **)(pcStack_230 + -0x5f94)" * (cast_expression "(code **)(pcStack_230 + -0x5f94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x5f94)" ( (binary_expression "pcStack_230 + -0x5f94" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) })) (if_statement "if (*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) != 0) {\n    (**(code **)(pcStack_230 + -0x5f94))();\n  }" if (parenthesized_expression "(*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) != 0)" ( (binary_expression "*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) != 0" (pointer_expression "*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0)" * (cast_expression "(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0)" ( (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) )))) + number_literal) )))) != number_literal) )) (compound_statement "{\n    (**(code **)(pcStack_230 + -0x5f94))();\n  }" { (expression_statement "(**(code **)(pcStack_230 + -0x5f94))();" (call_expression "(**(code **)(pcStack_230 + -0x5f94))()" (parenthesized_expression "(**(code **)(pcStack_230 + -0x5f94))" ( (pointer_expression "**(code **)(pcStack_230 + -0x5f94)" * (pointer_expression "*(code **)(pcStack_230 + -0x5f94)" * (cast_expression "(code **)(pcStack_230 + -0x5f94)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x5f94)" ( (binary_expression "pcStack_230 + -0x5f94" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) })) (expression_statement "iVar5 = (**(code **)(pcStack_230 + -0x60fc))(pcVar19);" (assignment_expression "iVar5 = (**(code **)(pcStack_230 + -0x60fc))(pcVar19)" identifier = (call_expression "(**(code **)(pcStack_230 + -0x60fc))(pcVar19)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x60fc))" ( (pointer_expression "**(code **)(pcStack_230 + -0x60fc)" * (pointer_expression "*(code **)(pcStack_230 + -0x60fc)" * (cast_expression "(code **)(pcStack_230 + -0x60fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x60fc)" ( (binary_expression "pcStack_230 + -0x60fc" identifier + number_literal) ))))) )) (argument_list "(pcVar19)" ( identifier )))) ;) (expression_statement "uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);" (assignment_expression "uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1)" identifier = (call_expression "(**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x7f88))" ( (pointer_expression "**(code **)(pcStack_230 + -0x7f88)" * (pointer_expression "*(code **)(pcStack_230 + -0x7f88)" * (cast_expression "(code **)(pcStack_230 + -0x7f88)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x7f88)" ( (binary_expression "pcStack_230 + -0x7f88" identifier + number_literal) ))))) )) (argument_list "(iVar5 + 1)" ( (binary_expression "iVar5 + 1" identifier + number_literal) )))) ;) (expression_statement "uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,pcVar19);" (assignment_expression "uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,pcVar19)" identifier = (call_expression "(**(code **)(pcStack_230 + -0x6074))(uVar7,pcVar19)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x6074))" ( (pointer_expression "**(code **)(pcStack_230 + -0x6074)" * (pointer_expression "*(code **)(pcStack_230 + -0x6074)" * (cast_expression "(code **)(pcStack_230 + -0x6074)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6074)" ( (binary_expression "pcStack_230 + -0x6074" identifier + number_literal) ))))) )) (argument_list "(uVar7,pcVar19)" ( identifier , identifier )))) ;) (expression_statement "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) = uVar7;" (assignment_expression "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) = uVar7" (pointer_expression "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc)" * (cast_expression "(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc)" ( (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) )))) + number_literal) )))) = identifier) ;) (if_statement "if (*pcVar19 == '\0') {\n    pcVar19 = (char *)(*(int *)(pcStack_230 + -0x7f90) + -0x5e18);\n  }" if (parenthesized_expression "(*pcVar19 == '\0')" ( (binary_expression "*pcVar19 == '\0'" (pointer_expression "*pcVar19" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    pcVar19 = (char *)(*(int *)(pcStack_230 + -0x7f90) + -0x5e18);\n  }" { (expression_statement "pcVar19 = (char *)(*(int *)(pcStack_230 + -0x7f90) + -0x5e18);" (assignment_expression "pcVar19 = (char *)(*(int *)(pcStack_230 + -0x7f90) + -0x5e18)" identifier = (cast_expression "(char *)(*(int *)(pcStack_230 + -0x7f90) + -0x5e18)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_230 + -0x7f90) + -0x5e18)" ( (binary_expression "*(int *)(pcStack_230 + -0x7f90) + -0x5e18" (pointer_expression "*(int *)(pcStack_230 + -0x7f90)" * (cast_expression "(int *)(pcStack_230 + -0x7f90)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7f90)" ( (binary_expression "pcStack_230 + -0x7f90" identifier + number_literal) )))) + number_literal) )))) ;) })) (expression_statement "iVar5 = (**(code **)(pcStack_230 + -0x60fc))(pcVar19);" (assignment_expression "iVar5 = (**(code **)(pcStack_230 + -0x60fc))(pcVar19)" identifier = (call_expression "(**(code **)(pcStack_230 + -0x60fc))(pcVar19)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x60fc))" ( (pointer_expression "**(code **)(pcStack_230 + -0x60fc)" * (pointer_expression "*(code **)(pcStack_230 + -0x60fc)" * (cast_expression "(code **)(pcStack_230 + -0x60fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x60fc)" ( (binary_expression "pcStack_230 + -0x60fc" identifier + number_literal) ))))) )) (argument_list "(pcVar19)" ( identifier )))) ;) (expression_statement "uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);" (assignment_expression "uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1)" identifier = (call_expression "(**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x7f88))" ( (pointer_expression "**(code **)(pcStack_230 + -0x7f88)" * (pointer_expression "*(code **)(pcStack_230 + -0x7f88)" * (cast_expression "(code **)(pcStack_230 + -0x7f88)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x7f88)" ( (binary_expression "pcStack_230 + -0x7f88" identifier + number_literal) ))))) )) (argument_list "(iVar5 + 1)" ( (binary_expression "iVar5 + 1" identifier + number_literal) )))) ;) (expression_statement "puVar8 = (undefined1 *)(**(code **)(pcStack_230 + -0x6074))(uVar7,pcVar19);" (assignment_expression "puVar8 = (undefined1 *)(**(code **)(pcStack_230 + -0x6074))(uVar7,pcVar19)" identifier = (cast_expression "(undefined1 *)(**(code **)(pcStack_230 + -0x6074))(uVar7,pcVar19)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_230 + -0x6074))(uVar7,pcVar19)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x6074))" ( (pointer_expression "**(code **)(pcStack_230 + -0x6074)" * (pointer_expression "*(code **)(pcStack_230 + -0x6074)" * (cast_expression "(code **)(pcStack_230 + -0x6074)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6074)" ( (binary_expression "pcStack_230 + -0x6074" identifier + number_literal) ))))) )) (argument_list "(uVar7,pcVar19)" ( identifier , identifier ))))) ;) (expression_statement "*(undefined1 **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) = puVar8;" (assignment_expression "*(undefined1 **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) = puVar8" (pointer_expression "*(undefined1 **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" * (cast_expression "(undefined1 **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" ( (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) )))) + number_literal) )))) = identifier) ;) (expression_statement "unaff_s4 = (word *)(**(code **)(pcStack_230 + -0x61d4))(puVar8,0x2f);" (assignment_expression "unaff_s4 = (word *)(**(code **)(pcStack_230 + -0x61d4))(puVar8,0x2f)" identifier = (cast_expression "(word *)(**(code **)(pcStack_230 + -0x61d4))(puVar8,0x2f)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_230 + -0x61d4))(puVar8,0x2f)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x61d4))" ( (pointer_expression "**(code **)(pcStack_230 + -0x61d4)" * (pointer_expression "*(code **)(pcStack_230 + -0x61d4)" * (cast_expression "(code **)(pcStack_230 + -0x61d4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x61d4)" ( (binary_expression "pcStack_230 + -0x61d4" identifier + number_literal) ))))) )) (argument_list "(puVar8,0x2f)" ( identifier , number_literal ))))) ;) (if_statement "if (unaff_s4 == (word *)0x0) {\n    *puVar8 = 0x2e;\n    *(undefined1 *)(*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) + 1) = 0;\n  }\n  else {\n    (**(code **)(pcStack_230 + -0x6074))\n              (*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc),\n               (byte *)((int)unaff_s4 + 1));\n    *(byte *)((int)unaff_s4 + 1) = 0;\n  }" if (parenthesized_expression "(unaff_s4 == (word *)0x0)" ( (binary_expression "unaff_s4 == (word *)0x0" identifier == (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    *puVar8 = 0x2e;\n    *(undefined1 *)(*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) + 1) = 0;\n  }" { (expression_statement "*puVar8 = 0x2e;" (assignment_expression "*puVar8 = 0x2e" (pointer_expression "*puVar8" * identifier) = number_literal) ;) (expression_statement "*(undefined1 *)(*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) + 1) = 0;" (assignment_expression "*(undefined1 *)(*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) + 1) = 0" (pointer_expression "*(undefined1 *)(*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) + 1)" * (cast_expression "(undefined1 *)(*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) + 1)" ( (binary_expression "*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) + 1" (pointer_expression "*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" * (cast_expression "(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" ( (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) )))) + number_literal) )))) + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n    (**(code **)(pcStack_230 + -0x6074))\n              (*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc),\n               (byte *)((int)unaff_s4 + 1));\n    *(byte *)((int)unaff_s4 + 1) = 0;\n  }" else (compound_statement "{\n    (**(code **)(pcStack_230 + -0x6074))\n              (*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc),\n               (byte *)((int)unaff_s4 + 1));\n    *(byte *)((int)unaff_s4 + 1) = 0;\n  }" { (expression_statement "(**(code **)(pcStack_230 + -0x6074))\n              (*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc),\n               (byte *)((int)unaff_s4 + 1));" (call_expression "(**(code **)(pcStack_230 + -0x6074))\n              (*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc),\n               (byte *)((int)unaff_s4 + 1))" (parenthesized_expression "(**(code **)(pcStack_230 + -0x6074))" ( (pointer_expression "**(code **)(pcStack_230 + -0x6074)" * (pointer_expression "*(code **)(pcStack_230 + -0x6074)" * (cast_expression "(code **)(pcStack_230 + -0x6074)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6074)" ( (binary_expression "pcStack_230 + -0x6074" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc),\n               (byte *)((int)unaff_s4 + 1))" ( (pointer_expression "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc)" * (cast_expression "(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc)" ( (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) )))) + number_literal) )))) , (cast_expression "(byte *)((int)unaff_s4 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s4 + 1)" ( (binary_expression "(int)unaff_s4 + 1" (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) ))) ;) (expression_statement "*(byte *)((int)unaff_s4 + 1) = 0;" (assignment_expression "*(byte *)((int)unaff_s4 + 1) = 0" (pointer_expression "*(byte *)((int)unaff_s4 + 1)" * (cast_expression "(byte *)((int)unaff_s4 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s4 + 1)" ( (binary_expression "(int)unaff_s4 + 1" (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) }))) (if_statement "if (**(int **)(pcStack_230 + -0x6f38) == 0) {\nLAB_000fb830:\n    iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n    iVar5 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(iVar13 + -0x3fd8));\n    uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);\n    uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(iVar13 + -0x3fd8));\n    *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = uVar7;\n  }\n  else {\n    if ((code *)**(undefined4 **)(pcStack_230 + -0x6de4) == (code *)0x0) goto LAB_000fb830;\n    uVar7 = (*(code *)**(undefined4 **)(pcStack_230 + -0x6de4))\n                      (*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8),\n                       **(undefined4 **)(pcStack_230 + -0x6f34));\n    *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = uVar7;\n  }" if (parenthesized_expression "(**(int **)(pcStack_230 + -0x6f38) == 0)" ( (binary_expression "**(int **)(pcStack_230 + -0x6f38) == 0" (pointer_expression "**(int **)(pcStack_230 + -0x6f38)" * (pointer_expression "*(int **)(pcStack_230 + -0x6f38)" * (cast_expression "(int **)(pcStack_230 + -0x6f38)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6f38)" ( (binary_expression "pcStack_230 + -0x6f38" identifier + number_literal) ))))) == number_literal) )) (compound_statement "{\nLAB_000fb830:\n    iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n    iVar5 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(iVar13 + -0x3fd8));\n    uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);\n    uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(iVar13 + -0x3fd8));\n    *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = uVar7;\n  }" { (labeled_statement "LAB_000fb830:\n    iVar13 = *(int *)(pcStack_230 + -0x7fd4);" statement_identifier : (expression_statement "iVar13 = *(int *)(pcStack_230 + -0x7fd4);" (assignment_expression "iVar13 = *(int *)(pcStack_230 + -0x7fd4)" identifier = (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) ))))) ;)) (expression_statement "iVar5 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(iVar13 + -0x3fd8));" (assignment_expression "iVar5 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(iVar13 + -0x3fd8))" identifier = (call_expression "(**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(iVar13 + -0x3fd8))" (parenthesized_expression "(**(code **)(pcStack_230 + -0x60fc))" ( (pointer_expression "**(code **)(pcStack_230 + -0x60fc)" * (pointer_expression "*(code **)(pcStack_230 + -0x60fc)" * (cast_expression "(code **)(pcStack_230 + -0x60fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x60fc)" ( (binary_expression "pcStack_230 + -0x60fc" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar13 + -0x3fd8))" ( (pointer_expression "*(undefined4 *)(iVar13 + -0x3fd8)" * (cast_expression "(undefined4 *)(iVar13 + -0x3fd8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + -0x3fd8)" ( (binary_expression "iVar13 + -0x3fd8" identifier + number_literal) )))) )))) ;) (expression_statement "uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);" (assignment_expression "uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1)" identifier = (call_expression "(**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x7f88))" ( (pointer_expression "**(code **)(pcStack_230 + -0x7f88)" * (pointer_expression "*(code **)(pcStack_230 + -0x7f88)" * (cast_expression "(code **)(pcStack_230 + -0x7f88)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x7f88)" ( (binary_expression "pcStack_230 + -0x7f88" identifier + number_literal) ))))) )) (argument_list "(iVar5 + 1)" ( (binary_expression "iVar5 + 1" identifier + number_literal) )))) ;) (expression_statement "uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(iVar13 + -0x3fd8));" (assignment_expression "uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(iVar13 + -0x3fd8))" identifier = (call_expression "(**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(iVar13 + -0x3fd8))" (parenthesized_expression "(**(code **)(pcStack_230 + -0x6074))" ( (pointer_expression "**(code **)(pcStack_230 + -0x6074)" * (pointer_expression "*(code **)(pcStack_230 + -0x6074)" * (cast_expression "(code **)(pcStack_230 + -0x6074)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6074)" ( (binary_expression "pcStack_230 + -0x6074" identifier + number_literal) ))))) )) (argument_list "(uVar7,*(undefined4 *)(iVar13 + -0x3fd8))" ( identifier , (pointer_expression "*(undefined4 *)(iVar13 + -0x3fd8)" * (cast_expression "(undefined4 *)(iVar13 + -0x3fd8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + -0x3fd8)" ( (binary_expression "iVar13 + -0x3fd8" identifier + number_literal) )))) )))) ;) (expression_statement "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = uVar7;" (assignment_expression "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = uVar7" (pointer_expression "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0)" * (cast_expression "(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0)" ( (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) )))) + number_literal) )))) = identifier) ;) }) (else_clause "else {\n    if ((code *)**(undefined4 **)(pcStack_230 + -0x6de4) == (code *)0x0) goto LAB_000fb830;\n    uVar7 = (*(code *)**(undefined4 **)(pcStack_230 + -0x6de4))\n                      (*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8),\n                       **(undefined4 **)(pcStack_230 + -0x6f34));\n    *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = uVar7;\n  }" else (compound_statement "{\n    if ((code *)**(undefined4 **)(pcStack_230 + -0x6de4) == (code *)0x0) goto LAB_000fb830;\n    uVar7 = (*(code *)**(undefined4 **)(pcStack_230 + -0x6de4))\n                      (*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8),\n                       **(undefined4 **)(pcStack_230 + -0x6f34));\n    *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = uVar7;\n  }" { (if_statement "if ((code *)**(undefined4 **)(pcStack_230 + -0x6de4) == (code *)0x0) goto LAB_000fb830;" if (parenthesized_expression "((code *)**(undefined4 **)(pcStack_230 + -0x6de4) == (code *)0x0)" ( (binary_expression "(code *)**(undefined4 **)(pcStack_230 + -0x6de4) == (code *)0x0" (cast_expression "(code *)**(undefined4 **)(pcStack_230 + -0x6de4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcStack_230 + -0x6de4)" * (pointer_expression "*(undefined4 **)(pcStack_230 + -0x6de4)" * (cast_expression "(undefined4 **)(pcStack_230 + -0x6de4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6de4)" ( (binary_expression "pcStack_230 + -0x6de4" identifier + number_literal) )))))) == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000fb830;" goto statement_identifier ;)) (expression_statement "uVar7 = (*(code *)**(undefined4 **)(pcStack_230 + -0x6de4))\n                      (*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8),\n                       **(undefined4 **)(pcStack_230 + -0x6f34));" (assignment_expression "uVar7 = (*(code *)**(undefined4 **)(pcStack_230 + -0x6de4))\n                      (*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8),\n                       **(undefined4 **)(pcStack_230 + -0x6f34))" identifier = (call_expression "(*(code *)**(undefined4 **)(pcStack_230 + -0x6de4))\n                      (*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8),\n                       **(undefined4 **)(pcStack_230 + -0x6f34))" (parenthesized_expression "(*(code *)**(undefined4 **)(pcStack_230 + -0x6de4))" ( (pointer_expression "*(code *)**(undefined4 **)(pcStack_230 + -0x6de4)" * (cast_expression "(code *)**(undefined4 **)(pcStack_230 + -0x6de4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcStack_230 + -0x6de4)" * (pointer_expression "*(undefined4 **)(pcStack_230 + -0x6de4)" * (cast_expression "(undefined4 **)(pcStack_230 + -0x6de4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6de4)" ( (binary_expression "pcStack_230 + -0x6de4" identifier + number_literal) ))))))) )) (argument_list "(*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8),\n                       **(undefined4 **)(pcStack_230 + -0x6f34))" ( (pointer_expression "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" * (cast_expression "(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" ( (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) )))) + number_literal) )))) , (pointer_expression "**(undefined4 **)(pcStack_230 + -0x6f34)" * (pointer_expression "*(undefined4 **)(pcStack_230 + -0x6f34)" * (cast_expression "(undefined4 **)(pcStack_230 + -0x6f34)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6f34)" ( (binary_expression "pcStack_230 + -0x6f34" identifier + number_literal) ))))) )))) ;) (expression_statement "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = uVar7;" (assignment_expression "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = uVar7" (pointer_expression "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0)" * (cast_expression "(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0)" ( (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) )))) + number_literal) )))) = identifier) ;) }))) (expression_statement "bVar3 = **(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) == '~';" (assignment_expression "bVar3 = **(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) == '~'" identifier = (binary_expression "**(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) == '~'" (pointer_expression "**(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" * (pointer_expression "*(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" * (cast_expression "(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" ( (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) )))) + number_literal) ))))) == (char_literal "'~'" ' character '))) ;) (if_statement "if (bVar3) {\n    uVar7 = (**(code **)(pcStack_230 + -0x7a34))();\n    iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n    (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fd8));\n    *(undefined4 *)(iVar5 + -0x3fd8) = uVar7;\n  }" if (parenthesized_expression "(bVar3)" ( identifier )) (compound_statement "{\n    uVar7 = (**(code **)(pcStack_230 + -0x7a34))();\n    iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n    (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fd8));\n    *(undefined4 *)(iVar5 + -0x3fd8) = uVar7;\n  }" { (expression_statement "uVar7 = (**(code **)(pcStack_230 + -0x7a34))();" (assignment_expression "uVar7 = (**(code **)(pcStack_230 + -0x7a34))()" identifier = (call_expression "(**(code **)(pcStack_230 + -0x7a34))()" (parenthesized_expression "(**(code **)(pcStack_230 + -0x7a34))" ( (pointer_expression "**(code **)(pcStack_230 + -0x7a34)" * (pointer_expression "*(code **)(pcStack_230 + -0x7a34)" * (cast_expression "(code **)(pcStack_230 + -0x7a34)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x7a34)" ( (binary_expression "pcStack_230 + -0x7a34" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "iVar5 = *(int *)(pcStack_230 + -0x7fd4);" (assignment_expression "iVar5 = *(int *)(pcStack_230 + -0x7fd4)" identifier = (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) ))))) ;) (expression_statement "(**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fd8));" (call_expression "(**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fd8))" (parenthesized_expression "(**(code **)(pcStack_230 + -0x798c))" ( (pointer_expression "**(code **)(pcStack_230 + -0x798c)" * (pointer_expression "*(code **)(pcStack_230 + -0x798c)" * (cast_expression "(code **)(pcStack_230 + -0x798c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x798c)" ( (binary_expression "pcStack_230 + -0x798c" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar5 + -0x3fd8))" ( (pointer_expression "*(undefined4 *)(iVar5 + -0x3fd8)" * (cast_expression "(undefined4 *)(iVar5 + -0x3fd8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + -0x3fd8)" ( (binary_expression "iVar5 + -0x3fd8" identifier + number_literal) )))) ))) ;) (expression_statement "*(undefined4 *)(iVar5 + -0x3fd8) = uVar7;" (assignment_expression "*(undefined4 *)(iVar5 + -0x3fd8) = uVar7" (pointer_expression "*(undefined4 *)(iVar5 + -0x3fd8)" * (cast_expression "(undefined4 *)(iVar5 + -0x3fd8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + -0x3fd8)" ( (binary_expression "iVar5 + -0x3fd8" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "unaff_s3 = (word *)(uint)bVar3;" (assignment_expression "unaff_s3 = (word *)(uint)bVar3" identifier = (cast_expression "(word *)(uint)bVar3" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)bVar3" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (if_statement "if ((code *)**(undefined4 **)(pcStack_230 + -0x6f40) == (code *)0x0) {\n    if ((code *)**(undefined4 **)(pcStack_230 + -0x6f3c) != (code *)0x0) {\n      iVar5 = (*(code *)**(undefined4 **)(pcStack_230 + -0x6f3c))\n                        (*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);\n      iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n      if (iVar5 != 0) {\n        (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar13 + -0x3fe0));\n        unaff_s3 = *(word **)(pcStack_230 + -0x7fd4);\n        iVar5 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1fec));\n        uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);\n        uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1fec));\n        *(undefined4 *)(iVar13 + -0x3fe0) = uVar7;\n        goto LAB_000fb8b4;\n      }\n    }\n    iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n    if ((unaff_s3 == (word *)0x0) &&\n       (iVar5 = *(int *)(pcStack_230 + -0x7fd4), **(int **)(pcStack_230 + -0x6f38) != 0)) {\n      iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n      if (**(int **)(pcStack_230 + -0x6de4) != 0) {\n        (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fd8));\n        unaff_s3 = *(word **)(pcStack_230 + -0x7fd4);\n        iVar13 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1ff0));\n        uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar13 + 1);\n        uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1ff0));\n        *(undefined4 *)(iVar5 + -0x3fd8) = uVar7;\n      }\n      goto LAB_000fb8b4;\n    }\n  }\n  else {\n    (*(code *)**(undefined4 **)(pcStack_230 + -0x6f40))(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);\nLAB_000fb8b4:\n    iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n  }" if (parenthesized_expression "((code *)**(undefined4 **)(pcStack_230 + -0x6f40) == (code *)0x0)" ( (binary_expression "(code *)**(undefined4 **)(pcStack_230 + -0x6f40) == (code *)0x0" (cast_expression "(code *)**(undefined4 **)(pcStack_230 + -0x6f40)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcStack_230 + -0x6f40)" * (pointer_expression "*(undefined4 **)(pcStack_230 + -0x6f40)" * (cast_expression "(undefined4 **)(pcStack_230 + -0x6f40)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6f40)" ( (binary_expression "pcStack_230 + -0x6f40" identifier + number_literal) )))))) == (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if ((code *)**(undefined4 **)(pcStack_230 + -0x6f3c) != (code *)0x0) {\n      iVar5 = (*(code *)**(undefined4 **)(pcStack_230 + -0x6f3c))\n                        (*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);\n      iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n      if (iVar5 != 0) {\n        (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar13 + -0x3fe0));\n        unaff_s3 = *(word **)(pcStack_230 + -0x7fd4);\n        iVar5 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1fec));\n        uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);\n        uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1fec));\n        *(undefined4 *)(iVar13 + -0x3fe0) = uVar7;\n        goto LAB_000fb8b4;\n      }\n    }\n    iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n    if ((unaff_s3 == (word *)0x0) &&\n       (iVar5 = *(int *)(pcStack_230 + -0x7fd4), **(int **)(pcStack_230 + -0x6f38) != 0)) {\n      iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n      if (**(int **)(pcStack_230 + -0x6de4) != 0) {\n        (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fd8));\n        unaff_s3 = *(word **)(pcStack_230 + -0x7fd4);\n        iVar13 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1ff0));\n        uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar13 + 1);\n        uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1ff0));\n        *(undefined4 *)(iVar5 + -0x3fd8) = uVar7;\n      }\n      goto LAB_000fb8b4;\n    }\n  }" { (if_statement "if ((code *)**(undefined4 **)(pcStack_230 + -0x6f3c) != (code *)0x0) {\n      iVar5 = (*(code *)**(undefined4 **)(pcStack_230 + -0x6f3c))\n                        (*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);\n      iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n      if (iVar5 != 0) {\n        (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar13 + -0x3fe0));\n        unaff_s3 = *(word **)(pcStack_230 + -0x7fd4);\n        iVar5 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1fec));\n        uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);\n        uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1fec));\n        *(undefined4 *)(iVar13 + -0x3fe0) = uVar7;\n        goto LAB_000fb8b4;\n      }\n    }" if (parenthesized_expression "((code *)**(undefined4 **)(pcStack_230 + -0x6f3c) != (code *)0x0)" ( (binary_expression "(code *)**(undefined4 **)(pcStack_230 + -0x6f3c) != (code *)0x0" (cast_expression "(code *)**(undefined4 **)(pcStack_230 + -0x6f3c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcStack_230 + -0x6f3c)" * (pointer_expression "*(undefined4 **)(pcStack_230 + -0x6f3c)" * (cast_expression "(undefined4 **)(pcStack_230 + -0x6f3c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6f3c)" ( (binary_expression "pcStack_230 + -0x6f3c" identifier + number_literal) )))))) != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      iVar5 = (*(code *)**(undefined4 **)(pcStack_230 + -0x6f3c))\n                        (*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);\n      iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n      if (iVar5 != 0) {\n        (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar13 + -0x3fe0));\n        unaff_s3 = *(word **)(pcStack_230 + -0x7fd4);\n        iVar5 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1fec));\n        uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);\n        uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1fec));\n        *(undefined4 *)(iVar13 + -0x3fe0) = uVar7;\n        goto LAB_000fb8b4;\n      }\n    }" { (expression_statement "iVar5 = (*(code *)**(undefined4 **)(pcStack_230 + -0x6f3c))\n                        (*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);" (assignment_expression "iVar5 = (*(code *)**(undefined4 **)(pcStack_230 + -0x6f3c))\n                        (*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" identifier = (call_expression "(*(code *)**(undefined4 **)(pcStack_230 + -0x6f3c))\n                        (*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" (parenthesized_expression "(*(code *)**(undefined4 **)(pcStack_230 + -0x6f3c))" ( (pointer_expression "*(code *)**(undefined4 **)(pcStack_230 + -0x6f3c)" * (cast_expression "(code *)**(undefined4 **)(pcStack_230 + -0x6f3c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcStack_230 + -0x6f3c)" * (pointer_expression "*(undefined4 **)(pcStack_230 + -0x6f3c)" * (cast_expression "(undefined4 **)(pcStack_230 + -0x6f3c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6f3c)" ( (binary_expression "pcStack_230 + -0x6f3c" identifier + number_literal) ))))))) )) (argument_list "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" ( (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iVar13 = *(int *)(pcStack_230 + -0x7fd4);" (assignment_expression "iVar13 = *(int *)(pcStack_230 + -0x7fd4)" identifier = (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) ))))) ;) (if_statement "if (iVar5 != 0) {\n        (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar13 + -0x3fe0));\n        unaff_s3 = *(word **)(pcStack_230 + -0x7fd4);\n        iVar5 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1fec));\n        uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);\n        uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1fec));\n        *(undefined4 *)(iVar13 + -0x3fe0) = uVar7;\n        goto LAB_000fb8b4;\n      }" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (compound_statement "{\n        (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar13 + -0x3fe0));\n        unaff_s3 = *(word **)(pcStack_230 + -0x7fd4);\n        iVar5 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1fec));\n        uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);\n        uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1fec));\n        *(undefined4 *)(iVar13 + -0x3fe0) = uVar7;\n        goto LAB_000fb8b4;\n      }" { (expression_statement "(**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar13 + -0x3fe0));" (call_expression "(**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar13 + -0x3fe0))" (parenthesized_expression "(**(code **)(pcStack_230 + -0x798c))" ( (pointer_expression "**(code **)(pcStack_230 + -0x798c)" * (pointer_expression "*(code **)(pcStack_230 + -0x798c)" * (cast_expression "(code **)(pcStack_230 + -0x798c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x798c)" ( (binary_expression "pcStack_230 + -0x798c" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar13 + -0x3fe0))" ( (pointer_expression "*(undefined4 *)(iVar13 + -0x3fe0)" * (cast_expression "(undefined4 *)(iVar13 + -0x3fe0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + -0x3fe0)" ( (binary_expression "iVar13 + -0x3fe0" identifier + number_literal) )))) ))) ;) (expression_statement "unaff_s3 = *(word **)(pcStack_230 + -0x7fd4);" (assignment_expression "unaff_s3 = *(word **)(pcStack_230 + -0x7fd4)" identifier = (pointer_expression "*(word **)(pcStack_230 + -0x7fd4)" * (cast_expression "(word **)(pcStack_230 + -0x7fd4)" ( (type_descriptor "word **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1fec));" (assignment_expression "iVar5 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1fec))" identifier = (call_expression "(**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1fec))" (parenthesized_expression "(**(code **)(pcStack_230 + -0x60fc))" ( (pointer_expression "**(code **)(pcStack_230 + -0x60fc)" * (pointer_expression "*(code **)(pcStack_230 + -0x60fc)" * (cast_expression "(code **)(pcStack_230 + -0x60fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x60fc)" ( (binary_expression "pcStack_230 + -0x60fc" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(unaff_s3 + -0x1fec))" ( (pointer_expression "*(undefined4 *)(unaff_s3 + -0x1fec)" * (cast_expression "(undefined4 *)(unaff_s3 + -0x1fec)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s3 + -0x1fec)" ( (binary_expression "unaff_s3 + -0x1fec" identifier + number_literal) )))) )))) ;) (expression_statement "uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);" (assignment_expression "uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1)" identifier = (call_expression "(**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x7f88))" ( (pointer_expression "**(code **)(pcStack_230 + -0x7f88)" * (pointer_expression "*(code **)(pcStack_230 + -0x7f88)" * (cast_expression "(code **)(pcStack_230 + -0x7f88)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x7f88)" ( (binary_expression "pcStack_230 + -0x7f88" identifier + number_literal) ))))) )) (argument_list "(iVar5 + 1)" ( (binary_expression "iVar5 + 1" identifier + number_literal) )))) ;) (expression_statement "uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1fec));" (assignment_expression "uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1fec))" identifier = (call_expression "(**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1fec))" (parenthesized_expression "(**(code **)(pcStack_230 + -0x6074))" ( (pointer_expression "**(code **)(pcStack_230 + -0x6074)" * (pointer_expression "*(code **)(pcStack_230 + -0x6074)" * (cast_expression "(code **)(pcStack_230 + -0x6074)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6074)" ( (binary_expression "pcStack_230 + -0x6074" identifier + number_literal) ))))) )) (argument_list "(uVar7,*(undefined4 *)(unaff_s3 + -0x1fec))" ( identifier , (pointer_expression "*(undefined4 *)(unaff_s3 + -0x1fec)" * (cast_expression "(undefined4 *)(unaff_s3 + -0x1fec)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s3 + -0x1fec)" ( (binary_expression "unaff_s3 + -0x1fec" identifier + number_literal) )))) )))) ;) (expression_statement "*(undefined4 *)(iVar13 + -0x3fe0) = uVar7;" (assignment_expression "*(undefined4 *)(iVar13 + -0x3fe0) = uVar7" (pointer_expression "*(undefined4 *)(iVar13 + -0x3fe0)" * (cast_expression "(undefined4 *)(iVar13 + -0x3fe0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + -0x3fe0)" ( (binary_expression "iVar13 + -0x3fe0" identifier + number_literal) )))) = identifier) ;) (goto_statement "goto LAB_000fb8b4;" goto statement_identifier ;) })) })) (expression_statement "iVar5 = *(int *)(pcStack_230 + -0x7fd4);" (assignment_expression "iVar5 = *(int *)(pcStack_230 + -0x7fd4)" identifier = (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) ))))) ;) (if_statement "if ((unaff_s3 == (word *)0x0) &&\n       (iVar5 = *(int *)(pcStack_230 + -0x7fd4), **(int **)(pcStack_230 + -0x6f38) != 0)) {\n      iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n      if (**(int **)(pcStack_230 + -0x6de4) != 0) {\n        (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fd8));\n        unaff_s3 = *(word **)(pcStack_230 + -0x7fd4);\n        iVar13 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1ff0));\n        uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar13 + 1);\n        uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1ff0));\n        *(undefined4 *)(iVar5 + -0x3fd8) = uVar7;\n      }\n      goto LAB_000fb8b4;\n    }" if (parenthesized_expression "((unaff_s3 == (word *)0x0) &&\n       (iVar5 = *(int *)(pcStack_230 + -0x7fd4), **(int **)(pcStack_230 + -0x6f38) != 0))" ( (binary_expression "(unaff_s3 == (word *)0x0) &&\n       (iVar5 = *(int *)(pcStack_230 + -0x7fd4), **(int **)(pcStack_230 + -0x6f38) != 0)" (parenthesized_expression "(unaff_s3 == (word *)0x0)" ( (binary_expression "unaff_s3 == (word *)0x0" identifier == (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(iVar5 = *(int *)(pcStack_230 + -0x7fd4), **(int **)(pcStack_230 + -0x6f38) != 0)" ( (comma_expression "iVar5 = *(int *)(pcStack_230 + -0x7fd4), **(int **)(pcStack_230 + -0x6f38) != 0" (assignment_expression "iVar5 = *(int *)(pcStack_230 + -0x7fd4)" identifier = (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) ))))) , (binary_expression "**(int **)(pcStack_230 + -0x6f38) != 0" (pointer_expression "**(int **)(pcStack_230 + -0x6f38)" * (pointer_expression "*(int **)(pcStack_230 + -0x6f38)" * (cast_expression "(int **)(pcStack_230 + -0x6f38)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6f38)" ( (binary_expression "pcStack_230 + -0x6f38" identifier + number_literal) ))))) != number_literal)) ))) )) (compound_statement "{\n      iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n      if (**(int **)(pcStack_230 + -0x6de4) != 0) {\n        (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fd8));\n        unaff_s3 = *(word **)(pcStack_230 + -0x7fd4);\n        iVar13 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1ff0));\n        uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar13 + 1);\n        uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1ff0));\n        *(undefined4 *)(iVar5 + -0x3fd8) = uVar7;\n      }\n      goto LAB_000fb8b4;\n    }" { (expression_statement "iVar5 = *(int *)(pcStack_230 + -0x7fd4);" (assignment_expression "iVar5 = *(int *)(pcStack_230 + -0x7fd4)" identifier = (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) ))))) ;) (if_statement "if (**(int **)(pcStack_230 + -0x6de4) != 0) {\n        (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fd8));\n        unaff_s3 = *(word **)(pcStack_230 + -0x7fd4);\n        iVar13 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1ff0));\n        uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar13 + 1);\n        uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1ff0));\n        *(undefined4 *)(iVar5 + -0x3fd8) = uVar7;\n      }" if (parenthesized_expression "(**(int **)(pcStack_230 + -0x6de4) != 0)" ( (binary_expression "**(int **)(pcStack_230 + -0x6de4) != 0" (pointer_expression "**(int **)(pcStack_230 + -0x6de4)" * (pointer_expression "*(int **)(pcStack_230 + -0x6de4)" * (cast_expression "(int **)(pcStack_230 + -0x6de4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6de4)" ( (binary_expression "pcStack_230 + -0x6de4" identifier + number_literal) ))))) != number_literal) )) (compound_statement "{\n        (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fd8));\n        unaff_s3 = *(word **)(pcStack_230 + -0x7fd4);\n        iVar13 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1ff0));\n        uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar13 + 1);\n        uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1ff0));\n        *(undefined4 *)(iVar5 + -0x3fd8) = uVar7;\n      }" { (expression_statement "(**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fd8));" (call_expression "(**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fd8))" (parenthesized_expression "(**(code **)(pcStack_230 + -0x798c))" ( (pointer_expression "**(code **)(pcStack_230 + -0x798c)" * (pointer_expression "*(code **)(pcStack_230 + -0x798c)" * (cast_expression "(code **)(pcStack_230 + -0x798c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x798c)" ( (binary_expression "pcStack_230 + -0x798c" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar5 + -0x3fd8))" ( (pointer_expression "*(undefined4 *)(iVar5 + -0x3fd8)" * (cast_expression "(undefined4 *)(iVar5 + -0x3fd8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + -0x3fd8)" ( (binary_expression "iVar5 + -0x3fd8" identifier + number_literal) )))) ))) ;) (expression_statement "unaff_s3 = *(word **)(pcStack_230 + -0x7fd4);" (assignment_expression "unaff_s3 = *(word **)(pcStack_230 + -0x7fd4)" identifier = (pointer_expression "*(word **)(pcStack_230 + -0x7fd4)" * (cast_expression "(word **)(pcStack_230 + -0x7fd4)" ( (type_descriptor "word **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) ))))) ;) (expression_statement "iVar13 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1ff0));" (assignment_expression "iVar13 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1ff0))" identifier = (call_expression "(**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1ff0))" (parenthesized_expression "(**(code **)(pcStack_230 + -0x60fc))" ( (pointer_expression "**(code **)(pcStack_230 + -0x60fc)" * (pointer_expression "*(code **)(pcStack_230 + -0x60fc)" * (cast_expression "(code **)(pcStack_230 + -0x60fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x60fc)" ( (binary_expression "pcStack_230 + -0x60fc" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(unaff_s3 + -0x1ff0))" ( (pointer_expression "*(undefined4 *)(unaff_s3 + -0x1ff0)" * (cast_expression "(undefined4 *)(unaff_s3 + -0x1ff0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s3 + -0x1ff0)" ( (binary_expression "unaff_s3 + -0x1ff0" identifier + number_literal) )))) )))) ;) (expression_statement "uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar13 + 1);" (assignment_expression "uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar13 + 1)" identifier = (call_expression "(**(code **)(pcStack_230 + -0x7f88))(iVar13 + 1)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x7f88))" ( (pointer_expression "**(code **)(pcStack_230 + -0x7f88)" * (pointer_expression "*(code **)(pcStack_230 + -0x7f88)" * (cast_expression "(code **)(pcStack_230 + -0x7f88)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x7f88)" ( (binary_expression "pcStack_230 + -0x7f88" identifier + number_literal) ))))) )) (argument_list "(iVar13 + 1)" ( (binary_expression "iVar13 + 1" identifier + number_literal) )))) ;) (expression_statement "uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1ff0));" (assignment_expression "uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1ff0))" identifier = (call_expression "(**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1ff0))" (parenthesized_expression "(**(code **)(pcStack_230 + -0x6074))" ( (pointer_expression "**(code **)(pcStack_230 + -0x6074)" * (pointer_expression "*(code **)(pcStack_230 + -0x6074)" * (cast_expression "(code **)(pcStack_230 + -0x6074)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6074)" ( (binary_expression "pcStack_230 + -0x6074" identifier + number_literal) ))))) )) (argument_list "(uVar7,*(undefined4 *)(unaff_s3 + -0x1ff0))" ( identifier , (pointer_expression "*(undefined4 *)(unaff_s3 + -0x1ff0)" * (cast_expression "(undefined4 *)(unaff_s3 + -0x1ff0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s3 + -0x1ff0)" ( (binary_expression "unaff_s3 + -0x1ff0" identifier + number_literal) )))) )))) ;) (expression_statement "*(undefined4 *)(iVar5 + -0x3fd8) = uVar7;" (assignment_expression "*(undefined4 *)(iVar5 + -0x3fd8) = uVar7" (pointer_expression "*(undefined4 *)(iVar5 + -0x3fd8)" * (cast_expression "(undefined4 *)(iVar5 + -0x3fd8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + -0x3fd8)" ( (binary_expression "iVar5 + -0x3fd8" identifier + number_literal) )))) = identifier) ;) })) (goto_statement "goto LAB_000fb8b4;" goto statement_identifier ;) })) }) (else_clause "else {\n    (*(code *)**(undefined4 **)(pcStack_230 + -0x6f40))(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);\nLAB_000fb8b4:\n    iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n  }" else (compound_statement "{\n    (*(code *)**(undefined4 **)(pcStack_230 + -0x6f40))(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);\nLAB_000fb8b4:\n    iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n  }" { (expression_statement "(*(code *)**(undefined4 **)(pcStack_230 + -0x6f40))(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);" (call_expression "(*(code *)**(undefined4 **)(pcStack_230 + -0x6f40))(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" (parenthesized_expression "(*(code *)**(undefined4 **)(pcStack_230 + -0x6f40))" ( (pointer_expression "*(code *)**(undefined4 **)(pcStack_230 + -0x6f40)" * (cast_expression "(code *)**(undefined4 **)(pcStack_230 + -0x6f40)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcStack_230 + -0x6f40)" * (pointer_expression "*(undefined4 **)(pcStack_230 + -0x6f40)" * (cast_expression "(undefined4 **)(pcStack_230 + -0x6f40)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6f40)" ( (binary_expression "pcStack_230 + -0x6f40" identifier + number_literal) ))))))) )) (argument_list "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" ( (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) )))) + number_literal) ))) ;) (labeled_statement "LAB_000fb8b4:\n    iVar5 = *(int *)(pcStack_230 + -0x7fd4);" statement_identifier : (expression_statement "iVar5 = *(int *)(pcStack_230 + -0x7fd4);" (assignment_expression "iVar5 = *(int *)(pcStack_230 + -0x7fd4)" identifier = (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) ))))) ;)) }))) (expression_statement "uVar7 = (**(code **)(pcStack_230 + -0x6288))(*(undefined4 *)(iVar5 + -0x3fd8));" (assignment_expression "uVar7 = (**(code **)(pcStack_230 + -0x6288))(*(undefined4 *)(iVar5 + -0x3fd8))" identifier = (call_expression "(**(code **)(pcStack_230 + -0x6288))(*(undefined4 *)(iVar5 + -0x3fd8))" (parenthesized_expression "(**(code **)(pcStack_230 + -0x6288))" ( (pointer_expression "**(code **)(pcStack_230 + -0x6288)" * (pointer_expression "*(code **)(pcStack_230 + -0x6288)" * (cast_expression "(code **)(pcStack_230 + -0x6288)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6288)" ( (binary_expression "pcStack_230 + -0x6288" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar5 + -0x3fd8))" ( (pointer_expression "*(undefined4 *)(iVar5 + -0x3fd8)" * (cast_expression "(undefined4 *)(iVar5 + -0x3fd8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + -0x3fd8)" ( (binary_expression "iVar5 + -0x3fd8" identifier + number_literal) )))) )))) ;) (expression_statement "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) = uVar7;" (assignment_expression "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) = uVar7" (pointer_expression "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4)" * (cast_expression "(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4)" ( (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) )))) + number_literal) )))) = identifier) ;) (expression_statement "iVar5 = *(int *)(pcStack_230 + -0x7fd4);" (assignment_expression "iVar5 = *(int *)(pcStack_230 + -0x7fd4)" identifier = (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) ))))) ;) (if_statement "if ((**(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) != '\0') &&\n     (iVar5 = *(int *)(pcStack_230 + -0x7fd4), **(int **)(pcStack_230 + -0x6f38) != 0)) {\n    if ((code *)**(undefined4 **)(pcStack_230 + -0x6de4) != (code *)0x0) {\n      unaff_s3 = (word *)(*(code *)**(undefined4 **)(pcStack_230 + -0x6de4))\n                                   (*(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc),\n                                    **(undefined4 **)(pcStack_230 + -0x6f34));\n      iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n      (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fdc));\n      *(word **)(iVar5 + -0x3fdc) = unaff_s3;\n    }\n    iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n  }" if (parenthesized_expression "((**(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) != '\0') &&\n     (iVar5 = *(int *)(pcStack_230 + -0x7fd4), **(int **)(pcStack_230 + -0x6f38) != 0))" ( (binary_expression "(**(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) != '\0') &&\n     (iVar5 = *(int *)(pcStack_230 + -0x7fd4), **(int **)(pcStack_230 + -0x6f38) != 0)" (parenthesized_expression "(**(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) != '\0')" ( (binary_expression "**(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) != '\0'" (pointer_expression "**(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc)" * (pointer_expression "*(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc)" * (cast_expression "(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc)" ( (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) )))) + number_literal) ))))) != (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(iVar5 = *(int *)(pcStack_230 + -0x7fd4), **(int **)(pcStack_230 + -0x6f38) != 0)" ( (comma_expression "iVar5 = *(int *)(pcStack_230 + -0x7fd4), **(int **)(pcStack_230 + -0x6f38) != 0" (assignment_expression "iVar5 = *(int *)(pcStack_230 + -0x7fd4)" identifier = (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) ))))) , (binary_expression "**(int **)(pcStack_230 + -0x6f38) != 0" (pointer_expression "**(int **)(pcStack_230 + -0x6f38)" * (pointer_expression "*(int **)(pcStack_230 + -0x6f38)" * (cast_expression "(int **)(pcStack_230 + -0x6f38)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6f38)" ( (binary_expression "pcStack_230 + -0x6f38" identifier + number_literal) ))))) != number_literal)) ))) )) (compound_statement "{\n    if ((code *)**(undefined4 **)(pcStack_230 + -0x6de4) != (code *)0x0) {\n      unaff_s3 = (word *)(*(code *)**(undefined4 **)(pcStack_230 + -0x6de4))\n                                   (*(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc),\n                                    **(undefined4 **)(pcStack_230 + -0x6f34));\n      iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n      (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fdc));\n      *(word **)(iVar5 + -0x3fdc) = unaff_s3;\n    }\n    iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n  }" { (if_statement "if ((code *)**(undefined4 **)(pcStack_230 + -0x6de4) != (code *)0x0) {\n      unaff_s3 = (word *)(*(code *)**(undefined4 **)(pcStack_230 + -0x6de4))\n                                   (*(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc),\n                                    **(undefined4 **)(pcStack_230 + -0x6f34));\n      iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n      (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fdc));\n      *(word **)(iVar5 + -0x3fdc) = unaff_s3;\n    }" if (parenthesized_expression "((code *)**(undefined4 **)(pcStack_230 + -0x6de4) != (code *)0x0)" ( (binary_expression "(code *)**(undefined4 **)(pcStack_230 + -0x6de4) != (code *)0x0" (cast_expression "(code *)**(undefined4 **)(pcStack_230 + -0x6de4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcStack_230 + -0x6de4)" * (pointer_expression "*(undefined4 **)(pcStack_230 + -0x6de4)" * (cast_expression "(undefined4 **)(pcStack_230 + -0x6de4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6de4)" ( (binary_expression "pcStack_230 + -0x6de4" identifier + number_literal) )))))) != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      unaff_s3 = (word *)(*(code *)**(undefined4 **)(pcStack_230 + -0x6de4))\n                                   (*(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc),\n                                    **(undefined4 **)(pcStack_230 + -0x6f34));\n      iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n      (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fdc));\n      *(word **)(iVar5 + -0x3fdc) = unaff_s3;\n    }" { (expression_statement "unaff_s3 = (word *)(*(code *)**(undefined4 **)(pcStack_230 + -0x6de4))\n                                   (*(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc),\n                                    **(undefined4 **)(pcStack_230 + -0x6f34));" (assignment_expression "unaff_s3 = (word *)(*(code *)**(undefined4 **)(pcStack_230 + -0x6de4))\n                                   (*(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc),\n                                    **(undefined4 **)(pcStack_230 + -0x6f34))" identifier = (cast_expression "(word *)(*(code *)**(undefined4 **)(pcStack_230 + -0x6de4))\n                                   (*(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc),\n                                    **(undefined4 **)(pcStack_230 + -0x6f34))" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)**(undefined4 **)(pcStack_230 + -0x6de4))\n                                   (*(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc),\n                                    **(undefined4 **)(pcStack_230 + -0x6f34))" (parenthesized_expression "(*(code *)**(undefined4 **)(pcStack_230 + -0x6de4))" ( (pointer_expression "*(code *)**(undefined4 **)(pcStack_230 + -0x6de4)" * (cast_expression "(code *)**(undefined4 **)(pcStack_230 + -0x6de4)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcStack_230 + -0x6de4)" * (pointer_expression "*(undefined4 **)(pcStack_230 + -0x6de4)" * (cast_expression "(undefined4 **)(pcStack_230 + -0x6de4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6de4)" ( (binary_expression "pcStack_230 + -0x6de4" identifier + number_literal) ))))))) )) (argument_list "(*(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc),\n                                    **(undefined4 **)(pcStack_230 + -0x6f34))" ( (pointer_expression "*(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc)" * (cast_expression "(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc)" ( (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) )))) + number_literal) )))) , (pointer_expression "**(undefined4 **)(pcStack_230 + -0x6f34)" * (pointer_expression "*(undefined4 **)(pcStack_230 + -0x6f34)" * (cast_expression "(undefined4 **)(pcStack_230 + -0x6f34)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6f34)" ( (binary_expression "pcStack_230 + -0x6f34" identifier + number_literal) ))))) ))))) ;) (expression_statement "iVar5 = *(int *)(pcStack_230 + -0x7fd4);" (assignment_expression "iVar5 = *(int *)(pcStack_230 + -0x7fd4)" identifier = (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) ))))) ;) (expression_statement "(**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fdc));" (call_expression "(**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fdc))" (parenthesized_expression "(**(code **)(pcStack_230 + -0x798c))" ( (pointer_expression "**(code **)(pcStack_230 + -0x798c)" * (pointer_expression "*(code **)(pcStack_230 + -0x798c)" * (cast_expression "(code **)(pcStack_230 + -0x798c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x798c)" ( (binary_expression "pcStack_230 + -0x798c" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar5 + -0x3fdc))" ( (pointer_expression "*(undefined4 *)(iVar5 + -0x3fdc)" * (cast_expression "(undefined4 *)(iVar5 + -0x3fdc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + -0x3fdc)" ( (binary_expression "iVar5 + -0x3fdc" identifier + number_literal) )))) ))) ;) (expression_statement "*(word **)(iVar5 + -0x3fdc) = unaff_s3;" (assignment_expression "*(word **)(iVar5 + -0x3fdc) = unaff_s3" (pointer_expression "*(word **)(iVar5 + -0x3fdc)" * (cast_expression "(word **)(iVar5 + -0x3fdc)" ( (type_descriptor "word **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + -0x3fdc)" ( (binary_expression "iVar5 + -0x3fdc" identifier + number_literal) )))) = identifier) ;) })) (expression_statement "iVar5 = *(int *)(pcStack_230 + -0x7fd4);" (assignment_expression "iVar5 = *(int *)(pcStack_230 + -0x7fd4)" identifier = (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) ))))) ;) })) (expression_statement "uVar7 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(iVar5 + -0x3fdc));" (assignment_expression "uVar7 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(iVar5 + -0x3fdc))" identifier = (call_expression "(**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(iVar5 + -0x3fdc))" (parenthesized_expression "(**(code **)(pcStack_230 + -0x60fc))" ( (pointer_expression "**(code **)(pcStack_230 + -0x60fc)" * (pointer_expression "*(code **)(pcStack_230 + -0x60fc)" * (cast_expression "(code **)(pcStack_230 + -0x60fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x60fc)" ( (binary_expression "pcStack_230 + -0x60fc" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar5 + -0x3fdc))" ( (pointer_expression "*(undefined4 *)(iVar5 + -0x3fdc)" * (cast_expression "(undefined4 *)(iVar5 + -0x3fdc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + -0x3fdc)" ( (binary_expression "iVar5 + -0x3fdc" identifier + number_literal) )))) )))) ;) (expression_statement "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe4) = uVar7;" (assignment_expression "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe4) = uVar7" (pointer_expression "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe4)" * (cast_expression "(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe4)" ( (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fe4" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) )))) + number_literal) )))) = identifier) ;) (expression_statement "**(undefined4 **)(pcStack_230 + -0x6f0c) = 1;" (assignment_expression "**(undefined4 **)(pcStack_230 + -0x6f0c) = 1" (pointer_expression "**(undefined4 **)(pcStack_230 + -0x6f0c)" * (pointer_expression "*(undefined4 **)(pcStack_230 + -0x6f0c)" * (cast_expression "(undefined4 **)(pcStack_230 + -0x6f0c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6f0c)" ( (binary_expression "pcStack_230 + -0x6f0c" identifier + number_literal) ))))) = number_literal) ;) (labeled_statement "LAB_000fb968:\n  iVar5 = 0;" statement_identifier : (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;)) (expression_statement "iStack_224 = *(int *)(pcStack_230 + -0x7fd4);" (assignment_expression "iStack_224 = *(int *)(pcStack_230 + -0x7fd4)" identifier = (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) ))))) ;) (expression_statement "puStack_220 = *(undefined4 **)(pcStack_230 + -0x6df0);" (assignment_expression "puStack_220 = *(undefined4 **)(pcStack_230 + -0x6df0)" identifier = (pointer_expression "*(undefined4 **)(pcStack_230 + -0x6df0)" * (cast_expression "(undefined4 **)(pcStack_230 + -0x6df0)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6df0)" ( (binary_expression "pcStack_230 + -0x6df0" identifier + number_literal) ))))) ;) (expression_statement "iStack_21c = *(int *)(pcStack_230 + -0x7fd4);" (assignment_expression "iStack_21c = *(int *)(pcStack_230 + -0x7fd4)" identifier = (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) ))))) ;) (expression_statement "iStack_218 = *(int *)(pcStack_230 + -0x7fd4);" (assignment_expression "iStack_218 = *(int *)(pcStack_230 + -0x7fd4)" identifier = (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) ))))) ;) (expression_statement "piStack_20c = *(int **)(pcStack_230 + -0x65bc);" (assignment_expression "piStack_20c = *(int **)(pcStack_230 + -0x65bc)" identifier = (pointer_expression "*(int **)(pcStack_230 + -0x65bc)" * (cast_expression "(int **)(pcStack_230 + -0x65bc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x65bc)" ( (binary_expression "pcStack_230 + -0x65bc" identifier + number_literal) ))))) ;) (expression_statement "pcVar23 = pcStack_230;" (assignment_expression "pcVar23 = pcStack_230" identifier = identifier) ;) (labeled_statement "LAB_000fbb0c:\n  iVar13 = *(int *)(iStack_224 + -0x3fd4);" statement_identifier : (expression_statement "iVar13 = *(int *)(iStack_224 + -0x3fd4);" (assignment_expression "iVar13 = *(int *)(iStack_224 + -0x3fd4)" identifier = (pointer_expression "*(int *)(iStack_224 + -0x3fd4)" * (cast_expression "(int *)(iStack_224 + -0x3fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_224 + -0x3fd4)" ( (binary_expression "iStack_224 + -0x3fd4" identifier + number_literal) ))))) ;)) (labeled_statement "LAB_000fbb10:\n  if (iVar13 == 0) {\n    if (iVar5 != 0) goto LAB_000fbbb0;\n    iVar5 = *(int *)(*(int *)(pcVar23 + -0x7fd4) + -0x3fd8);\nLAB_000fc3a0:\n    if (iVar5 != 0) {\n      (**(code **)(pcVar23 + -0x798c))();\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) = 0;\n      pcVar23 = pcStack_230;\n    }\n    if (*(int *)(*(int *)(pcVar23 + -0x7fd4) + -0x3fdc) != 0) {\n      (**(code **)(pcVar23 + -0x798c))();\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) = 0;\n      pcVar23 = pcStack_230;\n    }\n    pwVar14 = *(word **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0);\n    if (pwVar14 != (word *)0x0) {\n      (**(code **)(pcVar23 + -0x798c))(pwVar14);\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = 0;\n      pwVar14 = (word *)0x0;\n      pcVar23 = pcStack_230;\n    }\n    goto LAB_000fbca4;\n  }" statement_identifier : (if_statement "if (iVar13 == 0) {\n    if (iVar5 != 0) goto LAB_000fbbb0;\n    iVar5 = *(int *)(*(int *)(pcVar23 + -0x7fd4) + -0x3fd8);\nLAB_000fc3a0:\n    if (iVar5 != 0) {\n      (**(code **)(pcVar23 + -0x798c))();\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) = 0;\n      pcVar23 = pcStack_230;\n    }\n    if (*(int *)(*(int *)(pcVar23 + -0x7fd4) + -0x3fdc) != 0) {\n      (**(code **)(pcVar23 + -0x798c))();\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) = 0;\n      pcVar23 = pcStack_230;\n    }\n    pwVar14 = *(word **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0);\n    if (pwVar14 != (word *)0x0) {\n      (**(code **)(pcVar23 + -0x798c))(pwVar14);\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = 0;\n      pwVar14 = (word *)0x0;\n      pcVar23 = pcStack_230;\n    }\n    goto LAB_000fbca4;\n  }" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (compound_statement "{\n    if (iVar5 != 0) goto LAB_000fbbb0;\n    iVar5 = *(int *)(*(int *)(pcVar23 + -0x7fd4) + -0x3fd8);\nLAB_000fc3a0:\n    if (iVar5 != 0) {\n      (**(code **)(pcVar23 + -0x798c))();\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) = 0;\n      pcVar23 = pcStack_230;\n    }\n    if (*(int *)(*(int *)(pcVar23 + -0x7fd4) + -0x3fdc) != 0) {\n      (**(code **)(pcVar23 + -0x798c))();\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) = 0;\n      pcVar23 = pcStack_230;\n    }\n    pwVar14 = *(word **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0);\n    if (pwVar14 != (word *)0x0) {\n      (**(code **)(pcVar23 + -0x798c))(pwVar14);\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = 0;\n      pwVar14 = (word *)0x0;\n      pcVar23 = pcStack_230;\n    }\n    goto LAB_000fbca4;\n  }" { (if_statement "if (iVar5 != 0) goto LAB_000fbbb0;" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000fbbb0;" goto statement_identifier ;)) (expression_statement "iVar5 = *(int *)(*(int *)(pcVar23 + -0x7fd4) + -0x3fd8);" (assignment_expression "iVar5 = *(int *)(*(int *)(pcVar23 + -0x7fd4) + -0x3fd8)" identifier = (pointer_expression "*(int *)(*(int *)(pcVar23 + -0x7fd4) + -0x3fd8)" * (cast_expression "(int *)(*(int *)(pcVar23 + -0x7fd4) + -0x3fd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar23 + -0x7fd4) + -0x3fd8)" ( (binary_expression "*(int *)(pcVar23 + -0x7fd4) + -0x3fd8" (pointer_expression "*(int *)(pcVar23 + -0x7fd4)" * (cast_expression "(int *)(pcVar23 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar23 + -0x7fd4)" ( (binary_expression "pcVar23 + -0x7fd4" identifier + number_literal) )))) + number_literal) ))))) ;) (labeled_statement "LAB_000fc3a0:\n    if (iVar5 != 0) {\n      (**(code **)(pcVar23 + -0x798c))();\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) = 0;\n      pcVar23 = pcStack_230;\n    }" statement_identifier : (if_statement "if (iVar5 != 0) {\n      (**(code **)(pcVar23 + -0x798c))();\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) = 0;\n      pcVar23 = pcStack_230;\n    }" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (compound_statement "{\n      (**(code **)(pcVar23 + -0x798c))();\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) = 0;\n      pcVar23 = pcStack_230;\n    }" { (expression_statement "(**(code **)(pcVar23 + -0x798c))();" (call_expression "(**(code **)(pcVar23 + -0x798c))()" (parenthesized_expression "(**(code **)(pcVar23 + -0x798c))" ( (pointer_expression "**(code **)(pcVar23 + -0x798c)" * (pointer_expression "*(code **)(pcVar23 + -0x798c)" * (cast_expression "(code **)(pcVar23 + -0x798c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + -0x798c)" ( (binary_expression "pcVar23 + -0x798c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) = 0;" (assignment_expression "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) = 0" (pointer_expression "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" * (cast_expression "(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" ( (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) )))) + number_literal) )))) = number_literal) ;) (expression_statement "pcVar23 = pcStack_230;" (assignment_expression "pcVar23 = pcStack_230" identifier = identifier) ;) }))) (if_statement "if (*(int *)(*(int *)(pcVar23 + -0x7fd4) + -0x3fdc) != 0) {\n      (**(code **)(pcVar23 + -0x798c))();\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) = 0;\n      pcVar23 = pcStack_230;\n    }" if (parenthesized_expression "(*(int *)(*(int *)(pcVar23 + -0x7fd4) + -0x3fdc) != 0)" ( (binary_expression "*(int *)(*(int *)(pcVar23 + -0x7fd4) + -0x3fdc) != 0" (pointer_expression "*(int *)(*(int *)(pcVar23 + -0x7fd4) + -0x3fdc)" * (cast_expression "(int *)(*(int *)(pcVar23 + -0x7fd4) + -0x3fdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar23 + -0x7fd4) + -0x3fdc)" ( (binary_expression "*(int *)(pcVar23 + -0x7fd4) + -0x3fdc" (pointer_expression "*(int *)(pcVar23 + -0x7fd4)" * (cast_expression "(int *)(pcVar23 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar23 + -0x7fd4)" ( (binary_expression "pcVar23 + -0x7fd4" identifier + number_literal) )))) + number_literal) )))) != number_literal) )) (compound_statement "{\n      (**(code **)(pcVar23 + -0x798c))();\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) = 0;\n      pcVar23 = pcStack_230;\n    }" { (expression_statement "(**(code **)(pcVar23 + -0x798c))();" (call_expression "(**(code **)(pcVar23 + -0x798c))()" (parenthesized_expression "(**(code **)(pcVar23 + -0x798c))" ( (pointer_expression "**(code **)(pcVar23 + -0x798c)" * (pointer_expression "*(code **)(pcVar23 + -0x798c)" * (cast_expression "(code **)(pcVar23 + -0x798c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + -0x798c)" ( (binary_expression "pcVar23 + -0x798c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) = 0;" (assignment_expression "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) = 0" (pointer_expression "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc)" * (cast_expression "(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc)" ( (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) )))) + number_literal) )))) = number_literal) ;) (expression_statement "pcVar23 = pcStack_230;" (assignment_expression "pcVar23 = pcStack_230" identifier = identifier) ;) })) (expression_statement "pwVar14 = *(word **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0);" (assignment_expression "pwVar14 = *(word **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0)" identifier = (pointer_expression "*(word **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0)" * (cast_expression "(word **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0)" ( (type_descriptor "word **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0)" ( (binary_expression "*(int *)(pcVar23 + -0x7fd4) + -0x3fe0" (pointer_expression "*(int *)(pcVar23 + -0x7fd4)" * (cast_expression "(int *)(pcVar23 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar23 + -0x7fd4)" ( (binary_expression "pcVar23 + -0x7fd4" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (pwVar14 != (word *)0x0) {\n      (**(code **)(pcVar23 + -0x798c))(pwVar14);\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = 0;\n      pwVar14 = (word *)0x0;\n      pcVar23 = pcStack_230;\n    }" if (parenthesized_expression "(pwVar14 != (word *)0x0)" ( (binary_expression "pwVar14 != (word *)0x0" identifier != (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      (**(code **)(pcVar23 + -0x798c))(pwVar14);\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = 0;\n      pwVar14 = (word *)0x0;\n      pcVar23 = pcStack_230;\n    }" { (expression_statement "(**(code **)(pcVar23 + -0x798c))(pwVar14);" (call_expression "(**(code **)(pcVar23 + -0x798c))(pwVar14)" (parenthesized_expression "(**(code **)(pcVar23 + -0x798c))" ( (pointer_expression "**(code **)(pcVar23 + -0x798c)" * (pointer_expression "*(code **)(pcVar23 + -0x798c)" * (cast_expression "(code **)(pcVar23 + -0x798c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + -0x798c)" ( (binary_expression "pcVar23 + -0x798c" identifier + number_literal) ))))) )) (argument_list "(pwVar14)" ( identifier ))) ;) (expression_statement "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = 0;" (assignment_expression "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = 0" (pointer_expression "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0)" * (cast_expression "(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0)" ( (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) )))) + number_literal) )))) = number_literal) ;) (expression_statement "pwVar14 = (word *)0x0;" (assignment_expression "pwVar14 = (word *)0x0" identifier = (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar23 = pcStack_230;" (assignment_expression "pcVar23 = pcStack_230" identifier = identifier) ;) })) (goto_statement "goto LAB_000fbca4;" goto statement_identifier ;) }))) (expression_statement "iVar5 = (**(code **)(pcVar23 + -0x6214))();" (assignment_expression "iVar5 = (**(code **)(pcVar23 + -0x6214))()" identifier = (call_expression "(**(code **)(pcVar23 + -0x6214))()" (parenthesized_expression "(**(code **)(pcVar23 + -0x6214))" ( (pointer_expression "**(code **)(pcVar23 + -0x6214)" * (pointer_expression "*(code **)(pcVar23 + -0x6214)" * (cast_expression "(code **)(pcVar23 + -0x6214)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + -0x6214)" ( (binary_expression "pcVar23 + -0x6214" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if (iVar5 == 0) {\n    if (*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) != 0) {\n      (**(code **)(pcStack_230 + -0x6284))();\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) = 0;\n    }\n    iVar5 = *(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);\n    pcVar23 = pcStack_230;\n    goto LAB_000fc3a0;\n  }" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (compound_statement "{\n    if (*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) != 0) {\n      (**(code **)(pcStack_230 + -0x6284))();\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) = 0;\n    }\n    iVar5 = *(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);\n    pcVar23 = pcStack_230;\n    goto LAB_000fc3a0;\n  }" { (if_statement "if (*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) != 0) {\n      (**(code **)(pcStack_230 + -0x6284))();\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) = 0;\n    }" if (parenthesized_expression "(*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) != 0)" ( (binary_expression "*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) != 0" (pointer_expression "*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4)" * (cast_expression "(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4)" ( (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) )))) + number_literal) )))) != number_literal) )) (compound_statement "{\n      (**(code **)(pcStack_230 + -0x6284))();\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) = 0;\n    }" { (expression_statement "(**(code **)(pcStack_230 + -0x6284))();" (call_expression "(**(code **)(pcStack_230 + -0x6284))()" (parenthesized_expression "(**(code **)(pcStack_230 + -0x6284))" ( (pointer_expression "**(code **)(pcStack_230 + -0x6284)" * (pointer_expression "*(code **)(pcStack_230 + -0x6284)" * (cast_expression "(code **)(pcStack_230 + -0x6284)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6284)" ( (binary_expression "pcStack_230 + -0x6284" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) = 0;" (assignment_expression "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) = 0" (pointer_expression "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4)" * (cast_expression "(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4)" ( (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) )))) + number_literal) )))) = number_literal) ;) })) (expression_statement "iVar5 = *(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);" (assignment_expression "iVar5 = *(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" identifier = (pointer_expression "*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" * (cast_expression "(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" ( (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "pcVar23 = pcStack_230;" (assignment_expression "pcVar23 = pcStack_230" identifier = identifier) ;) (goto_statement "goto LAB_000fc3a0;" goto statement_identifier ;) })) (expression_statement "pwVar18 = (word *)(iVar5 + 0x13);" (assignment_expression "pwVar18 = (word *)(iVar5 + 0x13)" identifier = (cast_expression "(word *)(iVar5 + 0x13)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + 0x13)" ( (binary_expression "iVar5 + 0x13" identifier + number_literal) )))) ;) (expression_statement "unaff_s4 = (word *)(**(code **)(pcStack_230 + -0x60fc))(pwVar18);" (assignment_expression "unaff_s4 = (word *)(**(code **)(pcStack_230 + -0x60fc))(pwVar18)" identifier = (cast_expression "(word *)(**(code **)(pcStack_230 + -0x60fc))(pwVar18)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_230 + -0x60fc))(pwVar18)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x60fc))" ( (pointer_expression "**(code **)(pcStack_230 + -0x60fc)" * (pointer_expression "*(code **)(pcStack_230 + -0x60fc)" * (cast_expression "(code **)(pcStack_230 + -0x60fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x60fc)" ( (binary_expression "pcStack_230 + -0x60fc" identifier + number_literal) ))))) )) (argument_list "(pwVar18)" ( identifier ))))) ;) (expression_statement "pwVar16 = pwVar18;" (assignment_expression "pwVar16 = pwVar18" identifier = identifier) ;) (if_statement "if (((code *)*puStack_220 != (code *)0x0) &&\n     (pwVar16 = (word *)(*(code *)*puStack_220)(pwVar18,unaff_s4), pwVar18 != pwVar16)) {\n    unaff_s4 = (word *)(**(code **)(pcStack_230 + -0x60fc))(pwVar16);\n  }" if (parenthesized_expression "(((code *)*puStack_220 != (code *)0x0) &&\n     (pwVar16 = (word *)(*(code *)*puStack_220)(pwVar18,unaff_s4), pwVar18 != pwVar16))" ( (binary_expression "((code *)*puStack_220 != (code *)0x0) &&\n     (pwVar16 = (word *)(*(code *)*puStack_220)(pwVar18,unaff_s4), pwVar18 != pwVar16)" (parenthesized_expression "((code *)*puStack_220 != (code *)0x0)" ( (binary_expression "(code *)*puStack_220 != (code *)0x0" (cast_expression "(code *)*puStack_220" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puStack_220" * identifier)) != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(pwVar16 = (word *)(*(code *)*puStack_220)(pwVar18,unaff_s4), pwVar18 != pwVar16)" ( (comma_expression "pwVar16 = (word *)(*(code *)*puStack_220)(pwVar18,unaff_s4), pwVar18 != pwVar16" (assignment_expression "pwVar16 = (word *)(*(code *)*puStack_220)(pwVar18,unaff_s4)" identifier = (cast_expression "(word *)(*(code *)*puStack_220)(pwVar18,unaff_s4)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)*puStack_220)(pwVar18,unaff_s4)" (parenthesized_expression "(*(code *)*puStack_220)" ( (pointer_expression "*(code *)*puStack_220" * (cast_expression "(code *)*puStack_220" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puStack_220" * identifier))) )) (argument_list "(pwVar18,unaff_s4)" ( identifier , identifier ))))) , (binary_expression "pwVar18 != pwVar16" identifier != identifier)) ))) )) (compound_statement "{\n    unaff_s4 = (word *)(**(code **)(pcStack_230 + -0x60fc))(pwVar16);\n  }" { (expression_statement "unaff_s4 = (word *)(**(code **)(pcStack_230 + -0x60fc))(pwVar16);" (assignment_expression "unaff_s4 = (word *)(**(code **)(pcStack_230 + -0x60fc))(pwVar16)" identifier = (cast_expression "(word *)(**(code **)(pcStack_230 + -0x60fc))(pwVar16)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_230 + -0x60fc))(pwVar16)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x60fc))" ( (pointer_expression "**(code **)(pcStack_230 + -0x60fc)" * (pointer_expression "*(code **)(pcStack_230 + -0x60fc)" * (cast_expression "(code **)(pcStack_230 + -0x60fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x60fc)" ( (binary_expression "pcStack_230 + -0x60fc" identifier + number_literal) ))))) )) (argument_list "(pwVar16)" ( identifier ))))) ;) })) (expression_statement "unaff_s3 = *(word **)(iStack_21c + -0x3fe4);" (assignment_expression "unaff_s3 = *(word **)(iStack_21c + -0x3fe4)" identifier = (pointer_expression "*(word **)(iStack_21c + -0x3fe4)" * (cast_expression "(word **)(iStack_21c + -0x3fe4)" ( (type_descriptor "word **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iStack_21c + -0x3fe4)" ( (binary_expression "iStack_21c + -0x3fe4" identifier + number_literal) ))))) ;) (expression_statement "pcVar23 = pcStack_230;" (assignment_expression "pcVar23 = pcStack_230" identifier = identifier) ;) (if_statement "if (unaff_s3 == (word *)0x0) {\n    if (**(int **)(pcStack_230 + -0x65ac) == 0) {\n      if (*(byte *)pwVar16 != 0x2e) goto LAB_000fbbb0;\n    }\n    else {\n      iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n      if ((*(byte *)pwVar16 != 0x2e) ||\n         (((byte)*pwVar16 != 0 &&\n          ((iVar13 = *(int *)(pcStack_230 + -0x7fd4), (byte)*pwVar16 != 0x2e ||\n           (iVar13 = *(int *)(pcStack_230 + -0x7fd4), *(byte *)(pwVar16 + 1) != 0))))))\n      goto LAB_000fbbb4;\n    }\n    goto LAB_000fbb0c;\n  }" if (parenthesized_expression "(unaff_s3 == (word *)0x0)" ( (binary_expression "unaff_s3 == (word *)0x0" identifier == (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (**(int **)(pcStack_230 + -0x65ac) == 0) {\n      if (*(byte *)pwVar16 != 0x2e) goto LAB_000fbbb0;\n    }\n    else {\n      iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n      if ((*(byte *)pwVar16 != 0x2e) ||\n         (((byte)*pwVar16 != 0 &&\n          ((iVar13 = *(int *)(pcStack_230 + -0x7fd4), (byte)*pwVar16 != 0x2e ||\n           (iVar13 = *(int *)(pcStack_230 + -0x7fd4), *(byte *)(pwVar16 + 1) != 0))))))\n      goto LAB_000fbbb4;\n    }\n    goto LAB_000fbb0c;\n  }" { (if_statement "if (**(int **)(pcStack_230 + -0x65ac) == 0) {\n      if (*(byte *)pwVar16 != 0x2e) goto LAB_000fbbb0;\n    }\n    else {\n      iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n      if ((*(byte *)pwVar16 != 0x2e) ||\n         (((byte)*pwVar16 != 0 &&\n          ((iVar13 = *(int *)(pcStack_230 + -0x7fd4), (byte)*pwVar16 != 0x2e ||\n           (iVar13 = *(int *)(pcStack_230 + -0x7fd4), *(byte *)(pwVar16 + 1) != 0))))))\n      goto LAB_000fbbb4;\n    }" if (parenthesized_expression "(**(int **)(pcStack_230 + -0x65ac) == 0)" ( (binary_expression "**(int **)(pcStack_230 + -0x65ac) == 0" (pointer_expression "**(int **)(pcStack_230 + -0x65ac)" * (pointer_expression "*(int **)(pcStack_230 + -0x65ac)" * (cast_expression "(int **)(pcStack_230 + -0x65ac)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x65ac)" ( (binary_expression "pcStack_230 + -0x65ac" identifier + number_literal) ))))) == number_literal) )) (compound_statement "{\n      if (*(byte *)pwVar16 != 0x2e) goto LAB_000fbbb0;\n    }" { (if_statement "if (*(byte *)pwVar16 != 0x2e) goto LAB_000fbbb0;" if (parenthesized_expression "(*(byte *)pwVar16 != 0x2e)" ( (binary_expression "*(byte *)pwVar16 != 0x2e" (pointer_expression "*(byte *)pwVar16" * (cast_expression "(byte *)pwVar16" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) )) (goto_statement "goto LAB_000fbbb0;" goto statement_identifier ;)) }) (else_clause "else {\n      iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n      if ((*(byte *)pwVar16 != 0x2e) ||\n         (((byte)*pwVar16 != 0 &&\n          ((iVar13 = *(int *)(pcStack_230 + -0x7fd4), (byte)*pwVar16 != 0x2e ||\n           (iVar13 = *(int *)(pcStack_230 + -0x7fd4), *(byte *)(pwVar16 + 1) != 0))))))\n      goto LAB_000fbbb4;\n    }" else (compound_statement "{\n      iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n      if ((*(byte *)pwVar16 != 0x2e) ||\n         (((byte)*pwVar16 != 0 &&\n          ((iVar13 = *(int *)(pcStack_230 + -0x7fd4), (byte)*pwVar16 != 0x2e ||\n           (iVar13 = *(int *)(pcStack_230 + -0x7fd4), *(byte *)(pwVar16 + 1) != 0))))))\n      goto LAB_000fbbb4;\n    }" { (expression_statement "iVar13 = *(int *)(pcStack_230 + -0x7fd4);" (assignment_expression "iVar13 = *(int *)(pcStack_230 + -0x7fd4)" identifier = (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) ))))) ;) (if_statement "if ((*(byte *)pwVar16 != 0x2e) ||\n         (((byte)*pwVar16 != 0 &&\n          ((iVar13 = *(int *)(pcStack_230 + -0x7fd4), (byte)*pwVar16 != 0x2e ||\n           (iVar13 = *(int *)(pcStack_230 + -0x7fd4), *(byte *)(pwVar16 + 1) != 0))))))\n      goto LAB_000fbbb4;" if (parenthesized_expression "((*(byte *)pwVar16 != 0x2e) ||\n         (((byte)*pwVar16 != 0 &&\n          ((iVar13 = *(int *)(pcStack_230 + -0x7fd4), (byte)*pwVar16 != 0x2e ||\n           (iVar13 = *(int *)(pcStack_230 + -0x7fd4), *(byte *)(pwVar16 + 1) != 0))))))" ( (binary_expression "(*(byte *)pwVar16 != 0x2e) ||\n         (((byte)*pwVar16 != 0 &&\n          ((iVar13 = *(int *)(pcStack_230 + -0x7fd4), (byte)*pwVar16 != 0x2e ||\n           (iVar13 = *(int *)(pcStack_230 + -0x7fd4), *(byte *)(pwVar16 + 1) != 0)))))" (parenthesized_expression "(*(byte *)pwVar16 != 0x2e)" ( (binary_expression "*(byte *)pwVar16 != 0x2e" (pointer_expression "*(byte *)pwVar16" * (cast_expression "(byte *)pwVar16" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) )) || (parenthesized_expression "(((byte)*pwVar16 != 0 &&\n          ((iVar13 = *(int *)(pcStack_230 + -0x7fd4), (byte)*pwVar16 != 0x2e ||\n           (iVar13 = *(int *)(pcStack_230 + -0x7fd4), *(byte *)(pwVar16 + 1) != 0)))))" ( (parenthesized_expression "((byte)*pwVar16 != 0 &&\n          ((iVar13 = *(int *)(pcStack_230 + -0x7fd4), (byte)*pwVar16 != 0x2e ||\n           (iVar13 = *(int *)(pcStack_230 + -0x7fd4), *(byte *)(pwVar16 + 1) != 0))))" ( (binary_expression "(byte)*pwVar16 != 0 &&\n          ((iVar13 = *(int *)(pcStack_230 + -0x7fd4), (byte)*pwVar16 != 0x2e ||\n           (iVar13 = *(int *)(pcStack_230 + -0x7fd4), *(byte *)(pwVar16 + 1) != 0)))" (binary_expression "(byte)*pwVar16 != 0" (binary_expression "(byte)*pwVar16" (parenthesized_expression "(byte)" ( identifier )) * identifier) != number_literal) && (parenthesized_expression "((iVar13 = *(int *)(pcStack_230 + -0x7fd4), (byte)*pwVar16 != 0x2e ||\n           (iVar13 = *(int *)(pcStack_230 + -0x7fd4), *(byte *)(pwVar16 + 1) != 0)))" ( (parenthesized_expression "(iVar13 = *(int *)(pcStack_230 + -0x7fd4), (byte)*pwVar16 != 0x2e ||\n           (iVar13 = *(int *)(pcStack_230 + -0x7fd4), *(byte *)(pwVar16 + 1) != 0))" ( (comma_expression "iVar13 = *(int *)(pcStack_230 + -0x7fd4), (byte)*pwVar16 != 0x2e ||\n           (iVar13 = *(int *)(pcStack_230 + -0x7fd4), *(byte *)(pwVar16 + 1) != 0)" (assignment_expression "iVar13 = *(int *)(pcStack_230 + -0x7fd4)" identifier = (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) ))))) , (binary_expression "(byte)*pwVar16 != 0x2e ||\n           (iVar13 = *(int *)(pcStack_230 + -0x7fd4), *(byte *)(pwVar16 + 1) != 0)" (binary_expression "(byte)*pwVar16 != 0x2e" (binary_expression "(byte)*pwVar16" (parenthesized_expression "(byte)" ( identifier )) * identifier) != number_literal) || (parenthesized_expression "(iVar13 = *(int *)(pcStack_230 + -0x7fd4), *(byte *)(pwVar16 + 1) != 0)" ( (comma_expression "iVar13 = *(int *)(pcStack_230 + -0x7fd4), *(byte *)(pwVar16 + 1) != 0" (assignment_expression "iVar13 = *(int *)(pcStack_230 + -0x7fd4)" identifier = (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) ))))) , (binary_expression "*(byte *)(pwVar16 + 1) != 0" (pointer_expression "*(byte *)(pwVar16 + 1)" * (cast_expression "(byte *)(pwVar16 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pwVar16 + 1)" ( (binary_expression "pwVar16 + 1" identifier + number_literal) )))) != number_literal)) )))) )) ))) )) ))) )) (goto_statement "goto LAB_000fbbb4;" goto statement_identifier ;)) }))) (goto_statement "goto LAB_000fbb0c;" goto statement_identifier ;) })) (expression_statement "pbStack_228 = *(byte **)(iStack_218 + -0x3fdc);" (assignment_expression "pbStack_228 = *(byte **)(iStack_218 + -0x3fdc)" identifier = (pointer_expression "*(byte **)(iStack_218 + -0x3fdc)" * (cast_expression "(byte **)(iStack_218 + -0x3fdc)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iStack_218 + -0x3fdc)" ( (binary_expression "iStack_218 + -0x3fdc" identifier + number_literal) ))))) ;) (expression_statement "pbStack_1f4 = (byte *)0x0;" (assignment_expression "pbStack_1f4 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "uStack_1f0 = 0;" (assignment_expression "uStack_1f0 = 0" identifier = number_literal) ;) (expression_statement "uStack_1ec = 0;" (assignment_expression "uStack_1ec = 0" identifier = number_literal) ;) (expression_statement "uStack_1e8 = 0;" (assignment_expression "uStack_1e8 = 0" identifier = number_literal) ;) (if_statement "if ((int)unaff_s4 < (int)unaff_s3) goto LAB_000fbb0c;" if (parenthesized_expression "((int)unaff_s4 < (int)unaff_s3)" ( (binary_expression "(int)unaff_s4 < (int)unaff_s3" (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_000fbb0c;" goto statement_identifier ;)) (if_statement "if (*piStack_20c != 0) {\n    if (**(int **)(pcStack_230 + -0x65a4) == 0) {\n      uVar4 = (**(code **)(pcStack_230 + -0x6060))();\n      if ((1 < uVar4) && (unaff_s8 = &pbStack_1f4, **(int **)(pcStack_230 + -0x6728) == 0)) {\n        unaff_s7 = (word *)&iStack_1fc;\n        unaff_s6 = (word *)&uStack_1ec;\n        unaff_s5 = (word *)&iStack_1f8;\n        pwStack_214 = pwVar16;\n        pwStack_208 = unaff_s3;\n        goto LAB_000fc0a8;\n      }\n      unaff_s5 = (word *)(int)(char)*(byte *)pwVar16;\n      pbVar24 = (byte *)(uint)*(byte *)pwVar16;\n      if (((word *)pbVar24 == unaff_s5) &&\n         (piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))(),\n         (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0)) {\n        piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n        unaff_s5 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n      }\n      unaff_s6 = (word *)(int)(char)*pbStack_228;\n      unaff_s4 = (word *)(uint)*pbStack_228;\n      if (unaff_s4 == unaff_s6) {\n        piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))();\n        if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n          piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n          unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n          unaff_s6 = *(word **)unaff_s4;\n        }\n      }\n      pwVar15 = unaff_s3;\n      pcVar23 = pcStack_230;\n      if (unaff_s5 == unaff_s6) {\n        iVar13 = (**(code **)(pcStack_230 + -0x6188))(pbStack_228,pwVar16);\n        goto LAB_000fc280;\n      }\n    }\n    else {\n      uVar4 = (**(code **)(pcStack_230 + -0x6060))();\n      if ((1 < uVar4) && (unaff_s6 = (word *)&uStack_1ec, **(int **)(pcStack_230 + -0x6728) == 0)) {\n        unaff_s8 = &pbStack_1f4;\n        unaff_s7 = (word *)&iStack_1fc;\n        unaff_s5 = (word *)&iStack_1f8;\n        pwStack_214 = pwVar16;\n        pwStack_208 = unaff_s3;\n        do {\n          pwStack_210 = (word *)(**(code **)(pcStack_230 + -0x6084))\n                                          (unaff_s7,pwStack_214,unaff_s4,unaff_s8);\n          pwVar15 = unaff_s3;\n          iVar13 = (**(code **)(pcStack_230 + -0x6084))(unaff_s5,pbStack_228,unaff_s3,unaff_s6);\n          pcVar23 = pcStack_230;\n          if (pwStack_210 == (word *)0x0) {\n            if (iVar13 == 0) goto LAB_000fbbb0;\nLAB_000fbe6c:\n            if (iVar13 + 2U < 2) goto LAB_000fbdb4;\n            iStack_204 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc);\n            iStack_1fc = iStack_204;\n            iStack_1f8 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8);\n            pwStack_214 = (word *)((int)pwStack_214 + (int)pwStack_210);\n            pbStack_228 = pbStack_228 + (int)pwStack_210;\n            pwStack_208 = (word *)((int)pwStack_208 - (int)pwStack_210);\n            if ((((iStack_204 != 0x2d) && (iStack_204 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))) && (iStack_204 != iStack_1f8))\n            goto code_r0x000fbef4;\n          }\n          else {\n            if ((word *)0x1 < pwStack_210 + 1) goto LAB_000fbe6c;\nLAB_000fbdb4:\n            bVar2 = *(byte *)pwStack_214;\n            if (((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||\n               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))) goto LAB_000fbb0c;\n            pwStack_214 = (word *)((int)pwStack_214 + 1);\n            pbStack_228 = pbStack_228 + 1;\n            pwStack_208 = (word *)((int)pwStack_208 + -1);\n          }\n          iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n          pcVar23 = pcStack_230;\n          if (pwStack_208 == (word *)0x0) goto LAB_000fbbb4;\n        } while( true );\n      }\n      unaff_s7 = (word *)&DAT_0000002d;\n      unaff_s8 = (byte **)0x5f;\n      pwStack_208 = (word *)((int)pwVar16 + (int)unaff_s3);\n      unaff_s4 = pwVar16;\n      pcVar23 = pcStack_230;\n      while( true ) {\n        unaff_s3 = (word *)(int)(char)*(byte *)unaff_s4;\n        pbVar24 = (byte *)(uint)*(byte *)unaff_s4;\n        pwStack_214 = unaff_s3;\n        if (((word *)pbVar24 == unaff_s3) &&\n           (piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))(), pcVar23 = pcStack_230,\n           (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0)) {\n          piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n          pwStack_214 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n          pcVar23 = pcStack_230;\n        }\n        unaff_s5 = (word *)(int)(char)*pbStack_228;\n        unaff_s6 = (word *)(uint)*pbStack_228;\n        pwStack_210 = unaff_s5;\n        if (unaff_s6 == unaff_s5) {\n          piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))();\n          pcVar23 = pcStack_230;\n          if ((*(ushort *)(*piVar9 + (int)unaff_s6 * 2) & 1) != 0) {\n            piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n            unaff_s6 = (word *)(*piVar9 + (int)unaff_s6 * 4);\n            pwStack_210 = *(word **)unaff_s6;\n            pcVar23 = pcStack_230;\n          }\n        }\n        if ((((unaff_s3 != (word *)&DAT_0000002d) && (unaff_s3 != (word *)0x5f)) ||\n            ((unaff_s5 != (word *)&DAT_0000002d && (unaff_s5 != (word *)0x5f)))) &&\n           (pwStack_214 != pwStack_210)) break;\n        unaff_s4 = (word *)((int)unaff_s4 + 1);\n        pbStack_228 = pbStack_228 + 1;\n        iVar13 = *(int *)(pcVar23 + -0x7fd4);\n        if (unaff_s4 == pwStack_208) goto LAB_000fbbb4;\n      }\n    }\n    goto LAB_000fbb0c;\n  }" if (parenthesized_expression "(*piStack_20c != 0)" ( (binary_expression "*piStack_20c != 0" (pointer_expression "*piStack_20c" * identifier) != number_literal) )) (compound_statement "{\n    if (**(int **)(pcStack_230 + -0x65a4) == 0) {\n      uVar4 = (**(code **)(pcStack_230 + -0x6060))();\n      if ((1 < uVar4) && (unaff_s8 = &pbStack_1f4, **(int **)(pcStack_230 + -0x6728) == 0)) {\n        unaff_s7 = (word *)&iStack_1fc;\n        unaff_s6 = (word *)&uStack_1ec;\n        unaff_s5 = (word *)&iStack_1f8;\n        pwStack_214 = pwVar16;\n        pwStack_208 = unaff_s3;\n        goto LAB_000fc0a8;\n      }\n      unaff_s5 = (word *)(int)(char)*(byte *)pwVar16;\n      pbVar24 = (byte *)(uint)*(byte *)pwVar16;\n      if (((word *)pbVar24 == unaff_s5) &&\n         (piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))(),\n         (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0)) {\n        piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n        unaff_s5 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n      }\n      unaff_s6 = (word *)(int)(char)*pbStack_228;\n      unaff_s4 = (word *)(uint)*pbStack_228;\n      if (unaff_s4 == unaff_s6) {\n        piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))();\n        if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n          piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n          unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n          unaff_s6 = *(word **)unaff_s4;\n        }\n      }\n      pwVar15 = unaff_s3;\n      pcVar23 = pcStack_230;\n      if (unaff_s5 == unaff_s6) {\n        iVar13 = (**(code **)(pcStack_230 + -0x6188))(pbStack_228,pwVar16);\n        goto LAB_000fc280;\n      }\n    }\n    else {\n      uVar4 = (**(code **)(pcStack_230 + -0x6060))();\n      if ((1 < uVar4) && (unaff_s6 = (word *)&uStack_1ec, **(int **)(pcStack_230 + -0x6728) == 0)) {\n        unaff_s8 = &pbStack_1f4;\n        unaff_s7 = (word *)&iStack_1fc;\n        unaff_s5 = (word *)&iStack_1f8;\n        pwStack_214 = pwVar16;\n        pwStack_208 = unaff_s3;\n        do {\n          pwStack_210 = (word *)(**(code **)(pcStack_230 + -0x6084))\n                                          (unaff_s7,pwStack_214,unaff_s4,unaff_s8);\n          pwVar15 = unaff_s3;\n          iVar13 = (**(code **)(pcStack_230 + -0x6084))(unaff_s5,pbStack_228,unaff_s3,unaff_s6);\n          pcVar23 = pcStack_230;\n          if (pwStack_210 == (word *)0x0) {\n            if (iVar13 == 0) goto LAB_000fbbb0;\nLAB_000fbe6c:\n            if (iVar13 + 2U < 2) goto LAB_000fbdb4;\n            iStack_204 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc);\n            iStack_1fc = iStack_204;\n            iStack_1f8 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8);\n            pwStack_214 = (word *)((int)pwStack_214 + (int)pwStack_210);\n            pbStack_228 = pbStack_228 + (int)pwStack_210;\n            pwStack_208 = (word *)((int)pwStack_208 - (int)pwStack_210);\n            if ((((iStack_204 != 0x2d) && (iStack_204 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))) && (iStack_204 != iStack_1f8))\n            goto code_r0x000fbef4;\n          }\n          else {\n            if ((word *)0x1 < pwStack_210 + 1) goto LAB_000fbe6c;\nLAB_000fbdb4:\n            bVar2 = *(byte *)pwStack_214;\n            if (((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||\n               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))) goto LAB_000fbb0c;\n            pwStack_214 = (word *)((int)pwStack_214 + 1);\n            pbStack_228 = pbStack_228 + 1;\n            pwStack_208 = (word *)((int)pwStack_208 + -1);\n          }\n          iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n          pcVar23 = pcStack_230;\n          if (pwStack_208 == (word *)0x0) goto LAB_000fbbb4;\n        } while( true );\n      }\n      unaff_s7 = (word *)&DAT_0000002d;\n      unaff_s8 = (byte **)0x5f;\n      pwStack_208 = (word *)((int)pwVar16 + (int)unaff_s3);\n      unaff_s4 = pwVar16;\n      pcVar23 = pcStack_230;\n      while( true ) {\n        unaff_s3 = (word *)(int)(char)*(byte *)unaff_s4;\n        pbVar24 = (byte *)(uint)*(byte *)unaff_s4;\n        pwStack_214 = unaff_s3;\n        if (((word *)pbVar24 == unaff_s3) &&\n           (piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))(), pcVar23 = pcStack_230,\n           (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0)) {\n          piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n          pwStack_214 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n          pcVar23 = pcStack_230;\n        }\n        unaff_s5 = (word *)(int)(char)*pbStack_228;\n        unaff_s6 = (word *)(uint)*pbStack_228;\n        pwStack_210 = unaff_s5;\n        if (unaff_s6 == unaff_s5) {\n          piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))();\n          pcVar23 = pcStack_230;\n          if ((*(ushort *)(*piVar9 + (int)unaff_s6 * 2) & 1) != 0) {\n            piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n            unaff_s6 = (word *)(*piVar9 + (int)unaff_s6 * 4);\n            pwStack_210 = *(word **)unaff_s6;\n            pcVar23 = pcStack_230;\n          }\n        }\n        if ((((unaff_s3 != (word *)&DAT_0000002d) && (unaff_s3 != (word *)0x5f)) ||\n            ((unaff_s5 != (word *)&DAT_0000002d && (unaff_s5 != (word *)0x5f)))) &&\n           (pwStack_214 != pwStack_210)) break;\n        unaff_s4 = (word *)((int)unaff_s4 + 1);\n        pbStack_228 = pbStack_228 + 1;\n        iVar13 = *(int *)(pcVar23 + -0x7fd4);\n        if (unaff_s4 == pwStack_208) goto LAB_000fbbb4;\n      }\n    }\n    goto LAB_000fbb0c;\n  }" { (if_statement "if (**(int **)(pcStack_230 + -0x65a4) == 0) {\n      uVar4 = (**(code **)(pcStack_230 + -0x6060))();\n      if ((1 < uVar4) && (unaff_s8 = &pbStack_1f4, **(int **)(pcStack_230 + -0x6728) == 0)) {\n        unaff_s7 = (word *)&iStack_1fc;\n        unaff_s6 = (word *)&uStack_1ec;\n        unaff_s5 = (word *)&iStack_1f8;\n        pwStack_214 = pwVar16;\n        pwStack_208 = unaff_s3;\n        goto LAB_000fc0a8;\n      }\n      unaff_s5 = (word *)(int)(char)*(byte *)pwVar16;\n      pbVar24 = (byte *)(uint)*(byte *)pwVar16;\n      if (((word *)pbVar24 == unaff_s5) &&\n         (piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))(),\n         (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0)) {\n        piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n        unaff_s5 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n      }\n      unaff_s6 = (word *)(int)(char)*pbStack_228;\n      unaff_s4 = (word *)(uint)*pbStack_228;\n      if (unaff_s4 == unaff_s6) {\n        piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))();\n        if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n          piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n          unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n          unaff_s6 = *(word **)unaff_s4;\n        }\n      }\n      pwVar15 = unaff_s3;\n      pcVar23 = pcStack_230;\n      if (unaff_s5 == unaff_s6) {\n        iVar13 = (**(code **)(pcStack_230 + -0x6188))(pbStack_228,pwVar16);\n        goto LAB_000fc280;\n      }\n    }\n    else {\n      uVar4 = (**(code **)(pcStack_230 + -0x6060))();\n      if ((1 < uVar4) && (unaff_s6 = (word *)&uStack_1ec, **(int **)(pcStack_230 + -0x6728) == 0)) {\n        unaff_s8 = &pbStack_1f4;\n        unaff_s7 = (word *)&iStack_1fc;\n        unaff_s5 = (word *)&iStack_1f8;\n        pwStack_214 = pwVar16;\n        pwStack_208 = unaff_s3;\n        do {\n          pwStack_210 = (word *)(**(code **)(pcStack_230 + -0x6084))\n                                          (unaff_s7,pwStack_214,unaff_s4,unaff_s8);\n          pwVar15 = unaff_s3;\n          iVar13 = (**(code **)(pcStack_230 + -0x6084))(unaff_s5,pbStack_228,unaff_s3,unaff_s6);\n          pcVar23 = pcStack_230;\n          if (pwStack_210 == (word *)0x0) {\n            if (iVar13 == 0) goto LAB_000fbbb0;\nLAB_000fbe6c:\n            if (iVar13 + 2U < 2) goto LAB_000fbdb4;\n            iStack_204 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc);\n            iStack_1fc = iStack_204;\n            iStack_1f8 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8);\n            pwStack_214 = (word *)((int)pwStack_214 + (int)pwStack_210);\n            pbStack_228 = pbStack_228 + (int)pwStack_210;\n            pwStack_208 = (word *)((int)pwStack_208 - (int)pwStack_210);\n            if ((((iStack_204 != 0x2d) && (iStack_204 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))) && (iStack_204 != iStack_1f8))\n            goto code_r0x000fbef4;\n          }\n          else {\n            if ((word *)0x1 < pwStack_210 + 1) goto LAB_000fbe6c;\nLAB_000fbdb4:\n            bVar2 = *(byte *)pwStack_214;\n            if (((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||\n               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))) goto LAB_000fbb0c;\n            pwStack_214 = (word *)((int)pwStack_214 + 1);\n            pbStack_228 = pbStack_228 + 1;\n            pwStack_208 = (word *)((int)pwStack_208 + -1);\n          }\n          iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n          pcVar23 = pcStack_230;\n          if (pwStack_208 == (word *)0x0) goto LAB_000fbbb4;\n        } while( true );\n      }\n      unaff_s7 = (word *)&DAT_0000002d;\n      unaff_s8 = (byte **)0x5f;\n      pwStack_208 = (word *)((int)pwVar16 + (int)unaff_s3);\n      unaff_s4 = pwVar16;\n      pcVar23 = pcStack_230;\n      while( true ) {\n        unaff_s3 = (word *)(int)(char)*(byte *)unaff_s4;\n        pbVar24 = (byte *)(uint)*(byte *)unaff_s4;\n        pwStack_214 = unaff_s3;\n        if (((word *)pbVar24 == unaff_s3) &&\n           (piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))(), pcVar23 = pcStack_230,\n           (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0)) {\n          piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n          pwStack_214 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n          pcVar23 = pcStack_230;\n        }\n        unaff_s5 = (word *)(int)(char)*pbStack_228;\n        unaff_s6 = (word *)(uint)*pbStack_228;\n        pwStack_210 = unaff_s5;\n        if (unaff_s6 == unaff_s5) {\n          piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))();\n          pcVar23 = pcStack_230;\n          if ((*(ushort *)(*piVar9 + (int)unaff_s6 * 2) & 1) != 0) {\n            piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n            unaff_s6 = (word *)(*piVar9 + (int)unaff_s6 * 4);\n            pwStack_210 = *(word **)unaff_s6;\n            pcVar23 = pcStack_230;\n          }\n        }\n        if ((((unaff_s3 != (word *)&DAT_0000002d) && (unaff_s3 != (word *)0x5f)) ||\n            ((unaff_s5 != (word *)&DAT_0000002d && (unaff_s5 != (word *)0x5f)))) &&\n           (pwStack_214 != pwStack_210)) break;\n        unaff_s4 = (word *)((int)unaff_s4 + 1);\n        pbStack_228 = pbStack_228 + 1;\n        iVar13 = *(int *)(pcVar23 + -0x7fd4);\n        if (unaff_s4 == pwStack_208) goto LAB_000fbbb4;\n      }\n    }" if (parenthesized_expression "(**(int **)(pcStack_230 + -0x65a4) == 0)" ( (binary_expression "**(int **)(pcStack_230 + -0x65a4) == 0" (pointer_expression "**(int **)(pcStack_230 + -0x65a4)" * (pointer_expression "*(int **)(pcStack_230 + -0x65a4)" * (cast_expression "(int **)(pcStack_230 + -0x65a4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x65a4)" ( (binary_expression "pcStack_230 + -0x65a4" identifier + number_literal) ))))) == number_literal) )) (compound_statement "{\n      uVar4 = (**(code **)(pcStack_230 + -0x6060))();\n      if ((1 < uVar4) && (unaff_s8 = &pbStack_1f4, **(int **)(pcStack_230 + -0x6728) == 0)) {\n        unaff_s7 = (word *)&iStack_1fc;\n        unaff_s6 = (word *)&uStack_1ec;\n        unaff_s5 = (word *)&iStack_1f8;\n        pwStack_214 = pwVar16;\n        pwStack_208 = unaff_s3;\n        goto LAB_000fc0a8;\n      }\n      unaff_s5 = (word *)(int)(char)*(byte *)pwVar16;\n      pbVar24 = (byte *)(uint)*(byte *)pwVar16;\n      if (((word *)pbVar24 == unaff_s5) &&\n         (piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))(),\n         (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0)) {\n        piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n        unaff_s5 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n      }\n      unaff_s6 = (word *)(int)(char)*pbStack_228;\n      unaff_s4 = (word *)(uint)*pbStack_228;\n      if (unaff_s4 == unaff_s6) {\n        piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))();\n        if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n          piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n          unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n          unaff_s6 = *(word **)unaff_s4;\n        }\n      }\n      pwVar15 = unaff_s3;\n      pcVar23 = pcStack_230;\n      if (unaff_s5 == unaff_s6) {\n        iVar13 = (**(code **)(pcStack_230 + -0x6188))(pbStack_228,pwVar16);\n        goto LAB_000fc280;\n      }\n    }" { (expression_statement "uVar4 = (**(code **)(pcStack_230 + -0x6060))();" (assignment_expression "uVar4 = (**(code **)(pcStack_230 + -0x6060))()" identifier = (call_expression "(**(code **)(pcStack_230 + -0x6060))()" (parenthesized_expression "(**(code **)(pcStack_230 + -0x6060))" ( (pointer_expression "**(code **)(pcStack_230 + -0x6060)" * (pointer_expression "*(code **)(pcStack_230 + -0x6060)" * (cast_expression "(code **)(pcStack_230 + -0x6060)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6060)" ( (binary_expression "pcStack_230 + -0x6060" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if ((1 < uVar4) && (unaff_s8 = &pbStack_1f4, **(int **)(pcStack_230 + -0x6728) == 0)) {\n        unaff_s7 = (word *)&iStack_1fc;\n        unaff_s6 = (word *)&uStack_1ec;\n        unaff_s5 = (word *)&iStack_1f8;\n        pwStack_214 = pwVar16;\n        pwStack_208 = unaff_s3;\n        goto LAB_000fc0a8;\n      }" if (parenthesized_expression "((1 < uVar4) && (unaff_s8 = &pbStack_1f4, **(int **)(pcStack_230 + -0x6728) == 0))" ( (binary_expression "(1 < uVar4) && (unaff_s8 = &pbStack_1f4, **(int **)(pcStack_230 + -0x6728) == 0)" (parenthesized_expression "(1 < uVar4)" ( (binary_expression "1 < uVar4" number_literal < identifier) )) && (parenthesized_expression "(unaff_s8 = &pbStack_1f4, **(int **)(pcStack_230 + -0x6728) == 0)" ( (comma_expression "unaff_s8 = &pbStack_1f4, **(int **)(pcStack_230 + -0x6728) == 0" (assignment_expression "unaff_s8 = &pbStack_1f4" identifier = (pointer_expression "&pbStack_1f4" & identifier)) , (binary_expression "**(int **)(pcStack_230 + -0x6728) == 0" (pointer_expression "**(int **)(pcStack_230 + -0x6728)" * (pointer_expression "*(int **)(pcStack_230 + -0x6728)" * (cast_expression "(int **)(pcStack_230 + -0x6728)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6728)" ( (binary_expression "pcStack_230 + -0x6728" identifier + number_literal) ))))) == number_literal)) ))) )) (compound_statement "{\n        unaff_s7 = (word *)&iStack_1fc;\n        unaff_s6 = (word *)&uStack_1ec;\n        unaff_s5 = (word *)&iStack_1f8;\n        pwStack_214 = pwVar16;\n        pwStack_208 = unaff_s3;\n        goto LAB_000fc0a8;\n      }" { (expression_statement "unaff_s7 = (word *)&iStack_1fc;" (assignment_expression "unaff_s7 = (word *)&iStack_1fc" identifier = (cast_expression "(word *)&iStack_1fc" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&iStack_1fc" & identifier))) ;) (expression_statement "unaff_s6 = (word *)&uStack_1ec;" (assignment_expression "unaff_s6 = (word *)&uStack_1ec" identifier = (cast_expression "(word *)&uStack_1ec" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&uStack_1ec" & identifier))) ;) (expression_statement "unaff_s5 = (word *)&iStack_1f8;" (assignment_expression "unaff_s5 = (word *)&iStack_1f8" identifier = (cast_expression "(word *)&iStack_1f8" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&iStack_1f8" & identifier))) ;) (expression_statement "pwStack_214 = pwVar16;" (assignment_expression "pwStack_214 = pwVar16" identifier = identifier) ;) (expression_statement "pwStack_208 = unaff_s3;" (assignment_expression "pwStack_208 = unaff_s3" identifier = identifier) ;) (goto_statement "goto LAB_000fc0a8;" goto statement_identifier ;) })) (expression_statement "unaff_s5 = (word *)(int)(char)*(byte *)pwVar16;" (assignment_expression "unaff_s5 = (word *)(int)(char)*(byte *)pwVar16" identifier = (cast_expression "(word *)(int)(char)*(byte *)pwVar16" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)(char)*(byte *)pwVar16" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)*(byte *)pwVar16" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(byte *)pwVar16" * (cast_expression "(byte *)pwVar16" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))))) ;) (expression_statement "pbVar24 = (byte *)(uint)*(byte *)pwVar16;" (assignment_expression "pbVar24 = (byte *)(uint)*(byte *)pwVar16" identifier = (binary_expression "(byte *)(uint)*(byte *)pwVar16" (cast_expression "(byte *)(uint)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(byte *)pwVar16" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if (((word *)pbVar24 == unaff_s5) &&\n         (piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))(),\n         (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0)) {\n        piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n        unaff_s5 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n      }" if (parenthesized_expression "(((word *)pbVar24 == unaff_s5) &&\n         (piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))(),\n         (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0))" ( (binary_expression "((word *)pbVar24 == unaff_s5) &&\n         (piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))(),\n         (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0)" (parenthesized_expression "((word *)pbVar24 == unaff_s5)" ( (binary_expression "(word *)pbVar24 == unaff_s5" (cast_expression "(word *)pbVar24" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) == identifier) )) && (parenthesized_expression "(piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))(),\n         (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0)" ( (comma_expression "piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))(),\n         (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0" (assignment_expression "piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))()" identifier = (cast_expression "(int *)(**(code **)(pcStack_230 + -0x6290))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_230 + -0x6290))()" (parenthesized_expression "(**(code **)(pcStack_230 + -0x6290))" ( (pointer_expression "**(code **)(pcStack_230 + -0x6290)" * (pointer_expression "*(code **)(pcStack_230 + -0x6290)" * (cast_expression "(code **)(pcStack_230 + -0x6290)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6290)" ( (binary_expression "pcStack_230 + -0x6290" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) , (binary_expression "(*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0" (parenthesized_expression "(*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1)" ( (binary_expression "*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1" (pointer_expression "*(ushort *)(*piVar9 + (int)pbVar24 * 2)" * (cast_expression "(ushort *)(*piVar9 + (int)pbVar24 * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar9 + (int)pbVar24 * 2)" ( (binary_expression "*piVar9 + (int)pbVar24 * 2" (pointer_expression "*piVar9" * identifier) + (binary_expression "(int)pbVar24 * 2" (cast_expression "(int)pbVar24" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) & number_literal) )) != number_literal)) ))) )) (compound_statement "{\n        piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n        unaff_s5 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n      }" { (expression_statement "piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();" (assignment_expression "piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))()" identifier = (cast_expression "(int *)(**(code **)(pcStack_230 + -0x628c))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_230 + -0x628c))()" (parenthesized_expression "(**(code **)(pcStack_230 + -0x628c))" ( (pointer_expression "**(code **)(pcStack_230 + -0x628c)" * (pointer_expression "*(code **)(pcStack_230 + -0x628c)" * (cast_expression "(code **)(pcStack_230 + -0x628c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x628c)" ( (binary_expression "pcStack_230 + -0x628c" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "unaff_s5 = *(word **)(*piVar9 + (int)pbVar24 * 4);" (assignment_expression "unaff_s5 = *(word **)(*piVar9 + (int)pbVar24 * 4)" identifier = (pointer_expression "*(word **)(*piVar9 + (int)pbVar24 * 4)" * (cast_expression "(word **)(*piVar9 + (int)pbVar24 * 4)" ( (type_descriptor "word **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar9 + (int)pbVar24 * 4)" ( (binary_expression "*piVar9 + (int)pbVar24 * 4" (pointer_expression "*piVar9" * identifier) + (binary_expression "(int)pbVar24 * 4" (cast_expression "(int)pbVar24" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ))))) ;) })) (expression_statement "unaff_s6 = (word *)(int)(char)*pbStack_228;" (assignment_expression "unaff_s6 = (word *)(int)(char)*pbStack_228" identifier = (cast_expression "(word *)(int)(char)*pbStack_228" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)(char)*pbStack_228" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)*pbStack_228" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*pbStack_228" * identifier))))) ;) (expression_statement "unaff_s4 = (word *)(uint)*pbStack_228;" (assignment_expression "unaff_s4 = (word *)(uint)*pbStack_228" identifier = (binary_expression "(word *)(uint)*pbStack_228" (cast_expression "(word *)(uint)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * identifier)) ;) (if_statement "if (unaff_s4 == unaff_s6) {\n        piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))();\n        if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n          piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n          unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n          unaff_s6 = *(word **)unaff_s4;\n        }\n      }" if (parenthesized_expression "(unaff_s4 == unaff_s6)" ( (binary_expression "unaff_s4 == unaff_s6" identifier == identifier) )) (compound_statement "{\n        piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))();\n        if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n          piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n          unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n          unaff_s6 = *(word **)unaff_s4;\n        }\n      }" { (expression_statement "piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))();" (assignment_expression "piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))()" identifier = (cast_expression "(int *)(**(code **)(pcStack_230 + -0x6290))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_230 + -0x6290))()" (parenthesized_expression "(**(code **)(pcStack_230 + -0x6290))" ( (pointer_expression "**(code **)(pcStack_230 + -0x6290)" * (pointer_expression "*(code **)(pcStack_230 + -0x6290)" * (cast_expression "(code **)(pcStack_230 + -0x6290)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6290)" ( (binary_expression "pcStack_230 + -0x6290" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (if_statement "if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n          piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n          unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n          unaff_s6 = *(word **)unaff_s4;\n        }" if (parenthesized_expression "((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0)" ( (binary_expression "(*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0" (parenthesized_expression "(*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1)" ( (binary_expression "*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1" (pointer_expression "*(ushort *)(*piVar9 + (int)unaff_s4 * 2)" * (cast_expression "(ushort *)(*piVar9 + (int)unaff_s4 * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar9 + (int)unaff_s4 * 2)" ( (binary_expression "*piVar9 + (int)unaff_s4 * 2" (pointer_expression "*piVar9" * identifier) + (binary_expression "(int)unaff_s4 * 2" (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n          piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n          unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n          unaff_s6 = *(word **)unaff_s4;\n        }" { (expression_statement "piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();" (assignment_expression "piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))()" identifier = (cast_expression "(int *)(**(code **)(pcStack_230 + -0x628c))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_230 + -0x628c))()" (parenthesized_expression "(**(code **)(pcStack_230 + -0x628c))" ( (pointer_expression "**(code **)(pcStack_230 + -0x628c)" * (pointer_expression "*(code **)(pcStack_230 + -0x628c)" * (cast_expression "(code **)(pcStack_230 + -0x628c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x628c)" ( (binary_expression "pcStack_230 + -0x628c" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);" (assignment_expression "unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4)" identifier = (cast_expression "(word *)(*piVar9 + (int)unaff_s4 * 4)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar9 + (int)unaff_s4 * 4)" ( (binary_expression "*piVar9 + (int)unaff_s4 * 4" (pointer_expression "*piVar9" * identifier) + (binary_expression "(int)unaff_s4 * 4" (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) ;) (expression_statement "unaff_s6 = *(word **)unaff_s4;" (assignment_expression "unaff_s6 = *(word **)unaff_s4" identifier = (pointer_expression "*(word **)unaff_s4" * (cast_expression "(word **)unaff_s4" ( (type_descriptor "word **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) })) })) (expression_statement "pwVar15 = unaff_s3;" (assignment_expression "pwVar15 = unaff_s3" identifier = identifier) ;) (expression_statement "pcVar23 = pcStack_230;" (assignment_expression "pcVar23 = pcStack_230" identifier = identifier) ;) (if_statement "if (unaff_s5 == unaff_s6) {\n        iVar13 = (**(code **)(pcStack_230 + -0x6188))(pbStack_228,pwVar16);\n        goto LAB_000fc280;\n      }" if (parenthesized_expression "(unaff_s5 == unaff_s6)" ( (binary_expression "unaff_s5 == unaff_s6" identifier == identifier) )) (compound_statement "{\n        iVar13 = (**(code **)(pcStack_230 + -0x6188))(pbStack_228,pwVar16);\n        goto LAB_000fc280;\n      }" { (expression_statement "iVar13 = (**(code **)(pcStack_230 + -0x6188))(pbStack_228,pwVar16);" (assignment_expression "iVar13 = (**(code **)(pcStack_230 + -0x6188))(pbStack_228,pwVar16)" identifier = (call_expression "(**(code **)(pcStack_230 + -0x6188))(pbStack_228,pwVar16)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x6188))" ( (pointer_expression "**(code **)(pcStack_230 + -0x6188)" * (pointer_expression "*(code **)(pcStack_230 + -0x6188)" * (cast_expression "(code **)(pcStack_230 + -0x6188)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6188)" ( (binary_expression "pcStack_230 + -0x6188" identifier + number_literal) ))))) )) (argument_list "(pbStack_228,pwVar16)" ( identifier , identifier )))) ;) (goto_statement "goto LAB_000fc280;" goto statement_identifier ;) })) }) (else_clause "else {\n      uVar4 = (**(code **)(pcStack_230 + -0x6060))();\n      if ((1 < uVar4) && (unaff_s6 = (word *)&uStack_1ec, **(int **)(pcStack_230 + -0x6728) == 0)) {\n        unaff_s8 = &pbStack_1f4;\n        unaff_s7 = (word *)&iStack_1fc;\n        unaff_s5 = (word *)&iStack_1f8;\n        pwStack_214 = pwVar16;\n        pwStack_208 = unaff_s3;\n        do {\n          pwStack_210 = (word *)(**(code **)(pcStack_230 + -0x6084))\n                                          (unaff_s7,pwStack_214,unaff_s4,unaff_s8);\n          pwVar15 = unaff_s3;\n          iVar13 = (**(code **)(pcStack_230 + -0x6084))(unaff_s5,pbStack_228,unaff_s3,unaff_s6);\n          pcVar23 = pcStack_230;\n          if (pwStack_210 == (word *)0x0) {\n            if (iVar13 == 0) goto LAB_000fbbb0;\nLAB_000fbe6c:\n            if (iVar13 + 2U < 2) goto LAB_000fbdb4;\n            iStack_204 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc);\n            iStack_1fc = iStack_204;\n            iStack_1f8 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8);\n            pwStack_214 = (word *)((int)pwStack_214 + (int)pwStack_210);\n            pbStack_228 = pbStack_228 + (int)pwStack_210;\n            pwStack_208 = (word *)((int)pwStack_208 - (int)pwStack_210);\n            if ((((iStack_204 != 0x2d) && (iStack_204 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))) && (iStack_204 != iStack_1f8))\n            goto code_r0x000fbef4;\n          }\n          else {\n            if ((word *)0x1 < pwStack_210 + 1) goto LAB_000fbe6c;\nLAB_000fbdb4:\n            bVar2 = *(byte *)pwStack_214;\n            if (((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||\n               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))) goto LAB_000fbb0c;\n            pwStack_214 = (word *)((int)pwStack_214 + 1);\n            pbStack_228 = pbStack_228 + 1;\n            pwStack_208 = (word *)((int)pwStack_208 + -1);\n          }\n          iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n          pcVar23 = pcStack_230;\n          if (pwStack_208 == (word *)0x0) goto LAB_000fbbb4;\n        } while( true );\n      }\n      unaff_s7 = (word *)&DAT_0000002d;\n      unaff_s8 = (byte **)0x5f;\n      pwStack_208 = (word *)((int)pwVar16 + (int)unaff_s3);\n      unaff_s4 = pwVar16;\n      pcVar23 = pcStack_230;\n      while( true ) {\n        unaff_s3 = (word *)(int)(char)*(byte *)unaff_s4;\n        pbVar24 = (byte *)(uint)*(byte *)unaff_s4;\n        pwStack_214 = unaff_s3;\n        if (((word *)pbVar24 == unaff_s3) &&\n           (piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))(), pcVar23 = pcStack_230,\n           (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0)) {\n          piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n          pwStack_214 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n          pcVar23 = pcStack_230;\n        }\n        unaff_s5 = (word *)(int)(char)*pbStack_228;\n        unaff_s6 = (word *)(uint)*pbStack_228;\n        pwStack_210 = unaff_s5;\n        if (unaff_s6 == unaff_s5) {\n          piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))();\n          pcVar23 = pcStack_230;\n          if ((*(ushort *)(*piVar9 + (int)unaff_s6 * 2) & 1) != 0) {\n            piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n            unaff_s6 = (word *)(*piVar9 + (int)unaff_s6 * 4);\n            pwStack_210 = *(word **)unaff_s6;\n            pcVar23 = pcStack_230;\n          }\n        }\n        if ((((unaff_s3 != (word *)&DAT_0000002d) && (unaff_s3 != (word *)0x5f)) ||\n            ((unaff_s5 != (word *)&DAT_0000002d && (unaff_s5 != (word *)0x5f)))) &&\n           (pwStack_214 != pwStack_210)) break;\n        unaff_s4 = (word *)((int)unaff_s4 + 1);\n        pbStack_228 = pbStack_228 + 1;\n        iVar13 = *(int *)(pcVar23 + -0x7fd4);\n        if (unaff_s4 == pwStack_208) goto LAB_000fbbb4;\n      }\n    }" else (compound_statement "{\n      uVar4 = (**(code **)(pcStack_230 + -0x6060))();\n      if ((1 < uVar4) && (unaff_s6 = (word *)&uStack_1ec, **(int **)(pcStack_230 + -0x6728) == 0)) {\n        unaff_s8 = &pbStack_1f4;\n        unaff_s7 = (word *)&iStack_1fc;\n        unaff_s5 = (word *)&iStack_1f8;\n        pwStack_214 = pwVar16;\n        pwStack_208 = unaff_s3;\n        do {\n          pwStack_210 = (word *)(**(code **)(pcStack_230 + -0x6084))\n                                          (unaff_s7,pwStack_214,unaff_s4,unaff_s8);\n          pwVar15 = unaff_s3;\n          iVar13 = (**(code **)(pcStack_230 + -0x6084))(unaff_s5,pbStack_228,unaff_s3,unaff_s6);\n          pcVar23 = pcStack_230;\n          if (pwStack_210 == (word *)0x0) {\n            if (iVar13 == 0) goto LAB_000fbbb0;\nLAB_000fbe6c:\n            if (iVar13 + 2U < 2) goto LAB_000fbdb4;\n            iStack_204 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc);\n            iStack_1fc = iStack_204;\n            iStack_1f8 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8);\n            pwStack_214 = (word *)((int)pwStack_214 + (int)pwStack_210);\n            pbStack_228 = pbStack_228 + (int)pwStack_210;\n            pwStack_208 = (word *)((int)pwStack_208 - (int)pwStack_210);\n            if ((((iStack_204 != 0x2d) && (iStack_204 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))) && (iStack_204 != iStack_1f8))\n            goto code_r0x000fbef4;\n          }\n          else {\n            if ((word *)0x1 < pwStack_210 + 1) goto LAB_000fbe6c;\nLAB_000fbdb4:\n            bVar2 = *(byte *)pwStack_214;\n            if (((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||\n               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))) goto LAB_000fbb0c;\n            pwStack_214 = (word *)((int)pwStack_214 + 1);\n            pbStack_228 = pbStack_228 + 1;\n            pwStack_208 = (word *)((int)pwStack_208 + -1);\n          }\n          iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n          pcVar23 = pcStack_230;\n          if (pwStack_208 == (word *)0x0) goto LAB_000fbbb4;\n        } while( true );\n      }\n      unaff_s7 = (word *)&DAT_0000002d;\n      unaff_s8 = (byte **)0x5f;\n      pwStack_208 = (word *)((int)pwVar16 + (int)unaff_s3);\n      unaff_s4 = pwVar16;\n      pcVar23 = pcStack_230;\n      while( true ) {\n        unaff_s3 = (word *)(int)(char)*(byte *)unaff_s4;\n        pbVar24 = (byte *)(uint)*(byte *)unaff_s4;\n        pwStack_214 = unaff_s3;\n        if (((word *)pbVar24 == unaff_s3) &&\n           (piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))(), pcVar23 = pcStack_230,\n           (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0)) {\n          piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n          pwStack_214 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n          pcVar23 = pcStack_230;\n        }\n        unaff_s5 = (word *)(int)(char)*pbStack_228;\n        unaff_s6 = (word *)(uint)*pbStack_228;\n        pwStack_210 = unaff_s5;\n        if (unaff_s6 == unaff_s5) {\n          piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))();\n          pcVar23 = pcStack_230;\n          if ((*(ushort *)(*piVar9 + (int)unaff_s6 * 2) & 1) != 0) {\n            piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n            unaff_s6 = (word *)(*piVar9 + (int)unaff_s6 * 4);\n            pwStack_210 = *(word **)unaff_s6;\n            pcVar23 = pcStack_230;\n          }\n        }\n        if ((((unaff_s3 != (word *)&DAT_0000002d) && (unaff_s3 != (word *)0x5f)) ||\n            ((unaff_s5 != (word *)&DAT_0000002d && (unaff_s5 != (word *)0x5f)))) &&\n           (pwStack_214 != pwStack_210)) break;\n        unaff_s4 = (word *)((int)unaff_s4 + 1);\n        pbStack_228 = pbStack_228 + 1;\n        iVar13 = *(int *)(pcVar23 + -0x7fd4);\n        if (unaff_s4 == pwStack_208) goto LAB_000fbbb4;\n      }\n    }" { (expression_statement "uVar4 = (**(code **)(pcStack_230 + -0x6060))();" (assignment_expression "uVar4 = (**(code **)(pcStack_230 + -0x6060))()" identifier = (call_expression "(**(code **)(pcStack_230 + -0x6060))()" (parenthesized_expression "(**(code **)(pcStack_230 + -0x6060))" ( (pointer_expression "**(code **)(pcStack_230 + -0x6060)" * (pointer_expression "*(code **)(pcStack_230 + -0x6060)" * (cast_expression "(code **)(pcStack_230 + -0x6060)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6060)" ( (binary_expression "pcStack_230 + -0x6060" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (if_statement "if ((1 < uVar4) && (unaff_s6 = (word *)&uStack_1ec, **(int **)(pcStack_230 + -0x6728) == 0)) {\n        unaff_s8 = &pbStack_1f4;\n        unaff_s7 = (word *)&iStack_1fc;\n        unaff_s5 = (word *)&iStack_1f8;\n        pwStack_214 = pwVar16;\n        pwStack_208 = unaff_s3;\n        do {\n          pwStack_210 = (word *)(**(code **)(pcStack_230 + -0x6084))\n                                          (unaff_s7,pwStack_214,unaff_s4,unaff_s8);\n          pwVar15 = unaff_s3;\n          iVar13 = (**(code **)(pcStack_230 + -0x6084))(unaff_s5,pbStack_228,unaff_s3,unaff_s6);\n          pcVar23 = pcStack_230;\n          if (pwStack_210 == (word *)0x0) {\n            if (iVar13 == 0) goto LAB_000fbbb0;\nLAB_000fbe6c:\n            if (iVar13 + 2U < 2) goto LAB_000fbdb4;\n            iStack_204 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc);\n            iStack_1fc = iStack_204;\n            iStack_1f8 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8);\n            pwStack_214 = (word *)((int)pwStack_214 + (int)pwStack_210);\n            pbStack_228 = pbStack_228 + (int)pwStack_210;\n            pwStack_208 = (word *)((int)pwStack_208 - (int)pwStack_210);\n            if ((((iStack_204 != 0x2d) && (iStack_204 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))) && (iStack_204 != iStack_1f8))\n            goto code_r0x000fbef4;\n          }\n          else {\n            if ((word *)0x1 < pwStack_210 + 1) goto LAB_000fbe6c;\nLAB_000fbdb4:\n            bVar2 = *(byte *)pwStack_214;\n            if (((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||\n               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))) goto LAB_000fbb0c;\n            pwStack_214 = (word *)((int)pwStack_214 + 1);\n            pbStack_228 = pbStack_228 + 1;\n            pwStack_208 = (word *)((int)pwStack_208 + -1);\n          }\n          iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n          pcVar23 = pcStack_230;\n          if (pwStack_208 == (word *)0x0) goto LAB_000fbbb4;\n        } while( true );\n      }" if (parenthesized_expression "((1 < uVar4) && (unaff_s6 = (word *)&uStack_1ec, **(int **)(pcStack_230 + -0x6728) == 0))" ( (binary_expression "(1 < uVar4) && (unaff_s6 = (word *)&uStack_1ec, **(int **)(pcStack_230 + -0x6728) == 0)" (parenthesized_expression "(1 < uVar4)" ( (binary_expression "1 < uVar4" number_literal < identifier) )) && (parenthesized_expression "(unaff_s6 = (word *)&uStack_1ec, **(int **)(pcStack_230 + -0x6728) == 0)" ( (comma_expression "unaff_s6 = (word *)&uStack_1ec, **(int **)(pcStack_230 + -0x6728) == 0" (assignment_expression "unaff_s6 = (word *)&uStack_1ec" identifier = (cast_expression "(word *)&uStack_1ec" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&uStack_1ec" & identifier))) , (binary_expression "**(int **)(pcStack_230 + -0x6728) == 0" (pointer_expression "**(int **)(pcStack_230 + -0x6728)" * (pointer_expression "*(int **)(pcStack_230 + -0x6728)" * (cast_expression "(int **)(pcStack_230 + -0x6728)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6728)" ( (binary_expression "pcStack_230 + -0x6728" identifier + number_literal) ))))) == number_literal)) ))) )) (compound_statement "{\n        unaff_s8 = &pbStack_1f4;\n        unaff_s7 = (word *)&iStack_1fc;\n        unaff_s5 = (word *)&iStack_1f8;\n        pwStack_214 = pwVar16;\n        pwStack_208 = unaff_s3;\n        do {\n          pwStack_210 = (word *)(**(code **)(pcStack_230 + -0x6084))\n                                          (unaff_s7,pwStack_214,unaff_s4,unaff_s8);\n          pwVar15 = unaff_s3;\n          iVar13 = (**(code **)(pcStack_230 + -0x6084))(unaff_s5,pbStack_228,unaff_s3,unaff_s6);\n          pcVar23 = pcStack_230;\n          if (pwStack_210 == (word *)0x0) {\n            if (iVar13 == 0) goto LAB_000fbbb0;\nLAB_000fbe6c:\n            if (iVar13 + 2U < 2) goto LAB_000fbdb4;\n            iStack_204 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc);\n            iStack_1fc = iStack_204;\n            iStack_1f8 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8);\n            pwStack_214 = (word *)((int)pwStack_214 + (int)pwStack_210);\n            pbStack_228 = pbStack_228 + (int)pwStack_210;\n            pwStack_208 = (word *)((int)pwStack_208 - (int)pwStack_210);\n            if ((((iStack_204 != 0x2d) && (iStack_204 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))) && (iStack_204 != iStack_1f8))\n            goto code_r0x000fbef4;\n          }\n          else {\n            if ((word *)0x1 < pwStack_210 + 1) goto LAB_000fbe6c;\nLAB_000fbdb4:\n            bVar2 = *(byte *)pwStack_214;\n            if (((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||\n               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))) goto LAB_000fbb0c;\n            pwStack_214 = (word *)((int)pwStack_214 + 1);\n            pbStack_228 = pbStack_228 + 1;\n            pwStack_208 = (word *)((int)pwStack_208 + -1);\n          }\n          iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n          pcVar23 = pcStack_230;\n          if (pwStack_208 == (word *)0x0) goto LAB_000fbbb4;\n        } while( true );\n      }" { (expression_statement "unaff_s8 = &pbStack_1f4;" (assignment_expression "unaff_s8 = &pbStack_1f4" identifier = (pointer_expression "&pbStack_1f4" & identifier)) ;) (expression_statement "unaff_s7 = (word *)&iStack_1fc;" (assignment_expression "unaff_s7 = (word *)&iStack_1fc" identifier = (cast_expression "(word *)&iStack_1fc" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&iStack_1fc" & identifier))) ;) (expression_statement "unaff_s5 = (word *)&iStack_1f8;" (assignment_expression "unaff_s5 = (word *)&iStack_1f8" identifier = (cast_expression "(word *)&iStack_1f8" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&iStack_1f8" & identifier))) ;) (expression_statement "pwStack_214 = pwVar16;" (assignment_expression "pwStack_214 = pwVar16" identifier = identifier) ;) (expression_statement "pwStack_208 = unaff_s3;" (assignment_expression "pwStack_208 = unaff_s3" identifier = identifier) ;) (do_statement "do {\n          pwStack_210 = (word *)(**(code **)(pcStack_230 + -0x6084))\n                                          (unaff_s7,pwStack_214,unaff_s4,unaff_s8);\n          pwVar15 = unaff_s3;\n          iVar13 = (**(code **)(pcStack_230 + -0x6084))(unaff_s5,pbStack_228,unaff_s3,unaff_s6);\n          pcVar23 = pcStack_230;\n          if (pwStack_210 == (word *)0x0) {\n            if (iVar13 == 0) goto LAB_000fbbb0;\nLAB_000fbe6c:\n            if (iVar13 + 2U < 2) goto LAB_000fbdb4;\n            iStack_204 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc);\n            iStack_1fc = iStack_204;\n            iStack_1f8 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8);\n            pwStack_214 = (word *)((int)pwStack_214 + (int)pwStack_210);\n            pbStack_228 = pbStack_228 + (int)pwStack_210;\n            pwStack_208 = (word *)((int)pwStack_208 - (int)pwStack_210);\n            if ((((iStack_204 != 0x2d) && (iStack_204 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))) && (iStack_204 != iStack_1f8))\n            goto code_r0x000fbef4;\n          }\n          else {\n            if ((word *)0x1 < pwStack_210 + 1) goto LAB_000fbe6c;\nLAB_000fbdb4:\n            bVar2 = *(byte *)pwStack_214;\n            if (((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||\n               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))) goto LAB_000fbb0c;\n            pwStack_214 = (word *)((int)pwStack_214 + 1);\n            pbStack_228 = pbStack_228 + 1;\n            pwStack_208 = (word *)((int)pwStack_208 + -1);\n          }\n          iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n          pcVar23 = pcStack_230;\n          if (pwStack_208 == (word *)0x0) goto LAB_000fbbb4;\n        } while( true );" do (compound_statement "{\n          pwStack_210 = (word *)(**(code **)(pcStack_230 + -0x6084))\n                                          (unaff_s7,pwStack_214,unaff_s4,unaff_s8);\n          pwVar15 = unaff_s3;\n          iVar13 = (**(code **)(pcStack_230 + -0x6084))(unaff_s5,pbStack_228,unaff_s3,unaff_s6);\n          pcVar23 = pcStack_230;\n          if (pwStack_210 == (word *)0x0) {\n            if (iVar13 == 0) goto LAB_000fbbb0;\nLAB_000fbe6c:\n            if (iVar13 + 2U < 2) goto LAB_000fbdb4;\n            iStack_204 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc);\n            iStack_1fc = iStack_204;\n            iStack_1f8 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8);\n            pwStack_214 = (word *)((int)pwStack_214 + (int)pwStack_210);\n            pbStack_228 = pbStack_228 + (int)pwStack_210;\n            pwStack_208 = (word *)((int)pwStack_208 - (int)pwStack_210);\n            if ((((iStack_204 != 0x2d) && (iStack_204 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))) && (iStack_204 != iStack_1f8))\n            goto code_r0x000fbef4;\n          }\n          else {\n            if ((word *)0x1 < pwStack_210 + 1) goto LAB_000fbe6c;\nLAB_000fbdb4:\n            bVar2 = *(byte *)pwStack_214;\n            if (((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||\n               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))) goto LAB_000fbb0c;\n            pwStack_214 = (word *)((int)pwStack_214 + 1);\n            pbStack_228 = pbStack_228 + 1;\n            pwStack_208 = (word *)((int)pwStack_208 + -1);\n          }\n          iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n          pcVar23 = pcStack_230;\n          if (pwStack_208 == (word *)0x0) goto LAB_000fbbb4;\n        }" { (expression_statement "pwStack_210 = (word *)(**(code **)(pcStack_230 + -0x6084))\n                                          (unaff_s7,pwStack_214,unaff_s4,unaff_s8);" (assignment_expression "pwStack_210 = (word *)(**(code **)(pcStack_230 + -0x6084))\n                                          (unaff_s7,pwStack_214,unaff_s4,unaff_s8)" identifier = (cast_expression "(word *)(**(code **)(pcStack_230 + -0x6084))\n                                          (unaff_s7,pwStack_214,unaff_s4,unaff_s8)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_230 + -0x6084))\n                                          (unaff_s7,pwStack_214,unaff_s4,unaff_s8)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x6084))" ( (pointer_expression "**(code **)(pcStack_230 + -0x6084)" * (pointer_expression "*(code **)(pcStack_230 + -0x6084)" * (cast_expression "(code **)(pcStack_230 + -0x6084)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6084)" ( (binary_expression "pcStack_230 + -0x6084" identifier + number_literal) ))))) )) (argument_list "(unaff_s7,pwStack_214,unaff_s4,unaff_s8)" ( identifier , identifier , identifier , identifier ))))) ;) (expression_statement "pwVar15 = unaff_s3;" (assignment_expression "pwVar15 = unaff_s3" identifier = identifier) ;) (expression_statement "iVar13 = (**(code **)(pcStack_230 + -0x6084))(unaff_s5,pbStack_228,unaff_s3,unaff_s6);" (assignment_expression "iVar13 = (**(code **)(pcStack_230 + -0x6084))(unaff_s5,pbStack_228,unaff_s3,unaff_s6)" identifier = (call_expression "(**(code **)(pcStack_230 + -0x6084))(unaff_s5,pbStack_228,unaff_s3,unaff_s6)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x6084))" ( (pointer_expression "**(code **)(pcStack_230 + -0x6084)" * (pointer_expression "*(code **)(pcStack_230 + -0x6084)" * (cast_expression "(code **)(pcStack_230 + -0x6084)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6084)" ( (binary_expression "pcStack_230 + -0x6084" identifier + number_literal) ))))) )) (argument_list "(unaff_s5,pbStack_228,unaff_s3,unaff_s6)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "pcVar23 = pcStack_230;" (assignment_expression "pcVar23 = pcStack_230" identifier = identifier) ;) (if_statement "if (pwStack_210 == (word *)0x0) {\n            if (iVar13 == 0) goto LAB_000fbbb0;\nLAB_000fbe6c:\n            if (iVar13 + 2U < 2) goto LAB_000fbdb4;\n            iStack_204 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc);\n            iStack_1fc = iStack_204;\n            iStack_1f8 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8);\n            pwStack_214 = (word *)((int)pwStack_214 + (int)pwStack_210);\n            pbStack_228 = pbStack_228 + (int)pwStack_210;\n            pwStack_208 = (word *)((int)pwStack_208 - (int)pwStack_210);\n            if ((((iStack_204 != 0x2d) && (iStack_204 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))) && (iStack_204 != iStack_1f8))\n            goto code_r0x000fbef4;\n          }\n          else {\n            if ((word *)0x1 < pwStack_210 + 1) goto LAB_000fbe6c;\nLAB_000fbdb4:\n            bVar2 = *(byte *)pwStack_214;\n            if (((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||\n               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))) goto LAB_000fbb0c;\n            pwStack_214 = (word *)((int)pwStack_214 + 1);\n            pbStack_228 = pbStack_228 + 1;\n            pwStack_208 = (word *)((int)pwStack_208 + -1);\n          }" if (parenthesized_expression "(pwStack_210 == (word *)0x0)" ( (binary_expression "pwStack_210 == (word *)0x0" identifier == (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            if (iVar13 == 0) goto LAB_000fbbb0;\nLAB_000fbe6c:\n            if (iVar13 + 2U < 2) goto LAB_000fbdb4;\n            iStack_204 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc);\n            iStack_1fc = iStack_204;\n            iStack_1f8 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8);\n            pwStack_214 = (word *)((int)pwStack_214 + (int)pwStack_210);\n            pbStack_228 = pbStack_228 + (int)pwStack_210;\n            pwStack_208 = (word *)((int)pwStack_208 - (int)pwStack_210);\n            if ((((iStack_204 != 0x2d) && (iStack_204 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))) && (iStack_204 != iStack_1f8))\n            goto code_r0x000fbef4;\n          }" { (if_statement "if (iVar13 == 0) goto LAB_000fbbb0;" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000fbbb0;" goto statement_identifier ;)) (labeled_statement "LAB_000fbe6c:\n            if (iVar13 + 2U < 2) goto LAB_000fbdb4;" statement_identifier : (if_statement "if (iVar13 + 2U < 2) goto LAB_000fbdb4;" if (parenthesized_expression "(iVar13 + 2U < 2)" ( (binary_expression "iVar13 + 2U < 2" (binary_expression "iVar13 + 2U" identifier + number_literal) < number_literal) )) (goto_statement "goto LAB_000fbdb4;" goto statement_identifier ;))) (expression_statement "iStack_204 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc);" (assignment_expression "iStack_204 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc)" identifier = (call_expression "(**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x5fc8))" ( (pointer_expression "**(code **)(pcStack_230 + -0x5fc8)" * (pointer_expression "*(code **)(pcStack_230 + -0x5fc8)" * (cast_expression "(code **)(pcStack_230 + -0x5fc8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x5fc8)" ( (binary_expression "pcStack_230 + -0x5fc8" identifier + number_literal) ))))) )) (argument_list "(iStack_1fc)" ( identifier )))) ;) (expression_statement "iStack_1fc = iStack_204;" (assignment_expression "iStack_1fc = iStack_204" identifier = identifier) ;) (expression_statement "iStack_1f8 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8);" (assignment_expression "iStack_1f8 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8)" identifier = (call_expression "(**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x5fc8))" ( (pointer_expression "**(code **)(pcStack_230 + -0x5fc8)" * (pointer_expression "*(code **)(pcStack_230 + -0x5fc8)" * (cast_expression "(code **)(pcStack_230 + -0x5fc8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x5fc8)" ( (binary_expression "pcStack_230 + -0x5fc8" identifier + number_literal) ))))) )) (argument_list "(iStack_1f8)" ( identifier )))) ;) (expression_statement "pwStack_214 = (word *)((int)pwStack_214 + (int)pwStack_210);" (assignment_expression "pwStack_214 = (word *)((int)pwStack_214 + (int)pwStack_210)" identifier = (cast_expression "(word *)((int)pwStack_214 + (int)pwStack_210)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwStack_214 + (int)pwStack_210)" ( (binary_expression "(int)pwStack_214 + (int)pwStack_210" (cast_expression "(int)pwStack_214" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pwStack_210" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pbStack_228 = pbStack_228 + (int)pwStack_210;" (assignment_expression "pbStack_228 = pbStack_228 + (int)pwStack_210" identifier = (binary_expression "pbStack_228 + (int)pwStack_210" identifier + (cast_expression "(int)pwStack_210" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pwStack_208 = (word *)((int)pwStack_208 - (int)pwStack_210);" (assignment_expression "pwStack_208 = (word *)((int)pwStack_208 - (int)pwStack_210)" identifier = (cast_expression "(word *)((int)pwStack_208 - (int)pwStack_210)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwStack_208 - (int)pwStack_210)" ( (binary_expression "(int)pwStack_208 - (int)pwStack_210" (cast_expression "(int)pwStack_208" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pwStack_210" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (if_statement "if ((((iStack_204 != 0x2d) && (iStack_204 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))) && (iStack_204 != iStack_1f8))\n            goto code_r0x000fbef4;" if (parenthesized_expression "((((iStack_204 != 0x2d) && (iStack_204 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))) && (iStack_204 != iStack_1f8))" ( (binary_expression "(((iStack_204 != 0x2d) && (iStack_204 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))) && (iStack_204 != iStack_1f8)" (parenthesized_expression "(((iStack_204 != 0x2d) && (iStack_204 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f))))" ( (binary_expression "((iStack_204 != 0x2d) && (iStack_204 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))" (parenthesized_expression "((iStack_204 != 0x2d) && (iStack_204 != 0x5f))" ( (binary_expression "(iStack_204 != 0x2d) && (iStack_204 != 0x5f)" (parenthesized_expression "(iStack_204 != 0x2d)" ( (binary_expression "iStack_204 != 0x2d" identifier != number_literal) )) && (parenthesized_expression "(iStack_204 != 0x5f)" ( (binary_expression "iStack_204 != 0x5f" identifier != number_literal) ))) )) || (parenthesized_expression "((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))" ( (parenthesized_expression "(iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f))" ( (binary_expression "iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)" (binary_expression "iStack_1f8 != 0x2d" identifier != number_literal) && (parenthesized_expression "(iStack_1f8 != 0x5f)" ( (binary_expression "iStack_1f8 != 0x5f" identifier != number_literal) ))) )) ))) )) && (parenthesized_expression "(iStack_204 != iStack_1f8)" ( (binary_expression "iStack_204 != iStack_1f8" identifier != identifier) ))) )) (goto_statement "goto code_r0x000fbef4;" goto statement_identifier ;)) }) (else_clause "else {\n            if ((word *)0x1 < pwStack_210 + 1) goto LAB_000fbe6c;\nLAB_000fbdb4:\n            bVar2 = *(byte *)pwStack_214;\n            if (((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||\n               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))) goto LAB_000fbb0c;\n            pwStack_214 = (word *)((int)pwStack_214 + 1);\n            pbStack_228 = pbStack_228 + 1;\n            pwStack_208 = (word *)((int)pwStack_208 + -1);\n          }" else (compound_statement "{\n            if ((word *)0x1 < pwStack_210 + 1) goto LAB_000fbe6c;\nLAB_000fbdb4:\n            bVar2 = *(byte *)pwStack_214;\n            if (((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||\n               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))) goto LAB_000fbb0c;\n            pwStack_214 = (word *)((int)pwStack_214 + 1);\n            pbStack_228 = pbStack_228 + 1;\n            pwStack_208 = (word *)((int)pwStack_208 + -1);\n          }" { (if_statement "if ((word *)0x1 < pwStack_210 + 1) goto LAB_000fbe6c;" if (parenthesized_expression "((word *)0x1 < pwStack_210 + 1)" ( (binary_expression "(word *)0x1 < pwStack_210 + 1" (cast_expression "(word *)0x1" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < (binary_expression "pwStack_210 + 1" identifier + number_literal)) )) (goto_statement "goto LAB_000fbe6c;" goto statement_identifier ;)) (labeled_statement "LAB_000fbdb4:\n            bVar2 = *(byte *)pwStack_214;" statement_identifier : (expression_statement "bVar2 = *(byte *)pwStack_214;" (assignment_expression "bVar2 = *(byte *)pwStack_214" identifier = (pointer_expression "*(byte *)pwStack_214" * (cast_expression "(byte *)pwStack_214" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;)) (if_statement "if (((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||\n               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))) goto LAB_000fbb0c;" if (parenthesized_expression "(((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||\n               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f))))" ( (binary_expression "((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||\n               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))" (parenthesized_expression "((bVar2 != *pbStack_228) || (bVar2 == 0x2d))" ( (binary_expression "(bVar2 != *pbStack_228) || (bVar2 == 0x2d)" (parenthesized_expression "(bVar2 != *pbStack_228)" ( (binary_expression "bVar2 != *pbStack_228" identifier != (pointer_expression "*pbStack_228" * identifier)) )) || (parenthesized_expression "(bVar2 == 0x2d)" ( (binary_expression "bVar2 == 0x2d" identifier == number_literal) ))) )) || (parenthesized_expression "((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))" ( (parenthesized_expression "(bVar2 == 0x5f && (*pbStack_228 == 0x5f))" ( (binary_expression "bVar2 == 0x5f && (*pbStack_228 == 0x5f)" (binary_expression "bVar2 == 0x5f" identifier == number_literal) && (parenthesized_expression "(*pbStack_228 == 0x5f)" ( (binary_expression "*pbStack_228 == 0x5f" (pointer_expression "*pbStack_228" * identifier) == number_literal) ))) )) ))) )) (goto_statement "goto LAB_000fbb0c;" goto statement_identifier ;)) (expression_statement "pwStack_214 = (word *)((int)pwStack_214 + 1);" (assignment_expression "pwStack_214 = (word *)((int)pwStack_214 + 1)" identifier = (cast_expression "(word *)((int)pwStack_214 + 1)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwStack_214 + 1)" ( (binary_expression "(int)pwStack_214 + 1" (cast_expression "(int)pwStack_214" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pbStack_228 = pbStack_228 + 1;" (assignment_expression "pbStack_228 = pbStack_228 + 1" identifier = (binary_expression "pbStack_228 + 1" identifier + number_literal)) ;) (expression_statement "pwStack_208 = (word *)((int)pwStack_208 + -1);" (assignment_expression "pwStack_208 = (word *)((int)pwStack_208 + -1)" identifier = (cast_expression "(word *)((int)pwStack_208 + -1)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwStack_208 + -1)" ( (binary_expression "(int)pwStack_208 + -1" (cast_expression "(int)pwStack_208" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }))) (expression_statement "iVar13 = *(int *)(pcStack_230 + -0x7fd4);" (assignment_expression "iVar13 = *(int *)(pcStack_230 + -0x7fd4)" identifier = (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) ))))) ;) (expression_statement "pcVar23 = pcStack_230;" (assignment_expression "pcVar23 = pcStack_230" identifier = identifier) ;) (if_statement "if (pwStack_208 == (word *)0x0) goto LAB_000fbbb4;" if (parenthesized_expression "(pwStack_208 == (word *)0x0)" ( (binary_expression "pwStack_208 == (word *)0x0" identifier == (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000fbbb4;" goto statement_identifier ;)) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "unaff_s7 = (word *)&DAT_0000002d;" (assignment_expression "unaff_s7 = (word *)&DAT_0000002d" identifier = (cast_expression "(word *)&DAT_0000002d" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_0000002d" & identifier))) ;) (expression_statement "unaff_s8 = (byte **)0x5f;" (assignment_expression "unaff_s8 = (byte **)0x5f" identifier = (cast_expression "(byte **)0x5f" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "pwStack_208 = (word *)((int)pwVar16 + (int)unaff_s3);" (assignment_expression "pwStack_208 = (word *)((int)pwVar16 + (int)unaff_s3)" identifier = (cast_expression "(word *)((int)pwVar16 + (int)unaff_s3)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwVar16 + (int)unaff_s3)" ( (binary_expression "(int)pwVar16 + (int)unaff_s3" (cast_expression "(int)pwVar16" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "unaff_s4 = pwVar16;" (assignment_expression "unaff_s4 = pwVar16" identifier = identifier) ;) (expression_statement "pcVar23 = pcStack_230;" (assignment_expression "pcVar23 = pcStack_230" identifier = identifier) ;) (while_statement "while( true ) {\n        unaff_s3 = (word *)(int)(char)*(byte *)unaff_s4;\n        pbVar24 = (byte *)(uint)*(byte *)unaff_s4;\n        pwStack_214 = unaff_s3;\n        if (((word *)pbVar24 == unaff_s3) &&\n           (piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))(), pcVar23 = pcStack_230,\n           (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0)) {\n          piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n          pwStack_214 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n          pcVar23 = pcStack_230;\n        }\n        unaff_s5 = (word *)(int)(char)*pbStack_228;\n        unaff_s6 = (word *)(uint)*pbStack_228;\n        pwStack_210 = unaff_s5;\n        if (unaff_s6 == unaff_s5) {\n          piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))();\n          pcVar23 = pcStack_230;\n          if ((*(ushort *)(*piVar9 + (int)unaff_s6 * 2) & 1) != 0) {\n            piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n            unaff_s6 = (word *)(*piVar9 + (int)unaff_s6 * 4);\n            pwStack_210 = *(word **)unaff_s6;\n            pcVar23 = pcStack_230;\n          }\n        }\n        if ((((unaff_s3 != (word *)&DAT_0000002d) && (unaff_s3 != (word *)0x5f)) ||\n            ((unaff_s5 != (word *)&DAT_0000002d && (unaff_s5 != (word *)0x5f)))) &&\n           (pwStack_214 != pwStack_210)) break;\n        unaff_s4 = (word *)((int)unaff_s4 + 1);\n        pbStack_228 = pbStack_228 + 1;\n        iVar13 = *(int *)(pcVar23 + -0x7fd4);\n        if (unaff_s4 == pwStack_208) goto LAB_000fbbb4;\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        unaff_s3 = (word *)(int)(char)*(byte *)unaff_s4;\n        pbVar24 = (byte *)(uint)*(byte *)unaff_s4;\n        pwStack_214 = unaff_s3;\n        if (((word *)pbVar24 == unaff_s3) &&\n           (piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))(), pcVar23 = pcStack_230,\n           (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0)) {\n          piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n          pwStack_214 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n          pcVar23 = pcStack_230;\n        }\n        unaff_s5 = (word *)(int)(char)*pbStack_228;\n        unaff_s6 = (word *)(uint)*pbStack_228;\n        pwStack_210 = unaff_s5;\n        if (unaff_s6 == unaff_s5) {\n          piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))();\n          pcVar23 = pcStack_230;\n          if ((*(ushort *)(*piVar9 + (int)unaff_s6 * 2) & 1) != 0) {\n            piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n            unaff_s6 = (word *)(*piVar9 + (int)unaff_s6 * 4);\n            pwStack_210 = *(word **)unaff_s6;\n            pcVar23 = pcStack_230;\n          }\n        }\n        if ((((unaff_s3 != (word *)&DAT_0000002d) && (unaff_s3 != (word *)0x5f)) ||\n            ((unaff_s5 != (word *)&DAT_0000002d && (unaff_s5 != (word *)0x5f)))) &&\n           (pwStack_214 != pwStack_210)) break;\n        unaff_s4 = (word *)((int)unaff_s4 + 1);\n        pbStack_228 = pbStack_228 + 1;\n        iVar13 = *(int *)(pcVar23 + -0x7fd4);\n        if (unaff_s4 == pwStack_208) goto LAB_000fbbb4;\n      }" { (expression_statement "unaff_s3 = (word *)(int)(char)*(byte *)unaff_s4;" (assignment_expression "unaff_s3 = (word *)(int)(char)*(byte *)unaff_s4" identifier = (cast_expression "(word *)(int)(char)*(byte *)unaff_s4" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)(char)*(byte *)unaff_s4" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)*(byte *)unaff_s4" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(byte *)unaff_s4" * (cast_expression "(byte *)unaff_s4" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))))) ;) (expression_statement "pbVar24 = (byte *)(uint)*(byte *)unaff_s4;" (assignment_expression "pbVar24 = (byte *)(uint)*(byte *)unaff_s4" identifier = (binary_expression "(byte *)(uint)*(byte *)unaff_s4" (cast_expression "(byte *)(uint)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(byte *)unaff_s4" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "pwStack_214 = unaff_s3;" (assignment_expression "pwStack_214 = unaff_s3" identifier = identifier) ;) (if_statement "if (((word *)pbVar24 == unaff_s3) &&\n           (piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))(), pcVar23 = pcStack_230,\n           (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0)) {\n          piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n          pwStack_214 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n          pcVar23 = pcStack_230;\n        }" if (parenthesized_expression "(((word *)pbVar24 == unaff_s3) &&\n           (piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))(), pcVar23 = pcStack_230,\n           (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0))" ( (binary_expression "((word *)pbVar24 == unaff_s3) &&\n           (piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))(), pcVar23 = pcStack_230,\n           (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0)" (parenthesized_expression "((word *)pbVar24 == unaff_s3)" ( (binary_expression "(word *)pbVar24 == unaff_s3" (cast_expression "(word *)pbVar24" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) == identifier) )) && (parenthesized_expression "(piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))(), pcVar23 = pcStack_230,\n           (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0)" ( (comma_expression "piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))(), pcVar23 = pcStack_230,\n           (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0" (assignment_expression "piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))()" identifier = (cast_expression "(int *)(**(code **)(pcVar23 + -0x6290))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar23 + -0x6290))()" (parenthesized_expression "(**(code **)(pcVar23 + -0x6290))" ( (pointer_expression "**(code **)(pcVar23 + -0x6290)" * (pointer_expression "*(code **)(pcVar23 + -0x6290)" * (cast_expression "(code **)(pcVar23 + -0x6290)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + -0x6290)" ( (binary_expression "pcVar23 + -0x6290" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) , (comma_expression "pcVar23 = pcStack_230,\n           (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0" (assignment_expression "pcVar23 = pcStack_230" identifier = identifier) , (binary_expression "(*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0" (parenthesized_expression "(*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1)" ( (binary_expression "*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1" (pointer_expression "*(ushort *)(*piVar9 + (int)pbVar24 * 2)" * (cast_expression "(ushort *)(*piVar9 + (int)pbVar24 * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar9 + (int)pbVar24 * 2)" ( (binary_expression "*piVar9 + (int)pbVar24 * 2" (pointer_expression "*piVar9" * identifier) + (binary_expression "(int)pbVar24 * 2" (cast_expression "(int)pbVar24" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) & number_literal) )) != number_literal))) ))) )) (compound_statement "{\n          piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n          pwStack_214 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n          pcVar23 = pcStack_230;\n        }" { (expression_statement "piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();" (assignment_expression "piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))()" identifier = (cast_expression "(int *)(**(code **)(pcStack_230 + -0x628c))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_230 + -0x628c))()" (parenthesized_expression "(**(code **)(pcStack_230 + -0x628c))" ( (pointer_expression "**(code **)(pcStack_230 + -0x628c)" * (pointer_expression "*(code **)(pcStack_230 + -0x628c)" * (cast_expression "(code **)(pcStack_230 + -0x628c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x628c)" ( (binary_expression "pcStack_230 + -0x628c" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "pwStack_214 = *(word **)(*piVar9 + (int)pbVar24 * 4);" (assignment_expression "pwStack_214 = *(word **)(*piVar9 + (int)pbVar24 * 4)" identifier = (pointer_expression "*(word **)(*piVar9 + (int)pbVar24 * 4)" * (cast_expression "(word **)(*piVar9 + (int)pbVar24 * 4)" ( (type_descriptor "word **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar9 + (int)pbVar24 * 4)" ( (binary_expression "*piVar9 + (int)pbVar24 * 4" (pointer_expression "*piVar9" * identifier) + (binary_expression "(int)pbVar24 * 4" (cast_expression "(int)pbVar24" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ))))) ;) (expression_statement "pcVar23 = pcStack_230;" (assignment_expression "pcVar23 = pcStack_230" identifier = identifier) ;) })) (expression_statement "unaff_s5 = (word *)(int)(char)*pbStack_228;" (assignment_expression "unaff_s5 = (word *)(int)(char)*pbStack_228" identifier = (cast_expression "(word *)(int)(char)*pbStack_228" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)(char)*pbStack_228" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)*pbStack_228" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*pbStack_228" * identifier))))) ;) (expression_statement "unaff_s6 = (word *)(uint)*pbStack_228;" (assignment_expression "unaff_s6 = (word *)(uint)*pbStack_228" identifier = (binary_expression "(word *)(uint)*pbStack_228" (cast_expression "(word *)(uint)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * identifier)) ;) (expression_statement "pwStack_210 = unaff_s5;" (assignment_expression "pwStack_210 = unaff_s5" identifier = identifier) ;) (if_statement "if (unaff_s6 == unaff_s5) {\n          piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))();\n          pcVar23 = pcStack_230;\n          if ((*(ushort *)(*piVar9 + (int)unaff_s6 * 2) & 1) != 0) {\n            piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n            unaff_s6 = (word *)(*piVar9 + (int)unaff_s6 * 4);\n            pwStack_210 = *(word **)unaff_s6;\n            pcVar23 = pcStack_230;\n          }\n        }" if (parenthesized_expression "(unaff_s6 == unaff_s5)" ( (binary_expression "unaff_s6 == unaff_s5" identifier == identifier) )) (compound_statement "{\n          piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))();\n          pcVar23 = pcStack_230;\n          if ((*(ushort *)(*piVar9 + (int)unaff_s6 * 2) & 1) != 0) {\n            piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n            unaff_s6 = (word *)(*piVar9 + (int)unaff_s6 * 4);\n            pwStack_210 = *(word **)unaff_s6;\n            pcVar23 = pcStack_230;\n          }\n        }" { (expression_statement "piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))();" (assignment_expression "piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))()" identifier = (cast_expression "(int *)(**(code **)(pcVar23 + -0x6290))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar23 + -0x6290))()" (parenthesized_expression "(**(code **)(pcVar23 + -0x6290))" ( (pointer_expression "**(code **)(pcVar23 + -0x6290)" * (pointer_expression "*(code **)(pcVar23 + -0x6290)" * (cast_expression "(code **)(pcVar23 + -0x6290)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + -0x6290)" ( (binary_expression "pcVar23 + -0x6290" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "pcVar23 = pcStack_230;" (assignment_expression "pcVar23 = pcStack_230" identifier = identifier) ;) (if_statement "if ((*(ushort *)(*piVar9 + (int)unaff_s6 * 2) & 1) != 0) {\n            piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n            unaff_s6 = (word *)(*piVar9 + (int)unaff_s6 * 4);\n            pwStack_210 = *(word **)unaff_s6;\n            pcVar23 = pcStack_230;\n          }" if (parenthesized_expression "((*(ushort *)(*piVar9 + (int)unaff_s6 * 2) & 1) != 0)" ( (binary_expression "(*(ushort *)(*piVar9 + (int)unaff_s6 * 2) & 1) != 0" (parenthesized_expression "(*(ushort *)(*piVar9 + (int)unaff_s6 * 2) & 1)" ( (binary_expression "*(ushort *)(*piVar9 + (int)unaff_s6 * 2) & 1" (pointer_expression "*(ushort *)(*piVar9 + (int)unaff_s6 * 2)" * (cast_expression "(ushort *)(*piVar9 + (int)unaff_s6 * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar9 + (int)unaff_s6 * 2)" ( (binary_expression "*piVar9 + (int)unaff_s6 * 2" (pointer_expression "*piVar9" * identifier) + (binary_expression "(int)unaff_s6 * 2" (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n            piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n            unaff_s6 = (word *)(*piVar9 + (int)unaff_s6 * 4);\n            pwStack_210 = *(word **)unaff_s6;\n            pcVar23 = pcStack_230;\n          }" { (expression_statement "piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();" (assignment_expression "piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))()" identifier = (cast_expression "(int *)(**(code **)(pcStack_230 + -0x628c))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_230 + -0x628c))()" (parenthesized_expression "(**(code **)(pcStack_230 + -0x628c))" ( (pointer_expression "**(code **)(pcStack_230 + -0x628c)" * (pointer_expression "*(code **)(pcStack_230 + -0x628c)" * (cast_expression "(code **)(pcStack_230 + -0x628c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x628c)" ( (binary_expression "pcStack_230 + -0x628c" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "unaff_s6 = (word *)(*piVar9 + (int)unaff_s6 * 4);" (assignment_expression "unaff_s6 = (word *)(*piVar9 + (int)unaff_s6 * 4)" identifier = (cast_expression "(word *)(*piVar9 + (int)unaff_s6 * 4)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar9 + (int)unaff_s6 * 4)" ( (binary_expression "*piVar9 + (int)unaff_s6 * 4" (pointer_expression "*piVar9" * identifier) + (binary_expression "(int)unaff_s6 * 4" (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) ;) (expression_statement "pwStack_210 = *(word **)unaff_s6;" (assignment_expression "pwStack_210 = *(word **)unaff_s6" identifier = (pointer_expression "*(word **)unaff_s6" * (cast_expression "(word **)unaff_s6" ( (type_descriptor "word **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "pcVar23 = pcStack_230;" (assignment_expression "pcVar23 = pcStack_230" identifier = identifier) ;) })) })) (if_statement "if ((((unaff_s3 != (word *)&DAT_0000002d) && (unaff_s3 != (word *)0x5f)) ||\n            ((unaff_s5 != (word *)&DAT_0000002d && (unaff_s5 != (word *)0x5f)))) &&\n           (pwStack_214 != pwStack_210)) break;" if (parenthesized_expression "((((unaff_s3 != (word *)&DAT_0000002d) && (unaff_s3 != (word *)0x5f)) ||\n            ((unaff_s5 != (word *)&DAT_0000002d && (unaff_s5 != (word *)0x5f)))) &&\n           (pwStack_214 != pwStack_210))" ( (binary_expression "(((unaff_s3 != (word *)&DAT_0000002d) && (unaff_s3 != (word *)0x5f)) ||\n            ((unaff_s5 != (word *)&DAT_0000002d && (unaff_s5 != (word *)0x5f)))) &&\n           (pwStack_214 != pwStack_210)" (parenthesized_expression "(((unaff_s3 != (word *)&DAT_0000002d) && (unaff_s3 != (word *)0x5f)) ||\n            ((unaff_s5 != (word *)&DAT_0000002d && (unaff_s5 != (word *)0x5f))))" ( (binary_expression "((unaff_s3 != (word *)&DAT_0000002d) && (unaff_s3 != (word *)0x5f)) ||\n            ((unaff_s5 != (word *)&DAT_0000002d && (unaff_s5 != (word *)0x5f)))" (parenthesized_expression "((unaff_s3 != (word *)&DAT_0000002d) && (unaff_s3 != (word *)0x5f))" ( (binary_expression "(unaff_s3 != (word *)&DAT_0000002d) && (unaff_s3 != (word *)0x5f)" (parenthesized_expression "(unaff_s3 != (word *)&DAT_0000002d)" ( (binary_expression "unaff_s3 != (word *)&DAT_0000002d" identifier != (cast_expression "(word *)&DAT_0000002d" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_0000002d" & identifier))) )) && (parenthesized_expression "(unaff_s3 != (word *)0x5f)" ( (binary_expression "unaff_s3 != (word *)0x5f" identifier != (cast_expression "(word *)0x5f" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) || (parenthesized_expression "((unaff_s5 != (word *)&DAT_0000002d && (unaff_s5 != (word *)0x5f)))" ( (parenthesized_expression "(unaff_s5 != (word *)&DAT_0000002d && (unaff_s5 != (word *)0x5f))" ( (binary_expression "unaff_s5 != (word *)&DAT_0000002d && (unaff_s5 != (word *)0x5f)" (binary_expression "unaff_s5 != (word *)&DAT_0000002d" identifier != (cast_expression "(word *)&DAT_0000002d" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_0000002d" & identifier))) && (parenthesized_expression "(unaff_s5 != (word *)0x5f)" ( (binary_expression "unaff_s5 != (word *)0x5f" identifier != (cast_expression "(word *)0x5f" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) ))) )) && (parenthesized_expression "(pwStack_214 != pwStack_210)" ( (binary_expression "pwStack_214 != pwStack_210" identifier != identifier) ))) )) (break_statement "break;" break ;)) (expression_statement "unaff_s4 = (word *)((int)unaff_s4 + 1);" (assignment_expression "unaff_s4 = (word *)((int)unaff_s4 + 1)" identifier = (cast_expression "(word *)((int)unaff_s4 + 1)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s4 + 1)" ( (binary_expression "(int)unaff_s4 + 1" (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pbStack_228 = pbStack_228 + 1;" (assignment_expression "pbStack_228 = pbStack_228 + 1" identifier = (binary_expression "pbStack_228 + 1" identifier + number_literal)) ;) (expression_statement "iVar13 = *(int *)(pcVar23 + -0x7fd4);" (assignment_expression "iVar13 = *(int *)(pcVar23 + -0x7fd4)" identifier = (pointer_expression "*(int *)(pcVar23 + -0x7fd4)" * (cast_expression "(int *)(pcVar23 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar23 + -0x7fd4)" ( (binary_expression "pcVar23 + -0x7fd4" identifier + number_literal) ))))) ;) (if_statement "if (unaff_s4 == pwStack_208) goto LAB_000fbbb4;" if (parenthesized_expression "(unaff_s4 == pwStack_208)" ( (binary_expression "unaff_s4 == pwStack_208" identifier == identifier) )) (goto_statement "goto LAB_000fbbb4;" goto statement_identifier ;)) })) }))) (goto_statement "goto LAB_000fbb0c;" goto statement_identifier ;) })) (if_statement "if (*(byte *)pwVar16 != *pbStack_228) goto LAB_000fbb0c;" if (parenthesized_expression "(*(byte *)pwVar16 != *pbStack_228)" ( (binary_expression "*(byte *)pwVar16 != *pbStack_228" (pointer_expression "*(byte *)pwVar16" * (cast_expression "(byte *)pwVar16" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) != (pointer_expression "*pbStack_228" * identifier)) )) (goto_statement "goto LAB_000fbb0c;" goto statement_identifier ;)) (expression_statement "pwVar15 = unaff_s3;" (assignment_expression "pwVar15 = unaff_s3" identifier = identifier) ;) (expression_statement "iVar13 = (**(code **)(pcStack_230 + -0x6238))(pbStack_228,pwVar16);" (assignment_expression "iVar13 = (**(code **)(pcStack_230 + -0x6238))(pbStack_228,pwVar16)" identifier = (call_expression "(**(code **)(pcStack_230 + -0x6238))(pbStack_228,pwVar16)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x6238))" ( (pointer_expression "**(code **)(pcStack_230 + -0x6238)" * (pointer_expression "*(code **)(pcStack_230 + -0x6238)" * (cast_expression "(code **)(pcStack_230 + -0x6238)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6238)" ( (binary_expression "pcStack_230 + -0x6238" identifier + number_literal) ))))) )) (argument_list "(pbStack_228,pwVar16)" ( identifier , identifier )))) ;) (labeled_statement "LAB_000fc280:\n  pcVar23 = pcStack_230;" statement_identifier : (expression_statement "pcVar23 = pcStack_230;" (assignment_expression "pcVar23 = pcStack_230" identifier = identifier) ;)) (if_statement "if (iVar13 != 0) goto LAB_000fbb0c;" if (parenthesized_expression "(iVar13 != 0)" ( (binary_expression "iVar13 != 0" identifier != number_literal) )) (goto_statement "goto LAB_000fbb0c;" goto statement_identifier ;)) (expression_statement "pcVar19 = *(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);" (assignment_expression "pcVar19 = *(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" identifier = (pointer_expression "*(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" * (cast_expression "(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" ( (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) )))) + number_literal) ))))) ;) (goto_statement "goto LAB_000fbbb8;" goto statement_identifier ;) (labeled_statement "LAB_000fc0a8:\n  pwStack_210 = (word *)(**(code **)(pcStack_230 + -0x6084))(unaff_s7,pwStack_214,unaff_s4,unaff_s8)\n  ;" statement_identifier : (expression_statement "pwStack_210 = (word *)(**(code **)(pcStack_230 + -0x6084))(unaff_s7,pwStack_214,unaff_s4,unaff_s8)\n  ;" (assignment_expression "pwStack_210 = (word *)(**(code **)(pcStack_230 + -0x6084))(unaff_s7,pwStack_214,unaff_s4,unaff_s8)" identifier = (cast_expression "(word *)(**(code **)(pcStack_230 + -0x6084))(unaff_s7,pwStack_214,unaff_s4,unaff_s8)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_230 + -0x6084))(unaff_s7,pwStack_214,unaff_s4,unaff_s8)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x6084))" ( (pointer_expression "**(code **)(pcStack_230 + -0x6084)" * (pointer_expression "*(code **)(pcStack_230 + -0x6084)" * (cast_expression "(code **)(pcStack_230 + -0x6084)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6084)" ( (binary_expression "pcStack_230 + -0x6084" identifier + number_literal) ))))) )) (argument_list "(unaff_s7,pwStack_214,unaff_s4,unaff_s8)" ( identifier , identifier , identifier , identifier ))))) ;)) (expression_statement "pwVar15 = unaff_s3;" (assignment_expression "pwVar15 = unaff_s3" identifier = identifier) ;) (expression_statement "iVar13 = (**(code **)(pcStack_230 + -0x6084))(unaff_s5,pbStack_228,unaff_s3,unaff_s6);" (assignment_expression "iVar13 = (**(code **)(pcStack_230 + -0x6084))(unaff_s5,pbStack_228,unaff_s3,unaff_s6)" identifier = (call_expression "(**(code **)(pcStack_230 + -0x6084))(unaff_s5,pbStack_228,unaff_s3,unaff_s6)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x6084))" ( (pointer_expression "**(code **)(pcStack_230 + -0x6084)" * (pointer_expression "*(code **)(pcStack_230 + -0x6084)" * (cast_expression "(code **)(pcStack_230 + -0x6084)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6084)" ( (binary_expression "pcStack_230 + -0x6084" identifier + number_literal) ))))) )) (argument_list "(unaff_s5,pbStack_228,unaff_s3,unaff_s6)" ( identifier , identifier , identifier , identifier )))) ;) (expression_statement "pcVar23 = pcStack_230;" (assignment_expression "pcVar23 = pcStack_230" identifier = identifier) ;) (if_statement "if (pwStack_210 == (word *)0x0) {\n    if (iVar13 == 0) goto LAB_000fbbb0;\nLAB_000fc100:\n    if (iVar13 + 2U < 2) goto LAB_000fc060;\n    iStack_204 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc);\n    iStack_1fc = iStack_204;\n    iStack_1f8 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8);\n    pcVar23 = pcStack_230;\n    if (iStack_204 != iStack_1f8) goto LAB_000fbb0c;\n    pwStack_214 = (word *)((int)pwStack_214 + (int)pwStack_210);\n    pbStack_228 = pbStack_228 + (int)pwStack_210;\n    pwStack_208 = (word *)((int)pwStack_208 - (int)pwStack_210);\n  }\n  else {\n    if ((word *)0x1 < pwStack_210 + 1) goto LAB_000fc100;\nLAB_000fc060:\n    if (*(byte *)pwStack_214 != *pbStack_228) goto LAB_000fbb0c;\n    pwStack_214 = (word *)((int)pwStack_214 + 1);\n    pbStack_228 = pbStack_228 + 1;\n    pwStack_208 = (word *)((int)pwStack_208 + -1);\n  }" if (parenthesized_expression "(pwStack_210 == (word *)0x0)" ( (binary_expression "pwStack_210 == (word *)0x0" identifier == (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (iVar13 == 0) goto LAB_000fbbb0;\nLAB_000fc100:\n    if (iVar13 + 2U < 2) goto LAB_000fc060;\n    iStack_204 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc);\n    iStack_1fc = iStack_204;\n    iStack_1f8 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8);\n    pcVar23 = pcStack_230;\n    if (iStack_204 != iStack_1f8) goto LAB_000fbb0c;\n    pwStack_214 = (word *)((int)pwStack_214 + (int)pwStack_210);\n    pbStack_228 = pbStack_228 + (int)pwStack_210;\n    pwStack_208 = (word *)((int)pwStack_208 - (int)pwStack_210);\n  }" { (if_statement "if (iVar13 == 0) goto LAB_000fbbb0;" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000fbbb0;" goto statement_identifier ;)) (labeled_statement "LAB_000fc100:\n    if (iVar13 + 2U < 2) goto LAB_000fc060;" statement_identifier : (if_statement "if (iVar13 + 2U < 2) goto LAB_000fc060;" if (parenthesized_expression "(iVar13 + 2U < 2)" ( (binary_expression "iVar13 + 2U < 2" (binary_expression "iVar13 + 2U" identifier + number_literal) < number_literal) )) (goto_statement "goto LAB_000fc060;" goto statement_identifier ;))) (expression_statement "iStack_204 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc);" (assignment_expression "iStack_204 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc)" identifier = (call_expression "(**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x5fc8))" ( (pointer_expression "**(code **)(pcStack_230 + -0x5fc8)" * (pointer_expression "*(code **)(pcStack_230 + -0x5fc8)" * (cast_expression "(code **)(pcStack_230 + -0x5fc8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x5fc8)" ( (binary_expression "pcStack_230 + -0x5fc8" identifier + number_literal) ))))) )) (argument_list "(iStack_1fc)" ( identifier )))) ;) (expression_statement "iStack_1fc = iStack_204;" (assignment_expression "iStack_1fc = iStack_204" identifier = identifier) ;) (expression_statement "iStack_1f8 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8);" (assignment_expression "iStack_1f8 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8)" identifier = (call_expression "(**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x5fc8))" ( (pointer_expression "**(code **)(pcStack_230 + -0x5fc8)" * (pointer_expression "*(code **)(pcStack_230 + -0x5fc8)" * (cast_expression "(code **)(pcStack_230 + -0x5fc8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x5fc8)" ( (binary_expression "pcStack_230 + -0x5fc8" identifier + number_literal) ))))) )) (argument_list "(iStack_1f8)" ( identifier )))) ;) (expression_statement "pcVar23 = pcStack_230;" (assignment_expression "pcVar23 = pcStack_230" identifier = identifier) ;) (if_statement "if (iStack_204 != iStack_1f8) goto LAB_000fbb0c;" if (parenthesized_expression "(iStack_204 != iStack_1f8)" ( (binary_expression "iStack_204 != iStack_1f8" identifier != identifier) )) (goto_statement "goto LAB_000fbb0c;" goto statement_identifier ;)) (expression_statement "pwStack_214 = (word *)((int)pwStack_214 + (int)pwStack_210);" (assignment_expression "pwStack_214 = (word *)((int)pwStack_214 + (int)pwStack_210)" identifier = (cast_expression "(word *)((int)pwStack_214 + (int)pwStack_210)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwStack_214 + (int)pwStack_210)" ( (binary_expression "(int)pwStack_214 + (int)pwStack_210" (cast_expression "(int)pwStack_214" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pwStack_210" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pbStack_228 = pbStack_228 + (int)pwStack_210;" (assignment_expression "pbStack_228 = pbStack_228 + (int)pwStack_210" identifier = (binary_expression "pbStack_228 + (int)pwStack_210" identifier + (cast_expression "(int)pwStack_210" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pwStack_208 = (word *)((int)pwStack_208 - (int)pwStack_210);" (assignment_expression "pwStack_208 = (word *)((int)pwStack_208 - (int)pwStack_210)" identifier = (cast_expression "(word *)((int)pwStack_208 - (int)pwStack_210)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwStack_208 - (int)pwStack_210)" ( (binary_expression "(int)pwStack_208 - (int)pwStack_210" (cast_expression "(int)pwStack_208" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pwStack_210" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) }) (else_clause "else {\n    if ((word *)0x1 < pwStack_210 + 1) goto LAB_000fc100;\nLAB_000fc060:\n    if (*(byte *)pwStack_214 != *pbStack_228) goto LAB_000fbb0c;\n    pwStack_214 = (word *)((int)pwStack_214 + 1);\n    pbStack_228 = pbStack_228 + 1;\n    pwStack_208 = (word *)((int)pwStack_208 + -1);\n  }" else (compound_statement "{\n    if ((word *)0x1 < pwStack_210 + 1) goto LAB_000fc100;\nLAB_000fc060:\n    if (*(byte *)pwStack_214 != *pbStack_228) goto LAB_000fbb0c;\n    pwStack_214 = (word *)((int)pwStack_214 + 1);\n    pbStack_228 = pbStack_228 + 1;\n    pwStack_208 = (word *)((int)pwStack_208 + -1);\n  }" { (if_statement "if ((word *)0x1 < pwStack_210 + 1) goto LAB_000fc100;" if (parenthesized_expression "((word *)0x1 < pwStack_210 + 1)" ( (binary_expression "(word *)0x1 < pwStack_210 + 1" (cast_expression "(word *)0x1" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < (binary_expression "pwStack_210 + 1" identifier + number_literal)) )) (goto_statement "goto LAB_000fc100;" goto statement_identifier ;)) (labeled_statement "LAB_000fc060:\n    if (*(byte *)pwStack_214 != *pbStack_228) goto LAB_000fbb0c;" statement_identifier : (if_statement "if (*(byte *)pwStack_214 != *pbStack_228) goto LAB_000fbb0c;" if (parenthesized_expression "(*(byte *)pwStack_214 != *pbStack_228)" ( (binary_expression "*(byte *)pwStack_214 != *pbStack_228" (pointer_expression "*(byte *)pwStack_214" * (cast_expression "(byte *)pwStack_214" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) != (pointer_expression "*pbStack_228" * identifier)) )) (goto_statement "goto LAB_000fbb0c;" goto statement_identifier ;))) (expression_statement "pwStack_214 = (word *)((int)pwStack_214 + 1);" (assignment_expression "pwStack_214 = (word *)((int)pwStack_214 + 1)" identifier = (cast_expression "(word *)((int)pwStack_214 + 1)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwStack_214 + 1)" ( (binary_expression "(int)pwStack_214 + 1" (cast_expression "(int)pwStack_214" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pbStack_228 = pbStack_228 + 1;" (assignment_expression "pbStack_228 = pbStack_228 + 1" identifier = (binary_expression "pbStack_228 + 1" identifier + number_literal)) ;) (expression_statement "pwStack_208 = (word *)((int)pwStack_208 + -1);" (assignment_expression "pwStack_208 = (word *)((int)pwStack_208 + -1)" identifier = (cast_expression "(word *)((int)pwStack_208 + -1)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwStack_208 + -1)" ( (binary_expression "(int)pwStack_208 + -1" (cast_expression "(int)pwStack_208" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }))) (expression_statement "iVar13 = *(int *)(pcStack_230 + -0x7fd4);" (assignment_expression "iVar13 = *(int *)(pcStack_230 + -0x7fd4)" identifier = (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" * (cast_expression "(int *)(pcStack_230 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) ))))) ;) (expression_statement "pcVar23 = pcStack_230;" (assignment_expression "pcVar23 = pcStack_230" identifier = identifier) ;) (if_statement "if (pwStack_208 == (word *)0x0) goto LAB_000fbbb4;" if (parenthesized_expression "(pwStack_208 == (word *)0x0)" ( (binary_expression "pwStack_208 == (word *)0x0" identifier == (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000fbbb4;" goto statement_identifier ;)) (goto_statement "goto LAB_000fc0a8;" goto statement_identifier ;) (labeled_statement "code_r0x000fbef4:\n  iVar13 = *(int *)(iStack_224 + -0x3fd4);" statement_identifier : (expression_statement "iVar13 = *(int *)(iStack_224 + -0x3fd4);" (assignment_expression "iVar13 = *(int *)(iStack_224 + -0x3fd4)" identifier = (pointer_expression "*(int *)(iStack_224 + -0x3fd4)" * (cast_expression "(int *)(iStack_224 + -0x3fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_224 + -0x3fd4)" ( (binary_expression "iStack_224 + -0x3fd4" identifier + number_literal) ))))) ;)) (expression_statement "pcVar23 = pcStack_230;" (assignment_expression "pcVar23 = pcStack_230" identifier = identifier) ;) (goto_statement "goto LAB_000fbb10;" goto statement_identifier ;) (labeled_statement "LAB_000fbbb0:\n  iVar13 = *(int *)(pcVar23 + -0x7fd4);" statement_identifier : (expression_statement "iVar13 = *(int *)(pcVar23 + -0x7fd4);" (assignment_expression "iVar13 = *(int *)(pcVar23 + -0x7fd4)" identifier = (pointer_expression "*(int *)(pcVar23 + -0x7fd4)" * (cast_expression "(int *)(pcVar23 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar23 + -0x7fd4)" ( (binary_expression "pcVar23 + -0x7fd4" identifier + number_literal) ))))) ;)) (labeled_statement "LAB_000fbbb4:\n  pcVar19 = *(char **)(iVar13 + -0x3fd8);" statement_identifier : (expression_statement "pcVar19 = *(char **)(iVar13 + -0x3fd8);" (assignment_expression "pcVar19 = *(char **)(iVar13 + -0x3fd8)" identifier = (pointer_expression "*(char **)(iVar13 + -0x3fd8)" * (cast_expression "(char **)(iVar13 + -0x3fd8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar13 + -0x3fd8)" ( (binary_expression "iVar13 + -0x3fd8" identifier + number_literal) ))))) ;)) (labeled_statement "LAB_000fbbb8:\n  if ((pcVar19 == (char *)0x0) ||\n     ((piVar9 = *(int **)(pcVar23 + -0x65a8), *pcVar19 == '.' &&\n      (piVar9 = *(int **)(pcVar23 + -0x65a8), pcVar19[1] == '\0')))) {\n    iVar5 = (**(code **)(pcVar23 + -0x60fc))(pwVar16);\n    uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);\n    pwVar14 = (word *)(**(code **)(pcStack_230 + -0x6074))(uVar7,pwVar16);\n  }\n  else {\n    if ((*piVar9 == 0) || (**(char **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0) != '~')) {\n      iVar13 = *(int *)(pcVar23 + -0x7fd4);\n      unaff_s3 = (word *)(**(code **)(pcVar23 + -0x60fc))(*(undefined4 *)(iVar13 + -0x3fe0));\n      iVar5 = (**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13);\n      pwVar14 = (word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2));\n      iVar5 = *(int *)(iVar13 + -0x3fe0);\n      (**(code **)(pcStack_230 + -0x6074))(pwVar14,iVar5);\n      unaff_s4 = (word *)((int)unaff_s3 + iVar5);\n      unaff_s5 = unaff_s3;\n      if (*(byte *)((int)unaff_s4 + -1) != 0x2f) {\n        unaff_s5 = (word *)((int)unaff_s3 + 1);\n        unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);\n        *(byte *)unaff_s3 = 0x2f;\n      }\n    }\n    else {\n      unaff_s3 = (word *)(**(code **)(pcVar23 + -0x60fc))();\n      iVar5 = (**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13);\n      pwVar14 = (word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2));\n      unaff_s4 = *(word **)(pcStack_230 + -0x7fd4);\n      (**(code **)(pcStack_230 + -0x6074))(pwVar14,*(undefined4 *)(unaff_s4 + -0x1fec));\n      unaff_s5 = unaff_s3;\n      if (*(byte *)((int)unaff_s3 + *(int *)(unaff_s4 + -0x1fec) + -1) != 0x2f) {\n        unaff_s5 = (word *)((int)unaff_s3 + 1);\n        unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);\n        *(byte *)unaff_s3 = 0x2f;\n        *(byte *)((int)pwVar14 + (int)unaff_s5) = 0;\n      }\n    }\n    (**(code **)(pcStack_230 + -0x6074))((byte *)((int)pwVar14 + (int)unaff_s5),pwVar16);\n  }" statement_identifier : (if_statement "if ((pcVar19 == (char *)0x0) ||\n     ((piVar9 = *(int **)(pcVar23 + -0x65a8), *pcVar19 == '.' &&\n      (piVar9 = *(int **)(pcVar23 + -0x65a8), pcVar19[1] == '\0')))) {\n    iVar5 = (**(code **)(pcVar23 + -0x60fc))(pwVar16);\n    uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);\n    pwVar14 = (word *)(**(code **)(pcStack_230 + -0x6074))(uVar7,pwVar16);\n  }\n  else {\n    if ((*piVar9 == 0) || (**(char **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0) != '~')) {\n      iVar13 = *(int *)(pcVar23 + -0x7fd4);\n      unaff_s3 = (word *)(**(code **)(pcVar23 + -0x60fc))(*(undefined4 *)(iVar13 + -0x3fe0));\n      iVar5 = (**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13);\n      pwVar14 = (word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2));\n      iVar5 = *(int *)(iVar13 + -0x3fe0);\n      (**(code **)(pcStack_230 + -0x6074))(pwVar14,iVar5);\n      unaff_s4 = (word *)((int)unaff_s3 + iVar5);\n      unaff_s5 = unaff_s3;\n      if (*(byte *)((int)unaff_s4 + -1) != 0x2f) {\n        unaff_s5 = (word *)((int)unaff_s3 + 1);\n        unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);\n        *(byte *)unaff_s3 = 0x2f;\n      }\n    }\n    else {\n      unaff_s3 = (word *)(**(code **)(pcVar23 + -0x60fc))();\n      iVar5 = (**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13);\n      pwVar14 = (word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2));\n      unaff_s4 = *(word **)(pcStack_230 + -0x7fd4);\n      (**(code **)(pcStack_230 + -0x6074))(pwVar14,*(undefined4 *)(unaff_s4 + -0x1fec));\n      unaff_s5 = unaff_s3;\n      if (*(byte *)((int)unaff_s3 + *(int *)(unaff_s4 + -0x1fec) + -1) != 0x2f) {\n        unaff_s5 = (word *)((int)unaff_s3 + 1);\n        unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);\n        *(byte *)unaff_s3 = 0x2f;\n        *(byte *)((int)pwVar14 + (int)unaff_s5) = 0;\n      }\n    }\n    (**(code **)(pcStack_230 + -0x6074))((byte *)((int)pwVar14 + (int)unaff_s5),pwVar16);\n  }" if (parenthesized_expression "((pcVar19 == (char *)0x0) ||\n     ((piVar9 = *(int **)(pcVar23 + -0x65a8), *pcVar19 == '.' &&\n      (piVar9 = *(int **)(pcVar23 + -0x65a8), pcVar19[1] == '\0'))))" ( (binary_expression "(pcVar19 == (char *)0x0) ||\n     ((piVar9 = *(int **)(pcVar23 + -0x65a8), *pcVar19 == '.' &&\n      (piVar9 = *(int **)(pcVar23 + -0x65a8), pcVar19[1] == '\0')))" (parenthesized_expression "(pcVar19 == (char *)0x0)" ( (binary_expression "pcVar19 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "((piVar9 = *(int **)(pcVar23 + -0x65a8), *pcVar19 == '.' &&\n      (piVar9 = *(int **)(pcVar23 + -0x65a8), pcVar19[1] == '\0')))" ( (parenthesized_expression "(piVar9 = *(int **)(pcVar23 + -0x65a8), *pcVar19 == '.' &&\n      (piVar9 = *(int **)(pcVar23 + -0x65a8), pcVar19[1] == '\0'))" ( (comma_expression "piVar9 = *(int **)(pcVar23 + -0x65a8), *pcVar19 == '.' &&\n      (piVar9 = *(int **)(pcVar23 + -0x65a8), pcVar19[1] == '\0')" (assignment_expression "piVar9 = *(int **)(pcVar23 + -0x65a8)" identifier = (pointer_expression "*(int **)(pcVar23 + -0x65a8)" * (cast_expression "(int **)(pcVar23 + -0x65a8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + -0x65a8)" ( (binary_expression "pcVar23 + -0x65a8" identifier + number_literal) ))))) , (binary_expression "*pcVar19 == '.' &&\n      (piVar9 = *(int **)(pcVar23 + -0x65a8), pcVar19[1] == '\0')" (binary_expression "*pcVar19 == '.'" (pointer_expression "*pcVar19" * identifier) == (char_literal "'.'" ' character ')) && (parenthesized_expression "(piVar9 = *(int **)(pcVar23 + -0x65a8), pcVar19[1] == '\0')" ( (comma_expression "piVar9 = *(int **)(pcVar23 + -0x65a8), pcVar19[1] == '\0'" (assignment_expression "piVar9 = *(int **)(pcVar23 + -0x65a8)" identifier = (pointer_expression "*(int **)(pcVar23 + -0x65a8)" * (cast_expression "(int **)(pcVar23 + -0x65a8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + -0x65a8)" ( (binary_expression "pcVar23 + -0x65a8" identifier + number_literal) ))))) , (binary_expression "pcVar19[1] == '\0'" (subscript_expression "pcVar19[1]" identifier [ number_literal ]) == (char_literal "'\0'" ' escape_sequence '))) )))) )) ))) )) (compound_statement "{\n    iVar5 = (**(code **)(pcVar23 + -0x60fc))(pwVar16);\n    uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);\n    pwVar14 = (word *)(**(code **)(pcStack_230 + -0x6074))(uVar7,pwVar16);\n  }" { (expression_statement "iVar5 = (**(code **)(pcVar23 + -0x60fc))(pwVar16);" (assignment_expression "iVar5 = (**(code **)(pcVar23 + -0x60fc))(pwVar16)" identifier = (call_expression "(**(code **)(pcVar23 + -0x60fc))(pwVar16)" (parenthesized_expression "(**(code **)(pcVar23 + -0x60fc))" ( (pointer_expression "**(code **)(pcVar23 + -0x60fc)" * (pointer_expression "*(code **)(pcVar23 + -0x60fc)" * (cast_expression "(code **)(pcVar23 + -0x60fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + -0x60fc)" ( (binary_expression "pcVar23 + -0x60fc" identifier + number_literal) ))))) )) (argument_list "(pwVar16)" ( identifier )))) ;) (expression_statement "uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);" (assignment_expression "uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1)" identifier = (call_expression "(**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x7f88))" ( (pointer_expression "**(code **)(pcStack_230 + -0x7f88)" * (pointer_expression "*(code **)(pcStack_230 + -0x7f88)" * (cast_expression "(code **)(pcStack_230 + -0x7f88)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x7f88)" ( (binary_expression "pcStack_230 + -0x7f88" identifier + number_literal) ))))) )) (argument_list "(iVar5 + 1)" ( (binary_expression "iVar5 + 1" identifier + number_literal) )))) ;) (expression_statement "pwVar14 = (word *)(**(code **)(pcStack_230 + -0x6074))(uVar7,pwVar16);" (assignment_expression "pwVar14 = (word *)(**(code **)(pcStack_230 + -0x6074))(uVar7,pwVar16)" identifier = (cast_expression "(word *)(**(code **)(pcStack_230 + -0x6074))(uVar7,pwVar16)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_230 + -0x6074))(uVar7,pwVar16)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x6074))" ( (pointer_expression "**(code **)(pcStack_230 + -0x6074)" * (pointer_expression "*(code **)(pcStack_230 + -0x6074)" * (cast_expression "(code **)(pcStack_230 + -0x6074)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6074)" ( (binary_expression "pcStack_230 + -0x6074" identifier + number_literal) ))))) )) (argument_list "(uVar7,pwVar16)" ( identifier , identifier ))))) ;) }) (else_clause "else {\n    if ((*piVar9 == 0) || (**(char **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0) != '~')) {\n      iVar13 = *(int *)(pcVar23 + -0x7fd4);\n      unaff_s3 = (word *)(**(code **)(pcVar23 + -0x60fc))(*(undefined4 *)(iVar13 + -0x3fe0));\n      iVar5 = (**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13);\n      pwVar14 = (word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2));\n      iVar5 = *(int *)(iVar13 + -0x3fe0);\n      (**(code **)(pcStack_230 + -0x6074))(pwVar14,iVar5);\n      unaff_s4 = (word *)((int)unaff_s3 + iVar5);\n      unaff_s5 = unaff_s3;\n      if (*(byte *)((int)unaff_s4 + -1) != 0x2f) {\n        unaff_s5 = (word *)((int)unaff_s3 + 1);\n        unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);\n        *(byte *)unaff_s3 = 0x2f;\n      }\n    }\n    else {\n      unaff_s3 = (word *)(**(code **)(pcVar23 + -0x60fc))();\n      iVar5 = (**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13);\n      pwVar14 = (word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2));\n      unaff_s4 = *(word **)(pcStack_230 + -0x7fd4);\n      (**(code **)(pcStack_230 + -0x6074))(pwVar14,*(undefined4 *)(unaff_s4 + -0x1fec));\n      unaff_s5 = unaff_s3;\n      if (*(byte *)((int)unaff_s3 + *(int *)(unaff_s4 + -0x1fec) + -1) != 0x2f) {\n        unaff_s5 = (word *)((int)unaff_s3 + 1);\n        unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);\n        *(byte *)unaff_s3 = 0x2f;\n        *(byte *)((int)pwVar14 + (int)unaff_s5) = 0;\n      }\n    }\n    (**(code **)(pcStack_230 + -0x6074))((byte *)((int)pwVar14 + (int)unaff_s5),pwVar16);\n  }" else (compound_statement "{\n    if ((*piVar9 == 0) || (**(char **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0) != '~')) {\n      iVar13 = *(int *)(pcVar23 + -0x7fd4);\n      unaff_s3 = (word *)(**(code **)(pcVar23 + -0x60fc))(*(undefined4 *)(iVar13 + -0x3fe0));\n      iVar5 = (**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13);\n      pwVar14 = (word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2));\n      iVar5 = *(int *)(iVar13 + -0x3fe0);\n      (**(code **)(pcStack_230 + -0x6074))(pwVar14,iVar5);\n      unaff_s4 = (word *)((int)unaff_s3 + iVar5);\n      unaff_s5 = unaff_s3;\n      if (*(byte *)((int)unaff_s4 + -1) != 0x2f) {\n        unaff_s5 = (word *)((int)unaff_s3 + 1);\n        unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);\n        *(byte *)unaff_s3 = 0x2f;\n      }\n    }\n    else {\n      unaff_s3 = (word *)(**(code **)(pcVar23 + -0x60fc))();\n      iVar5 = (**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13);\n      pwVar14 = (word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2));\n      unaff_s4 = *(word **)(pcStack_230 + -0x7fd4);\n      (**(code **)(pcStack_230 + -0x6074))(pwVar14,*(undefined4 *)(unaff_s4 + -0x1fec));\n      unaff_s5 = unaff_s3;\n      if (*(byte *)((int)unaff_s3 + *(int *)(unaff_s4 + -0x1fec) + -1) != 0x2f) {\n        unaff_s5 = (word *)((int)unaff_s3 + 1);\n        unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);\n        *(byte *)unaff_s3 = 0x2f;\n        *(byte *)((int)pwVar14 + (int)unaff_s5) = 0;\n      }\n    }\n    (**(code **)(pcStack_230 + -0x6074))((byte *)((int)pwVar14 + (int)unaff_s5),pwVar16);\n  }" { (if_statement "if ((*piVar9 == 0) || (**(char **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0) != '~')) {\n      iVar13 = *(int *)(pcVar23 + -0x7fd4);\n      unaff_s3 = (word *)(**(code **)(pcVar23 + -0x60fc))(*(undefined4 *)(iVar13 + -0x3fe0));\n      iVar5 = (**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13);\n      pwVar14 = (word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2));\n      iVar5 = *(int *)(iVar13 + -0x3fe0);\n      (**(code **)(pcStack_230 + -0x6074))(pwVar14,iVar5);\n      unaff_s4 = (word *)((int)unaff_s3 + iVar5);\n      unaff_s5 = unaff_s3;\n      if (*(byte *)((int)unaff_s4 + -1) != 0x2f) {\n        unaff_s5 = (word *)((int)unaff_s3 + 1);\n        unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);\n        *(byte *)unaff_s3 = 0x2f;\n      }\n    }\n    else {\n      unaff_s3 = (word *)(**(code **)(pcVar23 + -0x60fc))();\n      iVar5 = (**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13);\n      pwVar14 = (word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2));\n      unaff_s4 = *(word **)(pcStack_230 + -0x7fd4);\n      (**(code **)(pcStack_230 + -0x6074))(pwVar14,*(undefined4 *)(unaff_s4 + -0x1fec));\n      unaff_s5 = unaff_s3;\n      if (*(byte *)((int)unaff_s3 + *(int *)(unaff_s4 + -0x1fec) + -1) != 0x2f) {\n        unaff_s5 = (word *)((int)unaff_s3 + 1);\n        unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);\n        *(byte *)unaff_s3 = 0x2f;\n        *(byte *)((int)pwVar14 + (int)unaff_s5) = 0;\n      }\n    }" if (parenthesized_expression "((*piVar9 == 0) || (**(char **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0) != '~'))" ( (binary_expression "(*piVar9 == 0) || (**(char **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0) != '~')" (parenthesized_expression "(*piVar9 == 0)" ( (binary_expression "*piVar9 == 0" (pointer_expression "*piVar9" * identifier) == number_literal) )) || (parenthesized_expression "(**(char **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0) != '~')" ( (binary_expression "**(char **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0) != '~'" (pointer_expression "**(char **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0)" * (pointer_expression "*(char **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0)" * (cast_expression "(char **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0)" ( (binary_expression "*(int *)(pcVar23 + -0x7fd4) + -0x3fe0" (pointer_expression "*(int *)(pcVar23 + -0x7fd4)" * (cast_expression "(int *)(pcVar23 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar23 + -0x7fd4)" ( (binary_expression "pcVar23 + -0x7fd4" identifier + number_literal) )))) + number_literal) ))))) != (char_literal "'~'" ' character ')) ))) )) (compound_statement "{\n      iVar13 = *(int *)(pcVar23 + -0x7fd4);\n      unaff_s3 = (word *)(**(code **)(pcVar23 + -0x60fc))(*(undefined4 *)(iVar13 + -0x3fe0));\n      iVar5 = (**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13);\n      pwVar14 = (word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2));\n      iVar5 = *(int *)(iVar13 + -0x3fe0);\n      (**(code **)(pcStack_230 + -0x6074))(pwVar14,iVar5);\n      unaff_s4 = (word *)((int)unaff_s3 + iVar5);\n      unaff_s5 = unaff_s3;\n      if (*(byte *)((int)unaff_s4 + -1) != 0x2f) {\n        unaff_s5 = (word *)((int)unaff_s3 + 1);\n        unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);\n        *(byte *)unaff_s3 = 0x2f;\n      }\n    }" { (expression_statement "iVar13 = *(int *)(pcVar23 + -0x7fd4);" (assignment_expression "iVar13 = *(int *)(pcVar23 + -0x7fd4)" identifier = (pointer_expression "*(int *)(pcVar23 + -0x7fd4)" * (cast_expression "(int *)(pcVar23 + -0x7fd4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar23 + -0x7fd4)" ( (binary_expression "pcVar23 + -0x7fd4" identifier + number_literal) ))))) ;) (expression_statement "unaff_s3 = (word *)(**(code **)(pcVar23 + -0x60fc))(*(undefined4 *)(iVar13 + -0x3fe0));" (assignment_expression "unaff_s3 = (word *)(**(code **)(pcVar23 + -0x60fc))(*(undefined4 *)(iVar13 + -0x3fe0))" identifier = (cast_expression "(word *)(**(code **)(pcVar23 + -0x60fc))(*(undefined4 *)(iVar13 + -0x3fe0))" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar23 + -0x60fc))(*(undefined4 *)(iVar13 + -0x3fe0))" (parenthesized_expression "(**(code **)(pcVar23 + -0x60fc))" ( (pointer_expression "**(code **)(pcVar23 + -0x60fc)" * (pointer_expression "*(code **)(pcVar23 + -0x60fc)" * (cast_expression "(code **)(pcVar23 + -0x60fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + -0x60fc)" ( (binary_expression "pcVar23 + -0x60fc" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(iVar13 + -0x3fe0))" ( (pointer_expression "*(undefined4 *)(iVar13 + -0x3fe0)" * (cast_expression "(undefined4 *)(iVar13 + -0x3fe0)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + -0x3fe0)" ( (binary_expression "iVar13 + -0x3fe0" identifier + number_literal) )))) ))))) ;) (expression_statement "iVar5 = (**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13);" (assignment_expression "iVar5 = (**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13)" identifier = (call_expression "(**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x60fc))" ( (pointer_expression "**(code **)(pcStack_230 + -0x60fc)" * (pointer_expression "*(code **)(pcStack_230 + -0x60fc)" * (cast_expression "(code **)(pcStack_230 + -0x60fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x60fc)" ( (binary_expression "pcStack_230 + -0x60fc" identifier + number_literal) ))))) )) (argument_list "(iVar5 + 0x13)" ( (binary_expression "iVar5 + 0x13" identifier + number_literal) )))) ;) (expression_statement "pwVar14 = (word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2));" (assignment_expression "pwVar14 = (word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2))" identifier = (cast_expression "(word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2))" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2))" (parenthesized_expression "(**(code **)(pcStack_230 + -0x7f88))" ( (pointer_expression "**(code **)(pcStack_230 + -0x7f88)" * (pointer_expression "*(code **)(pcStack_230 + -0x7f88)" * (cast_expression "(code **)(pcStack_230 + -0x7f88)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x7f88)" ( (binary_expression "pcStack_230 + -0x7f88" identifier + number_literal) ))))) )) (argument_list "((byte *)((int)unaff_s3 + iVar5 + 2))" ( (cast_expression "(byte *)((int)unaff_s3 + iVar5 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s3 + iVar5 + 2)" ( (binary_expression "(int)unaff_s3 + iVar5 + 2" (binary_expression "(int)unaff_s3 + iVar5" (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) ))) ))))) ;) (expression_statement "iVar5 = *(int *)(iVar13 + -0x3fe0);" (assignment_expression "iVar5 = *(int *)(iVar13 + -0x3fe0)" identifier = (pointer_expression "*(int *)(iVar13 + -0x3fe0)" * (cast_expression "(int *)(iVar13 + -0x3fe0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar13 + -0x3fe0)" ( (binary_expression "iVar13 + -0x3fe0" identifier + number_literal) ))))) ;) (expression_statement "(**(code **)(pcStack_230 + -0x6074))(pwVar14,iVar5);" (call_expression "(**(code **)(pcStack_230 + -0x6074))(pwVar14,iVar5)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x6074))" ( (pointer_expression "**(code **)(pcStack_230 + -0x6074)" * (pointer_expression "*(code **)(pcStack_230 + -0x6074)" * (cast_expression "(code **)(pcStack_230 + -0x6074)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6074)" ( (binary_expression "pcStack_230 + -0x6074" identifier + number_literal) ))))) )) (argument_list "(pwVar14,iVar5)" ( identifier , identifier ))) ;) (expression_statement "unaff_s4 = (word *)((int)unaff_s3 + iVar5);" (assignment_expression "unaff_s4 = (word *)((int)unaff_s3 + iVar5)" identifier = (cast_expression "(word *)((int)unaff_s3 + iVar5)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s3 + iVar5)" ( (binary_expression "(int)unaff_s3 + iVar5" (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "unaff_s5 = unaff_s3;" (assignment_expression "unaff_s5 = unaff_s3" identifier = identifier) ;) (if_statement "if (*(byte *)((int)unaff_s4 + -1) != 0x2f) {\n        unaff_s5 = (word *)((int)unaff_s3 + 1);\n        unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);\n        *(byte *)unaff_s3 = 0x2f;\n      }" if (parenthesized_expression "(*(byte *)((int)unaff_s4 + -1) != 0x2f)" ( (binary_expression "*(byte *)((int)unaff_s4 + -1) != 0x2f" (pointer_expression "*(byte *)((int)unaff_s4 + -1)" * (cast_expression "(byte *)((int)unaff_s4 + -1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s4 + -1)" ( (binary_expression "(int)unaff_s4 + -1" (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != number_literal) )) (compound_statement "{\n        unaff_s5 = (word *)((int)unaff_s3 + 1);\n        unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);\n        *(byte *)unaff_s3 = 0x2f;\n      }" { (expression_statement "unaff_s5 = (word *)((int)unaff_s3 + 1);" (assignment_expression "unaff_s5 = (word *)((int)unaff_s3 + 1)" identifier = (cast_expression "(word *)((int)unaff_s3 + 1)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s3 + 1)" ( (binary_expression "(int)unaff_s3 + 1" (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);" (assignment_expression "unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3)" identifier = (cast_expression "(word *)((int)pwVar14 + (int)unaff_s3)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwVar14 + (int)unaff_s3)" ( (binary_expression "(int)pwVar14 + (int)unaff_s3" (cast_expression "(int)pwVar14" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "*(byte *)unaff_s3 = 0x2f;" (assignment_expression "*(byte *)unaff_s3 = 0x2f" (pointer_expression "*(byte *)unaff_s3" * (cast_expression "(byte *)unaff_s3" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) })) }) (else_clause "else {\n      unaff_s3 = (word *)(**(code **)(pcVar23 + -0x60fc))();\n      iVar5 = (**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13);\n      pwVar14 = (word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2));\n      unaff_s4 = *(word **)(pcStack_230 + -0x7fd4);\n      (**(code **)(pcStack_230 + -0x6074))(pwVar14,*(undefined4 *)(unaff_s4 + -0x1fec));\n      unaff_s5 = unaff_s3;\n      if (*(byte *)((int)unaff_s3 + *(int *)(unaff_s4 + -0x1fec) + -1) != 0x2f) {\n        unaff_s5 = (word *)((int)unaff_s3 + 1);\n        unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);\n        *(byte *)unaff_s3 = 0x2f;\n        *(byte *)((int)pwVar14 + (int)unaff_s5) = 0;\n      }\n    }" else (compound_statement "{\n      unaff_s3 = (word *)(**(code **)(pcVar23 + -0x60fc))();\n      iVar5 = (**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13);\n      pwVar14 = (word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2));\n      unaff_s4 = *(word **)(pcStack_230 + -0x7fd4);\n      (**(code **)(pcStack_230 + -0x6074))(pwVar14,*(undefined4 *)(unaff_s4 + -0x1fec));\n      unaff_s5 = unaff_s3;\n      if (*(byte *)((int)unaff_s3 + *(int *)(unaff_s4 + -0x1fec) + -1) != 0x2f) {\n        unaff_s5 = (word *)((int)unaff_s3 + 1);\n        unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);\n        *(byte *)unaff_s3 = 0x2f;\n        *(byte *)((int)pwVar14 + (int)unaff_s5) = 0;\n      }\n    }" { (expression_statement "unaff_s3 = (word *)(**(code **)(pcVar23 + -0x60fc))();" (assignment_expression "unaff_s3 = (word *)(**(code **)(pcVar23 + -0x60fc))()" identifier = (cast_expression "(word *)(**(code **)(pcVar23 + -0x60fc))()" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar23 + -0x60fc))()" (parenthesized_expression "(**(code **)(pcVar23 + -0x60fc))" ( (pointer_expression "**(code **)(pcVar23 + -0x60fc)" * (pointer_expression "*(code **)(pcVar23 + -0x60fc)" * (cast_expression "(code **)(pcVar23 + -0x60fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + -0x60fc)" ( (binary_expression "pcVar23 + -0x60fc" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "iVar5 = (**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13);" (assignment_expression "iVar5 = (**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13)" identifier = (call_expression "(**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x60fc))" ( (pointer_expression "**(code **)(pcStack_230 + -0x60fc)" * (pointer_expression "*(code **)(pcStack_230 + -0x60fc)" * (cast_expression "(code **)(pcStack_230 + -0x60fc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x60fc)" ( (binary_expression "pcStack_230 + -0x60fc" identifier + number_literal) ))))) )) (argument_list "(iVar5 + 0x13)" ( (binary_expression "iVar5 + 0x13" identifier + number_literal) )))) ;) (expression_statement "pwVar14 = (word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2));" (assignment_expression "pwVar14 = (word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2))" identifier = (cast_expression "(word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2))" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2))" (parenthesized_expression "(**(code **)(pcStack_230 + -0x7f88))" ( (pointer_expression "**(code **)(pcStack_230 + -0x7f88)" * (pointer_expression "*(code **)(pcStack_230 + -0x7f88)" * (cast_expression "(code **)(pcStack_230 + -0x7f88)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x7f88)" ( (binary_expression "pcStack_230 + -0x7f88" identifier + number_literal) ))))) )) (argument_list "((byte *)((int)unaff_s3 + iVar5 + 2))" ( (cast_expression "(byte *)((int)unaff_s3 + iVar5 + 2)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s3 + iVar5 + 2)" ( (binary_expression "(int)unaff_s3 + iVar5 + 2" (binary_expression "(int)unaff_s3 + iVar5" (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) ))) ))))) ;) (expression_statement "unaff_s4 = *(word **)(pcStack_230 + -0x7fd4);" (assignment_expression "unaff_s4 = *(word **)(pcStack_230 + -0x7fd4)" identifier = (pointer_expression "*(word **)(pcStack_230 + -0x7fd4)" * (cast_expression "(word **)(pcStack_230 + -0x7fd4)" ( (type_descriptor "word **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x7fd4)" ( (binary_expression "pcStack_230 + -0x7fd4" identifier + number_literal) ))))) ;) (expression_statement "(**(code **)(pcStack_230 + -0x6074))(pwVar14,*(undefined4 *)(unaff_s4 + -0x1fec));" (call_expression "(**(code **)(pcStack_230 + -0x6074))(pwVar14,*(undefined4 *)(unaff_s4 + -0x1fec))" (parenthesized_expression "(**(code **)(pcStack_230 + -0x6074))" ( (pointer_expression "**(code **)(pcStack_230 + -0x6074)" * (pointer_expression "*(code **)(pcStack_230 + -0x6074)" * (cast_expression "(code **)(pcStack_230 + -0x6074)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6074)" ( (binary_expression "pcStack_230 + -0x6074" identifier + number_literal) ))))) )) (argument_list "(pwVar14,*(undefined4 *)(unaff_s4 + -0x1fec))" ( identifier , (pointer_expression "*(undefined4 *)(unaff_s4 + -0x1fec)" * (cast_expression "(undefined4 *)(unaff_s4 + -0x1fec)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s4 + -0x1fec)" ( (binary_expression "unaff_s4 + -0x1fec" identifier + number_literal) )))) ))) ;) (expression_statement "unaff_s5 = unaff_s3;" (assignment_expression "unaff_s5 = unaff_s3" identifier = identifier) ;) (if_statement "if (*(byte *)((int)unaff_s3 + *(int *)(unaff_s4 + -0x1fec) + -1) != 0x2f) {\n        unaff_s5 = (word *)((int)unaff_s3 + 1);\n        unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);\n        *(byte *)unaff_s3 = 0x2f;\n        *(byte *)((int)pwVar14 + (int)unaff_s5) = 0;\n      }" if (parenthesized_expression "(*(byte *)((int)unaff_s3 + *(int *)(unaff_s4 + -0x1fec) + -1) != 0x2f)" ( (binary_expression "*(byte *)((int)unaff_s3 + *(int *)(unaff_s4 + -0x1fec) + -1) != 0x2f" (pointer_expression "*(byte *)((int)unaff_s3 + *(int *)(unaff_s4 + -0x1fec) + -1)" * (cast_expression "(byte *)((int)unaff_s3 + *(int *)(unaff_s4 + -0x1fec) + -1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s3 + *(int *)(unaff_s4 + -0x1fec) + -1)" ( (binary_expression "(int)unaff_s3 + *(int *)(unaff_s4 + -0x1fec) + -1" (binary_expression "(int)unaff_s3 + *(int *)(unaff_s4 + -0x1fec)" (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier) + (pointer_expression "*(int *)(unaff_s4 + -0x1fec)" * (cast_expression "(int *)(unaff_s4 + -0x1fec)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s4 + -0x1fec)" ( (binary_expression "unaff_s4 + -0x1fec" identifier + number_literal) ))))) + number_literal) )))) != number_literal) )) (compound_statement "{\n        unaff_s5 = (word *)((int)unaff_s3 + 1);\n        unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);\n        *(byte *)unaff_s3 = 0x2f;\n        *(byte *)((int)pwVar14 + (int)unaff_s5) = 0;\n      }" { (expression_statement "unaff_s5 = (word *)((int)unaff_s3 + 1);" (assignment_expression "unaff_s5 = (word *)((int)unaff_s3 + 1)" identifier = (cast_expression "(word *)((int)unaff_s3 + 1)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s3 + 1)" ( (binary_expression "(int)unaff_s3 + 1" (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);" (assignment_expression "unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3)" identifier = (cast_expression "(word *)((int)pwVar14 + (int)unaff_s3)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwVar14 + (int)unaff_s3)" ( (binary_expression "(int)pwVar14 + (int)unaff_s3" (cast_expression "(int)pwVar14" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "*(byte *)unaff_s3 = 0x2f;" (assignment_expression "*(byte *)unaff_s3 = 0x2f" (pointer_expression "*(byte *)unaff_s3" * (cast_expression "(byte *)unaff_s3" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (expression_statement "*(byte *)((int)pwVar14 + (int)unaff_s5) = 0;" (assignment_expression "*(byte *)((int)pwVar14 + (int)unaff_s5) = 0" (pointer_expression "*(byte *)((int)pwVar14 + (int)unaff_s5)" * (cast_expression "(byte *)((int)pwVar14 + (int)unaff_s5)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwVar14 + (int)unaff_s5)" ( (binary_expression "(int)pwVar14 + (int)unaff_s5" (cast_expression "(int)pwVar14" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)unaff_s5" ( (type_descriptor "int" primitive_type) ) identifier)) )))) = number_literal) ;) })) }))) (expression_statement "(**(code **)(pcStack_230 + -0x6074))((byte *)((int)pwVar14 + (int)unaff_s5),pwVar16);" (call_expression "(**(code **)(pcStack_230 + -0x6074))((byte *)((int)pwVar14 + (int)unaff_s5),pwVar16)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x6074))" ( (pointer_expression "**(code **)(pcStack_230 + -0x6074)" * (pointer_expression "*(code **)(pcStack_230 + -0x6074)" * (cast_expression "(code **)(pcStack_230 + -0x6074)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x6074)" ( (binary_expression "pcStack_230 + -0x6074" identifier + number_literal) ))))) )) (argument_list "((byte *)((int)pwVar14 + (int)unaff_s5),pwVar16)" ( (cast_expression "(byte *)((int)pwVar14 + (int)unaff_s5)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwVar14 + (int)unaff_s5)" ( (binary_expression "(int)pwVar14 + (int)unaff_s5" (cast_expression "(int)pwVar14" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)unaff_s5" ( (type_descriptor "int" primitive_type) ) identifier)) ))) , identifier ))) ;) })))) (expression_statement "pcVar23 = pcStack_230;" (assignment_expression "pcVar23 = pcStack_230" identifier = identifier) ;) (if_statement "if (pwVar18 != pwVar16) {\n    (**(code **)(pcStack_230 + -0x798c))(pwVar16);\n    pcVar23 = pcStack_230;\n  }" if (parenthesized_expression "(pwVar18 != pwVar16)" ( (binary_expression "pwVar18 != pwVar16" identifier != identifier) )) (compound_statement "{\n    (**(code **)(pcStack_230 + -0x798c))(pwVar16);\n    pcVar23 = pcStack_230;\n  }" { (expression_statement "(**(code **)(pcStack_230 + -0x798c))(pwVar16);" (call_expression "(**(code **)(pcStack_230 + -0x798c))(pwVar16)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x798c))" ( (pointer_expression "**(code **)(pcStack_230 + -0x798c)" * (pointer_expression "*(code **)(pcStack_230 + -0x798c)" * (cast_expression "(code **)(pcStack_230 + -0x798c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_230 + -0x798c)" ( (binary_expression "pcStack_230 + -0x798c" identifier + number_literal) ))))) )) (argument_list "(pwVar16)" ( identifier ))) ;) (expression_statement "pcVar23 = pcStack_230;" (assignment_expression "pcVar23 = pcStack_230" identifier = identifier) ;) })) (labeled_statement "LAB_000fbca4:\n  if (iStack_1e4 == **(int **)(pcVar23 + -0x5fb4)) {\n    return pwVar14;\n  }" statement_identifier : (if_statement "if (iStack_1e4 == **(int **)(pcVar23 + -0x5fb4)) {\n    return pwVar14;\n  }" if (parenthesized_expression "(iStack_1e4 == **(int **)(pcVar23 + -0x5fb4))" ( (binary_expression "iStack_1e4 == **(int **)(pcVar23 + -0x5fb4)" identifier == (pointer_expression "**(int **)(pcVar23 + -0x5fb4)" * (pointer_expression "*(int **)(pcVar23 + -0x5fb4)" * (cast_expression "(int **)(pcVar23 + -0x5fb4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + -0x5fb4)" ( (binary_expression "pcVar23 + -0x5fb4" identifier + number_literal) )))))) )) (compound_statement "{\n    return pwVar14;\n  }" { (return_statement "return pwVar14;" return identifier ;) }))) (expression_statement "pcVar23 = *(code **)(pcVar23 + -0x6004);" (assignment_expression "pcVar23 = *(code **)(pcVar23 + -0x6004)" identifier = (pointer_expression "*(code **)(pcVar23 + -0x6004)" * (cast_expression "(code **)(pcVar23 + -0x6004)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + -0x6004)" ( (binary_expression "pcVar23 + -0x6004" identifier + number_literal) ))))) ;) (expression_statement "pcVar25 = FUN_000fc42c;" (assignment_expression "pcVar25 = FUN_000fc42c" identifier = identifier) ;) (expression_statement "iVar5 = iStack_1e4;" (assignment_expression "iVar5 = iStack_1e4" identifier = identifier) ;) (expression_statement "(*pcVar23)();" (call_expression "(*pcVar23)()" (parenthesized_expression "(*pcVar23)" ( (pointer_expression "*pcVar23" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_280 = pcVar23 + 0x62114;" (assignment_expression "pcStack_280 = pcVar23 + 0x62114" identifier = (binary_expression "pcVar23 + 0x62114" identifier + number_literal)) ;) (expression_statement "aiStack_278[3] = **(int **)(pcVar23 + 0x5c160);" (assignment_expression "aiStack_278[3] = **(int **)(pcVar23 + 0x5c160)" (subscript_expression "aiStack_278[3]" identifier [ number_literal ]) = (pointer_expression "**(int **)(pcVar23 + 0x5c160)" * (pointer_expression "*(int **)(pcVar23 + 0x5c160)" * (cast_expression "(int **)(pcVar23 + 0x5c160)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5c160)" ( (binary_expression "pcVar23 + 0x5c160" identifier + number_literal) )))))) ;) (expression_statement "pwStack_268 = pwVar16;" (assignment_expression "pwStack_268 = pwVar16" identifier = identifier) ;) (expression_statement "pwStack_264 = pwVar18;" (assignment_expression "pwStack_264 = pwVar18" identifier = identifier) ;) (expression_statement "pwStack_260 = pwVar14;" (assignment_expression "pwStack_260 = pwVar14" identifier = identifier) ;) (expression_statement "pwStack_25c = unaff_s3;" (assignment_expression "pwStack_25c = unaff_s3" identifier = identifier) ;) (expression_statement "pwStack_258 = unaff_s4;" (assignment_expression "pwStack_258 = unaff_s4" identifier = identifier) ;) (expression_statement "pwStack_254 = unaff_s5;" (assignment_expression "pwStack_254 = unaff_s5" identifier = identifier) ;) (expression_statement "pwStack_250 = unaff_s6;" (assignment_expression "pwStack_250 = unaff_s6" identifier = identifier) ;) (expression_statement "pwStack_24c = unaff_s7;" (assignment_expression "pwStack_24c = unaff_s7" identifier = identifier) ;) (expression_statement "ppbStack_248 = unaff_s8;" (assignment_expression "ppbStack_248 = unaff_s8" identifier = identifier) ;) (expression_statement "pcStack_244 = pcVar25;" (assignment_expression "pcStack_244 = pcVar25" identifier = identifier) ;) (expression_statement "iVar10 = (**(code **)(pcVar23 + 0x5c018))();" (assignment_expression "iVar10 = (**(code **)(pcVar23 + 0x5c018))()" identifier = (call_expression "(**(code **)(pcVar23 + 0x5c018))()" (parenthesized_expression "(**(code **)(pcVar23 + 0x5c018))" ( (pointer_expression "**(code **)(pcVar23 + 0x5c018)" * (pointer_expression "*(code **)(pcVar23 + 0x5c018)" * (cast_expression "(code **)(pcVar23 + 0x5c018)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5c018)" ( (binary_expression "pcVar23 + 0x5c018" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "aiStack_278[1] = 0;" (assignment_expression "aiStack_278[1] = 0" (subscript_expression "aiStack_278[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "aiStack_278[2] = 0;" (assignment_expression "aiStack_278[2] = 0" (subscript_expression "aiStack_278[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pwVar16 = (word *)0x0;" (assignment_expression "pwVar16 = (word *)0x0" identifier = (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar13 = 0;" (assignment_expression "iVar13 = 0" identifier = number_literal) ;) (expression_statement "pcVar23 = pcStack_280;" (assignment_expression "pcVar23 = pcStack_280" identifier = identifier) ;) (while_statement "while( true ) {\n    pwVar14 = (word *)(iVar5 + iVar13);\n    bVar2 = *(byte *)pwVar14;\n    iVar17 = iVar13;\n    if (bVar2 == 0) break;\n    if ((bVar2 < 0x20) || (bVar2 == 0x7f)) {\n      pwVar16 = pwVar16 + 1;\n      iVar13 = iVar13 + 1;\n    }\n    else {\n      pwVar15 = (word *)((iVar10 + 1) - iVar13);\n      iVar11 = (**(code **)(pcVar23 + -0x6084))(aiStack_278,pwVar14,pwVar15,aiStack_278 + 1);\n      pcVar23 = pcStack_280;\n      if (iVar11 + 2U < 2) {\n        pwVar16 = (word *)((int)pwVar16 + 1);\n        iVar13 = iVar13 + 1;\n        aiStack_278[1] = 0;\n        aiStack_278[2] = 0;\n      }\n      else {\n        iVar17 = iVar13 + iVar11;\n        if (iVar11 == 0) break;\n        if (aiStack_278[0] < 0x40) {\n          iVar13 = 1;\n          if (aiStack_278[0] < 0x25) {\n            if (3 < aiStack_278[0] - 0x20U) {\n              pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n              goto LAB_000fc594;\n            }\n            iVar13 = 1;\n          }\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n          if (aiStack_278[0] < 0x41) {\nLAB_000fc594:\n            iVar13 = (*pcVar23)();\n          }\n          else {\n            iVar13 = 1;\n            if (0x5f < aiStack_278[0]) {\n              if (0x1d < aiStack_278[0] - 0x61U) goto LAB_000fc594;\n              iVar13 = 1;\n            }\n          }\n        }\n        if (iVar13 < 0) {\n          iVar13 = 1;\n        }\n        pwVar16 = (word *)((int)pwVar16 + iVar13);\n        iVar13 = iVar17;\n        pcVar23 = pcStack_280;\n      }\n    }\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    pwVar14 = (word *)(iVar5 + iVar13);\n    bVar2 = *(byte *)pwVar14;\n    iVar17 = iVar13;\n    if (bVar2 == 0) break;\n    if ((bVar2 < 0x20) || (bVar2 == 0x7f)) {\n      pwVar16 = pwVar16 + 1;\n      iVar13 = iVar13 + 1;\n    }\n    else {\n      pwVar15 = (word *)((iVar10 + 1) - iVar13);\n      iVar11 = (**(code **)(pcVar23 + -0x6084))(aiStack_278,pwVar14,pwVar15,aiStack_278 + 1);\n      pcVar23 = pcStack_280;\n      if (iVar11 + 2U < 2) {\n        pwVar16 = (word *)((int)pwVar16 + 1);\n        iVar13 = iVar13 + 1;\n        aiStack_278[1] = 0;\n        aiStack_278[2] = 0;\n      }\n      else {\n        iVar17 = iVar13 + iVar11;\n        if (iVar11 == 0) break;\n        if (aiStack_278[0] < 0x40) {\n          iVar13 = 1;\n          if (aiStack_278[0] < 0x25) {\n            if (3 < aiStack_278[0] - 0x20U) {\n              pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n              goto LAB_000fc594;\n            }\n            iVar13 = 1;\n          }\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n          if (aiStack_278[0] < 0x41) {\nLAB_000fc594:\n            iVar13 = (*pcVar23)();\n          }\n          else {\n            iVar13 = 1;\n            if (0x5f < aiStack_278[0]) {\n              if (0x1d < aiStack_278[0] - 0x61U) goto LAB_000fc594;\n              iVar13 = 1;\n            }\n          }\n        }\n        if (iVar13 < 0) {\n          iVar13 = 1;\n        }\n        pwVar16 = (word *)((int)pwVar16 + iVar13);\n        iVar13 = iVar17;\n        pcVar23 = pcStack_280;\n      }\n    }\n  }" { (expression_statement "pwVar14 = (word *)(iVar5 + iVar13);" (assignment_expression "pwVar14 = (word *)(iVar5 + iVar13)" identifier = (cast_expression "(word *)(iVar5 + iVar13)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + iVar13)" ( (binary_expression "iVar5 + iVar13" identifier + identifier) )))) ;) (expression_statement "bVar2 = *(byte *)pwVar14;" (assignment_expression "bVar2 = *(byte *)pwVar14" identifier = (pointer_expression "*(byte *)pwVar14" * (cast_expression "(byte *)pwVar14" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "iVar17 = iVar13;" (assignment_expression "iVar17 = iVar13" identifier = identifier) ;) (if_statement "if (bVar2 == 0) break;" if (parenthesized_expression "(bVar2 == 0)" ( (binary_expression "bVar2 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (if_statement "if ((bVar2 < 0x20) || (bVar2 == 0x7f)) {\n      pwVar16 = pwVar16 + 1;\n      iVar13 = iVar13 + 1;\n    }\n    else {\n      pwVar15 = (word *)((iVar10 + 1) - iVar13);\n      iVar11 = (**(code **)(pcVar23 + -0x6084))(aiStack_278,pwVar14,pwVar15,aiStack_278 + 1);\n      pcVar23 = pcStack_280;\n      if (iVar11 + 2U < 2) {\n        pwVar16 = (word *)((int)pwVar16 + 1);\n        iVar13 = iVar13 + 1;\n        aiStack_278[1] = 0;\n        aiStack_278[2] = 0;\n      }\n      else {\n        iVar17 = iVar13 + iVar11;\n        if (iVar11 == 0) break;\n        if (aiStack_278[0] < 0x40) {\n          iVar13 = 1;\n          if (aiStack_278[0] < 0x25) {\n            if (3 < aiStack_278[0] - 0x20U) {\n              pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n              goto LAB_000fc594;\n            }\n            iVar13 = 1;\n          }\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n          if (aiStack_278[0] < 0x41) {\nLAB_000fc594:\n            iVar13 = (*pcVar23)();\n          }\n          else {\n            iVar13 = 1;\n            if (0x5f < aiStack_278[0]) {\n              if (0x1d < aiStack_278[0] - 0x61U) goto LAB_000fc594;\n              iVar13 = 1;\n            }\n          }\n        }\n        if (iVar13 < 0) {\n          iVar13 = 1;\n        }\n        pwVar16 = (word *)((int)pwVar16 + iVar13);\n        iVar13 = iVar17;\n        pcVar23 = pcStack_280;\n      }\n    }" if (parenthesized_expression "((bVar2 < 0x20) || (bVar2 == 0x7f))" ( (binary_expression "(bVar2 < 0x20) || (bVar2 == 0x7f)" (parenthesized_expression "(bVar2 < 0x20)" ( (binary_expression "bVar2 < 0x20" identifier < number_literal) )) || (parenthesized_expression "(bVar2 == 0x7f)" ( (binary_expression "bVar2 == 0x7f" identifier == number_literal) ))) )) (compound_statement "{\n      pwVar16 = pwVar16 + 1;\n      iVar13 = iVar13 + 1;\n    }" { (expression_statement "pwVar16 = pwVar16 + 1;" (assignment_expression "pwVar16 = pwVar16 + 1" identifier = (binary_expression "pwVar16 + 1" identifier + number_literal)) ;) (expression_statement "iVar13 = iVar13 + 1;" (assignment_expression "iVar13 = iVar13 + 1" identifier = (binary_expression "iVar13 + 1" identifier + number_literal)) ;) }) (else_clause "else {\n      pwVar15 = (word *)((iVar10 + 1) - iVar13);\n      iVar11 = (**(code **)(pcVar23 + -0x6084))(aiStack_278,pwVar14,pwVar15,aiStack_278 + 1);\n      pcVar23 = pcStack_280;\n      if (iVar11 + 2U < 2) {\n        pwVar16 = (word *)((int)pwVar16 + 1);\n        iVar13 = iVar13 + 1;\n        aiStack_278[1] = 0;\n        aiStack_278[2] = 0;\n      }\n      else {\n        iVar17 = iVar13 + iVar11;\n        if (iVar11 == 0) break;\n        if (aiStack_278[0] < 0x40) {\n          iVar13 = 1;\n          if (aiStack_278[0] < 0x25) {\n            if (3 < aiStack_278[0] - 0x20U) {\n              pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n              goto LAB_000fc594;\n            }\n            iVar13 = 1;\n          }\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n          if (aiStack_278[0] < 0x41) {\nLAB_000fc594:\n            iVar13 = (*pcVar23)();\n          }\n          else {\n            iVar13 = 1;\n            if (0x5f < aiStack_278[0]) {\n              if (0x1d < aiStack_278[0] - 0x61U) goto LAB_000fc594;\n              iVar13 = 1;\n            }\n          }\n        }\n        if (iVar13 < 0) {\n          iVar13 = 1;\n        }\n        pwVar16 = (word *)((int)pwVar16 + iVar13);\n        iVar13 = iVar17;\n        pcVar23 = pcStack_280;\n      }\n    }" else (compound_statement "{\n      pwVar15 = (word *)((iVar10 + 1) - iVar13);\n      iVar11 = (**(code **)(pcVar23 + -0x6084))(aiStack_278,pwVar14,pwVar15,aiStack_278 + 1);\n      pcVar23 = pcStack_280;\n      if (iVar11 + 2U < 2) {\n        pwVar16 = (word *)((int)pwVar16 + 1);\n        iVar13 = iVar13 + 1;\n        aiStack_278[1] = 0;\n        aiStack_278[2] = 0;\n      }\n      else {\n        iVar17 = iVar13 + iVar11;\n        if (iVar11 == 0) break;\n        if (aiStack_278[0] < 0x40) {\n          iVar13 = 1;\n          if (aiStack_278[0] < 0x25) {\n            if (3 < aiStack_278[0] - 0x20U) {\n              pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n              goto LAB_000fc594;\n            }\n            iVar13 = 1;\n          }\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n          if (aiStack_278[0] < 0x41) {\nLAB_000fc594:\n            iVar13 = (*pcVar23)();\n          }\n          else {\n            iVar13 = 1;\n            if (0x5f < aiStack_278[0]) {\n              if (0x1d < aiStack_278[0] - 0x61U) goto LAB_000fc594;\n              iVar13 = 1;\n            }\n          }\n        }\n        if (iVar13 < 0) {\n          iVar13 = 1;\n        }\n        pwVar16 = (word *)((int)pwVar16 + iVar13);\n        iVar13 = iVar17;\n        pcVar23 = pcStack_280;\n      }\n    }" { (expression_statement "pwVar15 = (word *)((iVar10 + 1) - iVar13);" (assignment_expression "pwVar15 = (word *)((iVar10 + 1) - iVar13)" identifier = (cast_expression "(word *)((iVar10 + 1) - iVar13)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((iVar10 + 1) - iVar13)" ( (binary_expression "(iVar10 + 1) - iVar13" (parenthesized_expression "(iVar10 + 1)" ( (binary_expression "iVar10 + 1" identifier + number_literal) )) - identifier) )))) ;) (expression_statement "iVar11 = (**(code **)(pcVar23 + -0x6084))(aiStack_278,pwVar14,pwVar15,aiStack_278 + 1);" (assignment_expression "iVar11 = (**(code **)(pcVar23 + -0x6084))(aiStack_278,pwVar14,pwVar15,aiStack_278 + 1)" identifier = (call_expression "(**(code **)(pcVar23 + -0x6084))(aiStack_278,pwVar14,pwVar15,aiStack_278 + 1)" (parenthesized_expression "(**(code **)(pcVar23 + -0x6084))" ( (pointer_expression "**(code **)(pcVar23 + -0x6084)" * (pointer_expression "*(code **)(pcVar23 + -0x6084)" * (cast_expression "(code **)(pcVar23 + -0x6084)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + -0x6084)" ( (binary_expression "pcVar23 + -0x6084" identifier + number_literal) ))))) )) (argument_list "(aiStack_278,pwVar14,pwVar15,aiStack_278 + 1)" ( identifier , identifier , identifier , (binary_expression "aiStack_278 + 1" identifier + number_literal) )))) ;) (expression_statement "pcVar23 = pcStack_280;" (assignment_expression "pcVar23 = pcStack_280" identifier = identifier) ;) (if_statement "if (iVar11 + 2U < 2) {\n        pwVar16 = (word *)((int)pwVar16 + 1);\n        iVar13 = iVar13 + 1;\n        aiStack_278[1] = 0;\n        aiStack_278[2] = 0;\n      }\n      else {\n        iVar17 = iVar13 + iVar11;\n        if (iVar11 == 0) break;\n        if (aiStack_278[0] < 0x40) {\n          iVar13 = 1;\n          if (aiStack_278[0] < 0x25) {\n            if (3 < aiStack_278[0] - 0x20U) {\n              pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n              goto LAB_000fc594;\n            }\n            iVar13 = 1;\n          }\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n          if (aiStack_278[0] < 0x41) {\nLAB_000fc594:\n            iVar13 = (*pcVar23)();\n          }\n          else {\n            iVar13 = 1;\n            if (0x5f < aiStack_278[0]) {\n              if (0x1d < aiStack_278[0] - 0x61U) goto LAB_000fc594;\n              iVar13 = 1;\n            }\n          }\n        }\n        if (iVar13 < 0) {\n          iVar13 = 1;\n        }\n        pwVar16 = (word *)((int)pwVar16 + iVar13);\n        iVar13 = iVar17;\n        pcVar23 = pcStack_280;\n      }" if (parenthesized_expression "(iVar11 + 2U < 2)" ( (binary_expression "iVar11 + 2U < 2" (binary_expression "iVar11 + 2U" identifier + number_literal) < number_literal) )) (compound_statement "{\n        pwVar16 = (word *)((int)pwVar16 + 1);\n        iVar13 = iVar13 + 1;\n        aiStack_278[1] = 0;\n        aiStack_278[2] = 0;\n      }" { (expression_statement "pwVar16 = (word *)((int)pwVar16 + 1);" (assignment_expression "pwVar16 = (word *)((int)pwVar16 + 1)" identifier = (cast_expression "(word *)((int)pwVar16 + 1)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwVar16 + 1)" ( (binary_expression "(int)pwVar16 + 1" (cast_expression "(int)pwVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "iVar13 = iVar13 + 1;" (assignment_expression "iVar13 = iVar13 + 1" identifier = (binary_expression "iVar13 + 1" identifier + number_literal)) ;) (expression_statement "aiStack_278[1] = 0;" (assignment_expression "aiStack_278[1] = 0" (subscript_expression "aiStack_278[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "aiStack_278[2] = 0;" (assignment_expression "aiStack_278[2] = 0" (subscript_expression "aiStack_278[2]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n        iVar17 = iVar13 + iVar11;\n        if (iVar11 == 0) break;\n        if (aiStack_278[0] < 0x40) {\n          iVar13 = 1;\n          if (aiStack_278[0] < 0x25) {\n            if (3 < aiStack_278[0] - 0x20U) {\n              pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n              goto LAB_000fc594;\n            }\n            iVar13 = 1;\n          }\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n          if (aiStack_278[0] < 0x41) {\nLAB_000fc594:\n            iVar13 = (*pcVar23)();\n          }\n          else {\n            iVar13 = 1;\n            if (0x5f < aiStack_278[0]) {\n              if (0x1d < aiStack_278[0] - 0x61U) goto LAB_000fc594;\n              iVar13 = 1;\n            }\n          }\n        }\n        if (iVar13 < 0) {\n          iVar13 = 1;\n        }\n        pwVar16 = (word *)((int)pwVar16 + iVar13);\n        iVar13 = iVar17;\n        pcVar23 = pcStack_280;\n      }" else (compound_statement "{\n        iVar17 = iVar13 + iVar11;\n        if (iVar11 == 0) break;\n        if (aiStack_278[0] < 0x40) {\n          iVar13 = 1;\n          if (aiStack_278[0] < 0x25) {\n            if (3 < aiStack_278[0] - 0x20U) {\n              pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n              goto LAB_000fc594;\n            }\n            iVar13 = 1;\n          }\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n          if (aiStack_278[0] < 0x41) {\nLAB_000fc594:\n            iVar13 = (*pcVar23)();\n          }\n          else {\n            iVar13 = 1;\n            if (0x5f < aiStack_278[0]) {\n              if (0x1d < aiStack_278[0] - 0x61U) goto LAB_000fc594;\n              iVar13 = 1;\n            }\n          }\n        }\n        if (iVar13 < 0) {\n          iVar13 = 1;\n        }\n        pwVar16 = (word *)((int)pwVar16 + iVar13);\n        iVar13 = iVar17;\n        pcVar23 = pcStack_280;\n      }" { (expression_statement "iVar17 = iVar13 + iVar11;" (assignment_expression "iVar17 = iVar13 + iVar11" identifier = (binary_expression "iVar13 + iVar11" identifier + identifier)) ;) (if_statement "if (iVar11 == 0) break;" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (if_statement "if (aiStack_278[0] < 0x40) {\n          iVar13 = 1;\n          if (aiStack_278[0] < 0x25) {\n            if (3 < aiStack_278[0] - 0x20U) {\n              pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n              goto LAB_000fc594;\n            }\n            iVar13 = 1;\n          }\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n          if (aiStack_278[0] < 0x41) {\nLAB_000fc594:\n            iVar13 = (*pcVar23)();\n          }\n          else {\n            iVar13 = 1;\n            if (0x5f < aiStack_278[0]) {\n              if (0x1d < aiStack_278[0] - 0x61U) goto LAB_000fc594;\n              iVar13 = 1;\n            }\n          }\n        }" if (parenthesized_expression "(aiStack_278[0] < 0x40)" ( (binary_expression "aiStack_278[0] < 0x40" (subscript_expression "aiStack_278[0]" identifier [ number_literal ]) < number_literal) )) (compound_statement "{\n          iVar13 = 1;\n          if (aiStack_278[0] < 0x25) {\n            if (3 < aiStack_278[0] - 0x20U) {\n              pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n              goto LAB_000fc594;\n            }\n            iVar13 = 1;\n          }\n        }" { (expression_statement "iVar13 = 1;" (assignment_expression "iVar13 = 1" identifier = number_literal) ;) (if_statement "if (aiStack_278[0] < 0x25) {\n            if (3 < aiStack_278[0] - 0x20U) {\n              pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n              goto LAB_000fc594;\n            }\n            iVar13 = 1;\n          }" if (parenthesized_expression "(aiStack_278[0] < 0x25)" ( (binary_expression "aiStack_278[0] < 0x25" (subscript_expression "aiStack_278[0]" identifier [ number_literal ]) < number_literal) )) (compound_statement "{\n            if (3 < aiStack_278[0] - 0x20U) {\n              pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n              goto LAB_000fc594;\n            }\n            iVar13 = 1;\n          }" { (if_statement "if (3 < aiStack_278[0] - 0x20U) {\n              pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n              goto LAB_000fc594;\n            }" if (parenthesized_expression "(3 < aiStack_278[0] - 0x20U)" ( (binary_expression "3 < aiStack_278[0] - 0x20U" number_literal < (binary_expression "aiStack_278[0] - 0x20U" (subscript_expression "aiStack_278[0]" identifier [ number_literal ]) - number_literal)) )) (compound_statement "{\n              pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n              goto LAB_000fc594;\n            }" { (expression_statement "pcVar23 = *(code **)(pcStack_280 + -0x5f84);" (assignment_expression "pcVar23 = *(code **)(pcStack_280 + -0x5f84)" identifier = (pointer_expression "*(code **)(pcStack_280 + -0x5f84)" * (cast_expression "(code **)(pcStack_280 + -0x5f84)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_280 + -0x5f84)" ( (binary_expression "pcStack_280 + -0x5f84" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_000fc594;" goto statement_identifier ;) })) (expression_statement "iVar13 = 1;" (assignment_expression "iVar13 = 1" identifier = number_literal) ;) })) }) (else_clause "else {\n          pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n          if (aiStack_278[0] < 0x41) {\nLAB_000fc594:\n            iVar13 = (*pcVar23)();\n          }\n          else {\n            iVar13 = 1;\n            if (0x5f < aiStack_278[0]) {\n              if (0x1d < aiStack_278[0] - 0x61U) goto LAB_000fc594;\n              iVar13 = 1;\n            }\n          }\n        }" else (compound_statement "{\n          pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n          if (aiStack_278[0] < 0x41) {\nLAB_000fc594:\n            iVar13 = (*pcVar23)();\n          }\n          else {\n            iVar13 = 1;\n            if (0x5f < aiStack_278[0]) {\n              if (0x1d < aiStack_278[0] - 0x61U) goto LAB_000fc594;\n              iVar13 = 1;\n            }\n          }\n        }" { (expression_statement "pcVar23 = *(code **)(pcStack_280 + -0x5f84);" (assignment_expression "pcVar23 = *(code **)(pcStack_280 + -0x5f84)" identifier = (pointer_expression "*(code **)(pcStack_280 + -0x5f84)" * (cast_expression "(code **)(pcStack_280 + -0x5f84)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_280 + -0x5f84)" ( (binary_expression "pcStack_280 + -0x5f84" identifier + number_literal) ))))) ;) (if_statement "if (aiStack_278[0] < 0x41) {\nLAB_000fc594:\n            iVar13 = (*pcVar23)();\n          }\n          else {\n            iVar13 = 1;\n            if (0x5f < aiStack_278[0]) {\n              if (0x1d < aiStack_278[0] - 0x61U) goto LAB_000fc594;\n              iVar13 = 1;\n            }\n          }" if (parenthesized_expression "(aiStack_278[0] < 0x41)" ( (binary_expression "aiStack_278[0] < 0x41" (subscript_expression "aiStack_278[0]" identifier [ number_literal ]) < number_literal) )) (compound_statement "{\nLAB_000fc594:\n            iVar13 = (*pcVar23)();\n          }" { (labeled_statement "LAB_000fc594:\n            iVar13 = (*pcVar23)();" statement_identifier : (expression_statement "iVar13 = (*pcVar23)();" (assignment_expression "iVar13 = (*pcVar23)()" identifier = (call_expression "(*pcVar23)()" (parenthesized_expression "(*pcVar23)" ( (pointer_expression "*pcVar23" * identifier) )) (argument_list "()" ( )))) ;)) }) (else_clause "else {\n            iVar13 = 1;\n            if (0x5f < aiStack_278[0]) {\n              if (0x1d < aiStack_278[0] - 0x61U) goto LAB_000fc594;\n              iVar13 = 1;\n            }\n          }" else (compound_statement "{\n            iVar13 = 1;\n            if (0x5f < aiStack_278[0]) {\n              if (0x1d < aiStack_278[0] - 0x61U) goto LAB_000fc594;\n              iVar13 = 1;\n            }\n          }" { (expression_statement "iVar13 = 1;" (assignment_expression "iVar13 = 1" identifier = number_literal) ;) (if_statement "if (0x5f < aiStack_278[0]) {\n              if (0x1d < aiStack_278[0] - 0x61U) goto LAB_000fc594;\n              iVar13 = 1;\n            }" if (parenthesized_expression "(0x5f < aiStack_278[0])" ( (binary_expression "0x5f < aiStack_278[0]" number_literal < (subscript_expression "aiStack_278[0]" identifier [ number_literal ])) )) (compound_statement "{\n              if (0x1d < aiStack_278[0] - 0x61U) goto LAB_000fc594;\n              iVar13 = 1;\n            }" { (if_statement "if (0x1d < aiStack_278[0] - 0x61U) goto LAB_000fc594;" if (parenthesized_expression "(0x1d < aiStack_278[0] - 0x61U)" ( (binary_expression "0x1d < aiStack_278[0] - 0x61U" number_literal < (binary_expression "aiStack_278[0] - 0x61U" (subscript_expression "aiStack_278[0]" identifier [ number_literal ]) - number_literal)) )) (goto_statement "goto LAB_000fc594;" goto statement_identifier ;)) (expression_statement "iVar13 = 1;" (assignment_expression "iVar13 = 1" identifier = number_literal) ;) })) }))) }))) (if_statement "if (iVar13 < 0) {\n          iVar13 = 1;\n        }" if (parenthesized_expression "(iVar13 < 0)" ( (binary_expression "iVar13 < 0" identifier < number_literal) )) (compound_statement "{\n          iVar13 = 1;\n        }" { (expression_statement "iVar13 = 1;" (assignment_expression "iVar13 = 1" identifier = number_literal) ;) })) (expression_statement "pwVar16 = (word *)((int)pwVar16 + iVar13);" (assignment_expression "pwVar16 = (word *)((int)pwVar16 + iVar13)" identifier = (cast_expression "(word *)((int)pwVar16 + iVar13)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwVar16 + iVar13)" ( (binary_expression "(int)pwVar16 + iVar13" (cast_expression "(int)pwVar16" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "iVar13 = iVar17;" (assignment_expression "iVar13 = iVar17" identifier = identifier) ;) (expression_statement "pcVar23 = pcStack_280;" (assignment_expression "pcVar23 = pcStack_280" identifier = identifier) ;) }))) }))) })) (if_statement "if (aiStack_278[3] == **(int **)(pcVar23 + -0x5fb4)) {\n    return pwVar16;\n  }" if (parenthesized_expression "(aiStack_278[3] == **(int **)(pcVar23 + -0x5fb4))" ( (binary_expression "aiStack_278[3] == **(int **)(pcVar23 + -0x5fb4)" (subscript_expression "aiStack_278[3]" identifier [ number_literal ]) == (pointer_expression "**(int **)(pcVar23 + -0x5fb4)" * (pointer_expression "*(int **)(pcVar23 + -0x5fb4)" * (cast_expression "(int **)(pcVar23 + -0x5fb4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + -0x5fb4)" ( (binary_expression "pcVar23 + -0x5fb4" identifier + number_literal) )))))) )) (compound_statement "{\n    return pwVar16;\n  }" { (return_statement "return pwVar16;" return identifier ;) })) (expression_statement "pcVar23 = *(code **)(pcVar23 + -0x6004);" (assignment_expression "pcVar23 = *(code **)(pcVar23 + -0x6004)" identifier = (pointer_expression "*(code **)(pcVar23 + -0x6004)" * (cast_expression "(code **)(pcVar23 + -0x6004)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + -0x6004)" ( (binary_expression "pcVar23 + -0x6004" identifier + number_literal) ))))) ;) (expression_statement "pcVar25 = FUN_000fc5fc;" (assignment_expression "pcVar25 = FUN_000fc5fc" identifier = identifier) ;) (expression_statement "iVar11 = aiStack_278[3];" (assignment_expression "iVar11 = aiStack_278[3]" identifier = (subscript_expression "aiStack_278[3]" identifier [ number_literal ])) ;) (expression_statement "(*pcVar23)();" (call_expression "(*pcVar23)()" (parenthesized_expression "(*pcVar23)" ( (pointer_expression "*pcVar23" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_2e0 = pcVar23 + 0x61f44;" (assignment_expression "pcStack_2e0 = pcVar23 + 0x61f44" identifier = (binary_expression "pcVar23 + 0x61f44" identifier + number_literal)) ;) (expression_statement "uStack_2a4 = 1;" (assignment_expression "uStack_2a4 = 1" identifier = number_literal) ;) (expression_statement "uStack_2a8 = 0x7f;" (assignment_expression "uStack_2a8 = 0x7f" identifier = number_literal) ;) (expression_statement "pbStack_2bc = (byte *)**(undefined4 **)(pcVar23 + 0x5bf90);" (assignment_expression "pbStack_2bc = (byte *)**(undefined4 **)(pcVar23 + 0x5bf90)" identifier = (cast_expression "(byte *)**(undefined4 **)(pcVar23 + 0x5bf90)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcVar23 + 0x5bf90)" * (pointer_expression "*(undefined4 **)(pcVar23 + 0x5bf90)" * (cast_expression "(undefined4 **)(pcVar23 + 0x5bf90)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5bf90)" ( (binary_expression "pcVar23 + 0x5bf90" identifier + number_literal) ))))))) ;) (expression_statement "pwVar18 = pwVar14;" (assignment_expression "pwVar18 = pwVar14" identifier = identifier) ;) (expression_statement "pwStack_2cc = pwVar15;" (assignment_expression "pwStack_2cc = pwVar15" identifier = identifier) ;) (expression_statement "iStack_2b8 = iVar17;" (assignment_expression "iStack_2b8 = iVar17" identifier = identifier) ;) (expression_statement "pwStack_2b4 = pwVar16;" (assignment_expression "pwStack_2b4 = pwVar16" identifier = identifier) ;) (expression_statement "iStack_2b0 = iVar13;" (assignment_expression "iStack_2b0 = iVar13" identifier = identifier) ;) (expression_statement "iStack_2ac = iVar5;" (assignment_expression "iStack_2ac = iVar5" identifier = identifier) ;) (expression_statement "piStack_2a0 = aiStack_278 + 1;" (assignment_expression "piStack_2a0 = aiStack_278 + 1" identifier = (binary_expression "aiStack_278 + 1" identifier + number_literal)) ;) (expression_statement "piStack_29c = aiStack_278;" (assignment_expression "piStack_29c = aiStack_278" identifier = identifier) ;) (expression_statement "iStack_298 = iVar10 + 1;" (assignment_expression "iStack_298 = iVar10 + 1" identifier = (binary_expression "iVar10 + 1" identifier + number_literal)) ;) (expression_statement "pcStack_294 = pcVar25;" (assignment_expression "pcStack_294 = pcVar25" identifier = identifier) ;) (expression_statement "iVar5 = (**(code **)(pcVar23 + 0x5be48))();" (assignment_expression "iVar5 = (**(code **)(pcVar23 + 0x5be48))()" identifier = (call_expression "(**(code **)(pcVar23 + 0x5be48))()" (parenthesized_expression "(**(code **)(pcVar23 + 0x5be48))" ( (pointer_expression "**(code **)(pcVar23 + 0x5be48)" * (pointer_expression "*(code **)(pcVar23 + 0x5be48)" * (cast_expression "(code **)(pcVar23 + 0x5be48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5be48)" ( (binary_expression "pcVar23 + 0x5be48" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "iStack_2d4 = iVar11 + iVar5 + 1;" (assignment_expression "iStack_2d4 = iVar11 + iVar5 + 1" identifier = (binary_expression "iVar11 + iVar5 + 1" (binary_expression "iVar11 + iVar5" identifier + identifier) + number_literal)) ;) (expression_statement "aiStack_2c8[1] = 0;" (assignment_expression "aiStack_2c8[1] = 0" (subscript_expression "aiStack_2c8[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "aiStack_2c8[2] = 0;" (assignment_expression "aiStack_2c8[2] = 0" (subscript_expression "aiStack_2c8[2]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if ((**(int **)(pcStack_2e0 + -0x65a0) < 1) || ((int)pwVar14 < iVar5)) {\n    if (**(int **)(pcStack_2e0 + -0x67a8) == 0) goto LAB_000fc714;\n    if ((pwVar14 == (word *)0x0) || (**(int **)(pcStack_2e0 + -0x67a4) < 1)) goto LAB_000fc6f0;\n    if (0 < **(int **)(pcStack_2e0 + -0x65a0)) goto LAB_000fc750;\n    pcVar23 = *(code **)(pcStack_2e0 + -0x659c);\n    pwVar6 = pwVar14;\nLAB_000fc6c0:\n    (*pcVar23)();\n    (**(code **)(pcStack_2e0 + -0x6598))();\n    pwVar20 = (word *)0x0;\n    pwVar14 = (word *)0x0;\n  }\n  else if (**(int **)(pcStack_2e0 + -0x67a8) == 0) {\n    pwVar14 = (word *)0x0;\n    pwVar20 = (word *)0x0;\n    pwVar6 = (word *)0x0;\n  }\n  else {\n    pwVar14 = (word *)0x0;\nLAB_000fc6f0:\n    (**(code **)(pcStack_2e0 + -0x659c))();\n    (**(code **)(pcStack_2e0 + -0x6594))(pwStack_2cc);\nLAB_000fc714:\n    pwVar6 = pwVar14;\n    if (pwVar14 == (word *)0x0) {\n      pwVar20 = (word *)0x0;\n    }\n    else if (**(int **)(pcStack_2e0 + -0x65a0) < 1) {\n      pcVar23 = *(code **)(pcStack_2e0 + -0x659c);\n      if (0 < **(int **)(pcStack_2e0 + -0x67a4)) goto LAB_000fc6c0;\n      pwVar6 = (word *)0x0;\n      pwVar20 = (word *)0x0;\n    }\n    else {\nLAB_000fc750:\n      pwVar16 = (word *)0x2e;\n      if (*(byte *)((int)pwVar14 + iVar11) == 0x2e) {\n        pwVar16 = (word *)0x5f;\n      }\n      puVar21 = *(undefined4 **)(pcStack_2e0 + -0x6ef0);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16);\n      pwVar20 = (word *)0x3;\n      pwVar6 = (word *)0x0;\n    }\n  }" if (parenthesized_expression "((**(int **)(pcStack_2e0 + -0x65a0) < 1) || ((int)pwVar14 < iVar5))" ( (binary_expression "(**(int **)(pcStack_2e0 + -0x65a0) < 1) || ((int)pwVar14 < iVar5)" (parenthesized_expression "(**(int **)(pcStack_2e0 + -0x65a0) < 1)" ( (binary_expression "**(int **)(pcStack_2e0 + -0x65a0) < 1" (pointer_expression "**(int **)(pcStack_2e0 + -0x65a0)" * (pointer_expression "*(int **)(pcStack_2e0 + -0x65a0)" * (cast_expression "(int **)(pcStack_2e0 + -0x65a0)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x65a0)" ( (binary_expression "pcStack_2e0 + -0x65a0" identifier + number_literal) ))))) < number_literal) )) || (parenthesized_expression "((int)pwVar14 < iVar5)" ( (binary_expression "(int)pwVar14 < iVar5" (cast_expression "(int)pwVar14" ( (type_descriptor "int" primitive_type) ) identifier) < identifier) ))) )) (compound_statement "{\n    if (**(int **)(pcStack_2e0 + -0x67a8) == 0) goto LAB_000fc714;\n    if ((pwVar14 == (word *)0x0) || (**(int **)(pcStack_2e0 + -0x67a4) < 1)) goto LAB_000fc6f0;\n    if (0 < **(int **)(pcStack_2e0 + -0x65a0)) goto LAB_000fc750;\n    pcVar23 = *(code **)(pcStack_2e0 + -0x659c);\n    pwVar6 = pwVar14;\nLAB_000fc6c0:\n    (*pcVar23)();\n    (**(code **)(pcStack_2e0 + -0x6598))();\n    pwVar20 = (word *)0x0;\n    pwVar14 = (word *)0x0;\n  }" { (if_statement "if (**(int **)(pcStack_2e0 + -0x67a8) == 0) goto LAB_000fc714;" if (parenthesized_expression "(**(int **)(pcStack_2e0 + -0x67a8) == 0)" ( (binary_expression "**(int **)(pcStack_2e0 + -0x67a8) == 0" (pointer_expression "**(int **)(pcStack_2e0 + -0x67a8)" * (pointer_expression "*(int **)(pcStack_2e0 + -0x67a8)" * (cast_expression "(int **)(pcStack_2e0 + -0x67a8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x67a8)" ( (binary_expression "pcStack_2e0 + -0x67a8" identifier + number_literal) ))))) == number_literal) )) (goto_statement "goto LAB_000fc714;" goto statement_identifier ;)) (if_statement "if ((pwVar14 == (word *)0x0) || (**(int **)(pcStack_2e0 + -0x67a4) < 1)) goto LAB_000fc6f0;" if (parenthesized_expression "((pwVar14 == (word *)0x0) || (**(int **)(pcStack_2e0 + -0x67a4) < 1))" ( (binary_expression "(pwVar14 == (word *)0x0) || (**(int **)(pcStack_2e0 + -0x67a4) < 1)" (parenthesized_expression "(pwVar14 == (word *)0x0)" ( (binary_expression "pwVar14 == (word *)0x0" identifier == (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(**(int **)(pcStack_2e0 + -0x67a4) < 1)" ( (binary_expression "**(int **)(pcStack_2e0 + -0x67a4) < 1" (pointer_expression "**(int **)(pcStack_2e0 + -0x67a4)" * (pointer_expression "*(int **)(pcStack_2e0 + -0x67a4)" * (cast_expression "(int **)(pcStack_2e0 + -0x67a4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x67a4)" ( (binary_expression "pcStack_2e0 + -0x67a4" identifier + number_literal) ))))) < number_literal) ))) )) (goto_statement "goto LAB_000fc6f0;" goto statement_identifier ;)) (if_statement "if (0 < **(int **)(pcStack_2e0 + -0x65a0)) goto LAB_000fc750;" if (parenthesized_expression "(0 < **(int **)(pcStack_2e0 + -0x65a0))" ( (binary_expression "0 < **(int **)(pcStack_2e0 + -0x65a0)" number_literal < (pointer_expression "**(int **)(pcStack_2e0 + -0x65a0)" * (pointer_expression "*(int **)(pcStack_2e0 + -0x65a0)" * (cast_expression "(int **)(pcStack_2e0 + -0x65a0)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x65a0)" ( (binary_expression "pcStack_2e0 + -0x65a0" identifier + number_literal) )))))) )) (goto_statement "goto LAB_000fc750;" goto statement_identifier ;)) (expression_statement "pcVar23 = *(code **)(pcStack_2e0 + -0x659c);" (assignment_expression "pcVar23 = *(code **)(pcStack_2e0 + -0x659c)" identifier = (pointer_expression "*(code **)(pcStack_2e0 + -0x659c)" * (cast_expression "(code **)(pcStack_2e0 + -0x659c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x659c)" ( (binary_expression "pcStack_2e0 + -0x659c" identifier + number_literal) ))))) ;) (expression_statement "pwVar6 = pwVar14;" (assignment_expression "pwVar6 = pwVar14" identifier = identifier) ;) (labeled_statement "LAB_000fc6c0:\n    (*pcVar23)();" statement_identifier : (expression_statement "(*pcVar23)();" (call_expression "(*pcVar23)()" (parenthesized_expression "(*pcVar23)" ( (pointer_expression "*pcVar23" * identifier) )) (argument_list "()" ( ))) ;)) (expression_statement "(**(code **)(pcStack_2e0 + -0x6598))();" (call_expression "(**(code **)(pcStack_2e0 + -0x6598))()" (parenthesized_expression "(**(code **)(pcStack_2e0 + -0x6598))" ( (pointer_expression "**(code **)(pcStack_2e0 + -0x6598)" * (pointer_expression "*(code **)(pcStack_2e0 + -0x6598)" * (cast_expression "(code **)(pcStack_2e0 + -0x6598)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x6598)" ( (binary_expression "pcStack_2e0 + -0x6598" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "pwVar20 = (word *)0x0;" (assignment_expression "pwVar20 = (word *)0x0" identifier = (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pwVar14 = (word *)0x0;" (assignment_expression "pwVar14 = (word *)0x0" identifier = (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else if (**(int **)(pcStack_2e0 + -0x67a8) == 0) {\n    pwVar14 = (word *)0x0;\n    pwVar20 = (word *)0x0;\n    pwVar6 = (word *)0x0;\n  }\n  else {\n    pwVar14 = (word *)0x0;\nLAB_000fc6f0:\n    (**(code **)(pcStack_2e0 + -0x659c))();\n    (**(code **)(pcStack_2e0 + -0x6594))(pwStack_2cc);\nLAB_000fc714:\n    pwVar6 = pwVar14;\n    if (pwVar14 == (word *)0x0) {\n      pwVar20 = (word *)0x0;\n    }\n    else if (**(int **)(pcStack_2e0 + -0x65a0) < 1) {\n      pcVar23 = *(code **)(pcStack_2e0 + -0x659c);\n      if (0 < **(int **)(pcStack_2e0 + -0x67a4)) goto LAB_000fc6c0;\n      pwVar6 = (word *)0x0;\n      pwVar20 = (word *)0x0;\n    }\n    else {\nLAB_000fc750:\n      pwVar16 = (word *)0x2e;\n      if (*(byte *)((int)pwVar14 + iVar11) == 0x2e) {\n        pwVar16 = (word *)0x5f;\n      }\n      puVar21 = *(undefined4 **)(pcStack_2e0 + -0x6ef0);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16);\n      pwVar20 = (word *)0x3;\n      pwVar6 = (word *)0x0;\n    }\n  }" else (if_statement "if (**(int **)(pcStack_2e0 + -0x67a8) == 0) {\n    pwVar14 = (word *)0x0;\n    pwVar20 = (word *)0x0;\n    pwVar6 = (word *)0x0;\n  }\n  else {\n    pwVar14 = (word *)0x0;\nLAB_000fc6f0:\n    (**(code **)(pcStack_2e0 + -0x659c))();\n    (**(code **)(pcStack_2e0 + -0x6594))(pwStack_2cc);\nLAB_000fc714:\n    pwVar6 = pwVar14;\n    if (pwVar14 == (word *)0x0) {\n      pwVar20 = (word *)0x0;\n    }\n    else if (**(int **)(pcStack_2e0 + -0x65a0) < 1) {\n      pcVar23 = *(code **)(pcStack_2e0 + -0x659c);\n      if (0 < **(int **)(pcStack_2e0 + -0x67a4)) goto LAB_000fc6c0;\n      pwVar6 = (word *)0x0;\n      pwVar20 = (word *)0x0;\n    }\n    else {\nLAB_000fc750:\n      pwVar16 = (word *)0x2e;\n      if (*(byte *)((int)pwVar14 + iVar11) == 0x2e) {\n        pwVar16 = (word *)0x5f;\n      }\n      puVar21 = *(undefined4 **)(pcStack_2e0 + -0x6ef0);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16);\n      pwVar20 = (word *)0x3;\n      pwVar6 = (word *)0x0;\n    }\n  }" if (parenthesized_expression "(**(int **)(pcStack_2e0 + -0x67a8) == 0)" ( (binary_expression "**(int **)(pcStack_2e0 + -0x67a8) == 0" (pointer_expression "**(int **)(pcStack_2e0 + -0x67a8)" * (pointer_expression "*(int **)(pcStack_2e0 + -0x67a8)" * (cast_expression "(int **)(pcStack_2e0 + -0x67a8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x67a8)" ( (binary_expression "pcStack_2e0 + -0x67a8" identifier + number_literal) ))))) == number_literal) )) (compound_statement "{\n    pwVar14 = (word *)0x0;\n    pwVar20 = (word *)0x0;\n    pwVar6 = (word *)0x0;\n  }" { (expression_statement "pwVar14 = (word *)0x0;" (assignment_expression "pwVar14 = (word *)0x0" identifier = (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pwVar20 = (word *)0x0;" (assignment_expression "pwVar20 = (word *)0x0" identifier = (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pwVar6 = (word *)0x0;" (assignment_expression "pwVar6 = (word *)0x0" identifier = (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n    pwVar14 = (word *)0x0;\nLAB_000fc6f0:\n    (**(code **)(pcStack_2e0 + -0x659c))();\n    (**(code **)(pcStack_2e0 + -0x6594))(pwStack_2cc);\nLAB_000fc714:\n    pwVar6 = pwVar14;\n    if (pwVar14 == (word *)0x0) {\n      pwVar20 = (word *)0x0;\n    }\n    else if (**(int **)(pcStack_2e0 + -0x65a0) < 1) {\n      pcVar23 = *(code **)(pcStack_2e0 + -0x659c);\n      if (0 < **(int **)(pcStack_2e0 + -0x67a4)) goto LAB_000fc6c0;\n      pwVar6 = (word *)0x0;\n      pwVar20 = (word *)0x0;\n    }\n    else {\nLAB_000fc750:\n      pwVar16 = (word *)0x2e;\n      if (*(byte *)((int)pwVar14 + iVar11) == 0x2e) {\n        pwVar16 = (word *)0x5f;\n      }\n      puVar21 = *(undefined4 **)(pcStack_2e0 + -0x6ef0);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16);\n      pwVar20 = (word *)0x3;\n      pwVar6 = (word *)0x0;\n    }\n  }" else (compound_statement "{\n    pwVar14 = (word *)0x0;\nLAB_000fc6f0:\n    (**(code **)(pcStack_2e0 + -0x659c))();\n    (**(code **)(pcStack_2e0 + -0x6594))(pwStack_2cc);\nLAB_000fc714:\n    pwVar6 = pwVar14;\n    if (pwVar14 == (word *)0x0) {\n      pwVar20 = (word *)0x0;\n    }\n    else if (**(int **)(pcStack_2e0 + -0x65a0) < 1) {\n      pcVar23 = *(code **)(pcStack_2e0 + -0x659c);\n      if (0 < **(int **)(pcStack_2e0 + -0x67a4)) goto LAB_000fc6c0;\n      pwVar6 = (word *)0x0;\n      pwVar20 = (word *)0x0;\n    }\n    else {\nLAB_000fc750:\n      pwVar16 = (word *)0x2e;\n      if (*(byte *)((int)pwVar14 + iVar11) == 0x2e) {\n        pwVar16 = (word *)0x5f;\n      }\n      puVar21 = *(undefined4 **)(pcStack_2e0 + -0x6ef0);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16);\n      pwVar20 = (word *)0x3;\n      pwVar6 = (word *)0x0;\n    }\n  }" { (expression_statement "pwVar14 = (word *)0x0;" (assignment_expression "pwVar14 = (word *)0x0" identifier = (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_000fc6f0:\n    (**(code **)(pcStack_2e0 + -0x659c))();" statement_identifier : (expression_statement "(**(code **)(pcStack_2e0 + -0x659c))();" (call_expression "(**(code **)(pcStack_2e0 + -0x659c))()" (parenthesized_expression "(**(code **)(pcStack_2e0 + -0x659c))" ( (pointer_expression "**(code **)(pcStack_2e0 + -0x659c)" * (pointer_expression "*(code **)(pcStack_2e0 + -0x659c)" * (cast_expression "(code **)(pcStack_2e0 + -0x659c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x659c)" ( (binary_expression "pcStack_2e0 + -0x659c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;)) (expression_statement "(**(code **)(pcStack_2e0 + -0x6594))(pwStack_2cc);" (call_expression "(**(code **)(pcStack_2e0 + -0x6594))(pwStack_2cc)" (parenthesized_expression "(**(code **)(pcStack_2e0 + -0x6594))" ( (pointer_expression "**(code **)(pcStack_2e0 + -0x6594)" * (pointer_expression "*(code **)(pcStack_2e0 + -0x6594)" * (cast_expression "(code **)(pcStack_2e0 + -0x6594)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x6594)" ( (binary_expression "pcStack_2e0 + -0x6594" identifier + number_literal) ))))) )) (argument_list "(pwStack_2cc)" ( identifier ))) ;) (labeled_statement "LAB_000fc714:\n    pwVar6 = pwVar14;" statement_identifier : (expression_statement "pwVar6 = pwVar14;" (assignment_expression "pwVar6 = pwVar14" identifier = identifier) ;)) (if_statement "if (pwVar14 == (word *)0x0) {\n      pwVar20 = (word *)0x0;\n    }\n    else if (**(int **)(pcStack_2e0 + -0x65a0) < 1) {\n      pcVar23 = *(code **)(pcStack_2e0 + -0x659c);\n      if (0 < **(int **)(pcStack_2e0 + -0x67a4)) goto LAB_000fc6c0;\n      pwVar6 = (word *)0x0;\n      pwVar20 = (word *)0x0;\n    }\n    else {\nLAB_000fc750:\n      pwVar16 = (word *)0x2e;\n      if (*(byte *)((int)pwVar14 + iVar11) == 0x2e) {\n        pwVar16 = (word *)0x5f;\n      }\n      puVar21 = *(undefined4 **)(pcStack_2e0 + -0x6ef0);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16);\n      pwVar20 = (word *)0x3;\n      pwVar6 = (word *)0x0;\n    }" if (parenthesized_expression "(pwVar14 == (word *)0x0)" ( (binary_expression "pwVar14 == (word *)0x0" identifier == (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pwVar20 = (word *)0x0;\n    }" { (expression_statement "pwVar20 = (word *)0x0;" (assignment_expression "pwVar20 = (word *)0x0" identifier = (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else if (**(int **)(pcStack_2e0 + -0x65a0) < 1) {\n      pcVar23 = *(code **)(pcStack_2e0 + -0x659c);\n      if (0 < **(int **)(pcStack_2e0 + -0x67a4)) goto LAB_000fc6c0;\n      pwVar6 = (word *)0x0;\n      pwVar20 = (word *)0x0;\n    }\n    else {\nLAB_000fc750:\n      pwVar16 = (word *)0x2e;\n      if (*(byte *)((int)pwVar14 + iVar11) == 0x2e) {\n        pwVar16 = (word *)0x5f;\n      }\n      puVar21 = *(undefined4 **)(pcStack_2e0 + -0x6ef0);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16);\n      pwVar20 = (word *)0x3;\n      pwVar6 = (word *)0x0;\n    }" else (if_statement "if (**(int **)(pcStack_2e0 + -0x65a0) < 1) {\n      pcVar23 = *(code **)(pcStack_2e0 + -0x659c);\n      if (0 < **(int **)(pcStack_2e0 + -0x67a4)) goto LAB_000fc6c0;\n      pwVar6 = (word *)0x0;\n      pwVar20 = (word *)0x0;\n    }\n    else {\nLAB_000fc750:\n      pwVar16 = (word *)0x2e;\n      if (*(byte *)((int)pwVar14 + iVar11) == 0x2e) {\n        pwVar16 = (word *)0x5f;\n      }\n      puVar21 = *(undefined4 **)(pcStack_2e0 + -0x6ef0);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16);\n      pwVar20 = (word *)0x3;\n      pwVar6 = (word *)0x0;\n    }" if (parenthesized_expression "(**(int **)(pcStack_2e0 + -0x65a0) < 1)" ( (binary_expression "**(int **)(pcStack_2e0 + -0x65a0) < 1" (pointer_expression "**(int **)(pcStack_2e0 + -0x65a0)" * (pointer_expression "*(int **)(pcStack_2e0 + -0x65a0)" * (cast_expression "(int **)(pcStack_2e0 + -0x65a0)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x65a0)" ( (binary_expression "pcStack_2e0 + -0x65a0" identifier + number_literal) ))))) < number_literal) )) (compound_statement "{\n      pcVar23 = *(code **)(pcStack_2e0 + -0x659c);\n      if (0 < **(int **)(pcStack_2e0 + -0x67a4)) goto LAB_000fc6c0;\n      pwVar6 = (word *)0x0;\n      pwVar20 = (word *)0x0;\n    }" { (expression_statement "pcVar23 = *(code **)(pcStack_2e0 + -0x659c);" (assignment_expression "pcVar23 = *(code **)(pcStack_2e0 + -0x659c)" identifier = (pointer_expression "*(code **)(pcStack_2e0 + -0x659c)" * (cast_expression "(code **)(pcStack_2e0 + -0x659c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x659c)" ( (binary_expression "pcStack_2e0 + -0x659c" identifier + number_literal) ))))) ;) (if_statement "if (0 < **(int **)(pcStack_2e0 + -0x67a4)) goto LAB_000fc6c0;" if (parenthesized_expression "(0 < **(int **)(pcStack_2e0 + -0x67a4))" ( (binary_expression "0 < **(int **)(pcStack_2e0 + -0x67a4)" number_literal < (pointer_expression "**(int **)(pcStack_2e0 + -0x67a4)" * (pointer_expression "*(int **)(pcStack_2e0 + -0x67a4)" * (cast_expression "(int **)(pcStack_2e0 + -0x67a4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x67a4)" ( (binary_expression "pcStack_2e0 + -0x67a4" identifier + number_literal) )))))) )) (goto_statement "goto LAB_000fc6c0;" goto statement_identifier ;)) (expression_statement "pwVar6 = (word *)0x0;" (assignment_expression "pwVar6 = (word *)0x0" identifier = (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pwVar20 = (word *)0x0;" (assignment_expression "pwVar20 = (word *)0x0" identifier = (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\nLAB_000fc750:\n      pwVar16 = (word *)0x2e;\n      if (*(byte *)((int)pwVar14 + iVar11) == 0x2e) {\n        pwVar16 = (word *)0x5f;\n      }\n      puVar21 = *(undefined4 **)(pcStack_2e0 + -0x6ef0);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16);\n      pwVar20 = (word *)0x3;\n      pwVar6 = (word *)0x0;\n    }" else (compound_statement "{\nLAB_000fc750:\n      pwVar16 = (word *)0x2e;\n      if (*(byte *)((int)pwVar14 + iVar11) == 0x2e) {\n        pwVar16 = (word *)0x5f;\n      }\n      puVar21 = *(undefined4 **)(pcStack_2e0 + -0x6ef0);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16);\n      pwVar20 = (word *)0x3;\n      pwVar6 = (word *)0x0;\n    }" { (labeled_statement "LAB_000fc750:\n      pwVar16 = (word *)0x2e;" statement_identifier : (expression_statement "pwVar16 = (word *)0x2e;" (assignment_expression "pwVar16 = (word *)0x2e" identifier = (cast_expression "(word *)0x2e" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (if_statement "if (*(byte *)((int)pwVar14 + iVar11) == 0x2e) {\n        pwVar16 = (word *)0x5f;\n      }" if (parenthesized_expression "(*(byte *)((int)pwVar14 + iVar11) == 0x2e)" ( (binary_expression "*(byte *)((int)pwVar14 + iVar11) == 0x2e" (pointer_expression "*(byte *)((int)pwVar14 + iVar11)" * (cast_expression "(byte *)((int)pwVar14 + iVar11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwVar14 + iVar11)" ( (binary_expression "(int)pwVar14 + iVar11" (cast_expression "(int)pwVar14" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) == number_literal) )) (compound_statement "{\n        pwVar16 = (word *)0x5f;\n      }" { (expression_statement "pwVar16 = (word *)0x5f;" (assignment_expression "pwVar16 = (word *)0x5f" identifier = (cast_expression "(word *)0x5f" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (expression_statement "puVar21 = *(undefined4 **)(pcStack_2e0 + -0x6ef0);" (assignment_expression "puVar21 = *(undefined4 **)(pcStack_2e0 + -0x6ef0)" identifier = (pointer_expression "*(undefined4 **)(pcStack_2e0 + -0x6ef0)" * (cast_expression "(undefined4 **)(pcStack_2e0 + -0x6ef0)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x6ef0)" ( (binary_expression "pcStack_2e0 + -0x6ef0" identifier + number_literal) ))))) ;) (expression_statement "(**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);" (call_expression "(**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21)" (parenthesized_expression "(**(code **)(pcStack_2e0 + -0x61f0))" ( (pointer_expression "**(code **)(pcStack_2e0 + -0x61f0)" * (pointer_expression "*(code **)(pcStack_2e0 + -0x61f0)" * (cast_expression "(code **)(pcStack_2e0 + -0x61f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x61f0)" ( (binary_expression "pcStack_2e0 + -0x61f0" identifier + number_literal) ))))) )) (argument_list "(pwVar16,*puVar21)" ( identifier , (pointer_expression "*puVar21" * identifier) ))) ;) (expression_statement "(**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);" (call_expression "(**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21)" (parenthesized_expression "(**(code **)(pcStack_2e0 + -0x61f0))" ( (pointer_expression "**(code **)(pcStack_2e0 + -0x61f0)" * (pointer_expression "*(code **)(pcStack_2e0 + -0x61f0)" * (cast_expression "(code **)(pcStack_2e0 + -0x61f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x61f0)" ( (binary_expression "pcStack_2e0 + -0x61f0" identifier + number_literal) ))))) )) (argument_list "(pwVar16,*puVar21)" ( identifier , (pointer_expression "*puVar21" * identifier) ))) ;) (expression_statement "pwVar18 = (word *)*puVar21;" (assignment_expression "pwVar18 = (word *)*puVar21" identifier = (cast_expression "(word *)*puVar21" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar21" * identifier))) ;) (expression_statement "(**(code **)(pcStack_2e0 + -0x61f0))(pwVar16);" (call_expression "(**(code **)(pcStack_2e0 + -0x61f0))(pwVar16)" (parenthesized_expression "(**(code **)(pcStack_2e0 + -0x61f0))" ( (pointer_expression "**(code **)(pcStack_2e0 + -0x61f0)" * (pointer_expression "*(code **)(pcStack_2e0 + -0x61f0)" * (cast_expression "(code **)(pcStack_2e0 + -0x61f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x61f0)" ( (binary_expression "pcStack_2e0 + -0x61f0" identifier + number_literal) ))))) )) (argument_list "(pwVar16)" ( identifier ))) ;) (expression_statement "pwVar20 = (word *)0x3;" (assignment_expression "pwVar20 = (word *)0x3" identifier = (cast_expression "(word *)0x3" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pwVar6 = (word *)0x0;" (assignment_expression "pwVar6 = (word *)0x0" identifier = (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))))) }))))) (expression_statement "pwVar14 = (word *)((int)pwVar14 + iVar11);" (assignment_expression "pwVar14 = (word *)((int)pwVar14 + iVar11)" identifier = (cast_expression "(word *)((int)pwVar14 + iVar11)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwVar14 + iVar11)" ( (binary_expression "(int)pwVar14 + iVar11" (cast_expression "(int)pwVar14" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "puVar21 = *(undefined4 **)(pcStack_2e0 + -0x6ef0);" (assignment_expression "puVar21 = *(undefined4 **)(pcStack_2e0 + -0x6ef0)" identifier = (pointer_expression "*(undefined4 **)(pcStack_2e0 + -0x6ef0)" * (cast_expression "(undefined4 **)(pcStack_2e0 + -0x6ef0)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x6ef0)" ( (binary_expression "pcStack_2e0 + -0x6ef0" identifier + number_literal) ))))) ;) (expression_statement "iStack_2d0 = *(int *)(pcStack_2e0 + -26000) + 0xb8;" (assignment_expression "iStack_2d0 = *(int *)(pcStack_2e0 + -26000) + 0xb8" identifier = (binary_expression "*(int *)(pcStack_2e0 + -26000) + 0xb8" (pointer_expression "*(int *)(pcStack_2e0 + -26000)" * (cast_expression "(int *)(pcStack_2e0 + -26000)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_2e0 + -26000)" ( (binary_expression "pcStack_2e0 + -26000" identifier + number_literal) )))) + number_literal)) ;) (while_statement "while (bVar2 = *(byte *)pwVar14, bVar2 != 0) {\n    if (bVar2 < 0x20) {\n      (**(code **)(pcStack_2e0 + -0x61f0))(0x5e,*puVar21);\n      pwVar16 = (word *)((int)(char)*(byte *)pwVar14 | 0x40);\n      pbVar24 = (byte *)(*(byte *)pwVar14 | 0x40);\n      if ((word *)pbVar24 == pwVar16) {\n        piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x6290))();\n        if ((*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 2) != 0) {\n          piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x5f10))();\n          pwVar16 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n        }\n      }\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16);\n      pwVar20 = pwVar20 + 1;\n      pwVar14 = (word *)((int)pwVar14 + 1);\n      aiStack_2c8[1] = 0;\n      aiStack_2c8[2] = 0;\n    }\n    else if (bVar2 == 0x7f) {\n      (**(code **)(pcStack_2e0 + -0x61f0))(0x5e,*puVar21);\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(0x3f);\n      pwVar20 = pwVar20 + 1;\n      pwVar14 = (word *)((int)pwVar14 + 1);\n      aiStack_2c8[1] = 0;\n      aiStack_2c8[2] = 0;\n    }\n    else {\n      pwVar15 = (word *)(iStack_2d4 - (int)pwVar14);\n      pwVar18 = pwVar14;\n      pwVar16 = (word *)(**(code **)(pcStack_2e0 + -0x6084))(aiStack_2c8,pwVar14,pwVar15);\n      iVar5 = 1;\n      if (pwVar16 + 1 < (word *)0x2) {\n        aiStack_2c8[1] = 0;\n        aiStack_2c8[2] = 0;\n        pwVar16 = (word *)0x1;\n      }\n      else {\n        if (pwVar16 == (word *)0x0) break;\n        if (aiStack_2c8[0] < 0x40) {\n          if (aiStack_2c8[0] < 0x25) {\n            pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n            if (3 < aiStack_2c8[0] - 0x20U) goto LAB_000fc9c0;\n          }\n          else {\n            iVar5 = 1;\n          }\n        }\n        else if (aiStack_2c8[0] < 0x41) {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\nLAB_000fc9c0:\n          iVar5 = (*pcVar23)();\n        }\n        else if (aiStack_2c8[0] < 0x60) {\n          iVar5 = 1;\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n          if (0x1d < aiStack_2c8[0] - 0x61U) goto LAB_000fc9c0;\n          iVar5 = 1;\n        }\n        if (iVar5 < 0) {\n          iVar5 = 1;\n        }\n      }\n      pwVar18 = (word *)0x1;\n      pwVar15 = pwVar16;\n      (**(code **)(pcStack_2e0 + -0x6054))(pwVar14,1,pwVar16,*puVar21);\n      pwVar14 = (word *)((int)pwVar14 + (int)pwVar16);\n      pwVar20 = (word *)((int)pwVar20 + iVar5);\n    }\n    if ((0 < (int)pwVar6) && ((int)pwVar6 <= (int)pwVar14 - iVar11)) {\n      (**(code **)(pcStack_2e0 + -0x658c))();\n      (**(code **)(pcStack_2e0 + -0x6588))(iStack_2d0);\n      pwVar6 = (word *)**(undefined4 **)(pcStack_2e0 + -0x67a8);\n      if (pwVar6 != (word *)0x0) {\n        (**(code **)(pcStack_2e0 + -0x659c))();\n        (**(code **)(pcStack_2e0 + -0x6594))(pwStack_2cc);\n        pwVar6 = (word *)0x0;\n      }\n    }\n  }" while (parenthesized_expression "(bVar2 = *(byte *)pwVar14, bVar2 != 0)" ( (comma_expression "bVar2 = *(byte *)pwVar14, bVar2 != 0" (assignment_expression "bVar2 = *(byte *)pwVar14" identifier = (pointer_expression "*(byte *)pwVar14" * (cast_expression "(byte *)pwVar14" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) , (binary_expression "bVar2 != 0" identifier != number_literal)) )) (compound_statement "{\n    if (bVar2 < 0x20) {\n      (**(code **)(pcStack_2e0 + -0x61f0))(0x5e,*puVar21);\n      pwVar16 = (word *)((int)(char)*(byte *)pwVar14 | 0x40);\n      pbVar24 = (byte *)(*(byte *)pwVar14 | 0x40);\n      if ((word *)pbVar24 == pwVar16) {\n        piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x6290))();\n        if ((*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 2) != 0) {\n          piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x5f10))();\n          pwVar16 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n        }\n      }\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16);\n      pwVar20 = pwVar20 + 1;\n      pwVar14 = (word *)((int)pwVar14 + 1);\n      aiStack_2c8[1] = 0;\n      aiStack_2c8[2] = 0;\n    }\n    else if (bVar2 == 0x7f) {\n      (**(code **)(pcStack_2e0 + -0x61f0))(0x5e,*puVar21);\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(0x3f);\n      pwVar20 = pwVar20 + 1;\n      pwVar14 = (word *)((int)pwVar14 + 1);\n      aiStack_2c8[1] = 0;\n      aiStack_2c8[2] = 0;\n    }\n    else {\n      pwVar15 = (word *)(iStack_2d4 - (int)pwVar14);\n      pwVar18 = pwVar14;\n      pwVar16 = (word *)(**(code **)(pcStack_2e0 + -0x6084))(aiStack_2c8,pwVar14,pwVar15);\n      iVar5 = 1;\n      if (pwVar16 + 1 < (word *)0x2) {\n        aiStack_2c8[1] = 0;\n        aiStack_2c8[2] = 0;\n        pwVar16 = (word *)0x1;\n      }\n      else {\n        if (pwVar16 == (word *)0x0) break;\n        if (aiStack_2c8[0] < 0x40) {\n          if (aiStack_2c8[0] < 0x25) {\n            pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n            if (3 < aiStack_2c8[0] - 0x20U) goto LAB_000fc9c0;\n          }\n          else {\n            iVar5 = 1;\n          }\n        }\n        else if (aiStack_2c8[0] < 0x41) {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\nLAB_000fc9c0:\n          iVar5 = (*pcVar23)();\n        }\n        else if (aiStack_2c8[0] < 0x60) {\n          iVar5 = 1;\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n          if (0x1d < aiStack_2c8[0] - 0x61U) goto LAB_000fc9c0;\n          iVar5 = 1;\n        }\n        if (iVar5 < 0) {\n          iVar5 = 1;\n        }\n      }\n      pwVar18 = (word *)0x1;\n      pwVar15 = pwVar16;\n      (**(code **)(pcStack_2e0 + -0x6054))(pwVar14,1,pwVar16,*puVar21);\n      pwVar14 = (word *)((int)pwVar14 + (int)pwVar16);\n      pwVar20 = (word *)((int)pwVar20 + iVar5);\n    }\n    if ((0 < (int)pwVar6) && ((int)pwVar6 <= (int)pwVar14 - iVar11)) {\n      (**(code **)(pcStack_2e0 + -0x658c))();\n      (**(code **)(pcStack_2e0 + -0x6588))(iStack_2d0);\n      pwVar6 = (word *)**(undefined4 **)(pcStack_2e0 + -0x67a8);\n      if (pwVar6 != (word *)0x0) {\n        (**(code **)(pcStack_2e0 + -0x659c))();\n        (**(code **)(pcStack_2e0 + -0x6594))(pwStack_2cc);\n        pwVar6 = (word *)0x0;\n      }\n    }\n  }" { (if_statement "if (bVar2 < 0x20) {\n      (**(code **)(pcStack_2e0 + -0x61f0))(0x5e,*puVar21);\n      pwVar16 = (word *)((int)(char)*(byte *)pwVar14 | 0x40);\n      pbVar24 = (byte *)(*(byte *)pwVar14 | 0x40);\n      if ((word *)pbVar24 == pwVar16) {\n        piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x6290))();\n        if ((*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 2) != 0) {\n          piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x5f10))();\n          pwVar16 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n        }\n      }\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16);\n      pwVar20 = pwVar20 + 1;\n      pwVar14 = (word *)((int)pwVar14 + 1);\n      aiStack_2c8[1] = 0;\n      aiStack_2c8[2] = 0;\n    }\n    else if (bVar2 == 0x7f) {\n      (**(code **)(pcStack_2e0 + -0x61f0))(0x5e,*puVar21);\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(0x3f);\n      pwVar20 = pwVar20 + 1;\n      pwVar14 = (word *)((int)pwVar14 + 1);\n      aiStack_2c8[1] = 0;\n      aiStack_2c8[2] = 0;\n    }\n    else {\n      pwVar15 = (word *)(iStack_2d4 - (int)pwVar14);\n      pwVar18 = pwVar14;\n      pwVar16 = (word *)(**(code **)(pcStack_2e0 + -0x6084))(aiStack_2c8,pwVar14,pwVar15);\n      iVar5 = 1;\n      if (pwVar16 + 1 < (word *)0x2) {\n        aiStack_2c8[1] = 0;\n        aiStack_2c8[2] = 0;\n        pwVar16 = (word *)0x1;\n      }\n      else {\n        if (pwVar16 == (word *)0x0) break;\n        if (aiStack_2c8[0] < 0x40) {\n          if (aiStack_2c8[0] < 0x25) {\n            pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n            if (3 < aiStack_2c8[0] - 0x20U) goto LAB_000fc9c0;\n          }\n          else {\n            iVar5 = 1;\n          }\n        }\n        else if (aiStack_2c8[0] < 0x41) {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\nLAB_000fc9c0:\n          iVar5 = (*pcVar23)();\n        }\n        else if (aiStack_2c8[0] < 0x60) {\n          iVar5 = 1;\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n          if (0x1d < aiStack_2c8[0] - 0x61U) goto LAB_000fc9c0;\n          iVar5 = 1;\n        }\n        if (iVar5 < 0) {\n          iVar5 = 1;\n        }\n      }\n      pwVar18 = (word *)0x1;\n      pwVar15 = pwVar16;\n      (**(code **)(pcStack_2e0 + -0x6054))(pwVar14,1,pwVar16,*puVar21);\n      pwVar14 = (word *)((int)pwVar14 + (int)pwVar16);\n      pwVar20 = (word *)((int)pwVar20 + iVar5);\n    }" if (parenthesized_expression "(bVar2 < 0x20)" ( (binary_expression "bVar2 < 0x20" identifier < number_literal) )) (compound_statement "{\n      (**(code **)(pcStack_2e0 + -0x61f0))(0x5e,*puVar21);\n      pwVar16 = (word *)((int)(char)*(byte *)pwVar14 | 0x40);\n      pbVar24 = (byte *)(*(byte *)pwVar14 | 0x40);\n      if ((word *)pbVar24 == pwVar16) {\n        piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x6290))();\n        if ((*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 2) != 0) {\n          piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x5f10))();\n          pwVar16 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n        }\n      }\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16);\n      pwVar20 = pwVar20 + 1;\n      pwVar14 = (word *)((int)pwVar14 + 1);\n      aiStack_2c8[1] = 0;\n      aiStack_2c8[2] = 0;\n    }" { (expression_statement "(**(code **)(pcStack_2e0 + -0x61f0))(0x5e,*puVar21);" (call_expression "(**(code **)(pcStack_2e0 + -0x61f0))(0x5e,*puVar21)" (parenthesized_expression "(**(code **)(pcStack_2e0 + -0x61f0))" ( (pointer_expression "**(code **)(pcStack_2e0 + -0x61f0)" * (pointer_expression "*(code **)(pcStack_2e0 + -0x61f0)" * (cast_expression "(code **)(pcStack_2e0 + -0x61f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x61f0)" ( (binary_expression "pcStack_2e0 + -0x61f0" identifier + number_literal) ))))) )) (argument_list "(0x5e,*puVar21)" ( number_literal , (pointer_expression "*puVar21" * identifier) ))) ;) (expression_statement "pwVar16 = (word *)((int)(char)*(byte *)pwVar14 | 0x40);" (assignment_expression "pwVar16 = (word *)((int)(char)*(byte *)pwVar14 | 0x40)" identifier = (cast_expression "(word *)((int)(char)*(byte *)pwVar14 | 0x40)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)(char)*(byte *)pwVar14 | 0x40)" ( (binary_expression "(int)(char)*(byte *)pwVar14 | 0x40" (cast_expression "(int)(char)*(byte *)pwVar14" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)*(byte *)pwVar14" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(byte *)pwVar14" * (cast_expression "(byte *)pwVar14" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) | number_literal) )))) ;) (expression_statement "pbVar24 = (byte *)(*(byte *)pwVar14 | 0x40);" (assignment_expression "pbVar24 = (byte *)(*(byte *)pwVar14 | 0x40)" identifier = (cast_expression "(byte *)(*(byte *)pwVar14 | 0x40)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(byte *)pwVar14 | 0x40)" ( (binary_expression "*(byte *)pwVar14 | 0x40" (pointer_expression "*(byte *)pwVar14" * (cast_expression "(byte *)pwVar14" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) | number_literal) )))) ;) (if_statement "if ((word *)pbVar24 == pwVar16) {\n        piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x6290))();\n        if ((*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 2) != 0) {\n          piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x5f10))();\n          pwVar16 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n        }\n      }" if (parenthesized_expression "((word *)pbVar24 == pwVar16)" ( (binary_expression "(word *)pbVar24 == pwVar16" (cast_expression "(word *)pbVar24" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) == identifier) )) (compound_statement "{\n        piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x6290))();\n        if ((*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 2) != 0) {\n          piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x5f10))();\n          pwVar16 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n        }\n      }" { (expression_statement "piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x6290))();" (assignment_expression "piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x6290))()" identifier = (cast_expression "(int *)(**(code **)(pcStack_2e0 + -0x6290))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_2e0 + -0x6290))()" (parenthesized_expression "(**(code **)(pcStack_2e0 + -0x6290))" ( (pointer_expression "**(code **)(pcStack_2e0 + -0x6290)" * (pointer_expression "*(code **)(pcStack_2e0 + -0x6290)" * (cast_expression "(code **)(pcStack_2e0 + -0x6290)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x6290)" ( (binary_expression "pcStack_2e0 + -0x6290" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (if_statement "if ((*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 2) != 0) {\n          piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x5f10))();\n          pwVar16 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n        }" if (parenthesized_expression "((*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 2) != 0)" ( (binary_expression "(*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 2) != 0" (parenthesized_expression "(*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 2)" ( (binary_expression "*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 2" (pointer_expression "*(ushort *)(*piVar9 + (int)pbVar24 * 2)" * (cast_expression "(ushort *)(*piVar9 + (int)pbVar24 * 2)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar9 + (int)pbVar24 * 2)" ( (binary_expression "*piVar9 + (int)pbVar24 * 2" (pointer_expression "*piVar9" * identifier) + (binary_expression "(int)pbVar24 * 2" (cast_expression "(int)pbVar24" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n          piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x5f10))();\n          pwVar16 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n        }" { (expression_statement "piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x5f10))();" (assignment_expression "piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x5f10))()" identifier = (cast_expression "(int *)(**(code **)(pcStack_2e0 + -0x5f10))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_2e0 + -0x5f10))()" (parenthesized_expression "(**(code **)(pcStack_2e0 + -0x5f10))" ( (pointer_expression "**(code **)(pcStack_2e0 + -0x5f10)" * (pointer_expression "*(code **)(pcStack_2e0 + -0x5f10)" * (cast_expression "(code **)(pcStack_2e0 + -0x5f10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x5f10)" ( (binary_expression "pcStack_2e0 + -0x5f10" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "pwVar16 = *(word **)(*piVar9 + (int)pbVar24 * 4);" (assignment_expression "pwVar16 = *(word **)(*piVar9 + (int)pbVar24 * 4)" identifier = (pointer_expression "*(word **)(*piVar9 + (int)pbVar24 * 4)" * (cast_expression "(word **)(*piVar9 + (int)pbVar24 * 4)" ( (type_descriptor "word **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar9 + (int)pbVar24 * 4)" ( (binary_expression "*piVar9 + (int)pbVar24 * 4" (pointer_expression "*piVar9" * identifier) + (binary_expression "(int)pbVar24 * 4" (cast_expression "(int)pbVar24" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ))))) ;) })) })) (expression_statement "pwVar18 = (word *)*puVar21;" (assignment_expression "pwVar18 = (word *)*puVar21" identifier = (cast_expression "(word *)*puVar21" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar21" * identifier))) ;) (expression_statement "(**(code **)(pcStack_2e0 + -0x61f0))(pwVar16);" (call_expression "(**(code **)(pcStack_2e0 + -0x61f0))(pwVar16)" (parenthesized_expression "(**(code **)(pcStack_2e0 + -0x61f0))" ( (pointer_expression "**(code **)(pcStack_2e0 + -0x61f0)" * (pointer_expression "*(code **)(pcStack_2e0 + -0x61f0)" * (cast_expression "(code **)(pcStack_2e0 + -0x61f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x61f0)" ( (binary_expression "pcStack_2e0 + -0x61f0" identifier + number_literal) ))))) )) (argument_list "(pwVar16)" ( identifier ))) ;) (expression_statement "pwVar20 = pwVar20 + 1;" (assignment_expression "pwVar20 = pwVar20 + 1" identifier = (binary_expression "pwVar20 + 1" identifier + number_literal)) ;) (expression_statement "pwVar14 = (word *)((int)pwVar14 + 1);" (assignment_expression "pwVar14 = (word *)((int)pwVar14 + 1)" identifier = (cast_expression "(word *)((int)pwVar14 + 1)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwVar14 + 1)" ( (binary_expression "(int)pwVar14 + 1" (cast_expression "(int)pwVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "aiStack_2c8[1] = 0;" (assignment_expression "aiStack_2c8[1] = 0" (subscript_expression "aiStack_2c8[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "aiStack_2c8[2] = 0;" (assignment_expression "aiStack_2c8[2] = 0" (subscript_expression "aiStack_2c8[2]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else if (bVar2 == 0x7f) {\n      (**(code **)(pcStack_2e0 + -0x61f0))(0x5e,*puVar21);\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(0x3f);\n      pwVar20 = pwVar20 + 1;\n      pwVar14 = (word *)((int)pwVar14 + 1);\n      aiStack_2c8[1] = 0;\n      aiStack_2c8[2] = 0;\n    }\n    else {\n      pwVar15 = (word *)(iStack_2d4 - (int)pwVar14);\n      pwVar18 = pwVar14;\n      pwVar16 = (word *)(**(code **)(pcStack_2e0 + -0x6084))(aiStack_2c8,pwVar14,pwVar15);\n      iVar5 = 1;\n      if (pwVar16 + 1 < (word *)0x2) {\n        aiStack_2c8[1] = 0;\n        aiStack_2c8[2] = 0;\n        pwVar16 = (word *)0x1;\n      }\n      else {\n        if (pwVar16 == (word *)0x0) break;\n        if (aiStack_2c8[0] < 0x40) {\n          if (aiStack_2c8[0] < 0x25) {\n            pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n            if (3 < aiStack_2c8[0] - 0x20U) goto LAB_000fc9c0;\n          }\n          else {\n            iVar5 = 1;\n          }\n        }\n        else if (aiStack_2c8[0] < 0x41) {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\nLAB_000fc9c0:\n          iVar5 = (*pcVar23)();\n        }\n        else if (aiStack_2c8[0] < 0x60) {\n          iVar5 = 1;\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n          if (0x1d < aiStack_2c8[0] - 0x61U) goto LAB_000fc9c0;\n          iVar5 = 1;\n        }\n        if (iVar5 < 0) {\n          iVar5 = 1;\n        }\n      }\n      pwVar18 = (word *)0x1;\n      pwVar15 = pwVar16;\n      (**(code **)(pcStack_2e0 + -0x6054))(pwVar14,1,pwVar16,*puVar21);\n      pwVar14 = (word *)((int)pwVar14 + (int)pwVar16);\n      pwVar20 = (word *)((int)pwVar20 + iVar5);\n    }" else (if_statement "if (bVar2 == 0x7f) {\n      (**(code **)(pcStack_2e0 + -0x61f0))(0x5e,*puVar21);\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(0x3f);\n      pwVar20 = pwVar20 + 1;\n      pwVar14 = (word *)((int)pwVar14 + 1);\n      aiStack_2c8[1] = 0;\n      aiStack_2c8[2] = 0;\n    }\n    else {\n      pwVar15 = (word *)(iStack_2d4 - (int)pwVar14);\n      pwVar18 = pwVar14;\n      pwVar16 = (word *)(**(code **)(pcStack_2e0 + -0x6084))(aiStack_2c8,pwVar14,pwVar15);\n      iVar5 = 1;\n      if (pwVar16 + 1 < (word *)0x2) {\n        aiStack_2c8[1] = 0;\n        aiStack_2c8[2] = 0;\n        pwVar16 = (word *)0x1;\n      }\n      else {\n        if (pwVar16 == (word *)0x0) break;\n        if (aiStack_2c8[0] < 0x40) {\n          if (aiStack_2c8[0] < 0x25) {\n            pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n            if (3 < aiStack_2c8[0] - 0x20U) goto LAB_000fc9c0;\n          }\n          else {\n            iVar5 = 1;\n          }\n        }\n        else if (aiStack_2c8[0] < 0x41) {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\nLAB_000fc9c0:\n          iVar5 = (*pcVar23)();\n        }\n        else if (aiStack_2c8[0] < 0x60) {\n          iVar5 = 1;\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n          if (0x1d < aiStack_2c8[0] - 0x61U) goto LAB_000fc9c0;\n          iVar5 = 1;\n        }\n        if (iVar5 < 0) {\n          iVar5 = 1;\n        }\n      }\n      pwVar18 = (word *)0x1;\n      pwVar15 = pwVar16;\n      (**(code **)(pcStack_2e0 + -0x6054))(pwVar14,1,pwVar16,*puVar21);\n      pwVar14 = (word *)((int)pwVar14 + (int)pwVar16);\n      pwVar20 = (word *)((int)pwVar20 + iVar5);\n    }" if (parenthesized_expression "(bVar2 == 0x7f)" ( (binary_expression "bVar2 == 0x7f" identifier == number_literal) )) (compound_statement "{\n      (**(code **)(pcStack_2e0 + -0x61f0))(0x5e,*puVar21);\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(0x3f);\n      pwVar20 = pwVar20 + 1;\n      pwVar14 = (word *)((int)pwVar14 + 1);\n      aiStack_2c8[1] = 0;\n      aiStack_2c8[2] = 0;\n    }" { (expression_statement "(**(code **)(pcStack_2e0 + -0x61f0))(0x5e,*puVar21);" (call_expression "(**(code **)(pcStack_2e0 + -0x61f0))(0x5e,*puVar21)" (parenthesized_expression "(**(code **)(pcStack_2e0 + -0x61f0))" ( (pointer_expression "**(code **)(pcStack_2e0 + -0x61f0)" * (pointer_expression "*(code **)(pcStack_2e0 + -0x61f0)" * (cast_expression "(code **)(pcStack_2e0 + -0x61f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x61f0)" ( (binary_expression "pcStack_2e0 + -0x61f0" identifier + number_literal) ))))) )) (argument_list "(0x5e,*puVar21)" ( number_literal , (pointer_expression "*puVar21" * identifier) ))) ;) (expression_statement "pwVar18 = (word *)*puVar21;" (assignment_expression "pwVar18 = (word *)*puVar21" identifier = (cast_expression "(word *)*puVar21" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar21" * identifier))) ;) (expression_statement "(**(code **)(pcStack_2e0 + -0x61f0))(0x3f);" (call_expression "(**(code **)(pcStack_2e0 + -0x61f0))(0x3f)" (parenthesized_expression "(**(code **)(pcStack_2e0 + -0x61f0))" ( (pointer_expression "**(code **)(pcStack_2e0 + -0x61f0)" * (pointer_expression "*(code **)(pcStack_2e0 + -0x61f0)" * (cast_expression "(code **)(pcStack_2e0 + -0x61f0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x61f0)" ( (binary_expression "pcStack_2e0 + -0x61f0" identifier + number_literal) ))))) )) (argument_list "(0x3f)" ( number_literal ))) ;) (expression_statement "pwVar20 = pwVar20 + 1;" (assignment_expression "pwVar20 = pwVar20 + 1" identifier = (binary_expression "pwVar20 + 1" identifier + number_literal)) ;) (expression_statement "pwVar14 = (word *)((int)pwVar14 + 1);" (assignment_expression "pwVar14 = (word *)((int)pwVar14 + 1)" identifier = (cast_expression "(word *)((int)pwVar14 + 1)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwVar14 + 1)" ( (binary_expression "(int)pwVar14 + 1" (cast_expression "(int)pwVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "aiStack_2c8[1] = 0;" (assignment_expression "aiStack_2c8[1] = 0" (subscript_expression "aiStack_2c8[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "aiStack_2c8[2] = 0;" (assignment_expression "aiStack_2c8[2] = 0" (subscript_expression "aiStack_2c8[2]" identifier [ number_literal ]) = number_literal) ;) }) (else_clause "else {\n      pwVar15 = (word *)(iStack_2d4 - (int)pwVar14);\n      pwVar18 = pwVar14;\n      pwVar16 = (word *)(**(code **)(pcStack_2e0 + -0x6084))(aiStack_2c8,pwVar14,pwVar15);\n      iVar5 = 1;\n      if (pwVar16 + 1 < (word *)0x2) {\n        aiStack_2c8[1] = 0;\n        aiStack_2c8[2] = 0;\n        pwVar16 = (word *)0x1;\n      }\n      else {\n        if (pwVar16 == (word *)0x0) break;\n        if (aiStack_2c8[0] < 0x40) {\n          if (aiStack_2c8[0] < 0x25) {\n            pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n            if (3 < aiStack_2c8[0] - 0x20U) goto LAB_000fc9c0;\n          }\n          else {\n            iVar5 = 1;\n          }\n        }\n        else if (aiStack_2c8[0] < 0x41) {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\nLAB_000fc9c0:\n          iVar5 = (*pcVar23)();\n        }\n        else if (aiStack_2c8[0] < 0x60) {\n          iVar5 = 1;\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n          if (0x1d < aiStack_2c8[0] - 0x61U) goto LAB_000fc9c0;\n          iVar5 = 1;\n        }\n        if (iVar5 < 0) {\n          iVar5 = 1;\n        }\n      }\n      pwVar18 = (word *)0x1;\n      pwVar15 = pwVar16;\n      (**(code **)(pcStack_2e0 + -0x6054))(pwVar14,1,pwVar16,*puVar21);\n      pwVar14 = (word *)((int)pwVar14 + (int)pwVar16);\n      pwVar20 = (word *)((int)pwVar20 + iVar5);\n    }" else (compound_statement "{\n      pwVar15 = (word *)(iStack_2d4 - (int)pwVar14);\n      pwVar18 = pwVar14;\n      pwVar16 = (word *)(**(code **)(pcStack_2e0 + -0x6084))(aiStack_2c8,pwVar14,pwVar15);\n      iVar5 = 1;\n      if (pwVar16 + 1 < (word *)0x2) {\n        aiStack_2c8[1] = 0;\n        aiStack_2c8[2] = 0;\n        pwVar16 = (word *)0x1;\n      }\n      else {\n        if (pwVar16 == (word *)0x0) break;\n        if (aiStack_2c8[0] < 0x40) {\n          if (aiStack_2c8[0] < 0x25) {\n            pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n            if (3 < aiStack_2c8[0] - 0x20U) goto LAB_000fc9c0;\n          }\n          else {\n            iVar5 = 1;\n          }\n        }\n        else if (aiStack_2c8[0] < 0x41) {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\nLAB_000fc9c0:\n          iVar5 = (*pcVar23)();\n        }\n        else if (aiStack_2c8[0] < 0x60) {\n          iVar5 = 1;\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n          if (0x1d < aiStack_2c8[0] - 0x61U) goto LAB_000fc9c0;\n          iVar5 = 1;\n        }\n        if (iVar5 < 0) {\n          iVar5 = 1;\n        }\n      }\n      pwVar18 = (word *)0x1;\n      pwVar15 = pwVar16;\n      (**(code **)(pcStack_2e0 + -0x6054))(pwVar14,1,pwVar16,*puVar21);\n      pwVar14 = (word *)((int)pwVar14 + (int)pwVar16);\n      pwVar20 = (word *)((int)pwVar20 + iVar5);\n    }" { (expression_statement "pwVar15 = (word *)(iStack_2d4 - (int)pwVar14);" (assignment_expression "pwVar15 = (word *)(iStack_2d4 - (int)pwVar14)" identifier = (cast_expression "(word *)(iStack_2d4 - (int)pwVar14)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_2d4 - (int)pwVar14)" ( (binary_expression "iStack_2d4 - (int)pwVar14" identifier - (cast_expression "(int)pwVar14" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pwVar18 = pwVar14;" (assignment_expression "pwVar18 = pwVar14" identifier = identifier) ;) (expression_statement "pwVar16 = (word *)(**(code **)(pcStack_2e0 + -0x6084))(aiStack_2c8,pwVar14,pwVar15);" (assignment_expression "pwVar16 = (word *)(**(code **)(pcStack_2e0 + -0x6084))(aiStack_2c8,pwVar14,pwVar15)" identifier = (cast_expression "(word *)(**(code **)(pcStack_2e0 + -0x6084))(aiStack_2c8,pwVar14,pwVar15)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcStack_2e0 + -0x6084))(aiStack_2c8,pwVar14,pwVar15)" (parenthesized_expression "(**(code **)(pcStack_2e0 + -0x6084))" ( (pointer_expression "**(code **)(pcStack_2e0 + -0x6084)" * (pointer_expression "*(code **)(pcStack_2e0 + -0x6084)" * (cast_expression "(code **)(pcStack_2e0 + -0x6084)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x6084)" ( (binary_expression "pcStack_2e0 + -0x6084" identifier + number_literal) ))))) )) (argument_list "(aiStack_2c8,pwVar14,pwVar15)" ( identifier , identifier , identifier ))))) ;) (expression_statement "iVar5 = 1;" (assignment_expression "iVar5 = 1" identifier = number_literal) ;) (if_statement "if (pwVar16 + 1 < (word *)0x2) {\n        aiStack_2c8[1] = 0;\n        aiStack_2c8[2] = 0;\n        pwVar16 = (word *)0x1;\n      }\n      else {\n        if (pwVar16 == (word *)0x0) break;\n        if (aiStack_2c8[0] < 0x40) {\n          if (aiStack_2c8[0] < 0x25) {\n            pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n            if (3 < aiStack_2c8[0] - 0x20U) goto LAB_000fc9c0;\n          }\n          else {\n            iVar5 = 1;\n          }\n        }\n        else if (aiStack_2c8[0] < 0x41) {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\nLAB_000fc9c0:\n          iVar5 = (*pcVar23)();\n        }\n        else if (aiStack_2c8[0] < 0x60) {\n          iVar5 = 1;\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n          if (0x1d < aiStack_2c8[0] - 0x61U) goto LAB_000fc9c0;\n          iVar5 = 1;\n        }\n        if (iVar5 < 0) {\n          iVar5 = 1;\n        }\n      }" if (parenthesized_expression "(pwVar16 + 1 < (word *)0x2)" ( (binary_expression "pwVar16 + 1 < (word *)0x2" (binary_expression "pwVar16 + 1" identifier + number_literal) < (cast_expression "(word *)0x2" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        aiStack_2c8[1] = 0;\n        aiStack_2c8[2] = 0;\n        pwVar16 = (word *)0x1;\n      }" { (expression_statement "aiStack_2c8[1] = 0;" (assignment_expression "aiStack_2c8[1] = 0" (subscript_expression "aiStack_2c8[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "aiStack_2c8[2] = 0;" (assignment_expression "aiStack_2c8[2] = 0" (subscript_expression "aiStack_2c8[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pwVar16 = (word *)0x1;" (assignment_expression "pwVar16 = (word *)0x1" identifier = (cast_expression "(word *)0x1" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n        if (pwVar16 == (word *)0x0) break;\n        if (aiStack_2c8[0] < 0x40) {\n          if (aiStack_2c8[0] < 0x25) {\n            pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n            if (3 < aiStack_2c8[0] - 0x20U) goto LAB_000fc9c0;\n          }\n          else {\n            iVar5 = 1;\n          }\n        }\n        else if (aiStack_2c8[0] < 0x41) {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\nLAB_000fc9c0:\n          iVar5 = (*pcVar23)();\n        }\n        else if (aiStack_2c8[0] < 0x60) {\n          iVar5 = 1;\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n          if (0x1d < aiStack_2c8[0] - 0x61U) goto LAB_000fc9c0;\n          iVar5 = 1;\n        }\n        if (iVar5 < 0) {\n          iVar5 = 1;\n        }\n      }" else (compound_statement "{\n        if (pwVar16 == (word *)0x0) break;\n        if (aiStack_2c8[0] < 0x40) {\n          if (aiStack_2c8[0] < 0x25) {\n            pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n            if (3 < aiStack_2c8[0] - 0x20U) goto LAB_000fc9c0;\n          }\n          else {\n            iVar5 = 1;\n          }\n        }\n        else if (aiStack_2c8[0] < 0x41) {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\nLAB_000fc9c0:\n          iVar5 = (*pcVar23)();\n        }\n        else if (aiStack_2c8[0] < 0x60) {\n          iVar5 = 1;\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n          if (0x1d < aiStack_2c8[0] - 0x61U) goto LAB_000fc9c0;\n          iVar5 = 1;\n        }\n        if (iVar5 < 0) {\n          iVar5 = 1;\n        }\n      }" { (if_statement "if (pwVar16 == (word *)0x0) break;" if (parenthesized_expression "(pwVar16 == (word *)0x0)" ( (binary_expression "pwVar16 == (word *)0x0" identifier == (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (if_statement "if (aiStack_2c8[0] < 0x40) {\n          if (aiStack_2c8[0] < 0x25) {\n            pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n            if (3 < aiStack_2c8[0] - 0x20U) goto LAB_000fc9c0;\n          }\n          else {\n            iVar5 = 1;\n          }\n        }\n        else if (aiStack_2c8[0] < 0x41) {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\nLAB_000fc9c0:\n          iVar5 = (*pcVar23)();\n        }\n        else if (aiStack_2c8[0] < 0x60) {\n          iVar5 = 1;\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n          if (0x1d < aiStack_2c8[0] - 0x61U) goto LAB_000fc9c0;\n          iVar5 = 1;\n        }" if (parenthesized_expression "(aiStack_2c8[0] < 0x40)" ( (binary_expression "aiStack_2c8[0] < 0x40" (subscript_expression "aiStack_2c8[0]" identifier [ number_literal ]) < number_literal) )) (compound_statement "{\n          if (aiStack_2c8[0] < 0x25) {\n            pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n            if (3 < aiStack_2c8[0] - 0x20U) goto LAB_000fc9c0;\n          }\n          else {\n            iVar5 = 1;\n          }\n        }" { (if_statement "if (aiStack_2c8[0] < 0x25) {\n            pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n            if (3 < aiStack_2c8[0] - 0x20U) goto LAB_000fc9c0;\n          }\n          else {\n            iVar5 = 1;\n          }" if (parenthesized_expression "(aiStack_2c8[0] < 0x25)" ( (binary_expression "aiStack_2c8[0] < 0x25" (subscript_expression "aiStack_2c8[0]" identifier [ number_literal ]) < number_literal) )) (compound_statement "{\n            pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n            if (3 < aiStack_2c8[0] - 0x20U) goto LAB_000fc9c0;\n          }" { (expression_statement "pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);" (assignment_expression "pcVar23 = *(code **)(pcStack_2e0 + -0x5f84)" identifier = (pointer_expression "*(code **)(pcStack_2e0 + -0x5f84)" * (cast_expression "(code **)(pcStack_2e0 + -0x5f84)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x5f84)" ( (binary_expression "pcStack_2e0 + -0x5f84" identifier + number_literal) ))))) ;) (if_statement "if (3 < aiStack_2c8[0] - 0x20U) goto LAB_000fc9c0;" if (parenthesized_expression "(3 < aiStack_2c8[0] - 0x20U)" ( (binary_expression "3 < aiStack_2c8[0] - 0x20U" number_literal < (binary_expression "aiStack_2c8[0] - 0x20U" (subscript_expression "aiStack_2c8[0]" identifier [ number_literal ]) - number_literal)) )) (goto_statement "goto LAB_000fc9c0;" goto statement_identifier ;)) }) (else_clause "else {\n            iVar5 = 1;\n          }" else (compound_statement "{\n            iVar5 = 1;\n          }" { (expression_statement "iVar5 = 1;" (assignment_expression "iVar5 = 1" identifier = number_literal) ;) }))) }) (else_clause "else if (aiStack_2c8[0] < 0x41) {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\nLAB_000fc9c0:\n          iVar5 = (*pcVar23)();\n        }\n        else if (aiStack_2c8[0] < 0x60) {\n          iVar5 = 1;\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n          if (0x1d < aiStack_2c8[0] - 0x61U) goto LAB_000fc9c0;\n          iVar5 = 1;\n        }" else (if_statement "if (aiStack_2c8[0] < 0x41) {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\nLAB_000fc9c0:\n          iVar5 = (*pcVar23)();\n        }\n        else if (aiStack_2c8[0] < 0x60) {\n          iVar5 = 1;\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n          if (0x1d < aiStack_2c8[0] - 0x61U) goto LAB_000fc9c0;\n          iVar5 = 1;\n        }" if (parenthesized_expression "(aiStack_2c8[0] < 0x41)" ( (binary_expression "aiStack_2c8[0] < 0x41" (subscript_expression "aiStack_2c8[0]" identifier [ number_literal ]) < number_literal) )) (compound_statement "{\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\nLAB_000fc9c0:\n          iVar5 = (*pcVar23)();\n        }" { (expression_statement "pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);" (assignment_expression "pcVar23 = *(code **)(pcStack_2e0 + -0x5f84)" identifier = (pointer_expression "*(code **)(pcStack_2e0 + -0x5f84)" * (cast_expression "(code **)(pcStack_2e0 + -0x5f84)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x5f84)" ( (binary_expression "pcStack_2e0 + -0x5f84" identifier + number_literal) ))))) ;) (labeled_statement "LAB_000fc9c0:\n          iVar5 = (*pcVar23)();" statement_identifier : (expression_statement "iVar5 = (*pcVar23)();" (assignment_expression "iVar5 = (*pcVar23)()" identifier = (call_expression "(*pcVar23)()" (parenthesized_expression "(*pcVar23)" ( (pointer_expression "*pcVar23" * identifier) )) (argument_list "()" ( )))) ;)) }) (else_clause "else if (aiStack_2c8[0] < 0x60) {\n          iVar5 = 1;\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n          if (0x1d < aiStack_2c8[0] - 0x61U) goto LAB_000fc9c0;\n          iVar5 = 1;\n        }" else (if_statement "if (aiStack_2c8[0] < 0x60) {\n          iVar5 = 1;\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n          if (0x1d < aiStack_2c8[0] - 0x61U) goto LAB_000fc9c0;\n          iVar5 = 1;\n        }" if (parenthesized_expression "(aiStack_2c8[0] < 0x60)" ( (binary_expression "aiStack_2c8[0] < 0x60" (subscript_expression "aiStack_2c8[0]" identifier [ number_literal ]) < number_literal) )) (compound_statement "{\n          iVar5 = 1;\n        }" { (expression_statement "iVar5 = 1;" (assignment_expression "iVar5 = 1" identifier = number_literal) ;) }) (else_clause "else {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n          if (0x1d < aiStack_2c8[0] - 0x61U) goto LAB_000fc9c0;\n          iVar5 = 1;\n        }" else (compound_statement "{\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n          if (0x1d < aiStack_2c8[0] - 0x61U) goto LAB_000fc9c0;\n          iVar5 = 1;\n        }" { (expression_statement "pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);" (assignment_expression "pcVar23 = *(code **)(pcStack_2e0 + -0x5f84)" identifier = (pointer_expression "*(code **)(pcStack_2e0 + -0x5f84)" * (cast_expression "(code **)(pcStack_2e0 + -0x5f84)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x5f84)" ( (binary_expression "pcStack_2e0 + -0x5f84" identifier + number_literal) ))))) ;) (if_statement "if (0x1d < aiStack_2c8[0] - 0x61U) goto LAB_000fc9c0;" if (parenthesized_expression "(0x1d < aiStack_2c8[0] - 0x61U)" ( (binary_expression "0x1d < aiStack_2c8[0] - 0x61U" number_literal < (binary_expression "aiStack_2c8[0] - 0x61U" (subscript_expression "aiStack_2c8[0]" identifier [ number_literal ]) - number_literal)) )) (goto_statement "goto LAB_000fc9c0;" goto statement_identifier ;)) (expression_statement "iVar5 = 1;" (assignment_expression "iVar5 = 1" identifier = number_literal) ;) }))))))) (if_statement "if (iVar5 < 0) {\n          iVar5 = 1;\n        }" if (parenthesized_expression "(iVar5 < 0)" ( (binary_expression "iVar5 < 0" identifier < number_literal) )) (compound_statement "{\n          iVar5 = 1;\n        }" { (expression_statement "iVar5 = 1;" (assignment_expression "iVar5 = 1" identifier = number_literal) ;) })) }))) (expression_statement "pwVar18 = (word *)0x1;" (assignment_expression "pwVar18 = (word *)0x1" identifier = (cast_expression "(word *)0x1" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pwVar15 = pwVar16;" (assignment_expression "pwVar15 = pwVar16" identifier = identifier) ;) (expression_statement "(**(code **)(pcStack_2e0 + -0x6054))(pwVar14,1,pwVar16,*puVar21);" (call_expression "(**(code **)(pcStack_2e0 + -0x6054))(pwVar14,1,pwVar16,*puVar21)" (parenthesized_expression "(**(code **)(pcStack_2e0 + -0x6054))" ( (pointer_expression "**(code **)(pcStack_2e0 + -0x6054)" * (pointer_expression "*(code **)(pcStack_2e0 + -0x6054)" * (cast_expression "(code **)(pcStack_2e0 + -0x6054)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x6054)" ( (binary_expression "pcStack_2e0 + -0x6054" identifier + number_literal) ))))) )) (argument_list "(pwVar14,1,pwVar16,*puVar21)" ( identifier , number_literal , identifier , (pointer_expression "*puVar21" * identifier) ))) ;) (expression_statement "pwVar14 = (word *)((int)pwVar14 + (int)pwVar16);" (assignment_expression "pwVar14 = (word *)((int)pwVar14 + (int)pwVar16)" identifier = (cast_expression "(word *)((int)pwVar14 + (int)pwVar16)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwVar14 + (int)pwVar16)" ( (binary_expression "(int)pwVar14 + (int)pwVar16" (cast_expression "(int)pwVar14" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pwVar16" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pwVar20 = (word *)((int)pwVar20 + iVar5);" (assignment_expression "pwVar20 = (word *)((int)pwVar20 + iVar5)" identifier = (cast_expression "(word *)((int)pwVar20 + iVar5)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwVar20 + iVar5)" ( (binary_expression "(int)pwVar20 + iVar5" (cast_expression "(int)pwVar20" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) }))))) (if_statement "if ((0 < (int)pwVar6) && ((int)pwVar6 <= (int)pwVar14 - iVar11)) {\n      (**(code **)(pcStack_2e0 + -0x658c))();\n      (**(code **)(pcStack_2e0 + -0x6588))(iStack_2d0);\n      pwVar6 = (word *)**(undefined4 **)(pcStack_2e0 + -0x67a8);\n      if (pwVar6 != (word *)0x0) {\n        (**(code **)(pcStack_2e0 + -0x659c))();\n        (**(code **)(pcStack_2e0 + -0x6594))(pwStack_2cc);\n        pwVar6 = (word *)0x0;\n      }\n    }" if (parenthesized_expression "((0 < (int)pwVar6) && ((int)pwVar6 <= (int)pwVar14 - iVar11))" ( (binary_expression "(0 < (int)pwVar6) && ((int)pwVar6 <= (int)pwVar14 - iVar11)" (parenthesized_expression "(0 < (int)pwVar6)" ( (binary_expression "0 < (int)pwVar6" number_literal < (cast_expression "(int)pwVar6" ( (type_descriptor "int" primitive_type) ) identifier)) )) && (parenthesized_expression "((int)pwVar6 <= (int)pwVar14 - iVar11)" ( (binary_expression "(int)pwVar6 <= (int)pwVar14 - iVar11" (cast_expression "(int)pwVar6" ( (type_descriptor "int" primitive_type) ) identifier) <= (binary_expression "(int)pwVar14 - iVar11" (cast_expression "(int)pwVar14" ( (type_descriptor "int" primitive_type) ) identifier) - identifier)) ))) )) (compound_statement "{\n      (**(code **)(pcStack_2e0 + -0x658c))();\n      (**(code **)(pcStack_2e0 + -0x6588))(iStack_2d0);\n      pwVar6 = (word *)**(undefined4 **)(pcStack_2e0 + -0x67a8);\n      if (pwVar6 != (word *)0x0) {\n        (**(code **)(pcStack_2e0 + -0x659c))();\n        (**(code **)(pcStack_2e0 + -0x6594))(pwStack_2cc);\n        pwVar6 = (word *)0x0;\n      }\n    }" { (expression_statement "(**(code **)(pcStack_2e0 + -0x658c))();" (call_expression "(**(code **)(pcStack_2e0 + -0x658c))()" (parenthesized_expression "(**(code **)(pcStack_2e0 + -0x658c))" ( (pointer_expression "**(code **)(pcStack_2e0 + -0x658c)" * (pointer_expression "*(code **)(pcStack_2e0 + -0x658c)" * (cast_expression "(code **)(pcStack_2e0 + -0x658c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x658c)" ( (binary_expression "pcStack_2e0 + -0x658c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "(**(code **)(pcStack_2e0 + -0x6588))(iStack_2d0);" (call_expression "(**(code **)(pcStack_2e0 + -0x6588))(iStack_2d0)" (parenthesized_expression "(**(code **)(pcStack_2e0 + -0x6588))" ( (pointer_expression "**(code **)(pcStack_2e0 + -0x6588)" * (pointer_expression "*(code **)(pcStack_2e0 + -0x6588)" * (cast_expression "(code **)(pcStack_2e0 + -0x6588)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x6588)" ( (binary_expression "pcStack_2e0 + -0x6588" identifier + number_literal) ))))) )) (argument_list "(iStack_2d0)" ( identifier ))) ;) (expression_statement "pwVar6 = (word *)**(undefined4 **)(pcStack_2e0 + -0x67a8);" (assignment_expression "pwVar6 = (word *)**(undefined4 **)(pcStack_2e0 + -0x67a8)" identifier = (cast_expression "(word *)**(undefined4 **)(pcStack_2e0 + -0x67a8)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcStack_2e0 + -0x67a8)" * (pointer_expression "*(undefined4 **)(pcStack_2e0 + -0x67a8)" * (cast_expression "(undefined4 **)(pcStack_2e0 + -0x67a8)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x67a8)" ( (binary_expression "pcStack_2e0 + -0x67a8" identifier + number_literal) ))))))) ;) (if_statement "if (pwVar6 != (word *)0x0) {\n        (**(code **)(pcStack_2e0 + -0x659c))();\n        (**(code **)(pcStack_2e0 + -0x6594))(pwStack_2cc);\n        pwVar6 = (word *)0x0;\n      }" if (parenthesized_expression "(pwVar6 != (word *)0x0)" ( (binary_expression "pwVar6 != (word *)0x0" identifier != (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        (**(code **)(pcStack_2e0 + -0x659c))();\n        (**(code **)(pcStack_2e0 + -0x6594))(pwStack_2cc);\n        pwVar6 = (word *)0x0;\n      }" { (expression_statement "(**(code **)(pcStack_2e0 + -0x659c))();" (call_expression "(**(code **)(pcStack_2e0 + -0x659c))()" (parenthesized_expression "(**(code **)(pcStack_2e0 + -0x659c))" ( (pointer_expression "**(code **)(pcStack_2e0 + -0x659c)" * (pointer_expression "*(code **)(pcStack_2e0 + -0x659c)" * (cast_expression "(code **)(pcStack_2e0 + -0x659c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x659c)" ( (binary_expression "pcStack_2e0 + -0x659c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "(**(code **)(pcStack_2e0 + -0x6594))(pwStack_2cc);" (call_expression "(**(code **)(pcStack_2e0 + -0x6594))(pwStack_2cc)" (parenthesized_expression "(**(code **)(pcStack_2e0 + -0x6594))" ( (pointer_expression "**(code **)(pcStack_2e0 + -0x6594)" * (pointer_expression "*(code **)(pcStack_2e0 + -0x6594)" * (cast_expression "(code **)(pcStack_2e0 + -0x6594)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x6594)" ( (binary_expression "pcStack_2e0 + -0x6594" identifier + number_literal) ))))) )) (argument_list "(pwStack_2cc)" ( identifier ))) ;) (expression_statement "pwVar6 = (word *)0x0;" (assignment_expression "pwVar6 = (word *)0x0" identifier = (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) })) })) (if_statement "if (**(int **)(pcStack_2e0 + -0x67a8) != 0) {\n    (**(code **)(pcStack_2e0 + -0x658c))();\n    (**(code **)(pcStack_2e0 + -0x6588))(*(int *)(pcStack_2e0 + -26000) + 0xb8);\n  }" if (parenthesized_expression "(**(int **)(pcStack_2e0 + -0x67a8) != 0)" ( (binary_expression "**(int **)(pcStack_2e0 + -0x67a8) != 0" (pointer_expression "**(int **)(pcStack_2e0 + -0x67a8)" * (pointer_expression "*(int **)(pcStack_2e0 + -0x67a8)" * (cast_expression "(int **)(pcStack_2e0 + -0x67a8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x67a8)" ( (binary_expression "pcStack_2e0 + -0x67a8" identifier + number_literal) ))))) != number_literal) )) (compound_statement "{\n    (**(code **)(pcStack_2e0 + -0x658c))();\n    (**(code **)(pcStack_2e0 + -0x6588))(*(int *)(pcStack_2e0 + -26000) + 0xb8);\n  }" { (expression_statement "(**(code **)(pcStack_2e0 + -0x658c))();" (call_expression "(**(code **)(pcStack_2e0 + -0x658c))()" (parenthesized_expression "(**(code **)(pcStack_2e0 + -0x658c))" ( (pointer_expression "**(code **)(pcStack_2e0 + -0x658c)" * (pointer_expression "*(code **)(pcStack_2e0 + -0x658c)" * (cast_expression "(code **)(pcStack_2e0 + -0x658c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x658c)" ( (binary_expression "pcStack_2e0 + -0x658c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "(**(code **)(pcStack_2e0 + -0x6588))(*(int *)(pcStack_2e0 + -26000) + 0xb8);" (call_expression "(**(code **)(pcStack_2e0 + -0x6588))(*(int *)(pcStack_2e0 + -26000) + 0xb8)" (parenthesized_expression "(**(code **)(pcStack_2e0 + -0x6588))" ( (pointer_expression "**(code **)(pcStack_2e0 + -0x6588)" * (pointer_expression "*(code **)(pcStack_2e0 + -0x6588)" * (cast_expression "(code **)(pcStack_2e0 + -0x6588)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x6588)" ( (binary_expression "pcStack_2e0 + -0x6588" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcStack_2e0 + -26000) + 0xb8)" ( (binary_expression "*(int *)(pcStack_2e0 + -26000) + 0xb8" (pointer_expression "*(int *)(pcStack_2e0 + -26000)" * (cast_expression "(int *)(pcStack_2e0 + -26000)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcStack_2e0 + -26000)" ( (binary_expression "pcStack_2e0 + -26000" identifier + number_literal) )))) + number_literal) ))) ;) })) (if_statement "if (pbStack_2bc == (byte *)**(undefined4 **)(pcStack_2e0 + -0x5fb4)) {\n    return pwVar20;\n  }" if (parenthesized_expression "(pbStack_2bc == (byte *)**(undefined4 **)(pcStack_2e0 + -0x5fb4))" ( (binary_expression "pbStack_2bc == (byte *)**(undefined4 **)(pcStack_2e0 + -0x5fb4)" identifier == (cast_expression "(byte *)**(undefined4 **)(pcStack_2e0 + -0x5fb4)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcStack_2e0 + -0x5fb4)" * (pointer_expression "*(undefined4 **)(pcStack_2e0 + -0x5fb4)" * (cast_expression "(undefined4 **)(pcStack_2e0 + -0x5fb4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x5fb4)" ( (binary_expression "pcStack_2e0 + -0x5fb4" identifier + number_literal) ))))))) )) (compound_statement "{\n    return pwVar20;\n  }" { (return_statement "return pwVar20;" return identifier ;) })) (expression_statement "pcVar23 = *(code **)(pcStack_2e0 + -0x6004);" (assignment_expression "pcVar23 = *(code **)(pcStack_2e0 + -0x6004)" identifier = (pointer_expression "*(code **)(pcStack_2e0 + -0x6004)" * (cast_expression "(code **)(pcStack_2e0 + -0x6004)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_2e0 + -0x6004)" ( (binary_expression "pcStack_2e0 + -0x6004" identifier + number_literal) ))))) ;) (expression_statement "pcVar25 = FUN_000fcae4;" (assignment_expression "pcVar25 = FUN_000fcae4" identifier = identifier) ;) (expression_statement "pbVar24 = pbStack_2bc;" (assignment_expression "pbVar24 = pbStack_2bc" identifier = identifier) ;) (expression_statement "(*pcVar23)();" (call_expression "(*pcVar23)()" (parenthesized_expression "(*pcVar23)" ( (pointer_expression "*pcVar23" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "iStack_314 = **(int **)(pcVar23 + 0x5baa8);" (assignment_expression "iStack_314 = **(int **)(pcVar23 + 0x5baa8)" identifier = (pointer_expression "**(int **)(pcVar23 + 0x5baa8)" * (pointer_expression "*(int **)(pcVar23 + 0x5baa8)" * (cast_expression "(int **)(pcVar23 + 0x5baa8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5baa8)" ( (binary_expression "pcVar23 + 0x5baa8" identifier + number_literal) )))))) ;) (expression_statement "pwStack_310 = pwVar14;" (assignment_expression "pwStack_310 = pwVar14" identifier = identifier) ;) (expression_statement "pwStack_30c = pwVar16;" (assignment_expression "pwStack_30c = pwVar16" identifier = identifier) ;) (expression_statement "pwStack_308 = pwVar20;" (assignment_expression "pwStack_308 = pwVar20" identifier = identifier) ;) (expression_statement "pwStack_304 = pwVar6;" (assignment_expression "pwStack_304 = pwVar6" identifier = identifier) ;) (expression_statement "piStack_300 = aiStack_2c8 + 1;" (assignment_expression "piStack_300 = aiStack_2c8 + 1" identifier = (binary_expression "aiStack_2c8 + 1" identifier + number_literal)) ;) (expression_statement "puStack_2fc = puVar21;" (assignment_expression "puStack_2fc = puVar21" identifier = identifier) ;) (expression_statement "iStack_2f8 = iVar11;" (assignment_expression "iStack_2f8 = iVar11" identifier = identifier) ;) (expression_statement "pcStack_2f4 = pcVar25;" (assignment_expression "pcStack_2f4 = pcVar25" identifier = identifier) ;) (if_statement "if ((**(int **)(pcVar23 + 0x5b2b4) == 0) ||\n     (piVar9 = *(int **)(pcVar23 + 0x5b4d8), **(int **)(pcVar23 + 0x5ab50) == 0)) {\n    pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,pbVar24);\n    piVar9 = *(int **)(pcVar23 + 0x5b4d8);\n    if (**(int **)(pcVar23 + 0x5ab50) == 0) goto LAB_000fcb84;\n  }" if (parenthesized_expression "((**(int **)(pcVar23 + 0x5b2b4) == 0) ||\n     (piVar9 = *(int **)(pcVar23 + 0x5b4d8), **(int **)(pcVar23 + 0x5ab50) == 0))" ( (binary_expression "(**(int **)(pcVar23 + 0x5b2b4) == 0) ||\n     (piVar9 = *(int **)(pcVar23 + 0x5b4d8), **(int **)(pcVar23 + 0x5ab50) == 0)" (parenthesized_expression "(**(int **)(pcVar23 + 0x5b2b4) == 0)" ( (binary_expression "**(int **)(pcVar23 + 0x5b2b4) == 0" (pointer_expression "**(int **)(pcVar23 + 0x5b2b4)" * (pointer_expression "*(int **)(pcVar23 + 0x5b2b4)" * (cast_expression "(int **)(pcVar23 + 0x5b2b4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5b2b4)" ( (binary_expression "pcVar23 + 0x5b2b4" identifier + number_literal) ))))) == number_literal) )) || (parenthesized_expression "(piVar9 = *(int **)(pcVar23 + 0x5b4d8), **(int **)(pcVar23 + 0x5ab50) == 0)" ( (comma_expression "piVar9 = *(int **)(pcVar23 + 0x5b4d8), **(int **)(pcVar23 + 0x5ab50) == 0" (assignment_expression "piVar9 = *(int **)(pcVar23 + 0x5b4d8)" identifier = (pointer_expression "*(int **)(pcVar23 + 0x5b4d8)" * (cast_expression "(int **)(pcVar23 + 0x5b4d8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5b4d8)" ( (binary_expression "pcVar23 + 0x5b4d8" identifier + number_literal) ))))) , (binary_expression "**(int **)(pcVar23 + 0x5ab50) == 0" (pointer_expression "**(int **)(pcVar23 + 0x5ab50)" * (pointer_expression "*(int **)(pcVar23 + 0x5ab50)" * (cast_expression "(int **)(pcVar23 + 0x5ab50)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5ab50)" ( (binary_expression "pcVar23 + 0x5ab50" identifier + number_literal) ))))) == number_literal)) ))) )) (compound_statement "{\n    pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,pbVar24);\n    piVar9 = *(int **)(pcVar23 + 0x5b4d8);\n    if (**(int **)(pcVar23 + 0x5ab50) == 0) goto LAB_000fcb84;\n  }" { (expression_statement "pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,pbVar24);" (assignment_expression "pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,pbVar24)" identifier = (cast_expression "(word *)FUN_000fc5fc(pbVar24,pwVar15,pbVar24)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_000fc5fc(pbVar24,pwVar15,pbVar24)" identifier (argument_list "(pbVar24,pwVar15,pbVar24)" ( identifier , identifier , identifier ))))) ;) (expression_statement "piVar9 = *(int **)(pcVar23 + 0x5b4d8);" (assignment_expression "piVar9 = *(int **)(pcVar23 + 0x5b4d8)" identifier = (pointer_expression "*(int **)(pcVar23 + 0x5b4d8)" * (cast_expression "(int **)(pcVar23 + 0x5b4d8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5b4d8)" ( (binary_expression "pcVar23 + 0x5b4d8" identifier + number_literal) ))))) ;) (if_statement "if (**(int **)(pcVar23 + 0x5ab50) == 0) goto LAB_000fcb84;" if (parenthesized_expression "(**(int **)(pcVar23 + 0x5ab50) == 0)" ( (binary_expression "**(int **)(pcVar23 + 0x5ab50) == 0" (pointer_expression "**(int **)(pcVar23 + 0x5ab50)" * (pointer_expression "*(int **)(pcVar23 + 0x5ab50)" * (cast_expression "(int **)(pcVar23 + 0x5ab50)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5ab50)" ( (binary_expression "pcVar23 + 0x5ab50" identifier + number_literal) ))))) == number_literal) )) (goto_statement "goto LAB_000fcb84;" goto statement_identifier ;)) })) (if_statement "if ((*piVar9 == 0 && **(int **)(pcVar23 + 0x5b2b4) == 0) && **(int **)(pcVar23 + 0x5b49c) == 0)\n  goto LAB_000fcb84;" if (parenthesized_expression "((*piVar9 == 0 && **(int **)(pcVar23 + 0x5b2b4) == 0) && **(int **)(pcVar23 + 0x5b49c) == 0)" ( (binary_expression "(*piVar9 == 0 && **(int **)(pcVar23 + 0x5b2b4) == 0) && **(int **)(pcVar23 + 0x5b49c) == 0" (parenthesized_expression "(*piVar9 == 0 && **(int **)(pcVar23 + 0x5b2b4) == 0)" ( (binary_expression "*piVar9 == 0 && **(int **)(pcVar23 + 0x5b2b4) == 0" (binary_expression "*piVar9 == 0" (pointer_expression "*piVar9" * identifier) == number_literal) && (binary_expression "**(int **)(pcVar23 + 0x5b2b4) == 0" (pointer_expression "**(int **)(pcVar23 + 0x5b2b4)" * (pointer_expression "*(int **)(pcVar23 + 0x5b2b4)" * (cast_expression "(int **)(pcVar23 + 0x5b2b4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5b2b4)" ( (binary_expression "pcVar23 + 0x5b2b4" identifier + number_literal) ))))) == number_literal)) )) && (binary_expression "**(int **)(pcVar23 + 0x5b49c) == 0" (pointer_expression "**(int **)(pcVar23 + 0x5b49c)" * (pointer_expression "*(int **)(pcVar23 + 0x5b49c)" * (cast_expression "(int **)(pcVar23 + 0x5b49c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5b49c)" ( (binary_expression "pcVar23 + 0x5b49c" identifier + number_literal) ))))) == number_literal)) )) (goto_statement "goto LAB_000fcb84;" goto statement_identifier ;)) (if_statement "if ((word *)pbVar24 == pwVar18) {\n    iStack_31c = (**(code **)(pcVar23 + 0x5a028))(pwVar18);\n    if (**(int **)(pcVar23 + 0x5b4d8) != 0) {\n      iVar5 = FUN_000f9fd0(iStack_31c);\n      if (**(int **)(pcVar23 + 0x5b2b4) != 0) goto LAB_000fcf40;\n      goto LAB_000fcddc;\n    }\n    if (**(int **)(pcVar23 + 0x5b49c) == 0) {\n      piVar9 = *(int **)(pcVar23 + 0x5b2b4);\nLAB_000fcef0:\n      iVar5 = 0;\n      if (*piVar9 == 0) {\n        (**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);\n        goto LAB_000fcb84;\n      }\nLAB_000fcf40:\n      pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,iStack_31c);\n      goto LAB_000fcddc;\n    }\n    iVar5 = FUN_000fa188(iStack_31c);\n    piVar9 = *(int **)(pcVar23 + 0x5b2b4);\n    if (iVar5 == 0) goto LAB_000fcef0;\n    if (*piVar9 != 0) {\n      iVar5 = 0x2f;\n      goto LAB_000fcf40;\n    }\n    (**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);\n    iVar5 = 0x2f;\n  }\n  else {\n    bVar2 = pbVar24[-1];\n    pbVar24[-1] = 0;\n    if ((pwVar18 == (word *)0x0) || (*(byte *)pwVar18 == 0)) {\n      pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);\n    }\n    else {\n      pwStack_318 = pwVar18;\n      if (*(byte *)pwVar18 == 0x2f) {\n        if ((byte)*pwVar18 == 0) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59acc) + -0x794);\n        }\n        else if (((byte)*pwVar18 == 0x2f) && (*(byte *)(pwVar18 + 1) == 0)) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);\n        }\n      }\n    }\n    iStack_31c = (**(code **)(pcVar23 + 0x5a028))(pwStack_318);\n    if ((code *)**(undefined4 **)(pcVar23 + 0x5ab20) != (code *)0x0) {\n      (*(code *)**(undefined4 **)(pcVar23 + 0x5ab20))(&iStack_31c);\n    }\n    iVar5 = (**(code **)(pcVar23 + 0x5b960))(iStack_31c);\n    iVar13 = (**(code **)(pcVar23 + 0x5b960))(pbVar24);\n    pwVar16 = (word *)(**(code **)(pcVar23 + 0x59ad4))(iVar13 + iVar5 + 2);\n    (**(code **)(pcVar23 + 0x5b9e8))(pwVar16,iStack_31c);\n    if (*(char *)(iStack_31c + iVar5 + -1) == '/') {\n      iVar5 = iVar5 + -1;\n    }\n    else {\n      *(byte *)((int)pwVar16 + iVar5) = 0x2f;\n    }\n    (**(code **)(pcVar23 + 0x5b9e8))((byte *)((int)pwVar16 + iVar5 + 1),pbVar24);\n    if (**(int **)(pcVar23 + 0x5b4d8) == 0) {\n      iVar5 = **(int **)(pcVar23 + 0x5b49c);\n      piVar9 = *(int **)(pcVar23 + 0x5b2b4);\n      if (iVar5 != 0) {\n        pwStack_318 = (word *)0x0;\n        if ((**(int **)(pcVar23 + 0x5ab20) == 0) && (**(int **)(pcVar23 + 0x5ac70) != 0)) {\n          iVar5 = (**(code **)(pcVar23 + 0x5b960))(pwVar16);\n          uVar7 = (**(code **)(pcVar23 + 0x59ad4))(iVar5 + 1);\n          pwStack_318 = (word *)(**(code **)(pcVar23 + 0x5b9e8))(uVar7,pwVar16);\n          (*(code *)**(undefined4 **)(pcVar23 + 0x5ac70))(&pwStack_318);\n          (**(code **)(pcVar23 + 0x5a0d0))(pwVar16);\n          pwVar16 = pwStack_318;\n        }\n        iVar5 = FUN_000fa188(pwVar16);\n        if (iVar5 != 0) {\n          iVar5 = 0x2f;\n        }\n        goto LAB_000fcdb0;\n      }\n    }\n    else {\n      iVar5 = FUN_000f9fd0(pwVar16);\nLAB_000fcdb0:\n      piVar9 = *(int **)(pcVar23 + 0x5b2b4);\n    }\n    if (*piVar9 != 0) {\n      pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,pwVar16);\n    }\n    (**(code **)(pcVar23 + 0x5a0d0))(pwVar16);\n    pbVar24[-1] = bVar2;\nLAB_000fcddc:\n    (**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);\n    if (iVar5 == 0) goto LAB_000fcb84;\n  }" if (parenthesized_expression "((word *)pbVar24 == pwVar18)" ( (binary_expression "(word *)pbVar24 == pwVar18" (cast_expression "(word *)pbVar24" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) == identifier) )) (compound_statement "{\n    iStack_31c = (**(code **)(pcVar23 + 0x5a028))(pwVar18);\n    if (**(int **)(pcVar23 + 0x5b4d8) != 0) {\n      iVar5 = FUN_000f9fd0(iStack_31c);\n      if (**(int **)(pcVar23 + 0x5b2b4) != 0) goto LAB_000fcf40;\n      goto LAB_000fcddc;\n    }\n    if (**(int **)(pcVar23 + 0x5b49c) == 0) {\n      piVar9 = *(int **)(pcVar23 + 0x5b2b4);\nLAB_000fcef0:\n      iVar5 = 0;\n      if (*piVar9 == 0) {\n        (**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);\n        goto LAB_000fcb84;\n      }\nLAB_000fcf40:\n      pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,iStack_31c);\n      goto LAB_000fcddc;\n    }\n    iVar5 = FUN_000fa188(iStack_31c);\n    piVar9 = *(int **)(pcVar23 + 0x5b2b4);\n    if (iVar5 == 0) goto LAB_000fcef0;\n    if (*piVar9 != 0) {\n      iVar5 = 0x2f;\n      goto LAB_000fcf40;\n    }\n    (**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);\n    iVar5 = 0x2f;\n  }" { (expression_statement "iStack_31c = (**(code **)(pcVar23 + 0x5a028))(pwVar18);" (assignment_expression "iStack_31c = (**(code **)(pcVar23 + 0x5a028))(pwVar18)" identifier = (call_expression "(**(code **)(pcVar23 + 0x5a028))(pwVar18)" (parenthesized_expression "(**(code **)(pcVar23 + 0x5a028))" ( (pointer_expression "**(code **)(pcVar23 + 0x5a028)" * (pointer_expression "*(code **)(pcVar23 + 0x5a028)" * (cast_expression "(code **)(pcVar23 + 0x5a028)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5a028)" ( (binary_expression "pcVar23 + 0x5a028" identifier + number_literal) ))))) )) (argument_list "(pwVar18)" ( identifier )))) ;) (if_statement "if (**(int **)(pcVar23 + 0x5b4d8) != 0) {\n      iVar5 = FUN_000f9fd0(iStack_31c);\n      if (**(int **)(pcVar23 + 0x5b2b4) != 0) goto LAB_000fcf40;\n      goto LAB_000fcddc;\n    }" if (parenthesized_expression "(**(int **)(pcVar23 + 0x5b4d8) != 0)" ( (binary_expression "**(int **)(pcVar23 + 0x5b4d8) != 0" (pointer_expression "**(int **)(pcVar23 + 0x5b4d8)" * (pointer_expression "*(int **)(pcVar23 + 0x5b4d8)" * (cast_expression "(int **)(pcVar23 + 0x5b4d8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5b4d8)" ( (binary_expression "pcVar23 + 0x5b4d8" identifier + number_literal) ))))) != number_literal) )) (compound_statement "{\n      iVar5 = FUN_000f9fd0(iStack_31c);\n      if (**(int **)(pcVar23 + 0x5b2b4) != 0) goto LAB_000fcf40;\n      goto LAB_000fcddc;\n    }" { (expression_statement "iVar5 = FUN_000f9fd0(iStack_31c);" (assignment_expression "iVar5 = FUN_000f9fd0(iStack_31c)" identifier = (call_expression "FUN_000f9fd0(iStack_31c)" identifier (argument_list "(iStack_31c)" ( identifier )))) ;) (if_statement "if (**(int **)(pcVar23 + 0x5b2b4) != 0) goto LAB_000fcf40;" if (parenthesized_expression "(**(int **)(pcVar23 + 0x5b2b4) != 0)" ( (binary_expression "**(int **)(pcVar23 + 0x5b2b4) != 0" (pointer_expression "**(int **)(pcVar23 + 0x5b2b4)" * (pointer_expression "*(int **)(pcVar23 + 0x5b2b4)" * (cast_expression "(int **)(pcVar23 + 0x5b2b4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5b2b4)" ( (binary_expression "pcVar23 + 0x5b2b4" identifier + number_literal) ))))) != number_literal) )) (goto_statement "goto LAB_000fcf40;" goto statement_identifier ;)) (goto_statement "goto LAB_000fcddc;" goto statement_identifier ;) })) (if_statement "if (**(int **)(pcVar23 + 0x5b49c) == 0) {\n      piVar9 = *(int **)(pcVar23 + 0x5b2b4);\nLAB_000fcef0:\n      iVar5 = 0;\n      if (*piVar9 == 0) {\n        (**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);\n        goto LAB_000fcb84;\n      }\nLAB_000fcf40:\n      pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,iStack_31c);\n      goto LAB_000fcddc;\n    }" if (parenthesized_expression "(**(int **)(pcVar23 + 0x5b49c) == 0)" ( (binary_expression "**(int **)(pcVar23 + 0x5b49c) == 0" (pointer_expression "**(int **)(pcVar23 + 0x5b49c)" * (pointer_expression "*(int **)(pcVar23 + 0x5b49c)" * (cast_expression "(int **)(pcVar23 + 0x5b49c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5b49c)" ( (binary_expression "pcVar23 + 0x5b49c" identifier + number_literal) ))))) == number_literal) )) (compound_statement "{\n      piVar9 = *(int **)(pcVar23 + 0x5b2b4);\nLAB_000fcef0:\n      iVar5 = 0;\n      if (*piVar9 == 0) {\n        (**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);\n        goto LAB_000fcb84;\n      }\nLAB_000fcf40:\n      pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,iStack_31c);\n      goto LAB_000fcddc;\n    }" { (expression_statement "piVar9 = *(int **)(pcVar23 + 0x5b2b4);" (assignment_expression "piVar9 = *(int **)(pcVar23 + 0x5b2b4)" identifier = (pointer_expression "*(int **)(pcVar23 + 0x5b2b4)" * (cast_expression "(int **)(pcVar23 + 0x5b2b4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5b2b4)" ( (binary_expression "pcVar23 + 0x5b2b4" identifier + number_literal) ))))) ;) (labeled_statement "LAB_000fcef0:\n      iVar5 = 0;" statement_identifier : (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" identifier = number_literal) ;)) (if_statement "if (*piVar9 == 0) {\n        (**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);\n        goto LAB_000fcb84;\n      }" if (parenthesized_expression "(*piVar9 == 0)" ( (binary_expression "*piVar9 == 0" (pointer_expression "*piVar9" * identifier) == number_literal) )) (compound_statement "{\n        (**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);\n        goto LAB_000fcb84;\n      }" { (expression_statement "(**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);" (call_expression "(**(code **)(pcVar23 + 0x5a0d0))(iStack_31c)" (parenthesized_expression "(**(code **)(pcVar23 + 0x5a0d0))" ( (pointer_expression "**(code **)(pcVar23 + 0x5a0d0)" * (pointer_expression "*(code **)(pcVar23 + 0x5a0d0)" * (cast_expression "(code **)(pcVar23 + 0x5a0d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5a0d0)" ( (binary_expression "pcVar23 + 0x5a0d0" identifier + number_literal) ))))) )) (argument_list "(iStack_31c)" ( identifier ))) ;) (goto_statement "goto LAB_000fcb84;" goto statement_identifier ;) })) (labeled_statement "LAB_000fcf40:\n      pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,iStack_31c);" statement_identifier : (expression_statement "pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,iStack_31c);" (assignment_expression "pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,iStack_31c)" identifier = (cast_expression "(word *)FUN_000fc5fc(pbVar24,pwVar15,iStack_31c)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_000fc5fc(pbVar24,pwVar15,iStack_31c)" identifier (argument_list "(pbVar24,pwVar15,iStack_31c)" ( identifier , identifier , identifier ))))) ;)) (goto_statement "goto LAB_000fcddc;" goto statement_identifier ;) })) (expression_statement "iVar5 = FUN_000fa188(iStack_31c);" (assignment_expression "iVar5 = FUN_000fa188(iStack_31c)" identifier = (call_expression "FUN_000fa188(iStack_31c)" identifier (argument_list "(iStack_31c)" ( identifier )))) ;) (expression_statement "piVar9 = *(int **)(pcVar23 + 0x5b2b4);" (assignment_expression "piVar9 = *(int **)(pcVar23 + 0x5b2b4)" identifier = (pointer_expression "*(int **)(pcVar23 + 0x5b2b4)" * (cast_expression "(int **)(pcVar23 + 0x5b2b4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5b2b4)" ( (binary_expression "pcVar23 + 0x5b2b4" identifier + number_literal) ))))) ;) (if_statement "if (iVar5 == 0) goto LAB_000fcef0;" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000fcef0;" goto statement_identifier ;)) (if_statement "if (*piVar9 != 0) {\n      iVar5 = 0x2f;\n      goto LAB_000fcf40;\n    }" if (parenthesized_expression "(*piVar9 != 0)" ( (binary_expression "*piVar9 != 0" (pointer_expression "*piVar9" * identifier) != number_literal) )) (compound_statement "{\n      iVar5 = 0x2f;\n      goto LAB_000fcf40;\n    }" { (expression_statement "iVar5 = 0x2f;" (assignment_expression "iVar5 = 0x2f" identifier = number_literal) ;) (goto_statement "goto LAB_000fcf40;" goto statement_identifier ;) })) (expression_statement "(**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);" (call_expression "(**(code **)(pcVar23 + 0x5a0d0))(iStack_31c)" (parenthesized_expression "(**(code **)(pcVar23 + 0x5a0d0))" ( (pointer_expression "**(code **)(pcVar23 + 0x5a0d0)" * (pointer_expression "*(code **)(pcVar23 + 0x5a0d0)" * (cast_expression "(code **)(pcVar23 + 0x5a0d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5a0d0)" ( (binary_expression "pcVar23 + 0x5a0d0" identifier + number_literal) ))))) )) (argument_list "(iStack_31c)" ( identifier ))) ;) (expression_statement "iVar5 = 0x2f;" (assignment_expression "iVar5 = 0x2f" identifier = number_literal) ;) }) (else_clause "else {\n    bVar2 = pbVar24[-1];\n    pbVar24[-1] = 0;\n    if ((pwVar18 == (word *)0x0) || (*(byte *)pwVar18 == 0)) {\n      pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);\n    }\n    else {\n      pwStack_318 = pwVar18;\n      if (*(byte *)pwVar18 == 0x2f) {\n        if ((byte)*pwVar18 == 0) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59acc) + -0x794);\n        }\n        else if (((byte)*pwVar18 == 0x2f) && (*(byte *)(pwVar18 + 1) == 0)) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);\n        }\n      }\n    }\n    iStack_31c = (**(code **)(pcVar23 + 0x5a028))(pwStack_318);\n    if ((code *)**(undefined4 **)(pcVar23 + 0x5ab20) != (code *)0x0) {\n      (*(code *)**(undefined4 **)(pcVar23 + 0x5ab20))(&iStack_31c);\n    }\n    iVar5 = (**(code **)(pcVar23 + 0x5b960))(iStack_31c);\n    iVar13 = (**(code **)(pcVar23 + 0x5b960))(pbVar24);\n    pwVar16 = (word *)(**(code **)(pcVar23 + 0x59ad4))(iVar13 + iVar5 + 2);\n    (**(code **)(pcVar23 + 0x5b9e8))(pwVar16,iStack_31c);\n    if (*(char *)(iStack_31c + iVar5 + -1) == '/') {\n      iVar5 = iVar5 + -1;\n    }\n    else {\n      *(byte *)((int)pwVar16 + iVar5) = 0x2f;\n    }\n    (**(code **)(pcVar23 + 0x5b9e8))((byte *)((int)pwVar16 + iVar5 + 1),pbVar24);\n    if (**(int **)(pcVar23 + 0x5b4d8) == 0) {\n      iVar5 = **(int **)(pcVar23 + 0x5b49c);\n      piVar9 = *(int **)(pcVar23 + 0x5b2b4);\n      if (iVar5 != 0) {\n        pwStack_318 = (word *)0x0;\n        if ((**(int **)(pcVar23 + 0x5ab20) == 0) && (**(int **)(pcVar23 + 0x5ac70) != 0)) {\n          iVar5 = (**(code **)(pcVar23 + 0x5b960))(pwVar16);\n          uVar7 = (**(code **)(pcVar23 + 0x59ad4))(iVar5 + 1);\n          pwStack_318 = (word *)(**(code **)(pcVar23 + 0x5b9e8))(uVar7,pwVar16);\n          (*(code *)**(undefined4 **)(pcVar23 + 0x5ac70))(&pwStack_318);\n          (**(code **)(pcVar23 + 0x5a0d0))(pwVar16);\n          pwVar16 = pwStack_318;\n        }\n        iVar5 = FUN_000fa188(pwVar16);\n        if (iVar5 != 0) {\n          iVar5 = 0x2f;\n        }\n        goto LAB_000fcdb0;\n      }\n    }\n    else {\n      iVar5 = FUN_000f9fd0(pwVar16);\nLAB_000fcdb0:\n      piVar9 = *(int **)(pcVar23 + 0x5b2b4);\n    }\n    if (*piVar9 != 0) {\n      pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,pwVar16);\n    }\n    (**(code **)(pcVar23 + 0x5a0d0))(pwVar16);\n    pbVar24[-1] = bVar2;\nLAB_000fcddc:\n    (**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);\n    if (iVar5 == 0) goto LAB_000fcb84;\n  }" else (compound_statement "{\n    bVar2 = pbVar24[-1];\n    pbVar24[-1] = 0;\n    if ((pwVar18 == (word *)0x0) || (*(byte *)pwVar18 == 0)) {\n      pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);\n    }\n    else {\n      pwStack_318 = pwVar18;\n      if (*(byte *)pwVar18 == 0x2f) {\n        if ((byte)*pwVar18 == 0) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59acc) + -0x794);\n        }\n        else if (((byte)*pwVar18 == 0x2f) && (*(byte *)(pwVar18 + 1) == 0)) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);\n        }\n      }\n    }\n    iStack_31c = (**(code **)(pcVar23 + 0x5a028))(pwStack_318);\n    if ((code *)**(undefined4 **)(pcVar23 + 0x5ab20) != (code *)0x0) {\n      (*(code *)**(undefined4 **)(pcVar23 + 0x5ab20))(&iStack_31c);\n    }\n    iVar5 = (**(code **)(pcVar23 + 0x5b960))(iStack_31c);\n    iVar13 = (**(code **)(pcVar23 + 0x5b960))(pbVar24);\n    pwVar16 = (word *)(**(code **)(pcVar23 + 0x59ad4))(iVar13 + iVar5 + 2);\n    (**(code **)(pcVar23 + 0x5b9e8))(pwVar16,iStack_31c);\n    if (*(char *)(iStack_31c + iVar5 + -1) == '/') {\n      iVar5 = iVar5 + -1;\n    }\n    else {\n      *(byte *)((int)pwVar16 + iVar5) = 0x2f;\n    }\n    (**(code **)(pcVar23 + 0x5b9e8))((byte *)((int)pwVar16 + iVar5 + 1),pbVar24);\n    if (**(int **)(pcVar23 + 0x5b4d8) == 0) {\n      iVar5 = **(int **)(pcVar23 + 0x5b49c);\n      piVar9 = *(int **)(pcVar23 + 0x5b2b4);\n      if (iVar5 != 0) {\n        pwStack_318 = (word *)0x0;\n        if ((**(int **)(pcVar23 + 0x5ab20) == 0) && (**(int **)(pcVar23 + 0x5ac70) != 0)) {\n          iVar5 = (**(code **)(pcVar23 + 0x5b960))(pwVar16);\n          uVar7 = (**(code **)(pcVar23 + 0x59ad4))(iVar5 + 1);\n          pwStack_318 = (word *)(**(code **)(pcVar23 + 0x5b9e8))(uVar7,pwVar16);\n          (*(code *)**(undefined4 **)(pcVar23 + 0x5ac70))(&pwStack_318);\n          (**(code **)(pcVar23 + 0x5a0d0))(pwVar16);\n          pwVar16 = pwStack_318;\n        }\n        iVar5 = FUN_000fa188(pwVar16);\n        if (iVar5 != 0) {\n          iVar5 = 0x2f;\n        }\n        goto LAB_000fcdb0;\n      }\n    }\n    else {\n      iVar5 = FUN_000f9fd0(pwVar16);\nLAB_000fcdb0:\n      piVar9 = *(int **)(pcVar23 + 0x5b2b4);\n    }\n    if (*piVar9 != 0) {\n      pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,pwVar16);\n    }\n    (**(code **)(pcVar23 + 0x5a0d0))(pwVar16);\n    pbVar24[-1] = bVar2;\nLAB_000fcddc:\n    (**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);\n    if (iVar5 == 0) goto LAB_000fcb84;\n  }" { (expression_statement "bVar2 = pbVar24[-1];" (assignment_expression "bVar2 = pbVar24[-1]" identifier = (subscript_expression "pbVar24[-1]" identifier [ number_literal ])) ;) (expression_statement "pbVar24[-1] = 0;" (assignment_expression "pbVar24[-1] = 0" (subscript_expression "pbVar24[-1]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if ((pwVar18 == (word *)0x0) || (*(byte *)pwVar18 == 0)) {\n      pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);\n    }\n    else {\n      pwStack_318 = pwVar18;\n      if (*(byte *)pwVar18 == 0x2f) {\n        if ((byte)*pwVar18 == 0) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59acc) + -0x794);\n        }\n        else if (((byte)*pwVar18 == 0x2f) && (*(byte *)(pwVar18 + 1) == 0)) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);\n        }\n      }\n    }" if (parenthesized_expression "((pwVar18 == (word *)0x0) || (*(byte *)pwVar18 == 0))" ( (binary_expression "(pwVar18 == (word *)0x0) || (*(byte *)pwVar18 == 0)" (parenthesized_expression "(pwVar18 == (word *)0x0)" ( (binary_expression "pwVar18 == (word *)0x0" identifier == (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(*(byte *)pwVar18 == 0)" ( (binary_expression "*(byte *)pwVar18 == 0" (pointer_expression "*(byte *)pwVar18" * (cast_expression "(byte *)pwVar18" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal) ))) )) (compound_statement "{\n      pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);\n    }" { (expression_statement "pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);" (assignment_expression "pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c)" identifier = (cast_expression "(word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar23 + 0x59b70) + -0x5e9c)" ( (binary_expression "*(int *)(pcVar23 + 0x59b70) + -0x5e9c" (pointer_expression "*(int *)(pcVar23 + 0x59b70)" * (cast_expression "(int *)(pcVar23 + 0x59b70)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar23 + 0x59b70)" ( (binary_expression "pcVar23 + 0x59b70" identifier + number_literal) )))) + number_literal) )))) ;) }) (else_clause "else {\n      pwStack_318 = pwVar18;\n      if (*(byte *)pwVar18 == 0x2f) {\n        if ((byte)*pwVar18 == 0) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59acc) + -0x794);\n        }\n        else if (((byte)*pwVar18 == 0x2f) && (*(byte *)(pwVar18 + 1) == 0)) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);\n        }\n      }\n    }" else (compound_statement "{\n      pwStack_318 = pwVar18;\n      if (*(byte *)pwVar18 == 0x2f) {\n        if ((byte)*pwVar18 == 0) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59acc) + -0x794);\n        }\n        else if (((byte)*pwVar18 == 0x2f) && (*(byte *)(pwVar18 + 1) == 0)) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);\n        }\n      }\n    }" { (expression_statement "pwStack_318 = pwVar18;" (assignment_expression "pwStack_318 = pwVar18" identifier = identifier) ;) (if_statement "if (*(byte *)pwVar18 == 0x2f) {\n        if ((byte)*pwVar18 == 0) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59acc) + -0x794);\n        }\n        else if (((byte)*pwVar18 == 0x2f) && (*(byte *)(pwVar18 + 1) == 0)) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);\n        }\n      }" if (parenthesized_expression "(*(byte *)pwVar18 == 0x2f)" ( (binary_expression "*(byte *)pwVar18 == 0x2f" (pointer_expression "*(byte *)pwVar18" * (cast_expression "(byte *)pwVar18" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal) )) (compound_statement "{\n        if ((byte)*pwVar18 == 0) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59acc) + -0x794);\n        }\n        else if (((byte)*pwVar18 == 0x2f) && (*(byte *)(pwVar18 + 1) == 0)) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);\n        }\n      }" { (if_statement "if ((byte)*pwVar18 == 0) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59acc) + -0x794);\n        }\n        else if (((byte)*pwVar18 == 0x2f) && (*(byte *)(pwVar18 + 1) == 0)) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);\n        }" if (parenthesized_expression "((byte)*pwVar18 == 0)" ( (binary_expression "(byte)*pwVar18 == 0" (binary_expression "(byte)*pwVar18" (parenthesized_expression "(byte)" ( identifier )) * identifier) == number_literal) )) (compound_statement "{\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59acc) + -0x794);\n        }" { (expression_statement "pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59acc) + -0x794);" (assignment_expression "pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59acc) + -0x794)" identifier = (cast_expression "(word *)(*(int *)(pcVar23 + 0x59acc) + -0x794)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar23 + 0x59acc) + -0x794)" ( (binary_expression "*(int *)(pcVar23 + 0x59acc) + -0x794" (pointer_expression "*(int *)(pcVar23 + 0x59acc)" * (cast_expression "(int *)(pcVar23 + 0x59acc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar23 + 0x59acc)" ( (binary_expression "pcVar23 + 0x59acc" identifier + number_literal) )))) + number_literal) )))) ;) }) (else_clause "else if (((byte)*pwVar18 == 0x2f) && (*(byte *)(pwVar18 + 1) == 0)) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);\n        }" else (if_statement "if (((byte)*pwVar18 == 0x2f) && (*(byte *)(pwVar18 + 1) == 0)) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);\n        }" if (parenthesized_expression "(((byte)*pwVar18 == 0x2f) && (*(byte *)(pwVar18 + 1) == 0))" ( (binary_expression "((byte)*pwVar18 == 0x2f) && (*(byte *)(pwVar18 + 1) == 0)" (parenthesized_expression "((byte)*pwVar18 == 0x2f)" ( (binary_expression "(byte)*pwVar18 == 0x2f" (binary_expression "(byte)*pwVar18" (parenthesized_expression "(byte)" ( identifier )) * identifier) == number_literal) )) && (parenthesized_expression "(*(byte *)(pwVar18 + 1) == 0)" ( (binary_expression "*(byte *)(pwVar18 + 1) == 0" (pointer_expression "*(byte *)(pwVar18 + 1)" * (cast_expression "(byte *)(pwVar18 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pwVar18 + 1)" ( (binary_expression "pwVar18 + 1" identifier + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);\n        }" { (expression_statement "pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);" (assignment_expression "pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c)" identifier = (cast_expression "(word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar23 + 0x59b70) + -0x5e9c)" ( (binary_expression "*(int *)(pcVar23 + 0x59b70) + -0x5e9c" (pointer_expression "*(int *)(pcVar23 + 0x59b70)" * (cast_expression "(int *)(pcVar23 + 0x59b70)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar23 + 0x59b70)" ( (binary_expression "pcVar23 + 0x59b70" identifier + number_literal) )))) + number_literal) )))) ;) })))) })) }))) (expression_statement "iStack_31c = (**(code **)(pcVar23 + 0x5a028))(pwStack_318);" (assignment_expression "iStack_31c = (**(code **)(pcVar23 + 0x5a028))(pwStack_318)" identifier = (call_expression "(**(code **)(pcVar23 + 0x5a028))(pwStack_318)" (parenthesized_expression "(**(code **)(pcVar23 + 0x5a028))" ( (pointer_expression "**(code **)(pcVar23 + 0x5a028)" * (pointer_expression "*(code **)(pcVar23 + 0x5a028)" * (cast_expression "(code **)(pcVar23 + 0x5a028)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5a028)" ( (binary_expression "pcVar23 + 0x5a028" identifier + number_literal) ))))) )) (argument_list "(pwStack_318)" ( identifier )))) ;) (if_statement "if ((code *)**(undefined4 **)(pcVar23 + 0x5ab20) != (code *)0x0) {\n      (*(code *)**(undefined4 **)(pcVar23 + 0x5ab20))(&iStack_31c);\n    }" if (parenthesized_expression "((code *)**(undefined4 **)(pcVar23 + 0x5ab20) != (code *)0x0)" ( (binary_expression "(code *)**(undefined4 **)(pcVar23 + 0x5ab20) != (code *)0x0" (cast_expression "(code *)**(undefined4 **)(pcVar23 + 0x5ab20)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcVar23 + 0x5ab20)" * (pointer_expression "*(undefined4 **)(pcVar23 + 0x5ab20)" * (cast_expression "(undefined4 **)(pcVar23 + 0x5ab20)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5ab20)" ( (binary_expression "pcVar23 + 0x5ab20" identifier + number_literal) )))))) != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      (*(code *)**(undefined4 **)(pcVar23 + 0x5ab20))(&iStack_31c);\n    }" { (expression_statement "(*(code *)**(undefined4 **)(pcVar23 + 0x5ab20))(&iStack_31c);" (call_expression "(*(code *)**(undefined4 **)(pcVar23 + 0x5ab20))(&iStack_31c)" (parenthesized_expression "(*(code *)**(undefined4 **)(pcVar23 + 0x5ab20))" ( (pointer_expression "*(code *)**(undefined4 **)(pcVar23 + 0x5ab20)" * (cast_expression "(code *)**(undefined4 **)(pcVar23 + 0x5ab20)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcVar23 + 0x5ab20)" * (pointer_expression "*(undefined4 **)(pcVar23 + 0x5ab20)" * (cast_expression "(undefined4 **)(pcVar23 + 0x5ab20)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5ab20)" ( (binary_expression "pcVar23 + 0x5ab20" identifier + number_literal) ))))))) )) (argument_list "(&iStack_31c)" ( (pointer_expression "&iStack_31c" & identifier) ))) ;) })) (expression_statement "iVar5 = (**(code **)(pcVar23 + 0x5b960))(iStack_31c);" (assignment_expression "iVar5 = (**(code **)(pcVar23 + 0x5b960))(iStack_31c)" identifier = (call_expression "(**(code **)(pcVar23 + 0x5b960))(iStack_31c)" (parenthesized_expression "(**(code **)(pcVar23 + 0x5b960))" ( (pointer_expression "**(code **)(pcVar23 + 0x5b960)" * (pointer_expression "*(code **)(pcVar23 + 0x5b960)" * (cast_expression "(code **)(pcVar23 + 0x5b960)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5b960)" ( (binary_expression "pcVar23 + 0x5b960" identifier + number_literal) ))))) )) (argument_list "(iStack_31c)" ( identifier )))) ;) (expression_statement "iVar13 = (**(code **)(pcVar23 + 0x5b960))(pbVar24);" (assignment_expression "iVar13 = (**(code **)(pcVar23 + 0x5b960))(pbVar24)" identifier = (call_expression "(**(code **)(pcVar23 + 0x5b960))(pbVar24)" (parenthesized_expression "(**(code **)(pcVar23 + 0x5b960))" ( (pointer_expression "**(code **)(pcVar23 + 0x5b960)" * (pointer_expression "*(code **)(pcVar23 + 0x5b960)" * (cast_expression "(code **)(pcVar23 + 0x5b960)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5b960)" ( (binary_expression "pcVar23 + 0x5b960" identifier + number_literal) ))))) )) (argument_list "(pbVar24)" ( identifier )))) ;) (expression_statement "pwVar16 = (word *)(**(code **)(pcVar23 + 0x59ad4))(iVar13 + iVar5 + 2);" (assignment_expression "pwVar16 = (word *)(**(code **)(pcVar23 + 0x59ad4))(iVar13 + iVar5 + 2)" identifier = (cast_expression "(word *)(**(code **)(pcVar23 + 0x59ad4))(iVar13 + iVar5 + 2)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar23 + 0x59ad4))(iVar13 + iVar5 + 2)" (parenthesized_expression "(**(code **)(pcVar23 + 0x59ad4))" ( (pointer_expression "**(code **)(pcVar23 + 0x59ad4)" * (pointer_expression "*(code **)(pcVar23 + 0x59ad4)" * (cast_expression "(code **)(pcVar23 + 0x59ad4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x59ad4)" ( (binary_expression "pcVar23 + 0x59ad4" identifier + number_literal) ))))) )) (argument_list "(iVar13 + iVar5 + 2)" ( (binary_expression "iVar13 + iVar5 + 2" (binary_expression "iVar13 + iVar5" identifier + identifier) + number_literal) ))))) ;) (expression_statement "(**(code **)(pcVar23 + 0x5b9e8))(pwVar16,iStack_31c);" (call_expression "(**(code **)(pcVar23 + 0x5b9e8))(pwVar16,iStack_31c)" (parenthesized_expression "(**(code **)(pcVar23 + 0x5b9e8))" ( (pointer_expression "**(code **)(pcVar23 + 0x5b9e8)" * (pointer_expression "*(code **)(pcVar23 + 0x5b9e8)" * (cast_expression "(code **)(pcVar23 + 0x5b9e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5b9e8)" ( (binary_expression "pcVar23 + 0x5b9e8" identifier + number_literal) ))))) )) (argument_list "(pwVar16,iStack_31c)" ( identifier , identifier ))) ;) (if_statement "if (*(char *)(iStack_31c + iVar5 + -1) == '/') {\n      iVar5 = iVar5 + -1;\n    }\n    else {\n      *(byte *)((int)pwVar16 + iVar5) = 0x2f;\n    }" if (parenthesized_expression "(*(char *)(iStack_31c + iVar5 + -1) == '/')" ( (binary_expression "*(char *)(iStack_31c + iVar5 + -1) == '/'" (pointer_expression "*(char *)(iStack_31c + iVar5 + -1)" * (cast_expression "(char *)(iStack_31c + iVar5 + -1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iStack_31c + iVar5 + -1)" ( (binary_expression "iStack_31c + iVar5 + -1" (binary_expression "iStack_31c + iVar5" identifier + identifier) + number_literal) )))) == (char_literal "'/'" ' character ')) )) (compound_statement "{\n      iVar5 = iVar5 + -1;\n    }" { (expression_statement "iVar5 = iVar5 + -1;" (assignment_expression "iVar5 = iVar5 + -1" identifier = (binary_expression "iVar5 + -1" identifier + number_literal)) ;) }) (else_clause "else {\n      *(byte *)((int)pwVar16 + iVar5) = 0x2f;\n    }" else (compound_statement "{\n      *(byte *)((int)pwVar16 + iVar5) = 0x2f;\n    }" { (expression_statement "*(byte *)((int)pwVar16 + iVar5) = 0x2f;" (assignment_expression "*(byte *)((int)pwVar16 + iVar5) = 0x2f" (pointer_expression "*(byte *)((int)pwVar16 + iVar5)" * (cast_expression "(byte *)((int)pwVar16 + iVar5)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwVar16 + iVar5)" ( (binary_expression "(int)pwVar16 + iVar5" (cast_expression "(int)pwVar16" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) = number_literal) ;) }))) (expression_statement "(**(code **)(pcVar23 + 0x5b9e8))((byte *)((int)pwVar16 + iVar5 + 1),pbVar24);" (call_expression "(**(code **)(pcVar23 + 0x5b9e8))((byte *)((int)pwVar16 + iVar5 + 1),pbVar24)" (parenthesized_expression "(**(code **)(pcVar23 + 0x5b9e8))" ( (pointer_expression "**(code **)(pcVar23 + 0x5b9e8)" * (pointer_expression "*(code **)(pcVar23 + 0x5b9e8)" * (cast_expression "(code **)(pcVar23 + 0x5b9e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5b9e8)" ( (binary_expression "pcVar23 + 0x5b9e8" identifier + number_literal) ))))) )) (argument_list "((byte *)((int)pwVar16 + iVar5 + 1),pbVar24)" ( (cast_expression "(byte *)((int)pwVar16 + iVar5 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwVar16 + iVar5 + 1)" ( (binary_expression "(int)pwVar16 + iVar5 + 1" (binary_expression "(int)pwVar16 + iVar5" (cast_expression "(int)pwVar16" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) ))) , identifier ))) ;) (if_statement "if (**(int **)(pcVar23 + 0x5b4d8) == 0) {\n      iVar5 = **(int **)(pcVar23 + 0x5b49c);\n      piVar9 = *(int **)(pcVar23 + 0x5b2b4);\n      if (iVar5 != 0) {\n        pwStack_318 = (word *)0x0;\n        if ((**(int **)(pcVar23 + 0x5ab20) == 0) && (**(int **)(pcVar23 + 0x5ac70) != 0)) {\n          iVar5 = (**(code **)(pcVar23 + 0x5b960))(pwVar16);\n          uVar7 = (**(code **)(pcVar23 + 0x59ad4))(iVar5 + 1);\n          pwStack_318 = (word *)(**(code **)(pcVar23 + 0x5b9e8))(uVar7,pwVar16);\n          (*(code *)**(undefined4 **)(pcVar23 + 0x5ac70))(&pwStack_318);\n          (**(code **)(pcVar23 + 0x5a0d0))(pwVar16);\n          pwVar16 = pwStack_318;\n        }\n        iVar5 = FUN_000fa188(pwVar16);\n        if (iVar5 != 0) {\n          iVar5 = 0x2f;\n        }\n        goto LAB_000fcdb0;\n      }\n    }\n    else {\n      iVar5 = FUN_000f9fd0(pwVar16);\nLAB_000fcdb0:\n      piVar9 = *(int **)(pcVar23 + 0x5b2b4);\n    }" if (parenthesized_expression "(**(int **)(pcVar23 + 0x5b4d8) == 0)" ( (binary_expression "**(int **)(pcVar23 + 0x5b4d8) == 0" (pointer_expression "**(int **)(pcVar23 + 0x5b4d8)" * (pointer_expression "*(int **)(pcVar23 + 0x5b4d8)" * (cast_expression "(int **)(pcVar23 + 0x5b4d8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5b4d8)" ( (binary_expression "pcVar23 + 0x5b4d8" identifier + number_literal) ))))) == number_literal) )) (compound_statement "{\n      iVar5 = **(int **)(pcVar23 + 0x5b49c);\n      piVar9 = *(int **)(pcVar23 + 0x5b2b4);\n      if (iVar5 != 0) {\n        pwStack_318 = (word *)0x0;\n        if ((**(int **)(pcVar23 + 0x5ab20) == 0) && (**(int **)(pcVar23 + 0x5ac70) != 0)) {\n          iVar5 = (**(code **)(pcVar23 + 0x5b960))(pwVar16);\n          uVar7 = (**(code **)(pcVar23 + 0x59ad4))(iVar5 + 1);\n          pwStack_318 = (word *)(**(code **)(pcVar23 + 0x5b9e8))(uVar7,pwVar16);\n          (*(code *)**(undefined4 **)(pcVar23 + 0x5ac70))(&pwStack_318);\n          (**(code **)(pcVar23 + 0x5a0d0))(pwVar16);\n          pwVar16 = pwStack_318;\n        }\n        iVar5 = FUN_000fa188(pwVar16);\n        if (iVar5 != 0) {\n          iVar5 = 0x2f;\n        }\n        goto LAB_000fcdb0;\n      }\n    }" { (expression_statement "iVar5 = **(int **)(pcVar23 + 0x5b49c);" (assignment_expression "iVar5 = **(int **)(pcVar23 + 0x5b49c)" identifier = (pointer_expression "**(int **)(pcVar23 + 0x5b49c)" * (pointer_expression "*(int **)(pcVar23 + 0x5b49c)" * (cast_expression "(int **)(pcVar23 + 0x5b49c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5b49c)" ( (binary_expression "pcVar23 + 0x5b49c" identifier + number_literal) )))))) ;) (expression_statement "piVar9 = *(int **)(pcVar23 + 0x5b2b4);" (assignment_expression "piVar9 = *(int **)(pcVar23 + 0x5b2b4)" identifier = (pointer_expression "*(int **)(pcVar23 + 0x5b2b4)" * (cast_expression "(int **)(pcVar23 + 0x5b2b4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5b2b4)" ( (binary_expression "pcVar23 + 0x5b2b4" identifier + number_literal) ))))) ;) (if_statement "if (iVar5 != 0) {\n        pwStack_318 = (word *)0x0;\n        if ((**(int **)(pcVar23 + 0x5ab20) == 0) && (**(int **)(pcVar23 + 0x5ac70) != 0)) {\n          iVar5 = (**(code **)(pcVar23 + 0x5b960))(pwVar16);\n          uVar7 = (**(code **)(pcVar23 + 0x59ad4))(iVar5 + 1);\n          pwStack_318 = (word *)(**(code **)(pcVar23 + 0x5b9e8))(uVar7,pwVar16);\n          (*(code *)**(undefined4 **)(pcVar23 + 0x5ac70))(&pwStack_318);\n          (**(code **)(pcVar23 + 0x5a0d0))(pwVar16);\n          pwVar16 = pwStack_318;\n        }\n        iVar5 = FUN_000fa188(pwVar16);\n        if (iVar5 != 0) {\n          iVar5 = 0x2f;\n        }\n        goto LAB_000fcdb0;\n      }" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (compound_statement "{\n        pwStack_318 = (word *)0x0;\n        if ((**(int **)(pcVar23 + 0x5ab20) == 0) && (**(int **)(pcVar23 + 0x5ac70) != 0)) {\n          iVar5 = (**(code **)(pcVar23 + 0x5b960))(pwVar16);\n          uVar7 = (**(code **)(pcVar23 + 0x59ad4))(iVar5 + 1);\n          pwStack_318 = (word *)(**(code **)(pcVar23 + 0x5b9e8))(uVar7,pwVar16);\n          (*(code *)**(undefined4 **)(pcVar23 + 0x5ac70))(&pwStack_318);\n          (**(code **)(pcVar23 + 0x5a0d0))(pwVar16);\n          pwVar16 = pwStack_318;\n        }\n        iVar5 = FUN_000fa188(pwVar16);\n        if (iVar5 != 0) {\n          iVar5 = 0x2f;\n        }\n        goto LAB_000fcdb0;\n      }" { (expression_statement "pwStack_318 = (word *)0x0;" (assignment_expression "pwStack_318 = (word *)0x0" identifier = (cast_expression "(word *)0x0" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((**(int **)(pcVar23 + 0x5ab20) == 0) && (**(int **)(pcVar23 + 0x5ac70) != 0)) {\n          iVar5 = (**(code **)(pcVar23 + 0x5b960))(pwVar16);\n          uVar7 = (**(code **)(pcVar23 + 0x59ad4))(iVar5 + 1);\n          pwStack_318 = (word *)(**(code **)(pcVar23 + 0x5b9e8))(uVar7,pwVar16);\n          (*(code *)**(undefined4 **)(pcVar23 + 0x5ac70))(&pwStack_318);\n          (**(code **)(pcVar23 + 0x5a0d0))(pwVar16);\n          pwVar16 = pwStack_318;\n        }" if (parenthesized_expression "((**(int **)(pcVar23 + 0x5ab20) == 0) && (**(int **)(pcVar23 + 0x5ac70) != 0))" ( (binary_expression "(**(int **)(pcVar23 + 0x5ab20) == 0) && (**(int **)(pcVar23 + 0x5ac70) != 0)" (parenthesized_expression "(**(int **)(pcVar23 + 0x5ab20) == 0)" ( (binary_expression "**(int **)(pcVar23 + 0x5ab20) == 0" (pointer_expression "**(int **)(pcVar23 + 0x5ab20)" * (pointer_expression "*(int **)(pcVar23 + 0x5ab20)" * (cast_expression "(int **)(pcVar23 + 0x5ab20)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5ab20)" ( (binary_expression "pcVar23 + 0x5ab20" identifier + number_literal) ))))) == number_literal) )) && (parenthesized_expression "(**(int **)(pcVar23 + 0x5ac70) != 0)" ( (binary_expression "**(int **)(pcVar23 + 0x5ac70) != 0" (pointer_expression "**(int **)(pcVar23 + 0x5ac70)" * (pointer_expression "*(int **)(pcVar23 + 0x5ac70)" * (cast_expression "(int **)(pcVar23 + 0x5ac70)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5ac70)" ( (binary_expression "pcVar23 + 0x5ac70" identifier + number_literal) ))))) != number_literal) ))) )) (compound_statement "{\n          iVar5 = (**(code **)(pcVar23 + 0x5b960))(pwVar16);\n          uVar7 = (**(code **)(pcVar23 + 0x59ad4))(iVar5 + 1);\n          pwStack_318 = (word *)(**(code **)(pcVar23 + 0x5b9e8))(uVar7,pwVar16);\n          (*(code *)**(undefined4 **)(pcVar23 + 0x5ac70))(&pwStack_318);\n          (**(code **)(pcVar23 + 0x5a0d0))(pwVar16);\n          pwVar16 = pwStack_318;\n        }" { (expression_statement "iVar5 = (**(code **)(pcVar23 + 0x5b960))(pwVar16);" (assignment_expression "iVar5 = (**(code **)(pcVar23 + 0x5b960))(pwVar16)" identifier = (call_expression "(**(code **)(pcVar23 + 0x5b960))(pwVar16)" (parenthesized_expression "(**(code **)(pcVar23 + 0x5b960))" ( (pointer_expression "**(code **)(pcVar23 + 0x5b960)" * (pointer_expression "*(code **)(pcVar23 + 0x5b960)" * (cast_expression "(code **)(pcVar23 + 0x5b960)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5b960)" ( (binary_expression "pcVar23 + 0x5b960" identifier + number_literal) ))))) )) (argument_list "(pwVar16)" ( identifier )))) ;) (expression_statement "uVar7 = (**(code **)(pcVar23 + 0x59ad4))(iVar5 + 1);" (assignment_expression "uVar7 = (**(code **)(pcVar23 + 0x59ad4))(iVar5 + 1)" identifier = (call_expression "(**(code **)(pcVar23 + 0x59ad4))(iVar5 + 1)" (parenthesized_expression "(**(code **)(pcVar23 + 0x59ad4))" ( (pointer_expression "**(code **)(pcVar23 + 0x59ad4)" * (pointer_expression "*(code **)(pcVar23 + 0x59ad4)" * (cast_expression "(code **)(pcVar23 + 0x59ad4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x59ad4)" ( (binary_expression "pcVar23 + 0x59ad4" identifier + number_literal) ))))) )) (argument_list "(iVar5 + 1)" ( (binary_expression "iVar5 + 1" identifier + number_literal) )))) ;) (expression_statement "pwStack_318 = (word *)(**(code **)(pcVar23 + 0x5b9e8))(uVar7,pwVar16);" (assignment_expression "pwStack_318 = (word *)(**(code **)(pcVar23 + 0x5b9e8))(uVar7,pwVar16)" identifier = (cast_expression "(word *)(**(code **)(pcVar23 + 0x5b9e8))(uVar7,pwVar16)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar23 + 0x5b9e8))(uVar7,pwVar16)" (parenthesized_expression "(**(code **)(pcVar23 + 0x5b9e8))" ( (pointer_expression "**(code **)(pcVar23 + 0x5b9e8)" * (pointer_expression "*(code **)(pcVar23 + 0x5b9e8)" * (cast_expression "(code **)(pcVar23 + 0x5b9e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5b9e8)" ( (binary_expression "pcVar23 + 0x5b9e8" identifier + number_literal) ))))) )) (argument_list "(uVar7,pwVar16)" ( identifier , identifier ))))) ;) (expression_statement "(*(code *)**(undefined4 **)(pcVar23 + 0x5ac70))(&pwStack_318);" (call_expression "(*(code *)**(undefined4 **)(pcVar23 + 0x5ac70))(&pwStack_318)" (parenthesized_expression "(*(code *)**(undefined4 **)(pcVar23 + 0x5ac70))" ( (pointer_expression "*(code *)**(undefined4 **)(pcVar23 + 0x5ac70)" * (cast_expression "(code *)**(undefined4 **)(pcVar23 + 0x5ac70)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcVar23 + 0x5ac70)" * (pointer_expression "*(undefined4 **)(pcVar23 + 0x5ac70)" * (cast_expression "(undefined4 **)(pcVar23 + 0x5ac70)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5ac70)" ( (binary_expression "pcVar23 + 0x5ac70" identifier + number_literal) ))))))) )) (argument_list "(&pwStack_318)" ( (pointer_expression "&pwStack_318" & identifier) ))) ;) (expression_statement "(**(code **)(pcVar23 + 0x5a0d0))(pwVar16);" (call_expression "(**(code **)(pcVar23 + 0x5a0d0))(pwVar16)" (parenthesized_expression "(**(code **)(pcVar23 + 0x5a0d0))" ( (pointer_expression "**(code **)(pcVar23 + 0x5a0d0)" * (pointer_expression "*(code **)(pcVar23 + 0x5a0d0)" * (cast_expression "(code **)(pcVar23 + 0x5a0d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5a0d0)" ( (binary_expression "pcVar23 + 0x5a0d0" identifier + number_literal) ))))) )) (argument_list "(pwVar16)" ( identifier ))) ;) (expression_statement "pwVar16 = pwStack_318;" (assignment_expression "pwVar16 = pwStack_318" identifier = identifier) ;) })) (expression_statement "iVar5 = FUN_000fa188(pwVar16);" (assignment_expression "iVar5 = FUN_000fa188(pwVar16)" identifier = (call_expression "FUN_000fa188(pwVar16)" identifier (argument_list "(pwVar16)" ( identifier )))) ;) (if_statement "if (iVar5 != 0) {\n          iVar5 = 0x2f;\n        }" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (compound_statement "{\n          iVar5 = 0x2f;\n        }" { (expression_statement "iVar5 = 0x2f;" (assignment_expression "iVar5 = 0x2f" identifier = number_literal) ;) })) (goto_statement "goto LAB_000fcdb0;" goto statement_identifier ;) })) }) (else_clause "else {\n      iVar5 = FUN_000f9fd0(pwVar16);\nLAB_000fcdb0:\n      piVar9 = *(int **)(pcVar23 + 0x5b2b4);\n    }" else (compound_statement "{\n      iVar5 = FUN_000f9fd0(pwVar16);\nLAB_000fcdb0:\n      piVar9 = *(int **)(pcVar23 + 0x5b2b4);\n    }" { (expression_statement "iVar5 = FUN_000f9fd0(pwVar16);" (assignment_expression "iVar5 = FUN_000f9fd0(pwVar16)" identifier = (call_expression "FUN_000f9fd0(pwVar16)" identifier (argument_list "(pwVar16)" ( identifier )))) ;) (labeled_statement "LAB_000fcdb0:\n      piVar9 = *(int **)(pcVar23 + 0x5b2b4);" statement_identifier : (expression_statement "piVar9 = *(int **)(pcVar23 + 0x5b2b4);" (assignment_expression "piVar9 = *(int **)(pcVar23 + 0x5b2b4)" identifier = (pointer_expression "*(int **)(pcVar23 + 0x5b2b4)" * (cast_expression "(int **)(pcVar23 + 0x5b2b4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5b2b4)" ( (binary_expression "pcVar23 + 0x5b2b4" identifier + number_literal) ))))) ;)) }))) (if_statement "if (*piVar9 != 0) {\n      pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,pwVar16);\n    }" if (parenthesized_expression "(*piVar9 != 0)" ( (binary_expression "*piVar9 != 0" (pointer_expression "*piVar9" * identifier) != number_literal) )) (compound_statement "{\n      pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,pwVar16);\n    }" { (expression_statement "pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,pwVar16);" (assignment_expression "pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,pwVar16)" identifier = (cast_expression "(word *)FUN_000fc5fc(pbVar24,pwVar15,pwVar16)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_000fc5fc(pbVar24,pwVar15,pwVar16)" identifier (argument_list "(pbVar24,pwVar15,pwVar16)" ( identifier , identifier , identifier ))))) ;) })) (expression_statement "(**(code **)(pcVar23 + 0x5a0d0))(pwVar16);" (call_expression "(**(code **)(pcVar23 + 0x5a0d0))(pwVar16)" (parenthesized_expression "(**(code **)(pcVar23 + 0x5a0d0))" ( (pointer_expression "**(code **)(pcVar23 + 0x5a0d0)" * (pointer_expression "*(code **)(pcVar23 + 0x5a0d0)" * (cast_expression "(code **)(pcVar23 + 0x5a0d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5a0d0)" ( (binary_expression "pcVar23 + 0x5a0d0" identifier + number_literal) ))))) )) (argument_list "(pwVar16)" ( identifier ))) ;) (expression_statement "pbVar24[-1] = bVar2;" (assignment_expression "pbVar24[-1] = bVar2" (subscript_expression "pbVar24[-1]" identifier [ number_literal ]) = identifier) ;) (labeled_statement "LAB_000fcddc:\n    (**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);" statement_identifier : (expression_statement "(**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);" (call_expression "(**(code **)(pcVar23 + 0x5a0d0))(iStack_31c)" (parenthesized_expression "(**(code **)(pcVar23 + 0x5a0d0))" ( (pointer_expression "**(code **)(pcVar23 + 0x5a0d0)" * (pointer_expression "*(code **)(pcVar23 + 0x5a0d0)" * (cast_expression "(code **)(pcVar23 + 0x5a0d0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5a0d0)" ( (binary_expression "pcVar23 + 0x5a0d0" identifier + number_literal) ))))) )) (argument_list "(iStack_31c)" ( identifier ))) ;)) (if_statement "if (iVar5 == 0) goto LAB_000fcb84;" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000fcb84;" goto statement_identifier ;)) }))) (expression_statement "(**(code **)(pcVar23 + 0x5b86c))(iVar5,**(undefined4 **)(pcVar23 + 0x5ab6c));" (call_expression "(**(code **)(pcVar23 + 0x5b86c))(iVar5,**(undefined4 **)(pcVar23 + 0x5ab6c))" (parenthesized_expression "(**(code **)(pcVar23 + 0x5b86c))" ( (pointer_expression "**(code **)(pcVar23 + 0x5b86c)" * (pointer_expression "*(code **)(pcVar23 + 0x5b86c)" * (cast_expression "(code **)(pcVar23 + 0x5b86c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5b86c)" ( (binary_expression "pcVar23 + 0x5b86c" identifier + number_literal) ))))) )) (argument_list "(iVar5,**(undefined4 **)(pcVar23 + 0x5ab6c))" ( identifier , (pointer_expression "**(undefined4 **)(pcVar23 + 0x5ab6c)" * (pointer_expression "*(undefined4 **)(pcVar23 + 0x5ab6c)" * (cast_expression "(undefined4 **)(pcVar23 + 0x5ab6c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5ab6c)" ( (binary_expression "pcVar23 + 0x5ab6c" identifier + number_literal) ))))) ))) ;) (expression_statement "pwVar6 = (word *)((int)pwVar6 + 1);" (assignment_expression "pwVar6 = (word *)((int)pwVar6 + 1)" identifier = (cast_expression "(word *)((int)pwVar6 + 1)" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pwVar6 + 1)" ( (binary_expression "(int)pwVar6 + 1" (cast_expression "(int)pwVar6" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (labeled_statement "LAB_000fcb84:\n  if (iStack_314 == **(int **)(pcVar23 + 0x5baa8)) {\n    return pwVar6;\n  }" statement_identifier : (if_statement "if (iStack_314 == **(int **)(pcVar23 + 0x5baa8)) {\n    return pwVar6;\n  }" if (parenthesized_expression "(iStack_314 == **(int **)(pcVar23 + 0x5baa8))" ( (binary_expression "iStack_314 == **(int **)(pcVar23 + 0x5baa8)" identifier == (pointer_expression "**(int **)(pcVar23 + 0x5baa8)" * (pointer_expression "*(int **)(pcVar23 + 0x5baa8)" * (cast_expression "(int **)(pcVar23 + 0x5baa8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5baa8)" ( (binary_expression "pcVar23 + 0x5baa8" identifier + number_literal) )))))) )) (compound_statement "{\n    return pwVar6;\n  }" { (return_statement "return pwVar6;" return identifier ;) }))) (expression_statement "pcVar23 = *(code **)(pcVar23 + 0x5ba58);" (assignment_expression "pcVar23 = *(code **)(pcVar23 + 0x5ba58)" identifier = (pointer_expression "*(code **)(pcVar23 + 0x5ba58)" * (cast_expression "(code **)(pcVar23 + 0x5ba58)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5ba58)" ( (binary_expression "pcVar23 + 0x5ba58" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar23)();" (call_expression "(*pcVar23)()" (parenthesized_expression "(*pcVar23)" ( (pointer_expression "*pcVar23" * identifier) )) (argument_list "()" ( ))) ;) (if_statement "if ((**(int **)(pcVar23 + 0x5a67c) == iStack_314) &&\n     (*(int *)(*(int *)(pcVar23 + 0x595b0) + -0x3fb8) == 0)) {\n    return (word *)0x3f;\n  }" if (parenthesized_expression "((**(int **)(pcVar23 + 0x5a67c) == iStack_314) &&\n     (*(int *)(*(int *)(pcVar23 + 0x595b0) + -0x3fb8) == 0))" ( (binary_expression "(**(int **)(pcVar23 + 0x5a67c) == iStack_314) &&\n     (*(int *)(*(int *)(pcVar23 + 0x595b0) + -0x3fb8) == 0)" (parenthesized_expression "(**(int **)(pcVar23 + 0x5a67c) == iStack_314)" ( (binary_expression "**(int **)(pcVar23 + 0x5a67c) == iStack_314" (pointer_expression "**(int **)(pcVar23 + 0x5a67c)" * (pointer_expression "*(int **)(pcVar23 + 0x5a67c)" * (cast_expression "(int **)(pcVar23 + 0x5a67c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5a67c)" ( (binary_expression "pcVar23 + 0x5a67c" identifier + number_literal) ))))) == identifier) )) && (parenthesized_expression "(*(int *)(*(int *)(pcVar23 + 0x595b0) + -0x3fb8) == 0)" ( (binary_expression "*(int *)(*(int *)(pcVar23 + 0x595b0) + -0x3fb8) == 0" (pointer_expression "*(int *)(*(int *)(pcVar23 + 0x595b0) + -0x3fb8)" * (cast_expression "(int *)(*(int *)(pcVar23 + 0x595b0) + -0x3fb8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar23 + 0x595b0) + -0x3fb8)" ( (binary_expression "*(int *)(pcVar23 + 0x595b0) + -0x3fb8" (pointer_expression "*(int *)(pcVar23 + 0x595b0)" * (cast_expression "(int *)(pcVar23 + 0x595b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar23 + 0x595b0)" ( (binary_expression "pcVar23 + 0x595b0" identifier + number_literal) )))) + number_literal) )))) == number_literal) ))) )) (compound_statement "{\n    return (word *)0x3f;\n  }" { (return_statement "return (word *)0x3f;" return (cast_expression "(word *)0x3f" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (if_statement "if (**(int **)(pcVar23 + 0x5b004) == 0) {\n    pwVar16 = (word *)&DAT_00000009;\n    if (**(int **)(pcVar23 + 0x5b008) != 0) {\n      pwVar16 = (word *)0x40;\n    }\n    return pwVar16;\n  }" if (parenthesized_expression "(**(int **)(pcVar23 + 0x5b004) == 0)" ( (binary_expression "**(int **)(pcVar23 + 0x5b004) == 0" (pointer_expression "**(int **)(pcVar23 + 0x5b004)" * (pointer_expression "*(int **)(pcVar23 + 0x5b004)" * (cast_expression "(int **)(pcVar23 + 0x5b004)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5b004)" ( (binary_expression "pcVar23 + 0x5b004" identifier + number_literal) ))))) == number_literal) )) (compound_statement "{\n    pwVar16 = (word *)&DAT_00000009;\n    if (**(int **)(pcVar23 + 0x5b008) != 0) {\n      pwVar16 = (word *)0x40;\n    }\n    return pwVar16;\n  }" { (expression_statement "pwVar16 = (word *)&DAT_00000009;" (assignment_expression "pwVar16 = (word *)&DAT_00000009" identifier = (cast_expression "(word *)&DAT_00000009" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000009" & identifier))) ;) (if_statement "if (**(int **)(pcVar23 + 0x5b008) != 0) {\n      pwVar16 = (word *)0x40;\n    }" if (parenthesized_expression "(**(int **)(pcVar23 + 0x5b008) != 0)" ( (binary_expression "**(int **)(pcVar23 + 0x5b008) != 0" (pointer_expression "**(int **)(pcVar23 + 0x5b008)" * (pointer_expression "*(int **)(pcVar23 + 0x5b008)" * (cast_expression "(int **)(pcVar23 + 0x5b008)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar23 + 0x5b008)" ( (binary_expression "pcVar23 + 0x5b008" identifier + number_literal) ))))) != number_literal) )) (compound_statement "{\n      pwVar16 = (word *)0x40;\n    }" { (expression_statement "pwVar16 = (word *)0x40;" (assignment_expression "pwVar16 = (word *)0x40" identifier = (cast_expression "(word *)0x40" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (return_statement "return pwVar16;" return identifier ;) })) (return_statement "return (word *)&DAT_00000021;" return (cast_expression "(word *)&DAT_00000021" ( (type_descriptor "word *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000021" & identifier)) ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) )))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * 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 (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) + LIT) )))) == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_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 IDENT = (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 *)) ) IDENT)) == LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)))) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (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 (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT ))))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) )) (argument_list ( (pointer_expression & IDENT) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (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 *)) ) LIT)) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT )))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + IDENT) )))) != (char_literal ' escape_sequence ')) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + IDENT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + IDENT) + LIT) ))))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' character ')) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) ))) ;) })) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) , (binary_expression IDENT == LIT)) ))) )) (goto_statement goto statement_identifier ;)))) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) }))) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) )) (compound_statement { (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (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)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * (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) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier)))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier)))) ;) (expression_statement (assignment_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) ))))) ;) (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)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < IDENT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)))))) ;) (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 *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < LIT) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) != LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) != IDENT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) , IDENT , IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + LIT) )))) ;) })) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )))))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )))))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )))))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( IDENT ))) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ))))) ;) (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 *)) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) )))) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) })) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )))))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( IDENT ))) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 == IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))))) , (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) )))) & LIT) )) != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < LIT) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) != LIT) ))) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) != IDENT) )) (break_statement break ;))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression & IDENT) , IDENT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) < LIT) )) || (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) < LIT) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (break_statement break ;)) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression IDENT - LIT) ))) )))) ;) })) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;)) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) != LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))))) )) (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })))) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression IDENT + LIT) , IDENT , LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (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 *)) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * IDENT) , IDENT , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) <= (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * IDENT) ))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) })) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (pointer_expression * IDENT)) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))))) )) (compound_statement { (return_statement return 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) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) != LIT) )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) == LIT) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) << LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) != IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) )))) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;)) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) 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 = (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) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) })) })) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) || (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ))) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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) )))) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))))) ;) (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 = IDENT) , (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (field_expression IDENT . field_identifier)) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))))) )) (compound_statement { (return_statement return 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) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (field_expression IDENT . field_identifier))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (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) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) = LIT) ;) })) (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 IDENT + LIT) )))) + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( 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 * IDENT) = LIT) ;) (expression_statement (assignment_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 * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) + LIT) )))) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) = IDENT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) , (pointer_expression * (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) == (char_literal ' character '))) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (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 (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))))) )) (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 IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( 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) ;) (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 IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( 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) ;) })) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) }))) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) != (char_literal ' escape_sequence ')) )) && (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 (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) != LIT)) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) , (pointer_expression * (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 * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (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) )))) = 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 = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_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 * (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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) = LIT) ;) (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 IDENT + LIT) )))) + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (goto_statement goto statement_identifier ;) }))) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (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 IDENT + LIT) )))) + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) = LIT) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) )) (argument_list ( IDENT , IDENT ))))) , (binary_expression IDENT != IDENT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( 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 { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) != LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) != LIT) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * IDENT) != LIT) && (parenthesized_expression ( (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 (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * IDENT) != 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT)) )))) )) ))) )) ))) )) (goto_statement goto statement_identifier ;)) }))) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression & IDENT)) , (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (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) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( IDENT ))) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) == IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))))) , (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) )))) & LIT) )) != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (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) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) ))))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( IDENT ))) * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) )))) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) })) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT )))) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) , (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (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) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT , IDENT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) < LIT) )) (goto_statement goto statement_identifier ;))) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) ))) )) && (parenthesized_expression ( (binary_expression IDENT != IDENT) ))) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) < (binary_expression IDENT + LIT)) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * IDENT)) )) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) && (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) ))) )) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) }) while (parenthesized_expression ( BOOL )) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( IDENT ))) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) == IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))))) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) )))) & LIT) )) != LIT))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (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) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( IDENT ))) * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) )))) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) )) && (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) && (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ))) )) ))) )) && (parenthesized_expression ( (binary_expression IDENT != IDENT) ))) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (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 IDENT == IDENT) )) (goto_statement goto statement_identifier ;)) })) }))) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) != (pointer_expression * IDENT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT )))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT , IDENT , IDENT ))))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) < LIT) )) (goto_statement goto statement_identifier ;))) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) < (binary_expression IDENT + LIT)) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) != (pointer_expression * IDENT)) )) (goto_statement goto statement_identifier ;))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) || (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (binary_expression (binary_expression (pointer_expression * IDENT) == (char_literal ' character ')) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (binary_expression (subscript_expression IDENT [ LIT ]) == (char_literal ' escape_sequence '))) )))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT ))))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) != (char_literal ' character ')) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + LIT) ))) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) != 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) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = LIT) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + LIT) ))) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + 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 (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = LIT) ;) (expression_statement (assignment_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) ) IDENT)) )))) = LIT) ;) })) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) , IDENT ))) ;) })))) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) )) (compound_statement { (return_statement return 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) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * (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) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < LIT) )) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) - IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT , IDENT , (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) < 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) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < (binary_expression (subscript_expression IDENT [ LIT ]) - LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) < LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( )))) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (subscript_expression IDENT [ LIT ])) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < (binary_expression (subscript_expression IDENT [ LIT ]) - LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) })) }))) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) }))) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) )) (compound_statement { (return_statement return 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) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * (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) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) < LIT) )) || (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < IDENT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) < LIT) ))) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression LIT < (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))) ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_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) ))))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (pointer_expression * IDENT) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (pointer_expression * IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }))))) }))))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) , (binary_expression IDENT != LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , (pointer_expression * IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)))) | LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) | LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) )))) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (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) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) ))))) ;) })) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , (pointer_expression * IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (break_statement break ;)) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (binary_expression (subscript_expression IDENT [ LIT ]) - LIT)) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( )))) ;)) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (binary_expression (subscript_expression IDENT [ LIT ]) - LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) }))))))) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , IDENT , (pointer_expression * IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) }))))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) && (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) <= (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - IDENT)) ))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * (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 { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) })) })) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))))) )) (compound_statement { (return_statement return 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) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (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) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) == LIT) )) (goto_statement goto statement_identifier ;)) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * IDENT) == LIT) && (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) == LIT)) )) && (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) == LIT)) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) != LIT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))))) ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( 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 == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * IDENT) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * IDENT) == LIT) )) && (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 IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) })))) })) }))) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))))) )) (argument_list ( (pointer_expression & IDENT) ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (binary_expression IDENT + IDENT) + LIT) ))))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) )))) == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) = LIT) ;) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + LIT) ))) , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (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 * (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 != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) == LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT ))))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))))) )) (argument_list ( (pointer_expression & IDENT) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) }))) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))))) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) )) (compound_statement { (return_statement return 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 (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) == IDENT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) == LIT) ))) )) (compound_statement { (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) })) (return_statement return IDENT ;) })) (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT)) ;) })))
(function_definition "word * FUN_000fa7dc(undefined4 param_1,word *param_2,int param_3,byte *param_4)\n\n{\n  char cVar1;\n  byte bVar2;\n  bool bVar3;\n  uint uVar4;\n  int iVar5;\n  word *pwVar6;\n  undefined4 uVar7;\n  undefined1 *puVar8;\n  int *piVar9;\n  int iVar10;\n  int iVar11;\n  byte *pbVar12;\n  int iVar13;\n  word *pwVar14;\n  word *pwVar15;\n  word *pwVar16;\n  int iVar17;\n  word *pwVar18;\n  word *unaff_s2;\n  char *pcVar19;\n  word *pwVar20;\n  word *unaff_s3;\n  word *unaff_s4;\n  word *unaff_s5;\n  undefined4 *puVar21;\n  word *unaff_s6;\n  word *unaff_s7;\n  undefined *puVar22;\n  code *pcVar23;\n  byte **unaff_s8;\n  byte *pbVar24;\n  code *pcVar25;\n  int iStack_31c;\n  word *pwStack_318;\n  int iStack_314;\n  word *pwStack_310;\n  word *pwStack_30c;\n  word *pwStack_308;\n  word *pwStack_304;\n  int *piStack_300;\n  undefined4 *puStack_2fc;\n  int iStack_2f8;\n  code *pcStack_2f4;\n  code *pcStack_2e0;\n  int iStack_2d4;\n  int iStack_2d0;\n  word *pwStack_2cc;\n  int aiStack_2c8 [3];\n  byte *pbStack_2bc;\n  int iStack_2b8;\n  word *pwStack_2b4;\n  int iStack_2b0;\n  int iStack_2ac;\n  undefined4 uStack_2a8;\n  undefined4 uStack_2a4;\n  int *piStack_2a0;\n  int *piStack_29c;\n  int iStack_298;\n  code *pcStack_294;\n  code *pcStack_280;\n  int aiStack_278 [4];\n  word *pwStack_268;\n  word *pwStack_264;\n  word *pwStack_260;\n  word *pwStack_25c;\n  word *pwStack_258;\n  word *pwStack_254;\n  word *pwStack_250;\n  word *pwStack_24c;\n  byte **ppbStack_248;\n  code *pcStack_244;\n  code *pcStack_230;\n  byte *pbStack_228;\n  int iStack_224;\n  undefined4 *puStack_220;\n  int iStack_21c;\n  int iStack_218;\n  word *pwStack_214;\n  word *pwStack_210;\n  int *piStack_20c;\n  word *pwStack_208;\n  int iStack_204;\n  int iStack_1fc;\n  int iStack_1f8;\n  byte *pbStack_1f4;\n  undefined4 uStack_1f0;\n  undefined4 uStack_1ec;\n  undefined4 uStack_1e8;\n  int iStack_1e4;\n  word *pwStack_1e0;\n  word *pwStack_1dc;\n  undefined4 *puStack_1d8;\n  word *pwStack_1d4;\n  word *pwStack_1d0;\n  word *pwStack_1cc;\n  word *pwStack_1c8;\n  word *pwStack_1c4;\n  byte **ppbStack_1c0;\n  code *pcStack_1bc;\n  code *pcStack_1a8;\n  undefined1 auStack_19d [9];\n  word *pwStack_194;\n  byte *pbStack_190;\n  word *pwStack_18c;\n  word *pwStack_188;\n  word *pwStack_184;\n  word *pwStack_180;\n  word *pwStack_17c;\n  word *pwStack_178;\n  code *pcStack_174;\n  word *pwStack_160;\n  word *pwStack_15c;\n  undefined *puStack_158;\n  word *pwStack_14c;\n  word *pwStack_148;\n  word *pwStack_144;\n  word *pwStack_140;\n  word *pwStack_13c;\n  uint uStack_138;\n  int *piStack_134;\n  word *pwStack_130;\n  int *piStack_12c;\n  byte *pbStack_124;\n  byte *pbStack_120;\n  undefined4 uStack_11c;\n  undefined4 uStack_118;\n  undefined4 uStack_114;\n  undefined4 uStack_110;\n  undefined4 uStack_10c;\n  undefined4 uStack_108;\n  undefined4 *puStack_104;\n  word *pwStack_100;\n  byte *pbStack_fc;\n  word *pwStack_f8;\n  word *local_bc;\n  word awStack_b8 [12];\n  uint local_a0;\n  undefined1 local_18 [4];\n  int *local_14;\n  \n  local_14 = *(int **)PTR___stack_chk_guard_0015858c;\n  if (param_3 != 0) {\n    if (*(int *)PTR_rl_point_001575f0 == 0) {\n      param_3 = 0;\n    }\n    else if (*(int *)PTR_rl_completion_suppress_quote_00157618 == 0) {\n      if (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + *(int *)PTR_rl_point_001575f0 + -1) ==\n          param_3) {\n        param_3 = 0;\n      }\n      else {\n        local_18[0] = (undefined1)param_3;\n        param_3 = 1;\n      }\n    }\n    else {\n      param_3 = 0;\n    }\n  }\n  if (param_2 == (word *)0x0) {\n    pwVar16 = (word *)(param_3 + 1);\n    if ((*(int *)PTR_rl_completion_suppress_append_00157624 == 0) &&\n       (*(int *)PTR_rl_completion_append_character_00157628 != 0)) {\n      local_18[param_3] = (char)*(int *)PTR_rl_completion_append_character_00157628;\n      goto LAB_000fa86c;\n    }\n  }\n  else {\n    local_18[param_3] = (char)param_2;\nLAB_000fa86c:\n    pwVar16 = (word *)(param_3 + 2);\n    param_3 = param_3 + 1;\n  }\n  pwVar15 = (word *)(&stack0xfffffff0 + param_3);\n  local_18[param_3] = 0;\n  if (*(int *)PTR_rl_filename_completion_desired_00157634 == 0) {\n    if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {\n      rl_insert_text(local_18);\n    }\n  }\n  else {\n    unaff_s2 = (word *)(*(code *)PTR_tilde_expand_00156b0c)();\n    if (*(int *)PTR_rl_filename_stat_hook_00157754 != 0) {\n      iVar5 = (*(code *)PTR_strlen_00158444)(unaff_s2);\n      uVar7 = (*(code *)PTR_xmalloc_001565b8)(iVar5 + 1);\n      local_bc = (word *)(*(code *)PTR_strcpy_001584cc)(uVar7,unaff_s2);\n      (**(code **)PTR_rl_filename_stat_hook_00157754)(&local_bc);\n      (*(code *)PTR_xfree_00156bb4)(unaff_s2);\n      unaff_s2 = local_bc;\n    }\n    param_2 = unaff_s2;\n    if ((param_4 == (byte *)0x0) ||\n       (pwVar15 = awStack_b8, *(int *)PTR_rl_completion_mark_symlink_dirs_001578a4 != 0)) {\n      pwVar15 = awStack_b8;\n      iVar5 = (*(code *)PTR___xstat64_001582e8)(3);\n    }\n    else {\n      iVar5 = (*(code *)PTR___lxstat64_001582c8)(3);\n    }\n    if (iVar5 == 0) {\n      if ((local_a0 & 0xf000) == 0x4000) {\n        if (*(int *)PTR__rl_complete_mark_directories_00157f80 != 0) {\n          iVar5 = *(int *)PTR_rl_point_001575f0;\n          if ((iVar5 == 0) || (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5) != '\0')) {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5);\n          }\n          else {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5 + -1);\n          }\n          if (cVar1 != '/') {\n            rl_insert_text(PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c);\n          }\n        }\n      }\n      else if (((local_a0 & 0xf000) != 0xa000) || (iVar5 = FUN_000fa188(unaff_s2), iVar5 == 0))\n      goto LAB_000fa9f0;\n    }\n    else {\nLAB_000fa9f0:\n      if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {\n        rl_insert_text(local_18);\n      }\n    }\n    (*(code *)PTR_xfree_00156bb4)(unaff_s2);\n  }\n  if (local_14 == *(int **)PTR___stack_chk_guard_0015858c) {\n    return pwVar16;\n  }\n  piVar9 = local_14;\n  puVar22 = PTR___stack_chk_fail_0015853c;\n  (*(code *)PTR___stack_chk_fail_0015853c)();\n  puStack_158 = puVar22 + 0x63a10;\n  puStack_104 = (undefined4 *)**(undefined4 **)(puVar22 + 0x5da5c);\n  pwVar14 = param_2;\n  pwStack_130 = pwVar15;\n  piStack_12c = piVar9;\n  pwStack_100 = pwVar16;\n  pbStack_fc = param_4;\n  pwStack_f8 = unaff_s2;\n  if (param_2 == (word *)0x1) {\n    *piVar9 = piVar9[1];\n    piVar9[1] = 0;\n    pwStack_13c = param_2;\n  }\n  else {\n    if ((int)param_2 < 2) {\n      pwStack_140 = (word *)&__DT_SYMTAB[0x3d1].st_info;\n    }\n    else {\n      pwVar18 = (word *)(piVar9 + 1);\n      pwStack_140 = (word *)&__DT_SYMTAB[0x3d1].st_info;\n      pwStack_13c = (word *)0x1;\n      unaff_s3 = *(word **)(puVar22 + 0x5d2e8);\n      piStack_134 = *(int **)(puVar22 + 0x5d454);\n      unaff_s8 = &pbStack_124;\n      do {\n        uVar4 = (**(code **)(puStack_158 + -0x6060))();\n        if ((1 < uVar4) && (*(int *)unaff_s3 == 0)) {\n          uStack_11c = 0;\n          uStack_118 = 0;\n          uStack_114 = 0;\n          uStack_110 = 0;\n        }\n        if (*piStack_134 == 0) {\n          param_4 = (byte *)(int)**(char **)pwVar18;\n          unaff_s5 = pwVar18;\n          if (param_4 == (byte *)0x0) {\n            pwVar16 = (word *)0x0;\n            goto LAB_000fac1c;\n          }\n          pwVar16 = (word *)(int)**(char **)(pwVar18 + 2);\n          pwStack_14c = (word *)0x0;\n          unaff_s4 = pwVar16;\n          if (pwVar16 == (word *)0x0) goto LAB_000fac1c;\n          unaff_s6 = (word *)&uStack_11c;\n          pwStack_148 = (word *)&uStack_114;\n          unaff_s7 = (word *)&uStack_10c;\n          do {\n            pwVar16 = pwStack_14c;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\n              if ((word *)param_4 != unaff_s4) goto LAB_000fac1c;\n            }\n            else {\n              uStack_10c = uStack_11c;\n              uStack_108 = uStack_118;\n              pwStack_15c = pwStack_148;\n              pwVar15 = unaff_s6;\n              pwStack_160 = pwVar16;\n              iVar5 = (**(code **)(puStack_158 + -0x65b8))\n                                (*(undefined4 *)pwVar18,pwVar16,unaff_s6,\n                                 *(undefined4 *)(pwVar18 + 2));\n              pwVar14 = unaff_s7;\n              if (iVar5 == 0) goto LAB_000fac1c;\n              iVar5 = (**(code **)(puStack_158 + -0x65b4))\n                                ((byte *)((int)pwStack_14c + *(int *)pwVar18));\n              if (1 < iVar5) {\n                pwVar16 = (word *)((int)pwVar16 + iVar5 + -1);\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_14c = pwVar16;\n            if (param_4 == (byte *)0x0) goto LAB_000fac1c;\n            unaff_s4 = (word *)(int)(char)*(byte *)((int)pwVar16 + *(int *)(pwVar18 + 2));\n            bVar3 = (int)pwVar16 < (int)pwStack_140;\n          } while (unaff_s4 != (word *)0x0);\n        }\n        else {\n          pwVar16 = (word *)0x0;\n          unaff_s7 = (word *)&uStack_11c;\n          unaff_s6 = (word *)&uStack_114;\n          while( true ) {\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_148 = pwVar16;\n            pwStack_144 = pwVar18;\n            if (unaff_s4 == (word *)param_4) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))();\n              if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n                param_4 = *(byte **)unaff_s4;\n              }\n            }\n            unaff_s5 = (word *)&pbStack_120;\n            if (param_4 == (byte *)0x0) break;\n            pwStack_14c = (word *)(int)(char)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))\n            ;\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n            if ((unaff_s4 == pwStack_14c) &&\n               (piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0)) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n              unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n              pwStack_14c = *(word **)unaff_s4;\n            }\n            if (pwStack_14c == (word *)0x0) break;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\njoined_r0x000facac:\n              if ((word *)param_4 != pwStack_14c) break;\n            }\n            else {\n              pbVar24 = (byte *)((int)pwStack_148 + *(int *)pwStack_144);\n              uVar7 = (**(code **)(puStack_158 + -0x60fc))(pbVar24);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,pbVar24,uVar7,unaff_s7);\n              unaff_s4 = (word *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n              pwVar15 = (word *)(**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              pwVar14 = unaff_s4;\n              iVar5 = (**(code **)(puStack_158 + -0x6084))(&pbStack_120,unaff_s4,pwVar15,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar5 + 2U < 2)) goto joined_r0x000facac;\n              param_4 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_124);\n              pbStack_124 = param_4;\n              pbStack_120 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_120);\n              if (param_4 != pbStack_120) break;\n              if (1 < uStack_138) {\n                pwVar16 = (word *)((int)pwStack_148 + (uStack_138 - 1));\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\nLAB_000fac1c:\n          bVar3 = (int)pwVar16 < (int)pwStack_140;\n        }\n        pwVar6 = pwStack_130;\n        if (bVar3) {\n          pwStack_140 = pwVar16;\n        }\n        pwStack_13c = (word *)((int)pwStack_13c + 1);\n        pwVar18 = pwVar18 + 2;\n      } while (param_2 != pwStack_13c);\n      unaff_s2 = pwVar18;\n      if (((pwStack_140 == (word *)0x0) && (pwStack_130 != (word *)0x0)) &&\n         (pwVar16 = pwStack_130, *(byte *)pwStack_130 != 0)) {\n        iVar5 = (**(code **)(puStack_158 + -0x60fc))(pwStack_130);\n        iVar5 = (**(code **)(puStack_158 + -0x7f88))(iVar5 + 1);\n        *piStack_12c = iVar5;\n        pwVar14 = pwVar6;\n        (**(code **)(puStack_158 + -0x6074))(iVar5);\n        pwVar16 = pwVar6;\n        goto LAB_000fb1f0;\n      }\n    }\n    iVar5 = (**(code **)(puStack_158 + -0x7f88))((byte *)((int)pwStack_140 + 1));\n    *piStack_12c = iVar5;\n    if (**(int **)(puStack_158 + -0x65bc) == 0) {\n      pwVar14 = (word *)piStack_12c[1];\n      pwVar15 = pwStack_140;\n      (**(code **)(puStack_158 + -0x615c))(iVar5);\n    }\n    else {\n      unaff_s3 = (word *)0x0;\n      if (**(int **)(puStack_158 + -0x6f0c) != 0) {\n        if ((code *)**(undefined4 **)(puStack_158 + -0x6de4) == (code *)0x0) {\n          unaff_s3 = (word *)0x0;\n        }\n        else if ((**(int **)(puStack_158 + -0x6f38) != 0) &&\n                (**(int **)(puStack_158 + -0x702c) != 0)) {\n          pwVar14 = (word *)**(undefined4 **)(puStack_158 + -0x6f34);\n          unaff_s3 = (word *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(pwStack_130);\n          pwStack_130 = unaff_s3;\n        }\n      }\n      if (**(int **)(puStack_158 + -0x6f10) != 0) {\n        pwVar14 = param_2;\n        (**(code **)(puStack_158 + -0x6218))\n                  (piStack_12c + 1,param_2,4,*(undefined4 *)(puStack_158 + -0x6660));\n      }\n      pwVar16 = (word *)(**(code **)(puStack_158 + -0x60fc))(pwStack_130);\n      unaff_s4 = pwStack_140;\n      if ((int)pwVar16 <= (int)pwStack_140) {\n        unaff_s4 = pwVar16;\n      }\n      if ((int)param_2 < 1) {\n        pwVar16 = (word *)0x1;\nLAB_000fb1a8:\n        pwVar16 = (word *)(uint)((int)param_2 < (int)pwVar16);\n        pwVar15 = pwStack_140;\n        if (pwVar16 != (word *)0x0) goto LAB_000fb12c;\n      }\n      else {\n        param_4 = (byte *)(piStack_12c + 1);\n        pwVar16 = (word *)0x1;\n        do {\n          unaff_s2 = *(word **)param_4;\n          iVar5 = (**(code **)(puStack_158 + -0x6238))(unaff_s2,pwStack_130,unaff_s4);\n          if (iVar5 == 0) {\n            pwVar14 = unaff_s2;\n            (**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,pwStack_140);\n            goto LAB_000fb1a8;\n          }\n          pwVar16 = (word *)((int)pwVar16 + 1);\n          param_4 = param_4 + 4;\n        } while ((int)pwVar16 <= (int)param_2);\nLAB_000fb12c:\n        pwVar14 = (word *)piStack_12c[1];\n        pwVar15 = pwStack_140;\n        (**(code **)(puStack_158 + -0x615c))(*piStack_12c);\n      }\n      if (unaff_s3 != (word *)0x0) {\n        (**(code **)(puStack_158 + -0x5f94))(unaff_s3);\n      }\n    }\n    *(byte *)((int)pwStack_140 + *piStack_12c) = 0;\n    pwStack_13c = param_2;\n  }\nLAB_000fb1f0:\n  if (puStack_104 == (undefined4 *)**(undefined4 **)(puStack_158 + -0x5fb4)) {\n    return pwStack_13c;\n  }\n  pcVar23 = *(code **)(puStack_158 + -0x6004);\n  pcVar25 = FUN_000fb268;\n  puVar21 = puStack_104;\n  (*pcVar23)();\n  pcStack_1a8 = pcVar23 + 0x632d8;\n  auStack_19d._1_4_ = **(undefined4 **)(pcVar23 + 0x5d324);\n  pwVar18 = (word *)*puVar21;\n  pwStack_194 = pwVar16;\n  pbStack_190 = param_4;\n  pwStack_18c = unaff_s2;\n  pwStack_188 = unaff_s3;\n  pwStack_184 = unaff_s4;\n  pwStack_180 = unaff_s5;\n  pwStack_17c = unaff_s6;\n  pwStack_178 = unaff_s7;\n  pcStack_174 = pcVar25;\n  if (pwVar18 == (word *)0x0) {\n    pwVar6 = (word *)0x0;\n  }\n  else {\n    pwVar20 = pwVar14;\n    pwVar6 = pwVar18;\n    if (**(int **)(pcVar23 + 0x5cd28) != 0) {\n      if (*(int *)pwVar18 == 0) {\nLAB_000fb370:\n        uVar7 = *(undefined4 *)pwVar18;\n      }\n      else {\n        pwVar15 = (word *)0x0;\n        pwVar16 = pwVar18;\n        do {\n          pwVar16 = pwVar16 + 2;\n          pwVar15 = (word *)((int)pwVar15 + 1);\n        } while (*(int *)pwVar16 != 0);\n        if ((pwVar15 == (word *)0x0) || (**(int **)(pcVar23 + 0x5c3c8) == 0)) goto LAB_000fb370;\n        pwVar15 = (word *)&DAT_00000004;\n        (**(code **)(pcVar23 + 0x5d0c0))();\n        uVar7 = *(undefined4 *)pwVar18;\n      }\n      iVar5 = (**(code **)(pcStack_1a8 + -0x60fc))(uVar7);\n      uVar7 = (**(code **)(pcStack_1a8 + -0x7f88))(iVar5 + 1);\n      unaff_s4 = (word *)(**(code **)(pcStack_1a8 + -0x6074))(uVar7,*(undefined4 *)pwVar18);\n      if (*(int *)(pwVar18 + 2) == 0) {\n        unaff_s6 = (word *)0x0;\n        pbVar24 = (byte *)0x3;\n        pwVar20 = (word *)0x0;\n      }\n      else {\n        unaff_s6 = (word *)0x0;\n        unaff_s7 = (word *)auStack_19d;\n        pwVar16 = pwVar18;\n        do {\n          uVar7 = *(undefined4 *)pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(uVar7);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(uVar7);\n            *(word **)pwVar16 = unaff_s7;\n          }\n          else {\n            unaff_s6 = (word *)((int)unaff_s6 + 1);\n          }\n          pwVar20 = *(word **)(pwVar16 + 4);\n          pbVar24 = (byte *)((int)unaff_s6 + 3);\n          pwVar16 = pwVar16 + 2;\n        } while (pwVar20 != (word *)0x0);\n      }\n      pwVar6 = (word *)(**(code **)(pcStack_1a8 + -0x7f88))((int)pbVar24 << 2);\n      pbVar24 = *(byte **)(pwVar18 + 2);\n      if (pbVar24 == (byte *)0x0) {\n        pbVar24 = (byte *)(pwVar6 + 2);\n        pbVar24[0] = 0;\n        pbVar24[1] = 0;\n        pbVar24[2] = 0;\n        pbVar24[3] = 0;\n        pwVar16 = (word *)0x1;\n        if (*(undefined1 **)pwVar18 != auStack_19d) {\n          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);\n          goto LAB_000fb4b4;\n        }\n        *(word **)pwVar6 = unaff_s4;\n      }\n      else {\n        pwVar16 = (word *)0x1;\n        pwVar20 = (word *)auStack_19d;\n        pbVar12 = (byte *)(pwVar18 + 4);\n        do {\n          if ((word *)pbVar24 != pwVar20) {\n            *(byte **)(pwVar6 + (int)pwVar16 * 2) = pbVar24;\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\n          pbVar24 = *(byte **)pbVar12;\n          pbVar12 = pbVar12 + 4;\n        } while (pbVar24 != (byte *)0x0);\n        *(undefined4 *)(pwVar6 + (int)pwVar16 * 2) = 0;\n        if (*(undefined1 **)pwVar18 != auStack_19d) {\n          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);\nLAB_000fb4b4:\n          (*pcVar23)();\n        }\n        *(word **)pwVar6 = unaff_s4;\n        if (pwVar16 == (word *)0x2) {\n          pwVar16 = *(word **)(pwVar6 + 2);\n          pwVar20 = pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(unaff_s4);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(pwVar16);\n            pbVar24 = (byte *)(pwVar6 + 2);\n            pbVar24[0] = 0;\n            pbVar24[1] = 0;\n            pbVar24[2] = 0;\n            pbVar24[3] = 0;\n          }\n        }\n      }\n      (**(code **)(pcStack_1a8 + -0x798c))(pwVar18);\n      unaff_s5 = pwVar6;\n    }\n    unaff_s3 = pwVar14;\n    pwVar18 = pwVar6;\n    if (((code *)**(undefined4 **)(pcStack_1a8 + -0x703c) == (code *)0x0) ||\n       (pwVar14 == (word *)0x0)) goto LAB_000fb570;\n    if (*(int *)(pwVar6 + 2) == 0) {\n      pwVar16 = (word *)0x1;\n    }\n    else {\n      pwVar16 = (word *)0x1;\n      pbVar24 = (byte *)(pwVar6 + 4);\n      do {\n        iVar5 = *(int *)pbVar24;\n        pwVar16 = (word *)((int)pwVar16 + 1);\n        pbVar24 = pbVar24 + 4;\n      } while (iVar5 != 0);\n    }\n    (*(code *)**(undefined4 **)(pcStack_1a8 + -0x703c))(pwVar6);\n    unaff_s3 = *(word **)pwVar6;\n    if (unaff_s3 == (word *)0x0) {\n      (**(code **)(pcStack_1a8 + -0x5f94))(pwVar6);\n      *puVar21 = 0;\n      pwVar6 = (word *)0x0;\n      pwVar14 = pwVar20;\n      goto LAB_000fb578;\n    }\n    if (*(int *)(pwVar6 + 2) == 0) {\nLAB_000fb570:\n      *puVar21 = pwVar6;\n    }\n    else {\n      pbVar24 = (byte *)(pwVar6 + 4);\n      pwVar14 = (word *)0x1;\n      do {\n        pwVar20 = pwVar14;\n        iVar5 = *(int *)pbVar24;\n        pwVar14 = (word *)((int)pwVar20 + 1);\n        pbVar24 = pbVar24 + 4;\n      } while (iVar5 != 0);\n      pwVar16 = (word *)(uint)((int)pwVar14 < (int)pwVar16);\n      if (((int)pwVar14 < 2) || (pwVar15 = unaff_s3, pwVar16 == (word *)0x0)) goto LAB_000fb570;\n      FUN_000fab30(pwVar6);\n      (**(code **)(pcStack_1a8 + -0x5f94))(unaff_s3);\n      *puVar21 = pwVar6;\n    }\n    pwVar6 = (word *)0x1;\n    pwVar14 = pwVar20;\n  }\nLAB_000fb578:\n  if ((char *)auStack_19d._1_4_ == (char *)**(undefined4 **)(pcStack_1a8 + -0x5fb4)) {\n    return pwVar6;\n  }\n  pcVar23 = *(code **)(pcStack_1a8 + -0x6004);\n  pcVar25 = rl_filename_completion_function;\n  pcVar19 = (char *)auStack_19d._1_4_;\n  (*pcVar23)();\n  pcStack_230 = pcVar23 + 0x62f20;\n  iStack_1e4 = **(int **)(pcVar23 + 0x5cf6c);\n  pwStack_1e0 = pwVar16;\n  pwStack_1dc = pwVar18;\n  puStack_1d8 = puVar21;\n  pwStack_1d4 = unaff_s3;\n  pwStack_1d0 = unaff_s4;\n  pwStack_1cc = unaff_s5;\n  pwStack_1c8 = unaff_s6;\n  pwStack_1c4 = unaff_s7;\n  ppbStack_1c0 = unaff_s8;\n  pcStack_1bc = pcVar25;\n  if (pwVar14 != (word *)0x0) goto LAB_000fb968;\n  if (*(int *)(*(int *)(pcVar23 + 0x5af4c) + -0x3fd4) != 0) {\n    (**(code **)(pcVar23 + 0x5cc9c))();\n    *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) = 0;\n  }\n  if (*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) != 0) {\n    (**(code **)(pcStack_230 + -0x5f94))();\n  }\n  if (*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) != 0) {\n    (**(code **)(pcStack_230 + -0x5f94))();\n  }\n  if (*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) != 0) {\n    (**(code **)(pcStack_230 + -0x5f94))();\n  }\n  iVar5 = (**(code **)(pcStack_230 + -0x60fc))(pcVar19);\n  uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);\n  uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,pcVar19);\n  *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) = uVar7;\n  if (*pcVar19 == '\0') {\n    pcVar19 = (char *)(*(int *)(pcStack_230 + -0x7f90) + -0x5e18);\n  }\n  iVar5 = (**(code **)(pcStack_230 + -0x60fc))(pcVar19);\n  uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);\n  puVar8 = (undefined1 *)(**(code **)(pcStack_230 + -0x6074))(uVar7,pcVar19);\n  *(undefined1 **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) = puVar8;\n  unaff_s4 = (word *)(**(code **)(pcStack_230 + -0x61d4))(puVar8,0x2f);\n  if (unaff_s4 == (word *)0x0) {\n    *puVar8 = 0x2e;\n    *(undefined1 *)(*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) + 1) = 0;\n  }\n  else {\n    (**(code **)(pcStack_230 + -0x6074))\n              (*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc),\n               (byte *)((int)unaff_s4 + 1));\n    *(byte *)((int)unaff_s4 + 1) = 0;\n  }\n  if (**(int **)(pcStack_230 + -0x6f38) == 0) {\nLAB_000fb830:\n    iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n    iVar5 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(iVar13 + -0x3fd8));\n    uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);\n    uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(iVar13 + -0x3fd8));\n    *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = uVar7;\n  }\n  else {\n    if ((code *)**(undefined4 **)(pcStack_230 + -0x6de4) == (code *)0x0) goto LAB_000fb830;\n    uVar7 = (*(code *)**(undefined4 **)(pcStack_230 + -0x6de4))\n                      (*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8),\n                       **(undefined4 **)(pcStack_230 + -0x6f34));\n    *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = uVar7;\n  }\n  bVar3 = **(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) == '~';\n  if (bVar3) {\n    uVar7 = (**(code **)(pcStack_230 + -0x7a34))();\n    iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n    (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fd8));\n    *(undefined4 *)(iVar5 + -0x3fd8) = uVar7;\n  }\n  unaff_s3 = (word *)(uint)bVar3;\n  if ((code *)**(undefined4 **)(pcStack_230 + -0x6f40) == (code *)0x0) {\n    if ((code *)**(undefined4 **)(pcStack_230 + -0x6f3c) != (code *)0x0) {\n      iVar5 = (*(code *)**(undefined4 **)(pcStack_230 + -0x6f3c))\n                        (*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);\n      iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n      if (iVar5 != 0) {\n        (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar13 + -0x3fe0));\n        unaff_s3 = *(word **)(pcStack_230 + -0x7fd4);\n        iVar5 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1fec));\n        uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);\n        uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1fec));\n        *(undefined4 *)(iVar13 + -0x3fe0) = uVar7;\n        goto LAB_000fb8b4;\n      }\n    }\n    iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n    if ((unaff_s3 == (word *)0x0) &&\n       (iVar5 = *(int *)(pcStack_230 + -0x7fd4), **(int **)(pcStack_230 + -0x6f38) != 0)) {\n      iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n      if (**(int **)(pcStack_230 + -0x6de4) != 0) {\n        (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fd8));\n        unaff_s3 = *(word **)(pcStack_230 + -0x7fd4);\n        iVar13 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1ff0));\n        uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar13 + 1);\n        uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1ff0));\n        *(undefined4 *)(iVar5 + -0x3fd8) = uVar7;\n      }\n      goto LAB_000fb8b4;\n    }\n  }\n  else {\n    (*(code *)**(undefined4 **)(pcStack_230 + -0x6f40))(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);\nLAB_000fb8b4:\n    iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n  }\n  uVar7 = (**(code **)(pcStack_230 + -0x6288))(*(undefined4 *)(iVar5 + -0x3fd8));\n  *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) = uVar7;\n  iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n  if ((**(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) != '\0') &&\n     (iVar5 = *(int *)(pcStack_230 + -0x7fd4), **(int **)(pcStack_230 + -0x6f38) != 0)) {\n    if ((code *)**(undefined4 **)(pcStack_230 + -0x6de4) != (code *)0x0) {\n      unaff_s3 = (word *)(*(code *)**(undefined4 **)(pcStack_230 + -0x6de4))\n                                   (*(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc),\n                                    **(undefined4 **)(pcStack_230 + -0x6f34));\n      iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n      (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fdc));\n      *(word **)(iVar5 + -0x3fdc) = unaff_s3;\n    }\n    iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n  }\n  uVar7 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(iVar5 + -0x3fdc));\n  *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe4) = uVar7;\n  **(undefined4 **)(pcStack_230 + -0x6f0c) = 1;\nLAB_000fb968:\n  iVar5 = 0;\n  iStack_224 = *(int *)(pcStack_230 + -0x7fd4);\n  puStack_220 = *(undefined4 **)(pcStack_230 + -0x6df0);\n  iStack_21c = *(int *)(pcStack_230 + -0x7fd4);\n  iStack_218 = *(int *)(pcStack_230 + -0x7fd4);\n  piStack_20c = *(int **)(pcStack_230 + -0x65bc);\n  pcVar23 = pcStack_230;\nLAB_000fbb0c:\n  iVar13 = *(int *)(iStack_224 + -0x3fd4);\nLAB_000fbb10:\n  if (iVar13 == 0) {\n    if (iVar5 != 0) goto LAB_000fbbb0;\n    iVar5 = *(int *)(*(int *)(pcVar23 + -0x7fd4) + -0x3fd8);\nLAB_000fc3a0:\n    if (iVar5 != 0) {\n      (**(code **)(pcVar23 + -0x798c))();\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) = 0;\n      pcVar23 = pcStack_230;\n    }\n    if (*(int *)(*(int *)(pcVar23 + -0x7fd4) + -0x3fdc) != 0) {\n      (**(code **)(pcVar23 + -0x798c))();\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) = 0;\n      pcVar23 = pcStack_230;\n    }\n    pwVar14 = *(word **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0);\n    if (pwVar14 != (word *)0x0) {\n      (**(code **)(pcVar23 + -0x798c))(pwVar14);\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = 0;\n      pwVar14 = (word *)0x0;\n      pcVar23 = pcStack_230;\n    }\n    goto LAB_000fbca4;\n  }\n  iVar5 = (**(code **)(pcVar23 + -0x6214))();\n  if (iVar5 == 0) {\n    if (*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) != 0) {\n      (**(code **)(pcStack_230 + -0x6284))();\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) = 0;\n    }\n    iVar5 = *(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);\n    pcVar23 = pcStack_230;\n    goto LAB_000fc3a0;\n  }\n  pwVar18 = (word *)(iVar5 + 0x13);\n  unaff_s4 = (word *)(**(code **)(pcStack_230 + -0x60fc))(pwVar18);\n  pwVar16 = pwVar18;\n  if (((code *)*puStack_220 != (code *)0x0) &&\n     (pwVar16 = (word *)(*(code *)*puStack_220)(pwVar18,unaff_s4), pwVar18 != pwVar16)) {\n    unaff_s4 = (word *)(**(code **)(pcStack_230 + -0x60fc))(pwVar16);\n  }\n  unaff_s3 = *(word **)(iStack_21c + -0x3fe4);\n  pcVar23 = pcStack_230;\n  if (unaff_s3 == (word *)0x0) {\n    if (**(int **)(pcStack_230 + -0x65ac) == 0) {\n      if (*(byte *)pwVar16 != 0x2e) goto LAB_000fbbb0;\n    }\n    else {\n      iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n      if ((*(byte *)pwVar16 != 0x2e) ||\n         (((byte)*pwVar16 != 0 &&\n          ((iVar13 = *(int *)(pcStack_230 + -0x7fd4), (byte)*pwVar16 != 0x2e ||\n           (iVar13 = *(int *)(pcStack_230 + -0x7fd4), *(byte *)(pwVar16 + 1) != 0))))))\n      goto LAB_000fbbb4;\n    }\n    goto LAB_000fbb0c;\n  }\n  pbStack_228 = *(byte **)(iStack_218 + -0x3fdc);\n  pbStack_1f4 = (byte *)0x0;\n  uStack_1f0 = 0;\n  uStack_1ec = 0;\n  uStack_1e8 = 0;\n  if ((int)unaff_s4 < (int)unaff_s3) goto LAB_000fbb0c;\n  if (*piStack_20c != 0) {\n    if (**(int **)(pcStack_230 + -0x65a4) == 0) {\n      uVar4 = (**(code **)(pcStack_230 + -0x6060))();\n      if ((1 < uVar4) && (unaff_s8 = &pbStack_1f4, **(int **)(pcStack_230 + -0x6728) == 0)) {\n        unaff_s7 = (word *)&iStack_1fc;\n        unaff_s6 = (word *)&uStack_1ec;\n        unaff_s5 = (word *)&iStack_1f8;\n        pwStack_214 = pwVar16;\n        pwStack_208 = unaff_s3;\n        goto LAB_000fc0a8;\n      }\n      unaff_s5 = (word *)(int)(char)*(byte *)pwVar16;\n      pbVar24 = (byte *)(uint)*(byte *)pwVar16;\n      if (((word *)pbVar24 == unaff_s5) &&\n         (piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))(),\n         (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0)) {\n        piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n        unaff_s5 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n      }\n      unaff_s6 = (word *)(int)(char)*pbStack_228;\n      unaff_s4 = (word *)(uint)*pbStack_228;\n      if (unaff_s4 == unaff_s6) {\n        piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))();\n        if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n          piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n          unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n          unaff_s6 = *(word **)unaff_s4;\n        }\n      }\n      pwVar15 = unaff_s3;\n      pcVar23 = pcStack_230;\n      if (unaff_s5 == unaff_s6) {\n        iVar13 = (**(code **)(pcStack_230 + -0x6188))(pbStack_228,pwVar16);\n        goto LAB_000fc280;\n      }\n    }\n    else {\n      uVar4 = (**(code **)(pcStack_230 + -0x6060))();\n      if ((1 < uVar4) && (unaff_s6 = (word *)&uStack_1ec, **(int **)(pcStack_230 + -0x6728) == 0)) {\n        unaff_s8 = &pbStack_1f4;\n        unaff_s7 = (word *)&iStack_1fc;\n        unaff_s5 = (word *)&iStack_1f8;\n        pwStack_214 = pwVar16;\n        pwStack_208 = unaff_s3;\n        do {\n          pwStack_210 = (word *)(**(code **)(pcStack_230 + -0x6084))\n                                          (unaff_s7,pwStack_214,unaff_s4,unaff_s8);\n          pwVar15 = unaff_s3;\n          iVar13 = (**(code **)(pcStack_230 + -0x6084))(unaff_s5,pbStack_228,unaff_s3,unaff_s6);\n          pcVar23 = pcStack_230;\n          if (pwStack_210 == (word *)0x0) {\n            if (iVar13 == 0) goto LAB_000fbbb0;\nLAB_000fbe6c:\n            if (iVar13 + 2U < 2) goto LAB_000fbdb4;\n            iStack_204 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc);\n            iStack_1fc = iStack_204;\n            iStack_1f8 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8);\n            pwStack_214 = (word *)((int)pwStack_214 + (int)pwStack_210);\n            pbStack_228 = pbStack_228 + (int)pwStack_210;\n            pwStack_208 = (word *)((int)pwStack_208 - (int)pwStack_210);\n            if ((((iStack_204 != 0x2d) && (iStack_204 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))) && (iStack_204 != iStack_1f8))\n            goto code_r0x000fbef4;\n          }\n          else {\n            if ((word *)0x1 < pwStack_210 + 1) goto LAB_000fbe6c;\nLAB_000fbdb4:\n            bVar2 = *(byte *)pwStack_214;\n            if (((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||\n               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))) goto LAB_000fbb0c;\n            pwStack_214 = (word *)((int)pwStack_214 + 1);\n            pbStack_228 = pbStack_228 + 1;\n            pwStack_208 = (word *)((int)pwStack_208 + -1);\n          }\n          iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n          pcVar23 = pcStack_230;\n          if (pwStack_208 == (word *)0x0) goto LAB_000fbbb4;\n        } while( true );\n      }\n      unaff_s7 = (word *)&DAT_0000002d;\n      unaff_s8 = (byte **)0x5f;\n      pwStack_208 = (word *)((int)pwVar16 + (int)unaff_s3);\n      unaff_s4 = pwVar16;\n      pcVar23 = pcStack_230;\n      while( true ) {\n        unaff_s3 = (word *)(int)(char)*(byte *)unaff_s4;\n        pbVar24 = (byte *)(uint)*(byte *)unaff_s4;\n        pwStack_214 = unaff_s3;\n        if (((word *)pbVar24 == unaff_s3) &&\n           (piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))(), pcVar23 = pcStack_230,\n           (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0)) {\n          piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n          pwStack_214 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n          pcVar23 = pcStack_230;\n        }\n        unaff_s5 = (word *)(int)(char)*pbStack_228;\n        unaff_s6 = (word *)(uint)*pbStack_228;\n        pwStack_210 = unaff_s5;\n        if (unaff_s6 == unaff_s5) {\n          piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))();\n          pcVar23 = pcStack_230;\n          if ((*(ushort *)(*piVar9 + (int)unaff_s6 * 2) & 1) != 0) {\n            piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n            unaff_s6 = (word *)(*piVar9 + (int)unaff_s6 * 4);\n            pwStack_210 = *(word **)unaff_s6;\n            pcVar23 = pcStack_230;\n          }\n        }\n        if ((((unaff_s3 != (word *)&DAT_0000002d) && (unaff_s3 != (word *)0x5f)) ||\n            ((unaff_s5 != (word *)&DAT_0000002d && (unaff_s5 != (word *)0x5f)))) &&\n           (pwStack_214 != pwStack_210)) break;\n        unaff_s4 = (word *)((int)unaff_s4 + 1);\n        pbStack_228 = pbStack_228 + 1;\n        iVar13 = *(int *)(pcVar23 + -0x7fd4);\n        if (unaff_s4 == pwStack_208) goto LAB_000fbbb4;\n      }\n    }\n    goto LAB_000fbb0c;\n  }\n  if (*(byte *)pwVar16 != *pbStack_228) goto LAB_000fbb0c;\n  pwVar15 = unaff_s3;\n  iVar13 = (**(code **)(pcStack_230 + -0x6238))(pbStack_228,pwVar16);\nLAB_000fc280:\n  pcVar23 = pcStack_230;\n  if (iVar13 != 0) goto LAB_000fbb0c;\n  pcVar19 = *(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);\n  goto LAB_000fbbb8;\nLAB_000fc0a8:\n  pwStack_210 = (word *)(**(code **)(pcStack_230 + -0x6084))(unaff_s7,pwStack_214,unaff_s4,unaff_s8)\n  ;\n  pwVar15 = unaff_s3;\n  iVar13 = (**(code **)(pcStack_230 + -0x6084))(unaff_s5,pbStack_228,unaff_s3,unaff_s6);\n  pcVar23 = pcStack_230;\n  if (pwStack_210 == (word *)0x0) {\n    if (iVar13 == 0) goto LAB_000fbbb0;\nLAB_000fc100:\n    if (iVar13 + 2U < 2) goto LAB_000fc060;\n    iStack_204 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc);\n    iStack_1fc = iStack_204;\n    iStack_1f8 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8);\n    pcVar23 = pcStack_230;\n    if (iStack_204 != iStack_1f8) goto LAB_000fbb0c;\n    pwStack_214 = (word *)((int)pwStack_214 + (int)pwStack_210);\n    pbStack_228 = pbStack_228 + (int)pwStack_210;\n    pwStack_208 = (word *)((int)pwStack_208 - (int)pwStack_210);\n  }\n  else {\n    if ((word *)0x1 < pwStack_210 + 1) goto LAB_000fc100;\nLAB_000fc060:\n    if (*(byte *)pwStack_214 != *pbStack_228) goto LAB_000fbb0c;\n    pwStack_214 = (word *)((int)pwStack_214 + 1);\n    pbStack_228 = pbStack_228 + 1;\n    pwStack_208 = (word *)((int)pwStack_208 + -1);\n  }\n  iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n  pcVar23 = pcStack_230;\n  if (pwStack_208 == (word *)0x0) goto LAB_000fbbb4;\n  goto LAB_000fc0a8;\ncode_r0x000fbef4:\n  iVar13 = *(int *)(iStack_224 + -0x3fd4);\n  pcVar23 = pcStack_230;\n  goto LAB_000fbb10;\nLAB_000fbbb0:\n  iVar13 = *(int *)(pcVar23 + -0x7fd4);\nLAB_000fbbb4:\n  pcVar19 = *(char **)(iVar13 + -0x3fd8);\nLAB_000fbbb8:\n  if ((pcVar19 == (char *)0x0) ||\n     ((piVar9 = *(int **)(pcVar23 + -0x65a8), *pcVar19 == '.' &&\n      (piVar9 = *(int **)(pcVar23 + -0x65a8), pcVar19[1] == '\0')))) {\n    iVar5 = (**(code **)(pcVar23 + -0x60fc))(pwVar16);\n    uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);\n    pwVar14 = (word *)(**(code **)(pcStack_230 + -0x6074))(uVar7,pwVar16);\n  }\n  else {\n    if ((*piVar9 == 0) || (**(char **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0) != '~')) {\n      iVar13 = *(int *)(pcVar23 + -0x7fd4);\n      unaff_s3 = (word *)(**(code **)(pcVar23 + -0x60fc))(*(undefined4 *)(iVar13 + -0x3fe0));\n      iVar5 = (**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13);\n      pwVar14 = (word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2));\n      iVar5 = *(int *)(iVar13 + -0x3fe0);\n      (**(code **)(pcStack_230 + -0x6074))(pwVar14,iVar5);\n      unaff_s4 = (word *)((int)unaff_s3 + iVar5);\n      unaff_s5 = unaff_s3;\n      if (*(byte *)((int)unaff_s4 + -1) != 0x2f) {\n        unaff_s5 = (word *)((int)unaff_s3 + 1);\n        unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);\n        *(byte *)unaff_s3 = 0x2f;\n      }\n    }\n    else {\n      unaff_s3 = (word *)(**(code **)(pcVar23 + -0x60fc))();\n      iVar5 = (**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13);\n      pwVar14 = (word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2));\n      unaff_s4 = *(word **)(pcStack_230 + -0x7fd4);\n      (**(code **)(pcStack_230 + -0x6074))(pwVar14,*(undefined4 *)(unaff_s4 + -0x1fec));\n      unaff_s5 = unaff_s3;\n      if (*(byte *)((int)unaff_s3 + *(int *)(unaff_s4 + -0x1fec) + -1) != 0x2f) {\n        unaff_s5 = (word *)((int)unaff_s3 + 1);\n        unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);\n        *(byte *)unaff_s3 = 0x2f;\n        *(byte *)((int)pwVar14 + (int)unaff_s5) = 0;\n      }\n    }\n    (**(code **)(pcStack_230 + -0x6074))((byte *)((int)pwVar14 + (int)unaff_s5),pwVar16);\n  }\n  pcVar23 = pcStack_230;\n  if (pwVar18 != pwVar16) {\n    (**(code **)(pcStack_230 + -0x798c))(pwVar16);\n    pcVar23 = pcStack_230;\n  }\nLAB_000fbca4:\n  if (iStack_1e4 == **(int **)(pcVar23 + -0x5fb4)) {\n    return pwVar14;\n  }\n  pcVar23 = *(code **)(pcVar23 + -0x6004);\n  pcVar25 = FUN_000fc42c;\n  iVar5 = iStack_1e4;\n  (*pcVar23)();\n  pcStack_280 = pcVar23 + 0x62114;\n  aiStack_278[3] = **(int **)(pcVar23 + 0x5c160);\n  pwStack_268 = pwVar16;\n  pwStack_264 = pwVar18;\n  pwStack_260 = pwVar14;\n  pwStack_25c = unaff_s3;\n  pwStack_258 = unaff_s4;\n  pwStack_254 = unaff_s5;\n  pwStack_250 = unaff_s6;\n  pwStack_24c = unaff_s7;\n  ppbStack_248 = unaff_s8;\n  pcStack_244 = pcVar25;\n  iVar10 = (**(code **)(pcVar23 + 0x5c018))();\n  aiStack_278[1] = 0;\n  aiStack_278[2] = 0;\n  pwVar16 = (word *)0x0;\n  iVar13 = 0;\n  pcVar23 = pcStack_280;\n  while( true ) {\n    pwVar14 = (word *)(iVar5 + iVar13);\n    bVar2 = *(byte *)pwVar14;\n    iVar17 = iVar13;\n    if (bVar2 == 0) break;\n    if ((bVar2 < 0x20) || (bVar2 == 0x7f)) {\n      pwVar16 = pwVar16 + 1;\n      iVar13 = iVar13 + 1;\n    }\n    else {\n      pwVar15 = (word *)((iVar10 + 1) - iVar13);\n      iVar11 = (**(code **)(pcVar23 + -0x6084))(aiStack_278,pwVar14,pwVar15,aiStack_278 + 1);\n      pcVar23 = pcStack_280;\n      if (iVar11 + 2U < 2) {\n        pwVar16 = (word *)((int)pwVar16 + 1);\n        iVar13 = iVar13 + 1;\n        aiStack_278[1] = 0;\n        aiStack_278[2] = 0;\n      }\n      else {\n        iVar17 = iVar13 + iVar11;\n        if (iVar11 == 0) break;\n        if (aiStack_278[0] < 0x40) {\n          iVar13 = 1;\n          if (aiStack_278[0] < 0x25) {\n            if (3 < aiStack_278[0] - 0x20U) {\n              pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n              goto LAB_000fc594;\n            }\n            iVar13 = 1;\n          }\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n          if (aiStack_278[0] < 0x41) {\nLAB_000fc594:\n            iVar13 = (*pcVar23)();\n          }\n          else {\n            iVar13 = 1;\n            if (0x5f < aiStack_278[0]) {\n              if (0x1d < aiStack_278[0] - 0x61U) goto LAB_000fc594;\n              iVar13 = 1;\n            }\n          }\n        }\n        if (iVar13 < 0) {\n          iVar13 = 1;\n        }\n        pwVar16 = (word *)((int)pwVar16 + iVar13);\n        iVar13 = iVar17;\n        pcVar23 = pcStack_280;\n      }\n    }\n  }\n  if (aiStack_278[3] == **(int **)(pcVar23 + -0x5fb4)) {\n    return pwVar16;\n  }\n  pcVar23 = *(code **)(pcVar23 + -0x6004);\n  pcVar25 = FUN_000fc5fc;\n  iVar11 = aiStack_278[3];\n  (*pcVar23)();\n  pcStack_2e0 = pcVar23 + 0x61f44;\n  uStack_2a4 = 1;\n  uStack_2a8 = 0x7f;\n  pbStack_2bc = (byte *)**(undefined4 **)(pcVar23 + 0x5bf90);\n  pwVar18 = pwVar14;\n  pwStack_2cc = pwVar15;\n  iStack_2b8 = iVar17;\n  pwStack_2b4 = pwVar16;\n  iStack_2b0 = iVar13;\n  iStack_2ac = iVar5;\n  piStack_2a0 = aiStack_278 + 1;\n  piStack_29c = aiStack_278;\n  iStack_298 = iVar10 + 1;\n  pcStack_294 = pcVar25;\n  iVar5 = (**(code **)(pcVar23 + 0x5be48))();\n  iStack_2d4 = iVar11 + iVar5 + 1;\n  aiStack_2c8[1] = 0;\n  aiStack_2c8[2] = 0;\n  if ((**(int **)(pcStack_2e0 + -0x65a0) < 1) || ((int)pwVar14 < iVar5)) {\n    if (**(int **)(pcStack_2e0 + -0x67a8) == 0) goto LAB_000fc714;\n    if ((pwVar14 == (word *)0x0) || (**(int **)(pcStack_2e0 + -0x67a4) < 1)) goto LAB_000fc6f0;\n    if (0 < **(int **)(pcStack_2e0 + -0x65a0)) goto LAB_000fc750;\n    pcVar23 = *(code **)(pcStack_2e0 + -0x659c);\n    pwVar6 = pwVar14;\nLAB_000fc6c0:\n    (*pcVar23)();\n    (**(code **)(pcStack_2e0 + -0x6598))();\n    pwVar20 = (word *)0x0;\n    pwVar14 = (word *)0x0;\n  }\n  else if (**(int **)(pcStack_2e0 + -0x67a8) == 0) {\n    pwVar14 = (word *)0x0;\n    pwVar20 = (word *)0x0;\n    pwVar6 = (word *)0x0;\n  }\n  else {\n    pwVar14 = (word *)0x0;\nLAB_000fc6f0:\n    (**(code **)(pcStack_2e0 + -0x659c))();\n    (**(code **)(pcStack_2e0 + -0x6594))(pwStack_2cc);\nLAB_000fc714:\n    pwVar6 = pwVar14;\n    if (pwVar14 == (word *)0x0) {\n      pwVar20 = (word *)0x0;\n    }\n    else if (**(int **)(pcStack_2e0 + -0x65a0) < 1) {\n      pcVar23 = *(code **)(pcStack_2e0 + -0x659c);\n      if (0 < **(int **)(pcStack_2e0 + -0x67a4)) goto LAB_000fc6c0;\n      pwVar6 = (word *)0x0;\n      pwVar20 = (word *)0x0;\n    }\n    else {\nLAB_000fc750:\n      pwVar16 = (word *)0x2e;\n      if (*(byte *)((int)pwVar14 + iVar11) == 0x2e) {\n        pwVar16 = (word *)0x5f;\n      }\n      puVar21 = *(undefined4 **)(pcStack_2e0 + -0x6ef0);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16);\n      pwVar20 = (word *)0x3;\n      pwVar6 = (word *)0x0;\n    }\n  }\n  pwVar14 = (word *)((int)pwVar14 + iVar11);\n  puVar21 = *(undefined4 **)(pcStack_2e0 + -0x6ef0);\n  iStack_2d0 = *(int *)(pcStack_2e0 + -26000) + 0xb8;\n  while (bVar2 = *(byte *)pwVar14, bVar2 != 0) {\n    if (bVar2 < 0x20) {\n      (**(code **)(pcStack_2e0 + -0x61f0))(0x5e,*puVar21);\n      pwVar16 = (word *)((int)(char)*(byte *)pwVar14 | 0x40);\n      pbVar24 = (byte *)(*(byte *)pwVar14 | 0x40);\n      if ((word *)pbVar24 == pwVar16) {\n        piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x6290))();\n        if ((*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 2) != 0) {\n          piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x5f10))();\n          pwVar16 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n        }\n      }\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16);\n      pwVar20 = pwVar20 + 1;\n      pwVar14 = (word *)((int)pwVar14 + 1);\n      aiStack_2c8[1] = 0;\n      aiStack_2c8[2] = 0;\n    }\n    else if (bVar2 == 0x7f) {\n      (**(code **)(pcStack_2e0 + -0x61f0))(0x5e,*puVar21);\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(0x3f);\n      pwVar20 = pwVar20 + 1;\n      pwVar14 = (word *)((int)pwVar14 + 1);\n      aiStack_2c8[1] = 0;\n      aiStack_2c8[2] = 0;\n    }\n    else {\n      pwVar15 = (word *)(iStack_2d4 - (int)pwVar14);\n      pwVar18 = pwVar14;\n      pwVar16 = (word *)(**(code **)(pcStack_2e0 + -0x6084))(aiStack_2c8,pwVar14,pwVar15);\n      iVar5 = 1;\n      if (pwVar16 + 1 < (word *)0x2) {\n        aiStack_2c8[1] = 0;\n        aiStack_2c8[2] = 0;\n        pwVar16 = (word *)0x1;\n      }\n      else {\n        if (pwVar16 == (word *)0x0) break;\n        if (aiStack_2c8[0] < 0x40) {\n          if (aiStack_2c8[0] < 0x25) {\n            pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n            if (3 < aiStack_2c8[0] - 0x20U) goto LAB_000fc9c0;\n          }\n          else {\n            iVar5 = 1;\n          }\n        }\n        else if (aiStack_2c8[0] < 0x41) {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\nLAB_000fc9c0:\n          iVar5 = (*pcVar23)();\n        }\n        else if (aiStack_2c8[0] < 0x60) {\n          iVar5 = 1;\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n          if (0x1d < aiStack_2c8[0] - 0x61U) goto LAB_000fc9c0;\n          iVar5 = 1;\n        }\n        if (iVar5 < 0) {\n          iVar5 = 1;\n        }\n      }\n      pwVar18 = (word *)0x1;\n      pwVar15 = pwVar16;\n      (**(code **)(pcStack_2e0 + -0x6054))(pwVar14,1,pwVar16,*puVar21);\n      pwVar14 = (word *)((int)pwVar14 + (int)pwVar16);\n      pwVar20 = (word *)((int)pwVar20 + iVar5);\n    }\n    if ((0 < (int)pwVar6) && ((int)pwVar6 <= (int)pwVar14 - iVar11)) {\n      (**(code **)(pcStack_2e0 + -0x658c))();\n      (**(code **)(pcStack_2e0 + -0x6588))(iStack_2d0);\n      pwVar6 = (word *)**(undefined4 **)(pcStack_2e0 + -0x67a8);\n      if (pwVar6 != (word *)0x0) {\n        (**(code **)(pcStack_2e0 + -0x659c))();\n        (**(code **)(pcStack_2e0 + -0x6594))(pwStack_2cc);\n        pwVar6 = (word *)0x0;\n      }\n    }\n  }\n  if (**(int **)(pcStack_2e0 + -0x67a8) != 0) {\n    (**(code **)(pcStack_2e0 + -0x658c))();\n    (**(code **)(pcStack_2e0 + -0x6588))(*(int *)(pcStack_2e0 + -26000) + 0xb8);\n  }\n  if (pbStack_2bc == (byte *)**(undefined4 **)(pcStack_2e0 + -0x5fb4)) {\n    return pwVar20;\n  }\n  pcVar23 = *(code **)(pcStack_2e0 + -0x6004);\n  pcVar25 = FUN_000fcae4;\n  pbVar24 = pbStack_2bc;\n  (*pcVar23)();\n  iStack_314 = **(int **)(pcVar23 + 0x5baa8);\n  pwStack_310 = pwVar14;\n  pwStack_30c = pwVar16;\n  pwStack_308 = pwVar20;\n  pwStack_304 = pwVar6;\n  piStack_300 = aiStack_2c8 + 1;\n  puStack_2fc = puVar21;\n  iStack_2f8 = iVar11;\n  pcStack_2f4 = pcVar25;\n  if ((**(int **)(pcVar23 + 0x5b2b4) == 0) ||\n     (piVar9 = *(int **)(pcVar23 + 0x5b4d8), **(int **)(pcVar23 + 0x5ab50) == 0)) {\n    pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,pbVar24);\n    piVar9 = *(int **)(pcVar23 + 0x5b4d8);\n    if (**(int **)(pcVar23 + 0x5ab50) == 0) goto LAB_000fcb84;\n  }\n  if ((*piVar9 == 0 && **(int **)(pcVar23 + 0x5b2b4) == 0) && **(int **)(pcVar23 + 0x5b49c) == 0)\n  goto LAB_000fcb84;\n  if ((word *)pbVar24 == pwVar18) {\n    iStack_31c = (**(code **)(pcVar23 + 0x5a028))(pwVar18);\n    if (**(int **)(pcVar23 + 0x5b4d8) != 0) {\n      iVar5 = FUN_000f9fd0(iStack_31c);\n      if (**(int **)(pcVar23 + 0x5b2b4) != 0) goto LAB_000fcf40;\n      goto LAB_000fcddc;\n    }\n    if (**(int **)(pcVar23 + 0x5b49c) == 0) {\n      piVar9 = *(int **)(pcVar23 + 0x5b2b4);\nLAB_000fcef0:\n      iVar5 = 0;\n      if (*piVar9 == 0) {\n        (**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);\n        goto LAB_000fcb84;\n      }\nLAB_000fcf40:\n      pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,iStack_31c);\n      goto LAB_000fcddc;\n    }\n    iVar5 = FUN_000fa188(iStack_31c);\n    piVar9 = *(int **)(pcVar23 + 0x5b2b4);\n    if (iVar5 == 0) goto LAB_000fcef0;\n    if (*piVar9 != 0) {\n      iVar5 = 0x2f;\n      goto LAB_000fcf40;\n    }\n    (**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);\n    iVar5 = 0x2f;\n  }\n  else {\n    bVar2 = pbVar24[-1];\n    pbVar24[-1] = 0;\n    if ((pwVar18 == (word *)0x0) || (*(byte *)pwVar18 == 0)) {\n      pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);\n    }\n    else {\n      pwStack_318 = pwVar18;\n      if (*(byte *)pwVar18 == 0x2f) {\n        if ((byte)*pwVar18 == 0) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59acc) + -0x794);\n        }\n        else if (((byte)*pwVar18 == 0x2f) && (*(byte *)(pwVar18 + 1) == 0)) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);\n        }\n      }\n    }\n    iStack_31c = (**(code **)(pcVar23 + 0x5a028))(pwStack_318);\n    if ((code *)**(undefined4 **)(pcVar23 + 0x5ab20) != (code *)0x0) {\n      (*(code *)**(undefined4 **)(pcVar23 + 0x5ab20))(&iStack_31c);\n    }\n    iVar5 = (**(code **)(pcVar23 + 0x5b960))(iStack_31c);\n    iVar13 = (**(code **)(pcVar23 + 0x5b960))(pbVar24);\n    pwVar16 = (word *)(**(code **)(pcVar23 + 0x59ad4))(iVar13 + iVar5 + 2);\n    (**(code **)(pcVar23 + 0x5b9e8))(pwVar16,iStack_31c);\n    if (*(char *)(iStack_31c + iVar5 + -1) == '/') {\n      iVar5 = iVar5 + -1;\n    }\n    else {\n      *(byte *)((int)pwVar16 + iVar5) = 0x2f;\n    }\n    (**(code **)(pcVar23 + 0x5b9e8))((byte *)((int)pwVar16 + iVar5 + 1),pbVar24);\n    if (**(int **)(pcVar23 + 0x5b4d8) == 0) {\n      iVar5 = **(int **)(pcVar23 + 0x5b49c);\n      piVar9 = *(int **)(pcVar23 + 0x5b2b4);\n      if (iVar5 != 0) {\n        pwStack_318 = (word *)0x0;\n        if ((**(int **)(pcVar23 + 0x5ab20) == 0) && (**(int **)(pcVar23 + 0x5ac70) != 0)) {\n          iVar5 = (**(code **)(pcVar23 + 0x5b960))(pwVar16);\n          uVar7 = (**(code **)(pcVar23 + 0x59ad4))(iVar5 + 1);\n          pwStack_318 = (word *)(**(code **)(pcVar23 + 0x5b9e8))(uVar7,pwVar16);\n          (*(code *)**(undefined4 **)(pcVar23 + 0x5ac70))(&pwStack_318);\n          (**(code **)(pcVar23 + 0x5a0d0))(pwVar16);\n          pwVar16 = pwStack_318;\n        }\n        iVar5 = FUN_000fa188(pwVar16);\n        if (iVar5 != 0) {\n          iVar5 = 0x2f;\n        }\n        goto LAB_000fcdb0;\n      }\n    }\n    else {\n      iVar5 = FUN_000f9fd0(pwVar16);\nLAB_000fcdb0:\n      piVar9 = *(int **)(pcVar23 + 0x5b2b4);\n    }\n    if (*piVar9 != 0) {\n      pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,pwVar16);\n    }\n    (**(code **)(pcVar23 + 0x5a0d0))(pwVar16);\n    pbVar24[-1] = bVar2;\nLAB_000fcddc:\n    (**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);\n    if (iVar5 == 0) goto LAB_000fcb84;\n  }\n  (**(code **)(pcVar23 + 0x5b86c))(iVar5,**(undefined4 **)(pcVar23 + 0x5ab6c));\n  pwVar6 = (word *)((int)pwVar6 + 1);\nLAB_000fcb84:\n  if (iStack_314 == **(int **)(pcVar23 + 0x5baa8)) {\n    return pwVar6;\n  }\n  pcVar23 = *(code **)(pcVar23 + 0x5ba58);\n  (*pcVar23)();\n  if ((**(int **)(pcVar23 + 0x5a67c) == iStack_314) &&\n     (*(int *)(*(int *)(pcVar23 + 0x595b0) + -0x3fb8) == 0)) {\n    return (word *)0x3f;\n  }\n  if (**(int **)(pcVar23 + 0x5b004) == 0) {\n    pwVar16 = (word *)&DAT_00000009;\n    if (**(int **)(pcVar23 + 0x5b008) != 0) {\n      pwVar16 = (word *)0x40;\n    }\n    return pwVar16;\n  }\n  return (word *)&DAT_00000021;\n}" (type_identifier "word") (pointer_declarator "* FUN_000fa7dc(undefined4 param_1,word *param_2,int param_3,byte *param_4)" (* "*") (function_declarator "FUN_000fa7dc(undefined4 param_1,word *param_2,int param_3,byte *param_4)" (identifier "FUN_000fa7dc") (parameter_list "(undefined4 param_1,word *param_2,int param_3,byte *param_4)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) (, ",") (parameter_declaration "word *param_2" (type_identifier "word") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "int param_3" (primitive_type "int") (identifier "param_3")) (, ",") (parameter_declaration "byte *param_4" (type_identifier "byte") (pointer_declarator "*param_4" (* "*") (identifier "param_4"))) () ")")))) (compound_statement "{\n  char cVar1;\n  byte bVar2;\n  bool bVar3;\n  uint uVar4;\n  int iVar5;\n  word *pwVar6;\n  undefined4 uVar7;\n  undefined1 *puVar8;\n  int *piVar9;\n  int iVar10;\n  int iVar11;\n  byte *pbVar12;\n  int iVar13;\n  word *pwVar14;\n  word *pwVar15;\n  word *pwVar16;\n  int iVar17;\n  word *pwVar18;\n  word *unaff_s2;\n  char *pcVar19;\n  word *pwVar20;\n  word *unaff_s3;\n  word *unaff_s4;\n  word *unaff_s5;\n  undefined4 *puVar21;\n  word *unaff_s6;\n  word *unaff_s7;\n  undefined *puVar22;\n  code *pcVar23;\n  byte **unaff_s8;\n  byte *pbVar24;\n  code *pcVar25;\n  int iStack_31c;\n  word *pwStack_318;\n  int iStack_314;\n  word *pwStack_310;\n  word *pwStack_30c;\n  word *pwStack_308;\n  word *pwStack_304;\n  int *piStack_300;\n  undefined4 *puStack_2fc;\n  int iStack_2f8;\n  code *pcStack_2f4;\n  code *pcStack_2e0;\n  int iStack_2d4;\n  int iStack_2d0;\n  word *pwStack_2cc;\n  int aiStack_2c8 [3];\n  byte *pbStack_2bc;\n  int iStack_2b8;\n  word *pwStack_2b4;\n  int iStack_2b0;\n  int iStack_2ac;\n  undefined4 uStack_2a8;\n  undefined4 uStack_2a4;\n  int *piStack_2a0;\n  int *piStack_29c;\n  int iStack_298;\n  code *pcStack_294;\n  code *pcStack_280;\n  int aiStack_278 [4];\n  word *pwStack_268;\n  word *pwStack_264;\n  word *pwStack_260;\n  word *pwStack_25c;\n  word *pwStack_258;\n  word *pwStack_254;\n  word *pwStack_250;\n  word *pwStack_24c;\n  byte **ppbStack_248;\n  code *pcStack_244;\n  code *pcStack_230;\n  byte *pbStack_228;\n  int iStack_224;\n  undefined4 *puStack_220;\n  int iStack_21c;\n  int iStack_218;\n  word *pwStack_214;\n  word *pwStack_210;\n  int *piStack_20c;\n  word *pwStack_208;\n  int iStack_204;\n  int iStack_1fc;\n  int iStack_1f8;\n  byte *pbStack_1f4;\n  undefined4 uStack_1f0;\n  undefined4 uStack_1ec;\n  undefined4 uStack_1e8;\n  int iStack_1e4;\n  word *pwStack_1e0;\n  word *pwStack_1dc;\n  undefined4 *puStack_1d8;\n  word *pwStack_1d4;\n  word *pwStack_1d0;\n  word *pwStack_1cc;\n  word *pwStack_1c8;\n  word *pwStack_1c4;\n  byte **ppbStack_1c0;\n  code *pcStack_1bc;\n  code *pcStack_1a8;\n  undefined1 auStack_19d [9];\n  word *pwStack_194;\n  byte *pbStack_190;\n  word *pwStack_18c;\n  word *pwStack_188;\n  word *pwStack_184;\n  word *pwStack_180;\n  word *pwStack_17c;\n  word *pwStack_178;\n  code *pcStack_174;\n  word *pwStack_160;\n  word *pwStack_15c;\n  undefined *puStack_158;\n  word *pwStack_14c;\n  word *pwStack_148;\n  word *pwStack_144;\n  word *pwStack_140;\n  word *pwStack_13c;\n  uint uStack_138;\n  int *piStack_134;\n  word *pwStack_130;\n  int *piStack_12c;\n  byte *pbStack_124;\n  byte *pbStack_120;\n  undefined4 uStack_11c;\n  undefined4 uStack_118;\n  undefined4 uStack_114;\n  undefined4 uStack_110;\n  undefined4 uStack_10c;\n  undefined4 uStack_108;\n  undefined4 *puStack_104;\n  word *pwStack_100;\n  byte *pbStack_fc;\n  word *pwStack_f8;\n  word *local_bc;\n  word awStack_b8 [12];\n  uint local_a0;\n  undefined1 local_18 [4];\n  int *local_14;\n  \n  local_14 = *(int **)PTR___stack_chk_guard_0015858c;\n  if (param_3 != 0) {\n    if (*(int *)PTR_rl_point_001575f0 == 0) {\n      param_3 = 0;\n    }\n    else if (*(int *)PTR_rl_completion_suppress_quote_00157618 == 0) {\n      if (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + *(int *)PTR_rl_point_001575f0 + -1) ==\n          param_3) {\n        param_3 = 0;\n      }\n      else {\n        local_18[0] = (undefined1)param_3;\n        param_3 = 1;\n      }\n    }\n    else {\n      param_3 = 0;\n    }\n  }\n  if (param_2 == (word *)0x0) {\n    pwVar16 = (word *)(param_3 + 1);\n    if ((*(int *)PTR_rl_completion_suppress_append_00157624 == 0) &&\n       (*(int *)PTR_rl_completion_append_character_00157628 != 0)) {\n      local_18[param_3] = (char)*(int *)PTR_rl_completion_append_character_00157628;\n      goto LAB_000fa86c;\n    }\n  }\n  else {\n    local_18[param_3] = (char)param_2;\nLAB_000fa86c:\n    pwVar16 = (word *)(param_3 + 2);\n    param_3 = param_3 + 1;\n  }\n  pwVar15 = (word *)(&stack0xfffffff0 + param_3);\n  local_18[param_3] = 0;\n  if (*(int *)PTR_rl_filename_completion_desired_00157634 == 0) {\n    if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {\n      rl_insert_text(local_18);\n    }\n  }\n  else {\n    unaff_s2 = (word *)(*(code *)PTR_tilde_expand_00156b0c)();\n    if (*(int *)PTR_rl_filename_stat_hook_00157754 != 0) {\n      iVar5 = (*(code *)PTR_strlen_00158444)(unaff_s2);\n      uVar7 = (*(code *)PTR_xmalloc_001565b8)(iVar5 + 1);\n      local_bc = (word *)(*(code *)PTR_strcpy_001584cc)(uVar7,unaff_s2);\n      (**(code **)PTR_rl_filename_stat_hook_00157754)(&local_bc);\n      (*(code *)PTR_xfree_00156bb4)(unaff_s2);\n      unaff_s2 = local_bc;\n    }\n    param_2 = unaff_s2;\n    if ((param_4 == (byte *)0x0) ||\n       (pwVar15 = awStack_b8, *(int *)PTR_rl_completion_mark_symlink_dirs_001578a4 != 0)) {\n      pwVar15 = awStack_b8;\n      iVar5 = (*(code *)PTR___xstat64_001582e8)(3);\n    }\n    else {\n      iVar5 = (*(code *)PTR___lxstat64_001582c8)(3);\n    }\n    if (iVar5 == 0) {\n      if ((local_a0 & 0xf000) == 0x4000) {\n        if (*(int *)PTR__rl_complete_mark_directories_00157f80 != 0) {\n          iVar5 = *(int *)PTR_rl_point_001575f0;\n          if ((iVar5 == 0) || (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5) != '\0')) {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5);\n          }\n          else {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5 + -1);\n          }\n          if (cVar1 != '/') {\n            rl_insert_text(PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c);\n          }\n        }\n      }\n      else if (((local_a0 & 0xf000) != 0xa000) || (iVar5 = FUN_000fa188(unaff_s2), iVar5 == 0))\n      goto LAB_000fa9f0;\n    }\n    else {\nLAB_000fa9f0:\n      if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {\n        rl_insert_text(local_18);\n      }\n    }\n    (*(code *)PTR_xfree_00156bb4)(unaff_s2);\n  }\n  if (local_14 == *(int **)PTR___stack_chk_guard_0015858c) {\n    return pwVar16;\n  }\n  piVar9 = local_14;\n  puVar22 = PTR___stack_chk_fail_0015853c;\n  (*(code *)PTR___stack_chk_fail_0015853c)();\n  puStack_158 = puVar22 + 0x63a10;\n  puStack_104 = (undefined4 *)**(undefined4 **)(puVar22 + 0x5da5c);\n  pwVar14 = param_2;\n  pwStack_130 = pwVar15;\n  piStack_12c = piVar9;\n  pwStack_100 = pwVar16;\n  pbStack_fc = param_4;\n  pwStack_f8 = unaff_s2;\n  if (param_2 == (word *)0x1) {\n    *piVar9 = piVar9[1];\n    piVar9[1] = 0;\n    pwStack_13c = param_2;\n  }\n  else {\n    if ((int)param_2 < 2) {\n      pwStack_140 = (word *)&__DT_SYMTAB[0x3d1].st_info;\n    }\n    else {\n      pwVar18 = (word *)(piVar9 + 1);\n      pwStack_140 = (word *)&__DT_SYMTAB[0x3d1].st_info;\n      pwStack_13c = (word *)0x1;\n      unaff_s3 = *(word **)(puVar22 + 0x5d2e8);\n      piStack_134 = *(int **)(puVar22 + 0x5d454);\n      unaff_s8 = &pbStack_124;\n      do {\n        uVar4 = (**(code **)(puStack_158 + -0x6060))();\n        if ((1 < uVar4) && (*(int *)unaff_s3 == 0)) {\n          uStack_11c = 0;\n          uStack_118 = 0;\n          uStack_114 = 0;\n          uStack_110 = 0;\n        }\n        if (*piStack_134 == 0) {\n          param_4 = (byte *)(int)**(char **)pwVar18;\n          unaff_s5 = pwVar18;\n          if (param_4 == (byte *)0x0) {\n            pwVar16 = (word *)0x0;\n            goto LAB_000fac1c;\n          }\n          pwVar16 = (word *)(int)**(char **)(pwVar18 + 2);\n          pwStack_14c = (word *)0x0;\n          unaff_s4 = pwVar16;\n          if (pwVar16 == (word *)0x0) goto LAB_000fac1c;\n          unaff_s6 = (word *)&uStack_11c;\n          pwStack_148 = (word *)&uStack_114;\n          unaff_s7 = (word *)&uStack_10c;\n          do {\n            pwVar16 = pwStack_14c;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\n              if ((word *)param_4 != unaff_s4) goto LAB_000fac1c;\n            }\n            else {\n              uStack_10c = uStack_11c;\n              uStack_108 = uStack_118;\n              pwStack_15c = pwStack_148;\n              pwVar15 = unaff_s6;\n              pwStack_160 = pwVar16;\n              iVar5 = (**(code **)(puStack_158 + -0x65b8))\n                                (*(undefined4 *)pwVar18,pwVar16,unaff_s6,\n                                 *(undefined4 *)(pwVar18 + 2));\n              pwVar14 = unaff_s7;\n              if (iVar5 == 0) goto LAB_000fac1c;\n              iVar5 = (**(code **)(puStack_158 + -0x65b4))\n                                ((byte *)((int)pwStack_14c + *(int *)pwVar18));\n              if (1 < iVar5) {\n                pwVar16 = (word *)((int)pwVar16 + iVar5 + -1);\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_14c = pwVar16;\n            if (param_4 == (byte *)0x0) goto LAB_000fac1c;\n            unaff_s4 = (word *)(int)(char)*(byte *)((int)pwVar16 + *(int *)(pwVar18 + 2));\n            bVar3 = (int)pwVar16 < (int)pwStack_140;\n          } while (unaff_s4 != (word *)0x0);\n        }\n        else {\n          pwVar16 = (word *)0x0;\n          unaff_s7 = (word *)&uStack_11c;\n          unaff_s6 = (word *)&uStack_114;\n          while( true ) {\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_148 = pwVar16;\n            pwStack_144 = pwVar18;\n            if (unaff_s4 == (word *)param_4) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))();\n              if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n                param_4 = *(byte **)unaff_s4;\n              }\n            }\n            unaff_s5 = (word *)&pbStack_120;\n            if (param_4 == (byte *)0x0) break;\n            pwStack_14c = (word *)(int)(char)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))\n            ;\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n            if ((unaff_s4 == pwStack_14c) &&\n               (piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0)) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n              unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n              pwStack_14c = *(word **)unaff_s4;\n            }\n            if (pwStack_14c == (word *)0x0) break;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\njoined_r0x000facac:\n              if ((word *)param_4 != pwStack_14c) break;\n            }\n            else {\n              pbVar24 = (byte *)((int)pwStack_148 + *(int *)pwStack_144);\n              uVar7 = (**(code **)(puStack_158 + -0x60fc))(pbVar24);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,pbVar24,uVar7,unaff_s7);\n              unaff_s4 = (word *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n              pwVar15 = (word *)(**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              pwVar14 = unaff_s4;\n              iVar5 = (**(code **)(puStack_158 + -0x6084))(&pbStack_120,unaff_s4,pwVar15,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar5 + 2U < 2)) goto joined_r0x000facac;\n              param_4 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_124);\n              pbStack_124 = param_4;\n              pbStack_120 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_120);\n              if (param_4 != pbStack_120) break;\n              if (1 < uStack_138) {\n                pwVar16 = (word *)((int)pwStack_148 + (uStack_138 - 1));\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\nLAB_000fac1c:\n          bVar3 = (int)pwVar16 < (int)pwStack_140;\n        }\n        pwVar6 = pwStack_130;\n        if (bVar3) {\n          pwStack_140 = pwVar16;\n        }\n        pwStack_13c = (word *)((int)pwStack_13c + 1);\n        pwVar18 = pwVar18 + 2;\n      } while (param_2 != pwStack_13c);\n      unaff_s2 = pwVar18;\n      if (((pwStack_140 == (word *)0x0) && (pwStack_130 != (word *)0x0)) &&\n         (pwVar16 = pwStack_130, *(byte *)pwStack_130 != 0)) {\n        iVar5 = (**(code **)(puStack_158 + -0x60fc))(pwStack_130);\n        iVar5 = (**(code **)(puStack_158 + -0x7f88))(iVar5 + 1);\n        *piStack_12c = iVar5;\n        pwVar14 = pwVar6;\n        (**(code **)(puStack_158 + -0x6074))(iVar5);\n        pwVar16 = pwVar6;\n        goto LAB_000fb1f0;\n      }\n    }\n    iVar5 = (**(code **)(puStack_158 + -0x7f88))((byte *)((int)pwStack_140 + 1));\n    *piStack_12c = iVar5;\n    if (**(int **)(puStack_158 + -0x65bc) == 0) {\n      pwVar14 = (word *)piStack_12c[1];\n      pwVar15 = pwStack_140;\n      (**(code **)(puStack_158 + -0x615c))(iVar5);\n    }\n    else {\n      unaff_s3 = (word *)0x0;\n      if (**(int **)(puStack_158 + -0x6f0c) != 0) {\n        if ((code *)**(undefined4 **)(puStack_158 + -0x6de4) == (code *)0x0) {\n          unaff_s3 = (word *)0x0;\n        }\n        else if ((**(int **)(puStack_158 + -0x6f38) != 0) &&\n                (**(int **)(puStack_158 + -0x702c) != 0)) {\n          pwVar14 = (word *)**(undefined4 **)(puStack_158 + -0x6f34);\n          unaff_s3 = (word *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(pwStack_130);\n          pwStack_130 = unaff_s3;\n        }\n      }\n      if (**(int **)(puStack_158 + -0x6f10) != 0) {\n        pwVar14 = param_2;\n        (**(code **)(puStack_158 + -0x6218))\n                  (piStack_12c + 1,param_2,4,*(undefined4 *)(puStack_158 + -0x6660));\n      }\n      pwVar16 = (word *)(**(code **)(puStack_158 + -0x60fc))(pwStack_130);\n      unaff_s4 = pwStack_140;\n      if ((int)pwVar16 <= (int)pwStack_140) {\n        unaff_s4 = pwVar16;\n      }\n      if ((int)param_2 < 1) {\n        pwVar16 = (word *)0x1;\nLAB_000fb1a8:\n        pwVar16 = (word *)(uint)((int)param_2 < (int)pwVar16);\n        pwVar15 = pwStack_140;\n        if (pwVar16 != (word *)0x0) goto LAB_000fb12c;\n      }\n      else {\n        param_4 = (byte *)(piStack_12c + 1);\n        pwVar16 = (word *)0x1;\n        do {\n          unaff_s2 = *(word **)param_4;\n          iVar5 = (**(code **)(puStack_158 + -0x6238))(unaff_s2,pwStack_130,unaff_s4);\n          if (iVar5 == 0) {\n            pwVar14 = unaff_s2;\n            (**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,pwStack_140);\n            goto LAB_000fb1a8;\n          }\n          pwVar16 = (word *)((int)pwVar16 + 1);\n          param_4 = param_4 + 4;\n        } while ((int)pwVar16 <= (int)param_2);\nLAB_000fb12c:\n        pwVar14 = (word *)piStack_12c[1];\n        pwVar15 = pwStack_140;\n        (**(code **)(puStack_158 + -0x615c))(*piStack_12c);\n      }\n      if (unaff_s3 != (word *)0x0) {\n        (**(code **)(puStack_158 + -0x5f94))(unaff_s3);\n      }\n    }\n    *(byte *)((int)pwStack_140 + *piStack_12c) = 0;\n    pwStack_13c = param_2;\n  }\nLAB_000fb1f0:\n  if (puStack_104 == (undefined4 *)**(undefined4 **)(puStack_158 + -0x5fb4)) {\n    return pwStack_13c;\n  }\n  pcVar23 = *(code **)(puStack_158 + -0x6004);\n  pcVar25 = FUN_000fb268;\n  puVar21 = puStack_104;\n  (*pcVar23)();\n  pcStack_1a8 = pcVar23 + 0x632d8;\n  auStack_19d._1_4_ = **(undefined4 **)(pcVar23 + 0x5d324);\n  pwVar18 = (word *)*puVar21;\n  pwStack_194 = pwVar16;\n  pbStack_190 = param_4;\n  pwStack_18c = unaff_s2;\n  pwStack_188 = unaff_s3;\n  pwStack_184 = unaff_s4;\n  pwStack_180 = unaff_s5;\n  pwStack_17c = unaff_s6;\n  pwStack_178 = unaff_s7;\n  pcStack_174 = pcVar25;\n  if (pwVar18 == (word *)0x0) {\n    pwVar6 = (word *)0x0;\n  }\n  else {\n    pwVar20 = pwVar14;\n    pwVar6 = pwVar18;\n    if (**(int **)(pcVar23 + 0x5cd28) != 0) {\n      if (*(int *)pwVar18 == 0) {\nLAB_000fb370:\n        uVar7 = *(undefined4 *)pwVar18;\n      }\n      else {\n        pwVar15 = (word *)0x0;\n        pwVar16 = pwVar18;\n        do {\n          pwVar16 = pwVar16 + 2;\n          pwVar15 = (word *)((int)pwVar15 + 1);\n        } while (*(int *)pwVar16 != 0);\n        if ((pwVar15 == (word *)0x0) || (**(int **)(pcVar23 + 0x5c3c8) == 0)) goto LAB_000fb370;\n        pwVar15 = (word *)&DAT_00000004;\n        (**(code **)(pcVar23 + 0x5d0c0))();\n        uVar7 = *(undefined4 *)pwVar18;\n      }\n      iVar5 = (**(code **)(pcStack_1a8 + -0x60fc))(uVar7);\n      uVar7 = (**(code **)(pcStack_1a8 + -0x7f88))(iVar5 + 1);\n      unaff_s4 = (word *)(**(code **)(pcStack_1a8 + -0x6074))(uVar7,*(undefined4 *)pwVar18);\n      if (*(int *)(pwVar18 + 2) == 0) {\n        unaff_s6 = (word *)0x0;\n        pbVar24 = (byte *)0x3;\n        pwVar20 = (word *)0x0;\n      }\n      else {\n        unaff_s6 = (word *)0x0;\n        unaff_s7 = (word *)auStack_19d;\n        pwVar16 = pwVar18;\n        do {\n          uVar7 = *(undefined4 *)pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(uVar7);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(uVar7);\n            *(word **)pwVar16 = unaff_s7;\n          }\n          else {\n            unaff_s6 = (word *)((int)unaff_s6 + 1);\n          }\n          pwVar20 = *(word **)(pwVar16 + 4);\n          pbVar24 = (byte *)((int)unaff_s6 + 3);\n          pwVar16 = pwVar16 + 2;\n        } while (pwVar20 != (word *)0x0);\n      }\n      pwVar6 = (word *)(**(code **)(pcStack_1a8 + -0x7f88))((int)pbVar24 << 2);\n      pbVar24 = *(byte **)(pwVar18 + 2);\n      if (pbVar24 == (byte *)0x0) {\n        pbVar24 = (byte *)(pwVar6 + 2);\n        pbVar24[0] = 0;\n        pbVar24[1] = 0;\n        pbVar24[2] = 0;\n        pbVar24[3] = 0;\n        pwVar16 = (word *)0x1;\n        if (*(undefined1 **)pwVar18 != auStack_19d) {\n          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);\n          goto LAB_000fb4b4;\n        }\n        *(word **)pwVar6 = unaff_s4;\n      }\n      else {\n        pwVar16 = (word *)0x1;\n        pwVar20 = (word *)auStack_19d;\n        pbVar12 = (byte *)(pwVar18 + 4);\n        do {\n          if ((word *)pbVar24 != pwVar20) {\n            *(byte **)(pwVar6 + (int)pwVar16 * 2) = pbVar24;\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\n          pbVar24 = *(byte **)pbVar12;\n          pbVar12 = pbVar12 + 4;\n        } while (pbVar24 != (byte *)0x0);\n        *(undefined4 *)(pwVar6 + (int)pwVar16 * 2) = 0;\n        if (*(undefined1 **)pwVar18 != auStack_19d) {\n          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);\nLAB_000fb4b4:\n          (*pcVar23)();\n        }\n        *(word **)pwVar6 = unaff_s4;\n        if (pwVar16 == (word *)0x2) {\n          pwVar16 = *(word **)(pwVar6 + 2);\n          pwVar20 = pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(unaff_s4);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(pwVar16);\n            pbVar24 = (byte *)(pwVar6 + 2);\n            pbVar24[0] = 0;\n            pbVar24[1] = 0;\n            pbVar24[2] = 0;\n            pbVar24[3] = 0;\n          }\n        }\n      }\n      (**(code **)(pcStack_1a8 + -0x798c))(pwVar18);\n      unaff_s5 = pwVar6;\n    }\n    unaff_s3 = pwVar14;\n    pwVar18 = pwVar6;\n    if (((code *)**(undefined4 **)(pcStack_1a8 + -0x703c) == (code *)0x0) ||\n       (pwVar14 == (word *)0x0)) goto LAB_000fb570;\n    if (*(int *)(pwVar6 + 2) == 0) {\n      pwVar16 = (word *)0x1;\n    }\n    else {\n      pwVar16 = (word *)0x1;\n      pbVar24 = (byte *)(pwVar6 + 4);\n      do {\n        iVar5 = *(int *)pbVar24;\n        pwVar16 = (word *)((int)pwVar16 + 1);\n        pbVar24 = pbVar24 + 4;\n      } while (iVar5 != 0);\n    }\n    (*(code *)**(undefined4 **)(pcStack_1a8 + -0x703c))(pwVar6);\n    unaff_s3 = *(word **)pwVar6;\n    if (unaff_s3 == (word *)0x0) {\n      (**(code **)(pcStack_1a8 + -0x5f94))(pwVar6);\n      *puVar21 = 0;\n      pwVar6 = (word *)0x0;\n      pwVar14 = pwVar20;\n      goto LAB_000fb578;\n    }\n    if (*(int *)(pwVar6 + 2) == 0) {\nLAB_000fb570:\n      *puVar21 = pwVar6;\n    }\n    else {\n      pbVar24 = (byte *)(pwVar6 + 4);\n      pwVar14 = (word *)0x1;\n      do {\n        pwVar20 = pwVar14;\n        iVar5 = *(int *)pbVar24;\n        pwVar14 = (word *)((int)pwVar20 + 1);\n        pbVar24 = pbVar24 + 4;\n      } while (iVar5 != 0);\n      pwVar16 = (word *)(uint)((int)pwVar14 < (int)pwVar16);\n      if (((int)pwVar14 < 2) || (pwVar15 = unaff_s3, pwVar16 == (word *)0x0)) goto LAB_000fb570;\n      FUN_000fab30(pwVar6);\n      (**(code **)(pcStack_1a8 + -0x5f94))(unaff_s3);\n      *puVar21 = pwVar6;\n    }\n    pwVar6 = (word *)0x1;\n    pwVar14 = pwVar20;\n  }\nLAB_000fb578:\n  if ((char *)auStack_19d._1_4_ == (char *)**(undefined4 **)(pcStack_1a8 + -0x5fb4)) {\n    return pwVar6;\n  }\n  pcVar23 = *(code **)(pcStack_1a8 + -0x6004);\n  pcVar25 = rl_filename_completion_function;\n  pcVar19 = (char *)auStack_19d._1_4_;\n  (*pcVar23)();\n  pcStack_230 = pcVar23 + 0x62f20;\n  iStack_1e4 = **(int **)(pcVar23 + 0x5cf6c);\n  pwStack_1e0 = pwVar16;\n  pwStack_1dc = pwVar18;\n  puStack_1d8 = puVar21;\n  pwStack_1d4 = unaff_s3;\n  pwStack_1d0 = unaff_s4;\n  pwStack_1cc = unaff_s5;\n  pwStack_1c8 = unaff_s6;\n  pwStack_1c4 = unaff_s7;\n  ppbStack_1c0 = unaff_s8;\n  pcStack_1bc = pcVar25;\n  if (pwVar14 != (word *)0x0) goto LAB_000fb968;\n  if (*(int *)(*(int *)(pcVar23 + 0x5af4c) + -0x3fd4) != 0) {\n    (**(code **)(pcVar23 + 0x5cc9c))();\n    *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) = 0;\n  }\n  if (*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) != 0) {\n    (**(code **)(pcStack_230 + -0x5f94))();\n  }\n  if (*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) != 0) {\n    (**(code **)(pcStack_230 + -0x5f94))();\n  }\n  if (*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) != 0) {\n    (**(code **)(pcStack_230 + -0x5f94))();\n  }\n  iVar5 = (**(code **)(pcStack_230 + -0x60fc))(pcVar19);\n  uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);\n  uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,pcVar19);\n  *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) = uVar7;\n  if (*pcVar19 == '\0') {\n    pcVar19 = (char *)(*(int *)(pcStack_230 + -0x7f90) + -0x5e18);\n  }\n  iVar5 = (**(code **)(pcStack_230 + -0x60fc))(pcVar19);\n  uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);\n  puVar8 = (undefined1 *)(**(code **)(pcStack_230 + -0x6074))(uVar7,pcVar19);\n  *(undefined1 **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) = puVar8;\n  unaff_s4 = (word *)(**(code **)(pcStack_230 + -0x61d4))(puVar8,0x2f);\n  if (unaff_s4 == (word *)0x0) {\n    *puVar8 = 0x2e;\n    *(undefined1 *)(*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) + 1) = 0;\n  }\n  else {\n    (**(code **)(pcStack_230 + -0x6074))\n              (*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc),\n               (byte *)((int)unaff_s4 + 1));\n    *(byte *)((int)unaff_s4 + 1) = 0;\n  }\n  if (**(int **)(pcStack_230 + -0x6f38) == 0) {\nLAB_000fb830:\n    iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n    iVar5 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(iVar13 + -0x3fd8));\n    uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);\n    uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(iVar13 + -0x3fd8));\n    *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = uVar7;\n  }\n  else {\n    if ((code *)**(undefined4 **)(pcStack_230 + -0x6de4) == (code *)0x0) goto LAB_000fb830;\n    uVar7 = (*(code *)**(undefined4 **)(pcStack_230 + -0x6de4))\n                      (*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8),\n                       **(undefined4 **)(pcStack_230 + -0x6f34));\n    *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = uVar7;\n  }\n  bVar3 = **(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) == '~';\n  if (bVar3) {\n    uVar7 = (**(code **)(pcStack_230 + -0x7a34))();\n    iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n    (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fd8));\n    *(undefined4 *)(iVar5 + -0x3fd8) = uVar7;\n  }\n  unaff_s3 = (word *)(uint)bVar3;\n  if ((code *)**(undefined4 **)(pcStack_230 + -0x6f40) == (code *)0x0) {\n    if ((code *)**(undefined4 **)(pcStack_230 + -0x6f3c) != (code *)0x0) {\n      iVar5 = (*(code *)**(undefined4 **)(pcStack_230 + -0x6f3c))\n                        (*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);\n      iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n      if (iVar5 != 0) {\n        (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar13 + -0x3fe0));\n        unaff_s3 = *(word **)(pcStack_230 + -0x7fd4);\n        iVar5 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1fec));\n        uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);\n        uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1fec));\n        *(undefined4 *)(iVar13 + -0x3fe0) = uVar7;\n        goto LAB_000fb8b4;\n      }\n    }\n    iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n    if ((unaff_s3 == (word *)0x0) &&\n       (iVar5 = *(int *)(pcStack_230 + -0x7fd4), **(int **)(pcStack_230 + -0x6f38) != 0)) {\n      iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n      if (**(int **)(pcStack_230 + -0x6de4) != 0) {\n        (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fd8));\n        unaff_s3 = *(word **)(pcStack_230 + -0x7fd4);\n        iVar13 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1ff0));\n        uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar13 + 1);\n        uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1ff0));\n        *(undefined4 *)(iVar5 + -0x3fd8) = uVar7;\n      }\n      goto LAB_000fb8b4;\n    }\n  }\n  else {\n    (*(code *)**(undefined4 **)(pcStack_230 + -0x6f40))(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);\nLAB_000fb8b4:\n    iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n  }\n  uVar7 = (**(code **)(pcStack_230 + -0x6288))(*(undefined4 *)(iVar5 + -0x3fd8));\n  *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) = uVar7;\n  iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n  if ((**(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) != '\0') &&\n     (iVar5 = *(int *)(pcStack_230 + -0x7fd4), **(int **)(pcStack_230 + -0x6f38) != 0)) {\n    if ((code *)**(undefined4 **)(pcStack_230 + -0x6de4) != (code *)0x0) {\n      unaff_s3 = (word *)(*(code *)**(undefined4 **)(pcStack_230 + -0x6de4))\n                                   (*(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc),\n                                    **(undefined4 **)(pcStack_230 + -0x6f34));\n      iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n      (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fdc));\n      *(word **)(iVar5 + -0x3fdc) = unaff_s3;\n    }\n    iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n  }\n  uVar7 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(iVar5 + -0x3fdc));\n  *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe4) = uVar7;\n  **(undefined4 **)(pcStack_230 + -0x6f0c) = 1;\nLAB_000fb968:\n  iVar5 = 0;\n  iStack_224 = *(int *)(pcStack_230 + -0x7fd4);\n  puStack_220 = *(undefined4 **)(pcStack_230 + -0x6df0);\n  iStack_21c = *(int *)(pcStack_230 + -0x7fd4);\n  iStack_218 = *(int *)(pcStack_230 + -0x7fd4);\n  piStack_20c = *(int **)(pcStack_230 + -0x65bc);\n  pcVar23 = pcStack_230;\nLAB_000fbb0c:\n  iVar13 = *(int *)(iStack_224 + -0x3fd4);\nLAB_000fbb10:\n  if (iVar13 == 0) {\n    if (iVar5 != 0) goto LAB_000fbbb0;\n    iVar5 = *(int *)(*(int *)(pcVar23 + -0x7fd4) + -0x3fd8);\nLAB_000fc3a0:\n    if (iVar5 != 0) {\n      (**(code **)(pcVar23 + -0x798c))();\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) = 0;\n      pcVar23 = pcStack_230;\n    }\n    if (*(int *)(*(int *)(pcVar23 + -0x7fd4) + -0x3fdc) != 0) {\n      (**(code **)(pcVar23 + -0x798c))();\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) = 0;\n      pcVar23 = pcStack_230;\n    }\n    pwVar14 = *(word **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0);\n    if (pwVar14 != (word *)0x0) {\n      (**(code **)(pcVar23 + -0x798c))(pwVar14);\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = 0;\n      pwVar14 = (word *)0x0;\n      pcVar23 = pcStack_230;\n    }\n    goto LAB_000fbca4;\n  }\n  iVar5 = (**(code **)(pcVar23 + -0x6214))();\n  if (iVar5 == 0) {\n    if (*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) != 0) {\n      (**(code **)(pcStack_230 + -0x6284))();\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) = 0;\n    }\n    iVar5 = *(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);\n    pcVar23 = pcStack_230;\n    goto LAB_000fc3a0;\n  }\n  pwVar18 = (word *)(iVar5 + 0x13);\n  unaff_s4 = (word *)(**(code **)(pcStack_230 + -0x60fc))(pwVar18);\n  pwVar16 = pwVar18;\n  if (((code *)*puStack_220 != (code *)0x0) &&\n     (pwVar16 = (word *)(*(code *)*puStack_220)(pwVar18,unaff_s4), pwVar18 != pwVar16)) {\n    unaff_s4 = (word *)(**(code **)(pcStack_230 + -0x60fc))(pwVar16);\n  }\n  unaff_s3 = *(word **)(iStack_21c + -0x3fe4);\n  pcVar23 = pcStack_230;\n  if (unaff_s3 == (word *)0x0) {\n    if (**(int **)(pcStack_230 + -0x65ac) == 0) {\n      if (*(byte *)pwVar16 != 0x2e) goto LAB_000fbbb0;\n    }\n    else {\n      iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n      if ((*(byte *)pwVar16 != 0x2e) ||\n         (((byte)*pwVar16 != 0 &&\n          ((iVar13 = *(int *)(pcStack_230 + -0x7fd4), (byte)*pwVar16 != 0x2e ||\n           (iVar13 = *(int *)(pcStack_230 + -0x7fd4), *(byte *)(pwVar16 + 1) != 0))))))\n      goto LAB_000fbbb4;\n    }\n    goto LAB_000fbb0c;\n  }\n  pbStack_228 = *(byte **)(iStack_218 + -0x3fdc);\n  pbStack_1f4 = (byte *)0x0;\n  uStack_1f0 = 0;\n  uStack_1ec = 0;\n  uStack_1e8 = 0;\n  if ((int)unaff_s4 < (int)unaff_s3) goto LAB_000fbb0c;\n  if (*piStack_20c != 0) {\n    if (**(int **)(pcStack_230 + -0x65a4) == 0) {\n      uVar4 = (**(code **)(pcStack_230 + -0x6060))();\n      if ((1 < uVar4) && (unaff_s8 = &pbStack_1f4, **(int **)(pcStack_230 + -0x6728) == 0)) {\n        unaff_s7 = (word *)&iStack_1fc;\n        unaff_s6 = (word *)&uStack_1ec;\n        unaff_s5 = (word *)&iStack_1f8;\n        pwStack_214 = pwVar16;\n        pwStack_208 = unaff_s3;\n        goto LAB_000fc0a8;\n      }\n      unaff_s5 = (word *)(int)(char)*(byte *)pwVar16;\n      pbVar24 = (byte *)(uint)*(byte *)pwVar16;\n      if (((word *)pbVar24 == unaff_s5) &&\n         (piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))(),\n         (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0)) {\n        piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n        unaff_s5 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n      }\n      unaff_s6 = (word *)(int)(char)*pbStack_228;\n      unaff_s4 = (word *)(uint)*pbStack_228;\n      if (unaff_s4 == unaff_s6) {\n        piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))();\n        if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n          piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n          unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n          unaff_s6 = *(word **)unaff_s4;\n        }\n      }\n      pwVar15 = unaff_s3;\n      pcVar23 = pcStack_230;\n      if (unaff_s5 == unaff_s6) {\n        iVar13 = (**(code **)(pcStack_230 + -0x6188))(pbStack_228,pwVar16);\n        goto LAB_000fc280;\n      }\n    }\n    else {\n      uVar4 = (**(code **)(pcStack_230 + -0x6060))();\n      if ((1 < uVar4) && (unaff_s6 = (word *)&uStack_1ec, **(int **)(pcStack_230 + -0x6728) == 0)) {\n        unaff_s8 = &pbStack_1f4;\n        unaff_s7 = (word *)&iStack_1fc;\n        unaff_s5 = (word *)&iStack_1f8;\n        pwStack_214 = pwVar16;\n        pwStack_208 = unaff_s3;\n        do {\n          pwStack_210 = (word *)(**(code **)(pcStack_230 + -0x6084))\n                                          (unaff_s7,pwStack_214,unaff_s4,unaff_s8);\n          pwVar15 = unaff_s3;\n          iVar13 = (**(code **)(pcStack_230 + -0x6084))(unaff_s5,pbStack_228,unaff_s3,unaff_s6);\n          pcVar23 = pcStack_230;\n          if (pwStack_210 == (word *)0x0) {\n            if (iVar13 == 0) goto LAB_000fbbb0;\nLAB_000fbe6c:\n            if (iVar13 + 2U < 2) goto LAB_000fbdb4;\n            iStack_204 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc);\n            iStack_1fc = iStack_204;\n            iStack_1f8 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8);\n            pwStack_214 = (word *)((int)pwStack_214 + (int)pwStack_210);\n            pbStack_228 = pbStack_228 + (int)pwStack_210;\n            pwStack_208 = (word *)((int)pwStack_208 - (int)pwStack_210);\n            if ((((iStack_204 != 0x2d) && (iStack_204 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))) && (iStack_204 != iStack_1f8))\n            goto code_r0x000fbef4;\n          }\n          else {\n            if ((word *)0x1 < pwStack_210 + 1) goto LAB_000fbe6c;\nLAB_000fbdb4:\n            bVar2 = *(byte *)pwStack_214;\n            if (((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||\n               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))) goto LAB_000fbb0c;\n            pwStack_214 = (word *)((int)pwStack_214 + 1);\n            pbStack_228 = pbStack_228 + 1;\n            pwStack_208 = (word *)((int)pwStack_208 + -1);\n          }\n          iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n          pcVar23 = pcStack_230;\n          if (pwStack_208 == (word *)0x0) goto LAB_000fbbb4;\n        } while( true );\n      }\n      unaff_s7 = (word *)&DAT_0000002d;\n      unaff_s8 = (byte **)0x5f;\n      pwStack_208 = (word *)((int)pwVar16 + (int)unaff_s3);\n      unaff_s4 = pwVar16;\n      pcVar23 = pcStack_230;\n      while( true ) {\n        unaff_s3 = (word *)(int)(char)*(byte *)unaff_s4;\n        pbVar24 = (byte *)(uint)*(byte *)unaff_s4;\n        pwStack_214 = unaff_s3;\n        if (((word *)pbVar24 == unaff_s3) &&\n           (piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))(), pcVar23 = pcStack_230,\n           (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0)) {\n          piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n          pwStack_214 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n          pcVar23 = pcStack_230;\n        }\n        unaff_s5 = (word *)(int)(char)*pbStack_228;\n        unaff_s6 = (word *)(uint)*pbStack_228;\n        pwStack_210 = unaff_s5;\n        if (unaff_s6 == unaff_s5) {\n          piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))();\n          pcVar23 = pcStack_230;\n          if ((*(ushort *)(*piVar9 + (int)unaff_s6 * 2) & 1) != 0) {\n            piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n            unaff_s6 = (word *)(*piVar9 + (int)unaff_s6 * 4);\n            pwStack_210 = *(word **)unaff_s6;\n            pcVar23 = pcStack_230;\n          }\n        }\n        if ((((unaff_s3 != (word *)&DAT_0000002d) && (unaff_s3 != (word *)0x5f)) ||\n            ((unaff_s5 != (word *)&DAT_0000002d && (unaff_s5 != (word *)0x5f)))) &&\n           (pwStack_214 != pwStack_210)) break;\n        unaff_s4 = (word *)((int)unaff_s4 + 1);\n        pbStack_228 = pbStack_228 + 1;\n        iVar13 = *(int *)(pcVar23 + -0x7fd4);\n        if (unaff_s4 == pwStack_208) goto LAB_000fbbb4;\n      }\n    }\n    goto LAB_000fbb0c;\n  }\n  if (*(byte *)pwVar16 != *pbStack_228) goto LAB_000fbb0c;\n  pwVar15 = unaff_s3;\n  iVar13 = (**(code **)(pcStack_230 + -0x6238))(pbStack_228,pwVar16);\nLAB_000fc280:\n  pcVar23 = pcStack_230;\n  if (iVar13 != 0) goto LAB_000fbb0c;\n  pcVar19 = *(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);\n  goto LAB_000fbbb8;\nLAB_000fc0a8:\n  pwStack_210 = (word *)(**(code **)(pcStack_230 + -0x6084))(unaff_s7,pwStack_214,unaff_s4,unaff_s8)\n  ;\n  pwVar15 = unaff_s3;\n  iVar13 = (**(code **)(pcStack_230 + -0x6084))(unaff_s5,pbStack_228,unaff_s3,unaff_s6);\n  pcVar23 = pcStack_230;\n  if (pwStack_210 == (word *)0x0) {\n    if (iVar13 == 0) goto LAB_000fbbb0;\nLAB_000fc100:\n    if (iVar13 + 2U < 2) goto LAB_000fc060;\n    iStack_204 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc);\n    iStack_1fc = iStack_204;\n    iStack_1f8 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8);\n    pcVar23 = pcStack_230;\n    if (iStack_204 != iStack_1f8) goto LAB_000fbb0c;\n    pwStack_214 = (word *)((int)pwStack_214 + (int)pwStack_210);\n    pbStack_228 = pbStack_228 + (int)pwStack_210;\n    pwStack_208 = (word *)((int)pwStack_208 - (int)pwStack_210);\n  }\n  else {\n    if ((word *)0x1 < pwStack_210 + 1) goto LAB_000fc100;\nLAB_000fc060:\n    if (*(byte *)pwStack_214 != *pbStack_228) goto LAB_000fbb0c;\n    pwStack_214 = (word *)((int)pwStack_214 + 1);\n    pbStack_228 = pbStack_228 + 1;\n    pwStack_208 = (word *)((int)pwStack_208 + -1);\n  }\n  iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n  pcVar23 = pcStack_230;\n  if (pwStack_208 == (word *)0x0) goto LAB_000fbbb4;\n  goto LAB_000fc0a8;\ncode_r0x000fbef4:\n  iVar13 = *(int *)(iStack_224 + -0x3fd4);\n  pcVar23 = pcStack_230;\n  goto LAB_000fbb10;\nLAB_000fbbb0:\n  iVar13 = *(int *)(pcVar23 + -0x7fd4);\nLAB_000fbbb4:\n  pcVar19 = *(char **)(iVar13 + -0x3fd8);\nLAB_000fbbb8:\n  if ((pcVar19 == (char *)0x0) ||\n     ((piVar9 = *(int **)(pcVar23 + -0x65a8), *pcVar19 == '.' &&\n      (piVar9 = *(int **)(pcVar23 + -0x65a8), pcVar19[1] == '\0')))) {\n    iVar5 = (**(code **)(pcVar23 + -0x60fc))(pwVar16);\n    uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);\n    pwVar14 = (word *)(**(code **)(pcStack_230 + -0x6074))(uVar7,pwVar16);\n  }\n  else {\n    if ((*piVar9 == 0) || (**(char **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0) != '~')) {\n      iVar13 = *(int *)(pcVar23 + -0x7fd4);\n      unaff_s3 = (word *)(**(code **)(pcVar23 + -0x60fc))(*(undefined4 *)(iVar13 + -0x3fe0));\n      iVar5 = (**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13);\n      pwVar14 = (word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2));\n      iVar5 = *(int *)(iVar13 + -0x3fe0);\n      (**(code **)(pcStack_230 + -0x6074))(pwVar14,iVar5);\n      unaff_s4 = (word *)((int)unaff_s3 + iVar5);\n      unaff_s5 = unaff_s3;\n      if (*(byte *)((int)unaff_s4 + -1) != 0x2f) {\n        unaff_s5 = (word *)((int)unaff_s3 + 1);\n        unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);\n        *(byte *)unaff_s3 = 0x2f;\n      }\n    }\n    else {\n      unaff_s3 = (word *)(**(code **)(pcVar23 + -0x60fc))();\n      iVar5 = (**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13);\n      pwVar14 = (word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2));\n      unaff_s4 = *(word **)(pcStack_230 + -0x7fd4);\n      (**(code **)(pcStack_230 + -0x6074))(pwVar14,*(undefined4 *)(unaff_s4 + -0x1fec));\n      unaff_s5 = unaff_s3;\n      if (*(byte *)((int)unaff_s3 + *(int *)(unaff_s4 + -0x1fec) + -1) != 0x2f) {\n        unaff_s5 = (word *)((int)unaff_s3 + 1);\n        unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);\n        *(byte *)unaff_s3 = 0x2f;\n        *(byte *)((int)pwVar14 + (int)unaff_s5) = 0;\n      }\n    }\n    (**(code **)(pcStack_230 + -0x6074))((byte *)((int)pwVar14 + (int)unaff_s5),pwVar16);\n  }\n  pcVar23 = pcStack_230;\n  if (pwVar18 != pwVar16) {\n    (**(code **)(pcStack_230 + -0x798c))(pwVar16);\n    pcVar23 = pcStack_230;\n  }\nLAB_000fbca4:\n  if (iStack_1e4 == **(int **)(pcVar23 + -0x5fb4)) {\n    return pwVar14;\n  }\n  pcVar23 = *(code **)(pcVar23 + -0x6004);\n  pcVar25 = FUN_000fc42c;\n  iVar5 = iStack_1e4;\n  (*pcVar23)();\n  pcStack_280 = pcVar23 + 0x62114;\n  aiStack_278[3] = **(int **)(pcVar23 + 0x5c160);\n  pwStack_268 = pwVar16;\n  pwStack_264 = pwVar18;\n  pwStack_260 = pwVar14;\n  pwStack_25c = unaff_s3;\n  pwStack_258 = unaff_s4;\n  pwStack_254 = unaff_s5;\n  pwStack_250 = unaff_s6;\n  pwStack_24c = unaff_s7;\n  ppbStack_248 = unaff_s8;\n  pcStack_244 = pcVar25;\n  iVar10 = (**(code **)(pcVar23 + 0x5c018))();\n  aiStack_278[1] = 0;\n  aiStack_278[2] = 0;\n  pwVar16 = (word *)0x0;\n  iVar13 = 0;\n  pcVar23 = pcStack_280;\n  while( true ) {\n    pwVar14 = (word *)(iVar5 + iVar13);\n    bVar2 = *(byte *)pwVar14;\n    iVar17 = iVar13;\n    if (bVar2 == 0) break;\n    if ((bVar2 < 0x20) || (bVar2 == 0x7f)) {\n      pwVar16 = pwVar16 + 1;\n      iVar13 = iVar13 + 1;\n    }\n    else {\n      pwVar15 = (word *)((iVar10 + 1) - iVar13);\n      iVar11 = (**(code **)(pcVar23 + -0x6084))(aiStack_278,pwVar14,pwVar15,aiStack_278 + 1);\n      pcVar23 = pcStack_280;\n      if (iVar11 + 2U < 2) {\n        pwVar16 = (word *)((int)pwVar16 + 1);\n        iVar13 = iVar13 + 1;\n        aiStack_278[1] = 0;\n        aiStack_278[2] = 0;\n      }\n      else {\n        iVar17 = iVar13 + iVar11;\n        if (iVar11 == 0) break;\n        if (aiStack_278[0] < 0x40) {\n          iVar13 = 1;\n          if (aiStack_278[0] < 0x25) {\n            if (3 < aiStack_278[0] - 0x20U) {\n              pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n              goto LAB_000fc594;\n            }\n            iVar13 = 1;\n          }\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n          if (aiStack_278[0] < 0x41) {\nLAB_000fc594:\n            iVar13 = (*pcVar23)();\n          }\n          else {\n            iVar13 = 1;\n            if (0x5f < aiStack_278[0]) {\n              if (0x1d < aiStack_278[0] - 0x61U) goto LAB_000fc594;\n              iVar13 = 1;\n            }\n          }\n        }\n        if (iVar13 < 0) {\n          iVar13 = 1;\n        }\n        pwVar16 = (word *)((int)pwVar16 + iVar13);\n        iVar13 = iVar17;\n        pcVar23 = pcStack_280;\n      }\n    }\n  }\n  if (aiStack_278[3] == **(int **)(pcVar23 + -0x5fb4)) {\n    return pwVar16;\n  }\n  pcVar23 = *(code **)(pcVar23 + -0x6004);\n  pcVar25 = FUN_000fc5fc;\n  iVar11 = aiStack_278[3];\n  (*pcVar23)();\n  pcStack_2e0 = pcVar23 + 0x61f44;\n  uStack_2a4 = 1;\n  uStack_2a8 = 0x7f;\n  pbStack_2bc = (byte *)**(undefined4 **)(pcVar23 + 0x5bf90);\n  pwVar18 = pwVar14;\n  pwStack_2cc = pwVar15;\n  iStack_2b8 = iVar17;\n  pwStack_2b4 = pwVar16;\n  iStack_2b0 = iVar13;\n  iStack_2ac = iVar5;\n  piStack_2a0 = aiStack_278 + 1;\n  piStack_29c = aiStack_278;\n  iStack_298 = iVar10 + 1;\n  pcStack_294 = pcVar25;\n  iVar5 = (**(code **)(pcVar23 + 0x5be48))();\n  iStack_2d4 = iVar11 + iVar5 + 1;\n  aiStack_2c8[1] = 0;\n  aiStack_2c8[2] = 0;\n  if ((**(int **)(pcStack_2e0 + -0x65a0) < 1) || ((int)pwVar14 < iVar5)) {\n    if (**(int **)(pcStack_2e0 + -0x67a8) == 0) goto LAB_000fc714;\n    if ((pwVar14 == (word *)0x0) || (**(int **)(pcStack_2e0 + -0x67a4) < 1)) goto LAB_000fc6f0;\n    if (0 < **(int **)(pcStack_2e0 + -0x65a0)) goto LAB_000fc750;\n    pcVar23 = *(code **)(pcStack_2e0 + -0x659c);\n    pwVar6 = pwVar14;\nLAB_000fc6c0:\n    (*pcVar23)();\n    (**(code **)(pcStack_2e0 + -0x6598))();\n    pwVar20 = (word *)0x0;\n    pwVar14 = (word *)0x0;\n  }\n  else if (**(int **)(pcStack_2e0 + -0x67a8) == 0) {\n    pwVar14 = (word *)0x0;\n    pwVar20 = (word *)0x0;\n    pwVar6 = (word *)0x0;\n  }\n  else {\n    pwVar14 = (word *)0x0;\nLAB_000fc6f0:\n    (**(code **)(pcStack_2e0 + -0x659c))();\n    (**(code **)(pcStack_2e0 + -0x6594))(pwStack_2cc);\nLAB_000fc714:\n    pwVar6 = pwVar14;\n    if (pwVar14 == (word *)0x0) {\n      pwVar20 = (word *)0x0;\n    }\n    else if (**(int **)(pcStack_2e0 + -0x65a0) < 1) {\n      pcVar23 = *(code **)(pcStack_2e0 + -0x659c);\n      if (0 < **(int **)(pcStack_2e0 + -0x67a4)) goto LAB_000fc6c0;\n      pwVar6 = (word *)0x0;\n      pwVar20 = (word *)0x0;\n    }\n    else {\nLAB_000fc750:\n      pwVar16 = (word *)0x2e;\n      if (*(byte *)((int)pwVar14 + iVar11) == 0x2e) {\n        pwVar16 = (word *)0x5f;\n      }\n      puVar21 = *(undefined4 **)(pcStack_2e0 + -0x6ef0);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16);\n      pwVar20 = (word *)0x3;\n      pwVar6 = (word *)0x0;\n    }\n  }\n  pwVar14 = (word *)((int)pwVar14 + iVar11);\n  puVar21 = *(undefined4 **)(pcStack_2e0 + -0x6ef0);\n  iStack_2d0 = *(int *)(pcStack_2e0 + -26000) + 0xb8;\n  while (bVar2 = *(byte *)pwVar14, bVar2 != 0) {\n    if (bVar2 < 0x20) {\n      (**(code **)(pcStack_2e0 + -0x61f0))(0x5e,*puVar21);\n      pwVar16 = (word *)((int)(char)*(byte *)pwVar14 | 0x40);\n      pbVar24 = (byte *)(*(byte *)pwVar14 | 0x40);\n      if ((word *)pbVar24 == pwVar16) {\n        piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x6290))();\n        if ((*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 2) != 0) {\n          piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x5f10))();\n          pwVar16 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n        }\n      }\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16);\n      pwVar20 = pwVar20 + 1;\n      pwVar14 = (word *)((int)pwVar14 + 1);\n      aiStack_2c8[1] = 0;\n      aiStack_2c8[2] = 0;\n    }\n    else if (bVar2 == 0x7f) {\n      (**(code **)(pcStack_2e0 + -0x61f0))(0x5e,*puVar21);\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(0x3f);\n      pwVar20 = pwVar20 + 1;\n      pwVar14 = (word *)((int)pwVar14 + 1);\n      aiStack_2c8[1] = 0;\n      aiStack_2c8[2] = 0;\n    }\n    else {\n      pwVar15 = (word *)(iStack_2d4 - (int)pwVar14);\n      pwVar18 = pwVar14;\n      pwVar16 = (word *)(**(code **)(pcStack_2e0 + -0x6084))(aiStack_2c8,pwVar14,pwVar15);\n      iVar5 = 1;\n      if (pwVar16 + 1 < (word *)0x2) {\n        aiStack_2c8[1] = 0;\n        aiStack_2c8[2] = 0;\n        pwVar16 = (word *)0x1;\n      }\n      else {\n        if (pwVar16 == (word *)0x0) break;\n        if (aiStack_2c8[0] < 0x40) {\n          if (aiStack_2c8[0] < 0x25) {\n            pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n            if (3 < aiStack_2c8[0] - 0x20U) goto LAB_000fc9c0;\n          }\n          else {\n            iVar5 = 1;\n          }\n        }\n        else if (aiStack_2c8[0] < 0x41) {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\nLAB_000fc9c0:\n          iVar5 = (*pcVar23)();\n        }\n        else if (aiStack_2c8[0] < 0x60) {\n          iVar5 = 1;\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n          if (0x1d < aiStack_2c8[0] - 0x61U) goto LAB_000fc9c0;\n          iVar5 = 1;\n        }\n        if (iVar5 < 0) {\n          iVar5 = 1;\n        }\n      }\n      pwVar18 = (word *)0x1;\n      pwVar15 = pwVar16;\n      (**(code **)(pcStack_2e0 + -0x6054))(pwVar14,1,pwVar16,*puVar21);\n      pwVar14 = (word *)((int)pwVar14 + (int)pwVar16);\n      pwVar20 = (word *)((int)pwVar20 + iVar5);\n    }\n    if ((0 < (int)pwVar6) && ((int)pwVar6 <= (int)pwVar14 - iVar11)) {\n      (**(code **)(pcStack_2e0 + -0x658c))();\n      (**(code **)(pcStack_2e0 + -0x6588))(iStack_2d0);\n      pwVar6 = (word *)**(undefined4 **)(pcStack_2e0 + -0x67a8);\n      if (pwVar6 != (word *)0x0) {\n        (**(code **)(pcStack_2e0 + -0x659c))();\n        (**(code **)(pcStack_2e0 + -0x6594))(pwStack_2cc);\n        pwVar6 = (word *)0x0;\n      }\n    }\n  }\n  if (**(int **)(pcStack_2e0 + -0x67a8) != 0) {\n    (**(code **)(pcStack_2e0 + -0x658c))();\n    (**(code **)(pcStack_2e0 + -0x6588))(*(int *)(pcStack_2e0 + -26000) + 0xb8);\n  }\n  if (pbStack_2bc == (byte *)**(undefined4 **)(pcStack_2e0 + -0x5fb4)) {\n    return pwVar20;\n  }\n  pcVar23 = *(code **)(pcStack_2e0 + -0x6004);\n  pcVar25 = FUN_000fcae4;\n  pbVar24 = pbStack_2bc;\n  (*pcVar23)();\n  iStack_314 = **(int **)(pcVar23 + 0x5baa8);\n  pwStack_310 = pwVar14;\n  pwStack_30c = pwVar16;\n  pwStack_308 = pwVar20;\n  pwStack_304 = pwVar6;\n  piStack_300 = aiStack_2c8 + 1;\n  puStack_2fc = puVar21;\n  iStack_2f8 = iVar11;\n  pcStack_2f4 = pcVar25;\n  if ((**(int **)(pcVar23 + 0x5b2b4) == 0) ||\n     (piVar9 = *(int **)(pcVar23 + 0x5b4d8), **(int **)(pcVar23 + 0x5ab50) == 0)) {\n    pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,pbVar24);\n    piVar9 = *(int **)(pcVar23 + 0x5b4d8);\n    if (**(int **)(pcVar23 + 0x5ab50) == 0) goto LAB_000fcb84;\n  }\n  if ((*piVar9 == 0 && **(int **)(pcVar23 + 0x5b2b4) == 0) && **(int **)(pcVar23 + 0x5b49c) == 0)\n  goto LAB_000fcb84;\n  if ((word *)pbVar24 == pwVar18) {\n    iStack_31c = (**(code **)(pcVar23 + 0x5a028))(pwVar18);\n    if (**(int **)(pcVar23 + 0x5b4d8) != 0) {\n      iVar5 = FUN_000f9fd0(iStack_31c);\n      if (**(int **)(pcVar23 + 0x5b2b4) != 0) goto LAB_000fcf40;\n      goto LAB_000fcddc;\n    }\n    if (**(int **)(pcVar23 + 0x5b49c) == 0) {\n      piVar9 = *(int **)(pcVar23 + 0x5b2b4);\nLAB_000fcef0:\n      iVar5 = 0;\n      if (*piVar9 == 0) {\n        (**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);\n        goto LAB_000fcb84;\n      }\nLAB_000fcf40:\n      pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,iStack_31c);\n      goto LAB_000fcddc;\n    }\n    iVar5 = FUN_000fa188(iStack_31c);\n    piVar9 = *(int **)(pcVar23 + 0x5b2b4);\n    if (iVar5 == 0) goto LAB_000fcef0;\n    if (*piVar9 != 0) {\n      iVar5 = 0x2f;\n      goto LAB_000fcf40;\n    }\n    (**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);\n    iVar5 = 0x2f;\n  }\n  else {\n    bVar2 = pbVar24[-1];\n    pbVar24[-1] = 0;\n    if ((pwVar18 == (word *)0x0) || (*(byte *)pwVar18 == 0)) {\n      pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);\n    }\n    else {\n      pwStack_318 = pwVar18;\n      if (*(byte *)pwVar18 == 0x2f) {\n        if ((byte)*pwVar18 == 0) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59acc) + -0x794);\n        }\n        else if (((byte)*pwVar18 == 0x2f) && (*(byte *)(pwVar18 + 1) == 0)) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);\n        }\n      }\n    }\n    iStack_31c = (**(code **)(pcVar23 + 0x5a028))(pwStack_318);\n    if ((code *)**(undefined4 **)(pcVar23 + 0x5ab20) != (code *)0x0) {\n      (*(code *)**(undefined4 **)(pcVar23 + 0x5ab20))(&iStack_31c);\n    }\n    iVar5 = (**(code **)(pcVar23 + 0x5b960))(iStack_31c);\n    iVar13 = (**(code **)(pcVar23 + 0x5b960))(pbVar24);\n    pwVar16 = (word *)(**(code **)(pcVar23 + 0x59ad4))(iVar13 + iVar5 + 2);\n    (**(code **)(pcVar23 + 0x5b9e8))(pwVar16,iStack_31c);\n    if (*(char *)(iStack_31c + iVar5 + -1) == '/') {\n      iVar5 = iVar5 + -1;\n    }\n    else {\n      *(byte *)((int)pwVar16 + iVar5) = 0x2f;\n    }\n    (**(code **)(pcVar23 + 0x5b9e8))((byte *)((int)pwVar16 + iVar5 + 1),pbVar24);\n    if (**(int **)(pcVar23 + 0x5b4d8) == 0) {\n      iVar5 = **(int **)(pcVar23 + 0x5b49c);\n      piVar9 = *(int **)(pcVar23 + 0x5b2b4);\n      if (iVar5 != 0) {\n        pwStack_318 = (word *)0x0;\n        if ((**(int **)(pcVar23 + 0x5ab20) == 0) && (**(int **)(pcVar23 + 0x5ac70) != 0)) {\n          iVar5 = (**(code **)(pcVar23 + 0x5b960))(pwVar16);\n          uVar7 = (**(code **)(pcVar23 + 0x59ad4))(iVar5 + 1);\n          pwStack_318 = (word *)(**(code **)(pcVar23 + 0x5b9e8))(uVar7,pwVar16);\n          (*(code *)**(undefined4 **)(pcVar23 + 0x5ac70))(&pwStack_318);\n          (**(code **)(pcVar23 + 0x5a0d0))(pwVar16);\n          pwVar16 = pwStack_318;\n        }\n        iVar5 = FUN_000fa188(pwVar16);\n        if (iVar5 != 0) {\n          iVar5 = 0x2f;\n        }\n        goto LAB_000fcdb0;\n      }\n    }\n    else {\n      iVar5 = FUN_000f9fd0(pwVar16);\nLAB_000fcdb0:\n      piVar9 = *(int **)(pcVar23 + 0x5b2b4);\n    }\n    if (*piVar9 != 0) {\n      pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,pwVar16);\n    }\n    (**(code **)(pcVar23 + 0x5a0d0))(pwVar16);\n    pbVar24[-1] = bVar2;\nLAB_000fcddc:\n    (**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);\n    if (iVar5 == 0) goto LAB_000fcb84;\n  }\n  (**(code **)(pcVar23 + 0x5b86c))(iVar5,**(undefined4 **)(pcVar23 + 0x5ab6c));\n  pwVar6 = (word *)((int)pwVar6 + 1);\nLAB_000fcb84:\n  if (iStack_314 == **(int **)(pcVar23 + 0x5baa8)) {\n    return pwVar6;\n  }\n  pcVar23 = *(code **)(pcVar23 + 0x5ba58);\n  (*pcVar23)();\n  if ((**(int **)(pcVar23 + 0x5a67c) == iStack_314) &&\n     (*(int *)(*(int *)(pcVar23 + 0x595b0) + -0x3fb8) == 0)) {\n    return (word *)0x3f;\n  }\n  if (**(int **)(pcVar23 + 0x5b004) == 0) {\n    pwVar16 = (word *)&DAT_00000009;\n    if (**(int **)(pcVar23 + 0x5b008) != 0) {\n      pwVar16 = (word *)0x40;\n    }\n    return pwVar16;\n  }\n  return (word *)&DAT_00000021;\n}" ({ "{") (declaration "char cVar1;" (primitive_type "char") (identifier "cVar1") (; ";")) (declaration "byte bVar2;" (type_identifier "byte") (identifier "bVar2") (; ";")) (declaration "bool bVar3;" (primitive_type "bool") (identifier "bVar3") (; ";")) (declaration "uint uVar4;" (type_identifier "uint") (identifier "uVar4") (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "word *pwVar6;" (type_identifier "word") (pointer_declarator "*pwVar6" (* "*") (identifier "pwVar6")) (; ";")) (declaration "undefined4 uVar7;" (type_identifier "undefined4") (identifier "uVar7") (; ";")) (declaration "undefined1 *puVar8;" (type_identifier "undefined1") (pointer_declarator "*puVar8" (* "*") (identifier "puVar8")) (; ";")) (declaration "int *piVar9;" (primitive_type "int") (pointer_declarator "*piVar9" (* "*") (identifier "piVar9")) (; ";")) (declaration "int iVar10;" (primitive_type "int") (identifier "iVar10") (; ";")) (declaration "int iVar11;" (primitive_type "int") (identifier "iVar11") (; ";")) (declaration "byte *pbVar12;" (type_identifier "byte") (pointer_declarator "*pbVar12" (* "*") (identifier "pbVar12")) (; ";")) (declaration "int iVar13;" (primitive_type "int") (identifier "iVar13") (; ";")) (declaration "word *pwVar14;" (type_identifier "word") (pointer_declarator "*pwVar14" (* "*") (identifier "pwVar14")) (; ";")) (declaration "word *pwVar15;" (type_identifier "word") (pointer_declarator "*pwVar15" (* "*") (identifier "pwVar15")) (; ";")) (declaration "word *pwVar16;" (type_identifier "word") (pointer_declarator "*pwVar16" (* "*") (identifier "pwVar16")) (; ";")) (declaration "int iVar17;" (primitive_type "int") (identifier "iVar17") (; ";")) (declaration "word *pwVar18;" (type_identifier "word") (pointer_declarator "*pwVar18" (* "*") (identifier "pwVar18")) (; ";")) (declaration "word *unaff_s2;" (type_identifier "word") (pointer_declarator "*unaff_s2" (* "*") (identifier "unaff_s2")) (; ";")) (declaration "char *pcVar19;" (primitive_type "char") (pointer_declarator "*pcVar19" (* "*") (identifier "pcVar19")) (; ";")) (declaration "word *pwVar20;" (type_identifier "word") (pointer_declarator "*pwVar20" (* "*") (identifier "pwVar20")) (; ";")) (declaration "word *unaff_s3;" (type_identifier "word") (pointer_declarator "*unaff_s3" (* "*") (identifier "unaff_s3")) (; ";")) (declaration "word *unaff_s4;" (type_identifier "word") (pointer_declarator "*unaff_s4" (* "*") (identifier "unaff_s4")) (; ";")) (declaration "word *unaff_s5;" (type_identifier "word") (pointer_declarator "*unaff_s5" (* "*") (identifier "unaff_s5")) (; ";")) (declaration "undefined4 *puVar21;" (type_identifier "undefined4") (pointer_declarator "*puVar21" (* "*") (identifier "puVar21")) (; ";")) (declaration "word *unaff_s6;" (type_identifier "word") (pointer_declarator "*unaff_s6" (* "*") (identifier "unaff_s6")) (; ";")) (declaration "word *unaff_s7;" (type_identifier "word") (pointer_declarator "*unaff_s7" (* "*") (identifier "unaff_s7")) (; ";")) (declaration "undefined *puVar22;" (type_identifier "undefined") (pointer_declarator "*puVar22" (* "*") (identifier "puVar22")) (; ";")) (declaration "code *pcVar23;" (type_identifier "code") (pointer_declarator "*pcVar23" (* "*") (identifier "pcVar23")) (; ";")) (declaration "byte **unaff_s8;" (type_identifier "byte") (pointer_declarator "**unaff_s8" (* "*") (pointer_declarator "*unaff_s8" (* "*") (identifier "unaff_s8"))) (; ";")) (declaration "byte *pbVar24;" (type_identifier "byte") (pointer_declarator "*pbVar24" (* "*") (identifier "pbVar24")) (; ";")) (declaration "code *pcVar25;" (type_identifier "code") (pointer_declarator "*pcVar25" (* "*") (identifier "pcVar25")) (; ";")) (declaration "int iStack_31c;" (primitive_type "int") (identifier "iStack_31c") (; ";")) (declaration "word *pwStack_318;" (type_identifier "word") (pointer_declarator "*pwStack_318" (* "*") (identifier "pwStack_318")) (; ";")) (declaration "int iStack_314;" (primitive_type "int") (identifier "iStack_314") (; ";")) (declaration "word *pwStack_310;" (type_identifier "word") (pointer_declarator "*pwStack_310" (* "*") (identifier "pwStack_310")) (; ";")) (declaration "word *pwStack_30c;" (type_identifier "word") (pointer_declarator "*pwStack_30c" (* "*") (identifier "pwStack_30c")) (; ";")) (declaration "word *pwStack_308;" (type_identifier "word") (pointer_declarator "*pwStack_308" (* "*") (identifier "pwStack_308")) (; ";")) (declaration "word *pwStack_304;" (type_identifier "word") (pointer_declarator "*pwStack_304" (* "*") (identifier "pwStack_304")) (; ";")) (declaration "int *piStack_300;" (primitive_type "int") (pointer_declarator "*piStack_300" (* "*") (identifier "piStack_300")) (; ";")) (declaration "undefined4 *puStack_2fc;" (type_identifier "undefined4") (pointer_declarator "*puStack_2fc" (* "*") (identifier "puStack_2fc")) (; ";")) (declaration "int iStack_2f8;" (primitive_type "int") (identifier "iStack_2f8") (; ";")) (declaration "code *pcStack_2f4;" (type_identifier "code") (pointer_declarator "*pcStack_2f4" (* "*") (identifier "pcStack_2f4")) (; ";")) (declaration "code *pcStack_2e0;" (type_identifier "code") (pointer_declarator "*pcStack_2e0" (* "*") (identifier "pcStack_2e0")) (; ";")) (declaration "int iStack_2d4;" (primitive_type "int") (identifier "iStack_2d4") (; ";")) (declaration "int iStack_2d0;" (primitive_type "int") (identifier "iStack_2d0") (; ";")) (declaration "word *pwStack_2cc;" (type_identifier "word") (pointer_declarator "*pwStack_2cc" (* "*") (identifier "pwStack_2cc")) (; ";")) (declaration "int aiStack_2c8 [3];" (primitive_type "int") (array_declarator "aiStack_2c8 [3]" (identifier "aiStack_2c8") ([ "[") (number_literal "3") (] "]")) (; ";")) (declaration "byte *pbStack_2bc;" (type_identifier "byte") (pointer_declarator "*pbStack_2bc" (* "*") (identifier "pbStack_2bc")) (; ";")) (declaration "int iStack_2b8;" (primitive_type "int") (identifier "iStack_2b8") (; ";")) (declaration "word *pwStack_2b4;" (type_identifier "word") (pointer_declarator "*pwStack_2b4" (* "*") (identifier "pwStack_2b4")) (; ";")) (declaration "int iStack_2b0;" (primitive_type "int") (identifier "iStack_2b0") (; ";")) (declaration "int iStack_2ac;" (primitive_type "int") (identifier "iStack_2ac") (; ";")) (declaration "undefined4 uStack_2a8;" (type_identifier "undefined4") (identifier "uStack_2a8") (; ";")) (declaration "undefined4 uStack_2a4;" (type_identifier "undefined4") (identifier "uStack_2a4") (; ";")) (declaration "int *piStack_2a0;" (primitive_type "int") (pointer_declarator "*piStack_2a0" (* "*") (identifier "piStack_2a0")) (; ";")) (declaration "int *piStack_29c;" (primitive_type "int") (pointer_declarator "*piStack_29c" (* "*") (identifier "piStack_29c")) (; ";")) (declaration "int iStack_298;" (primitive_type "int") (identifier "iStack_298") (; ";")) (declaration "code *pcStack_294;" (type_identifier "code") (pointer_declarator "*pcStack_294" (* "*") (identifier "pcStack_294")) (; ";")) (declaration "code *pcStack_280;" (type_identifier "code") (pointer_declarator "*pcStack_280" (* "*") (identifier "pcStack_280")) (; ";")) (declaration "int aiStack_278 [4];" (primitive_type "int") (array_declarator "aiStack_278 [4]" (identifier "aiStack_278") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "word *pwStack_268;" (type_identifier "word") (pointer_declarator "*pwStack_268" (* "*") (identifier "pwStack_268")) (; ";")) (declaration "word *pwStack_264;" (type_identifier "word") (pointer_declarator "*pwStack_264" (* "*") (identifier "pwStack_264")) (; ";")) (declaration "word *pwStack_260;" (type_identifier "word") (pointer_declarator "*pwStack_260" (* "*") (identifier "pwStack_260")) (; ";")) (declaration "word *pwStack_25c;" (type_identifier "word") (pointer_declarator "*pwStack_25c" (* "*") (identifier "pwStack_25c")) (; ";")) (declaration "word *pwStack_258;" (type_identifier "word") (pointer_declarator "*pwStack_258" (* "*") (identifier "pwStack_258")) (; ";")) (declaration "word *pwStack_254;" (type_identifier "word") (pointer_declarator "*pwStack_254" (* "*") (identifier "pwStack_254")) (; ";")) (declaration "word *pwStack_250;" (type_identifier "word") (pointer_declarator "*pwStack_250" (* "*") (identifier "pwStack_250")) (; ";")) (declaration "word *pwStack_24c;" (type_identifier "word") (pointer_declarator "*pwStack_24c" (* "*") (identifier "pwStack_24c")) (; ";")) (declaration "byte **ppbStack_248;" (type_identifier "byte") (pointer_declarator "**ppbStack_248" (* "*") (pointer_declarator "*ppbStack_248" (* "*") (identifier "ppbStack_248"))) (; ";")) (declaration "code *pcStack_244;" (type_identifier "code") (pointer_declarator "*pcStack_244" (* "*") (identifier "pcStack_244")) (; ";")) (declaration "code *pcStack_230;" (type_identifier "code") (pointer_declarator "*pcStack_230" (* "*") (identifier "pcStack_230")) (; ";")) (declaration "byte *pbStack_228;" (type_identifier "byte") (pointer_declarator "*pbStack_228" (* "*") (identifier "pbStack_228")) (; ";")) (declaration "int iStack_224;" (primitive_type "int") (identifier "iStack_224") (; ";")) (declaration "undefined4 *puStack_220;" (type_identifier "undefined4") (pointer_declarator "*puStack_220" (* "*") (identifier "puStack_220")) (; ";")) (declaration "int iStack_21c;" (primitive_type "int") (identifier "iStack_21c") (; ";")) (declaration "int iStack_218;" (primitive_type "int") (identifier "iStack_218") (; ";")) (declaration "word *pwStack_214;" (type_identifier "word") (pointer_declarator "*pwStack_214" (* "*") (identifier "pwStack_214")) (; ";")) (declaration "word *pwStack_210;" (type_identifier "word") (pointer_declarator "*pwStack_210" (* "*") (identifier "pwStack_210")) (; ";")) (declaration "int *piStack_20c;" (primitive_type "int") (pointer_declarator "*piStack_20c" (* "*") (identifier "piStack_20c")) (; ";")) (declaration "word *pwStack_208;" (type_identifier "word") (pointer_declarator "*pwStack_208" (* "*") (identifier "pwStack_208")) (; ";")) (declaration "int iStack_204;" (primitive_type "int") (identifier "iStack_204") (; ";")) (declaration "int iStack_1fc;" (primitive_type "int") (identifier "iStack_1fc") (; ";")) (declaration "int iStack_1f8;" (primitive_type "int") (identifier "iStack_1f8") (; ";")) (declaration "byte *pbStack_1f4;" (type_identifier "byte") (pointer_declarator "*pbStack_1f4" (* "*") (identifier "pbStack_1f4")) (; ";")) (declaration "undefined4 uStack_1f0;" (type_identifier "undefined4") (identifier "uStack_1f0") (; ";")) (declaration "undefined4 uStack_1ec;" (type_identifier "undefined4") (identifier "uStack_1ec") (; ";")) (declaration "undefined4 uStack_1e8;" (type_identifier "undefined4") (identifier "uStack_1e8") (; ";")) (declaration "int iStack_1e4;" (primitive_type "int") (identifier "iStack_1e4") (; ";")) (declaration "word *pwStack_1e0;" (type_identifier "word") (pointer_declarator "*pwStack_1e0" (* "*") (identifier "pwStack_1e0")) (; ";")) (declaration "word *pwStack_1dc;" (type_identifier "word") (pointer_declarator "*pwStack_1dc" (* "*") (identifier "pwStack_1dc")) (; ";")) (declaration "undefined4 *puStack_1d8;" (type_identifier "undefined4") (pointer_declarator "*puStack_1d8" (* "*") (identifier "puStack_1d8")) (; ";")) (declaration "word *pwStack_1d4;" (type_identifier "word") (pointer_declarator "*pwStack_1d4" (* "*") (identifier "pwStack_1d4")) (; ";")) (declaration "word *pwStack_1d0;" (type_identifier "word") (pointer_declarator "*pwStack_1d0" (* "*") (identifier "pwStack_1d0")) (; ";")) (declaration "word *pwStack_1cc;" (type_identifier "word") (pointer_declarator "*pwStack_1cc" (* "*") (identifier "pwStack_1cc")) (; ";")) (declaration "word *pwStack_1c8;" (type_identifier "word") (pointer_declarator "*pwStack_1c8" (* "*") (identifier "pwStack_1c8")) (; ";")) (declaration "word *pwStack_1c4;" (type_identifier "word") (pointer_declarator "*pwStack_1c4" (* "*") (identifier "pwStack_1c4")) (; ";")) (declaration "byte **ppbStack_1c0;" (type_identifier "byte") (pointer_declarator "**ppbStack_1c0" (* "*") (pointer_declarator "*ppbStack_1c0" (* "*") (identifier "ppbStack_1c0"))) (; ";")) (declaration "code *pcStack_1bc;" (type_identifier "code") (pointer_declarator "*pcStack_1bc" (* "*") (identifier "pcStack_1bc")) (; ";")) (declaration "code *pcStack_1a8;" (type_identifier "code") (pointer_declarator "*pcStack_1a8" (* "*") (identifier "pcStack_1a8")) (; ";")) (declaration "undefined1 auStack_19d [9];" (type_identifier "undefined1") (array_declarator "auStack_19d [9]" (identifier "auStack_19d") ([ "[") (number_literal "9") (] "]")) (; ";")) (declaration "word *pwStack_194;" (type_identifier "word") (pointer_declarator "*pwStack_194" (* "*") (identifier "pwStack_194")) (; ";")) (declaration "byte *pbStack_190;" (type_identifier "byte") (pointer_declarator "*pbStack_190" (* "*") (identifier "pbStack_190")) (; ";")) (declaration "word *pwStack_18c;" (type_identifier "word") (pointer_declarator "*pwStack_18c" (* "*") (identifier "pwStack_18c")) (; ";")) (declaration "word *pwStack_188;" (type_identifier "word") (pointer_declarator "*pwStack_188" (* "*") (identifier "pwStack_188")) (; ";")) (declaration "word *pwStack_184;" (type_identifier "word") (pointer_declarator "*pwStack_184" (* "*") (identifier "pwStack_184")) (; ";")) (declaration "word *pwStack_180;" (type_identifier "word") (pointer_declarator "*pwStack_180" (* "*") (identifier "pwStack_180")) (; ";")) (declaration "word *pwStack_17c;" (type_identifier "word") (pointer_declarator "*pwStack_17c" (* "*") (identifier "pwStack_17c")) (; ";")) (declaration "word *pwStack_178;" (type_identifier "word") (pointer_declarator "*pwStack_178" (* "*") (identifier "pwStack_178")) (; ";")) (declaration "code *pcStack_174;" (type_identifier "code") (pointer_declarator "*pcStack_174" (* "*") (identifier "pcStack_174")) (; ";")) (declaration "word *pwStack_160;" (type_identifier "word") (pointer_declarator "*pwStack_160" (* "*") (identifier "pwStack_160")) (; ";")) (declaration "word *pwStack_15c;" (type_identifier "word") (pointer_declarator "*pwStack_15c" (* "*") (identifier "pwStack_15c")) (; ";")) (declaration "undefined *puStack_158;" (type_identifier "undefined") (pointer_declarator "*puStack_158" (* "*") (identifier "puStack_158")) (; ";")) (declaration "word *pwStack_14c;" (type_identifier "word") (pointer_declarator "*pwStack_14c" (* "*") (identifier "pwStack_14c")) (; ";")) (declaration "word *pwStack_148;" (type_identifier "word") (pointer_declarator "*pwStack_148" (* "*") (identifier "pwStack_148")) (; ";")) (declaration "word *pwStack_144;" (type_identifier "word") (pointer_declarator "*pwStack_144" (* "*") (identifier "pwStack_144")) (; ";")) (declaration "word *pwStack_140;" (type_identifier "word") (pointer_declarator "*pwStack_140" (* "*") (identifier "pwStack_140")) (; ";")) (declaration "word *pwStack_13c;" (type_identifier "word") (pointer_declarator "*pwStack_13c" (* "*") (identifier "pwStack_13c")) (; ";")) (declaration "uint uStack_138;" (type_identifier "uint") (identifier "uStack_138") (; ";")) (declaration "int *piStack_134;" (primitive_type "int") (pointer_declarator "*piStack_134" (* "*") (identifier "piStack_134")) (; ";")) (declaration "word *pwStack_130;" (type_identifier "word") (pointer_declarator "*pwStack_130" (* "*") (identifier "pwStack_130")) (; ";")) (declaration "int *piStack_12c;" (primitive_type "int") (pointer_declarator "*piStack_12c" (* "*") (identifier "piStack_12c")) (; ";")) (declaration "byte *pbStack_124;" (type_identifier "byte") (pointer_declarator "*pbStack_124" (* "*") (identifier "pbStack_124")) (; ";")) (declaration "byte *pbStack_120;" (type_identifier "byte") (pointer_declarator "*pbStack_120" (* "*") (identifier "pbStack_120")) (; ";")) (declaration "undefined4 uStack_11c;" (type_identifier "undefined4") (identifier "uStack_11c") (; ";")) (declaration "undefined4 uStack_118;" (type_identifier "undefined4") (identifier "uStack_118") (; ";")) (declaration "undefined4 uStack_114;" (type_identifier "undefined4") (identifier "uStack_114") (; ";")) (declaration "undefined4 uStack_110;" (type_identifier "undefined4") (identifier "uStack_110") (; ";")) (declaration "undefined4 uStack_10c;" (type_identifier "undefined4") (identifier "uStack_10c") (; ";")) (declaration "undefined4 uStack_108;" (type_identifier "undefined4") (identifier "uStack_108") (; ";")) (declaration "undefined4 *puStack_104;" (type_identifier "undefined4") (pointer_declarator "*puStack_104" (* "*") (identifier "puStack_104")) (; ";")) (declaration "word *pwStack_100;" (type_identifier "word") (pointer_declarator "*pwStack_100" (* "*") (identifier "pwStack_100")) (; ";")) (declaration "byte *pbStack_fc;" (type_identifier "byte") (pointer_declarator "*pbStack_fc" (* "*") (identifier "pbStack_fc")) (; ";")) (declaration "word *pwStack_f8;" (type_identifier "word") (pointer_declarator "*pwStack_f8" (* "*") (identifier "pwStack_f8")) (; ";")) (declaration "word *local_bc;" (type_identifier "word") (pointer_declarator "*local_bc" (* "*") (identifier "local_bc")) (; ";")) (declaration "word awStack_b8 [12];" (type_identifier "word") (array_declarator "awStack_b8 [12]" (identifier "awStack_b8") ([ "[") (number_literal "12") (] "]")) (; ";")) (declaration "uint local_a0;" (type_identifier "uint") (identifier "local_a0") (; ";")) (declaration "undefined1 local_18 [4];" (type_identifier "undefined1") (array_declarator "local_18 [4]" (identifier "local_18") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "int *local_14;" (primitive_type "int") (pointer_declarator "*local_14" (* "*") (identifier "local_14")) (; ";")) (expression_statement "local_14 = *(int **)PTR___stack_chk_guard_0015858c;" (assignment_expression "local_14 = *(int **)PTR___stack_chk_guard_0015858c" (identifier "local_14") (= "=") (pointer_expression "*(int **)PTR___stack_chk_guard_0015858c" (* "*") (cast_expression "(int **)PTR___stack_chk_guard_0015858c" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR___stack_chk_guard_0015858c")))) (; ";")) (if_statement "if (param_3 != 0) {\n    if (*(int *)PTR_rl_point_001575f0 == 0) {\n      param_3 = 0;\n    }\n    else if (*(int *)PTR_rl_completion_suppress_quote_00157618 == 0) {\n      if (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + *(int *)PTR_rl_point_001575f0 + -1) ==\n          param_3) {\n        param_3 = 0;\n      }\n      else {\n        local_18[0] = (undefined1)param_3;\n        param_3 = 1;\n      }\n    }\n    else {\n      param_3 = 0;\n    }\n  }" (if "if") (parenthesized_expression "(param_3 != 0)" (( "(") (binary_expression "param_3 != 0" (identifier "param_3") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    if (*(int *)PTR_rl_point_001575f0 == 0) {\n      param_3 = 0;\n    }\n    else if (*(int *)PTR_rl_completion_suppress_quote_00157618 == 0) {\n      if (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + *(int *)PTR_rl_point_001575f0 + -1) ==\n          param_3) {\n        param_3 = 0;\n      }\n      else {\n        local_18[0] = (undefined1)param_3;\n        param_3 = 1;\n      }\n    }\n    else {\n      param_3 = 0;\n    }\n  }" ({ "{") (if_statement "if (*(int *)PTR_rl_point_001575f0 == 0) {\n      param_3 = 0;\n    }\n    else if (*(int *)PTR_rl_completion_suppress_quote_00157618 == 0) {\n      if (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + *(int *)PTR_rl_point_001575f0 + -1) ==\n          param_3) {\n        param_3 = 0;\n      }\n      else {\n        local_18[0] = (undefined1)param_3;\n        param_3 = 1;\n      }\n    }\n    else {\n      param_3 = 0;\n    }" (if "if") (parenthesized_expression "(*(int *)PTR_rl_point_001575f0 == 0)" (( "(") (binary_expression "*(int *)PTR_rl_point_001575f0 == 0" (pointer_expression "*(int *)PTR_rl_point_001575f0" (* "*") (cast_expression "(int *)PTR_rl_point_001575f0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_rl_point_001575f0"))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      param_3 = 0;\n    }" ({ "{") (expression_statement "param_3 = 0;" (assignment_expression "param_3 = 0" (identifier "param_3") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else if (*(int *)PTR_rl_completion_suppress_quote_00157618 == 0) {\n      if (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + *(int *)PTR_rl_point_001575f0 + -1) ==\n          param_3) {\n        param_3 = 0;\n      }\n      else {\n        local_18[0] = (undefined1)param_3;\n        param_3 = 1;\n      }\n    }\n    else {\n      param_3 = 0;\n    }" (else "else") (if_statement "if (*(int *)PTR_rl_completion_suppress_quote_00157618 == 0) {\n      if (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + *(int *)PTR_rl_point_001575f0 + -1) ==\n          param_3) {\n        param_3 = 0;\n      }\n      else {\n        local_18[0] = (undefined1)param_3;\n        param_3 = 1;\n      }\n    }\n    else {\n      param_3 = 0;\n    }" (if "if") (parenthesized_expression "(*(int *)PTR_rl_completion_suppress_quote_00157618 == 0)" (( "(") (binary_expression "*(int *)PTR_rl_completion_suppress_quote_00157618 == 0" (pointer_expression "*(int *)PTR_rl_completion_suppress_quote_00157618" (* "*") (cast_expression "(int *)PTR_rl_completion_suppress_quote_00157618" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_rl_completion_suppress_quote_00157618"))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      if (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + *(int *)PTR_rl_point_001575f0 + -1) ==\n          param_3) {\n        param_3 = 0;\n      }\n      else {\n        local_18[0] = (undefined1)param_3;\n        param_3 = 1;\n      }\n    }" ({ "{") (if_statement "if (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + *(int *)PTR_rl_point_001575f0 + -1) ==\n          param_3) {\n        param_3 = 0;\n      }\n      else {\n        local_18[0] = (undefined1)param_3;\n        param_3 = 1;\n      }" (if "if") (parenthesized_expression "(*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + *(int *)PTR_rl_point_001575f0 + -1) ==\n          param_3)" (( "(") (binary_expression "*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + *(int *)PTR_rl_point_001575f0 + -1) ==\n          param_3" (pointer_expression "*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + *(int *)PTR_rl_point_001575f0 + -1)" (* "*") (cast_expression "(char *)(*(int *)PTR_rl_line_buffer_001575e8 + *(int *)PTR_rl_point_001575f0 + -1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)PTR_rl_line_buffer_001575e8 + *(int *)PTR_rl_point_001575f0 + -1)" (( "(") (binary_expression "*(int *)PTR_rl_line_buffer_001575e8 + *(int *)PTR_rl_point_001575f0 + -1" (binary_expression "*(int *)PTR_rl_line_buffer_001575e8 + *(int *)PTR_rl_point_001575f0" (pointer_expression "*(int *)PTR_rl_line_buffer_001575e8" (* "*") (cast_expression "(int *)PTR_rl_line_buffer_001575e8" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_rl_line_buffer_001575e8"))) (+ "+") (pointer_expression "*(int *)PTR_rl_point_001575f0" (* "*") (cast_expression "(int *)PTR_rl_point_001575f0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_rl_point_001575f0")))) (+ "+") (number_literal "-1")) () ")")))) (== "==") (identifier "param_3")) () ")")) (compound_statement "{\n        param_3 = 0;\n      }" ({ "{") (expression_statement "param_3 = 0;" (assignment_expression "param_3 = 0" (identifier "param_3") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n        local_18[0] = (undefined1)param_3;\n        param_3 = 1;\n      }" (else "else") (compound_statement "{\n        local_18[0] = (undefined1)param_3;\n        param_3 = 1;\n      }" ({ "{") (expression_statement "local_18[0] = (undefined1)param_3;" (assignment_expression "local_18[0] = (undefined1)param_3" (subscript_expression "local_18[0]" (identifier "local_18") ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(undefined1)param_3" (( "(") (type_descriptor "undefined1" (type_identifier "undefined1")) () ")") (identifier "param_3"))) (; ";")) (expression_statement "param_3 = 1;" (assignment_expression "param_3 = 1" (identifier "param_3") (= "=") (number_literal "1")) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n      param_3 = 0;\n    }" (else "else") (compound_statement "{\n      param_3 = 0;\n    }" ({ "{") (expression_statement "param_3 = 0;" (assignment_expression "param_3 = 0" (identifier "param_3") (= "=") (number_literal "0")) (; ";")) (} "}")))))) (} "}"))) (if_statement "if (param_2 == (word *)0x0) {\n    pwVar16 = (word *)(param_3 + 1);\n    if ((*(int *)PTR_rl_completion_suppress_append_00157624 == 0) &&\n       (*(int *)PTR_rl_completion_append_character_00157628 != 0)) {\n      local_18[param_3] = (char)*(int *)PTR_rl_completion_append_character_00157628;\n      goto LAB_000fa86c;\n    }\n  }\n  else {\n    local_18[param_3] = (char)param_2;\nLAB_000fa86c:\n    pwVar16 = (word *)(param_3 + 2);\n    param_3 = param_3 + 1;\n  }" (if "if") (parenthesized_expression "(param_2 == (word *)0x0)" (( "(") (binary_expression "param_2 == (word *)0x0" (identifier "param_2") (== "==") (cast_expression "(word *)0x0" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    pwVar16 = (word *)(param_3 + 1);\n    if ((*(int *)PTR_rl_completion_suppress_append_00157624 == 0) &&\n       (*(int *)PTR_rl_completion_append_character_00157628 != 0)) {\n      local_18[param_3] = (char)*(int *)PTR_rl_completion_append_character_00157628;\n      goto LAB_000fa86c;\n    }\n  }" ({ "{") (expression_statement "pwVar16 = (word *)(param_3 + 1);" (assignment_expression "pwVar16 = (word *)(param_3 + 1)" (identifier "pwVar16") (= "=") (cast_expression "(word *)(param_3 + 1)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 1)" (( "(") (binary_expression "param_3 + 1" (identifier "param_3") (+ "+") (number_literal "1")) () ")")))) (; ";")) (if_statement "if ((*(int *)PTR_rl_completion_suppress_append_00157624 == 0) &&\n       (*(int *)PTR_rl_completion_append_character_00157628 != 0)) {\n      local_18[param_3] = (char)*(int *)PTR_rl_completion_append_character_00157628;\n      goto LAB_000fa86c;\n    }" (if "if") (parenthesized_expression "((*(int *)PTR_rl_completion_suppress_append_00157624 == 0) &&\n       (*(int *)PTR_rl_completion_append_character_00157628 != 0))" (( "(") (binary_expression "(*(int *)PTR_rl_completion_suppress_append_00157624 == 0) &&\n       (*(int *)PTR_rl_completion_append_character_00157628 != 0)" (parenthesized_expression "(*(int *)PTR_rl_completion_suppress_append_00157624 == 0)" (( "(") (binary_expression "*(int *)PTR_rl_completion_suppress_append_00157624 == 0" (pointer_expression "*(int *)PTR_rl_completion_suppress_append_00157624" (* "*") (cast_expression "(int *)PTR_rl_completion_suppress_append_00157624" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_rl_completion_suppress_append_00157624"))) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*(int *)PTR_rl_completion_append_character_00157628 != 0)" (( "(") (binary_expression "*(int *)PTR_rl_completion_append_character_00157628 != 0" (pointer_expression "*(int *)PTR_rl_completion_append_character_00157628" (* "*") (cast_expression "(int *)PTR_rl_completion_append_character_00157628" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_rl_completion_append_character_00157628"))) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n      local_18[param_3] = (char)*(int *)PTR_rl_completion_append_character_00157628;\n      goto LAB_000fa86c;\n    }" ({ "{") (expression_statement "local_18[param_3] = (char)*(int *)PTR_rl_completion_append_character_00157628;" (assignment_expression "local_18[param_3] = (char)*(int *)PTR_rl_completion_append_character_00157628" (subscript_expression "local_18[param_3]" (identifier "local_18") ([ "[") (identifier "param_3") (] "]")) (= "=") (cast_expression "(char)*(int *)PTR_rl_completion_append_character_00157628" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (pointer_expression "*(int *)PTR_rl_completion_append_character_00157628" (* "*") (cast_expression "(int *)PTR_rl_completion_append_character_00157628" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_rl_completion_append_character_00157628"))))) (; ";")) (goto_statement "goto LAB_000fa86c;" (goto "goto") (statement_identifier "LAB_000fa86c") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    local_18[param_3] = (char)param_2;\nLAB_000fa86c:\n    pwVar16 = (word *)(param_3 + 2);\n    param_3 = param_3 + 1;\n  }" (else "else") (compound_statement "{\n    local_18[param_3] = (char)param_2;\nLAB_000fa86c:\n    pwVar16 = (word *)(param_3 + 2);\n    param_3 = param_3 + 1;\n  }" ({ "{") (expression_statement "local_18[param_3] = (char)param_2;" (assignment_expression "local_18[param_3] = (char)param_2" (subscript_expression "local_18[param_3]" (identifier "local_18") ([ "[") (identifier "param_3") (] "]")) (= "=") (cast_expression "(char)param_2" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "param_2"))) (; ";")) (labeled_statement "LAB_000fa86c:\n    pwVar16 = (word *)(param_3 + 2);" (statement_identifier "LAB_000fa86c") (: ":") (expression_statement "pwVar16 = (word *)(param_3 + 2);" (assignment_expression "pwVar16 = (word *)(param_3 + 2)" (identifier "pwVar16") (= "=") (cast_expression "(word *)(param_3 + 2)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_3 + 2)" (( "(") (binary_expression "param_3 + 2" (identifier "param_3") (+ "+") (number_literal "2")) () ")")))) (; ";"))) (expression_statement "param_3 = param_3 + 1;" (assignment_expression "param_3 = param_3 + 1" (identifier "param_3") (= "=") (binary_expression "param_3 + 1" (identifier "param_3") (+ "+") (number_literal "1"))) (; ";")) (} "}")))) (expression_statement "pwVar15 = (word *)(&stack0xfffffff0 + param_3);" (assignment_expression "pwVar15 = (word *)(&stack0xfffffff0 + param_3)" (identifier "pwVar15") (= "=") (cast_expression "(word *)(&stack0xfffffff0 + param_3)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&stack0xfffffff0 + param_3)" (( "(") (binary_expression "&stack0xfffffff0 + param_3" (pointer_expression "&stack0xfffffff0" (& "&") (identifier "stack0xfffffff0")) (+ "+") (identifier "param_3")) () ")")))) (; ";")) (expression_statement "local_18[param_3] = 0;" (assignment_expression "local_18[param_3] = 0" (subscript_expression "local_18[param_3]" (identifier "local_18") ([ "[") (identifier "param_3") (] "]")) (= "=") (number_literal "0")) (; ";")) (if_statement "if (*(int *)PTR_rl_filename_completion_desired_00157634 == 0) {\n    if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {\n      rl_insert_text(local_18);\n    }\n  }\n  else {\n    unaff_s2 = (word *)(*(code *)PTR_tilde_expand_00156b0c)();\n    if (*(int *)PTR_rl_filename_stat_hook_00157754 != 0) {\n      iVar5 = (*(code *)PTR_strlen_00158444)(unaff_s2);\n      uVar7 = (*(code *)PTR_xmalloc_001565b8)(iVar5 + 1);\n      local_bc = (word *)(*(code *)PTR_strcpy_001584cc)(uVar7,unaff_s2);\n      (**(code **)PTR_rl_filename_stat_hook_00157754)(&local_bc);\n      (*(code *)PTR_xfree_00156bb4)(unaff_s2);\n      unaff_s2 = local_bc;\n    }\n    param_2 = unaff_s2;\n    if ((param_4 == (byte *)0x0) ||\n       (pwVar15 = awStack_b8, *(int *)PTR_rl_completion_mark_symlink_dirs_001578a4 != 0)) {\n      pwVar15 = awStack_b8;\n      iVar5 = (*(code *)PTR___xstat64_001582e8)(3);\n    }\n    else {\n      iVar5 = (*(code *)PTR___lxstat64_001582c8)(3);\n    }\n    if (iVar5 == 0) {\n      if ((local_a0 & 0xf000) == 0x4000) {\n        if (*(int *)PTR__rl_complete_mark_directories_00157f80 != 0) {\n          iVar5 = *(int *)PTR_rl_point_001575f0;\n          if ((iVar5 == 0) || (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5) != '\0')) {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5);\n          }\n          else {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5 + -1);\n          }\n          if (cVar1 != '/') {\n            rl_insert_text(PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c);\n          }\n        }\n      }\n      else if (((local_a0 & 0xf000) != 0xa000) || (iVar5 = FUN_000fa188(unaff_s2), iVar5 == 0))\n      goto LAB_000fa9f0;\n    }\n    else {\nLAB_000fa9f0:\n      if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {\n        rl_insert_text(local_18);\n      }\n    }\n    (*(code *)PTR_xfree_00156bb4)(unaff_s2);\n  }" (if "if") (parenthesized_expression "(*(int *)PTR_rl_filename_completion_desired_00157634 == 0)" (( "(") (binary_expression "*(int *)PTR_rl_filename_completion_desired_00157634 == 0" (pointer_expression "*(int *)PTR_rl_filename_completion_desired_00157634" (* "*") (cast_expression "(int *)PTR_rl_filename_completion_desired_00157634" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_rl_filename_completion_desired_00157634"))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {\n      rl_insert_text(local_18);\n    }\n  }" ({ "{") (if_statement "if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {\n      rl_insert_text(local_18);\n    }" (if "if") (parenthesized_expression "(*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec)" (( "(") (binary_expression "*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec" (pointer_expression "*(int *)PTR_rl_point_001575f0" (* "*") (cast_expression "(int *)PTR_rl_point_001575f0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_rl_point_001575f0"))) (== "==") (pointer_expression "*(int *)PTR_rl_end_001575ec" (* "*") (cast_expression "(int *)PTR_rl_end_001575ec" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_rl_end_001575ec")))) () ")")) (compound_statement "{\n      rl_insert_text(local_18);\n    }" ({ "{") (expression_statement "rl_insert_text(local_18);" (call_expression "rl_insert_text(local_18)" (identifier "rl_insert_text") (argument_list "(local_18)" (( "(") (identifier "local_18") () ")"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    unaff_s2 = (word *)(*(code *)PTR_tilde_expand_00156b0c)();\n    if (*(int *)PTR_rl_filename_stat_hook_00157754 != 0) {\n      iVar5 = (*(code *)PTR_strlen_00158444)(unaff_s2);\n      uVar7 = (*(code *)PTR_xmalloc_001565b8)(iVar5 + 1);\n      local_bc = (word *)(*(code *)PTR_strcpy_001584cc)(uVar7,unaff_s2);\n      (**(code **)PTR_rl_filename_stat_hook_00157754)(&local_bc);\n      (*(code *)PTR_xfree_00156bb4)(unaff_s2);\n      unaff_s2 = local_bc;\n    }\n    param_2 = unaff_s2;\n    if ((param_4 == (byte *)0x0) ||\n       (pwVar15 = awStack_b8, *(int *)PTR_rl_completion_mark_symlink_dirs_001578a4 != 0)) {\n      pwVar15 = awStack_b8;\n      iVar5 = (*(code *)PTR___xstat64_001582e8)(3);\n    }\n    else {\n      iVar5 = (*(code *)PTR___lxstat64_001582c8)(3);\n    }\n    if (iVar5 == 0) {\n      if ((local_a0 & 0xf000) == 0x4000) {\n        if (*(int *)PTR__rl_complete_mark_directories_00157f80 != 0) {\n          iVar5 = *(int *)PTR_rl_point_001575f0;\n          if ((iVar5 == 0) || (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5) != '\0')) {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5);\n          }\n          else {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5 + -1);\n          }\n          if (cVar1 != '/') {\n            rl_insert_text(PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c);\n          }\n        }\n      }\n      else if (((local_a0 & 0xf000) != 0xa000) || (iVar5 = FUN_000fa188(unaff_s2), iVar5 == 0))\n      goto LAB_000fa9f0;\n    }\n    else {\nLAB_000fa9f0:\n      if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {\n        rl_insert_text(local_18);\n      }\n    }\n    (*(code *)PTR_xfree_00156bb4)(unaff_s2);\n  }" (else "else") (compound_statement "{\n    unaff_s2 = (word *)(*(code *)PTR_tilde_expand_00156b0c)();\n    if (*(int *)PTR_rl_filename_stat_hook_00157754 != 0) {\n      iVar5 = (*(code *)PTR_strlen_00158444)(unaff_s2);\n      uVar7 = (*(code *)PTR_xmalloc_001565b8)(iVar5 + 1);\n      local_bc = (word *)(*(code *)PTR_strcpy_001584cc)(uVar7,unaff_s2);\n      (**(code **)PTR_rl_filename_stat_hook_00157754)(&local_bc);\n      (*(code *)PTR_xfree_00156bb4)(unaff_s2);\n      unaff_s2 = local_bc;\n    }\n    param_2 = unaff_s2;\n    if ((param_4 == (byte *)0x0) ||\n       (pwVar15 = awStack_b8, *(int *)PTR_rl_completion_mark_symlink_dirs_001578a4 != 0)) {\n      pwVar15 = awStack_b8;\n      iVar5 = (*(code *)PTR___xstat64_001582e8)(3);\n    }\n    else {\n      iVar5 = (*(code *)PTR___lxstat64_001582c8)(3);\n    }\n    if (iVar5 == 0) {\n      if ((local_a0 & 0xf000) == 0x4000) {\n        if (*(int *)PTR__rl_complete_mark_directories_00157f80 != 0) {\n          iVar5 = *(int *)PTR_rl_point_001575f0;\n          if ((iVar5 == 0) || (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5) != '\0')) {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5);\n          }\n          else {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5 + -1);\n          }\n          if (cVar1 != '/') {\n            rl_insert_text(PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c);\n          }\n        }\n      }\n      else if (((local_a0 & 0xf000) != 0xa000) || (iVar5 = FUN_000fa188(unaff_s2), iVar5 == 0))\n      goto LAB_000fa9f0;\n    }\n    else {\nLAB_000fa9f0:\n      if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {\n        rl_insert_text(local_18);\n      }\n    }\n    (*(code *)PTR_xfree_00156bb4)(unaff_s2);\n  }" ({ "{") (expression_statement "unaff_s2 = (word *)(*(code *)PTR_tilde_expand_00156b0c)();" (assignment_expression "unaff_s2 = (word *)(*(code *)PTR_tilde_expand_00156b0c)()" (identifier "unaff_s2") (= "=") (cast_expression "(word *)(*(code *)PTR_tilde_expand_00156b0c)()" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_tilde_expand_00156b0c)()" (parenthesized_expression "(*(code *)PTR_tilde_expand_00156b0c)" (( "(") (pointer_expression "*(code *)PTR_tilde_expand_00156b0c" (* "*") (cast_expression "(code *)PTR_tilde_expand_00156b0c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_tilde_expand_00156b0c"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (if_statement "if (*(int *)PTR_rl_filename_stat_hook_00157754 != 0) {\n      iVar5 = (*(code *)PTR_strlen_00158444)(unaff_s2);\n      uVar7 = (*(code *)PTR_xmalloc_001565b8)(iVar5 + 1);\n      local_bc = (word *)(*(code *)PTR_strcpy_001584cc)(uVar7,unaff_s2);\n      (**(code **)PTR_rl_filename_stat_hook_00157754)(&local_bc);\n      (*(code *)PTR_xfree_00156bb4)(unaff_s2);\n      unaff_s2 = local_bc;\n    }" (if "if") (parenthesized_expression "(*(int *)PTR_rl_filename_stat_hook_00157754 != 0)" (( "(") (binary_expression "*(int *)PTR_rl_filename_stat_hook_00157754 != 0" (pointer_expression "*(int *)PTR_rl_filename_stat_hook_00157754" (* "*") (cast_expression "(int *)PTR_rl_filename_stat_hook_00157754" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_rl_filename_stat_hook_00157754"))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      iVar5 = (*(code *)PTR_strlen_00158444)(unaff_s2);\n      uVar7 = (*(code *)PTR_xmalloc_001565b8)(iVar5 + 1);\n      local_bc = (word *)(*(code *)PTR_strcpy_001584cc)(uVar7,unaff_s2);\n      (**(code **)PTR_rl_filename_stat_hook_00157754)(&local_bc);\n      (*(code *)PTR_xfree_00156bb4)(unaff_s2);\n      unaff_s2 = local_bc;\n    }" ({ "{") (expression_statement "iVar5 = (*(code *)PTR_strlen_00158444)(unaff_s2);" (assignment_expression "iVar5 = (*(code *)PTR_strlen_00158444)(unaff_s2)" (identifier "iVar5") (= "=") (call_expression "(*(code *)PTR_strlen_00158444)(unaff_s2)" (parenthesized_expression "(*(code *)PTR_strlen_00158444)" (( "(") (pointer_expression "*(code *)PTR_strlen_00158444" (* "*") (cast_expression "(code *)PTR_strlen_00158444" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_00158444"))) () ")")) (argument_list "(unaff_s2)" (( "(") (identifier "unaff_s2") () ")")))) (; ";")) (expression_statement "uVar7 = (*(code *)PTR_xmalloc_001565b8)(iVar5 + 1);" (assignment_expression "uVar7 = (*(code *)PTR_xmalloc_001565b8)(iVar5 + 1)" (identifier "uVar7") (= "=") (call_expression "(*(code *)PTR_xmalloc_001565b8)(iVar5 + 1)" (parenthesized_expression "(*(code *)PTR_xmalloc_001565b8)" (( "(") (pointer_expression "*(code *)PTR_xmalloc_001565b8" (* "*") (cast_expression "(code *)PTR_xmalloc_001565b8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_xmalloc_001565b8"))) () ")")) (argument_list "(iVar5 + 1)" (( "(") (binary_expression "iVar5 + 1" (identifier "iVar5") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "local_bc = (word *)(*(code *)PTR_strcpy_001584cc)(uVar7,unaff_s2);" (assignment_expression "local_bc = (word *)(*(code *)PTR_strcpy_001584cc)(uVar7,unaff_s2)" (identifier "local_bc") (= "=") (cast_expression "(word *)(*(code *)PTR_strcpy_001584cc)(uVar7,unaff_s2)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_strcpy_001584cc)(uVar7,unaff_s2)" (parenthesized_expression "(*(code *)PTR_strcpy_001584cc)" (( "(") (pointer_expression "*(code *)PTR_strcpy_001584cc" (* "*") (cast_expression "(code *)PTR_strcpy_001584cc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strcpy_001584cc"))) () ")")) (argument_list "(uVar7,unaff_s2)" (( "(") (identifier "uVar7") (, ",") (identifier "unaff_s2") () ")"))))) (; ";")) (expression_statement "(**(code **)PTR_rl_filename_stat_hook_00157754)(&local_bc);" (call_expression "(**(code **)PTR_rl_filename_stat_hook_00157754)(&local_bc)" (parenthesized_expression "(**(code **)PTR_rl_filename_stat_hook_00157754)" (( "(") (pointer_expression "**(code **)PTR_rl_filename_stat_hook_00157754" (* "*") (pointer_expression "*(code **)PTR_rl_filename_stat_hook_00157754" (* "*") (cast_expression "(code **)PTR_rl_filename_stat_hook_00157754" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_rl_filename_stat_hook_00157754")))) () ")")) (argument_list "(&local_bc)" (( "(") (pointer_expression "&local_bc" (& "&") (identifier "local_bc")) () ")"))) (; ";")) (expression_statement "(*(code *)PTR_xfree_00156bb4)(unaff_s2);" (call_expression "(*(code *)PTR_xfree_00156bb4)(unaff_s2)" (parenthesized_expression "(*(code *)PTR_xfree_00156bb4)" (( "(") (pointer_expression "*(code *)PTR_xfree_00156bb4" (* "*") (cast_expression "(code *)PTR_xfree_00156bb4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_xfree_00156bb4"))) () ")")) (argument_list "(unaff_s2)" (( "(") (identifier "unaff_s2") () ")"))) (; ";")) (expression_statement "unaff_s2 = local_bc;" (assignment_expression "unaff_s2 = local_bc" (identifier "unaff_s2") (= "=") (identifier "local_bc")) (; ";")) (} "}"))) (expression_statement "param_2 = unaff_s2;" (assignment_expression "param_2 = unaff_s2" (identifier "param_2") (= "=") (identifier "unaff_s2")) (; ";")) (if_statement "if ((param_4 == (byte *)0x0) ||\n       (pwVar15 = awStack_b8, *(int *)PTR_rl_completion_mark_symlink_dirs_001578a4 != 0)) {\n      pwVar15 = awStack_b8;\n      iVar5 = (*(code *)PTR___xstat64_001582e8)(3);\n    }\n    else {\n      iVar5 = (*(code *)PTR___lxstat64_001582c8)(3);\n    }" (if "if") (parenthesized_expression "((param_4 == (byte *)0x0) ||\n       (pwVar15 = awStack_b8, *(int *)PTR_rl_completion_mark_symlink_dirs_001578a4 != 0))" (( "(") (binary_expression "(param_4 == (byte *)0x0) ||\n       (pwVar15 = awStack_b8, *(int *)PTR_rl_completion_mark_symlink_dirs_001578a4 != 0)" (parenthesized_expression "(param_4 == (byte *)0x0)" (( "(") (binary_expression "param_4 == (byte *)0x0" (identifier "param_4") (== "==") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(pwVar15 = awStack_b8, *(int *)PTR_rl_completion_mark_symlink_dirs_001578a4 != 0)" (( "(") (comma_expression "pwVar15 = awStack_b8, *(int *)PTR_rl_completion_mark_symlink_dirs_001578a4 != 0" (assignment_expression "pwVar15 = awStack_b8" (identifier "pwVar15") (= "=") (identifier "awStack_b8")) (, ",") (binary_expression "*(int *)PTR_rl_completion_mark_symlink_dirs_001578a4 != 0" (pointer_expression "*(int *)PTR_rl_completion_mark_symlink_dirs_001578a4" (* "*") (cast_expression "(int *)PTR_rl_completion_mark_symlink_dirs_001578a4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_rl_completion_mark_symlink_dirs_001578a4"))) (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n      pwVar15 = awStack_b8;\n      iVar5 = (*(code *)PTR___xstat64_001582e8)(3);\n    }" ({ "{") (expression_statement "pwVar15 = awStack_b8;" (assignment_expression "pwVar15 = awStack_b8" (identifier "pwVar15") (= "=") (identifier "awStack_b8")) (; ";")) (expression_statement "iVar5 = (*(code *)PTR___xstat64_001582e8)(3);" (assignment_expression "iVar5 = (*(code *)PTR___xstat64_001582e8)(3)" (identifier "iVar5") (= "=") (call_expression "(*(code *)PTR___xstat64_001582e8)(3)" (parenthesized_expression "(*(code *)PTR___xstat64_001582e8)" (( "(") (pointer_expression "*(code *)PTR___xstat64_001582e8" (* "*") (cast_expression "(code *)PTR___xstat64_001582e8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___xstat64_001582e8"))) () ")")) (argument_list "(3)" (( "(") (number_literal "3") () ")")))) (; ";")) (} "}")) (else_clause "else {\n      iVar5 = (*(code *)PTR___lxstat64_001582c8)(3);\n    }" (else "else") (compound_statement "{\n      iVar5 = (*(code *)PTR___lxstat64_001582c8)(3);\n    }" ({ "{") (expression_statement "iVar5 = (*(code *)PTR___lxstat64_001582c8)(3);" (assignment_expression "iVar5 = (*(code *)PTR___lxstat64_001582c8)(3)" (identifier "iVar5") (= "=") (call_expression "(*(code *)PTR___lxstat64_001582c8)(3)" (parenthesized_expression "(*(code *)PTR___lxstat64_001582c8)" (( "(") (pointer_expression "*(code *)PTR___lxstat64_001582c8" (* "*") (cast_expression "(code *)PTR___lxstat64_001582c8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___lxstat64_001582c8"))) () ")")) (argument_list "(3)" (( "(") (number_literal "3") () ")")))) (; ";")) (} "}")))) (if_statement "if (iVar5 == 0) {\n      if ((local_a0 & 0xf000) == 0x4000) {\n        if (*(int *)PTR__rl_complete_mark_directories_00157f80 != 0) {\n          iVar5 = *(int *)PTR_rl_point_001575f0;\n          if ((iVar5 == 0) || (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5) != '\0')) {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5);\n          }\n          else {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5 + -1);\n          }\n          if (cVar1 != '/') {\n            rl_insert_text(PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c);\n          }\n        }\n      }\n      else if (((local_a0 & 0xf000) != 0xa000) || (iVar5 = FUN_000fa188(unaff_s2), iVar5 == 0))\n      goto LAB_000fa9f0;\n    }\n    else {\nLAB_000fa9f0:\n      if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {\n        rl_insert_text(local_18);\n      }\n    }" (if "if") (parenthesized_expression "(iVar5 == 0)" (( "(") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      if ((local_a0 & 0xf000) == 0x4000) {\n        if (*(int *)PTR__rl_complete_mark_directories_00157f80 != 0) {\n          iVar5 = *(int *)PTR_rl_point_001575f0;\n          if ((iVar5 == 0) || (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5) != '\0')) {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5);\n          }\n          else {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5 + -1);\n          }\n          if (cVar1 != '/') {\n            rl_insert_text(PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c);\n          }\n        }\n      }\n      else if (((local_a0 & 0xf000) != 0xa000) || (iVar5 = FUN_000fa188(unaff_s2), iVar5 == 0))\n      goto LAB_000fa9f0;\n    }" ({ "{") (if_statement "if ((local_a0 & 0xf000) == 0x4000) {\n        if (*(int *)PTR__rl_complete_mark_directories_00157f80 != 0) {\n          iVar5 = *(int *)PTR_rl_point_001575f0;\n          if ((iVar5 == 0) || (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5) != '\0')) {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5);\n          }\n          else {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5 + -1);\n          }\n          if (cVar1 != '/') {\n            rl_insert_text(PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c);\n          }\n        }\n      }\n      else if (((local_a0 & 0xf000) != 0xa000) || (iVar5 = FUN_000fa188(unaff_s2), iVar5 == 0))\n      goto LAB_000fa9f0;" (if "if") (parenthesized_expression "((local_a0 & 0xf000) == 0x4000)" (( "(") (binary_expression "(local_a0 & 0xf000) == 0x4000" (parenthesized_expression "(local_a0 & 0xf000)" (( "(") (binary_expression "local_a0 & 0xf000" (identifier "local_a0") (& "&") (number_literal "0xf000")) () ")")) (== "==") (number_literal "0x4000")) () ")")) (compound_statement "{\n        if (*(int *)PTR__rl_complete_mark_directories_00157f80 != 0) {\n          iVar5 = *(int *)PTR_rl_point_001575f0;\n          if ((iVar5 == 0) || (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5) != '\0')) {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5);\n          }\n          else {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5 + -1);\n          }\n          if (cVar1 != '/') {\n            rl_insert_text(PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c);\n          }\n        }\n      }" ({ "{") (if_statement "if (*(int *)PTR__rl_complete_mark_directories_00157f80 != 0) {\n          iVar5 = *(int *)PTR_rl_point_001575f0;\n          if ((iVar5 == 0) || (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5) != '\0')) {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5);\n          }\n          else {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5 + -1);\n          }\n          if (cVar1 != '/') {\n            rl_insert_text(PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c);\n          }\n        }" (if "if") (parenthesized_expression "(*(int *)PTR__rl_complete_mark_directories_00157f80 != 0)" (( "(") (binary_expression "*(int *)PTR__rl_complete_mark_directories_00157f80 != 0" (pointer_expression "*(int *)PTR__rl_complete_mark_directories_00157f80" (* "*") (cast_expression "(int *)PTR__rl_complete_mark_directories_00157f80" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR__rl_complete_mark_directories_00157f80"))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          iVar5 = *(int *)PTR_rl_point_001575f0;\n          if ((iVar5 == 0) || (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5) != '\0')) {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5);\n          }\n          else {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5 + -1);\n          }\n          if (cVar1 != '/') {\n            rl_insert_text(PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c);\n          }\n        }" ({ "{") (expression_statement "iVar5 = *(int *)PTR_rl_point_001575f0;" (assignment_expression "iVar5 = *(int *)PTR_rl_point_001575f0" (identifier "iVar5") (= "=") (pointer_expression "*(int *)PTR_rl_point_001575f0" (* "*") (cast_expression "(int *)PTR_rl_point_001575f0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_rl_point_001575f0")))) (; ";")) (if_statement "if ((iVar5 == 0) || (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5) != '\0')) {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5);\n          }\n          else {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5 + -1);\n          }" (if "if") (parenthesized_expression "((iVar5 == 0) || (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5) != '\0'))" (( "(") (binary_expression "(iVar5 == 0) || (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5) != '\0')" (parenthesized_expression "(iVar5 == 0)" (( "(") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5) != '\0')" (( "(") (binary_expression "*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5) != '\0'" (pointer_expression "*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5)" (* "*") (cast_expression "(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)PTR_rl_line_buffer_001575e8 + iVar5)" (( "(") (binary_expression "*(int *)PTR_rl_line_buffer_001575e8 + iVar5" (pointer_expression "*(int *)PTR_rl_line_buffer_001575e8" (* "*") (cast_expression "(int *)PTR_rl_line_buffer_001575e8" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_rl_line_buffer_001575e8"))) (+ "+") (identifier "iVar5")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5);\n          }" ({ "{") (expression_statement "cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5);" (assignment_expression "cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5)" (identifier "cVar1") (= "=") (pointer_expression "*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5)" (* "*") (cast_expression "(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)PTR_rl_line_buffer_001575e8 + iVar5)" (( "(") (binary_expression "*(int *)PTR_rl_line_buffer_001575e8 + iVar5" (pointer_expression "*(int *)PTR_rl_line_buffer_001575e8" (* "*") (cast_expression "(int *)PTR_rl_line_buffer_001575e8" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_rl_line_buffer_001575e8"))) (+ "+") (identifier "iVar5")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5 + -1);\n          }" (else "else") (compound_statement "{\n            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5 + -1);\n          }" ({ "{") (expression_statement "cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5 + -1);" (assignment_expression "cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5 + -1)" (identifier "cVar1") (= "=") (pointer_expression "*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5 + -1)" (* "*") (cast_expression "(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5 + -1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)PTR_rl_line_buffer_001575e8 + iVar5 + -1)" (( "(") (binary_expression "*(int *)PTR_rl_line_buffer_001575e8 + iVar5 + -1" (binary_expression "*(int *)PTR_rl_line_buffer_001575e8 + iVar5" (pointer_expression "*(int *)PTR_rl_line_buffer_001575e8" (* "*") (cast_expression "(int *)PTR_rl_line_buffer_001575e8" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_rl_line_buffer_001575e8"))) (+ "+") (identifier "iVar5")) (+ "+") (number_literal "-1")) () ")"))))) (; ";")) (} "}")))) (if_statement "if (cVar1 != '/') {\n            rl_insert_text(PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c);\n          }" (if "if") (parenthesized_expression "(cVar1 != '/')" (( "(") (binary_expression "cVar1 != '/'" (identifier "cVar1") (!= "!=") (char_literal "'/'" (' "'") (character "/") (' "'"))) () ")")) (compound_statement "{\n            rl_insert_text(PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c);\n          }" ({ "{") (expression_statement "rl_insert_text(PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c);" (call_expression "rl_insert_text(PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c)" (identifier "rl_insert_text") (argument_list "(PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c)" (( "(") (binary_expression "PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c" (identifier "PTR_s_at_element__and_the_COMMANDS_are_00156654") (+ "+") (number_literal "-0x5e9c")) () ")"))) (; ";")) (} "}"))) (} "}"))) (} "}")) (else_clause "else if (((local_a0 & 0xf000) != 0xa000) || (iVar5 = FUN_000fa188(unaff_s2), iVar5 == 0))\n      goto LAB_000fa9f0;" (else "else") (if_statement "if (((local_a0 & 0xf000) != 0xa000) || (iVar5 = FUN_000fa188(unaff_s2), iVar5 == 0))\n      goto LAB_000fa9f0;" (if "if") (parenthesized_expression "(((local_a0 & 0xf000) != 0xa000) || (iVar5 = FUN_000fa188(unaff_s2), iVar5 == 0))" (( "(") (binary_expression "((local_a0 & 0xf000) != 0xa000) || (iVar5 = FUN_000fa188(unaff_s2), iVar5 == 0)" (parenthesized_expression "((local_a0 & 0xf000) != 0xa000)" (( "(") (binary_expression "(local_a0 & 0xf000) != 0xa000" (parenthesized_expression "(local_a0 & 0xf000)" (( "(") (binary_expression "local_a0 & 0xf000" (identifier "local_a0") (& "&") (number_literal "0xf000")) () ")")) (!= "!=") (number_literal "0xa000")) () ")")) (|| "||") (parenthesized_expression "(iVar5 = FUN_000fa188(unaff_s2), iVar5 == 0)" (( "(") (comma_expression "iVar5 = FUN_000fa188(unaff_s2), iVar5 == 0" (assignment_expression "iVar5 = FUN_000fa188(unaff_s2)" (identifier "iVar5") (= "=") (call_expression "FUN_000fa188(unaff_s2)" (identifier "FUN_000fa188") (argument_list "(unaff_s2)" (( "(") (identifier "unaff_s2") () ")")))) (, ",") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0"))) () ")"))) () ")")) (goto_statement "goto LAB_000fa9f0;" (goto "goto") (statement_identifier "LAB_000fa9f0") (; ";"))))) (} "}")) (else_clause "else {\nLAB_000fa9f0:\n      if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {\n        rl_insert_text(local_18);\n      }\n    }" (else "else") (compound_statement "{\nLAB_000fa9f0:\n      if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {\n        rl_insert_text(local_18);\n      }\n    }" ({ "{") (labeled_statement "LAB_000fa9f0:\n      if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {\n        rl_insert_text(local_18);\n      }" (statement_identifier "LAB_000fa9f0") (: ":") (if_statement "if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {\n        rl_insert_text(local_18);\n      }" (if "if") (parenthesized_expression "(*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec)" (( "(") (binary_expression "*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec" (pointer_expression "*(int *)PTR_rl_point_001575f0" (* "*") (cast_expression "(int *)PTR_rl_point_001575f0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_rl_point_001575f0"))) (== "==") (pointer_expression "*(int *)PTR_rl_end_001575ec" (* "*") (cast_expression "(int *)PTR_rl_end_001575ec" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_rl_end_001575ec")))) () ")")) (compound_statement "{\n        rl_insert_text(local_18);\n      }" ({ "{") (expression_statement "rl_insert_text(local_18);" (call_expression "rl_insert_text(local_18)" (identifier "rl_insert_text") (argument_list "(local_18)" (( "(") (identifier "local_18") () ")"))) (; ";")) (} "}")))) (} "}")))) (expression_statement "(*(code *)PTR_xfree_00156bb4)(unaff_s2);" (call_expression "(*(code *)PTR_xfree_00156bb4)(unaff_s2)" (parenthesized_expression "(*(code *)PTR_xfree_00156bb4)" (( "(") (pointer_expression "*(code *)PTR_xfree_00156bb4" (* "*") (cast_expression "(code *)PTR_xfree_00156bb4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_xfree_00156bb4"))) () ")")) (argument_list "(unaff_s2)" (( "(") (identifier "unaff_s2") () ")"))) (; ";")) (} "}")))) (if_statement "if (local_14 == *(int **)PTR___stack_chk_guard_0015858c) {\n    return pwVar16;\n  }" (if "if") (parenthesized_expression "(local_14 == *(int **)PTR___stack_chk_guard_0015858c)" (( "(") (binary_expression "local_14 == *(int **)PTR___stack_chk_guard_0015858c" (identifier "local_14") (== "==") (pointer_expression "*(int **)PTR___stack_chk_guard_0015858c" (* "*") (cast_expression "(int **)PTR___stack_chk_guard_0015858c" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR___stack_chk_guard_0015858c")))) () ")")) (compound_statement "{\n    return pwVar16;\n  }" ({ "{") (return_statement "return pwVar16;" (return "return") (identifier "pwVar16") (; ";")) (} "}"))) (expression_statement "piVar9 = local_14;" (assignment_expression "piVar9 = local_14" (identifier "piVar9") (= "=") (identifier "local_14")) (; ";")) (expression_statement "puVar22 = PTR___stack_chk_fail_0015853c;" (assignment_expression "puVar22 = PTR___stack_chk_fail_0015853c" (identifier "puVar22") (= "=") (identifier "PTR___stack_chk_fail_0015853c")) (; ";")) (expression_statement "(*(code *)PTR___stack_chk_fail_0015853c)();" (call_expression "(*(code *)PTR___stack_chk_fail_0015853c)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0015853c)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_0015853c" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_0015853c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_0015853c"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puStack_158 = puVar22 + 0x63a10;" (assignment_expression "puStack_158 = puVar22 + 0x63a10" (identifier "puStack_158") (= "=") (binary_expression "puVar22 + 0x63a10" (identifier "puVar22") (+ "+") (number_literal "0x63a10"))) (; ";")) (expression_statement "puStack_104 = (undefined4 *)**(undefined4 **)(puVar22 + 0x5da5c);" (assignment_expression "puStack_104 = (undefined4 *)**(undefined4 **)(puVar22 + 0x5da5c)" (identifier "puStack_104") (= "=") (cast_expression "(undefined4 *)**(undefined4 **)(puVar22 + 0x5da5c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(undefined4 **)(puVar22 + 0x5da5c)" (* "*") (pointer_expression "*(undefined4 **)(puVar22 + 0x5da5c)" (* "*") (cast_expression "(undefined4 **)(puVar22 + 0x5da5c)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar22 + 0x5da5c)" (( "(") (binary_expression "puVar22 + 0x5da5c" (identifier "puVar22") (+ "+") (number_literal "0x5da5c")) () ")"))))))) (; ";")) (expression_statement "pwVar14 = param_2;" (assignment_expression "pwVar14 = param_2" (identifier "pwVar14") (= "=") (identifier "param_2")) (; ";")) (expression_statement "pwStack_130 = pwVar15;" (assignment_expression "pwStack_130 = pwVar15" (identifier "pwStack_130") (= "=") (identifier "pwVar15")) (; ";")) (expression_statement "piStack_12c = piVar9;" (assignment_expression "piStack_12c = piVar9" (identifier "piStack_12c") (= "=") (identifier "piVar9")) (; ";")) (expression_statement "pwStack_100 = pwVar16;" (assignment_expression "pwStack_100 = pwVar16" (identifier "pwStack_100") (= "=") (identifier "pwVar16")) (; ";")) (expression_statement "pbStack_fc = param_4;" (assignment_expression "pbStack_fc = param_4" (identifier "pbStack_fc") (= "=") (identifier "param_4")) (; ";")) (expression_statement "pwStack_f8 = unaff_s2;" (assignment_expression "pwStack_f8 = unaff_s2" (identifier "pwStack_f8") (= "=") (identifier "unaff_s2")) (; ";")) (if_statement "if (param_2 == (word *)0x1) {\n    *piVar9 = piVar9[1];\n    piVar9[1] = 0;\n    pwStack_13c = param_2;\n  }\n  else {\n    if ((int)param_2 < 2) {\n      pwStack_140 = (word *)&__DT_SYMTAB[0x3d1].st_info;\n    }\n    else {\n      pwVar18 = (word *)(piVar9 + 1);\n      pwStack_140 = (word *)&__DT_SYMTAB[0x3d1].st_info;\n      pwStack_13c = (word *)0x1;\n      unaff_s3 = *(word **)(puVar22 + 0x5d2e8);\n      piStack_134 = *(int **)(puVar22 + 0x5d454);\n      unaff_s8 = &pbStack_124;\n      do {\n        uVar4 = (**(code **)(puStack_158 + -0x6060))();\n        if ((1 < uVar4) && (*(int *)unaff_s3 == 0)) {\n          uStack_11c = 0;\n          uStack_118 = 0;\n          uStack_114 = 0;\n          uStack_110 = 0;\n        }\n        if (*piStack_134 == 0) {\n          param_4 = (byte *)(int)**(char **)pwVar18;\n          unaff_s5 = pwVar18;\n          if (param_4 == (byte *)0x0) {\n            pwVar16 = (word *)0x0;\n            goto LAB_000fac1c;\n          }\n          pwVar16 = (word *)(int)**(char **)(pwVar18 + 2);\n          pwStack_14c = (word *)0x0;\n          unaff_s4 = pwVar16;\n          if (pwVar16 == (word *)0x0) goto LAB_000fac1c;\n          unaff_s6 = (word *)&uStack_11c;\n          pwStack_148 = (word *)&uStack_114;\n          unaff_s7 = (word *)&uStack_10c;\n          do {\n            pwVar16 = pwStack_14c;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\n              if ((word *)param_4 != unaff_s4) goto LAB_000fac1c;\n            }\n            else {\n              uStack_10c = uStack_11c;\n              uStack_108 = uStack_118;\n              pwStack_15c = pwStack_148;\n              pwVar15 = unaff_s6;\n              pwStack_160 = pwVar16;\n              iVar5 = (**(code **)(puStack_158 + -0x65b8))\n                                (*(undefined4 *)pwVar18,pwVar16,unaff_s6,\n                                 *(undefined4 *)(pwVar18 + 2));\n              pwVar14 = unaff_s7;\n              if (iVar5 == 0) goto LAB_000fac1c;\n              iVar5 = (**(code **)(puStack_158 + -0x65b4))\n                                ((byte *)((int)pwStack_14c + *(int *)pwVar18));\n              if (1 < iVar5) {\n                pwVar16 = (word *)((int)pwVar16 + iVar5 + -1);\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_14c = pwVar16;\n            if (param_4 == (byte *)0x0) goto LAB_000fac1c;\n            unaff_s4 = (word *)(int)(char)*(byte *)((int)pwVar16 + *(int *)(pwVar18 + 2));\n            bVar3 = (int)pwVar16 < (int)pwStack_140;\n          } while (unaff_s4 != (word *)0x0);\n        }\n        else {\n          pwVar16 = (word *)0x0;\n          unaff_s7 = (word *)&uStack_11c;\n          unaff_s6 = (word *)&uStack_114;\n          while( true ) {\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_148 = pwVar16;\n            pwStack_144 = pwVar18;\n            if (unaff_s4 == (word *)param_4) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))();\n              if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n                param_4 = *(byte **)unaff_s4;\n              }\n            }\n            unaff_s5 = (word *)&pbStack_120;\n            if (param_4 == (byte *)0x0) break;\n            pwStack_14c = (word *)(int)(char)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))\n            ;\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n            if ((unaff_s4 == pwStack_14c) &&\n               (piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0)) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n              unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n              pwStack_14c = *(word **)unaff_s4;\n            }\n            if (pwStack_14c == (word *)0x0) break;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\njoined_r0x000facac:\n              if ((word *)param_4 != pwStack_14c) break;\n            }\n            else {\n              pbVar24 = (byte *)((int)pwStack_148 + *(int *)pwStack_144);\n              uVar7 = (**(code **)(puStack_158 + -0x60fc))(pbVar24);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,pbVar24,uVar7,unaff_s7);\n              unaff_s4 = (word *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n              pwVar15 = (word *)(**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              pwVar14 = unaff_s4;\n              iVar5 = (**(code **)(puStack_158 + -0x6084))(&pbStack_120,unaff_s4,pwVar15,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar5 + 2U < 2)) goto joined_r0x000facac;\n              param_4 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_124);\n              pbStack_124 = param_4;\n              pbStack_120 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_120);\n              if (param_4 != pbStack_120) break;\n              if (1 < uStack_138) {\n                pwVar16 = (word *)((int)pwStack_148 + (uStack_138 - 1));\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\nLAB_000fac1c:\n          bVar3 = (int)pwVar16 < (int)pwStack_140;\n        }\n        pwVar6 = pwStack_130;\n        if (bVar3) {\n          pwStack_140 = pwVar16;\n        }\n        pwStack_13c = (word *)((int)pwStack_13c + 1);\n        pwVar18 = pwVar18 + 2;\n      } while (param_2 != pwStack_13c);\n      unaff_s2 = pwVar18;\n      if (((pwStack_140 == (word *)0x0) && (pwStack_130 != (word *)0x0)) &&\n         (pwVar16 = pwStack_130, *(byte *)pwStack_130 != 0)) {\n        iVar5 = (**(code **)(puStack_158 + -0x60fc))(pwStack_130);\n        iVar5 = (**(code **)(puStack_158 + -0x7f88))(iVar5 + 1);\n        *piStack_12c = iVar5;\n        pwVar14 = pwVar6;\n        (**(code **)(puStack_158 + -0x6074))(iVar5);\n        pwVar16 = pwVar6;\n        goto LAB_000fb1f0;\n      }\n    }\n    iVar5 = (**(code **)(puStack_158 + -0x7f88))((byte *)((int)pwStack_140 + 1));\n    *piStack_12c = iVar5;\n    if (**(int **)(puStack_158 + -0x65bc) == 0) {\n      pwVar14 = (word *)piStack_12c[1];\n      pwVar15 = pwStack_140;\n      (**(code **)(puStack_158 + -0x615c))(iVar5);\n    }\n    else {\n      unaff_s3 = (word *)0x0;\n      if (**(int **)(puStack_158 + -0x6f0c) != 0) {\n        if ((code *)**(undefined4 **)(puStack_158 + -0x6de4) == (code *)0x0) {\n          unaff_s3 = (word *)0x0;\n        }\n        else if ((**(int **)(puStack_158 + -0x6f38) != 0) &&\n                (**(int **)(puStack_158 + -0x702c) != 0)) {\n          pwVar14 = (word *)**(undefined4 **)(puStack_158 + -0x6f34);\n          unaff_s3 = (word *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(pwStack_130);\n          pwStack_130 = unaff_s3;\n        }\n      }\n      if (**(int **)(puStack_158 + -0x6f10) != 0) {\n        pwVar14 = param_2;\n        (**(code **)(puStack_158 + -0x6218))\n                  (piStack_12c + 1,param_2,4,*(undefined4 *)(puStack_158 + -0x6660));\n      }\n      pwVar16 = (word *)(**(code **)(puStack_158 + -0x60fc))(pwStack_130);\n      unaff_s4 = pwStack_140;\n      if ((int)pwVar16 <= (int)pwStack_140) {\n        unaff_s4 = pwVar16;\n      }\n      if ((int)param_2 < 1) {\n        pwVar16 = (word *)0x1;\nLAB_000fb1a8:\n        pwVar16 = (word *)(uint)((int)param_2 < (int)pwVar16);\n        pwVar15 = pwStack_140;\n        if (pwVar16 != (word *)0x0) goto LAB_000fb12c;\n      }\n      else {\n        param_4 = (byte *)(piStack_12c + 1);\n        pwVar16 = (word *)0x1;\n        do {\n          unaff_s2 = *(word **)param_4;\n          iVar5 = (**(code **)(puStack_158 + -0x6238))(unaff_s2,pwStack_130,unaff_s4);\n          if (iVar5 == 0) {\n            pwVar14 = unaff_s2;\n            (**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,pwStack_140);\n            goto LAB_000fb1a8;\n          }\n          pwVar16 = (word *)((int)pwVar16 + 1);\n          param_4 = param_4 + 4;\n        } while ((int)pwVar16 <= (int)param_2);\nLAB_000fb12c:\n        pwVar14 = (word *)piStack_12c[1];\n        pwVar15 = pwStack_140;\n        (**(code **)(puStack_158 + -0x615c))(*piStack_12c);\n      }\n      if (unaff_s3 != (word *)0x0) {\n        (**(code **)(puStack_158 + -0x5f94))(unaff_s3);\n      }\n    }\n    *(byte *)((int)pwStack_140 + *piStack_12c) = 0;\n    pwStack_13c = param_2;\n  }" (if "if") (parenthesized_expression "(param_2 == (word *)0x1)" (( "(") (binary_expression "param_2 == (word *)0x1" (identifier "param_2") (== "==") (cast_expression "(word *)0x1" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) () ")")) (compound_statement "{\n    *piVar9 = piVar9[1];\n    piVar9[1] = 0;\n    pwStack_13c = param_2;\n  }" ({ "{") (expression_statement "*piVar9 = piVar9[1];" (assignment_expression "*piVar9 = piVar9[1]" (pointer_expression "*piVar9" (* "*") (identifier "piVar9")) (= "=") (subscript_expression "piVar9[1]" (identifier "piVar9") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "piVar9[1] = 0;" (assignment_expression "piVar9[1] = 0" (subscript_expression "piVar9[1]" (identifier "piVar9") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "pwStack_13c = param_2;" (assignment_expression "pwStack_13c = param_2" (identifier "pwStack_13c") (= "=") (identifier "param_2")) (; ";")) (} "}")) (else_clause "else {\n    if ((int)param_2 < 2) {\n      pwStack_140 = (word *)&__DT_SYMTAB[0x3d1].st_info;\n    }\n    else {\n      pwVar18 = (word *)(piVar9 + 1);\n      pwStack_140 = (word *)&__DT_SYMTAB[0x3d1].st_info;\n      pwStack_13c = (word *)0x1;\n      unaff_s3 = *(word **)(puVar22 + 0x5d2e8);\n      piStack_134 = *(int **)(puVar22 + 0x5d454);\n      unaff_s8 = &pbStack_124;\n      do {\n        uVar4 = (**(code **)(puStack_158 + -0x6060))();\n        if ((1 < uVar4) && (*(int *)unaff_s3 == 0)) {\n          uStack_11c = 0;\n          uStack_118 = 0;\n          uStack_114 = 0;\n          uStack_110 = 0;\n        }\n        if (*piStack_134 == 0) {\n          param_4 = (byte *)(int)**(char **)pwVar18;\n          unaff_s5 = pwVar18;\n          if (param_4 == (byte *)0x0) {\n            pwVar16 = (word *)0x0;\n            goto LAB_000fac1c;\n          }\n          pwVar16 = (word *)(int)**(char **)(pwVar18 + 2);\n          pwStack_14c = (word *)0x0;\n          unaff_s4 = pwVar16;\n          if (pwVar16 == (word *)0x0) goto LAB_000fac1c;\n          unaff_s6 = (word *)&uStack_11c;\n          pwStack_148 = (word *)&uStack_114;\n          unaff_s7 = (word *)&uStack_10c;\n          do {\n            pwVar16 = pwStack_14c;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\n              if ((word *)param_4 != unaff_s4) goto LAB_000fac1c;\n            }\n            else {\n              uStack_10c = uStack_11c;\n              uStack_108 = uStack_118;\n              pwStack_15c = pwStack_148;\n              pwVar15 = unaff_s6;\n              pwStack_160 = pwVar16;\n              iVar5 = (**(code **)(puStack_158 + -0x65b8))\n                                (*(undefined4 *)pwVar18,pwVar16,unaff_s6,\n                                 *(undefined4 *)(pwVar18 + 2));\n              pwVar14 = unaff_s7;\n              if (iVar5 == 0) goto LAB_000fac1c;\n              iVar5 = (**(code **)(puStack_158 + -0x65b4))\n                                ((byte *)((int)pwStack_14c + *(int *)pwVar18));\n              if (1 < iVar5) {\n                pwVar16 = (word *)((int)pwVar16 + iVar5 + -1);\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_14c = pwVar16;\n            if (param_4 == (byte *)0x0) goto LAB_000fac1c;\n            unaff_s4 = (word *)(int)(char)*(byte *)((int)pwVar16 + *(int *)(pwVar18 + 2));\n            bVar3 = (int)pwVar16 < (int)pwStack_140;\n          } while (unaff_s4 != (word *)0x0);\n        }\n        else {\n          pwVar16 = (word *)0x0;\n          unaff_s7 = (word *)&uStack_11c;\n          unaff_s6 = (word *)&uStack_114;\n          while( true ) {\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_148 = pwVar16;\n            pwStack_144 = pwVar18;\n            if (unaff_s4 == (word *)param_4) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))();\n              if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n                param_4 = *(byte **)unaff_s4;\n              }\n            }\n            unaff_s5 = (word *)&pbStack_120;\n            if (param_4 == (byte *)0x0) break;\n            pwStack_14c = (word *)(int)(char)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))\n            ;\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n            if ((unaff_s4 == pwStack_14c) &&\n               (piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0)) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n              unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n              pwStack_14c = *(word **)unaff_s4;\n            }\n            if (pwStack_14c == (word *)0x0) break;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\njoined_r0x000facac:\n              if ((word *)param_4 != pwStack_14c) break;\n            }\n            else {\n              pbVar24 = (byte *)((int)pwStack_148 + *(int *)pwStack_144);\n              uVar7 = (**(code **)(puStack_158 + -0x60fc))(pbVar24);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,pbVar24,uVar7,unaff_s7);\n              unaff_s4 = (word *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n              pwVar15 = (word *)(**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              pwVar14 = unaff_s4;\n              iVar5 = (**(code **)(puStack_158 + -0x6084))(&pbStack_120,unaff_s4,pwVar15,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar5 + 2U < 2)) goto joined_r0x000facac;\n              param_4 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_124);\n              pbStack_124 = param_4;\n              pbStack_120 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_120);\n              if (param_4 != pbStack_120) break;\n              if (1 < uStack_138) {\n                pwVar16 = (word *)((int)pwStack_148 + (uStack_138 - 1));\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\nLAB_000fac1c:\n          bVar3 = (int)pwVar16 < (int)pwStack_140;\n        }\n        pwVar6 = pwStack_130;\n        if (bVar3) {\n          pwStack_140 = pwVar16;\n        }\n        pwStack_13c = (word *)((int)pwStack_13c + 1);\n        pwVar18 = pwVar18 + 2;\n      } while (param_2 != pwStack_13c);\n      unaff_s2 = pwVar18;\n      if (((pwStack_140 == (word *)0x0) && (pwStack_130 != (word *)0x0)) &&\n         (pwVar16 = pwStack_130, *(byte *)pwStack_130 != 0)) {\n        iVar5 = (**(code **)(puStack_158 + -0x60fc))(pwStack_130);\n        iVar5 = (**(code **)(puStack_158 + -0x7f88))(iVar5 + 1);\n        *piStack_12c = iVar5;\n        pwVar14 = pwVar6;\n        (**(code **)(puStack_158 + -0x6074))(iVar5);\n        pwVar16 = pwVar6;\n        goto LAB_000fb1f0;\n      }\n    }\n    iVar5 = (**(code **)(puStack_158 + -0x7f88))((byte *)((int)pwStack_140 + 1));\n    *piStack_12c = iVar5;\n    if (**(int **)(puStack_158 + -0x65bc) == 0) {\n      pwVar14 = (word *)piStack_12c[1];\n      pwVar15 = pwStack_140;\n      (**(code **)(puStack_158 + -0x615c))(iVar5);\n    }\n    else {\n      unaff_s3 = (word *)0x0;\n      if (**(int **)(puStack_158 + -0x6f0c) != 0) {\n        if ((code *)**(undefined4 **)(puStack_158 + -0x6de4) == (code *)0x0) {\n          unaff_s3 = (word *)0x0;\n        }\n        else if ((**(int **)(puStack_158 + -0x6f38) != 0) &&\n                (**(int **)(puStack_158 + -0x702c) != 0)) {\n          pwVar14 = (word *)**(undefined4 **)(puStack_158 + -0x6f34);\n          unaff_s3 = (word *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(pwStack_130);\n          pwStack_130 = unaff_s3;\n        }\n      }\n      if (**(int **)(puStack_158 + -0x6f10) != 0) {\n        pwVar14 = param_2;\n        (**(code **)(puStack_158 + -0x6218))\n                  (piStack_12c + 1,param_2,4,*(undefined4 *)(puStack_158 + -0x6660));\n      }\n      pwVar16 = (word *)(**(code **)(puStack_158 + -0x60fc))(pwStack_130);\n      unaff_s4 = pwStack_140;\n      if ((int)pwVar16 <= (int)pwStack_140) {\n        unaff_s4 = pwVar16;\n      }\n      if ((int)param_2 < 1) {\n        pwVar16 = (word *)0x1;\nLAB_000fb1a8:\n        pwVar16 = (word *)(uint)((int)param_2 < (int)pwVar16);\n        pwVar15 = pwStack_140;\n        if (pwVar16 != (word *)0x0) goto LAB_000fb12c;\n      }\n      else {\n        param_4 = (byte *)(piStack_12c + 1);\n        pwVar16 = (word *)0x1;\n        do {\n          unaff_s2 = *(word **)param_4;\n          iVar5 = (**(code **)(puStack_158 + -0x6238))(unaff_s2,pwStack_130,unaff_s4);\n          if (iVar5 == 0) {\n            pwVar14 = unaff_s2;\n            (**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,pwStack_140);\n            goto LAB_000fb1a8;\n          }\n          pwVar16 = (word *)((int)pwVar16 + 1);\n          param_4 = param_4 + 4;\n        } while ((int)pwVar16 <= (int)param_2);\nLAB_000fb12c:\n        pwVar14 = (word *)piStack_12c[1];\n        pwVar15 = pwStack_140;\n        (**(code **)(puStack_158 + -0x615c))(*piStack_12c);\n      }\n      if (unaff_s3 != (word *)0x0) {\n        (**(code **)(puStack_158 + -0x5f94))(unaff_s3);\n      }\n    }\n    *(byte *)((int)pwStack_140 + *piStack_12c) = 0;\n    pwStack_13c = param_2;\n  }" (else "else") (compound_statement "{\n    if ((int)param_2 < 2) {\n      pwStack_140 = (word *)&__DT_SYMTAB[0x3d1].st_info;\n    }\n    else {\n      pwVar18 = (word *)(piVar9 + 1);\n      pwStack_140 = (word *)&__DT_SYMTAB[0x3d1].st_info;\n      pwStack_13c = (word *)0x1;\n      unaff_s3 = *(word **)(puVar22 + 0x5d2e8);\n      piStack_134 = *(int **)(puVar22 + 0x5d454);\n      unaff_s8 = &pbStack_124;\n      do {\n        uVar4 = (**(code **)(puStack_158 + -0x6060))();\n        if ((1 < uVar4) && (*(int *)unaff_s3 == 0)) {\n          uStack_11c = 0;\n          uStack_118 = 0;\n          uStack_114 = 0;\n          uStack_110 = 0;\n        }\n        if (*piStack_134 == 0) {\n          param_4 = (byte *)(int)**(char **)pwVar18;\n          unaff_s5 = pwVar18;\n          if (param_4 == (byte *)0x0) {\n            pwVar16 = (word *)0x0;\n            goto LAB_000fac1c;\n          }\n          pwVar16 = (word *)(int)**(char **)(pwVar18 + 2);\n          pwStack_14c = (word *)0x0;\n          unaff_s4 = pwVar16;\n          if (pwVar16 == (word *)0x0) goto LAB_000fac1c;\n          unaff_s6 = (word *)&uStack_11c;\n          pwStack_148 = (word *)&uStack_114;\n          unaff_s7 = (word *)&uStack_10c;\n          do {\n            pwVar16 = pwStack_14c;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\n              if ((word *)param_4 != unaff_s4) goto LAB_000fac1c;\n            }\n            else {\n              uStack_10c = uStack_11c;\n              uStack_108 = uStack_118;\n              pwStack_15c = pwStack_148;\n              pwVar15 = unaff_s6;\n              pwStack_160 = pwVar16;\n              iVar5 = (**(code **)(puStack_158 + -0x65b8))\n                                (*(undefined4 *)pwVar18,pwVar16,unaff_s6,\n                                 *(undefined4 *)(pwVar18 + 2));\n              pwVar14 = unaff_s7;\n              if (iVar5 == 0) goto LAB_000fac1c;\n              iVar5 = (**(code **)(puStack_158 + -0x65b4))\n                                ((byte *)((int)pwStack_14c + *(int *)pwVar18));\n              if (1 < iVar5) {\n                pwVar16 = (word *)((int)pwVar16 + iVar5 + -1);\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_14c = pwVar16;\n            if (param_4 == (byte *)0x0) goto LAB_000fac1c;\n            unaff_s4 = (word *)(int)(char)*(byte *)((int)pwVar16 + *(int *)(pwVar18 + 2));\n            bVar3 = (int)pwVar16 < (int)pwStack_140;\n          } while (unaff_s4 != (word *)0x0);\n        }\n        else {\n          pwVar16 = (word *)0x0;\n          unaff_s7 = (word *)&uStack_11c;\n          unaff_s6 = (word *)&uStack_114;\n          while( true ) {\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_148 = pwVar16;\n            pwStack_144 = pwVar18;\n            if (unaff_s4 == (word *)param_4) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))();\n              if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n                param_4 = *(byte **)unaff_s4;\n              }\n            }\n            unaff_s5 = (word *)&pbStack_120;\n            if (param_4 == (byte *)0x0) break;\n            pwStack_14c = (word *)(int)(char)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))\n            ;\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n            if ((unaff_s4 == pwStack_14c) &&\n               (piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0)) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n              unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n              pwStack_14c = *(word **)unaff_s4;\n            }\n            if (pwStack_14c == (word *)0x0) break;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\njoined_r0x000facac:\n              if ((word *)param_4 != pwStack_14c) break;\n            }\n            else {\n              pbVar24 = (byte *)((int)pwStack_148 + *(int *)pwStack_144);\n              uVar7 = (**(code **)(puStack_158 + -0x60fc))(pbVar24);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,pbVar24,uVar7,unaff_s7);\n              unaff_s4 = (word *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n              pwVar15 = (word *)(**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              pwVar14 = unaff_s4;\n              iVar5 = (**(code **)(puStack_158 + -0x6084))(&pbStack_120,unaff_s4,pwVar15,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar5 + 2U < 2)) goto joined_r0x000facac;\n              param_4 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_124);\n              pbStack_124 = param_4;\n              pbStack_120 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_120);\n              if (param_4 != pbStack_120) break;\n              if (1 < uStack_138) {\n                pwVar16 = (word *)((int)pwStack_148 + (uStack_138 - 1));\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\nLAB_000fac1c:\n          bVar3 = (int)pwVar16 < (int)pwStack_140;\n        }\n        pwVar6 = pwStack_130;\n        if (bVar3) {\n          pwStack_140 = pwVar16;\n        }\n        pwStack_13c = (word *)((int)pwStack_13c + 1);\n        pwVar18 = pwVar18 + 2;\n      } while (param_2 != pwStack_13c);\n      unaff_s2 = pwVar18;\n      if (((pwStack_140 == (word *)0x0) && (pwStack_130 != (word *)0x0)) &&\n         (pwVar16 = pwStack_130, *(byte *)pwStack_130 != 0)) {\n        iVar5 = (**(code **)(puStack_158 + -0x60fc))(pwStack_130);\n        iVar5 = (**(code **)(puStack_158 + -0x7f88))(iVar5 + 1);\n        *piStack_12c = iVar5;\n        pwVar14 = pwVar6;\n        (**(code **)(puStack_158 + -0x6074))(iVar5);\n        pwVar16 = pwVar6;\n        goto LAB_000fb1f0;\n      }\n    }\n    iVar5 = (**(code **)(puStack_158 + -0x7f88))((byte *)((int)pwStack_140 + 1));\n    *piStack_12c = iVar5;\n    if (**(int **)(puStack_158 + -0x65bc) == 0) {\n      pwVar14 = (word *)piStack_12c[1];\n      pwVar15 = pwStack_140;\n      (**(code **)(puStack_158 + -0x615c))(iVar5);\n    }\n    else {\n      unaff_s3 = (word *)0x0;\n      if (**(int **)(puStack_158 + -0x6f0c) != 0) {\n        if ((code *)**(undefined4 **)(puStack_158 + -0x6de4) == (code *)0x0) {\n          unaff_s3 = (word *)0x0;\n        }\n        else if ((**(int **)(puStack_158 + -0x6f38) != 0) &&\n                (**(int **)(puStack_158 + -0x702c) != 0)) {\n          pwVar14 = (word *)**(undefined4 **)(puStack_158 + -0x6f34);\n          unaff_s3 = (word *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(pwStack_130);\n          pwStack_130 = unaff_s3;\n        }\n      }\n      if (**(int **)(puStack_158 + -0x6f10) != 0) {\n        pwVar14 = param_2;\n        (**(code **)(puStack_158 + -0x6218))\n                  (piStack_12c + 1,param_2,4,*(undefined4 *)(puStack_158 + -0x6660));\n      }\n      pwVar16 = (word *)(**(code **)(puStack_158 + -0x60fc))(pwStack_130);\n      unaff_s4 = pwStack_140;\n      if ((int)pwVar16 <= (int)pwStack_140) {\n        unaff_s4 = pwVar16;\n      }\n      if ((int)param_2 < 1) {\n        pwVar16 = (word *)0x1;\nLAB_000fb1a8:\n        pwVar16 = (word *)(uint)((int)param_2 < (int)pwVar16);\n        pwVar15 = pwStack_140;\n        if (pwVar16 != (word *)0x0) goto LAB_000fb12c;\n      }\n      else {\n        param_4 = (byte *)(piStack_12c + 1);\n        pwVar16 = (word *)0x1;\n        do {\n          unaff_s2 = *(word **)param_4;\n          iVar5 = (**(code **)(puStack_158 + -0x6238))(unaff_s2,pwStack_130,unaff_s4);\n          if (iVar5 == 0) {\n            pwVar14 = unaff_s2;\n            (**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,pwStack_140);\n            goto LAB_000fb1a8;\n          }\n          pwVar16 = (word *)((int)pwVar16 + 1);\n          param_4 = param_4 + 4;\n        } while ((int)pwVar16 <= (int)param_2);\nLAB_000fb12c:\n        pwVar14 = (word *)piStack_12c[1];\n        pwVar15 = pwStack_140;\n        (**(code **)(puStack_158 + -0x615c))(*piStack_12c);\n      }\n      if (unaff_s3 != (word *)0x0) {\n        (**(code **)(puStack_158 + -0x5f94))(unaff_s3);\n      }\n    }\n    *(byte *)((int)pwStack_140 + *piStack_12c) = 0;\n    pwStack_13c = param_2;\n  }" ({ "{") (if_statement "if ((int)param_2 < 2) {\n      pwStack_140 = (word *)&__DT_SYMTAB[0x3d1].st_info;\n    }\n    else {\n      pwVar18 = (word *)(piVar9 + 1);\n      pwStack_140 = (word *)&__DT_SYMTAB[0x3d1].st_info;\n      pwStack_13c = (word *)0x1;\n      unaff_s3 = *(word **)(puVar22 + 0x5d2e8);\n      piStack_134 = *(int **)(puVar22 + 0x5d454);\n      unaff_s8 = &pbStack_124;\n      do {\n        uVar4 = (**(code **)(puStack_158 + -0x6060))();\n        if ((1 < uVar4) && (*(int *)unaff_s3 == 0)) {\n          uStack_11c = 0;\n          uStack_118 = 0;\n          uStack_114 = 0;\n          uStack_110 = 0;\n        }\n        if (*piStack_134 == 0) {\n          param_4 = (byte *)(int)**(char **)pwVar18;\n          unaff_s5 = pwVar18;\n          if (param_4 == (byte *)0x0) {\n            pwVar16 = (word *)0x0;\n            goto LAB_000fac1c;\n          }\n          pwVar16 = (word *)(int)**(char **)(pwVar18 + 2);\n          pwStack_14c = (word *)0x0;\n          unaff_s4 = pwVar16;\n          if (pwVar16 == (word *)0x0) goto LAB_000fac1c;\n          unaff_s6 = (word *)&uStack_11c;\n          pwStack_148 = (word *)&uStack_114;\n          unaff_s7 = (word *)&uStack_10c;\n          do {\n            pwVar16 = pwStack_14c;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\n              if ((word *)param_4 != unaff_s4) goto LAB_000fac1c;\n            }\n            else {\n              uStack_10c = uStack_11c;\n              uStack_108 = uStack_118;\n              pwStack_15c = pwStack_148;\n              pwVar15 = unaff_s6;\n              pwStack_160 = pwVar16;\n              iVar5 = (**(code **)(puStack_158 + -0x65b8))\n                                (*(undefined4 *)pwVar18,pwVar16,unaff_s6,\n                                 *(undefined4 *)(pwVar18 + 2));\n              pwVar14 = unaff_s7;\n              if (iVar5 == 0) goto LAB_000fac1c;\n              iVar5 = (**(code **)(puStack_158 + -0x65b4))\n                                ((byte *)((int)pwStack_14c + *(int *)pwVar18));\n              if (1 < iVar5) {\n                pwVar16 = (word *)((int)pwVar16 + iVar5 + -1);\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_14c = pwVar16;\n            if (param_4 == (byte *)0x0) goto LAB_000fac1c;\n            unaff_s4 = (word *)(int)(char)*(byte *)((int)pwVar16 + *(int *)(pwVar18 + 2));\n            bVar3 = (int)pwVar16 < (int)pwStack_140;\n          } while (unaff_s4 != (word *)0x0);\n        }\n        else {\n          pwVar16 = (word *)0x0;\n          unaff_s7 = (word *)&uStack_11c;\n          unaff_s6 = (word *)&uStack_114;\n          while( true ) {\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_148 = pwVar16;\n            pwStack_144 = pwVar18;\n            if (unaff_s4 == (word *)param_4) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))();\n              if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n                param_4 = *(byte **)unaff_s4;\n              }\n            }\n            unaff_s5 = (word *)&pbStack_120;\n            if (param_4 == (byte *)0x0) break;\n            pwStack_14c = (word *)(int)(char)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))\n            ;\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n            if ((unaff_s4 == pwStack_14c) &&\n               (piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0)) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n              unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n              pwStack_14c = *(word **)unaff_s4;\n            }\n            if (pwStack_14c == (word *)0x0) break;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\njoined_r0x000facac:\n              if ((word *)param_4 != pwStack_14c) break;\n            }\n            else {\n              pbVar24 = (byte *)((int)pwStack_148 + *(int *)pwStack_144);\n              uVar7 = (**(code **)(puStack_158 + -0x60fc))(pbVar24);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,pbVar24,uVar7,unaff_s7);\n              unaff_s4 = (word *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n              pwVar15 = (word *)(**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              pwVar14 = unaff_s4;\n              iVar5 = (**(code **)(puStack_158 + -0x6084))(&pbStack_120,unaff_s4,pwVar15,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar5 + 2U < 2)) goto joined_r0x000facac;\n              param_4 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_124);\n              pbStack_124 = param_4;\n              pbStack_120 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_120);\n              if (param_4 != pbStack_120) break;\n              if (1 < uStack_138) {\n                pwVar16 = (word *)((int)pwStack_148 + (uStack_138 - 1));\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\nLAB_000fac1c:\n          bVar3 = (int)pwVar16 < (int)pwStack_140;\n        }\n        pwVar6 = pwStack_130;\n        if (bVar3) {\n          pwStack_140 = pwVar16;\n        }\n        pwStack_13c = (word *)((int)pwStack_13c + 1);\n        pwVar18 = pwVar18 + 2;\n      } while (param_2 != pwStack_13c);\n      unaff_s2 = pwVar18;\n      if (((pwStack_140 == (word *)0x0) && (pwStack_130 != (word *)0x0)) &&\n         (pwVar16 = pwStack_130, *(byte *)pwStack_130 != 0)) {\n        iVar5 = (**(code **)(puStack_158 + -0x60fc))(pwStack_130);\n        iVar5 = (**(code **)(puStack_158 + -0x7f88))(iVar5 + 1);\n        *piStack_12c = iVar5;\n        pwVar14 = pwVar6;\n        (**(code **)(puStack_158 + -0x6074))(iVar5);\n        pwVar16 = pwVar6;\n        goto LAB_000fb1f0;\n      }\n    }" (if "if") (parenthesized_expression "((int)param_2 < 2)" (( "(") (binary_expression "(int)param_2 < 2" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (< "<") (number_literal "2")) () ")")) (compound_statement "{\n      pwStack_140 = (word *)&__DT_SYMTAB[0x3d1].st_info;\n    }" ({ "{") (expression_statement "pwStack_140 = (word *)&__DT_SYMTAB[0x3d1].st_info;" (assignment_expression "pwStack_140 = (word *)&__DT_SYMTAB[0x3d1].st_info" (identifier "pwStack_140") (= "=") (cast_expression "(word *)&__DT_SYMTAB[0x3d1].st_info" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&__DT_SYMTAB[0x3d1].st_info" (& "&") (field_expression "__DT_SYMTAB[0x3d1].st_info" (subscript_expression "__DT_SYMTAB[0x3d1]" (identifier "__DT_SYMTAB") ([ "[") (number_literal "0x3d1") (] "]")) (. ".") (field_identifier "st_info"))))) (; ";")) (} "}")) (else_clause "else {\n      pwVar18 = (word *)(piVar9 + 1);\n      pwStack_140 = (word *)&__DT_SYMTAB[0x3d1].st_info;\n      pwStack_13c = (word *)0x1;\n      unaff_s3 = *(word **)(puVar22 + 0x5d2e8);\n      piStack_134 = *(int **)(puVar22 + 0x5d454);\n      unaff_s8 = &pbStack_124;\n      do {\n        uVar4 = (**(code **)(puStack_158 + -0x6060))();\n        if ((1 < uVar4) && (*(int *)unaff_s3 == 0)) {\n          uStack_11c = 0;\n          uStack_118 = 0;\n          uStack_114 = 0;\n          uStack_110 = 0;\n        }\n        if (*piStack_134 == 0) {\n          param_4 = (byte *)(int)**(char **)pwVar18;\n          unaff_s5 = pwVar18;\n          if (param_4 == (byte *)0x0) {\n            pwVar16 = (word *)0x0;\n            goto LAB_000fac1c;\n          }\n          pwVar16 = (word *)(int)**(char **)(pwVar18 + 2);\n          pwStack_14c = (word *)0x0;\n          unaff_s4 = pwVar16;\n          if (pwVar16 == (word *)0x0) goto LAB_000fac1c;\n          unaff_s6 = (word *)&uStack_11c;\n          pwStack_148 = (word *)&uStack_114;\n          unaff_s7 = (word *)&uStack_10c;\n          do {\n            pwVar16 = pwStack_14c;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\n              if ((word *)param_4 != unaff_s4) goto LAB_000fac1c;\n            }\n            else {\n              uStack_10c = uStack_11c;\n              uStack_108 = uStack_118;\n              pwStack_15c = pwStack_148;\n              pwVar15 = unaff_s6;\n              pwStack_160 = pwVar16;\n              iVar5 = (**(code **)(puStack_158 + -0x65b8))\n                                (*(undefined4 *)pwVar18,pwVar16,unaff_s6,\n                                 *(undefined4 *)(pwVar18 + 2));\n              pwVar14 = unaff_s7;\n              if (iVar5 == 0) goto LAB_000fac1c;\n              iVar5 = (**(code **)(puStack_158 + -0x65b4))\n                                ((byte *)((int)pwStack_14c + *(int *)pwVar18));\n              if (1 < iVar5) {\n                pwVar16 = (word *)((int)pwVar16 + iVar5 + -1);\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_14c = pwVar16;\n            if (param_4 == (byte *)0x0) goto LAB_000fac1c;\n            unaff_s4 = (word *)(int)(char)*(byte *)((int)pwVar16 + *(int *)(pwVar18 + 2));\n            bVar3 = (int)pwVar16 < (int)pwStack_140;\n          } while (unaff_s4 != (word *)0x0);\n        }\n        else {\n          pwVar16 = (word *)0x0;\n          unaff_s7 = (word *)&uStack_11c;\n          unaff_s6 = (word *)&uStack_114;\n          while( true ) {\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_148 = pwVar16;\n            pwStack_144 = pwVar18;\n            if (unaff_s4 == (word *)param_4) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))();\n              if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n                param_4 = *(byte **)unaff_s4;\n              }\n            }\n            unaff_s5 = (word *)&pbStack_120;\n            if (param_4 == (byte *)0x0) break;\n            pwStack_14c = (word *)(int)(char)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))\n            ;\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n            if ((unaff_s4 == pwStack_14c) &&\n               (piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0)) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n              unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n              pwStack_14c = *(word **)unaff_s4;\n            }\n            if (pwStack_14c == (word *)0x0) break;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\njoined_r0x000facac:\n              if ((word *)param_4 != pwStack_14c) break;\n            }\n            else {\n              pbVar24 = (byte *)((int)pwStack_148 + *(int *)pwStack_144);\n              uVar7 = (**(code **)(puStack_158 + -0x60fc))(pbVar24);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,pbVar24,uVar7,unaff_s7);\n              unaff_s4 = (word *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n              pwVar15 = (word *)(**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              pwVar14 = unaff_s4;\n              iVar5 = (**(code **)(puStack_158 + -0x6084))(&pbStack_120,unaff_s4,pwVar15,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar5 + 2U < 2)) goto joined_r0x000facac;\n              param_4 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_124);\n              pbStack_124 = param_4;\n              pbStack_120 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_120);\n              if (param_4 != pbStack_120) break;\n              if (1 < uStack_138) {\n                pwVar16 = (word *)((int)pwStack_148 + (uStack_138 - 1));\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\nLAB_000fac1c:\n          bVar3 = (int)pwVar16 < (int)pwStack_140;\n        }\n        pwVar6 = pwStack_130;\n        if (bVar3) {\n          pwStack_140 = pwVar16;\n        }\n        pwStack_13c = (word *)((int)pwStack_13c + 1);\n        pwVar18 = pwVar18 + 2;\n      } while (param_2 != pwStack_13c);\n      unaff_s2 = pwVar18;\n      if (((pwStack_140 == (word *)0x0) && (pwStack_130 != (word *)0x0)) &&\n         (pwVar16 = pwStack_130, *(byte *)pwStack_130 != 0)) {\n        iVar5 = (**(code **)(puStack_158 + -0x60fc))(pwStack_130);\n        iVar5 = (**(code **)(puStack_158 + -0x7f88))(iVar5 + 1);\n        *piStack_12c = iVar5;\n        pwVar14 = pwVar6;\n        (**(code **)(puStack_158 + -0x6074))(iVar5);\n        pwVar16 = pwVar6;\n        goto LAB_000fb1f0;\n      }\n    }" (else "else") (compound_statement "{\n      pwVar18 = (word *)(piVar9 + 1);\n      pwStack_140 = (word *)&__DT_SYMTAB[0x3d1].st_info;\n      pwStack_13c = (word *)0x1;\n      unaff_s3 = *(word **)(puVar22 + 0x5d2e8);\n      piStack_134 = *(int **)(puVar22 + 0x5d454);\n      unaff_s8 = &pbStack_124;\n      do {\n        uVar4 = (**(code **)(puStack_158 + -0x6060))();\n        if ((1 < uVar4) && (*(int *)unaff_s3 == 0)) {\n          uStack_11c = 0;\n          uStack_118 = 0;\n          uStack_114 = 0;\n          uStack_110 = 0;\n        }\n        if (*piStack_134 == 0) {\n          param_4 = (byte *)(int)**(char **)pwVar18;\n          unaff_s5 = pwVar18;\n          if (param_4 == (byte *)0x0) {\n            pwVar16 = (word *)0x0;\n            goto LAB_000fac1c;\n          }\n          pwVar16 = (word *)(int)**(char **)(pwVar18 + 2);\n          pwStack_14c = (word *)0x0;\n          unaff_s4 = pwVar16;\n          if (pwVar16 == (word *)0x0) goto LAB_000fac1c;\n          unaff_s6 = (word *)&uStack_11c;\n          pwStack_148 = (word *)&uStack_114;\n          unaff_s7 = (word *)&uStack_10c;\n          do {\n            pwVar16 = pwStack_14c;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\n              if ((word *)param_4 != unaff_s4) goto LAB_000fac1c;\n            }\n            else {\n              uStack_10c = uStack_11c;\n              uStack_108 = uStack_118;\n              pwStack_15c = pwStack_148;\n              pwVar15 = unaff_s6;\n              pwStack_160 = pwVar16;\n              iVar5 = (**(code **)(puStack_158 + -0x65b8))\n                                (*(undefined4 *)pwVar18,pwVar16,unaff_s6,\n                                 *(undefined4 *)(pwVar18 + 2));\n              pwVar14 = unaff_s7;\n              if (iVar5 == 0) goto LAB_000fac1c;\n              iVar5 = (**(code **)(puStack_158 + -0x65b4))\n                                ((byte *)((int)pwStack_14c + *(int *)pwVar18));\n              if (1 < iVar5) {\n                pwVar16 = (word *)((int)pwVar16 + iVar5 + -1);\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_14c = pwVar16;\n            if (param_4 == (byte *)0x0) goto LAB_000fac1c;\n            unaff_s4 = (word *)(int)(char)*(byte *)((int)pwVar16 + *(int *)(pwVar18 + 2));\n            bVar3 = (int)pwVar16 < (int)pwStack_140;\n          } while (unaff_s4 != (word *)0x0);\n        }\n        else {\n          pwVar16 = (word *)0x0;\n          unaff_s7 = (word *)&uStack_11c;\n          unaff_s6 = (word *)&uStack_114;\n          while( true ) {\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_148 = pwVar16;\n            pwStack_144 = pwVar18;\n            if (unaff_s4 == (word *)param_4) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))();\n              if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n                param_4 = *(byte **)unaff_s4;\n              }\n            }\n            unaff_s5 = (word *)&pbStack_120;\n            if (param_4 == (byte *)0x0) break;\n            pwStack_14c = (word *)(int)(char)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))\n            ;\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n            if ((unaff_s4 == pwStack_14c) &&\n               (piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0)) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n              unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n              pwStack_14c = *(word **)unaff_s4;\n            }\n            if (pwStack_14c == (word *)0x0) break;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\njoined_r0x000facac:\n              if ((word *)param_4 != pwStack_14c) break;\n            }\n            else {\n              pbVar24 = (byte *)((int)pwStack_148 + *(int *)pwStack_144);\n              uVar7 = (**(code **)(puStack_158 + -0x60fc))(pbVar24);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,pbVar24,uVar7,unaff_s7);\n              unaff_s4 = (word *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n              pwVar15 = (word *)(**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              pwVar14 = unaff_s4;\n              iVar5 = (**(code **)(puStack_158 + -0x6084))(&pbStack_120,unaff_s4,pwVar15,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar5 + 2U < 2)) goto joined_r0x000facac;\n              param_4 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_124);\n              pbStack_124 = param_4;\n              pbStack_120 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_120);\n              if (param_4 != pbStack_120) break;\n              if (1 < uStack_138) {\n                pwVar16 = (word *)((int)pwStack_148 + (uStack_138 - 1));\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\nLAB_000fac1c:\n          bVar3 = (int)pwVar16 < (int)pwStack_140;\n        }\n        pwVar6 = pwStack_130;\n        if (bVar3) {\n          pwStack_140 = pwVar16;\n        }\n        pwStack_13c = (word *)((int)pwStack_13c + 1);\n        pwVar18 = pwVar18 + 2;\n      } while (param_2 != pwStack_13c);\n      unaff_s2 = pwVar18;\n      if (((pwStack_140 == (word *)0x0) && (pwStack_130 != (word *)0x0)) &&\n         (pwVar16 = pwStack_130, *(byte *)pwStack_130 != 0)) {\n        iVar5 = (**(code **)(puStack_158 + -0x60fc))(pwStack_130);\n        iVar5 = (**(code **)(puStack_158 + -0x7f88))(iVar5 + 1);\n        *piStack_12c = iVar5;\n        pwVar14 = pwVar6;\n        (**(code **)(puStack_158 + -0x6074))(iVar5);\n        pwVar16 = pwVar6;\n        goto LAB_000fb1f0;\n      }\n    }" ({ "{") (expression_statement "pwVar18 = (word *)(piVar9 + 1);" (assignment_expression "pwVar18 = (word *)(piVar9 + 1)" (identifier "pwVar18") (= "=") (cast_expression "(word *)(piVar9 + 1)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar9 + 1)" (( "(") (binary_expression "piVar9 + 1" (identifier "piVar9") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "pwStack_140 = (word *)&__DT_SYMTAB[0x3d1].st_info;" (assignment_expression "pwStack_140 = (word *)&__DT_SYMTAB[0x3d1].st_info" (identifier "pwStack_140") (= "=") (cast_expression "(word *)&__DT_SYMTAB[0x3d1].st_info" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&__DT_SYMTAB[0x3d1].st_info" (& "&") (field_expression "__DT_SYMTAB[0x3d1].st_info" (subscript_expression "__DT_SYMTAB[0x3d1]" (identifier "__DT_SYMTAB") ([ "[") (number_literal "0x3d1") (] "]")) (. ".") (field_identifier "st_info"))))) (; ";")) (expression_statement "pwStack_13c = (word *)0x1;" (assignment_expression "pwStack_13c = (word *)0x1" (identifier "pwStack_13c") (= "=") (cast_expression "(word *)0x1" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "unaff_s3 = *(word **)(puVar22 + 0x5d2e8);" (assignment_expression "unaff_s3 = *(word **)(puVar22 + 0x5d2e8)" (identifier "unaff_s3") (= "=") (pointer_expression "*(word **)(puVar22 + 0x5d2e8)" (* "*") (cast_expression "(word **)(puVar22 + 0x5d2e8)" (( "(") (type_descriptor "word **" (type_identifier "word") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar22 + 0x5d2e8)" (( "(") (binary_expression "puVar22 + 0x5d2e8" (identifier "puVar22") (+ "+") (number_literal "0x5d2e8")) () ")"))))) (; ";")) (expression_statement "piStack_134 = *(int **)(puVar22 + 0x5d454);" (assignment_expression "piStack_134 = *(int **)(puVar22 + 0x5d454)" (identifier "piStack_134") (= "=") (pointer_expression "*(int **)(puVar22 + 0x5d454)" (* "*") (cast_expression "(int **)(puVar22 + 0x5d454)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar22 + 0x5d454)" (( "(") (binary_expression "puVar22 + 0x5d454" (identifier "puVar22") (+ "+") (number_literal "0x5d454")) () ")"))))) (; ";")) (expression_statement "unaff_s8 = &pbStack_124;" (assignment_expression "unaff_s8 = &pbStack_124" (identifier "unaff_s8") (= "=") (pointer_expression "&pbStack_124" (& "&") (identifier "pbStack_124"))) (; ";")) (do_statement "do {\n        uVar4 = (**(code **)(puStack_158 + -0x6060))();\n        if ((1 < uVar4) && (*(int *)unaff_s3 == 0)) {\n          uStack_11c = 0;\n          uStack_118 = 0;\n          uStack_114 = 0;\n          uStack_110 = 0;\n        }\n        if (*piStack_134 == 0) {\n          param_4 = (byte *)(int)**(char **)pwVar18;\n          unaff_s5 = pwVar18;\n          if (param_4 == (byte *)0x0) {\n            pwVar16 = (word *)0x0;\n            goto LAB_000fac1c;\n          }\n          pwVar16 = (word *)(int)**(char **)(pwVar18 + 2);\n          pwStack_14c = (word *)0x0;\n          unaff_s4 = pwVar16;\n          if (pwVar16 == (word *)0x0) goto LAB_000fac1c;\n          unaff_s6 = (word *)&uStack_11c;\n          pwStack_148 = (word *)&uStack_114;\n          unaff_s7 = (word *)&uStack_10c;\n          do {\n            pwVar16 = pwStack_14c;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\n              if ((word *)param_4 != unaff_s4) goto LAB_000fac1c;\n            }\n            else {\n              uStack_10c = uStack_11c;\n              uStack_108 = uStack_118;\n              pwStack_15c = pwStack_148;\n              pwVar15 = unaff_s6;\n              pwStack_160 = pwVar16;\n              iVar5 = (**(code **)(puStack_158 + -0x65b8))\n                                (*(undefined4 *)pwVar18,pwVar16,unaff_s6,\n                                 *(undefined4 *)(pwVar18 + 2));\n              pwVar14 = unaff_s7;\n              if (iVar5 == 0) goto LAB_000fac1c;\n              iVar5 = (**(code **)(puStack_158 + -0x65b4))\n                                ((byte *)((int)pwStack_14c + *(int *)pwVar18));\n              if (1 < iVar5) {\n                pwVar16 = (word *)((int)pwVar16 + iVar5 + -1);\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_14c = pwVar16;\n            if (param_4 == (byte *)0x0) goto LAB_000fac1c;\n            unaff_s4 = (word *)(int)(char)*(byte *)((int)pwVar16 + *(int *)(pwVar18 + 2));\n            bVar3 = (int)pwVar16 < (int)pwStack_140;\n          } while (unaff_s4 != (word *)0x0);\n        }\n        else {\n          pwVar16 = (word *)0x0;\n          unaff_s7 = (word *)&uStack_11c;\n          unaff_s6 = (word *)&uStack_114;\n          while( true ) {\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_148 = pwVar16;\n            pwStack_144 = pwVar18;\n            if (unaff_s4 == (word *)param_4) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))();\n              if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n                param_4 = *(byte **)unaff_s4;\n              }\n            }\n            unaff_s5 = (word *)&pbStack_120;\n            if (param_4 == (byte *)0x0) break;\n            pwStack_14c = (word *)(int)(char)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))\n            ;\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n            if ((unaff_s4 == pwStack_14c) &&\n               (piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0)) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n              unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n              pwStack_14c = *(word **)unaff_s4;\n            }\n            if (pwStack_14c == (word *)0x0) break;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\njoined_r0x000facac:\n              if ((word *)param_4 != pwStack_14c) break;\n            }\n            else {\n              pbVar24 = (byte *)((int)pwStack_148 + *(int *)pwStack_144);\n              uVar7 = (**(code **)(puStack_158 + -0x60fc))(pbVar24);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,pbVar24,uVar7,unaff_s7);\n              unaff_s4 = (word *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n              pwVar15 = (word *)(**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              pwVar14 = unaff_s4;\n              iVar5 = (**(code **)(puStack_158 + -0x6084))(&pbStack_120,unaff_s4,pwVar15,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar5 + 2U < 2)) goto joined_r0x000facac;\n              param_4 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_124);\n              pbStack_124 = param_4;\n              pbStack_120 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_120);\n              if (param_4 != pbStack_120) break;\n              if (1 < uStack_138) {\n                pwVar16 = (word *)((int)pwStack_148 + (uStack_138 - 1));\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\nLAB_000fac1c:\n          bVar3 = (int)pwVar16 < (int)pwStack_140;\n        }\n        pwVar6 = pwStack_130;\n        if (bVar3) {\n          pwStack_140 = pwVar16;\n        }\n        pwStack_13c = (word *)((int)pwStack_13c + 1);\n        pwVar18 = pwVar18 + 2;\n      } while (param_2 != pwStack_13c);" (do "do") (compound_statement "{\n        uVar4 = (**(code **)(puStack_158 + -0x6060))();\n        if ((1 < uVar4) && (*(int *)unaff_s3 == 0)) {\n          uStack_11c = 0;\n          uStack_118 = 0;\n          uStack_114 = 0;\n          uStack_110 = 0;\n        }\n        if (*piStack_134 == 0) {\n          param_4 = (byte *)(int)**(char **)pwVar18;\n          unaff_s5 = pwVar18;\n          if (param_4 == (byte *)0x0) {\n            pwVar16 = (word *)0x0;\n            goto LAB_000fac1c;\n          }\n          pwVar16 = (word *)(int)**(char **)(pwVar18 + 2);\n          pwStack_14c = (word *)0x0;\n          unaff_s4 = pwVar16;\n          if (pwVar16 == (word *)0x0) goto LAB_000fac1c;\n          unaff_s6 = (word *)&uStack_11c;\n          pwStack_148 = (word *)&uStack_114;\n          unaff_s7 = (word *)&uStack_10c;\n          do {\n            pwVar16 = pwStack_14c;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\n              if ((word *)param_4 != unaff_s4) goto LAB_000fac1c;\n            }\n            else {\n              uStack_10c = uStack_11c;\n              uStack_108 = uStack_118;\n              pwStack_15c = pwStack_148;\n              pwVar15 = unaff_s6;\n              pwStack_160 = pwVar16;\n              iVar5 = (**(code **)(puStack_158 + -0x65b8))\n                                (*(undefined4 *)pwVar18,pwVar16,unaff_s6,\n                                 *(undefined4 *)(pwVar18 + 2));\n              pwVar14 = unaff_s7;\n              if (iVar5 == 0) goto LAB_000fac1c;\n              iVar5 = (**(code **)(puStack_158 + -0x65b4))\n                                ((byte *)((int)pwStack_14c + *(int *)pwVar18));\n              if (1 < iVar5) {\n                pwVar16 = (word *)((int)pwVar16 + iVar5 + -1);\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_14c = pwVar16;\n            if (param_4 == (byte *)0x0) goto LAB_000fac1c;\n            unaff_s4 = (word *)(int)(char)*(byte *)((int)pwVar16 + *(int *)(pwVar18 + 2));\n            bVar3 = (int)pwVar16 < (int)pwStack_140;\n          } while (unaff_s4 != (word *)0x0);\n        }\n        else {\n          pwVar16 = (word *)0x0;\n          unaff_s7 = (word *)&uStack_11c;\n          unaff_s6 = (word *)&uStack_114;\n          while( true ) {\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_148 = pwVar16;\n            pwStack_144 = pwVar18;\n            if (unaff_s4 == (word *)param_4) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))();\n              if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n                param_4 = *(byte **)unaff_s4;\n              }\n            }\n            unaff_s5 = (word *)&pbStack_120;\n            if (param_4 == (byte *)0x0) break;\n            pwStack_14c = (word *)(int)(char)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))\n            ;\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n            if ((unaff_s4 == pwStack_14c) &&\n               (piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0)) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n              unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n              pwStack_14c = *(word **)unaff_s4;\n            }\n            if (pwStack_14c == (word *)0x0) break;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\njoined_r0x000facac:\n              if ((word *)param_4 != pwStack_14c) break;\n            }\n            else {\n              pbVar24 = (byte *)((int)pwStack_148 + *(int *)pwStack_144);\n              uVar7 = (**(code **)(puStack_158 + -0x60fc))(pbVar24);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,pbVar24,uVar7,unaff_s7);\n              unaff_s4 = (word *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n              pwVar15 = (word *)(**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              pwVar14 = unaff_s4;\n              iVar5 = (**(code **)(puStack_158 + -0x6084))(&pbStack_120,unaff_s4,pwVar15,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar5 + 2U < 2)) goto joined_r0x000facac;\n              param_4 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_124);\n              pbStack_124 = param_4;\n              pbStack_120 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_120);\n              if (param_4 != pbStack_120) break;\n              if (1 < uStack_138) {\n                pwVar16 = (word *)((int)pwStack_148 + (uStack_138 - 1));\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\nLAB_000fac1c:\n          bVar3 = (int)pwVar16 < (int)pwStack_140;\n        }\n        pwVar6 = pwStack_130;\n        if (bVar3) {\n          pwStack_140 = pwVar16;\n        }\n        pwStack_13c = (word *)((int)pwStack_13c + 1);\n        pwVar18 = pwVar18 + 2;\n      }" ({ "{") (expression_statement "uVar4 = (**(code **)(puStack_158 + -0x6060))();" (assignment_expression "uVar4 = (**(code **)(puStack_158 + -0x6060))()" (identifier "uVar4") (= "=") (call_expression "(**(code **)(puStack_158 + -0x6060))()" (parenthesized_expression "(**(code **)(puStack_158 + -0x6060))" (( "(") (pointer_expression "**(code **)(puStack_158 + -0x6060)" (* "*") (pointer_expression "*(code **)(puStack_158 + -0x6060)" (* "*") (cast_expression "(code **)(puStack_158 + -0x6060)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_158 + -0x6060)" (( "(") (binary_expression "puStack_158 + -0x6060" (identifier "puStack_158") (+ "+") (number_literal "-0x6060")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if ((1 < uVar4) && (*(int *)unaff_s3 == 0)) {\n          uStack_11c = 0;\n          uStack_118 = 0;\n          uStack_114 = 0;\n          uStack_110 = 0;\n        }" (if "if") (parenthesized_expression "((1 < uVar4) && (*(int *)unaff_s3 == 0))" (( "(") (binary_expression "(1 < uVar4) && (*(int *)unaff_s3 == 0)" (parenthesized_expression "(1 < uVar4)" (( "(") (binary_expression "1 < uVar4" (number_literal "1") (< "<") (identifier "uVar4")) () ")")) (&& "&&") (parenthesized_expression "(*(int *)unaff_s3 == 0)" (( "(") (binary_expression "*(int *)unaff_s3 == 0" (pointer_expression "*(int *)unaff_s3" (* "*") (cast_expression "(int *)unaff_s3" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "unaff_s3"))) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n          uStack_11c = 0;\n          uStack_118 = 0;\n          uStack_114 = 0;\n          uStack_110 = 0;\n        }" ({ "{") (expression_statement "uStack_11c = 0;" (assignment_expression "uStack_11c = 0" (identifier "uStack_11c") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_118 = 0;" (assignment_expression "uStack_118 = 0" (identifier "uStack_118") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_114 = 0;" (assignment_expression "uStack_114 = 0" (identifier "uStack_114") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_110 = 0;" (assignment_expression "uStack_110 = 0" (identifier "uStack_110") (= "=") (number_literal "0")) (; ";")) (} "}"))) (if_statement "if (*piStack_134 == 0) {\n          param_4 = (byte *)(int)**(char **)pwVar18;\n          unaff_s5 = pwVar18;\n          if (param_4 == (byte *)0x0) {\n            pwVar16 = (word *)0x0;\n            goto LAB_000fac1c;\n          }\n          pwVar16 = (word *)(int)**(char **)(pwVar18 + 2);\n          pwStack_14c = (word *)0x0;\n          unaff_s4 = pwVar16;\n          if (pwVar16 == (word *)0x0) goto LAB_000fac1c;\n          unaff_s6 = (word *)&uStack_11c;\n          pwStack_148 = (word *)&uStack_114;\n          unaff_s7 = (word *)&uStack_10c;\n          do {\n            pwVar16 = pwStack_14c;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\n              if ((word *)param_4 != unaff_s4) goto LAB_000fac1c;\n            }\n            else {\n              uStack_10c = uStack_11c;\n              uStack_108 = uStack_118;\n              pwStack_15c = pwStack_148;\n              pwVar15 = unaff_s6;\n              pwStack_160 = pwVar16;\n              iVar5 = (**(code **)(puStack_158 + -0x65b8))\n                                (*(undefined4 *)pwVar18,pwVar16,unaff_s6,\n                                 *(undefined4 *)(pwVar18 + 2));\n              pwVar14 = unaff_s7;\n              if (iVar5 == 0) goto LAB_000fac1c;\n              iVar5 = (**(code **)(puStack_158 + -0x65b4))\n                                ((byte *)((int)pwStack_14c + *(int *)pwVar18));\n              if (1 < iVar5) {\n                pwVar16 = (word *)((int)pwVar16 + iVar5 + -1);\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_14c = pwVar16;\n            if (param_4 == (byte *)0x0) goto LAB_000fac1c;\n            unaff_s4 = (word *)(int)(char)*(byte *)((int)pwVar16 + *(int *)(pwVar18 + 2));\n            bVar3 = (int)pwVar16 < (int)pwStack_140;\n          } while (unaff_s4 != (word *)0x0);\n        }\n        else {\n          pwVar16 = (word *)0x0;\n          unaff_s7 = (word *)&uStack_11c;\n          unaff_s6 = (word *)&uStack_114;\n          while( true ) {\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_148 = pwVar16;\n            pwStack_144 = pwVar18;\n            if (unaff_s4 == (word *)param_4) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))();\n              if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n                param_4 = *(byte **)unaff_s4;\n              }\n            }\n            unaff_s5 = (word *)&pbStack_120;\n            if (param_4 == (byte *)0x0) break;\n            pwStack_14c = (word *)(int)(char)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))\n            ;\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n            if ((unaff_s4 == pwStack_14c) &&\n               (piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0)) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n              unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n              pwStack_14c = *(word **)unaff_s4;\n            }\n            if (pwStack_14c == (word *)0x0) break;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\njoined_r0x000facac:\n              if ((word *)param_4 != pwStack_14c) break;\n            }\n            else {\n              pbVar24 = (byte *)((int)pwStack_148 + *(int *)pwStack_144);\n              uVar7 = (**(code **)(puStack_158 + -0x60fc))(pbVar24);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,pbVar24,uVar7,unaff_s7);\n              unaff_s4 = (word *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n              pwVar15 = (word *)(**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              pwVar14 = unaff_s4;\n              iVar5 = (**(code **)(puStack_158 + -0x6084))(&pbStack_120,unaff_s4,pwVar15,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar5 + 2U < 2)) goto joined_r0x000facac;\n              param_4 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_124);\n              pbStack_124 = param_4;\n              pbStack_120 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_120);\n              if (param_4 != pbStack_120) break;\n              if (1 < uStack_138) {\n                pwVar16 = (word *)((int)pwStack_148 + (uStack_138 - 1));\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\nLAB_000fac1c:\n          bVar3 = (int)pwVar16 < (int)pwStack_140;\n        }" (if "if") (parenthesized_expression "(*piStack_134 == 0)" (( "(") (binary_expression "*piStack_134 == 0" (pointer_expression "*piStack_134" (* "*") (identifier "piStack_134")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          param_4 = (byte *)(int)**(char **)pwVar18;\n          unaff_s5 = pwVar18;\n          if (param_4 == (byte *)0x0) {\n            pwVar16 = (word *)0x0;\n            goto LAB_000fac1c;\n          }\n          pwVar16 = (word *)(int)**(char **)(pwVar18 + 2);\n          pwStack_14c = (word *)0x0;\n          unaff_s4 = pwVar16;\n          if (pwVar16 == (word *)0x0) goto LAB_000fac1c;\n          unaff_s6 = (word *)&uStack_11c;\n          pwStack_148 = (word *)&uStack_114;\n          unaff_s7 = (word *)&uStack_10c;\n          do {\n            pwVar16 = pwStack_14c;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\n              if ((word *)param_4 != unaff_s4) goto LAB_000fac1c;\n            }\n            else {\n              uStack_10c = uStack_11c;\n              uStack_108 = uStack_118;\n              pwStack_15c = pwStack_148;\n              pwVar15 = unaff_s6;\n              pwStack_160 = pwVar16;\n              iVar5 = (**(code **)(puStack_158 + -0x65b8))\n                                (*(undefined4 *)pwVar18,pwVar16,unaff_s6,\n                                 *(undefined4 *)(pwVar18 + 2));\n              pwVar14 = unaff_s7;\n              if (iVar5 == 0) goto LAB_000fac1c;\n              iVar5 = (**(code **)(puStack_158 + -0x65b4))\n                                ((byte *)((int)pwStack_14c + *(int *)pwVar18));\n              if (1 < iVar5) {\n                pwVar16 = (word *)((int)pwVar16 + iVar5 + -1);\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_14c = pwVar16;\n            if (param_4 == (byte *)0x0) goto LAB_000fac1c;\n            unaff_s4 = (word *)(int)(char)*(byte *)((int)pwVar16 + *(int *)(pwVar18 + 2));\n            bVar3 = (int)pwVar16 < (int)pwStack_140;\n          } while (unaff_s4 != (word *)0x0);\n        }" ({ "{") (expression_statement "param_4 = (byte *)(int)**(char **)pwVar18;" (assignment_expression "param_4 = (byte *)(int)**(char **)pwVar18" (identifier "param_4") (= "=") (cast_expression "(byte *)(int)**(char **)pwVar18" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(int)**(char **)pwVar18" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "**(char **)pwVar18" (* "*") (pointer_expression "*(char **)pwVar18" (* "*") (cast_expression "(char **)pwVar18" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "pwVar18"))))))) (; ";")) (expression_statement "unaff_s5 = pwVar18;" (assignment_expression "unaff_s5 = pwVar18" (identifier "unaff_s5") (= "=") (identifier "pwVar18")) (; ";")) (if_statement "if (param_4 == (byte *)0x0) {\n            pwVar16 = (word *)0x0;\n            goto LAB_000fac1c;\n          }" (if "if") (parenthesized_expression "(param_4 == (byte *)0x0)" (( "(") (binary_expression "param_4 == (byte *)0x0" (identifier "param_4") (== "==") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            pwVar16 = (word *)0x0;\n            goto LAB_000fac1c;\n          }" ({ "{") (expression_statement "pwVar16 = (word *)0x0;" (assignment_expression "pwVar16 = (word *)0x0" (identifier "pwVar16") (= "=") (cast_expression "(word *)0x0" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (goto_statement "goto LAB_000fac1c;" (goto "goto") (statement_identifier "LAB_000fac1c") (; ";")) (} "}"))) (expression_statement "pwVar16 = (word *)(int)**(char **)(pwVar18 + 2);" (assignment_expression "pwVar16 = (word *)(int)**(char **)(pwVar18 + 2)" (identifier "pwVar16") (= "=") (cast_expression "(word *)(int)**(char **)(pwVar18 + 2)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(int)**(char **)(pwVar18 + 2)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "**(char **)(pwVar18 + 2)" (* "*") (pointer_expression "*(char **)(pwVar18 + 2)" (* "*") (cast_expression "(char **)(pwVar18 + 2)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pwVar18 + 2)" (( "(") (binary_expression "pwVar18 + 2" (identifier "pwVar18") (+ "+") (number_literal "2")) () ")")))))))) (; ";")) (expression_statement "pwStack_14c = (word *)0x0;" (assignment_expression "pwStack_14c = (word *)0x0" (identifier "pwStack_14c") (= "=") (cast_expression "(word *)0x0" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "unaff_s4 = pwVar16;" (assignment_expression "unaff_s4 = pwVar16" (identifier "unaff_s4") (= "=") (identifier "pwVar16")) (; ";")) (if_statement "if (pwVar16 == (word *)0x0) goto LAB_000fac1c;" (if "if") (parenthesized_expression "(pwVar16 == (word *)0x0)" (( "(") (binary_expression "pwVar16 == (word *)0x0" (identifier "pwVar16") (== "==") (cast_expression "(word *)0x0" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000fac1c;" (goto "goto") (statement_identifier "LAB_000fac1c") (; ";"))) (expression_statement "unaff_s6 = (word *)&uStack_11c;" (assignment_expression "unaff_s6 = (word *)&uStack_11c" (identifier "unaff_s6") (= "=") (cast_expression "(word *)&uStack_11c" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&uStack_11c" (& "&") (identifier "uStack_11c")))) (; ";")) (expression_statement "pwStack_148 = (word *)&uStack_114;" (assignment_expression "pwStack_148 = (word *)&uStack_114" (identifier "pwStack_148") (= "=") (cast_expression "(word *)&uStack_114" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&uStack_114" (& "&") (identifier "uStack_114")))) (; ";")) (expression_statement "unaff_s7 = (word *)&uStack_10c;" (assignment_expression "unaff_s7 = (word *)&uStack_10c" (identifier "unaff_s7") (= "=") (cast_expression "(word *)&uStack_10c" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&uStack_10c" (& "&") (identifier "uStack_10c")))) (; ";")) (do_statement "do {\n            pwVar16 = pwStack_14c;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\n              if ((word *)param_4 != unaff_s4) goto LAB_000fac1c;\n            }\n            else {\n              uStack_10c = uStack_11c;\n              uStack_108 = uStack_118;\n              pwStack_15c = pwStack_148;\n              pwVar15 = unaff_s6;\n              pwStack_160 = pwVar16;\n              iVar5 = (**(code **)(puStack_158 + -0x65b8))\n                                (*(undefined4 *)pwVar18,pwVar16,unaff_s6,\n                                 *(undefined4 *)(pwVar18 + 2));\n              pwVar14 = unaff_s7;\n              if (iVar5 == 0) goto LAB_000fac1c;\n              iVar5 = (**(code **)(puStack_158 + -0x65b4))\n                                ((byte *)((int)pwStack_14c + *(int *)pwVar18));\n              if (1 < iVar5) {\n                pwVar16 = (word *)((int)pwVar16 + iVar5 + -1);\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_14c = pwVar16;\n            if (param_4 == (byte *)0x0) goto LAB_000fac1c;\n            unaff_s4 = (word *)(int)(char)*(byte *)((int)pwVar16 + *(int *)(pwVar18 + 2));\n            bVar3 = (int)pwVar16 < (int)pwStack_140;\n          } while (unaff_s4 != (word *)0x0);" (do "do") (compound_statement "{\n            pwVar16 = pwStack_14c;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\n              if ((word *)param_4 != unaff_s4) goto LAB_000fac1c;\n            }\n            else {\n              uStack_10c = uStack_11c;\n              uStack_108 = uStack_118;\n              pwStack_15c = pwStack_148;\n              pwVar15 = unaff_s6;\n              pwStack_160 = pwVar16;\n              iVar5 = (**(code **)(puStack_158 + -0x65b8))\n                                (*(undefined4 *)pwVar18,pwVar16,unaff_s6,\n                                 *(undefined4 *)(pwVar18 + 2));\n              pwVar14 = unaff_s7;\n              if (iVar5 == 0) goto LAB_000fac1c;\n              iVar5 = (**(code **)(puStack_158 + -0x65b4))\n                                ((byte *)((int)pwStack_14c + *(int *)pwVar18));\n              if (1 < iVar5) {\n                pwVar16 = (word *)((int)pwVar16 + iVar5 + -1);\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_14c = pwVar16;\n            if (param_4 == (byte *)0x0) goto LAB_000fac1c;\n            unaff_s4 = (word *)(int)(char)*(byte *)((int)pwVar16 + *(int *)(pwVar18 + 2));\n            bVar3 = (int)pwVar16 < (int)pwStack_140;\n          }" ({ "{") (expression_statement "pwVar16 = pwStack_14c;" (assignment_expression "pwVar16 = pwStack_14c" (identifier "pwVar16") (= "=") (identifier "pwStack_14c")) (; ";")) (expression_statement "uVar4 = (**(code **)(puStack_158 + -0x6060))();" (assignment_expression "uVar4 = (**(code **)(puStack_158 + -0x6060))()" (identifier "uVar4") (= "=") (call_expression "(**(code **)(puStack_158 + -0x6060))()" (parenthesized_expression "(**(code **)(puStack_158 + -0x6060))" (( "(") (pointer_expression "**(code **)(puStack_158 + -0x6060)" (* "*") (pointer_expression "*(code **)(puStack_158 + -0x6060)" (* "*") (cast_expression "(code **)(puStack_158 + -0x6060)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_158 + -0x6060)" (( "(") (binary_expression "puStack_158 + -0x6060" (identifier "puStack_158") (+ "+") (number_literal "-0x6060")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\n              if ((word *)param_4 != unaff_s4) goto LAB_000fac1c;\n            }\n            else {\n              uStack_10c = uStack_11c;\n              uStack_108 = uStack_118;\n              pwStack_15c = pwStack_148;\n              pwVar15 = unaff_s6;\n              pwStack_160 = pwVar16;\n              iVar5 = (**(code **)(puStack_158 + -0x65b8))\n                                (*(undefined4 *)pwVar18,pwVar16,unaff_s6,\n                                 *(undefined4 *)(pwVar18 + 2));\n              pwVar14 = unaff_s7;\n              if (iVar5 == 0) goto LAB_000fac1c;\n              iVar5 = (**(code **)(puStack_158 + -0x65b4))\n                                ((byte *)((int)pwStack_14c + *(int *)pwVar18));\n              if (1 < iVar5) {\n                pwVar16 = (word *)((int)pwVar16 + iVar5 + -1);\n              }\n            }" (if "if") (parenthesized_expression "((uVar4 < 2) || (*(int *)unaff_s3 != 0))" (( "(") (binary_expression "(uVar4 < 2) || (*(int *)unaff_s3 != 0)" (parenthesized_expression "(uVar4 < 2)" (( "(") (binary_expression "uVar4 < 2" (identifier "uVar4") (< "<") (number_literal "2")) () ")")) (|| "||") (parenthesized_expression "(*(int *)unaff_s3 != 0)" (( "(") (binary_expression "*(int *)unaff_s3 != 0" (pointer_expression "*(int *)unaff_s3" (* "*") (cast_expression "(int *)unaff_s3" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "unaff_s3"))) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n              if ((word *)param_4 != unaff_s4) goto LAB_000fac1c;\n            }" ({ "{") (if_statement "if ((word *)param_4 != unaff_s4) goto LAB_000fac1c;" (if "if") (parenthesized_expression "((word *)param_4 != unaff_s4)" (( "(") (binary_expression "(word *)param_4 != unaff_s4" (cast_expression "(word *)param_4" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_4")) (!= "!=") (identifier "unaff_s4")) () ")")) (goto_statement "goto LAB_000fac1c;" (goto "goto") (statement_identifier "LAB_000fac1c") (; ";"))) (} "}")) (else_clause "else {\n              uStack_10c = uStack_11c;\n              uStack_108 = uStack_118;\n              pwStack_15c = pwStack_148;\n              pwVar15 = unaff_s6;\n              pwStack_160 = pwVar16;\n              iVar5 = (**(code **)(puStack_158 + -0x65b8))\n                                (*(undefined4 *)pwVar18,pwVar16,unaff_s6,\n                                 *(undefined4 *)(pwVar18 + 2));\n              pwVar14 = unaff_s7;\n              if (iVar5 == 0) goto LAB_000fac1c;\n              iVar5 = (**(code **)(puStack_158 + -0x65b4))\n                                ((byte *)((int)pwStack_14c + *(int *)pwVar18));\n              if (1 < iVar5) {\n                pwVar16 = (word *)((int)pwVar16 + iVar5 + -1);\n              }\n            }" (else "else") (compound_statement "{\n              uStack_10c = uStack_11c;\n              uStack_108 = uStack_118;\n              pwStack_15c = pwStack_148;\n              pwVar15 = unaff_s6;\n              pwStack_160 = pwVar16;\n              iVar5 = (**(code **)(puStack_158 + -0x65b8))\n                                (*(undefined4 *)pwVar18,pwVar16,unaff_s6,\n                                 *(undefined4 *)(pwVar18 + 2));\n              pwVar14 = unaff_s7;\n              if (iVar5 == 0) goto LAB_000fac1c;\n              iVar5 = (**(code **)(puStack_158 + -0x65b4))\n                                ((byte *)((int)pwStack_14c + *(int *)pwVar18));\n              if (1 < iVar5) {\n                pwVar16 = (word *)((int)pwVar16 + iVar5 + -1);\n              }\n            }" ({ "{") (expression_statement "uStack_10c = uStack_11c;" (assignment_expression "uStack_10c = uStack_11c" (identifier "uStack_10c") (= "=") (identifier "uStack_11c")) (; ";")) (expression_statement "uStack_108 = uStack_118;" (assignment_expression "uStack_108 = uStack_118" (identifier "uStack_108") (= "=") (identifier "uStack_118")) (; ";")) (expression_statement "pwStack_15c = pwStack_148;" (assignment_expression "pwStack_15c = pwStack_148" (identifier "pwStack_15c") (= "=") (identifier "pwStack_148")) (; ";")) (expression_statement "pwVar15 = unaff_s6;" (assignment_expression "pwVar15 = unaff_s6" (identifier "pwVar15") (= "=") (identifier "unaff_s6")) (; ";")) (expression_statement "pwStack_160 = pwVar16;" (assignment_expression "pwStack_160 = pwVar16" (identifier "pwStack_160") (= "=") (identifier "pwVar16")) (; ";")) (expression_statement "iVar5 = (**(code **)(puStack_158 + -0x65b8))\n                                (*(undefined4 *)pwVar18,pwVar16,unaff_s6,\n                                 *(undefined4 *)(pwVar18 + 2));" (assignment_expression "iVar5 = (**(code **)(puStack_158 + -0x65b8))\n                                (*(undefined4 *)pwVar18,pwVar16,unaff_s6,\n                                 *(undefined4 *)(pwVar18 + 2))" (identifier "iVar5") (= "=") (call_expression "(**(code **)(puStack_158 + -0x65b8))\n                                (*(undefined4 *)pwVar18,pwVar16,unaff_s6,\n                                 *(undefined4 *)(pwVar18 + 2))" (parenthesized_expression "(**(code **)(puStack_158 + -0x65b8))" (( "(") (pointer_expression "**(code **)(puStack_158 + -0x65b8)" (* "*") (pointer_expression "*(code **)(puStack_158 + -0x65b8)" (* "*") (cast_expression "(code **)(puStack_158 + -0x65b8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_158 + -0x65b8)" (( "(") (binary_expression "puStack_158 + -0x65b8" (identifier "puStack_158") (+ "+") (number_literal "-0x65b8")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)pwVar18,pwVar16,unaff_s6,\n                                 *(undefined4 *)(pwVar18 + 2))" (( "(") (pointer_expression "*(undefined4 *)pwVar18" (* "*") (cast_expression "(undefined4 *)pwVar18" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pwVar18"))) (, ",") (identifier "pwVar16") (, ",") (identifier "unaff_s6") (, ",") (pointer_expression "*(undefined4 *)(pwVar18 + 2)" (* "*") (cast_expression "(undefined4 *)(pwVar18 + 2)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pwVar18 + 2)" (( "(") (binary_expression "pwVar18 + 2" (identifier "pwVar18") (+ "+") (number_literal "2")) () ")")))) () ")")))) (; ";")) (expression_statement "pwVar14 = unaff_s7;" (assignment_expression "pwVar14 = unaff_s7" (identifier "pwVar14") (= "=") (identifier "unaff_s7")) (; ";")) (if_statement "if (iVar5 == 0) goto LAB_000fac1c;" (if "if") (parenthesized_expression "(iVar5 == 0)" (( "(") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000fac1c;" (goto "goto") (statement_identifier "LAB_000fac1c") (; ";"))) (expression_statement "iVar5 = (**(code **)(puStack_158 + -0x65b4))\n                                ((byte *)((int)pwStack_14c + *(int *)pwVar18));" (assignment_expression "iVar5 = (**(code **)(puStack_158 + -0x65b4))\n                                ((byte *)((int)pwStack_14c + *(int *)pwVar18))" (identifier "iVar5") (= "=") (call_expression "(**(code **)(puStack_158 + -0x65b4))\n                                ((byte *)((int)pwStack_14c + *(int *)pwVar18))" (parenthesized_expression "(**(code **)(puStack_158 + -0x65b4))" (( "(") (pointer_expression "**(code **)(puStack_158 + -0x65b4)" (* "*") (pointer_expression "*(code **)(puStack_158 + -0x65b4)" (* "*") (cast_expression "(code **)(puStack_158 + -0x65b4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_158 + -0x65b4)" (( "(") (binary_expression "puStack_158 + -0x65b4" (identifier "puStack_158") (+ "+") (number_literal "-0x65b4")) () ")"))))) () ")")) (argument_list "((byte *)((int)pwStack_14c + *(int *)pwVar18))" (( "(") (cast_expression "(byte *)((int)pwStack_14c + *(int *)pwVar18)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pwStack_14c + *(int *)pwVar18)" (( "(") (binary_expression "(int)pwStack_14c + *(int *)pwVar18" (cast_expression "(int)pwStack_14c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pwStack_14c")) (+ "+") (pointer_expression "*(int *)pwVar18" (* "*") (cast_expression "(int *)pwVar18" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pwVar18")))) () ")"))) () ")")))) (; ";")) (if_statement "if (1 < iVar5) {\n                pwVar16 = (word *)((int)pwVar16 + iVar5 + -1);\n              }" (if "if") (parenthesized_expression "(1 < iVar5)" (( "(") (binary_expression "1 < iVar5" (number_literal "1") (< "<") (identifier "iVar5")) () ")")) (compound_statement "{\n                pwVar16 = (word *)((int)pwVar16 + iVar5 + -1);\n              }" ({ "{") (expression_statement "pwVar16 = (word *)((int)pwVar16 + iVar5 + -1);" (assignment_expression "pwVar16 = (word *)((int)pwVar16 + iVar5 + -1)" (identifier "pwVar16") (= "=") (cast_expression "(word *)((int)pwVar16 + iVar5 + -1)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pwVar16 + iVar5 + -1)" (( "(") (binary_expression "(int)pwVar16 + iVar5 + -1" (binary_expression "(int)pwVar16 + iVar5" (cast_expression "(int)pwVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pwVar16")) (+ "+") (identifier "iVar5")) (+ "+") (number_literal "-1")) () ")")))) (; ";")) (} "}"))) (} "}")))) (expression_statement "pwVar16 = (word *)((int)pwVar16 + 1);" (assignment_expression "pwVar16 = (word *)((int)pwVar16 + 1)" (identifier "pwVar16") (= "=") (cast_expression "(word *)((int)pwVar16 + 1)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pwVar16 + 1)" (( "(") (binary_expression "(int)pwVar16 + 1" (cast_expression "(int)pwVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pwVar16")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);" (assignment_expression "param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18)" (identifier "param_4") (= "=") (cast_expression "(byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)*(byte *)((int)pwVar16 + *(int *)pwVar18)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (pointer_expression "*(byte *)((int)pwVar16 + *(int *)pwVar18)" (* "*") (cast_expression "(byte *)((int)pwVar16 + *(int *)pwVar18)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pwVar16 + *(int *)pwVar18)" (( "(") (binary_expression "(int)pwVar16 + *(int *)pwVar18" (cast_expression "(int)pwVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pwVar16")) (+ "+") (pointer_expression "*(int *)pwVar18" (* "*") (cast_expression "(int *)pwVar18" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pwVar18")))) () ")")))))))) (; ";")) (expression_statement "pwStack_14c = pwVar16;" (assignment_expression "pwStack_14c = pwVar16" (identifier "pwStack_14c") (= "=") (identifier "pwVar16")) (; ";")) (if_statement "if (param_4 == (byte *)0x0) goto LAB_000fac1c;" (if "if") (parenthesized_expression "(param_4 == (byte *)0x0)" (( "(") (binary_expression "param_4 == (byte *)0x0" (identifier "param_4") (== "==") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000fac1c;" (goto "goto") (statement_identifier "LAB_000fac1c") (; ";"))) (expression_statement "unaff_s4 = (word *)(int)(char)*(byte *)((int)pwVar16 + *(int *)(pwVar18 + 2));" (assignment_expression "unaff_s4 = (word *)(int)(char)*(byte *)((int)pwVar16 + *(int *)(pwVar18 + 2))" (identifier "unaff_s4") (= "=") (cast_expression "(word *)(int)(char)*(byte *)((int)pwVar16 + *(int *)(pwVar18 + 2))" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(int)(char)*(byte *)((int)pwVar16 + *(int *)(pwVar18 + 2))" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)*(byte *)((int)pwVar16 + *(int *)(pwVar18 + 2))" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (pointer_expression "*(byte *)((int)pwVar16 + *(int *)(pwVar18 + 2))" (* "*") (cast_expression "(byte *)((int)pwVar16 + *(int *)(pwVar18 + 2))" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pwVar16 + *(int *)(pwVar18 + 2))" (( "(") (binary_expression "(int)pwVar16 + *(int *)(pwVar18 + 2)" (cast_expression "(int)pwVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pwVar16")) (+ "+") (pointer_expression "*(int *)(pwVar18 + 2)" (* "*") (cast_expression "(int *)(pwVar18 + 2)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pwVar18 + 2)" (( "(") (binary_expression "pwVar18 + 2" (identifier "pwVar18") (+ "+") (number_literal "2")) () ")"))))) () ")")))))))) (; ";")) (expression_statement "bVar3 = (int)pwVar16 < (int)pwStack_140;" (assignment_expression "bVar3 = (int)pwVar16 < (int)pwStack_140" (identifier "bVar3") (= "=") (binary_expression "(int)pwVar16 < (int)pwStack_140" (cast_expression "(int)pwVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pwVar16")) (< "<") (cast_expression "(int)pwStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pwStack_140")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(unaff_s4 != (word *)0x0)" (( "(") (binary_expression "unaff_s4 != (word *)0x0" (identifier "unaff_s4") (!= "!=") (cast_expression "(word *)0x0" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (} "}")) (else_clause "else {\n          pwVar16 = (word *)0x0;\n          unaff_s7 = (word *)&uStack_11c;\n          unaff_s6 = (word *)&uStack_114;\n          while( true ) {\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_148 = pwVar16;\n            pwStack_144 = pwVar18;\n            if (unaff_s4 == (word *)param_4) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))();\n              if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n                param_4 = *(byte **)unaff_s4;\n              }\n            }\n            unaff_s5 = (word *)&pbStack_120;\n            if (param_4 == (byte *)0x0) break;\n            pwStack_14c = (word *)(int)(char)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))\n            ;\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n            if ((unaff_s4 == pwStack_14c) &&\n               (piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0)) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n              unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n              pwStack_14c = *(word **)unaff_s4;\n            }\n            if (pwStack_14c == (word *)0x0) break;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\njoined_r0x000facac:\n              if ((word *)param_4 != pwStack_14c) break;\n            }\n            else {\n              pbVar24 = (byte *)((int)pwStack_148 + *(int *)pwStack_144);\n              uVar7 = (**(code **)(puStack_158 + -0x60fc))(pbVar24);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,pbVar24,uVar7,unaff_s7);\n              unaff_s4 = (word *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n              pwVar15 = (word *)(**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              pwVar14 = unaff_s4;\n              iVar5 = (**(code **)(puStack_158 + -0x6084))(&pbStack_120,unaff_s4,pwVar15,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar5 + 2U < 2)) goto joined_r0x000facac;\n              param_4 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_124);\n              pbStack_124 = param_4;\n              pbStack_120 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_120);\n              if (param_4 != pbStack_120) break;\n              if (1 < uStack_138) {\n                pwVar16 = (word *)((int)pwStack_148 + (uStack_138 - 1));\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\nLAB_000fac1c:\n          bVar3 = (int)pwVar16 < (int)pwStack_140;\n        }" (else "else") (compound_statement "{\n          pwVar16 = (word *)0x0;\n          unaff_s7 = (word *)&uStack_11c;\n          unaff_s6 = (word *)&uStack_114;\n          while( true ) {\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_148 = pwVar16;\n            pwStack_144 = pwVar18;\n            if (unaff_s4 == (word *)param_4) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))();\n              if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n                param_4 = *(byte **)unaff_s4;\n              }\n            }\n            unaff_s5 = (word *)&pbStack_120;\n            if (param_4 == (byte *)0x0) break;\n            pwStack_14c = (word *)(int)(char)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))\n            ;\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n            if ((unaff_s4 == pwStack_14c) &&\n               (piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0)) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n              unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n              pwStack_14c = *(word **)unaff_s4;\n            }\n            if (pwStack_14c == (word *)0x0) break;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\njoined_r0x000facac:\n              if ((word *)param_4 != pwStack_14c) break;\n            }\n            else {\n              pbVar24 = (byte *)((int)pwStack_148 + *(int *)pwStack_144);\n              uVar7 = (**(code **)(puStack_158 + -0x60fc))(pbVar24);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,pbVar24,uVar7,unaff_s7);\n              unaff_s4 = (word *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n              pwVar15 = (word *)(**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              pwVar14 = unaff_s4;\n              iVar5 = (**(code **)(puStack_158 + -0x6084))(&pbStack_120,unaff_s4,pwVar15,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar5 + 2U < 2)) goto joined_r0x000facac;\n              param_4 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_124);\n              pbStack_124 = param_4;\n              pbStack_120 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_120);\n              if (param_4 != pbStack_120) break;\n              if (1 < uStack_138) {\n                pwVar16 = (word *)((int)pwStack_148 + (uStack_138 - 1));\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\nLAB_000fac1c:\n          bVar3 = (int)pwVar16 < (int)pwStack_140;\n        }" ({ "{") (expression_statement "pwVar16 = (word *)0x0;" (assignment_expression "pwVar16 = (word *)0x0" (identifier "pwVar16") (= "=") (cast_expression "(word *)0x0" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "unaff_s7 = (word *)&uStack_11c;" (assignment_expression "unaff_s7 = (word *)&uStack_11c" (identifier "unaff_s7") (= "=") (cast_expression "(word *)&uStack_11c" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&uStack_11c" (& "&") (identifier "uStack_11c")))) (; ";")) (expression_statement "unaff_s6 = (word *)&uStack_114;" (assignment_expression "unaff_s6 = (word *)&uStack_114" (identifier "unaff_s6") (= "=") (cast_expression "(word *)&uStack_114" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&uStack_114" (& "&") (identifier "uStack_114")))) (; ";")) (while_statement "while( true ) {\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_148 = pwVar16;\n            pwStack_144 = pwVar18;\n            if (unaff_s4 == (word *)param_4) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))();\n              if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n                param_4 = *(byte **)unaff_s4;\n              }\n            }\n            unaff_s5 = (word *)&pbStack_120;\n            if (param_4 == (byte *)0x0) break;\n            pwStack_14c = (word *)(int)(char)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))\n            ;\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n            if ((unaff_s4 == pwStack_14c) &&\n               (piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0)) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n              unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n              pwStack_14c = *(word **)unaff_s4;\n            }\n            if (pwStack_14c == (word *)0x0) break;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\njoined_r0x000facac:\n              if ((word *)param_4 != pwStack_14c) break;\n            }\n            else {\n              pbVar24 = (byte *)((int)pwStack_148 + *(int *)pwStack_144);\n              uVar7 = (**(code **)(puStack_158 + -0x60fc))(pbVar24);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,pbVar24,uVar7,unaff_s7);\n              unaff_s4 = (word *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n              pwVar15 = (word *)(**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              pwVar14 = unaff_s4;\n              iVar5 = (**(code **)(puStack_158 + -0x6084))(&pbStack_120,unaff_s4,pwVar15,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar5 + 2U < 2)) goto joined_r0x000facac;\n              param_4 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_124);\n              pbStack_124 = param_4;\n              pbStack_120 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_120);\n              if (param_4 != pbStack_120) break;\n              if (1 < uStack_138) {\n                pwVar16 = (word *)((int)pwStack_148 + (uStack_138 - 1));\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwVar16 + *(int *)pwVar18);\n            pwStack_148 = pwVar16;\n            pwStack_144 = pwVar18;\n            if (unaff_s4 == (word *)param_4) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))();\n              if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n                param_4 = *(byte **)unaff_s4;\n              }\n            }\n            unaff_s5 = (word *)&pbStack_120;\n            if (param_4 == (byte *)0x0) break;\n            pwStack_14c = (word *)(int)(char)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))\n            ;\n            unaff_s4 = (word *)(uint)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n            if ((unaff_s4 == pwStack_14c) &&\n               (piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0)) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n              unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n              pwStack_14c = *(word **)unaff_s4;\n            }\n            if (pwStack_14c == (word *)0x0) break;\n            uVar4 = (**(code **)(puStack_158 + -0x6060))();\n            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\njoined_r0x000facac:\n              if ((word *)param_4 != pwStack_14c) break;\n            }\n            else {\n              pbVar24 = (byte *)((int)pwStack_148 + *(int *)pwStack_144);\n              uVar7 = (**(code **)(puStack_158 + -0x60fc))(pbVar24);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,pbVar24,uVar7,unaff_s7);\n              unaff_s4 = (word *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n              pwVar15 = (word *)(**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              pwVar14 = unaff_s4;\n              iVar5 = (**(code **)(puStack_158 + -0x6084))(&pbStack_120,unaff_s4,pwVar15,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar5 + 2U < 2)) goto joined_r0x000facac;\n              param_4 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_124);\n              pbStack_124 = param_4;\n              pbStack_120 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_120);\n              if (param_4 != pbStack_120) break;\n              if (1 < uStack_138) {\n                pwVar16 = (word *)((int)pwStack_148 + (uStack_138 - 1));\n              }\n            }\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }" ({ "{") (expression_statement "param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);" (assignment_expression "param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18)" (identifier "param_4") (= "=") (cast_expression "(byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)*(byte *)((int)pwVar16 + *(int *)pwVar18)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (pointer_expression "*(byte *)((int)pwVar16 + *(int *)pwVar18)" (* "*") (cast_expression "(byte *)((int)pwVar16 + *(int *)pwVar18)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pwVar16 + *(int *)pwVar18)" (( "(") (binary_expression "(int)pwVar16 + *(int *)pwVar18" (cast_expression "(int)pwVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pwVar16")) (+ "+") (pointer_expression "*(int *)pwVar18" (* "*") (cast_expression "(int *)pwVar18" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pwVar18")))) () ")")))))))) (; ";")) (expression_statement "unaff_s4 = (word *)(uint)*(byte *)((int)pwVar16 + *(int *)pwVar18);" (assignment_expression "unaff_s4 = (word *)(uint)*(byte *)((int)pwVar16 + *(int *)pwVar18)" (identifier "unaff_s4") (= "=") (binary_expression "(word *)(uint)*(byte *)((int)pwVar16 + *(int *)pwVar18)" (cast_expression "(word *)(uint)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")"))) (* "*") (cast_expression "(byte *)((int)pwVar16 + *(int *)pwVar18)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pwVar16 + *(int *)pwVar18)" (( "(") (binary_expression "(int)pwVar16 + *(int *)pwVar18" (cast_expression "(int)pwVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pwVar16")) (+ "+") (pointer_expression "*(int *)pwVar18" (* "*") (cast_expression "(int *)pwVar18" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pwVar18")))) () ")"))))) (; ";")) (expression_statement "pwStack_148 = pwVar16;" (assignment_expression "pwStack_148 = pwVar16" (identifier "pwStack_148") (= "=") (identifier "pwVar16")) (; ";")) (expression_statement "pwStack_144 = pwVar18;" (assignment_expression "pwStack_144 = pwVar18" (identifier "pwStack_144") (= "=") (identifier "pwVar18")) (; ";")) (if_statement "if (unaff_s4 == (word *)param_4) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))();\n              if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n                param_4 = *(byte **)unaff_s4;\n              }\n            }" (if "if") (parenthesized_expression "(unaff_s4 == (word *)param_4)" (( "(") (binary_expression "unaff_s4 == (word *)param_4" (identifier "unaff_s4") (== "==") (cast_expression "(word *)param_4" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_4"))) () ")")) (compound_statement "{\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))();\n              if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n                param_4 = *(byte **)unaff_s4;\n              }\n            }" ({ "{") (expression_statement "piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))();" (assignment_expression "piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))()" (identifier "piVar9") (= "=") (cast_expression "(int *)(**(code **)(puStack_158 + -0x6290))()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puStack_158 + -0x6290))()" (parenthesized_expression "(**(code **)(puStack_158 + -0x6290))" (( "(") (pointer_expression "**(code **)(puStack_158 + -0x6290)" (* "*") (pointer_expression "*(code **)(puStack_158 + -0x6290)" (* "*") (cast_expression "(code **)(puStack_158 + -0x6290)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_158 + -0x6290)" (( "(") (binary_expression "puStack_158 + -0x6290" (identifier "puStack_158") (+ "+") (number_literal "-0x6290")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (if_statement "if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n                piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n                param_4 = *(byte **)unaff_s4;\n              }" (if "if") (parenthesized_expression "((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0)" (( "(") (binary_expression "(*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0" (parenthesized_expression "(*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1)" (( "(") (binary_expression "*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1" (pointer_expression "*(ushort *)(*piVar9 + (int)unaff_s4 * 2)" (* "*") (cast_expression "(ushort *)(*piVar9 + (int)unaff_s4 * 2)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar9 + (int)unaff_s4 * 2)" (( "(") (binary_expression "*piVar9 + (int)unaff_s4 * 2" (pointer_expression "*piVar9" (* "*") (identifier "piVar9")) (+ "+") (binary_expression "(int)unaff_s4 * 2" (cast_expression "(int)unaff_s4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s4")) (* "*") (number_literal "2"))) () ")")))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n                unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n                param_4 = *(byte **)unaff_s4;\n              }" ({ "{") (expression_statement "piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();" (assignment_expression "piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))()" (identifier "piVar9") (= "=") (cast_expression "(int *)(**(code **)(puStack_158 + -0x628c))()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puStack_158 + -0x628c))()" (parenthesized_expression "(**(code **)(puStack_158 + -0x628c))" (( "(") (pointer_expression "**(code **)(puStack_158 + -0x628c)" (* "*") (pointer_expression "*(code **)(puStack_158 + -0x628c)" (* "*") (cast_expression "(code **)(puStack_158 + -0x628c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_158 + -0x628c)" (( "(") (binary_expression "puStack_158 + -0x628c" (identifier "puStack_158") (+ "+") (number_literal "-0x628c")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);" (assignment_expression "unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4)" (identifier "unaff_s4") (= "=") (cast_expression "(word *)(*piVar9 + (int)unaff_s4 * 4)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar9 + (int)unaff_s4 * 4)" (( "(") (binary_expression "*piVar9 + (int)unaff_s4 * 4" (pointer_expression "*piVar9" (* "*") (identifier "piVar9")) (+ "+") (binary_expression "(int)unaff_s4 * 4" (cast_expression "(int)unaff_s4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s4")) (* "*") (number_literal "4"))) () ")")))) (; ";")) (expression_statement "param_4 = *(byte **)unaff_s4;" (assignment_expression "param_4 = *(byte **)unaff_s4" (identifier "param_4") (= "=") (pointer_expression "*(byte **)unaff_s4" (* "*") (cast_expression "(byte **)unaff_s4" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "unaff_s4")))) (; ";")) (} "}"))) (} "}"))) (expression_statement "unaff_s5 = (word *)&pbStack_120;" (assignment_expression "unaff_s5 = (word *)&pbStack_120" (identifier "unaff_s5") (= "=") (cast_expression "(word *)&pbStack_120" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&pbStack_120" (& "&") (identifier "pbStack_120")))) (; ";")) (if_statement "if (param_4 == (byte *)0x0) break;" (if "if") (parenthesized_expression "(param_4 == (byte *)0x0)" (( "(") (binary_expression "param_4 == (byte *)0x0" (identifier "param_4") (== "==") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "pwStack_14c = (word *)(int)(char)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))\n            ;" (assignment_expression "pwStack_14c = (word *)(int)(char)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))" (identifier "pwStack_14c") (= "=") (cast_expression "(word *)(int)(char)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(int)(char)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (pointer_expression "*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))" (* "*") (cast_expression "(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pwStack_148 + *(int *)(pwStack_144 + 2))" (( "(") (binary_expression "(int)pwStack_148 + *(int *)(pwStack_144 + 2)" (cast_expression "(int)pwStack_148" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pwStack_148")) (+ "+") (pointer_expression "*(int *)(pwStack_144 + 2)" (* "*") (cast_expression "(int *)(pwStack_144 + 2)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pwStack_144 + 2)" (( "(") (binary_expression "pwStack_144 + 2" (identifier "pwStack_144") (+ "+") (number_literal "2")) () ")"))))) () ")")))))))) (; ";")) (expression_statement "unaff_s4 = (word *)(uint)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));" (assignment_expression "unaff_s4 = (word *)(uint)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))" (identifier "unaff_s4") (= "=") (binary_expression "(word *)(uint)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))" (cast_expression "(word *)(uint)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")"))) (* "*") (cast_expression "(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pwStack_148 + *(int *)(pwStack_144 + 2))" (( "(") (binary_expression "(int)pwStack_148 + *(int *)(pwStack_144 + 2)" (cast_expression "(int)pwStack_148" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pwStack_148")) (+ "+") (pointer_expression "*(int *)(pwStack_144 + 2)" (* "*") (cast_expression "(int *)(pwStack_144 + 2)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pwStack_144 + 2)" (( "(") (binary_expression "pwStack_144 + 2" (identifier "pwStack_144") (+ "+") (number_literal "2")) () ")"))))) () ")"))))) (; ";")) (if_statement "if ((unaff_s4 == pwStack_14c) &&\n               (piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0)) {\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n              unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n              pwStack_14c = *(word **)unaff_s4;\n            }" (if "if") (parenthesized_expression "((unaff_s4 == pwStack_14c) &&\n               (piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0))" (( "(") (binary_expression "(unaff_s4 == pwStack_14c) &&\n               (piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0)" (parenthesized_expression "(unaff_s4 == pwStack_14c)" (( "(") (binary_expression "unaff_s4 == pwStack_14c" (identifier "unaff_s4") (== "==") (identifier "pwStack_14c")) () ")")) (&& "&&") (parenthesized_expression "(piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0)" (( "(") (comma_expression "piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))(),\n               (*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0" (assignment_expression "piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))()" (identifier "piVar9") (= "=") (cast_expression "(int *)(**(code **)(puStack_158 + -0x6290))()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puStack_158 + -0x6290))()" (parenthesized_expression "(**(code **)(puStack_158 + -0x6290))" (( "(") (pointer_expression "**(code **)(puStack_158 + -0x6290)" (* "*") (pointer_expression "*(code **)(puStack_158 + -0x6290)" (* "*") (cast_expression "(code **)(puStack_158 + -0x6290)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_158 + -0x6290)" (( "(") (binary_expression "puStack_158 + -0x6290" (identifier "puStack_158") (+ "+") (number_literal "-0x6290")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (, ",") (binary_expression "(*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0" (parenthesized_expression "(*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1)" (( "(") (binary_expression "*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1" (pointer_expression "*(ushort *)(*piVar9 + (int)unaff_s4 * 2)" (* "*") (cast_expression "(ushort *)(*piVar9 + (int)unaff_s4 * 2)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar9 + (int)unaff_s4 * 2)" (( "(") (binary_expression "*piVar9 + (int)unaff_s4 * 2" (pointer_expression "*piVar9" (* "*") (identifier "piVar9")) (+ "+") (binary_expression "(int)unaff_s4 * 2" (cast_expression "(int)unaff_s4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s4")) (* "*") (number_literal "2"))) () ")")))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n              piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();\n              unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n              pwStack_14c = *(word **)unaff_s4;\n            }" ({ "{") (expression_statement "piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();" (assignment_expression "piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))()" (identifier "piVar9") (= "=") (cast_expression "(int *)(**(code **)(puStack_158 + -0x628c))()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puStack_158 + -0x628c))()" (parenthesized_expression "(**(code **)(puStack_158 + -0x628c))" (( "(") (pointer_expression "**(code **)(puStack_158 + -0x628c)" (* "*") (pointer_expression "*(code **)(puStack_158 + -0x628c)" (* "*") (cast_expression "(code **)(puStack_158 + -0x628c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_158 + -0x628c)" (( "(") (binary_expression "puStack_158 + -0x628c" (identifier "puStack_158") (+ "+") (number_literal "-0x628c")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);" (assignment_expression "unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4)" (identifier "unaff_s4") (= "=") (cast_expression "(word *)(*piVar9 + (int)unaff_s4 * 4)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar9 + (int)unaff_s4 * 4)" (( "(") (binary_expression "*piVar9 + (int)unaff_s4 * 4" (pointer_expression "*piVar9" (* "*") (identifier "piVar9")) (+ "+") (binary_expression "(int)unaff_s4 * 4" (cast_expression "(int)unaff_s4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s4")) (* "*") (number_literal "4"))) () ")")))) (; ";")) (expression_statement "pwStack_14c = *(word **)unaff_s4;" (assignment_expression "pwStack_14c = *(word **)unaff_s4" (identifier "pwStack_14c") (= "=") (pointer_expression "*(word **)unaff_s4" (* "*") (cast_expression "(word **)unaff_s4" (( "(") (type_descriptor "word **" (type_identifier "word") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "unaff_s4")))) (; ";")) (} "}"))) (if_statement "if (pwStack_14c == (word *)0x0) break;" (if "if") (parenthesized_expression "(pwStack_14c == (word *)0x0)" (( "(") (binary_expression "pwStack_14c == (word *)0x0" (identifier "pwStack_14c") (== "==") (cast_expression "(word *)0x0" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "uVar4 = (**(code **)(puStack_158 + -0x6060))();" (assignment_expression "uVar4 = (**(code **)(puStack_158 + -0x6060))()" (identifier "uVar4") (= "=") (call_expression "(**(code **)(puStack_158 + -0x6060))()" (parenthesized_expression "(**(code **)(puStack_158 + -0x6060))" (( "(") (pointer_expression "**(code **)(puStack_158 + -0x6060)" (* "*") (pointer_expression "*(code **)(puStack_158 + -0x6060)" (* "*") (cast_expression "(code **)(puStack_158 + -0x6060)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_158 + -0x6060)" (( "(") (binary_expression "puStack_158 + -0x6060" (identifier "puStack_158") (+ "+") (number_literal "-0x6060")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {\njoined_r0x000facac:\n              if ((word *)param_4 != pwStack_14c) break;\n            }\n            else {\n              pbVar24 = (byte *)((int)pwStack_148 + *(int *)pwStack_144);\n              uVar7 = (**(code **)(puStack_158 + -0x60fc))(pbVar24);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,pbVar24,uVar7,unaff_s7);\n              unaff_s4 = (word *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n              pwVar15 = (word *)(**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              pwVar14 = unaff_s4;\n              iVar5 = (**(code **)(puStack_158 + -0x6084))(&pbStack_120,unaff_s4,pwVar15,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar5 + 2U < 2)) goto joined_r0x000facac;\n              param_4 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_124);\n              pbStack_124 = param_4;\n              pbStack_120 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_120);\n              if (param_4 != pbStack_120) break;\n              if (1 < uStack_138) {\n                pwVar16 = (word *)((int)pwStack_148 + (uStack_138 - 1));\n              }\n            }" (if "if") (parenthesized_expression "((uVar4 < 2) || (*(int *)unaff_s3 != 0))" (( "(") (binary_expression "(uVar4 < 2) || (*(int *)unaff_s3 != 0)" (parenthesized_expression "(uVar4 < 2)" (( "(") (binary_expression "uVar4 < 2" (identifier "uVar4") (< "<") (number_literal "2")) () ")")) (|| "||") (parenthesized_expression "(*(int *)unaff_s3 != 0)" (( "(") (binary_expression "*(int *)unaff_s3 != 0" (pointer_expression "*(int *)unaff_s3" (* "*") (cast_expression "(int *)unaff_s3" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "unaff_s3"))) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\njoined_r0x000facac:\n              if ((word *)param_4 != pwStack_14c) break;\n            }" ({ "{") (labeled_statement "joined_r0x000facac:\n              if ((word *)param_4 != pwStack_14c) break;" (statement_identifier "joined_r0x000facac") (: ":") (if_statement "if ((word *)param_4 != pwStack_14c) break;" (if "if") (parenthesized_expression "((word *)param_4 != pwStack_14c)" (( "(") (binary_expression "(word *)param_4 != pwStack_14c" (cast_expression "(word *)param_4" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_4")) (!= "!=") (identifier "pwStack_14c")) () ")")) (break_statement "break;" (break "break") (; ";")))) (} "}")) (else_clause "else {\n              pbVar24 = (byte *)((int)pwStack_148 + *(int *)pwStack_144);\n              uVar7 = (**(code **)(puStack_158 + -0x60fc))(pbVar24);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,pbVar24,uVar7,unaff_s7);\n              unaff_s4 = (word *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n              pwVar15 = (word *)(**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              pwVar14 = unaff_s4;\n              iVar5 = (**(code **)(puStack_158 + -0x6084))(&pbStack_120,unaff_s4,pwVar15,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar5 + 2U < 2)) goto joined_r0x000facac;\n              param_4 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_124);\n              pbStack_124 = param_4;\n              pbStack_120 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_120);\n              if (param_4 != pbStack_120) break;\n              if (1 < uStack_138) {\n                pwVar16 = (word *)((int)pwStack_148 + (uStack_138 - 1));\n              }\n            }" (else "else") (compound_statement "{\n              pbVar24 = (byte *)((int)pwStack_148 + *(int *)pwStack_144);\n              uVar7 = (**(code **)(puStack_158 + -0x60fc))(pbVar24);\n              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,pbVar24,uVar7,unaff_s7);\n              unaff_s4 = (word *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));\n              pwVar15 = (word *)(**(code **)(puStack_158 + -0x60fc))(unaff_s4);\n              pwVar14 = unaff_s4;\n              iVar5 = (**(code **)(puStack_158 + -0x6084))(&pbStack_120,unaff_s4,pwVar15,unaff_s6);\n              if ((uStack_138 + 2 < 2) || (iVar5 + 2U < 2)) goto joined_r0x000facac;\n              param_4 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_124);\n              pbStack_124 = param_4;\n              pbStack_120 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_120);\n              if (param_4 != pbStack_120) break;\n              if (1 < uStack_138) {\n                pwVar16 = (word *)((int)pwStack_148 + (uStack_138 - 1));\n              }\n            }" ({ "{") (expression_statement "pbVar24 = (byte *)((int)pwStack_148 + *(int *)pwStack_144);" (assignment_expression "pbVar24 = (byte *)((int)pwStack_148 + *(int *)pwStack_144)" (identifier "pbVar24") (= "=") (cast_expression "(byte *)((int)pwStack_148 + *(int *)pwStack_144)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pwStack_148 + *(int *)pwStack_144)" (( "(") (binary_expression "(int)pwStack_148 + *(int *)pwStack_144" (cast_expression "(int)pwStack_148" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pwStack_148")) (+ "+") (pointer_expression "*(int *)pwStack_144" (* "*") (cast_expression "(int *)pwStack_144" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pwStack_144")))) () ")")))) (; ";")) (expression_statement "uVar7 = (**(code **)(puStack_158 + -0x60fc))(pbVar24);" (assignment_expression "uVar7 = (**(code **)(puStack_158 + -0x60fc))(pbVar24)" (identifier "uVar7") (= "=") (call_expression "(**(code **)(puStack_158 + -0x60fc))(pbVar24)" (parenthesized_expression "(**(code **)(puStack_158 + -0x60fc))" (( "(") (pointer_expression "**(code **)(puStack_158 + -0x60fc)" (* "*") (pointer_expression "*(code **)(puStack_158 + -0x60fc)" (* "*") (cast_expression "(code **)(puStack_158 + -0x60fc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_158 + -0x60fc)" (( "(") (binary_expression "puStack_158 + -0x60fc" (identifier "puStack_158") (+ "+") (number_literal "-0x60fc")) () ")"))))) () ")")) (argument_list "(pbVar24)" (( "(") (identifier "pbVar24") () ")")))) (; ";")) (expression_statement "uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,pbVar24,uVar7,unaff_s7);" (assignment_expression "uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,pbVar24,uVar7,unaff_s7)" (identifier "uStack_138") (= "=") (call_expression "(**(code **)(puStack_158 + -0x6084))(unaff_s8,pbVar24,uVar7,unaff_s7)" (parenthesized_expression "(**(code **)(puStack_158 + -0x6084))" (( "(") (pointer_expression "**(code **)(puStack_158 + -0x6084)" (* "*") (pointer_expression "*(code **)(puStack_158 + -0x6084)" (* "*") (cast_expression "(code **)(puStack_158 + -0x6084)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_158 + -0x6084)" (( "(") (binary_expression "puStack_158 + -0x6084" (identifier "puStack_158") (+ "+") (number_literal "-0x6084")) () ")"))))) () ")")) (argument_list "(unaff_s8,pbVar24,uVar7,unaff_s7)" (( "(") (identifier "unaff_s8") (, ",") (identifier "pbVar24") (, ",") (identifier "uVar7") (, ",") (identifier "unaff_s7") () ")")))) (; ";")) (expression_statement "unaff_s4 = (word *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));" (assignment_expression "unaff_s4 = (word *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))" (identifier "unaff_s4") (= "=") (cast_expression "(word *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pwStack_148 + *(int *)(pwStack_144 + 2))" (( "(") (binary_expression "(int)pwStack_148 + *(int *)(pwStack_144 + 2)" (cast_expression "(int)pwStack_148" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pwStack_148")) (+ "+") (pointer_expression "*(int *)(pwStack_144 + 2)" (* "*") (cast_expression "(int *)(pwStack_144 + 2)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pwStack_144 + 2)" (( "(") (binary_expression "pwStack_144 + 2" (identifier "pwStack_144") (+ "+") (number_literal "2")) () ")"))))) () ")")))) (; ";")) (expression_statement "pwVar15 = (word *)(**(code **)(puStack_158 + -0x60fc))(unaff_s4);" (assignment_expression "pwVar15 = (word *)(**(code **)(puStack_158 + -0x60fc))(unaff_s4)" (identifier "pwVar15") (= "=") (cast_expression "(word *)(**(code **)(puStack_158 + -0x60fc))(unaff_s4)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puStack_158 + -0x60fc))(unaff_s4)" (parenthesized_expression "(**(code **)(puStack_158 + -0x60fc))" (( "(") (pointer_expression "**(code **)(puStack_158 + -0x60fc)" (* "*") (pointer_expression "*(code **)(puStack_158 + -0x60fc)" (* "*") (cast_expression "(code **)(puStack_158 + -0x60fc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_158 + -0x60fc)" (( "(") (binary_expression "puStack_158 + -0x60fc" (identifier "puStack_158") (+ "+") (number_literal "-0x60fc")) () ")"))))) () ")")) (argument_list "(unaff_s4)" (( "(") (identifier "unaff_s4") () ")"))))) (; ";")) (expression_statement "pwVar14 = unaff_s4;" (assignment_expression "pwVar14 = unaff_s4" (identifier "pwVar14") (= "=") (identifier "unaff_s4")) (; ";")) (expression_statement "iVar5 = (**(code **)(puStack_158 + -0x6084))(&pbStack_120,unaff_s4,pwVar15,unaff_s6);" (assignment_expression "iVar5 = (**(code **)(puStack_158 + -0x6084))(&pbStack_120,unaff_s4,pwVar15,unaff_s6)" (identifier "iVar5") (= "=") (call_expression "(**(code **)(puStack_158 + -0x6084))(&pbStack_120,unaff_s4,pwVar15,unaff_s6)" (parenthesized_expression "(**(code **)(puStack_158 + -0x6084))" (( "(") (pointer_expression "**(code **)(puStack_158 + -0x6084)" (* "*") (pointer_expression "*(code **)(puStack_158 + -0x6084)" (* "*") (cast_expression "(code **)(puStack_158 + -0x6084)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_158 + -0x6084)" (( "(") (binary_expression "puStack_158 + -0x6084" (identifier "puStack_158") (+ "+") (number_literal "-0x6084")) () ")"))))) () ")")) (argument_list "(&pbStack_120,unaff_s4,pwVar15,unaff_s6)" (( "(") (pointer_expression "&pbStack_120" (& "&") (identifier "pbStack_120")) (, ",") (identifier "unaff_s4") (, ",") (identifier "pwVar15") (, ",") (identifier "unaff_s6") () ")")))) (; ";")) (if_statement "if ((uStack_138 + 2 < 2) || (iVar5 + 2U < 2)) goto joined_r0x000facac;" (if "if") (parenthesized_expression "((uStack_138 + 2 < 2) || (iVar5 + 2U < 2))" (( "(") (binary_expression "(uStack_138 + 2 < 2) || (iVar5 + 2U < 2)" (parenthesized_expression "(uStack_138 + 2 < 2)" (( "(") (binary_expression "uStack_138 + 2 < 2" (binary_expression "uStack_138 + 2" (identifier "uStack_138") (+ "+") (number_literal "2")) (< "<") (number_literal "2")) () ")")) (|| "||") (parenthesized_expression "(iVar5 + 2U < 2)" (( "(") (binary_expression "iVar5 + 2U < 2" (binary_expression "iVar5 + 2U" (identifier "iVar5") (+ "+") (number_literal "2U")) (< "<") (number_literal "2")) () ")"))) () ")")) (goto_statement "goto joined_r0x000facac;" (goto "goto") (statement_identifier "joined_r0x000facac") (; ";"))) (expression_statement "param_4 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_124);" (assignment_expression "param_4 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_124)" (identifier "param_4") (= "=") (cast_expression "(byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_124)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puStack_158 + -0x5fc8))(pbStack_124)" (parenthesized_expression "(**(code **)(puStack_158 + -0x5fc8))" (( "(") (pointer_expression "**(code **)(puStack_158 + -0x5fc8)" (* "*") (pointer_expression "*(code **)(puStack_158 + -0x5fc8)" (* "*") (cast_expression "(code **)(puStack_158 + -0x5fc8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_158 + -0x5fc8)" (( "(") (binary_expression "puStack_158 + -0x5fc8" (identifier "puStack_158") (+ "+") (number_literal "-0x5fc8")) () ")"))))) () ")")) (argument_list "(pbStack_124)" (( "(") (identifier "pbStack_124") () ")"))))) (; ";")) (expression_statement "pbStack_124 = param_4;" (assignment_expression "pbStack_124 = param_4" (identifier "pbStack_124") (= "=") (identifier "param_4")) (; ";")) (expression_statement "pbStack_120 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_120);" (assignment_expression "pbStack_120 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_120)" (identifier "pbStack_120") (= "=") (cast_expression "(byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_120)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puStack_158 + -0x5fc8))(pbStack_120)" (parenthesized_expression "(**(code **)(puStack_158 + -0x5fc8))" (( "(") (pointer_expression "**(code **)(puStack_158 + -0x5fc8)" (* "*") (pointer_expression "*(code **)(puStack_158 + -0x5fc8)" (* "*") (cast_expression "(code **)(puStack_158 + -0x5fc8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_158 + -0x5fc8)" (( "(") (binary_expression "puStack_158 + -0x5fc8" (identifier "puStack_158") (+ "+") (number_literal "-0x5fc8")) () ")"))))) () ")")) (argument_list "(pbStack_120)" (( "(") (identifier "pbStack_120") () ")"))))) (; ";")) (if_statement "if (param_4 != pbStack_120) break;" (if "if") (parenthesized_expression "(param_4 != pbStack_120)" (( "(") (binary_expression "param_4 != pbStack_120" (identifier "param_4") (!= "!=") (identifier "pbStack_120")) () ")")) (break_statement "break;" (break "break") (; ";"))) (if_statement "if (1 < uStack_138) {\n                pwVar16 = (word *)((int)pwStack_148 + (uStack_138 - 1));\n              }" (if "if") (parenthesized_expression "(1 < uStack_138)" (( "(") (binary_expression "1 < uStack_138" (number_literal "1") (< "<") (identifier "uStack_138")) () ")")) (compound_statement "{\n                pwVar16 = (word *)((int)pwStack_148 + (uStack_138 - 1));\n              }" ({ "{") (expression_statement "pwVar16 = (word *)((int)pwStack_148 + (uStack_138 - 1));" (assignment_expression "pwVar16 = (word *)((int)pwStack_148 + (uStack_138 - 1))" (identifier "pwVar16") (= "=") (cast_expression "(word *)((int)pwStack_148 + (uStack_138 - 1))" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pwStack_148 + (uStack_138 - 1))" (( "(") (binary_expression "(int)pwStack_148 + (uStack_138 - 1)" (cast_expression "(int)pwStack_148" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pwStack_148")) (+ "+") (parenthesized_expression "(uStack_138 - 1)" (( "(") (binary_expression "uStack_138 - 1" (identifier "uStack_138") (- "-") (number_literal "1")) () ")"))) () ")")))) (; ";")) (} "}"))) (} "}")))) (expression_statement "pwVar16 = (word *)((int)pwVar16 + 1);" (assignment_expression "pwVar16 = (word *)((int)pwVar16 + 1)" (identifier "pwVar16") (= "=") (cast_expression "(word *)((int)pwVar16 + 1)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pwVar16 + 1)" (( "(") (binary_expression "(int)pwVar16 + 1" (cast_expression "(int)pwVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pwVar16")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}"))) (labeled_statement "LAB_000fac1c:\n          bVar3 = (int)pwVar16 < (int)pwStack_140;" (statement_identifier "LAB_000fac1c") (: ":") (expression_statement "bVar3 = (int)pwVar16 < (int)pwStack_140;" (assignment_expression "bVar3 = (int)pwVar16 < (int)pwStack_140" (identifier "bVar3") (= "=") (binary_expression "(int)pwVar16 < (int)pwStack_140" (cast_expression "(int)pwVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pwVar16")) (< "<") (cast_expression "(int)pwStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pwStack_140")))) (; ";"))) (} "}")))) (expression_statement "pwVar6 = pwStack_130;" (assignment_expression "pwVar6 = pwStack_130" (identifier "pwVar6") (= "=") (identifier "pwStack_130")) (; ";")) (if_statement "if (bVar3) {\n          pwStack_140 = pwVar16;\n        }" (if "if") (parenthesized_expression "(bVar3)" (( "(") (identifier "bVar3") () ")")) (compound_statement "{\n          pwStack_140 = pwVar16;\n        }" ({ "{") (expression_statement "pwStack_140 = pwVar16;" (assignment_expression "pwStack_140 = pwVar16" (identifier "pwStack_140") (= "=") (identifier "pwVar16")) (; ";")) (} "}"))) (expression_statement "pwStack_13c = (word *)((int)pwStack_13c + 1);" (assignment_expression "pwStack_13c = (word *)((int)pwStack_13c + 1)" (identifier "pwStack_13c") (= "=") (cast_expression "(word *)((int)pwStack_13c + 1)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pwStack_13c + 1)" (( "(") (binary_expression "(int)pwStack_13c + 1" (cast_expression "(int)pwStack_13c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pwStack_13c")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "pwVar18 = pwVar18 + 2;" (assignment_expression "pwVar18 = pwVar18 + 2" (identifier "pwVar18") (= "=") (binary_expression "pwVar18 + 2" (identifier "pwVar18") (+ "+") (number_literal "2"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(param_2 != pwStack_13c)" (( "(") (binary_expression "param_2 != pwStack_13c" (identifier "param_2") (!= "!=") (identifier "pwStack_13c")) () ")")) (; ";")) (expression_statement "unaff_s2 = pwVar18;" (assignment_expression "unaff_s2 = pwVar18" (identifier "unaff_s2") (= "=") (identifier "pwVar18")) (; ";")) (if_statement "if (((pwStack_140 == (word *)0x0) && (pwStack_130 != (word *)0x0)) &&\n         (pwVar16 = pwStack_130, *(byte *)pwStack_130 != 0)) {\n        iVar5 = (**(code **)(puStack_158 + -0x60fc))(pwStack_130);\n        iVar5 = (**(code **)(puStack_158 + -0x7f88))(iVar5 + 1);\n        *piStack_12c = iVar5;\n        pwVar14 = pwVar6;\n        (**(code **)(puStack_158 + -0x6074))(iVar5);\n        pwVar16 = pwVar6;\n        goto LAB_000fb1f0;\n      }" (if "if") (parenthesized_expression "(((pwStack_140 == (word *)0x0) && (pwStack_130 != (word *)0x0)) &&\n         (pwVar16 = pwStack_130, *(byte *)pwStack_130 != 0))" (( "(") (binary_expression "((pwStack_140 == (word *)0x0) && (pwStack_130 != (word *)0x0)) &&\n         (pwVar16 = pwStack_130, *(byte *)pwStack_130 != 0)" (parenthesized_expression "((pwStack_140 == (word *)0x0) && (pwStack_130 != (word *)0x0))" (( "(") (binary_expression "(pwStack_140 == (word *)0x0) && (pwStack_130 != (word *)0x0)" (parenthesized_expression "(pwStack_140 == (word *)0x0)" (( "(") (binary_expression "pwStack_140 == (word *)0x0" (identifier "pwStack_140") (== "==") (cast_expression "(word *)0x0" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(pwStack_130 != (word *)0x0)" (( "(") (binary_expression "pwStack_130 != (word *)0x0" (identifier "pwStack_130") (!= "!=") (cast_expression "(word *)0x0" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(pwVar16 = pwStack_130, *(byte *)pwStack_130 != 0)" (( "(") (comma_expression "pwVar16 = pwStack_130, *(byte *)pwStack_130 != 0" (assignment_expression "pwVar16 = pwStack_130" (identifier "pwVar16") (= "=") (identifier "pwStack_130")) (, ",") (binary_expression "*(byte *)pwStack_130 != 0" (pointer_expression "*(byte *)pwStack_130" (* "*") (cast_expression "(byte *)pwStack_130" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pwStack_130"))) (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n        iVar5 = (**(code **)(puStack_158 + -0x60fc))(pwStack_130);\n        iVar5 = (**(code **)(puStack_158 + -0x7f88))(iVar5 + 1);\n        *piStack_12c = iVar5;\n        pwVar14 = pwVar6;\n        (**(code **)(puStack_158 + -0x6074))(iVar5);\n        pwVar16 = pwVar6;\n        goto LAB_000fb1f0;\n      }" ({ "{") (expression_statement "iVar5 = (**(code **)(puStack_158 + -0x60fc))(pwStack_130);" (assignment_expression "iVar5 = (**(code **)(puStack_158 + -0x60fc))(pwStack_130)" (identifier "iVar5") (= "=") (call_expression "(**(code **)(puStack_158 + -0x60fc))(pwStack_130)" (parenthesized_expression "(**(code **)(puStack_158 + -0x60fc))" (( "(") (pointer_expression "**(code **)(puStack_158 + -0x60fc)" (* "*") (pointer_expression "*(code **)(puStack_158 + -0x60fc)" (* "*") (cast_expression "(code **)(puStack_158 + -0x60fc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_158 + -0x60fc)" (( "(") (binary_expression "puStack_158 + -0x60fc" (identifier "puStack_158") (+ "+") (number_literal "-0x60fc")) () ")"))))) () ")")) (argument_list "(pwStack_130)" (( "(") (identifier "pwStack_130") () ")")))) (; ";")) (expression_statement "iVar5 = (**(code **)(puStack_158 + -0x7f88))(iVar5 + 1);" (assignment_expression "iVar5 = (**(code **)(puStack_158 + -0x7f88))(iVar5 + 1)" (identifier "iVar5") (= "=") (call_expression "(**(code **)(puStack_158 + -0x7f88))(iVar5 + 1)" (parenthesized_expression "(**(code **)(puStack_158 + -0x7f88))" (( "(") (pointer_expression "**(code **)(puStack_158 + -0x7f88)" (* "*") (pointer_expression "*(code **)(puStack_158 + -0x7f88)" (* "*") (cast_expression "(code **)(puStack_158 + -0x7f88)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_158 + -0x7f88)" (( "(") (binary_expression "puStack_158 + -0x7f88" (identifier "puStack_158") (+ "+") (number_literal "-0x7f88")) () ")"))))) () ")")) (argument_list "(iVar5 + 1)" (( "(") (binary_expression "iVar5 + 1" (identifier "iVar5") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "*piStack_12c = iVar5;" (assignment_expression "*piStack_12c = iVar5" (pointer_expression "*piStack_12c" (* "*") (identifier "piStack_12c")) (= "=") (identifier "iVar5")) (; ";")) (expression_statement "pwVar14 = pwVar6;" (assignment_expression "pwVar14 = pwVar6" (identifier "pwVar14") (= "=") (identifier "pwVar6")) (; ";")) (expression_statement "(**(code **)(puStack_158 + -0x6074))(iVar5);" (call_expression "(**(code **)(puStack_158 + -0x6074))(iVar5)" (parenthesized_expression "(**(code **)(puStack_158 + -0x6074))" (( "(") (pointer_expression "**(code **)(puStack_158 + -0x6074)" (* "*") (pointer_expression "*(code **)(puStack_158 + -0x6074)" (* "*") (cast_expression "(code **)(puStack_158 + -0x6074)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_158 + -0x6074)" (( "(") (binary_expression "puStack_158 + -0x6074" (identifier "puStack_158") (+ "+") (number_literal "-0x6074")) () ")"))))) () ")")) (argument_list "(iVar5)" (( "(") (identifier "iVar5") () ")"))) (; ";")) (expression_statement "pwVar16 = pwVar6;" (assignment_expression "pwVar16 = pwVar6" (identifier "pwVar16") (= "=") (identifier "pwVar6")) (; ";")) (goto_statement "goto LAB_000fb1f0;" (goto "goto") (statement_identifier "LAB_000fb1f0") (; ";")) (} "}"))) (} "}")))) (expression_statement "iVar5 = (**(code **)(puStack_158 + -0x7f88))((byte *)((int)pwStack_140 + 1));" (assignment_expression "iVar5 = (**(code **)(puStack_158 + -0x7f88))((byte *)((int)pwStack_140 + 1))" (identifier "iVar5") (= "=") (call_expression "(**(code **)(puStack_158 + -0x7f88))((byte *)((int)pwStack_140 + 1))" (parenthesized_expression "(**(code **)(puStack_158 + -0x7f88))" (( "(") (pointer_expression "**(code **)(puStack_158 + -0x7f88)" (* "*") (pointer_expression "*(code **)(puStack_158 + -0x7f88)" (* "*") (cast_expression "(code **)(puStack_158 + -0x7f88)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_158 + -0x7f88)" (( "(") (binary_expression "puStack_158 + -0x7f88" (identifier "puStack_158") (+ "+") (number_literal "-0x7f88")) () ")"))))) () ")")) (argument_list "((byte *)((int)pwStack_140 + 1))" (( "(") (cast_expression "(byte *)((int)pwStack_140 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pwStack_140 + 1)" (( "(") (binary_expression "(int)pwStack_140 + 1" (cast_expression "(int)pwStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pwStack_140")) (+ "+") (number_literal "1")) () ")"))) () ")")))) (; ";")) (expression_statement "*piStack_12c = iVar5;" (assignment_expression "*piStack_12c = iVar5" (pointer_expression "*piStack_12c" (* "*") (identifier "piStack_12c")) (= "=") (identifier "iVar5")) (; ";")) (if_statement "if (**(int **)(puStack_158 + -0x65bc) == 0) {\n      pwVar14 = (word *)piStack_12c[1];\n      pwVar15 = pwStack_140;\n      (**(code **)(puStack_158 + -0x615c))(iVar5);\n    }\n    else {\n      unaff_s3 = (word *)0x0;\n      if (**(int **)(puStack_158 + -0x6f0c) != 0) {\n        if ((code *)**(undefined4 **)(puStack_158 + -0x6de4) == (code *)0x0) {\n          unaff_s3 = (word *)0x0;\n        }\n        else if ((**(int **)(puStack_158 + -0x6f38) != 0) &&\n                (**(int **)(puStack_158 + -0x702c) != 0)) {\n          pwVar14 = (word *)**(undefined4 **)(puStack_158 + -0x6f34);\n          unaff_s3 = (word *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(pwStack_130);\n          pwStack_130 = unaff_s3;\n        }\n      }\n      if (**(int **)(puStack_158 + -0x6f10) != 0) {\n        pwVar14 = param_2;\n        (**(code **)(puStack_158 + -0x6218))\n                  (piStack_12c + 1,param_2,4,*(undefined4 *)(puStack_158 + -0x6660));\n      }\n      pwVar16 = (word *)(**(code **)(puStack_158 + -0x60fc))(pwStack_130);\n      unaff_s4 = pwStack_140;\n      if ((int)pwVar16 <= (int)pwStack_140) {\n        unaff_s4 = pwVar16;\n      }\n      if ((int)param_2 < 1) {\n        pwVar16 = (word *)0x1;\nLAB_000fb1a8:\n        pwVar16 = (word *)(uint)((int)param_2 < (int)pwVar16);\n        pwVar15 = pwStack_140;\n        if (pwVar16 != (word *)0x0) goto LAB_000fb12c;\n      }\n      else {\n        param_4 = (byte *)(piStack_12c + 1);\n        pwVar16 = (word *)0x1;\n        do {\n          unaff_s2 = *(word **)param_4;\n          iVar5 = (**(code **)(puStack_158 + -0x6238))(unaff_s2,pwStack_130,unaff_s4);\n          if (iVar5 == 0) {\n            pwVar14 = unaff_s2;\n            (**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,pwStack_140);\n            goto LAB_000fb1a8;\n          }\n          pwVar16 = (word *)((int)pwVar16 + 1);\n          param_4 = param_4 + 4;\n        } while ((int)pwVar16 <= (int)param_2);\nLAB_000fb12c:\n        pwVar14 = (word *)piStack_12c[1];\n        pwVar15 = pwStack_140;\n        (**(code **)(puStack_158 + -0x615c))(*piStack_12c);\n      }\n      if (unaff_s3 != (word *)0x0) {\n        (**(code **)(puStack_158 + -0x5f94))(unaff_s3);\n      }\n    }" (if "if") (parenthesized_expression "(**(int **)(puStack_158 + -0x65bc) == 0)" (( "(") (binary_expression "**(int **)(puStack_158 + -0x65bc) == 0" (pointer_expression "**(int **)(puStack_158 + -0x65bc)" (* "*") (pointer_expression "*(int **)(puStack_158 + -0x65bc)" (* "*") (cast_expression "(int **)(puStack_158 + -0x65bc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_158 + -0x65bc)" (( "(") (binary_expression "puStack_158 + -0x65bc" (identifier "puStack_158") (+ "+") (number_literal "-0x65bc")) () ")"))))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      pwVar14 = (word *)piStack_12c[1];\n      pwVar15 = pwStack_140;\n      (**(code **)(puStack_158 + -0x615c))(iVar5);\n    }" ({ "{") (expression_statement "pwVar14 = (word *)piStack_12c[1];" (assignment_expression "pwVar14 = (word *)piStack_12c[1]" (identifier "pwVar14") (= "=") (cast_expression "(word *)piStack_12c[1]" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piStack_12c[1]" (identifier "piStack_12c") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "pwVar15 = pwStack_140;" (assignment_expression "pwVar15 = pwStack_140" (identifier "pwVar15") (= "=") (identifier "pwStack_140")) (; ";")) (expression_statement "(**(code **)(puStack_158 + -0x615c))(iVar5);" (call_expression "(**(code **)(puStack_158 + -0x615c))(iVar5)" (parenthesized_expression "(**(code **)(puStack_158 + -0x615c))" (( "(") (pointer_expression "**(code **)(puStack_158 + -0x615c)" (* "*") (pointer_expression "*(code **)(puStack_158 + -0x615c)" (* "*") (cast_expression "(code **)(puStack_158 + -0x615c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_158 + -0x615c)" (( "(") (binary_expression "puStack_158 + -0x615c" (identifier "puStack_158") (+ "+") (number_literal "-0x615c")) () ")"))))) () ")")) (argument_list "(iVar5)" (( "(") (identifier "iVar5") () ")"))) (; ";")) (} "}")) (else_clause "else {\n      unaff_s3 = (word *)0x0;\n      if (**(int **)(puStack_158 + -0x6f0c) != 0) {\n        if ((code *)**(undefined4 **)(puStack_158 + -0x6de4) == (code *)0x0) {\n          unaff_s3 = (word *)0x0;\n        }\n        else if ((**(int **)(puStack_158 + -0x6f38) != 0) &&\n                (**(int **)(puStack_158 + -0x702c) != 0)) {\n          pwVar14 = (word *)**(undefined4 **)(puStack_158 + -0x6f34);\n          unaff_s3 = (word *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(pwStack_130);\n          pwStack_130 = unaff_s3;\n        }\n      }\n      if (**(int **)(puStack_158 + -0x6f10) != 0) {\n        pwVar14 = param_2;\n        (**(code **)(puStack_158 + -0x6218))\n                  (piStack_12c + 1,param_2,4,*(undefined4 *)(puStack_158 + -0x6660));\n      }\n      pwVar16 = (word *)(**(code **)(puStack_158 + -0x60fc))(pwStack_130);\n      unaff_s4 = pwStack_140;\n      if ((int)pwVar16 <= (int)pwStack_140) {\n        unaff_s4 = pwVar16;\n      }\n      if ((int)param_2 < 1) {\n        pwVar16 = (word *)0x1;\nLAB_000fb1a8:\n        pwVar16 = (word *)(uint)((int)param_2 < (int)pwVar16);\n        pwVar15 = pwStack_140;\n        if (pwVar16 != (word *)0x0) goto LAB_000fb12c;\n      }\n      else {\n        param_4 = (byte *)(piStack_12c + 1);\n        pwVar16 = (word *)0x1;\n        do {\n          unaff_s2 = *(word **)param_4;\n          iVar5 = (**(code **)(puStack_158 + -0x6238))(unaff_s2,pwStack_130,unaff_s4);\n          if (iVar5 == 0) {\n            pwVar14 = unaff_s2;\n            (**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,pwStack_140);\n            goto LAB_000fb1a8;\n          }\n          pwVar16 = (word *)((int)pwVar16 + 1);\n          param_4 = param_4 + 4;\n        } while ((int)pwVar16 <= (int)param_2);\nLAB_000fb12c:\n        pwVar14 = (word *)piStack_12c[1];\n        pwVar15 = pwStack_140;\n        (**(code **)(puStack_158 + -0x615c))(*piStack_12c);\n      }\n      if (unaff_s3 != (word *)0x0) {\n        (**(code **)(puStack_158 + -0x5f94))(unaff_s3);\n      }\n    }" (else "else") (compound_statement "{\n      unaff_s3 = (word *)0x0;\n      if (**(int **)(puStack_158 + -0x6f0c) != 0) {\n        if ((code *)**(undefined4 **)(puStack_158 + -0x6de4) == (code *)0x0) {\n          unaff_s3 = (word *)0x0;\n        }\n        else if ((**(int **)(puStack_158 + -0x6f38) != 0) &&\n                (**(int **)(puStack_158 + -0x702c) != 0)) {\n          pwVar14 = (word *)**(undefined4 **)(puStack_158 + -0x6f34);\n          unaff_s3 = (word *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(pwStack_130);\n          pwStack_130 = unaff_s3;\n        }\n      }\n      if (**(int **)(puStack_158 + -0x6f10) != 0) {\n        pwVar14 = param_2;\n        (**(code **)(puStack_158 + -0x6218))\n                  (piStack_12c + 1,param_2,4,*(undefined4 *)(puStack_158 + -0x6660));\n      }\n      pwVar16 = (word *)(**(code **)(puStack_158 + -0x60fc))(pwStack_130);\n      unaff_s4 = pwStack_140;\n      if ((int)pwVar16 <= (int)pwStack_140) {\n        unaff_s4 = pwVar16;\n      }\n      if ((int)param_2 < 1) {\n        pwVar16 = (word *)0x1;\nLAB_000fb1a8:\n        pwVar16 = (word *)(uint)((int)param_2 < (int)pwVar16);\n        pwVar15 = pwStack_140;\n        if (pwVar16 != (word *)0x0) goto LAB_000fb12c;\n      }\n      else {\n        param_4 = (byte *)(piStack_12c + 1);\n        pwVar16 = (word *)0x1;\n        do {\n          unaff_s2 = *(word **)param_4;\n          iVar5 = (**(code **)(puStack_158 + -0x6238))(unaff_s2,pwStack_130,unaff_s4);\n          if (iVar5 == 0) {\n            pwVar14 = unaff_s2;\n            (**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,pwStack_140);\n            goto LAB_000fb1a8;\n          }\n          pwVar16 = (word *)((int)pwVar16 + 1);\n          param_4 = param_4 + 4;\n        } while ((int)pwVar16 <= (int)param_2);\nLAB_000fb12c:\n        pwVar14 = (word *)piStack_12c[1];\n        pwVar15 = pwStack_140;\n        (**(code **)(puStack_158 + -0x615c))(*piStack_12c);\n      }\n      if (unaff_s3 != (word *)0x0) {\n        (**(code **)(puStack_158 + -0x5f94))(unaff_s3);\n      }\n    }" ({ "{") (expression_statement "unaff_s3 = (word *)0x0;" (assignment_expression "unaff_s3 = (word *)0x0" (identifier "unaff_s3") (= "=") (cast_expression "(word *)0x0" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (**(int **)(puStack_158 + -0x6f0c) != 0) {\n        if ((code *)**(undefined4 **)(puStack_158 + -0x6de4) == (code *)0x0) {\n          unaff_s3 = (word *)0x0;\n        }\n        else if ((**(int **)(puStack_158 + -0x6f38) != 0) &&\n                (**(int **)(puStack_158 + -0x702c) != 0)) {\n          pwVar14 = (word *)**(undefined4 **)(puStack_158 + -0x6f34);\n          unaff_s3 = (word *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(pwStack_130);\n          pwStack_130 = unaff_s3;\n        }\n      }" (if "if") (parenthesized_expression "(**(int **)(puStack_158 + -0x6f0c) != 0)" (( "(") (binary_expression "**(int **)(puStack_158 + -0x6f0c) != 0" (pointer_expression "**(int **)(puStack_158 + -0x6f0c)" (* "*") (pointer_expression "*(int **)(puStack_158 + -0x6f0c)" (* "*") (cast_expression "(int **)(puStack_158 + -0x6f0c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_158 + -0x6f0c)" (( "(") (binary_expression "puStack_158 + -0x6f0c" (identifier "puStack_158") (+ "+") (number_literal "-0x6f0c")) () ")"))))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        if ((code *)**(undefined4 **)(puStack_158 + -0x6de4) == (code *)0x0) {\n          unaff_s3 = (word *)0x0;\n        }\n        else if ((**(int **)(puStack_158 + -0x6f38) != 0) &&\n                (**(int **)(puStack_158 + -0x702c) != 0)) {\n          pwVar14 = (word *)**(undefined4 **)(puStack_158 + -0x6f34);\n          unaff_s3 = (word *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(pwStack_130);\n          pwStack_130 = unaff_s3;\n        }\n      }" ({ "{") (if_statement "if ((code *)**(undefined4 **)(puStack_158 + -0x6de4) == (code *)0x0) {\n          unaff_s3 = (word *)0x0;\n        }\n        else if ((**(int **)(puStack_158 + -0x6f38) != 0) &&\n                (**(int **)(puStack_158 + -0x702c) != 0)) {\n          pwVar14 = (word *)**(undefined4 **)(puStack_158 + -0x6f34);\n          unaff_s3 = (word *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(pwStack_130);\n          pwStack_130 = unaff_s3;\n        }" (if "if") (parenthesized_expression "((code *)**(undefined4 **)(puStack_158 + -0x6de4) == (code *)0x0)" (( "(") (binary_expression "(code *)**(undefined4 **)(puStack_158 + -0x6de4) == (code *)0x0" (cast_expression "(code *)**(undefined4 **)(puStack_158 + -0x6de4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(undefined4 **)(puStack_158 + -0x6de4)" (* "*") (pointer_expression "*(undefined4 **)(puStack_158 + -0x6de4)" (* "*") (cast_expression "(undefined4 **)(puStack_158 + -0x6de4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_158 + -0x6de4)" (( "(") (binary_expression "puStack_158 + -0x6de4" (identifier "puStack_158") (+ "+") (number_literal "-0x6de4")) () ")")))))) (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          unaff_s3 = (word *)0x0;\n        }" ({ "{") (expression_statement "unaff_s3 = (word *)0x0;" (assignment_expression "unaff_s3 = (word *)0x0" (identifier "unaff_s3") (= "=") (cast_expression "(word *)0x0" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else if ((**(int **)(puStack_158 + -0x6f38) != 0) &&\n                (**(int **)(puStack_158 + -0x702c) != 0)) {\n          pwVar14 = (word *)**(undefined4 **)(puStack_158 + -0x6f34);\n          unaff_s3 = (word *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(pwStack_130);\n          pwStack_130 = unaff_s3;\n        }" (else "else") (if_statement "if ((**(int **)(puStack_158 + -0x6f38) != 0) &&\n                (**(int **)(puStack_158 + -0x702c) != 0)) {\n          pwVar14 = (word *)**(undefined4 **)(puStack_158 + -0x6f34);\n          unaff_s3 = (word *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(pwStack_130);\n          pwStack_130 = unaff_s3;\n        }" (if "if") (parenthesized_expression "((**(int **)(puStack_158 + -0x6f38) != 0) &&\n                (**(int **)(puStack_158 + -0x702c) != 0))" (( "(") (binary_expression "(**(int **)(puStack_158 + -0x6f38) != 0) &&\n                (**(int **)(puStack_158 + -0x702c) != 0)" (parenthesized_expression "(**(int **)(puStack_158 + -0x6f38) != 0)" (( "(") (binary_expression "**(int **)(puStack_158 + -0x6f38) != 0" (pointer_expression "**(int **)(puStack_158 + -0x6f38)" (* "*") (pointer_expression "*(int **)(puStack_158 + -0x6f38)" (* "*") (cast_expression "(int **)(puStack_158 + -0x6f38)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_158 + -0x6f38)" (( "(") (binary_expression "puStack_158 + -0x6f38" (identifier "puStack_158") (+ "+") (number_literal "-0x6f38")) () ")"))))) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(**(int **)(puStack_158 + -0x702c) != 0)" (( "(") (binary_expression "**(int **)(puStack_158 + -0x702c) != 0" (pointer_expression "**(int **)(puStack_158 + -0x702c)" (* "*") (pointer_expression "*(int **)(puStack_158 + -0x702c)" (* "*") (cast_expression "(int **)(puStack_158 + -0x702c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_158 + -0x702c)" (( "(") (binary_expression "puStack_158 + -0x702c" (identifier "puStack_158") (+ "+") (number_literal "-0x702c")) () ")"))))) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n          pwVar14 = (word *)**(undefined4 **)(puStack_158 + -0x6f34);\n          unaff_s3 = (word *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(pwStack_130);\n          pwStack_130 = unaff_s3;\n        }" ({ "{") (expression_statement "pwVar14 = (word *)**(undefined4 **)(puStack_158 + -0x6f34);" (assignment_expression "pwVar14 = (word *)**(undefined4 **)(puStack_158 + -0x6f34)" (identifier "pwVar14") (= "=") (cast_expression "(word *)**(undefined4 **)(puStack_158 + -0x6f34)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(undefined4 **)(puStack_158 + -0x6f34)" (* "*") (pointer_expression "*(undefined4 **)(puStack_158 + -0x6f34)" (* "*") (cast_expression "(undefined4 **)(puStack_158 + -0x6f34)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_158 + -0x6f34)" (( "(") (binary_expression "puStack_158 + -0x6f34" (identifier "puStack_158") (+ "+") (number_literal "-0x6f34")) () ")"))))))) (; ";")) (expression_statement "unaff_s3 = (word *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(pwStack_130);" (assignment_expression "unaff_s3 = (word *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(pwStack_130)" (identifier "unaff_s3") (= "=") (cast_expression "(word *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(pwStack_130)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(pwStack_130)" (parenthesized_expression "(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))" (( "(") (pointer_expression "*(code *)**(undefined4 **)(puStack_158 + -0x6de4)" (* "*") (cast_expression "(code *)**(undefined4 **)(puStack_158 + -0x6de4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(undefined4 **)(puStack_158 + -0x6de4)" (* "*") (pointer_expression "*(undefined4 **)(puStack_158 + -0x6de4)" (* "*") (cast_expression "(undefined4 **)(puStack_158 + -0x6de4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_158 + -0x6de4)" (( "(") (binary_expression "puStack_158 + -0x6de4" (identifier "puStack_158") (+ "+") (number_literal "-0x6de4")) () ")"))))))) () ")")) (argument_list "(pwStack_130)" (( "(") (identifier "pwStack_130") () ")"))))) (; ";")) (expression_statement "pwStack_130 = unaff_s3;" (assignment_expression "pwStack_130 = unaff_s3" (identifier "pwStack_130") (= "=") (identifier "unaff_s3")) (; ";")) (} "}"))))) (} "}"))) (if_statement "if (**(int **)(puStack_158 + -0x6f10) != 0) {\n        pwVar14 = param_2;\n        (**(code **)(puStack_158 + -0x6218))\n                  (piStack_12c + 1,param_2,4,*(undefined4 *)(puStack_158 + -0x6660));\n      }" (if "if") (parenthesized_expression "(**(int **)(puStack_158 + -0x6f10) != 0)" (( "(") (binary_expression "**(int **)(puStack_158 + -0x6f10) != 0" (pointer_expression "**(int **)(puStack_158 + -0x6f10)" (* "*") (pointer_expression "*(int **)(puStack_158 + -0x6f10)" (* "*") (cast_expression "(int **)(puStack_158 + -0x6f10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_158 + -0x6f10)" (( "(") (binary_expression "puStack_158 + -0x6f10" (identifier "puStack_158") (+ "+") (number_literal "-0x6f10")) () ")"))))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        pwVar14 = param_2;\n        (**(code **)(puStack_158 + -0x6218))\n                  (piStack_12c + 1,param_2,4,*(undefined4 *)(puStack_158 + -0x6660));\n      }" ({ "{") (expression_statement "pwVar14 = param_2;" (assignment_expression "pwVar14 = param_2" (identifier "pwVar14") (= "=") (identifier "param_2")) (; ";")) (expression_statement "(**(code **)(puStack_158 + -0x6218))\n                  (piStack_12c + 1,param_2,4,*(undefined4 *)(puStack_158 + -0x6660));" (call_expression "(**(code **)(puStack_158 + -0x6218))\n                  (piStack_12c + 1,param_2,4,*(undefined4 *)(puStack_158 + -0x6660))" (parenthesized_expression "(**(code **)(puStack_158 + -0x6218))" (( "(") (pointer_expression "**(code **)(puStack_158 + -0x6218)" (* "*") (pointer_expression "*(code **)(puStack_158 + -0x6218)" (* "*") (cast_expression "(code **)(puStack_158 + -0x6218)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_158 + -0x6218)" (( "(") (binary_expression "puStack_158 + -0x6218" (identifier "puStack_158") (+ "+") (number_literal "-0x6218")) () ")"))))) () ")")) (argument_list "(piStack_12c + 1,param_2,4,*(undefined4 *)(puStack_158 + -0x6660))" (( "(") (binary_expression "piStack_12c + 1" (identifier "piStack_12c") (+ "+") (number_literal "1")) (, ",") (identifier "param_2") (, ",") (number_literal "4") (, ",") (pointer_expression "*(undefined4 *)(puStack_158 + -0x6660)" (* "*") (cast_expression "(undefined4 *)(puStack_158 + -0x6660)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_158 + -0x6660)" (( "(") (binary_expression "puStack_158 + -0x6660" (identifier "puStack_158") (+ "+") (number_literal "-0x6660")) () ")")))) () ")"))) (; ";")) (} "}"))) (expression_statement "pwVar16 = (word *)(**(code **)(puStack_158 + -0x60fc))(pwStack_130);" (assignment_expression "pwVar16 = (word *)(**(code **)(puStack_158 + -0x60fc))(pwStack_130)" (identifier "pwVar16") (= "=") (cast_expression "(word *)(**(code **)(puStack_158 + -0x60fc))(pwStack_130)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puStack_158 + -0x60fc))(pwStack_130)" (parenthesized_expression "(**(code **)(puStack_158 + -0x60fc))" (( "(") (pointer_expression "**(code **)(puStack_158 + -0x60fc)" (* "*") (pointer_expression "*(code **)(puStack_158 + -0x60fc)" (* "*") (cast_expression "(code **)(puStack_158 + -0x60fc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_158 + -0x60fc)" (( "(") (binary_expression "puStack_158 + -0x60fc" (identifier "puStack_158") (+ "+") (number_literal "-0x60fc")) () ")"))))) () ")")) (argument_list "(pwStack_130)" (( "(") (identifier "pwStack_130") () ")"))))) (; ";")) (expression_statement "unaff_s4 = pwStack_140;" (assignment_expression "unaff_s4 = pwStack_140" (identifier "unaff_s4") (= "=") (identifier "pwStack_140")) (; ";")) (if_statement "if ((int)pwVar16 <= (int)pwStack_140) {\n        unaff_s4 = pwVar16;\n      }" (if "if") (parenthesized_expression "((int)pwVar16 <= (int)pwStack_140)" (( "(") (binary_expression "(int)pwVar16 <= (int)pwStack_140" (cast_expression "(int)pwVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pwVar16")) (<= "<=") (cast_expression "(int)pwStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pwStack_140"))) () ")")) (compound_statement "{\n        unaff_s4 = pwVar16;\n      }" ({ "{") (expression_statement "unaff_s4 = pwVar16;" (assignment_expression "unaff_s4 = pwVar16" (identifier "unaff_s4") (= "=") (identifier "pwVar16")) (; ";")) (} "}"))) (if_statement "if ((int)param_2 < 1) {\n        pwVar16 = (word *)0x1;\nLAB_000fb1a8:\n        pwVar16 = (word *)(uint)((int)param_2 < (int)pwVar16);\n        pwVar15 = pwStack_140;\n        if (pwVar16 != (word *)0x0) goto LAB_000fb12c;\n      }\n      else {\n        param_4 = (byte *)(piStack_12c + 1);\n        pwVar16 = (word *)0x1;\n        do {\n          unaff_s2 = *(word **)param_4;\n          iVar5 = (**(code **)(puStack_158 + -0x6238))(unaff_s2,pwStack_130,unaff_s4);\n          if (iVar5 == 0) {\n            pwVar14 = unaff_s2;\n            (**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,pwStack_140);\n            goto LAB_000fb1a8;\n          }\n          pwVar16 = (word *)((int)pwVar16 + 1);\n          param_4 = param_4 + 4;\n        } while ((int)pwVar16 <= (int)param_2);\nLAB_000fb12c:\n        pwVar14 = (word *)piStack_12c[1];\n        pwVar15 = pwStack_140;\n        (**(code **)(puStack_158 + -0x615c))(*piStack_12c);\n      }" (if "if") (parenthesized_expression "((int)param_2 < 1)" (( "(") (binary_expression "(int)param_2 < 1" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (< "<") (number_literal "1")) () ")")) (compound_statement "{\n        pwVar16 = (word *)0x1;\nLAB_000fb1a8:\n        pwVar16 = (word *)(uint)((int)param_2 < (int)pwVar16);\n        pwVar15 = pwStack_140;\n        if (pwVar16 != (word *)0x0) goto LAB_000fb12c;\n      }" ({ "{") (expression_statement "pwVar16 = (word *)0x1;" (assignment_expression "pwVar16 = (word *)0x1" (identifier "pwVar16") (= "=") (cast_expression "(word *)0x1" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (labeled_statement "LAB_000fb1a8:\n        pwVar16 = (word *)(uint)((int)param_2 < (int)pwVar16);" (statement_identifier "LAB_000fb1a8") (: ":") (expression_statement "pwVar16 = (word *)(uint)((int)param_2 < (int)pwVar16);" (assignment_expression "pwVar16 = (word *)(uint)((int)param_2 < (int)pwVar16)" (identifier "pwVar16") (= "=") (cast_expression "(word *)(uint)((int)param_2 < (int)pwVar16)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(uint)((int)param_2 < (int)pwVar16)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)param_2 < (int)pwVar16)" (( "(") (binary_expression "(int)param_2 < (int)pwVar16" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (< "<") (cast_expression "(int)pwVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pwVar16"))) () ")"))))) (; ";"))) (expression_statement "pwVar15 = pwStack_140;" (assignment_expression "pwVar15 = pwStack_140" (identifier "pwVar15") (= "=") (identifier "pwStack_140")) (; ";")) (if_statement "if (pwVar16 != (word *)0x0) goto LAB_000fb12c;" (if "if") (parenthesized_expression "(pwVar16 != (word *)0x0)" (( "(") (binary_expression "pwVar16 != (word *)0x0" (identifier "pwVar16") (!= "!=") (cast_expression "(word *)0x0" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000fb12c;" (goto "goto") (statement_identifier "LAB_000fb12c") (; ";"))) (} "}")) (else_clause "else {\n        param_4 = (byte *)(piStack_12c + 1);\n        pwVar16 = (word *)0x1;\n        do {\n          unaff_s2 = *(word **)param_4;\n          iVar5 = (**(code **)(puStack_158 + -0x6238))(unaff_s2,pwStack_130,unaff_s4);\n          if (iVar5 == 0) {\n            pwVar14 = unaff_s2;\n            (**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,pwStack_140);\n            goto LAB_000fb1a8;\n          }\n          pwVar16 = (word *)((int)pwVar16 + 1);\n          param_4 = param_4 + 4;\n        } while ((int)pwVar16 <= (int)param_2);\nLAB_000fb12c:\n        pwVar14 = (word *)piStack_12c[1];\n        pwVar15 = pwStack_140;\n        (**(code **)(puStack_158 + -0x615c))(*piStack_12c);\n      }" (else "else") (compound_statement "{\n        param_4 = (byte *)(piStack_12c + 1);\n        pwVar16 = (word *)0x1;\n        do {\n          unaff_s2 = *(word **)param_4;\n          iVar5 = (**(code **)(puStack_158 + -0x6238))(unaff_s2,pwStack_130,unaff_s4);\n          if (iVar5 == 0) {\n            pwVar14 = unaff_s2;\n            (**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,pwStack_140);\n            goto LAB_000fb1a8;\n          }\n          pwVar16 = (word *)((int)pwVar16 + 1);\n          param_4 = param_4 + 4;\n        } while ((int)pwVar16 <= (int)param_2);\nLAB_000fb12c:\n        pwVar14 = (word *)piStack_12c[1];\n        pwVar15 = pwStack_140;\n        (**(code **)(puStack_158 + -0x615c))(*piStack_12c);\n      }" ({ "{") (expression_statement "param_4 = (byte *)(piStack_12c + 1);" (assignment_expression "param_4 = (byte *)(piStack_12c + 1)" (identifier "param_4") (= "=") (cast_expression "(byte *)(piStack_12c + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piStack_12c + 1)" (( "(") (binary_expression "piStack_12c + 1" (identifier "piStack_12c") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "pwVar16 = (word *)0x1;" (assignment_expression "pwVar16 = (word *)0x1" (identifier "pwVar16") (= "=") (cast_expression "(word *)0x1" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (do_statement "do {\n          unaff_s2 = *(word **)param_4;\n          iVar5 = (**(code **)(puStack_158 + -0x6238))(unaff_s2,pwStack_130,unaff_s4);\n          if (iVar5 == 0) {\n            pwVar14 = unaff_s2;\n            (**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,pwStack_140);\n            goto LAB_000fb1a8;\n          }\n          pwVar16 = (word *)((int)pwVar16 + 1);\n          param_4 = param_4 + 4;\n        } while ((int)pwVar16 <= (int)param_2);" (do "do") (compound_statement "{\n          unaff_s2 = *(word **)param_4;\n          iVar5 = (**(code **)(puStack_158 + -0x6238))(unaff_s2,pwStack_130,unaff_s4);\n          if (iVar5 == 0) {\n            pwVar14 = unaff_s2;\n            (**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,pwStack_140);\n            goto LAB_000fb1a8;\n          }\n          pwVar16 = (word *)((int)pwVar16 + 1);\n          param_4 = param_4 + 4;\n        }" ({ "{") (expression_statement "unaff_s2 = *(word **)param_4;" (assignment_expression "unaff_s2 = *(word **)param_4" (identifier "unaff_s2") (= "=") (pointer_expression "*(word **)param_4" (* "*") (cast_expression "(word **)param_4" (( "(") (type_descriptor "word **" (type_identifier "word") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "param_4")))) (; ";")) (expression_statement "iVar5 = (**(code **)(puStack_158 + -0x6238))(unaff_s2,pwStack_130,unaff_s4);" (assignment_expression "iVar5 = (**(code **)(puStack_158 + -0x6238))(unaff_s2,pwStack_130,unaff_s4)" (identifier "iVar5") (= "=") (call_expression "(**(code **)(puStack_158 + -0x6238))(unaff_s2,pwStack_130,unaff_s4)" (parenthesized_expression "(**(code **)(puStack_158 + -0x6238))" (( "(") (pointer_expression "**(code **)(puStack_158 + -0x6238)" (* "*") (pointer_expression "*(code **)(puStack_158 + -0x6238)" (* "*") (cast_expression "(code **)(puStack_158 + -0x6238)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_158 + -0x6238)" (( "(") (binary_expression "puStack_158 + -0x6238" (identifier "puStack_158") (+ "+") (number_literal "-0x6238")) () ")"))))) () ")")) (argument_list "(unaff_s2,pwStack_130,unaff_s4)" (( "(") (identifier "unaff_s2") (, ",") (identifier "pwStack_130") (, ",") (identifier "unaff_s4") () ")")))) (; ";")) (if_statement "if (iVar5 == 0) {\n            pwVar14 = unaff_s2;\n            (**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,pwStack_140);\n            goto LAB_000fb1a8;\n          }" (if "if") (parenthesized_expression "(iVar5 == 0)" (( "(") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            pwVar14 = unaff_s2;\n            (**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,pwStack_140);\n            goto LAB_000fb1a8;\n          }" ({ "{") (expression_statement "pwVar14 = unaff_s2;" (assignment_expression "pwVar14 = unaff_s2" (identifier "pwVar14") (= "=") (identifier "unaff_s2")) (; ";")) (expression_statement "(**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,pwStack_140);" (call_expression "(**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,pwStack_140)" (parenthesized_expression "(**(code **)(puStack_158 + -0x615c))" (( "(") (pointer_expression "**(code **)(puStack_158 + -0x615c)" (* "*") (pointer_expression "*(code **)(puStack_158 + -0x615c)" (* "*") (cast_expression "(code **)(puStack_158 + -0x615c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_158 + -0x615c)" (( "(") (binary_expression "puStack_158 + -0x615c" (identifier "puStack_158") (+ "+") (number_literal "-0x615c")) () ")"))))) () ")")) (argument_list "(*piStack_12c,unaff_s2,pwStack_140)" (( "(") (pointer_expression "*piStack_12c" (* "*") (identifier "piStack_12c")) (, ",") (identifier "unaff_s2") (, ",") (identifier "pwStack_140") () ")"))) (; ";")) (goto_statement "goto LAB_000fb1a8;" (goto "goto") (statement_identifier "LAB_000fb1a8") (; ";")) (} "}"))) (expression_statement "pwVar16 = (word *)((int)pwVar16 + 1);" (assignment_expression "pwVar16 = (word *)((int)pwVar16 + 1)" (identifier "pwVar16") (= "=") (cast_expression "(word *)((int)pwVar16 + 1)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pwVar16 + 1)" (( "(") (binary_expression "(int)pwVar16 + 1" (cast_expression "(int)pwVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pwVar16")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "param_4 = param_4 + 4;" (assignment_expression "param_4 = param_4 + 4" (identifier "param_4") (= "=") (binary_expression "param_4 + 4" (identifier "param_4") (+ "+") (number_literal "4"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int)pwVar16 <= (int)param_2)" (( "(") (binary_expression "(int)pwVar16 <= (int)param_2" (cast_expression "(int)pwVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pwVar16")) (<= "<=") (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2"))) () ")")) (; ";")) (labeled_statement "LAB_000fb12c:\n        pwVar14 = (word *)piStack_12c[1];" (statement_identifier "LAB_000fb12c") (: ":") (expression_statement "pwVar14 = (word *)piStack_12c[1];" (assignment_expression "pwVar14 = (word *)piStack_12c[1]" (identifier "pwVar14") (= "=") (cast_expression "(word *)piStack_12c[1]" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piStack_12c[1]" (identifier "piStack_12c") ([ "[") (number_literal "1") (] "]")))) (; ";"))) (expression_statement "pwVar15 = pwStack_140;" (assignment_expression "pwVar15 = pwStack_140" (identifier "pwVar15") (= "=") (identifier "pwStack_140")) (; ";")) (expression_statement "(**(code **)(puStack_158 + -0x615c))(*piStack_12c);" (call_expression "(**(code **)(puStack_158 + -0x615c))(*piStack_12c)" (parenthesized_expression "(**(code **)(puStack_158 + -0x615c))" (( "(") (pointer_expression "**(code **)(puStack_158 + -0x615c)" (* "*") (pointer_expression "*(code **)(puStack_158 + -0x615c)" (* "*") (cast_expression "(code **)(puStack_158 + -0x615c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_158 + -0x615c)" (( "(") (binary_expression "puStack_158 + -0x615c" (identifier "puStack_158") (+ "+") (number_literal "-0x615c")) () ")"))))) () ")")) (argument_list "(*piStack_12c)" (( "(") (pointer_expression "*piStack_12c" (* "*") (identifier "piStack_12c")) () ")"))) (; ";")) (} "}")))) (if_statement "if (unaff_s3 != (word *)0x0) {\n        (**(code **)(puStack_158 + -0x5f94))(unaff_s3);\n      }" (if "if") (parenthesized_expression "(unaff_s3 != (word *)0x0)" (( "(") (binary_expression "unaff_s3 != (word *)0x0" (identifier "unaff_s3") (!= "!=") (cast_expression "(word *)0x0" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        (**(code **)(puStack_158 + -0x5f94))(unaff_s3);\n      }" ({ "{") (expression_statement "(**(code **)(puStack_158 + -0x5f94))(unaff_s3);" (call_expression "(**(code **)(puStack_158 + -0x5f94))(unaff_s3)" (parenthesized_expression "(**(code **)(puStack_158 + -0x5f94))" (( "(") (pointer_expression "**(code **)(puStack_158 + -0x5f94)" (* "*") (pointer_expression "*(code **)(puStack_158 + -0x5f94)" (* "*") (cast_expression "(code **)(puStack_158 + -0x5f94)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_158 + -0x5f94)" (( "(") (binary_expression "puStack_158 + -0x5f94" (identifier "puStack_158") (+ "+") (number_literal "-0x5f94")) () ")"))))) () ")")) (argument_list "(unaff_s3)" (( "(") (identifier "unaff_s3") () ")"))) (; ";")) (} "}"))) (} "}")))) (expression_statement "*(byte *)((int)pwStack_140 + *piStack_12c) = 0;" (assignment_expression "*(byte *)((int)pwStack_140 + *piStack_12c) = 0" (pointer_expression "*(byte *)((int)pwStack_140 + *piStack_12c)" (* "*") (cast_expression "(byte *)((int)pwStack_140 + *piStack_12c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pwStack_140 + *piStack_12c)" (( "(") (binary_expression "(int)pwStack_140 + *piStack_12c" (cast_expression "(int)pwStack_140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pwStack_140")) (+ "+") (pointer_expression "*piStack_12c" (* "*") (identifier "piStack_12c"))) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "pwStack_13c = param_2;" (assignment_expression "pwStack_13c = param_2" (identifier "pwStack_13c") (= "=") (identifier "param_2")) (; ";")) (} "}")))) (labeled_statement "LAB_000fb1f0:\n  if (puStack_104 == (undefined4 *)**(undefined4 **)(puStack_158 + -0x5fb4)) {\n    return pwStack_13c;\n  }" (statement_identifier "LAB_000fb1f0") (: ":") (if_statement "if (puStack_104 == (undefined4 *)**(undefined4 **)(puStack_158 + -0x5fb4)) {\n    return pwStack_13c;\n  }" (if "if") (parenthesized_expression "(puStack_104 == (undefined4 *)**(undefined4 **)(puStack_158 + -0x5fb4))" (( "(") (binary_expression "puStack_104 == (undefined4 *)**(undefined4 **)(puStack_158 + -0x5fb4)" (identifier "puStack_104") (== "==") (cast_expression "(undefined4 *)**(undefined4 **)(puStack_158 + -0x5fb4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(undefined4 **)(puStack_158 + -0x5fb4)" (* "*") (pointer_expression "*(undefined4 **)(puStack_158 + -0x5fb4)" (* "*") (cast_expression "(undefined4 **)(puStack_158 + -0x5fb4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_158 + -0x5fb4)" (( "(") (binary_expression "puStack_158 + -0x5fb4" (identifier "puStack_158") (+ "+") (number_literal "-0x5fb4")) () ")"))))))) () ")")) (compound_statement "{\n    return pwStack_13c;\n  }" ({ "{") (return_statement "return pwStack_13c;" (return "return") (identifier "pwStack_13c") (; ";")) (} "}")))) (expression_statement "pcVar23 = *(code **)(puStack_158 + -0x6004);" (assignment_expression "pcVar23 = *(code **)(puStack_158 + -0x6004)" (identifier "pcVar23") (= "=") (pointer_expression "*(code **)(puStack_158 + -0x6004)" (* "*") (cast_expression "(code **)(puStack_158 + -0x6004)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_158 + -0x6004)" (( "(") (binary_expression "puStack_158 + -0x6004" (identifier "puStack_158") (+ "+") (number_literal "-0x6004")) () ")"))))) (; ";")) (expression_statement "pcVar25 = FUN_000fb268;" (assignment_expression "pcVar25 = FUN_000fb268" (identifier "pcVar25") (= "=") (identifier "FUN_000fb268")) (; ";")) (expression_statement "puVar21 = puStack_104;" (assignment_expression "puVar21 = puStack_104" (identifier "puVar21") (= "=") (identifier "puStack_104")) (; ";")) (expression_statement "(*pcVar23)();" (call_expression "(*pcVar23)()" (parenthesized_expression "(*pcVar23)" (( "(") (pointer_expression "*pcVar23" (* "*") (identifier "pcVar23")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcStack_1a8 = pcVar23 + 0x632d8;" (assignment_expression "pcStack_1a8 = pcVar23 + 0x632d8" (identifier "pcStack_1a8") (= "=") (binary_expression "pcVar23 + 0x632d8" (identifier "pcVar23") (+ "+") (number_literal "0x632d8"))) (; ";")) (expression_statement "auStack_19d._1_4_ = **(undefined4 **)(pcVar23 + 0x5d324);" (assignment_expression "auStack_19d._1_4_ = **(undefined4 **)(pcVar23 + 0x5d324)" (field_expression "auStack_19d._1_4_" (identifier "auStack_19d") (. ".") (field_identifier "_1_4_")) (= "=") (pointer_expression "**(undefined4 **)(pcVar23 + 0x5d324)" (* "*") (pointer_expression "*(undefined4 **)(pcVar23 + 0x5d324)" (* "*") (cast_expression "(undefined4 **)(pcVar23 + 0x5d324)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x5d324)" (( "(") (binary_expression "pcVar23 + 0x5d324" (identifier "pcVar23") (+ "+") (number_literal "0x5d324")) () ")")))))) (; ";")) (expression_statement "pwVar18 = (word *)*puVar21;" (assignment_expression "pwVar18 = (word *)*puVar21" (identifier "pwVar18") (= "=") (cast_expression "(word *)*puVar21" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar21" (* "*") (identifier "puVar21")))) (; ";")) (expression_statement "pwStack_194 = pwVar16;" (assignment_expression "pwStack_194 = pwVar16" (identifier "pwStack_194") (= "=") (identifier "pwVar16")) (; ";")) (expression_statement "pbStack_190 = param_4;" (assignment_expression "pbStack_190 = param_4" (identifier "pbStack_190") (= "=") (identifier "param_4")) (; ";")) (expression_statement "pwStack_18c = unaff_s2;" (assignment_expression "pwStack_18c = unaff_s2" (identifier "pwStack_18c") (= "=") (identifier "unaff_s2")) (; ";")) (expression_statement "pwStack_188 = unaff_s3;" (assignment_expression "pwStack_188 = unaff_s3" (identifier "pwStack_188") (= "=") (identifier "unaff_s3")) (; ";")) (expression_statement "pwStack_184 = unaff_s4;" (assignment_expression "pwStack_184 = unaff_s4" (identifier "pwStack_184") (= "=") (identifier "unaff_s4")) (; ";")) (expression_statement "pwStack_180 = unaff_s5;" (assignment_expression "pwStack_180 = unaff_s5" (identifier "pwStack_180") (= "=") (identifier "unaff_s5")) (; ";")) (expression_statement "pwStack_17c = unaff_s6;" (assignment_expression "pwStack_17c = unaff_s6" (identifier "pwStack_17c") (= "=") (identifier "unaff_s6")) (; ";")) (expression_statement "pwStack_178 = unaff_s7;" (assignment_expression "pwStack_178 = unaff_s7" (identifier "pwStack_178") (= "=") (identifier "unaff_s7")) (; ";")) (expression_statement "pcStack_174 = pcVar25;" (assignment_expression "pcStack_174 = pcVar25" (identifier "pcStack_174") (= "=") (identifier "pcVar25")) (; ";")) (if_statement "if (pwVar18 == (word *)0x0) {\n    pwVar6 = (word *)0x0;\n  }\n  else {\n    pwVar20 = pwVar14;\n    pwVar6 = pwVar18;\n    if (**(int **)(pcVar23 + 0x5cd28) != 0) {\n      if (*(int *)pwVar18 == 0) {\nLAB_000fb370:\n        uVar7 = *(undefined4 *)pwVar18;\n      }\n      else {\n        pwVar15 = (word *)0x0;\n        pwVar16 = pwVar18;\n        do {\n          pwVar16 = pwVar16 + 2;\n          pwVar15 = (word *)((int)pwVar15 + 1);\n        } while (*(int *)pwVar16 != 0);\n        if ((pwVar15 == (word *)0x0) || (**(int **)(pcVar23 + 0x5c3c8) == 0)) goto LAB_000fb370;\n        pwVar15 = (word *)&DAT_00000004;\n        (**(code **)(pcVar23 + 0x5d0c0))();\n        uVar7 = *(undefined4 *)pwVar18;\n      }\n      iVar5 = (**(code **)(pcStack_1a8 + -0x60fc))(uVar7);\n      uVar7 = (**(code **)(pcStack_1a8 + -0x7f88))(iVar5 + 1);\n      unaff_s4 = (word *)(**(code **)(pcStack_1a8 + -0x6074))(uVar7,*(undefined4 *)pwVar18);\n      if (*(int *)(pwVar18 + 2) == 0) {\n        unaff_s6 = (word *)0x0;\n        pbVar24 = (byte *)0x3;\n        pwVar20 = (word *)0x0;\n      }\n      else {\n        unaff_s6 = (word *)0x0;\n        unaff_s7 = (word *)auStack_19d;\n        pwVar16 = pwVar18;\n        do {\n          uVar7 = *(undefined4 *)pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(uVar7);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(uVar7);\n            *(word **)pwVar16 = unaff_s7;\n          }\n          else {\n            unaff_s6 = (word *)((int)unaff_s6 + 1);\n          }\n          pwVar20 = *(word **)(pwVar16 + 4);\n          pbVar24 = (byte *)((int)unaff_s6 + 3);\n          pwVar16 = pwVar16 + 2;\n        } while (pwVar20 != (word *)0x0);\n      }\n      pwVar6 = (word *)(**(code **)(pcStack_1a8 + -0x7f88))((int)pbVar24 << 2);\n      pbVar24 = *(byte **)(pwVar18 + 2);\n      if (pbVar24 == (byte *)0x0) {\n        pbVar24 = (byte *)(pwVar6 + 2);\n        pbVar24[0] = 0;\n        pbVar24[1] = 0;\n        pbVar24[2] = 0;\n        pbVar24[3] = 0;\n        pwVar16 = (word *)0x1;\n        if (*(undefined1 **)pwVar18 != auStack_19d) {\n          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);\n          goto LAB_000fb4b4;\n        }\n        *(word **)pwVar6 = unaff_s4;\n      }\n      else {\n        pwVar16 = (word *)0x1;\n        pwVar20 = (word *)auStack_19d;\n        pbVar12 = (byte *)(pwVar18 + 4);\n        do {\n          if ((word *)pbVar24 != pwVar20) {\n            *(byte **)(pwVar6 + (int)pwVar16 * 2) = pbVar24;\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\n          pbVar24 = *(byte **)pbVar12;\n          pbVar12 = pbVar12 + 4;\n        } while (pbVar24 != (byte *)0x0);\n        *(undefined4 *)(pwVar6 + (int)pwVar16 * 2) = 0;\n        if (*(undefined1 **)pwVar18 != auStack_19d) {\n          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);\nLAB_000fb4b4:\n          (*pcVar23)();\n        }\n        *(word **)pwVar6 = unaff_s4;\n        if (pwVar16 == (word *)0x2) {\n          pwVar16 = *(word **)(pwVar6 + 2);\n          pwVar20 = pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(unaff_s4);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(pwVar16);\n            pbVar24 = (byte *)(pwVar6 + 2);\n            pbVar24[0] = 0;\n            pbVar24[1] = 0;\n            pbVar24[2] = 0;\n            pbVar24[3] = 0;\n          }\n        }\n      }\n      (**(code **)(pcStack_1a8 + -0x798c))(pwVar18);\n      unaff_s5 = pwVar6;\n    }\n    unaff_s3 = pwVar14;\n    pwVar18 = pwVar6;\n    if (((code *)**(undefined4 **)(pcStack_1a8 + -0x703c) == (code *)0x0) ||\n       (pwVar14 == (word *)0x0)) goto LAB_000fb570;\n    if (*(int *)(pwVar6 + 2) == 0) {\n      pwVar16 = (word *)0x1;\n    }\n    else {\n      pwVar16 = (word *)0x1;\n      pbVar24 = (byte *)(pwVar6 + 4);\n      do {\n        iVar5 = *(int *)pbVar24;\n        pwVar16 = (word *)((int)pwVar16 + 1);\n        pbVar24 = pbVar24 + 4;\n      } while (iVar5 != 0);\n    }\n    (*(code *)**(undefined4 **)(pcStack_1a8 + -0x703c))(pwVar6);\n    unaff_s3 = *(word **)pwVar6;\n    if (unaff_s3 == (word *)0x0) {\n      (**(code **)(pcStack_1a8 + -0x5f94))(pwVar6);\n      *puVar21 = 0;\n      pwVar6 = (word *)0x0;\n      pwVar14 = pwVar20;\n      goto LAB_000fb578;\n    }\n    if (*(int *)(pwVar6 + 2) == 0) {\nLAB_000fb570:\n      *puVar21 = pwVar6;\n    }\n    else {\n      pbVar24 = (byte *)(pwVar6 + 4);\n      pwVar14 = (word *)0x1;\n      do {\n        pwVar20 = pwVar14;\n        iVar5 = *(int *)pbVar24;\n        pwVar14 = (word *)((int)pwVar20 + 1);\n        pbVar24 = pbVar24 + 4;\n      } while (iVar5 != 0);\n      pwVar16 = (word *)(uint)((int)pwVar14 < (int)pwVar16);\n      if (((int)pwVar14 < 2) || (pwVar15 = unaff_s3, pwVar16 == (word *)0x0)) goto LAB_000fb570;\n      FUN_000fab30(pwVar6);\n      (**(code **)(pcStack_1a8 + -0x5f94))(unaff_s3);\n      *puVar21 = pwVar6;\n    }\n    pwVar6 = (word *)0x1;\n    pwVar14 = pwVar20;\n  }" (if "if") (parenthesized_expression "(pwVar18 == (word *)0x0)" (( "(") (binary_expression "pwVar18 == (word *)0x0" (identifier "pwVar18") (== "==") (cast_expression "(word *)0x0" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    pwVar6 = (word *)0x0;\n  }" ({ "{") (expression_statement "pwVar6 = (word *)0x0;" (assignment_expression "pwVar6 = (word *)0x0" (identifier "pwVar6") (= "=") (cast_expression "(word *)0x0" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else {\n    pwVar20 = pwVar14;\n    pwVar6 = pwVar18;\n    if (**(int **)(pcVar23 + 0x5cd28) != 0) {\n      if (*(int *)pwVar18 == 0) {\nLAB_000fb370:\n        uVar7 = *(undefined4 *)pwVar18;\n      }\n      else {\n        pwVar15 = (word *)0x0;\n        pwVar16 = pwVar18;\n        do {\n          pwVar16 = pwVar16 + 2;\n          pwVar15 = (word *)((int)pwVar15 + 1);\n        } while (*(int *)pwVar16 != 0);\n        if ((pwVar15 == (word *)0x0) || (**(int **)(pcVar23 + 0x5c3c8) == 0)) goto LAB_000fb370;\n        pwVar15 = (word *)&DAT_00000004;\n        (**(code **)(pcVar23 + 0x5d0c0))();\n        uVar7 = *(undefined4 *)pwVar18;\n      }\n      iVar5 = (**(code **)(pcStack_1a8 + -0x60fc))(uVar7);\n      uVar7 = (**(code **)(pcStack_1a8 + -0x7f88))(iVar5 + 1);\n      unaff_s4 = (word *)(**(code **)(pcStack_1a8 + -0x6074))(uVar7,*(undefined4 *)pwVar18);\n      if (*(int *)(pwVar18 + 2) == 0) {\n        unaff_s6 = (word *)0x0;\n        pbVar24 = (byte *)0x3;\n        pwVar20 = (word *)0x0;\n      }\n      else {\n        unaff_s6 = (word *)0x0;\n        unaff_s7 = (word *)auStack_19d;\n        pwVar16 = pwVar18;\n        do {\n          uVar7 = *(undefined4 *)pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(uVar7);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(uVar7);\n            *(word **)pwVar16 = unaff_s7;\n          }\n          else {\n            unaff_s6 = (word *)((int)unaff_s6 + 1);\n          }\n          pwVar20 = *(word **)(pwVar16 + 4);\n          pbVar24 = (byte *)((int)unaff_s6 + 3);\n          pwVar16 = pwVar16 + 2;\n        } while (pwVar20 != (word *)0x0);\n      }\n      pwVar6 = (word *)(**(code **)(pcStack_1a8 + -0x7f88))((int)pbVar24 << 2);\n      pbVar24 = *(byte **)(pwVar18 + 2);\n      if (pbVar24 == (byte *)0x0) {\n        pbVar24 = (byte *)(pwVar6 + 2);\n        pbVar24[0] = 0;\n        pbVar24[1] = 0;\n        pbVar24[2] = 0;\n        pbVar24[3] = 0;\n        pwVar16 = (word *)0x1;\n        if (*(undefined1 **)pwVar18 != auStack_19d) {\n          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);\n          goto LAB_000fb4b4;\n        }\n        *(word **)pwVar6 = unaff_s4;\n      }\n      else {\n        pwVar16 = (word *)0x1;\n        pwVar20 = (word *)auStack_19d;\n        pbVar12 = (byte *)(pwVar18 + 4);\n        do {\n          if ((word *)pbVar24 != pwVar20) {\n            *(byte **)(pwVar6 + (int)pwVar16 * 2) = pbVar24;\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\n          pbVar24 = *(byte **)pbVar12;\n          pbVar12 = pbVar12 + 4;\n        } while (pbVar24 != (byte *)0x0);\n        *(undefined4 *)(pwVar6 + (int)pwVar16 * 2) = 0;\n        if (*(undefined1 **)pwVar18 != auStack_19d) {\n          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);\nLAB_000fb4b4:\n          (*pcVar23)();\n        }\n        *(word **)pwVar6 = unaff_s4;\n        if (pwVar16 == (word *)0x2) {\n          pwVar16 = *(word **)(pwVar6 + 2);\n          pwVar20 = pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(unaff_s4);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(pwVar16);\n            pbVar24 = (byte *)(pwVar6 + 2);\n            pbVar24[0] = 0;\n            pbVar24[1] = 0;\n            pbVar24[2] = 0;\n            pbVar24[3] = 0;\n          }\n        }\n      }\n      (**(code **)(pcStack_1a8 + -0x798c))(pwVar18);\n      unaff_s5 = pwVar6;\n    }\n    unaff_s3 = pwVar14;\n    pwVar18 = pwVar6;\n    if (((code *)**(undefined4 **)(pcStack_1a8 + -0x703c) == (code *)0x0) ||\n       (pwVar14 == (word *)0x0)) goto LAB_000fb570;\n    if (*(int *)(pwVar6 + 2) == 0) {\n      pwVar16 = (word *)0x1;\n    }\n    else {\n      pwVar16 = (word *)0x1;\n      pbVar24 = (byte *)(pwVar6 + 4);\n      do {\n        iVar5 = *(int *)pbVar24;\n        pwVar16 = (word *)((int)pwVar16 + 1);\n        pbVar24 = pbVar24 + 4;\n      } while (iVar5 != 0);\n    }\n    (*(code *)**(undefined4 **)(pcStack_1a8 + -0x703c))(pwVar6);\n    unaff_s3 = *(word **)pwVar6;\n    if (unaff_s3 == (word *)0x0) {\n      (**(code **)(pcStack_1a8 + -0x5f94))(pwVar6);\n      *puVar21 = 0;\n      pwVar6 = (word *)0x0;\n      pwVar14 = pwVar20;\n      goto LAB_000fb578;\n    }\n    if (*(int *)(pwVar6 + 2) == 0) {\nLAB_000fb570:\n      *puVar21 = pwVar6;\n    }\n    else {\n      pbVar24 = (byte *)(pwVar6 + 4);\n      pwVar14 = (word *)0x1;\n      do {\n        pwVar20 = pwVar14;\n        iVar5 = *(int *)pbVar24;\n        pwVar14 = (word *)((int)pwVar20 + 1);\n        pbVar24 = pbVar24 + 4;\n      } while (iVar5 != 0);\n      pwVar16 = (word *)(uint)((int)pwVar14 < (int)pwVar16);\n      if (((int)pwVar14 < 2) || (pwVar15 = unaff_s3, pwVar16 == (word *)0x0)) goto LAB_000fb570;\n      FUN_000fab30(pwVar6);\n      (**(code **)(pcStack_1a8 + -0x5f94))(unaff_s3);\n      *puVar21 = pwVar6;\n    }\n    pwVar6 = (word *)0x1;\n    pwVar14 = pwVar20;\n  }" (else "else") (compound_statement "{\n    pwVar20 = pwVar14;\n    pwVar6 = pwVar18;\n    if (**(int **)(pcVar23 + 0x5cd28) != 0) {\n      if (*(int *)pwVar18 == 0) {\nLAB_000fb370:\n        uVar7 = *(undefined4 *)pwVar18;\n      }\n      else {\n        pwVar15 = (word *)0x0;\n        pwVar16 = pwVar18;\n        do {\n          pwVar16 = pwVar16 + 2;\n          pwVar15 = (word *)((int)pwVar15 + 1);\n        } while (*(int *)pwVar16 != 0);\n        if ((pwVar15 == (word *)0x0) || (**(int **)(pcVar23 + 0x5c3c8) == 0)) goto LAB_000fb370;\n        pwVar15 = (word *)&DAT_00000004;\n        (**(code **)(pcVar23 + 0x5d0c0))();\n        uVar7 = *(undefined4 *)pwVar18;\n      }\n      iVar5 = (**(code **)(pcStack_1a8 + -0x60fc))(uVar7);\n      uVar7 = (**(code **)(pcStack_1a8 + -0x7f88))(iVar5 + 1);\n      unaff_s4 = (word *)(**(code **)(pcStack_1a8 + -0x6074))(uVar7,*(undefined4 *)pwVar18);\n      if (*(int *)(pwVar18 + 2) == 0) {\n        unaff_s6 = (word *)0x0;\n        pbVar24 = (byte *)0x3;\n        pwVar20 = (word *)0x0;\n      }\n      else {\n        unaff_s6 = (word *)0x0;\n        unaff_s7 = (word *)auStack_19d;\n        pwVar16 = pwVar18;\n        do {\n          uVar7 = *(undefined4 *)pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(uVar7);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(uVar7);\n            *(word **)pwVar16 = unaff_s7;\n          }\n          else {\n            unaff_s6 = (word *)((int)unaff_s6 + 1);\n          }\n          pwVar20 = *(word **)(pwVar16 + 4);\n          pbVar24 = (byte *)((int)unaff_s6 + 3);\n          pwVar16 = pwVar16 + 2;\n        } while (pwVar20 != (word *)0x0);\n      }\n      pwVar6 = (word *)(**(code **)(pcStack_1a8 + -0x7f88))((int)pbVar24 << 2);\n      pbVar24 = *(byte **)(pwVar18 + 2);\n      if (pbVar24 == (byte *)0x0) {\n        pbVar24 = (byte *)(pwVar6 + 2);\n        pbVar24[0] = 0;\n        pbVar24[1] = 0;\n        pbVar24[2] = 0;\n        pbVar24[3] = 0;\n        pwVar16 = (word *)0x1;\n        if (*(undefined1 **)pwVar18 != auStack_19d) {\n          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);\n          goto LAB_000fb4b4;\n        }\n        *(word **)pwVar6 = unaff_s4;\n      }\n      else {\n        pwVar16 = (word *)0x1;\n        pwVar20 = (word *)auStack_19d;\n        pbVar12 = (byte *)(pwVar18 + 4);\n        do {\n          if ((word *)pbVar24 != pwVar20) {\n            *(byte **)(pwVar6 + (int)pwVar16 * 2) = pbVar24;\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\n          pbVar24 = *(byte **)pbVar12;\n          pbVar12 = pbVar12 + 4;\n        } while (pbVar24 != (byte *)0x0);\n        *(undefined4 *)(pwVar6 + (int)pwVar16 * 2) = 0;\n        if (*(undefined1 **)pwVar18 != auStack_19d) {\n          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);\nLAB_000fb4b4:\n          (*pcVar23)();\n        }\n        *(word **)pwVar6 = unaff_s4;\n        if (pwVar16 == (word *)0x2) {\n          pwVar16 = *(word **)(pwVar6 + 2);\n          pwVar20 = pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(unaff_s4);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(pwVar16);\n            pbVar24 = (byte *)(pwVar6 + 2);\n            pbVar24[0] = 0;\n            pbVar24[1] = 0;\n            pbVar24[2] = 0;\n            pbVar24[3] = 0;\n          }\n        }\n      }\n      (**(code **)(pcStack_1a8 + -0x798c))(pwVar18);\n      unaff_s5 = pwVar6;\n    }\n    unaff_s3 = pwVar14;\n    pwVar18 = pwVar6;\n    if (((code *)**(undefined4 **)(pcStack_1a8 + -0x703c) == (code *)0x0) ||\n       (pwVar14 == (word *)0x0)) goto LAB_000fb570;\n    if (*(int *)(pwVar6 + 2) == 0) {\n      pwVar16 = (word *)0x1;\n    }\n    else {\n      pwVar16 = (word *)0x1;\n      pbVar24 = (byte *)(pwVar6 + 4);\n      do {\n        iVar5 = *(int *)pbVar24;\n        pwVar16 = (word *)((int)pwVar16 + 1);\n        pbVar24 = pbVar24 + 4;\n      } while (iVar5 != 0);\n    }\n    (*(code *)**(undefined4 **)(pcStack_1a8 + -0x703c))(pwVar6);\n    unaff_s3 = *(word **)pwVar6;\n    if (unaff_s3 == (word *)0x0) {\n      (**(code **)(pcStack_1a8 + -0x5f94))(pwVar6);\n      *puVar21 = 0;\n      pwVar6 = (word *)0x0;\n      pwVar14 = pwVar20;\n      goto LAB_000fb578;\n    }\n    if (*(int *)(pwVar6 + 2) == 0) {\nLAB_000fb570:\n      *puVar21 = pwVar6;\n    }\n    else {\n      pbVar24 = (byte *)(pwVar6 + 4);\n      pwVar14 = (word *)0x1;\n      do {\n        pwVar20 = pwVar14;\n        iVar5 = *(int *)pbVar24;\n        pwVar14 = (word *)((int)pwVar20 + 1);\n        pbVar24 = pbVar24 + 4;\n      } while (iVar5 != 0);\n      pwVar16 = (word *)(uint)((int)pwVar14 < (int)pwVar16);\n      if (((int)pwVar14 < 2) || (pwVar15 = unaff_s3, pwVar16 == (word *)0x0)) goto LAB_000fb570;\n      FUN_000fab30(pwVar6);\n      (**(code **)(pcStack_1a8 + -0x5f94))(unaff_s3);\n      *puVar21 = pwVar6;\n    }\n    pwVar6 = (word *)0x1;\n    pwVar14 = pwVar20;\n  }" ({ "{") (expression_statement "pwVar20 = pwVar14;" (assignment_expression "pwVar20 = pwVar14" (identifier "pwVar20") (= "=") (identifier "pwVar14")) (; ";")) (expression_statement "pwVar6 = pwVar18;" (assignment_expression "pwVar6 = pwVar18" (identifier "pwVar6") (= "=") (identifier "pwVar18")) (; ";")) (if_statement "if (**(int **)(pcVar23 + 0x5cd28) != 0) {\n      if (*(int *)pwVar18 == 0) {\nLAB_000fb370:\n        uVar7 = *(undefined4 *)pwVar18;\n      }\n      else {\n        pwVar15 = (word *)0x0;\n        pwVar16 = pwVar18;\n        do {\n          pwVar16 = pwVar16 + 2;\n          pwVar15 = (word *)((int)pwVar15 + 1);\n        } while (*(int *)pwVar16 != 0);\n        if ((pwVar15 == (word *)0x0) || (**(int **)(pcVar23 + 0x5c3c8) == 0)) goto LAB_000fb370;\n        pwVar15 = (word *)&DAT_00000004;\n        (**(code **)(pcVar23 + 0x5d0c0))();\n        uVar7 = *(undefined4 *)pwVar18;\n      }\n      iVar5 = (**(code **)(pcStack_1a8 + -0x60fc))(uVar7);\n      uVar7 = (**(code **)(pcStack_1a8 + -0x7f88))(iVar5 + 1);\n      unaff_s4 = (word *)(**(code **)(pcStack_1a8 + -0x6074))(uVar7,*(undefined4 *)pwVar18);\n      if (*(int *)(pwVar18 + 2) == 0) {\n        unaff_s6 = (word *)0x0;\n        pbVar24 = (byte *)0x3;\n        pwVar20 = (word *)0x0;\n      }\n      else {\n        unaff_s6 = (word *)0x0;\n        unaff_s7 = (word *)auStack_19d;\n        pwVar16 = pwVar18;\n        do {\n          uVar7 = *(undefined4 *)pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(uVar7);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(uVar7);\n            *(word **)pwVar16 = unaff_s7;\n          }\n          else {\n            unaff_s6 = (word *)((int)unaff_s6 + 1);\n          }\n          pwVar20 = *(word **)(pwVar16 + 4);\n          pbVar24 = (byte *)((int)unaff_s6 + 3);\n          pwVar16 = pwVar16 + 2;\n        } while (pwVar20 != (word *)0x0);\n      }\n      pwVar6 = (word *)(**(code **)(pcStack_1a8 + -0x7f88))((int)pbVar24 << 2);\n      pbVar24 = *(byte **)(pwVar18 + 2);\n      if (pbVar24 == (byte *)0x0) {\n        pbVar24 = (byte *)(pwVar6 + 2);\n        pbVar24[0] = 0;\n        pbVar24[1] = 0;\n        pbVar24[2] = 0;\n        pbVar24[3] = 0;\n        pwVar16 = (word *)0x1;\n        if (*(undefined1 **)pwVar18 != auStack_19d) {\n          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);\n          goto LAB_000fb4b4;\n        }\n        *(word **)pwVar6 = unaff_s4;\n      }\n      else {\n        pwVar16 = (word *)0x1;\n        pwVar20 = (word *)auStack_19d;\n        pbVar12 = (byte *)(pwVar18 + 4);\n        do {\n          if ((word *)pbVar24 != pwVar20) {\n            *(byte **)(pwVar6 + (int)pwVar16 * 2) = pbVar24;\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\n          pbVar24 = *(byte **)pbVar12;\n          pbVar12 = pbVar12 + 4;\n        } while (pbVar24 != (byte *)0x0);\n        *(undefined4 *)(pwVar6 + (int)pwVar16 * 2) = 0;\n        if (*(undefined1 **)pwVar18 != auStack_19d) {\n          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);\nLAB_000fb4b4:\n          (*pcVar23)();\n        }\n        *(word **)pwVar6 = unaff_s4;\n        if (pwVar16 == (word *)0x2) {\n          pwVar16 = *(word **)(pwVar6 + 2);\n          pwVar20 = pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(unaff_s4);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(pwVar16);\n            pbVar24 = (byte *)(pwVar6 + 2);\n            pbVar24[0] = 0;\n            pbVar24[1] = 0;\n            pbVar24[2] = 0;\n            pbVar24[3] = 0;\n          }\n        }\n      }\n      (**(code **)(pcStack_1a8 + -0x798c))(pwVar18);\n      unaff_s5 = pwVar6;\n    }" (if "if") (parenthesized_expression "(**(int **)(pcVar23 + 0x5cd28) != 0)" (( "(") (binary_expression "**(int **)(pcVar23 + 0x5cd28) != 0" (pointer_expression "**(int **)(pcVar23 + 0x5cd28)" (* "*") (pointer_expression "*(int **)(pcVar23 + 0x5cd28)" (* "*") (cast_expression "(int **)(pcVar23 + 0x5cd28)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x5cd28)" (( "(") (binary_expression "pcVar23 + 0x5cd28" (identifier "pcVar23") (+ "+") (number_literal "0x5cd28")) () ")"))))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      if (*(int *)pwVar18 == 0) {\nLAB_000fb370:\n        uVar7 = *(undefined4 *)pwVar18;\n      }\n      else {\n        pwVar15 = (word *)0x0;\n        pwVar16 = pwVar18;\n        do {\n          pwVar16 = pwVar16 + 2;\n          pwVar15 = (word *)((int)pwVar15 + 1);\n        } while (*(int *)pwVar16 != 0);\n        if ((pwVar15 == (word *)0x0) || (**(int **)(pcVar23 + 0x5c3c8) == 0)) goto LAB_000fb370;\n        pwVar15 = (word *)&DAT_00000004;\n        (**(code **)(pcVar23 + 0x5d0c0))();\n        uVar7 = *(undefined4 *)pwVar18;\n      }\n      iVar5 = (**(code **)(pcStack_1a8 + -0x60fc))(uVar7);\n      uVar7 = (**(code **)(pcStack_1a8 + -0x7f88))(iVar5 + 1);\n      unaff_s4 = (word *)(**(code **)(pcStack_1a8 + -0x6074))(uVar7,*(undefined4 *)pwVar18);\n      if (*(int *)(pwVar18 + 2) == 0) {\n        unaff_s6 = (word *)0x0;\n        pbVar24 = (byte *)0x3;\n        pwVar20 = (word *)0x0;\n      }\n      else {\n        unaff_s6 = (word *)0x0;\n        unaff_s7 = (word *)auStack_19d;\n        pwVar16 = pwVar18;\n        do {\n          uVar7 = *(undefined4 *)pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(uVar7);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(uVar7);\n            *(word **)pwVar16 = unaff_s7;\n          }\n          else {\n            unaff_s6 = (word *)((int)unaff_s6 + 1);\n          }\n          pwVar20 = *(word **)(pwVar16 + 4);\n          pbVar24 = (byte *)((int)unaff_s6 + 3);\n          pwVar16 = pwVar16 + 2;\n        } while (pwVar20 != (word *)0x0);\n      }\n      pwVar6 = (word *)(**(code **)(pcStack_1a8 + -0x7f88))((int)pbVar24 << 2);\n      pbVar24 = *(byte **)(pwVar18 + 2);\n      if (pbVar24 == (byte *)0x0) {\n        pbVar24 = (byte *)(pwVar6 + 2);\n        pbVar24[0] = 0;\n        pbVar24[1] = 0;\n        pbVar24[2] = 0;\n        pbVar24[3] = 0;\n        pwVar16 = (word *)0x1;\n        if (*(undefined1 **)pwVar18 != auStack_19d) {\n          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);\n          goto LAB_000fb4b4;\n        }\n        *(word **)pwVar6 = unaff_s4;\n      }\n      else {\n        pwVar16 = (word *)0x1;\n        pwVar20 = (word *)auStack_19d;\n        pbVar12 = (byte *)(pwVar18 + 4);\n        do {\n          if ((word *)pbVar24 != pwVar20) {\n            *(byte **)(pwVar6 + (int)pwVar16 * 2) = pbVar24;\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\n          pbVar24 = *(byte **)pbVar12;\n          pbVar12 = pbVar12 + 4;\n        } while (pbVar24 != (byte *)0x0);\n        *(undefined4 *)(pwVar6 + (int)pwVar16 * 2) = 0;\n        if (*(undefined1 **)pwVar18 != auStack_19d) {\n          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);\nLAB_000fb4b4:\n          (*pcVar23)();\n        }\n        *(word **)pwVar6 = unaff_s4;\n        if (pwVar16 == (word *)0x2) {\n          pwVar16 = *(word **)(pwVar6 + 2);\n          pwVar20 = pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(unaff_s4);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(pwVar16);\n            pbVar24 = (byte *)(pwVar6 + 2);\n            pbVar24[0] = 0;\n            pbVar24[1] = 0;\n            pbVar24[2] = 0;\n            pbVar24[3] = 0;\n          }\n        }\n      }\n      (**(code **)(pcStack_1a8 + -0x798c))(pwVar18);\n      unaff_s5 = pwVar6;\n    }" ({ "{") (if_statement "if (*(int *)pwVar18 == 0) {\nLAB_000fb370:\n        uVar7 = *(undefined4 *)pwVar18;\n      }\n      else {\n        pwVar15 = (word *)0x0;\n        pwVar16 = pwVar18;\n        do {\n          pwVar16 = pwVar16 + 2;\n          pwVar15 = (word *)((int)pwVar15 + 1);\n        } while (*(int *)pwVar16 != 0);\n        if ((pwVar15 == (word *)0x0) || (**(int **)(pcVar23 + 0x5c3c8) == 0)) goto LAB_000fb370;\n        pwVar15 = (word *)&DAT_00000004;\n        (**(code **)(pcVar23 + 0x5d0c0))();\n        uVar7 = *(undefined4 *)pwVar18;\n      }" (if "if") (parenthesized_expression "(*(int *)pwVar18 == 0)" (( "(") (binary_expression "*(int *)pwVar18 == 0" (pointer_expression "*(int *)pwVar18" (* "*") (cast_expression "(int *)pwVar18" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pwVar18"))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_000fb370:\n        uVar7 = *(undefined4 *)pwVar18;\n      }" ({ "{") (labeled_statement "LAB_000fb370:\n        uVar7 = *(undefined4 *)pwVar18;" (statement_identifier "LAB_000fb370") (: ":") (expression_statement "uVar7 = *(undefined4 *)pwVar18;" (assignment_expression "uVar7 = *(undefined4 *)pwVar18" (identifier "uVar7") (= "=") (pointer_expression "*(undefined4 *)pwVar18" (* "*") (cast_expression "(undefined4 *)pwVar18" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pwVar18")))) (; ";"))) (} "}")) (else_clause "else {\n        pwVar15 = (word *)0x0;\n        pwVar16 = pwVar18;\n        do {\n          pwVar16 = pwVar16 + 2;\n          pwVar15 = (word *)((int)pwVar15 + 1);\n        } while (*(int *)pwVar16 != 0);\n        if ((pwVar15 == (word *)0x0) || (**(int **)(pcVar23 + 0x5c3c8) == 0)) goto LAB_000fb370;\n        pwVar15 = (word *)&DAT_00000004;\n        (**(code **)(pcVar23 + 0x5d0c0))();\n        uVar7 = *(undefined4 *)pwVar18;\n      }" (else "else") (compound_statement "{\n        pwVar15 = (word *)0x0;\n        pwVar16 = pwVar18;\n        do {\n          pwVar16 = pwVar16 + 2;\n          pwVar15 = (word *)((int)pwVar15 + 1);\n        } while (*(int *)pwVar16 != 0);\n        if ((pwVar15 == (word *)0x0) || (**(int **)(pcVar23 + 0x5c3c8) == 0)) goto LAB_000fb370;\n        pwVar15 = (word *)&DAT_00000004;\n        (**(code **)(pcVar23 + 0x5d0c0))();\n        uVar7 = *(undefined4 *)pwVar18;\n      }" ({ "{") (expression_statement "pwVar15 = (word *)0x0;" (assignment_expression "pwVar15 = (word *)0x0" (identifier "pwVar15") (= "=") (cast_expression "(word *)0x0" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pwVar16 = pwVar18;" (assignment_expression "pwVar16 = pwVar18" (identifier "pwVar16") (= "=") (identifier "pwVar18")) (; ";")) (do_statement "do {\n          pwVar16 = pwVar16 + 2;\n          pwVar15 = (word *)((int)pwVar15 + 1);\n        } while (*(int *)pwVar16 != 0);" (do "do") (compound_statement "{\n          pwVar16 = pwVar16 + 2;\n          pwVar15 = (word *)((int)pwVar15 + 1);\n        }" ({ "{") (expression_statement "pwVar16 = pwVar16 + 2;" (assignment_expression "pwVar16 = pwVar16 + 2" (identifier "pwVar16") (= "=") (binary_expression "pwVar16 + 2" (identifier "pwVar16") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "pwVar15 = (word *)((int)pwVar15 + 1);" (assignment_expression "pwVar15 = (word *)((int)pwVar15 + 1)" (identifier "pwVar15") (= "=") (cast_expression "(word *)((int)pwVar15 + 1)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pwVar15 + 1)" (( "(") (binary_expression "(int)pwVar15 + 1" (cast_expression "(int)pwVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pwVar15")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*(int *)pwVar16 != 0)" (( "(") (binary_expression "*(int *)pwVar16 != 0" (pointer_expression "*(int *)pwVar16" (* "*") (cast_expression "(int *)pwVar16" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pwVar16"))) (!= "!=") (number_literal "0")) () ")")) (; ";")) (if_statement "if ((pwVar15 == (word *)0x0) || (**(int **)(pcVar23 + 0x5c3c8) == 0)) goto LAB_000fb370;" (if "if") (parenthesized_expression "((pwVar15 == (word *)0x0) || (**(int **)(pcVar23 + 0x5c3c8) == 0))" (( "(") (binary_expression "(pwVar15 == (word *)0x0) || (**(int **)(pcVar23 + 0x5c3c8) == 0)" (parenthesized_expression "(pwVar15 == (word *)0x0)" (( "(") (binary_expression "pwVar15 == (word *)0x0" (identifier "pwVar15") (== "==") (cast_expression "(word *)0x0" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(**(int **)(pcVar23 + 0x5c3c8) == 0)" (( "(") (binary_expression "**(int **)(pcVar23 + 0x5c3c8) == 0" (pointer_expression "**(int **)(pcVar23 + 0x5c3c8)" (* "*") (pointer_expression "*(int **)(pcVar23 + 0x5c3c8)" (* "*") (cast_expression "(int **)(pcVar23 + 0x5c3c8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x5c3c8)" (( "(") (binary_expression "pcVar23 + 0x5c3c8" (identifier "pcVar23") (+ "+") (number_literal "0x5c3c8")) () ")"))))) (== "==") (number_literal "0")) () ")"))) () ")")) (goto_statement "goto LAB_000fb370;" (goto "goto") (statement_identifier "LAB_000fb370") (; ";"))) (expression_statement "pwVar15 = (word *)&DAT_00000004;" (assignment_expression "pwVar15 = (word *)&DAT_00000004" (identifier "pwVar15") (= "=") (cast_expression "(word *)&DAT_00000004" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00000004" (& "&") (identifier "DAT_00000004")))) (; ";")) (expression_statement "(**(code **)(pcVar23 + 0x5d0c0))();" (call_expression "(**(code **)(pcVar23 + 0x5d0c0))()" (parenthesized_expression "(**(code **)(pcVar23 + 0x5d0c0))" (( "(") (pointer_expression "**(code **)(pcVar23 + 0x5d0c0)" (* "*") (pointer_expression "*(code **)(pcVar23 + 0x5d0c0)" (* "*") (cast_expression "(code **)(pcVar23 + 0x5d0c0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x5d0c0)" (( "(") (binary_expression "pcVar23 + 0x5d0c0" (identifier "pcVar23") (+ "+") (number_literal "0x5d0c0")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar7 = *(undefined4 *)pwVar18;" (assignment_expression "uVar7 = *(undefined4 *)pwVar18" (identifier "uVar7") (= "=") (pointer_expression "*(undefined4 *)pwVar18" (* "*") (cast_expression "(undefined4 *)pwVar18" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pwVar18")))) (; ";")) (} "}")))) (expression_statement "iVar5 = (**(code **)(pcStack_1a8 + -0x60fc))(uVar7);" (assignment_expression "iVar5 = (**(code **)(pcStack_1a8 + -0x60fc))(uVar7)" (identifier "iVar5") (= "=") (call_expression "(**(code **)(pcStack_1a8 + -0x60fc))(uVar7)" (parenthesized_expression "(**(code **)(pcStack_1a8 + -0x60fc))" (( "(") (pointer_expression "**(code **)(pcStack_1a8 + -0x60fc)" (* "*") (pointer_expression "*(code **)(pcStack_1a8 + -0x60fc)" (* "*") (cast_expression "(code **)(pcStack_1a8 + -0x60fc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_1a8 + -0x60fc)" (( "(") (binary_expression "pcStack_1a8 + -0x60fc" (identifier "pcStack_1a8") (+ "+") (number_literal "-0x60fc")) () ")"))))) () ")")) (argument_list "(uVar7)" (( "(") (identifier "uVar7") () ")")))) (; ";")) (expression_statement "uVar7 = (**(code **)(pcStack_1a8 + -0x7f88))(iVar5 + 1);" (assignment_expression "uVar7 = (**(code **)(pcStack_1a8 + -0x7f88))(iVar5 + 1)" (identifier "uVar7") (= "=") (call_expression "(**(code **)(pcStack_1a8 + -0x7f88))(iVar5 + 1)" (parenthesized_expression "(**(code **)(pcStack_1a8 + -0x7f88))" (( "(") (pointer_expression "**(code **)(pcStack_1a8 + -0x7f88)" (* "*") (pointer_expression "*(code **)(pcStack_1a8 + -0x7f88)" (* "*") (cast_expression "(code **)(pcStack_1a8 + -0x7f88)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_1a8 + -0x7f88)" (( "(") (binary_expression "pcStack_1a8 + -0x7f88" (identifier "pcStack_1a8") (+ "+") (number_literal "-0x7f88")) () ")"))))) () ")")) (argument_list "(iVar5 + 1)" (( "(") (binary_expression "iVar5 + 1" (identifier "iVar5") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "unaff_s4 = (word *)(**(code **)(pcStack_1a8 + -0x6074))(uVar7,*(undefined4 *)pwVar18);" (assignment_expression "unaff_s4 = (word *)(**(code **)(pcStack_1a8 + -0x6074))(uVar7,*(undefined4 *)pwVar18)" (identifier "unaff_s4") (= "=") (cast_expression "(word *)(**(code **)(pcStack_1a8 + -0x6074))(uVar7,*(undefined4 *)pwVar18)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcStack_1a8 + -0x6074))(uVar7,*(undefined4 *)pwVar18)" (parenthesized_expression "(**(code **)(pcStack_1a8 + -0x6074))" (( "(") (pointer_expression "**(code **)(pcStack_1a8 + -0x6074)" (* "*") (pointer_expression "*(code **)(pcStack_1a8 + -0x6074)" (* "*") (cast_expression "(code **)(pcStack_1a8 + -0x6074)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_1a8 + -0x6074)" (( "(") (binary_expression "pcStack_1a8 + -0x6074" (identifier "pcStack_1a8") (+ "+") (number_literal "-0x6074")) () ")"))))) () ")")) (argument_list "(uVar7,*(undefined4 *)pwVar18)" (( "(") (identifier "uVar7") (, ",") (pointer_expression "*(undefined4 *)pwVar18" (* "*") (cast_expression "(undefined4 *)pwVar18" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pwVar18"))) () ")"))))) (; ";")) (if_statement "if (*(int *)(pwVar18 + 2) == 0) {\n        unaff_s6 = (word *)0x0;\n        pbVar24 = (byte *)0x3;\n        pwVar20 = (word *)0x0;\n      }\n      else {\n        unaff_s6 = (word *)0x0;\n        unaff_s7 = (word *)auStack_19d;\n        pwVar16 = pwVar18;\n        do {\n          uVar7 = *(undefined4 *)pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(uVar7);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(uVar7);\n            *(word **)pwVar16 = unaff_s7;\n          }\n          else {\n            unaff_s6 = (word *)((int)unaff_s6 + 1);\n          }\n          pwVar20 = *(word **)(pwVar16 + 4);\n          pbVar24 = (byte *)((int)unaff_s6 + 3);\n          pwVar16 = pwVar16 + 2;\n        } while (pwVar20 != (word *)0x0);\n      }" (if "if") (parenthesized_expression "(*(int *)(pwVar18 + 2) == 0)" (( "(") (binary_expression "*(int *)(pwVar18 + 2) == 0" (pointer_expression "*(int *)(pwVar18 + 2)" (* "*") (cast_expression "(int *)(pwVar18 + 2)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pwVar18 + 2)" (( "(") (binary_expression "pwVar18 + 2" (identifier "pwVar18") (+ "+") (number_literal "2")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        unaff_s6 = (word *)0x0;\n        pbVar24 = (byte *)0x3;\n        pwVar20 = (word *)0x0;\n      }" ({ "{") (expression_statement "unaff_s6 = (word *)0x0;" (assignment_expression "unaff_s6 = (word *)0x0" (identifier "unaff_s6") (= "=") (cast_expression "(word *)0x0" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pbVar24 = (byte *)0x3;" (assignment_expression "pbVar24 = (byte *)0x3" (identifier "pbVar24") (= "=") (cast_expression "(byte *)0x3" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x3"))) (; ";")) (expression_statement "pwVar20 = (word *)0x0;" (assignment_expression "pwVar20 = (word *)0x0" (identifier "pwVar20") (= "=") (cast_expression "(word *)0x0" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else {\n        unaff_s6 = (word *)0x0;\n        unaff_s7 = (word *)auStack_19d;\n        pwVar16 = pwVar18;\n        do {\n          uVar7 = *(undefined4 *)pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(uVar7);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(uVar7);\n            *(word **)pwVar16 = unaff_s7;\n          }\n          else {\n            unaff_s6 = (word *)((int)unaff_s6 + 1);\n          }\n          pwVar20 = *(word **)(pwVar16 + 4);\n          pbVar24 = (byte *)((int)unaff_s6 + 3);\n          pwVar16 = pwVar16 + 2;\n        } while (pwVar20 != (word *)0x0);\n      }" (else "else") (compound_statement "{\n        unaff_s6 = (word *)0x0;\n        unaff_s7 = (word *)auStack_19d;\n        pwVar16 = pwVar18;\n        do {\n          uVar7 = *(undefined4 *)pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(uVar7);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(uVar7);\n            *(word **)pwVar16 = unaff_s7;\n          }\n          else {\n            unaff_s6 = (word *)((int)unaff_s6 + 1);\n          }\n          pwVar20 = *(word **)(pwVar16 + 4);\n          pbVar24 = (byte *)((int)unaff_s6 + 3);\n          pwVar16 = pwVar16 + 2;\n        } while (pwVar20 != (word *)0x0);\n      }" ({ "{") (expression_statement "unaff_s6 = (word *)0x0;" (assignment_expression "unaff_s6 = (word *)0x0" (identifier "unaff_s6") (= "=") (cast_expression "(word *)0x0" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "unaff_s7 = (word *)auStack_19d;" (assignment_expression "unaff_s7 = (word *)auStack_19d" (identifier "unaff_s7") (= "=") (cast_expression "(word *)auStack_19d" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "auStack_19d"))) (; ";")) (expression_statement "pwVar16 = pwVar18;" (assignment_expression "pwVar16 = pwVar18" (identifier "pwVar16") (= "=") (identifier "pwVar18")) (; ";")) (do_statement "do {\n          uVar7 = *(undefined4 *)pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(uVar7);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(uVar7);\n            *(word **)pwVar16 = unaff_s7;\n          }\n          else {\n            unaff_s6 = (word *)((int)unaff_s6 + 1);\n          }\n          pwVar20 = *(word **)(pwVar16 + 4);\n          pbVar24 = (byte *)((int)unaff_s6 + 3);\n          pwVar16 = pwVar16 + 2;\n        } while (pwVar20 != (word *)0x0);" (do "do") (compound_statement "{\n          uVar7 = *(undefined4 *)pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(uVar7);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(uVar7);\n            *(word **)pwVar16 = unaff_s7;\n          }\n          else {\n            unaff_s6 = (word *)((int)unaff_s6 + 1);\n          }\n          pwVar20 = *(word **)(pwVar16 + 4);\n          pbVar24 = (byte *)((int)unaff_s6 + 3);\n          pwVar16 = pwVar16 + 2;\n        }" ({ "{") (expression_statement "uVar7 = *(undefined4 *)pwVar16;" (assignment_expression "uVar7 = *(undefined4 *)pwVar16" (identifier "uVar7") (= "=") (pointer_expression "*(undefined4 *)pwVar16" (* "*") (cast_expression "(undefined4 *)pwVar16" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pwVar16")))) (; ";")) (expression_statement "iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(uVar7);" (assignment_expression "iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(uVar7)" (identifier "iVar5") (= "=") (call_expression "(**(code **)(pcStack_1a8 + -0x5f48))(uVar7)" (parenthesized_expression "(**(code **)(pcStack_1a8 + -0x5f48))" (( "(") (pointer_expression "**(code **)(pcStack_1a8 + -0x5f48)" (* "*") (pointer_expression "*(code **)(pcStack_1a8 + -0x5f48)" (* "*") (cast_expression "(code **)(pcStack_1a8 + -0x5f48)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_1a8 + -0x5f48)" (( "(") (binary_expression "pcStack_1a8 + -0x5f48" (identifier "pcStack_1a8") (+ "+") (number_literal "-0x5f48")) () ")"))))) () ")")) (argument_list "(uVar7)" (( "(") (identifier "uVar7") () ")")))) (; ";")) (if_statement "if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(uVar7);\n            *(word **)pwVar16 = unaff_s7;\n          }\n          else {\n            unaff_s6 = (word *)((int)unaff_s6 + 1);\n          }" (if "if") (parenthesized_expression "(iVar5 == 0)" (( "(") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            (**(code **)(pcStack_1a8 + -0x798c))(uVar7);\n            *(word **)pwVar16 = unaff_s7;\n          }" ({ "{") (expression_statement "(**(code **)(pcStack_1a8 + -0x798c))(uVar7);" (call_expression "(**(code **)(pcStack_1a8 + -0x798c))(uVar7)" (parenthesized_expression "(**(code **)(pcStack_1a8 + -0x798c))" (( "(") (pointer_expression "**(code **)(pcStack_1a8 + -0x798c)" (* "*") (pointer_expression "*(code **)(pcStack_1a8 + -0x798c)" (* "*") (cast_expression "(code **)(pcStack_1a8 + -0x798c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_1a8 + -0x798c)" (( "(") (binary_expression "pcStack_1a8 + -0x798c" (identifier "pcStack_1a8") (+ "+") (number_literal "-0x798c")) () ")"))))) () ")")) (argument_list "(uVar7)" (( "(") (identifier "uVar7") () ")"))) (; ";")) (expression_statement "*(word **)pwVar16 = unaff_s7;" (assignment_expression "*(word **)pwVar16 = unaff_s7" (pointer_expression "*(word **)pwVar16" (* "*") (cast_expression "(word **)pwVar16" (( "(") (type_descriptor "word **" (type_identifier "word") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "pwVar16"))) (= "=") (identifier "unaff_s7")) (; ";")) (} "}")) (else_clause "else {\n            unaff_s6 = (word *)((int)unaff_s6 + 1);\n          }" (else "else") (compound_statement "{\n            unaff_s6 = (word *)((int)unaff_s6 + 1);\n          }" ({ "{") (expression_statement "unaff_s6 = (word *)((int)unaff_s6 + 1);" (assignment_expression "unaff_s6 = (word *)((int)unaff_s6 + 1)" (identifier "unaff_s6") (= "=") (cast_expression "(word *)((int)unaff_s6 + 1)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s6 + 1)" (( "(") (binary_expression "(int)unaff_s6 + 1" (cast_expression "(int)unaff_s6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s6")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}")))) (expression_statement "pwVar20 = *(word **)(pwVar16 + 4);" (assignment_expression "pwVar20 = *(word **)(pwVar16 + 4)" (identifier "pwVar20") (= "=") (pointer_expression "*(word **)(pwVar16 + 4)" (* "*") (cast_expression "(word **)(pwVar16 + 4)" (( "(") (type_descriptor "word **" (type_identifier "word") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pwVar16 + 4)" (( "(") (binary_expression "pwVar16 + 4" (identifier "pwVar16") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "pbVar24 = (byte *)((int)unaff_s6 + 3);" (assignment_expression "pbVar24 = (byte *)((int)unaff_s6 + 3)" (identifier "pbVar24") (= "=") (cast_expression "(byte *)((int)unaff_s6 + 3)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s6 + 3)" (( "(") (binary_expression "(int)unaff_s6 + 3" (cast_expression "(int)unaff_s6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s6")) (+ "+") (number_literal "3")) () ")")))) (; ";")) (expression_statement "pwVar16 = pwVar16 + 2;" (assignment_expression "pwVar16 = pwVar16 + 2" (identifier "pwVar16") (= "=") (binary_expression "pwVar16 + 2" (identifier "pwVar16") (+ "+") (number_literal "2"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pwVar20 != (word *)0x0)" (( "(") (binary_expression "pwVar20 != (word *)0x0" (identifier "pwVar20") (!= "!=") (cast_expression "(word *)0x0" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (} "}")))) (expression_statement "pwVar6 = (word *)(**(code **)(pcStack_1a8 + -0x7f88))((int)pbVar24 << 2);" (assignment_expression "pwVar6 = (word *)(**(code **)(pcStack_1a8 + -0x7f88))((int)pbVar24 << 2)" (identifier "pwVar6") (= "=") (cast_expression "(word *)(**(code **)(pcStack_1a8 + -0x7f88))((int)pbVar24 << 2)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcStack_1a8 + -0x7f88))((int)pbVar24 << 2)" (parenthesized_expression "(**(code **)(pcStack_1a8 + -0x7f88))" (( "(") (pointer_expression "**(code **)(pcStack_1a8 + -0x7f88)" (* "*") (pointer_expression "*(code **)(pcStack_1a8 + -0x7f88)" (* "*") (cast_expression "(code **)(pcStack_1a8 + -0x7f88)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_1a8 + -0x7f88)" (( "(") (binary_expression "pcStack_1a8 + -0x7f88" (identifier "pcStack_1a8") (+ "+") (number_literal "-0x7f88")) () ")"))))) () ")")) (argument_list "((int)pbVar24 << 2)" (( "(") (binary_expression "(int)pbVar24 << 2" (cast_expression "(int)pbVar24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar24")) (<< "<<") (number_literal "2")) () ")"))))) (; ";")) (expression_statement "pbVar24 = *(byte **)(pwVar18 + 2);" (assignment_expression "pbVar24 = *(byte **)(pwVar18 + 2)" (identifier "pbVar24") (= "=") (pointer_expression "*(byte **)(pwVar18 + 2)" (* "*") (cast_expression "(byte **)(pwVar18 + 2)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pwVar18 + 2)" (( "(") (binary_expression "pwVar18 + 2" (identifier "pwVar18") (+ "+") (number_literal "2")) () ")"))))) (; ";")) (if_statement "if (pbVar24 == (byte *)0x0) {\n        pbVar24 = (byte *)(pwVar6 + 2);\n        pbVar24[0] = 0;\n        pbVar24[1] = 0;\n        pbVar24[2] = 0;\n        pbVar24[3] = 0;\n        pwVar16 = (word *)0x1;\n        if (*(undefined1 **)pwVar18 != auStack_19d) {\n          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);\n          goto LAB_000fb4b4;\n        }\n        *(word **)pwVar6 = unaff_s4;\n      }\n      else {\n        pwVar16 = (word *)0x1;\n        pwVar20 = (word *)auStack_19d;\n        pbVar12 = (byte *)(pwVar18 + 4);\n        do {\n          if ((word *)pbVar24 != pwVar20) {\n            *(byte **)(pwVar6 + (int)pwVar16 * 2) = pbVar24;\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\n          pbVar24 = *(byte **)pbVar12;\n          pbVar12 = pbVar12 + 4;\n        } while (pbVar24 != (byte *)0x0);\n        *(undefined4 *)(pwVar6 + (int)pwVar16 * 2) = 0;\n        if (*(undefined1 **)pwVar18 != auStack_19d) {\n          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);\nLAB_000fb4b4:\n          (*pcVar23)();\n        }\n        *(word **)pwVar6 = unaff_s4;\n        if (pwVar16 == (word *)0x2) {\n          pwVar16 = *(word **)(pwVar6 + 2);\n          pwVar20 = pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(unaff_s4);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(pwVar16);\n            pbVar24 = (byte *)(pwVar6 + 2);\n            pbVar24[0] = 0;\n            pbVar24[1] = 0;\n            pbVar24[2] = 0;\n            pbVar24[3] = 0;\n          }\n        }\n      }" (if "if") (parenthesized_expression "(pbVar24 == (byte *)0x0)" (( "(") (binary_expression "pbVar24 == (byte *)0x0" (identifier "pbVar24") (== "==") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        pbVar24 = (byte *)(pwVar6 + 2);\n        pbVar24[0] = 0;\n        pbVar24[1] = 0;\n        pbVar24[2] = 0;\n        pbVar24[3] = 0;\n        pwVar16 = (word *)0x1;\n        if (*(undefined1 **)pwVar18 != auStack_19d) {\n          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);\n          goto LAB_000fb4b4;\n        }\n        *(word **)pwVar6 = unaff_s4;\n      }" ({ "{") (expression_statement "pbVar24 = (byte *)(pwVar6 + 2);" (assignment_expression "pbVar24 = (byte *)(pwVar6 + 2)" (identifier "pbVar24") (= "=") (cast_expression "(byte *)(pwVar6 + 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pwVar6 + 2)" (( "(") (binary_expression "pwVar6 + 2" (identifier "pwVar6") (+ "+") (number_literal "2")) () ")")))) (; ";")) (expression_statement "pbVar24[0] = 0;" (assignment_expression "pbVar24[0] = 0" (subscript_expression "pbVar24[0]" (identifier "pbVar24") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "pbVar24[1] = 0;" (assignment_expression "pbVar24[1] = 0" (subscript_expression "pbVar24[1]" (identifier "pbVar24") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "pbVar24[2] = 0;" (assignment_expression "pbVar24[2] = 0" (subscript_expression "pbVar24[2]" (identifier "pbVar24") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "pbVar24[3] = 0;" (assignment_expression "pbVar24[3] = 0" (subscript_expression "pbVar24[3]" (identifier "pbVar24") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "pwVar16 = (word *)0x1;" (assignment_expression "pwVar16 = (word *)0x1" (identifier "pwVar16") (= "=") (cast_expression "(word *)0x1" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (if_statement "if (*(undefined1 **)pwVar18 != auStack_19d) {\n          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);\n          goto LAB_000fb4b4;\n        }" (if "if") (parenthesized_expression "(*(undefined1 **)pwVar18 != auStack_19d)" (( "(") (binary_expression "*(undefined1 **)pwVar18 != auStack_19d" (pointer_expression "*(undefined1 **)pwVar18" (* "*") (cast_expression "(undefined1 **)pwVar18" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "pwVar18"))) (!= "!=") (identifier "auStack_19d")) () ")")) (compound_statement "{\n          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);\n          goto LAB_000fb4b4;\n        }" ({ "{") (expression_statement "pcVar23 = *(code **)(pcStack_1a8 + -0x798c);" (assignment_expression "pcVar23 = *(code **)(pcStack_1a8 + -0x798c)" (identifier "pcVar23") (= "=") (pointer_expression "*(code **)(pcStack_1a8 + -0x798c)" (* "*") (cast_expression "(code **)(pcStack_1a8 + -0x798c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_1a8 + -0x798c)" (( "(") (binary_expression "pcStack_1a8 + -0x798c" (identifier "pcStack_1a8") (+ "+") (number_literal "-0x798c")) () ")"))))) (; ";")) (goto_statement "goto LAB_000fb4b4;" (goto "goto") (statement_identifier "LAB_000fb4b4") (; ";")) (} "}"))) (expression_statement "*(word **)pwVar6 = unaff_s4;" (assignment_expression "*(word **)pwVar6 = unaff_s4" (pointer_expression "*(word **)pwVar6" (* "*") (cast_expression "(word **)pwVar6" (( "(") (type_descriptor "word **" (type_identifier "word") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "pwVar6"))) (= "=") (identifier "unaff_s4")) (; ";")) (} "}")) (else_clause "else {\n        pwVar16 = (word *)0x1;\n        pwVar20 = (word *)auStack_19d;\n        pbVar12 = (byte *)(pwVar18 + 4);\n        do {\n          if ((word *)pbVar24 != pwVar20) {\n            *(byte **)(pwVar6 + (int)pwVar16 * 2) = pbVar24;\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\n          pbVar24 = *(byte **)pbVar12;\n          pbVar12 = pbVar12 + 4;\n        } while (pbVar24 != (byte *)0x0);\n        *(undefined4 *)(pwVar6 + (int)pwVar16 * 2) = 0;\n        if (*(undefined1 **)pwVar18 != auStack_19d) {\n          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);\nLAB_000fb4b4:\n          (*pcVar23)();\n        }\n        *(word **)pwVar6 = unaff_s4;\n        if (pwVar16 == (word *)0x2) {\n          pwVar16 = *(word **)(pwVar6 + 2);\n          pwVar20 = pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(unaff_s4);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(pwVar16);\n            pbVar24 = (byte *)(pwVar6 + 2);\n            pbVar24[0] = 0;\n            pbVar24[1] = 0;\n            pbVar24[2] = 0;\n            pbVar24[3] = 0;\n          }\n        }\n      }" (else "else") (compound_statement "{\n        pwVar16 = (word *)0x1;\n        pwVar20 = (word *)auStack_19d;\n        pbVar12 = (byte *)(pwVar18 + 4);\n        do {\n          if ((word *)pbVar24 != pwVar20) {\n            *(byte **)(pwVar6 + (int)pwVar16 * 2) = pbVar24;\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\n          pbVar24 = *(byte **)pbVar12;\n          pbVar12 = pbVar12 + 4;\n        } while (pbVar24 != (byte *)0x0);\n        *(undefined4 *)(pwVar6 + (int)pwVar16 * 2) = 0;\n        if (*(undefined1 **)pwVar18 != auStack_19d) {\n          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);\nLAB_000fb4b4:\n          (*pcVar23)();\n        }\n        *(word **)pwVar6 = unaff_s4;\n        if (pwVar16 == (word *)0x2) {\n          pwVar16 = *(word **)(pwVar6 + 2);\n          pwVar20 = pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(unaff_s4);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(pwVar16);\n            pbVar24 = (byte *)(pwVar6 + 2);\n            pbVar24[0] = 0;\n            pbVar24[1] = 0;\n            pbVar24[2] = 0;\n            pbVar24[3] = 0;\n          }\n        }\n      }" ({ "{") (expression_statement "pwVar16 = (word *)0x1;" (assignment_expression "pwVar16 = (word *)0x1" (identifier "pwVar16") (= "=") (cast_expression "(word *)0x1" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "pwVar20 = (word *)auStack_19d;" (assignment_expression "pwVar20 = (word *)auStack_19d" (identifier "pwVar20") (= "=") (cast_expression "(word *)auStack_19d" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "auStack_19d"))) (; ";")) (expression_statement "pbVar12 = (byte *)(pwVar18 + 4);" (assignment_expression "pbVar12 = (byte *)(pwVar18 + 4)" (identifier "pbVar12") (= "=") (cast_expression "(byte *)(pwVar18 + 4)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pwVar18 + 4)" (( "(") (binary_expression "pwVar18 + 4" (identifier "pwVar18") (+ "+") (number_literal "4")) () ")")))) (; ";")) (do_statement "do {\n          if ((word *)pbVar24 != pwVar20) {\n            *(byte **)(pwVar6 + (int)pwVar16 * 2) = pbVar24;\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\n          pbVar24 = *(byte **)pbVar12;\n          pbVar12 = pbVar12 + 4;\n        } while (pbVar24 != (byte *)0x0);" (do "do") (compound_statement "{\n          if ((word *)pbVar24 != pwVar20) {\n            *(byte **)(pwVar6 + (int)pwVar16 * 2) = pbVar24;\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }\n          pbVar24 = *(byte **)pbVar12;\n          pbVar12 = pbVar12 + 4;\n        }" ({ "{") (if_statement "if ((word *)pbVar24 != pwVar20) {\n            *(byte **)(pwVar6 + (int)pwVar16 * 2) = pbVar24;\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }" (if "if") (parenthesized_expression "((word *)pbVar24 != pwVar20)" (( "(") (binary_expression "(word *)pbVar24 != pwVar20" (cast_expression "(word *)pbVar24" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pbVar24")) (!= "!=") (identifier "pwVar20")) () ")")) (compound_statement "{\n            *(byte **)(pwVar6 + (int)pwVar16 * 2) = pbVar24;\n            pwVar16 = (word *)((int)pwVar16 + 1);\n          }" ({ "{") (expression_statement "*(byte **)(pwVar6 + (int)pwVar16 * 2) = pbVar24;" (assignment_expression "*(byte **)(pwVar6 + (int)pwVar16 * 2) = pbVar24" (pointer_expression "*(byte **)(pwVar6 + (int)pwVar16 * 2)" (* "*") (cast_expression "(byte **)(pwVar6 + (int)pwVar16 * 2)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pwVar6 + (int)pwVar16 * 2)" (( "(") (binary_expression "pwVar6 + (int)pwVar16 * 2" (identifier "pwVar6") (+ "+") (binary_expression "(int)pwVar16 * 2" (cast_expression "(int)pwVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pwVar16")) (* "*") (number_literal "2"))) () ")")))) (= "=") (identifier "pbVar24")) (; ";")) (expression_statement "pwVar16 = (word *)((int)pwVar16 + 1);" (assignment_expression "pwVar16 = (word *)((int)pwVar16 + 1)" (identifier "pwVar16") (= "=") (cast_expression "(word *)((int)pwVar16 + 1)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pwVar16 + 1)" (( "(") (binary_expression "(int)pwVar16 + 1" (cast_expression "(int)pwVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pwVar16")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (} "}"))) (expression_statement "pbVar24 = *(byte **)pbVar12;" (assignment_expression "pbVar24 = *(byte **)pbVar12" (identifier "pbVar24") (= "=") (pointer_expression "*(byte **)pbVar12" (* "*") (cast_expression "(byte **)pbVar12" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "pbVar12")))) (; ";")) (expression_statement "pbVar12 = pbVar12 + 4;" (assignment_expression "pbVar12 = pbVar12 + 4" (identifier "pbVar12") (= "=") (binary_expression "pbVar12 + 4" (identifier "pbVar12") (+ "+") (number_literal "4"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pbVar24 != (byte *)0x0)" (( "(") (binary_expression "pbVar24 != (byte *)0x0" (identifier "pbVar24") (!= "!=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (expression_statement "*(undefined4 *)(pwVar6 + (int)pwVar16 * 2) = 0;" (assignment_expression "*(undefined4 *)(pwVar6 + (int)pwVar16 * 2) = 0" (pointer_expression "*(undefined4 *)(pwVar6 + (int)pwVar16 * 2)" (* "*") (cast_expression "(undefined4 *)(pwVar6 + (int)pwVar16 * 2)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pwVar6 + (int)pwVar16 * 2)" (( "(") (binary_expression "pwVar6 + (int)pwVar16 * 2" (identifier "pwVar6") (+ "+") (binary_expression "(int)pwVar16 * 2" (cast_expression "(int)pwVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pwVar16")) (* "*") (number_literal "2"))) () ")")))) (= "=") (number_literal "0")) (; ";")) (if_statement "if (*(undefined1 **)pwVar18 != auStack_19d) {\n          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);\nLAB_000fb4b4:\n          (*pcVar23)();\n        }" (if "if") (parenthesized_expression "(*(undefined1 **)pwVar18 != auStack_19d)" (( "(") (binary_expression "*(undefined1 **)pwVar18 != auStack_19d" (pointer_expression "*(undefined1 **)pwVar18" (* "*") (cast_expression "(undefined1 **)pwVar18" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "pwVar18"))) (!= "!=") (identifier "auStack_19d")) () ")")) (compound_statement "{\n          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);\nLAB_000fb4b4:\n          (*pcVar23)();\n        }" ({ "{") (expression_statement "pcVar23 = *(code **)(pcStack_1a8 + -0x798c);" (assignment_expression "pcVar23 = *(code **)(pcStack_1a8 + -0x798c)" (identifier "pcVar23") (= "=") (pointer_expression "*(code **)(pcStack_1a8 + -0x798c)" (* "*") (cast_expression "(code **)(pcStack_1a8 + -0x798c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_1a8 + -0x798c)" (( "(") (binary_expression "pcStack_1a8 + -0x798c" (identifier "pcStack_1a8") (+ "+") (number_literal "-0x798c")) () ")"))))) (; ";")) (labeled_statement "LAB_000fb4b4:\n          (*pcVar23)();" (statement_identifier "LAB_000fb4b4") (: ":") (expression_statement "(*pcVar23)();" (call_expression "(*pcVar23)()" (parenthesized_expression "(*pcVar23)" (( "(") (pointer_expression "*pcVar23" (* "*") (identifier "pcVar23")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";"))) (} "}"))) (expression_statement "*(word **)pwVar6 = unaff_s4;" (assignment_expression "*(word **)pwVar6 = unaff_s4" (pointer_expression "*(word **)pwVar6" (* "*") (cast_expression "(word **)pwVar6" (( "(") (type_descriptor "word **" (type_identifier "word") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "pwVar6"))) (= "=") (identifier "unaff_s4")) (; ";")) (if_statement "if (pwVar16 == (word *)0x2) {\n          pwVar16 = *(word **)(pwVar6 + 2);\n          pwVar20 = pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(unaff_s4);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(pwVar16);\n            pbVar24 = (byte *)(pwVar6 + 2);\n            pbVar24[0] = 0;\n            pbVar24[1] = 0;\n            pbVar24[2] = 0;\n            pbVar24[3] = 0;\n          }\n        }" (if "if") (parenthesized_expression "(pwVar16 == (word *)0x2)" (( "(") (binary_expression "pwVar16 == (word *)0x2" (identifier "pwVar16") (== "==") (cast_expression "(word *)0x2" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x2"))) () ")")) (compound_statement "{\n          pwVar16 = *(word **)(pwVar6 + 2);\n          pwVar20 = pwVar16;\n          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(unaff_s4);\n          if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(pwVar16);\n            pbVar24 = (byte *)(pwVar6 + 2);\n            pbVar24[0] = 0;\n            pbVar24[1] = 0;\n            pbVar24[2] = 0;\n            pbVar24[3] = 0;\n          }\n        }" ({ "{") (expression_statement "pwVar16 = *(word **)(pwVar6 + 2);" (assignment_expression "pwVar16 = *(word **)(pwVar6 + 2)" (identifier "pwVar16") (= "=") (pointer_expression "*(word **)(pwVar6 + 2)" (* "*") (cast_expression "(word **)(pwVar6 + 2)" (( "(") (type_descriptor "word **" (type_identifier "word") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pwVar6 + 2)" (( "(") (binary_expression "pwVar6 + 2" (identifier "pwVar6") (+ "+") (number_literal "2")) () ")"))))) (; ";")) (expression_statement "pwVar20 = pwVar16;" (assignment_expression "pwVar20 = pwVar16" (identifier "pwVar20") (= "=") (identifier "pwVar16")) (; ";")) (expression_statement "iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(unaff_s4);" (assignment_expression "iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(unaff_s4)" (identifier "iVar5") (= "=") (call_expression "(**(code **)(pcStack_1a8 + -0x5f48))(unaff_s4)" (parenthesized_expression "(**(code **)(pcStack_1a8 + -0x5f48))" (( "(") (pointer_expression "**(code **)(pcStack_1a8 + -0x5f48)" (* "*") (pointer_expression "*(code **)(pcStack_1a8 + -0x5f48)" (* "*") (cast_expression "(code **)(pcStack_1a8 + -0x5f48)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_1a8 + -0x5f48)" (( "(") (binary_expression "pcStack_1a8 + -0x5f48" (identifier "pcStack_1a8") (+ "+") (number_literal "-0x5f48")) () ")"))))) () ")")) (argument_list "(unaff_s4)" (( "(") (identifier "unaff_s4") () ")")))) (; ";")) (if_statement "if (iVar5 == 0) {\n            (**(code **)(pcStack_1a8 + -0x798c))(pwVar16);\n            pbVar24 = (byte *)(pwVar6 + 2);\n            pbVar24[0] = 0;\n            pbVar24[1] = 0;\n            pbVar24[2] = 0;\n            pbVar24[3] = 0;\n          }" (if "if") (parenthesized_expression "(iVar5 == 0)" (( "(") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            (**(code **)(pcStack_1a8 + -0x798c))(pwVar16);\n            pbVar24 = (byte *)(pwVar6 + 2);\n            pbVar24[0] = 0;\n            pbVar24[1] = 0;\n            pbVar24[2] = 0;\n            pbVar24[3] = 0;\n          }" ({ "{") (expression_statement "(**(code **)(pcStack_1a8 + -0x798c))(pwVar16);" (call_expression "(**(code **)(pcStack_1a8 + -0x798c))(pwVar16)" (parenthesized_expression "(**(code **)(pcStack_1a8 + -0x798c))" (( "(") (pointer_expression "**(code **)(pcStack_1a8 + -0x798c)" (* "*") (pointer_expression "*(code **)(pcStack_1a8 + -0x798c)" (* "*") (cast_expression "(code **)(pcStack_1a8 + -0x798c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_1a8 + -0x798c)" (( "(") (binary_expression "pcStack_1a8 + -0x798c" (identifier "pcStack_1a8") (+ "+") (number_literal "-0x798c")) () ")"))))) () ")")) (argument_list "(pwVar16)" (( "(") (identifier "pwVar16") () ")"))) (; ";")) (expression_statement "pbVar24 = (byte *)(pwVar6 + 2);" (assignment_expression "pbVar24 = (byte *)(pwVar6 + 2)" (identifier "pbVar24") (= "=") (cast_expression "(byte *)(pwVar6 + 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pwVar6 + 2)" (( "(") (binary_expression "pwVar6 + 2" (identifier "pwVar6") (+ "+") (number_literal "2")) () ")")))) (; ";")) (expression_statement "pbVar24[0] = 0;" (assignment_expression "pbVar24[0] = 0" (subscript_expression "pbVar24[0]" (identifier "pbVar24") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "pbVar24[1] = 0;" (assignment_expression "pbVar24[1] = 0" (subscript_expression "pbVar24[1]" (identifier "pbVar24") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "pbVar24[2] = 0;" (assignment_expression "pbVar24[2] = 0" (subscript_expression "pbVar24[2]" (identifier "pbVar24") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "pbVar24[3] = 0;" (assignment_expression "pbVar24[3] = 0" (subscript_expression "pbVar24[3]" (identifier "pbVar24") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (} "}"))) (} "}"))) (} "}")))) (expression_statement "(**(code **)(pcStack_1a8 + -0x798c))(pwVar18);" (call_expression "(**(code **)(pcStack_1a8 + -0x798c))(pwVar18)" (parenthesized_expression "(**(code **)(pcStack_1a8 + -0x798c))" (( "(") (pointer_expression "**(code **)(pcStack_1a8 + -0x798c)" (* "*") (pointer_expression "*(code **)(pcStack_1a8 + -0x798c)" (* "*") (cast_expression "(code **)(pcStack_1a8 + -0x798c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_1a8 + -0x798c)" (( "(") (binary_expression "pcStack_1a8 + -0x798c" (identifier "pcStack_1a8") (+ "+") (number_literal "-0x798c")) () ")"))))) () ")")) (argument_list "(pwVar18)" (( "(") (identifier "pwVar18") () ")"))) (; ";")) (expression_statement "unaff_s5 = pwVar6;" (assignment_expression "unaff_s5 = pwVar6" (identifier "unaff_s5") (= "=") (identifier "pwVar6")) (; ";")) (} "}"))) (expression_statement "unaff_s3 = pwVar14;" (assignment_expression "unaff_s3 = pwVar14" (identifier "unaff_s3") (= "=") (identifier "pwVar14")) (; ";")) (expression_statement "pwVar18 = pwVar6;" (assignment_expression "pwVar18 = pwVar6" (identifier "pwVar18") (= "=") (identifier "pwVar6")) (; ";")) (if_statement "if (((code *)**(undefined4 **)(pcStack_1a8 + -0x703c) == (code *)0x0) ||\n       (pwVar14 == (word *)0x0)) goto LAB_000fb570;" (if "if") (parenthesized_expression "(((code *)**(undefined4 **)(pcStack_1a8 + -0x703c) == (code *)0x0) ||\n       (pwVar14 == (word *)0x0))" (( "(") (binary_expression "((code *)**(undefined4 **)(pcStack_1a8 + -0x703c) == (code *)0x0) ||\n       (pwVar14 == (word *)0x0)" (parenthesized_expression "((code *)**(undefined4 **)(pcStack_1a8 + -0x703c) == (code *)0x0)" (( "(") (binary_expression "(code *)**(undefined4 **)(pcStack_1a8 + -0x703c) == (code *)0x0" (cast_expression "(code *)**(undefined4 **)(pcStack_1a8 + -0x703c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(undefined4 **)(pcStack_1a8 + -0x703c)" (* "*") (pointer_expression "*(undefined4 **)(pcStack_1a8 + -0x703c)" (* "*") (cast_expression "(undefined4 **)(pcStack_1a8 + -0x703c)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_1a8 + -0x703c)" (( "(") (binary_expression "pcStack_1a8 + -0x703c" (identifier "pcStack_1a8") (+ "+") (number_literal "-0x703c")) () ")")))))) (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(pwVar14 == (word *)0x0)" (( "(") (binary_expression "pwVar14 == (word *)0x0" (identifier "pwVar14") (== "==") (cast_expression "(word *)0x0" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")"))) () ")")) (goto_statement "goto LAB_000fb570;" (goto "goto") (statement_identifier "LAB_000fb570") (; ";"))) (if_statement "if (*(int *)(pwVar6 + 2) == 0) {\n      pwVar16 = (word *)0x1;\n    }\n    else {\n      pwVar16 = (word *)0x1;\n      pbVar24 = (byte *)(pwVar6 + 4);\n      do {\n        iVar5 = *(int *)pbVar24;\n        pwVar16 = (word *)((int)pwVar16 + 1);\n        pbVar24 = pbVar24 + 4;\n      } while (iVar5 != 0);\n    }" (if "if") (parenthesized_expression "(*(int *)(pwVar6 + 2) == 0)" (( "(") (binary_expression "*(int *)(pwVar6 + 2) == 0" (pointer_expression "*(int *)(pwVar6 + 2)" (* "*") (cast_expression "(int *)(pwVar6 + 2)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pwVar6 + 2)" (( "(") (binary_expression "pwVar6 + 2" (identifier "pwVar6") (+ "+") (number_literal "2")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      pwVar16 = (word *)0x1;\n    }" ({ "{") (expression_statement "pwVar16 = (word *)0x1;" (assignment_expression "pwVar16 = (word *)0x1" (identifier "pwVar16") (= "=") (cast_expression "(word *)0x1" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (} "}")) (else_clause "else {\n      pwVar16 = (word *)0x1;\n      pbVar24 = (byte *)(pwVar6 + 4);\n      do {\n        iVar5 = *(int *)pbVar24;\n        pwVar16 = (word *)((int)pwVar16 + 1);\n        pbVar24 = pbVar24 + 4;\n      } while (iVar5 != 0);\n    }" (else "else") (compound_statement "{\n      pwVar16 = (word *)0x1;\n      pbVar24 = (byte *)(pwVar6 + 4);\n      do {\n        iVar5 = *(int *)pbVar24;\n        pwVar16 = (word *)((int)pwVar16 + 1);\n        pbVar24 = pbVar24 + 4;\n      } while (iVar5 != 0);\n    }" ({ "{") (expression_statement "pwVar16 = (word *)0x1;" (assignment_expression "pwVar16 = (word *)0x1" (identifier "pwVar16") (= "=") (cast_expression "(word *)0x1" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "pbVar24 = (byte *)(pwVar6 + 4);" (assignment_expression "pbVar24 = (byte *)(pwVar6 + 4)" (identifier "pbVar24") (= "=") (cast_expression "(byte *)(pwVar6 + 4)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pwVar6 + 4)" (( "(") (binary_expression "pwVar6 + 4" (identifier "pwVar6") (+ "+") (number_literal "4")) () ")")))) (; ";")) (do_statement "do {\n        iVar5 = *(int *)pbVar24;\n        pwVar16 = (word *)((int)pwVar16 + 1);\n        pbVar24 = pbVar24 + 4;\n      } while (iVar5 != 0);" (do "do") (compound_statement "{\n        iVar5 = *(int *)pbVar24;\n        pwVar16 = (word *)((int)pwVar16 + 1);\n        pbVar24 = pbVar24 + 4;\n      }" ({ "{") (expression_statement "iVar5 = *(int *)pbVar24;" (assignment_expression "iVar5 = *(int *)pbVar24" (identifier "iVar5") (= "=") (pointer_expression "*(int *)pbVar24" (* "*") (cast_expression "(int *)pbVar24" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pbVar24")))) (; ";")) (expression_statement "pwVar16 = (word *)((int)pwVar16 + 1);" (assignment_expression "pwVar16 = (word *)((int)pwVar16 + 1)" (identifier "pwVar16") (= "=") (cast_expression "(word *)((int)pwVar16 + 1)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pwVar16 + 1)" (( "(") (binary_expression "(int)pwVar16 + 1" (cast_expression "(int)pwVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pwVar16")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "pbVar24 = pbVar24 + 4;" (assignment_expression "pbVar24 = pbVar24 + 4" (identifier "pbVar24") (= "=") (binary_expression "pbVar24 + 4" (identifier "pbVar24") (+ "+") (number_literal "4"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar5 != 0)" (( "(") (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0")) () ")")) (; ";")) (} "}")))) (expression_statement "(*(code *)**(undefined4 **)(pcStack_1a8 + -0x703c))(pwVar6);" (call_expression "(*(code *)**(undefined4 **)(pcStack_1a8 + -0x703c))(pwVar6)" (parenthesized_expression "(*(code *)**(undefined4 **)(pcStack_1a8 + -0x703c))" (( "(") (pointer_expression "*(code *)**(undefined4 **)(pcStack_1a8 + -0x703c)" (* "*") (cast_expression "(code *)**(undefined4 **)(pcStack_1a8 + -0x703c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(undefined4 **)(pcStack_1a8 + -0x703c)" (* "*") (pointer_expression "*(undefined4 **)(pcStack_1a8 + -0x703c)" (* "*") (cast_expression "(undefined4 **)(pcStack_1a8 + -0x703c)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_1a8 + -0x703c)" (( "(") (binary_expression "pcStack_1a8 + -0x703c" (identifier "pcStack_1a8") (+ "+") (number_literal "-0x703c")) () ")"))))))) () ")")) (argument_list "(pwVar6)" (( "(") (identifier "pwVar6") () ")"))) (; ";")) (expression_statement "unaff_s3 = *(word **)pwVar6;" (assignment_expression "unaff_s3 = *(word **)pwVar6" (identifier "unaff_s3") (= "=") (pointer_expression "*(word **)pwVar6" (* "*") (cast_expression "(word **)pwVar6" (( "(") (type_descriptor "word **" (type_identifier "word") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "pwVar6")))) (; ";")) (if_statement "if (unaff_s3 == (word *)0x0) {\n      (**(code **)(pcStack_1a8 + -0x5f94))(pwVar6);\n      *puVar21 = 0;\n      pwVar6 = (word *)0x0;\n      pwVar14 = pwVar20;\n      goto LAB_000fb578;\n    }" (if "if") (parenthesized_expression "(unaff_s3 == (word *)0x0)" (( "(") (binary_expression "unaff_s3 == (word *)0x0" (identifier "unaff_s3") (== "==") (cast_expression "(word *)0x0" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      (**(code **)(pcStack_1a8 + -0x5f94))(pwVar6);\n      *puVar21 = 0;\n      pwVar6 = (word *)0x0;\n      pwVar14 = pwVar20;\n      goto LAB_000fb578;\n    }" ({ "{") (expression_statement "(**(code **)(pcStack_1a8 + -0x5f94))(pwVar6);" (call_expression "(**(code **)(pcStack_1a8 + -0x5f94))(pwVar6)" (parenthesized_expression "(**(code **)(pcStack_1a8 + -0x5f94))" (( "(") (pointer_expression "**(code **)(pcStack_1a8 + -0x5f94)" (* "*") (pointer_expression "*(code **)(pcStack_1a8 + -0x5f94)" (* "*") (cast_expression "(code **)(pcStack_1a8 + -0x5f94)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_1a8 + -0x5f94)" (( "(") (binary_expression "pcStack_1a8 + -0x5f94" (identifier "pcStack_1a8") (+ "+") (number_literal "-0x5f94")) () ")"))))) () ")")) (argument_list "(pwVar6)" (( "(") (identifier "pwVar6") () ")"))) (; ";")) (expression_statement "*puVar21 = 0;" (assignment_expression "*puVar21 = 0" (pointer_expression "*puVar21" (* "*") (identifier "puVar21")) (= "=") (number_literal "0")) (; ";")) (expression_statement "pwVar6 = (word *)0x0;" (assignment_expression "pwVar6 = (word *)0x0" (identifier "pwVar6") (= "=") (cast_expression "(word *)0x0" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pwVar14 = pwVar20;" (assignment_expression "pwVar14 = pwVar20" (identifier "pwVar14") (= "=") (identifier "pwVar20")) (; ";")) (goto_statement "goto LAB_000fb578;" (goto "goto") (statement_identifier "LAB_000fb578") (; ";")) (} "}"))) (if_statement "if (*(int *)(pwVar6 + 2) == 0) {\nLAB_000fb570:\n      *puVar21 = pwVar6;\n    }\n    else {\n      pbVar24 = (byte *)(pwVar6 + 4);\n      pwVar14 = (word *)0x1;\n      do {\n        pwVar20 = pwVar14;\n        iVar5 = *(int *)pbVar24;\n        pwVar14 = (word *)((int)pwVar20 + 1);\n        pbVar24 = pbVar24 + 4;\n      } while (iVar5 != 0);\n      pwVar16 = (word *)(uint)((int)pwVar14 < (int)pwVar16);\n      if (((int)pwVar14 < 2) || (pwVar15 = unaff_s3, pwVar16 == (word *)0x0)) goto LAB_000fb570;\n      FUN_000fab30(pwVar6);\n      (**(code **)(pcStack_1a8 + -0x5f94))(unaff_s3);\n      *puVar21 = pwVar6;\n    }" (if "if") (parenthesized_expression "(*(int *)(pwVar6 + 2) == 0)" (( "(") (binary_expression "*(int *)(pwVar6 + 2) == 0" (pointer_expression "*(int *)(pwVar6 + 2)" (* "*") (cast_expression "(int *)(pwVar6 + 2)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pwVar6 + 2)" (( "(") (binary_expression "pwVar6 + 2" (identifier "pwVar6") (+ "+") (number_literal "2")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_000fb570:\n      *puVar21 = pwVar6;\n    }" ({ "{") (labeled_statement "LAB_000fb570:\n      *puVar21 = pwVar6;" (statement_identifier "LAB_000fb570") (: ":") (expression_statement "*puVar21 = pwVar6;" (assignment_expression "*puVar21 = pwVar6" (pointer_expression "*puVar21" (* "*") (identifier "puVar21")) (= "=") (identifier "pwVar6")) (; ";"))) (} "}")) (else_clause "else {\n      pbVar24 = (byte *)(pwVar6 + 4);\n      pwVar14 = (word *)0x1;\n      do {\n        pwVar20 = pwVar14;\n        iVar5 = *(int *)pbVar24;\n        pwVar14 = (word *)((int)pwVar20 + 1);\n        pbVar24 = pbVar24 + 4;\n      } while (iVar5 != 0);\n      pwVar16 = (word *)(uint)((int)pwVar14 < (int)pwVar16);\n      if (((int)pwVar14 < 2) || (pwVar15 = unaff_s3, pwVar16 == (word *)0x0)) goto LAB_000fb570;\n      FUN_000fab30(pwVar6);\n      (**(code **)(pcStack_1a8 + -0x5f94))(unaff_s3);\n      *puVar21 = pwVar6;\n    }" (else "else") (compound_statement "{\n      pbVar24 = (byte *)(pwVar6 + 4);\n      pwVar14 = (word *)0x1;\n      do {\n        pwVar20 = pwVar14;\n        iVar5 = *(int *)pbVar24;\n        pwVar14 = (word *)((int)pwVar20 + 1);\n        pbVar24 = pbVar24 + 4;\n      } while (iVar5 != 0);\n      pwVar16 = (word *)(uint)((int)pwVar14 < (int)pwVar16);\n      if (((int)pwVar14 < 2) || (pwVar15 = unaff_s3, pwVar16 == (word *)0x0)) goto LAB_000fb570;\n      FUN_000fab30(pwVar6);\n      (**(code **)(pcStack_1a8 + -0x5f94))(unaff_s3);\n      *puVar21 = pwVar6;\n    }" ({ "{") (expression_statement "pbVar24 = (byte *)(pwVar6 + 4);" (assignment_expression "pbVar24 = (byte *)(pwVar6 + 4)" (identifier "pbVar24") (= "=") (cast_expression "(byte *)(pwVar6 + 4)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pwVar6 + 4)" (( "(") (binary_expression "pwVar6 + 4" (identifier "pwVar6") (+ "+") (number_literal "4")) () ")")))) (; ";")) (expression_statement "pwVar14 = (word *)0x1;" (assignment_expression "pwVar14 = (word *)0x1" (identifier "pwVar14") (= "=") (cast_expression "(word *)0x1" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (do_statement "do {\n        pwVar20 = pwVar14;\n        iVar5 = *(int *)pbVar24;\n        pwVar14 = (word *)((int)pwVar20 + 1);\n        pbVar24 = pbVar24 + 4;\n      } while (iVar5 != 0);" (do "do") (compound_statement "{\n        pwVar20 = pwVar14;\n        iVar5 = *(int *)pbVar24;\n        pwVar14 = (word *)((int)pwVar20 + 1);\n        pbVar24 = pbVar24 + 4;\n      }" ({ "{") (expression_statement "pwVar20 = pwVar14;" (assignment_expression "pwVar20 = pwVar14" (identifier "pwVar20") (= "=") (identifier "pwVar14")) (; ";")) (expression_statement "iVar5 = *(int *)pbVar24;" (assignment_expression "iVar5 = *(int *)pbVar24" (identifier "iVar5") (= "=") (pointer_expression "*(int *)pbVar24" (* "*") (cast_expression "(int *)pbVar24" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pbVar24")))) (; ";")) (expression_statement "pwVar14 = (word *)((int)pwVar20 + 1);" (assignment_expression "pwVar14 = (word *)((int)pwVar20 + 1)" (identifier "pwVar14") (= "=") (cast_expression "(word *)((int)pwVar20 + 1)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pwVar20 + 1)" (( "(") (binary_expression "(int)pwVar20 + 1" (cast_expression "(int)pwVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pwVar20")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "pbVar24 = pbVar24 + 4;" (assignment_expression "pbVar24 = pbVar24 + 4" (identifier "pbVar24") (= "=") (binary_expression "pbVar24 + 4" (identifier "pbVar24") (+ "+") (number_literal "4"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar5 != 0)" (( "(") (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0")) () ")")) (; ";")) (expression_statement "pwVar16 = (word *)(uint)((int)pwVar14 < (int)pwVar16);" (assignment_expression "pwVar16 = (word *)(uint)((int)pwVar14 < (int)pwVar16)" (identifier "pwVar16") (= "=") (cast_expression "(word *)(uint)((int)pwVar14 < (int)pwVar16)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(uint)((int)pwVar14 < (int)pwVar16)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)pwVar14 < (int)pwVar16)" (( "(") (binary_expression "(int)pwVar14 < (int)pwVar16" (cast_expression "(int)pwVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pwVar14")) (< "<") (cast_expression "(int)pwVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pwVar16"))) () ")"))))) (; ";")) (if_statement "if (((int)pwVar14 < 2) || (pwVar15 = unaff_s3, pwVar16 == (word *)0x0)) goto LAB_000fb570;" (if "if") (parenthesized_expression "(((int)pwVar14 < 2) || (pwVar15 = unaff_s3, pwVar16 == (word *)0x0))" (( "(") (binary_expression "((int)pwVar14 < 2) || (pwVar15 = unaff_s3, pwVar16 == (word *)0x0)" (parenthesized_expression "((int)pwVar14 < 2)" (( "(") (binary_expression "(int)pwVar14 < 2" (cast_expression "(int)pwVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pwVar14")) (< "<") (number_literal "2")) () ")")) (|| "||") (parenthesized_expression "(pwVar15 = unaff_s3, pwVar16 == (word *)0x0)" (( "(") (comma_expression "pwVar15 = unaff_s3, pwVar16 == (word *)0x0" (assignment_expression "pwVar15 = unaff_s3" (identifier "pwVar15") (= "=") (identifier "unaff_s3")) (, ",") (binary_expression "pwVar16 == (word *)0x0" (identifier "pwVar16") (== "==") (cast_expression "(word *)0x0" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (goto_statement "goto LAB_000fb570;" (goto "goto") (statement_identifier "LAB_000fb570") (; ";"))) (expression_statement "FUN_000fab30(pwVar6);" (call_expression "FUN_000fab30(pwVar6)" (identifier "FUN_000fab30") (argument_list "(pwVar6)" (( "(") (identifier "pwVar6") () ")"))) (; ";")) (expression_statement "(**(code **)(pcStack_1a8 + -0x5f94))(unaff_s3);" (call_expression "(**(code **)(pcStack_1a8 + -0x5f94))(unaff_s3)" (parenthesized_expression "(**(code **)(pcStack_1a8 + -0x5f94))" (( "(") (pointer_expression "**(code **)(pcStack_1a8 + -0x5f94)" (* "*") (pointer_expression "*(code **)(pcStack_1a8 + -0x5f94)" (* "*") (cast_expression "(code **)(pcStack_1a8 + -0x5f94)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_1a8 + -0x5f94)" (( "(") (binary_expression "pcStack_1a8 + -0x5f94" (identifier "pcStack_1a8") (+ "+") (number_literal "-0x5f94")) () ")"))))) () ")")) (argument_list "(unaff_s3)" (( "(") (identifier "unaff_s3") () ")"))) (; ";")) (expression_statement "*puVar21 = pwVar6;" (assignment_expression "*puVar21 = pwVar6" (pointer_expression "*puVar21" (* "*") (identifier "puVar21")) (= "=") (identifier "pwVar6")) (; ";")) (} "}")))) (expression_statement "pwVar6 = (word *)0x1;" (assignment_expression "pwVar6 = (word *)0x1" (identifier "pwVar6") (= "=") (cast_expression "(word *)0x1" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "pwVar14 = pwVar20;" (assignment_expression "pwVar14 = pwVar20" (identifier "pwVar14") (= "=") (identifier "pwVar20")) (; ";")) (} "}")))) (labeled_statement "LAB_000fb578:\n  if ((char *)auStack_19d._1_4_ == (char *)**(undefined4 **)(pcStack_1a8 + -0x5fb4)) {\n    return pwVar6;\n  }" (statement_identifier "LAB_000fb578") (: ":") (if_statement "if ((char *)auStack_19d._1_4_ == (char *)**(undefined4 **)(pcStack_1a8 + -0x5fb4)) {\n    return pwVar6;\n  }" (if "if") (parenthesized_expression "((char *)auStack_19d._1_4_ == (char *)**(undefined4 **)(pcStack_1a8 + -0x5fb4))" (( "(") (binary_expression "(char *)auStack_19d._1_4_ == (char *)**(undefined4 **)(pcStack_1a8 + -0x5fb4)" (cast_expression "(char *)auStack_19d._1_4_" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (field_expression "auStack_19d._1_4_" (identifier "auStack_19d") (. ".") (field_identifier "_1_4_"))) (== "==") (cast_expression "(char *)**(undefined4 **)(pcStack_1a8 + -0x5fb4)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(undefined4 **)(pcStack_1a8 + -0x5fb4)" (* "*") (pointer_expression "*(undefined4 **)(pcStack_1a8 + -0x5fb4)" (* "*") (cast_expression "(undefined4 **)(pcStack_1a8 + -0x5fb4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_1a8 + -0x5fb4)" (( "(") (binary_expression "pcStack_1a8 + -0x5fb4" (identifier "pcStack_1a8") (+ "+") (number_literal "-0x5fb4")) () ")"))))))) () ")")) (compound_statement "{\n    return pwVar6;\n  }" ({ "{") (return_statement "return pwVar6;" (return "return") (identifier "pwVar6") (; ";")) (} "}")))) (expression_statement "pcVar23 = *(code **)(pcStack_1a8 + -0x6004);" (assignment_expression "pcVar23 = *(code **)(pcStack_1a8 + -0x6004)" (identifier "pcVar23") (= "=") (pointer_expression "*(code **)(pcStack_1a8 + -0x6004)" (* "*") (cast_expression "(code **)(pcStack_1a8 + -0x6004)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_1a8 + -0x6004)" (( "(") (binary_expression "pcStack_1a8 + -0x6004" (identifier "pcStack_1a8") (+ "+") (number_literal "-0x6004")) () ")"))))) (; ";")) (expression_statement "pcVar25 = rl_filename_completion_function;" (assignment_expression "pcVar25 = rl_filename_completion_function" (identifier "pcVar25") (= "=") (identifier "rl_filename_completion_function")) (; ";")) (expression_statement "pcVar19 = (char *)auStack_19d._1_4_;" (assignment_expression "pcVar19 = (char *)auStack_19d._1_4_" (identifier "pcVar19") (= "=") (cast_expression "(char *)auStack_19d._1_4_" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (field_expression "auStack_19d._1_4_" (identifier "auStack_19d") (. ".") (field_identifier "_1_4_")))) (; ";")) (expression_statement "(*pcVar23)();" (call_expression "(*pcVar23)()" (parenthesized_expression "(*pcVar23)" (( "(") (pointer_expression "*pcVar23" (* "*") (identifier "pcVar23")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcStack_230 = pcVar23 + 0x62f20;" (assignment_expression "pcStack_230 = pcVar23 + 0x62f20" (identifier "pcStack_230") (= "=") (binary_expression "pcVar23 + 0x62f20" (identifier "pcVar23") (+ "+") (number_literal "0x62f20"))) (; ";")) (expression_statement "iStack_1e4 = **(int **)(pcVar23 + 0x5cf6c);" (assignment_expression "iStack_1e4 = **(int **)(pcVar23 + 0x5cf6c)" (identifier "iStack_1e4") (= "=") (pointer_expression "**(int **)(pcVar23 + 0x5cf6c)" (* "*") (pointer_expression "*(int **)(pcVar23 + 0x5cf6c)" (* "*") (cast_expression "(int **)(pcVar23 + 0x5cf6c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x5cf6c)" (( "(") (binary_expression "pcVar23 + 0x5cf6c" (identifier "pcVar23") (+ "+") (number_literal "0x5cf6c")) () ")")))))) (; ";")) (expression_statement "pwStack_1e0 = pwVar16;" (assignment_expression "pwStack_1e0 = pwVar16" (identifier "pwStack_1e0") (= "=") (identifier "pwVar16")) (; ";")) (expression_statement "pwStack_1dc = pwVar18;" (assignment_expression "pwStack_1dc = pwVar18" (identifier "pwStack_1dc") (= "=") (identifier "pwVar18")) (; ";")) (expression_statement "puStack_1d8 = puVar21;" (assignment_expression "puStack_1d8 = puVar21" (identifier "puStack_1d8") (= "=") (identifier "puVar21")) (; ";")) (expression_statement "pwStack_1d4 = unaff_s3;" (assignment_expression "pwStack_1d4 = unaff_s3" (identifier "pwStack_1d4") (= "=") (identifier "unaff_s3")) (; ";")) (expression_statement "pwStack_1d0 = unaff_s4;" (assignment_expression "pwStack_1d0 = unaff_s4" (identifier "pwStack_1d0") (= "=") (identifier "unaff_s4")) (; ";")) (expression_statement "pwStack_1cc = unaff_s5;" (assignment_expression "pwStack_1cc = unaff_s5" (identifier "pwStack_1cc") (= "=") (identifier "unaff_s5")) (; ";")) (expression_statement "pwStack_1c8 = unaff_s6;" (assignment_expression "pwStack_1c8 = unaff_s6" (identifier "pwStack_1c8") (= "=") (identifier "unaff_s6")) (; ";")) (expression_statement "pwStack_1c4 = unaff_s7;" (assignment_expression "pwStack_1c4 = unaff_s7" (identifier "pwStack_1c4") (= "=") (identifier "unaff_s7")) (; ";")) (expression_statement "ppbStack_1c0 = unaff_s8;" (assignment_expression "ppbStack_1c0 = unaff_s8" (identifier "ppbStack_1c0") (= "=") (identifier "unaff_s8")) (; ";")) (expression_statement "pcStack_1bc = pcVar25;" (assignment_expression "pcStack_1bc = pcVar25" (identifier "pcStack_1bc") (= "=") (identifier "pcVar25")) (; ";")) (if_statement "if (pwVar14 != (word *)0x0) goto LAB_000fb968;" (if "if") (parenthesized_expression "(pwVar14 != (word *)0x0)" (( "(") (binary_expression "pwVar14 != (word *)0x0" (identifier "pwVar14") (!= "!=") (cast_expression "(word *)0x0" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000fb968;" (goto "goto") (statement_identifier "LAB_000fb968") (; ";"))) (if_statement "if (*(int *)(*(int *)(pcVar23 + 0x5af4c) + -0x3fd4) != 0) {\n    (**(code **)(pcVar23 + 0x5cc9c))();\n    *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) = 0;\n  }" (if "if") (parenthesized_expression "(*(int *)(*(int *)(pcVar23 + 0x5af4c) + -0x3fd4) != 0)" (( "(") (binary_expression "*(int *)(*(int *)(pcVar23 + 0x5af4c) + -0x3fd4) != 0" (pointer_expression "*(int *)(*(int *)(pcVar23 + 0x5af4c) + -0x3fd4)" (* "*") (cast_expression "(int *)(*(int *)(pcVar23 + 0x5af4c) + -0x3fd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar23 + 0x5af4c) + -0x3fd4)" (( "(") (binary_expression "*(int *)(pcVar23 + 0x5af4c) + -0x3fd4" (pointer_expression "*(int *)(pcVar23 + 0x5af4c)" (* "*") (cast_expression "(int *)(pcVar23 + 0x5af4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar23 + 0x5af4c)" (( "(") (binary_expression "pcVar23 + 0x5af4c" (identifier "pcVar23") (+ "+") (number_literal "0x5af4c")) () ")")))) (+ "+") (number_literal "-0x3fd4")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    (**(code **)(pcVar23 + 0x5cc9c))();\n    *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) = 0;\n  }" ({ "{") (expression_statement "(**(code **)(pcVar23 + 0x5cc9c))();" (call_expression "(**(code **)(pcVar23 + 0x5cc9c))()" (parenthesized_expression "(**(code **)(pcVar23 + 0x5cc9c))" (( "(") (pointer_expression "**(code **)(pcVar23 + 0x5cc9c)" (* "*") (pointer_expression "*(code **)(pcVar23 + 0x5cc9c)" (* "*") (cast_expression "(code **)(pcVar23 + 0x5cc9c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x5cc9c)" (( "(") (binary_expression "pcVar23 + 0x5cc9c" (identifier "pcVar23") (+ "+") (number_literal "0x5cc9c")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) = 0;" (assignment_expression "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) = 0" (pointer_expression "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4)" (* "*") (cast_expression "(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4)" (( "(") (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" (* "*") (cast_expression "(int *)(pcStack_230 + -0x7fd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_230 + -0x7fd4)" (( "(") (binary_expression "pcStack_230 + -0x7fd4" (identifier "pcStack_230") (+ "+") (number_literal "-0x7fd4")) () ")")))) (+ "+") (number_literal "-0x3fd4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}"))) (if_statement "if (*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) != 0) {\n    (**(code **)(pcStack_230 + -0x5f94))();\n  }" (if "if") (parenthesized_expression "(*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) != 0)" (( "(") (binary_expression "*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) != 0" (pointer_expression "*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" (* "*") (cast_expression "(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" (( "(") (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" (* "*") (cast_expression "(int *)(pcStack_230 + -0x7fd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_230 + -0x7fd4)" (( "(") (binary_expression "pcStack_230 + -0x7fd4" (identifier "pcStack_230") (+ "+") (number_literal "-0x7fd4")) () ")")))) (+ "+") (number_literal "-0x3fd8")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    (**(code **)(pcStack_230 + -0x5f94))();\n  }" ({ "{") (expression_statement "(**(code **)(pcStack_230 + -0x5f94))();" (call_expression "(**(code **)(pcStack_230 + -0x5f94))()" (parenthesized_expression "(**(code **)(pcStack_230 + -0x5f94))" (( "(") (pointer_expression "**(code **)(pcStack_230 + -0x5f94)" (* "*") (pointer_expression "*(code **)(pcStack_230 + -0x5f94)" (* "*") (cast_expression "(code **)(pcStack_230 + -0x5f94)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x5f94)" (( "(") (binary_expression "pcStack_230 + -0x5f94" (identifier "pcStack_230") (+ "+") (number_literal "-0x5f94")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) != 0) {\n    (**(code **)(pcStack_230 + -0x5f94))();\n  }" (if "if") (parenthesized_expression "(*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) != 0)" (( "(") (binary_expression "*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) != 0" (pointer_expression "*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc)" (* "*") (cast_expression "(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc)" (( "(") (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" (* "*") (cast_expression "(int *)(pcStack_230 + -0x7fd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_230 + -0x7fd4)" (( "(") (binary_expression "pcStack_230 + -0x7fd4" (identifier "pcStack_230") (+ "+") (number_literal "-0x7fd4")) () ")")))) (+ "+") (number_literal "-0x3fdc")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    (**(code **)(pcStack_230 + -0x5f94))();\n  }" ({ "{") (expression_statement "(**(code **)(pcStack_230 + -0x5f94))();" (call_expression "(**(code **)(pcStack_230 + -0x5f94))()" (parenthesized_expression "(**(code **)(pcStack_230 + -0x5f94))" (( "(") (pointer_expression "**(code **)(pcStack_230 + -0x5f94)" (* "*") (pointer_expression "*(code **)(pcStack_230 + -0x5f94)" (* "*") (cast_expression "(code **)(pcStack_230 + -0x5f94)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x5f94)" (( "(") (binary_expression "pcStack_230 + -0x5f94" (identifier "pcStack_230") (+ "+") (number_literal "-0x5f94")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) != 0) {\n    (**(code **)(pcStack_230 + -0x5f94))();\n  }" (if "if") (parenthesized_expression "(*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) != 0)" (( "(") (binary_expression "*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) != 0" (pointer_expression "*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0)" (* "*") (cast_expression "(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0)" (( "(") (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" (* "*") (cast_expression "(int *)(pcStack_230 + -0x7fd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_230 + -0x7fd4)" (( "(") (binary_expression "pcStack_230 + -0x7fd4" (identifier "pcStack_230") (+ "+") (number_literal "-0x7fd4")) () ")")))) (+ "+") (number_literal "-0x3fe0")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    (**(code **)(pcStack_230 + -0x5f94))();\n  }" ({ "{") (expression_statement "(**(code **)(pcStack_230 + -0x5f94))();" (call_expression "(**(code **)(pcStack_230 + -0x5f94))()" (parenthesized_expression "(**(code **)(pcStack_230 + -0x5f94))" (( "(") (pointer_expression "**(code **)(pcStack_230 + -0x5f94)" (* "*") (pointer_expression "*(code **)(pcStack_230 + -0x5f94)" (* "*") (cast_expression "(code **)(pcStack_230 + -0x5f94)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x5f94)" (( "(") (binary_expression "pcStack_230 + -0x5f94" (identifier "pcStack_230") (+ "+") (number_literal "-0x5f94")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar5 = (**(code **)(pcStack_230 + -0x60fc))(pcVar19);" (assignment_expression "iVar5 = (**(code **)(pcStack_230 + -0x60fc))(pcVar19)" (identifier "iVar5") (= "=") (call_expression "(**(code **)(pcStack_230 + -0x60fc))(pcVar19)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x60fc))" (( "(") (pointer_expression "**(code **)(pcStack_230 + -0x60fc)" (* "*") (pointer_expression "*(code **)(pcStack_230 + -0x60fc)" (* "*") (cast_expression "(code **)(pcStack_230 + -0x60fc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x60fc)" (( "(") (binary_expression "pcStack_230 + -0x60fc" (identifier "pcStack_230") (+ "+") (number_literal "-0x60fc")) () ")"))))) () ")")) (argument_list "(pcVar19)" (( "(") (identifier "pcVar19") () ")")))) (; ";")) (expression_statement "uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);" (assignment_expression "uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1)" (identifier "uVar7") (= "=") (call_expression "(**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x7f88))" (( "(") (pointer_expression "**(code **)(pcStack_230 + -0x7f88)" (* "*") (pointer_expression "*(code **)(pcStack_230 + -0x7f88)" (* "*") (cast_expression "(code **)(pcStack_230 + -0x7f88)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x7f88)" (( "(") (binary_expression "pcStack_230 + -0x7f88" (identifier "pcStack_230") (+ "+") (number_literal "-0x7f88")) () ")"))))) () ")")) (argument_list "(iVar5 + 1)" (( "(") (binary_expression "iVar5 + 1" (identifier "iVar5") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,pcVar19);" (assignment_expression "uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,pcVar19)" (identifier "uVar7") (= "=") (call_expression "(**(code **)(pcStack_230 + -0x6074))(uVar7,pcVar19)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x6074))" (( "(") (pointer_expression "**(code **)(pcStack_230 + -0x6074)" (* "*") (pointer_expression "*(code **)(pcStack_230 + -0x6074)" (* "*") (cast_expression "(code **)(pcStack_230 + -0x6074)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x6074)" (( "(") (binary_expression "pcStack_230 + -0x6074" (identifier "pcStack_230") (+ "+") (number_literal "-0x6074")) () ")"))))) () ")")) (argument_list "(uVar7,pcVar19)" (( "(") (identifier "uVar7") (, ",") (identifier "pcVar19") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) = uVar7;" (assignment_expression "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) = uVar7" (pointer_expression "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc)" (* "*") (cast_expression "(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc)" (( "(") (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" (* "*") (cast_expression "(int *)(pcStack_230 + -0x7fd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_230 + -0x7fd4)" (( "(") (binary_expression "pcStack_230 + -0x7fd4" (identifier "pcStack_230") (+ "+") (number_literal "-0x7fd4")) () ")")))) (+ "+") (number_literal "-0x3fdc")) () ")")))) (= "=") (identifier "uVar7")) (; ";")) (if_statement "if (*pcVar19 == '\0') {\n    pcVar19 = (char *)(*(int *)(pcStack_230 + -0x7f90) + -0x5e18);\n  }" (if "if") (parenthesized_expression "(*pcVar19 == '\0')" (( "(") (binary_expression "*pcVar19 == '\0'" (pointer_expression "*pcVar19" (* "*") (identifier "pcVar19")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    pcVar19 = (char *)(*(int *)(pcStack_230 + -0x7f90) + -0x5e18);\n  }" ({ "{") (expression_statement "pcVar19 = (char *)(*(int *)(pcStack_230 + -0x7f90) + -0x5e18);" (assignment_expression "pcVar19 = (char *)(*(int *)(pcStack_230 + -0x7f90) + -0x5e18)" (identifier "pcVar19") (= "=") (cast_expression "(char *)(*(int *)(pcStack_230 + -0x7f90) + -0x5e18)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_230 + -0x7f90) + -0x5e18)" (( "(") (binary_expression "*(int *)(pcStack_230 + -0x7f90) + -0x5e18" (pointer_expression "*(int *)(pcStack_230 + -0x7f90)" (* "*") (cast_expression "(int *)(pcStack_230 + -0x7f90)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_230 + -0x7f90)" (( "(") (binary_expression "pcStack_230 + -0x7f90" (identifier "pcStack_230") (+ "+") (number_literal "-0x7f90")) () ")")))) (+ "+") (number_literal "-0x5e18")) () ")")))) (; ";")) (} "}"))) (expression_statement "iVar5 = (**(code **)(pcStack_230 + -0x60fc))(pcVar19);" (assignment_expression "iVar5 = (**(code **)(pcStack_230 + -0x60fc))(pcVar19)" (identifier "iVar5") (= "=") (call_expression "(**(code **)(pcStack_230 + -0x60fc))(pcVar19)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x60fc))" (( "(") (pointer_expression "**(code **)(pcStack_230 + -0x60fc)" (* "*") (pointer_expression "*(code **)(pcStack_230 + -0x60fc)" (* "*") (cast_expression "(code **)(pcStack_230 + -0x60fc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x60fc)" (( "(") (binary_expression "pcStack_230 + -0x60fc" (identifier "pcStack_230") (+ "+") (number_literal "-0x60fc")) () ")"))))) () ")")) (argument_list "(pcVar19)" (( "(") (identifier "pcVar19") () ")")))) (; ";")) (expression_statement "uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);" (assignment_expression "uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1)" (identifier "uVar7") (= "=") (call_expression "(**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x7f88))" (( "(") (pointer_expression "**(code **)(pcStack_230 + -0x7f88)" (* "*") (pointer_expression "*(code **)(pcStack_230 + -0x7f88)" (* "*") (cast_expression "(code **)(pcStack_230 + -0x7f88)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x7f88)" (( "(") (binary_expression "pcStack_230 + -0x7f88" (identifier "pcStack_230") (+ "+") (number_literal "-0x7f88")) () ")"))))) () ")")) (argument_list "(iVar5 + 1)" (( "(") (binary_expression "iVar5 + 1" (identifier "iVar5") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "puVar8 = (undefined1 *)(**(code **)(pcStack_230 + -0x6074))(uVar7,pcVar19);" (assignment_expression "puVar8 = (undefined1 *)(**(code **)(pcStack_230 + -0x6074))(uVar7,pcVar19)" (identifier "puVar8") (= "=") (cast_expression "(undefined1 *)(**(code **)(pcStack_230 + -0x6074))(uVar7,pcVar19)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcStack_230 + -0x6074))(uVar7,pcVar19)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x6074))" (( "(") (pointer_expression "**(code **)(pcStack_230 + -0x6074)" (* "*") (pointer_expression "*(code **)(pcStack_230 + -0x6074)" (* "*") (cast_expression "(code **)(pcStack_230 + -0x6074)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x6074)" (( "(") (binary_expression "pcStack_230 + -0x6074" (identifier "pcStack_230") (+ "+") (number_literal "-0x6074")) () ")"))))) () ")")) (argument_list "(uVar7,pcVar19)" (( "(") (identifier "uVar7") (, ",") (identifier "pcVar19") () ")"))))) (; ";")) (expression_statement "*(undefined1 **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) = puVar8;" (assignment_expression "*(undefined1 **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) = puVar8" (pointer_expression "*(undefined1 **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" (* "*") (cast_expression "(undefined1 **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" (( "(") (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" (* "*") (cast_expression "(int *)(pcStack_230 + -0x7fd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_230 + -0x7fd4)" (( "(") (binary_expression "pcStack_230 + -0x7fd4" (identifier "pcStack_230") (+ "+") (number_literal "-0x7fd4")) () ")")))) (+ "+") (number_literal "-0x3fd8")) () ")")))) (= "=") (identifier "puVar8")) (; ";")) (expression_statement "unaff_s4 = (word *)(**(code **)(pcStack_230 + -0x61d4))(puVar8,0x2f);" (assignment_expression "unaff_s4 = (word *)(**(code **)(pcStack_230 + -0x61d4))(puVar8,0x2f)" (identifier "unaff_s4") (= "=") (cast_expression "(word *)(**(code **)(pcStack_230 + -0x61d4))(puVar8,0x2f)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcStack_230 + -0x61d4))(puVar8,0x2f)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x61d4))" (( "(") (pointer_expression "**(code **)(pcStack_230 + -0x61d4)" (* "*") (pointer_expression "*(code **)(pcStack_230 + -0x61d4)" (* "*") (cast_expression "(code **)(pcStack_230 + -0x61d4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x61d4)" (( "(") (binary_expression "pcStack_230 + -0x61d4" (identifier "pcStack_230") (+ "+") (number_literal "-0x61d4")) () ")"))))) () ")")) (argument_list "(puVar8,0x2f)" (( "(") (identifier "puVar8") (, ",") (number_literal "0x2f") () ")"))))) (; ";")) (if_statement "if (unaff_s4 == (word *)0x0) {\n    *puVar8 = 0x2e;\n    *(undefined1 *)(*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) + 1) = 0;\n  }\n  else {\n    (**(code **)(pcStack_230 + -0x6074))\n              (*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc),\n               (byte *)((int)unaff_s4 + 1));\n    *(byte *)((int)unaff_s4 + 1) = 0;\n  }" (if "if") (parenthesized_expression "(unaff_s4 == (word *)0x0)" (( "(") (binary_expression "unaff_s4 == (word *)0x0" (identifier "unaff_s4") (== "==") (cast_expression "(word *)0x0" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    *puVar8 = 0x2e;\n    *(undefined1 *)(*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) + 1) = 0;\n  }" ({ "{") (expression_statement "*puVar8 = 0x2e;" (assignment_expression "*puVar8 = 0x2e" (pointer_expression "*puVar8" (* "*") (identifier "puVar8")) (= "=") (number_literal "0x2e")) (; ";")) (expression_statement "*(undefined1 *)(*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) + 1) = 0;" (assignment_expression "*(undefined1 *)(*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) + 1) = 0" (pointer_expression "*(undefined1 *)(*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) + 1)" (* "*") (cast_expression "(undefined1 *)(*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) + 1)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) + 1)" (( "(") (binary_expression "*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) + 1" (pointer_expression "*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" (* "*") (cast_expression "(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" (( "(") (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" (* "*") (cast_expression "(int *)(pcStack_230 + -0x7fd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_230 + -0x7fd4)" (( "(") (binary_expression "pcStack_230 + -0x7fd4" (identifier "pcStack_230") (+ "+") (number_literal "-0x7fd4")) () ")")))) (+ "+") (number_literal "-0x3fd8")) () ")")))) (+ "+") (number_literal "1")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n    (**(code **)(pcStack_230 + -0x6074))\n              (*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc),\n               (byte *)((int)unaff_s4 + 1));\n    *(byte *)((int)unaff_s4 + 1) = 0;\n  }" (else "else") (compound_statement "{\n    (**(code **)(pcStack_230 + -0x6074))\n              (*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc),\n               (byte *)((int)unaff_s4 + 1));\n    *(byte *)((int)unaff_s4 + 1) = 0;\n  }" ({ "{") (expression_statement "(**(code **)(pcStack_230 + -0x6074))\n              (*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc),\n               (byte *)((int)unaff_s4 + 1));" (call_expression "(**(code **)(pcStack_230 + -0x6074))\n              (*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc),\n               (byte *)((int)unaff_s4 + 1))" (parenthesized_expression "(**(code **)(pcStack_230 + -0x6074))" (( "(") (pointer_expression "**(code **)(pcStack_230 + -0x6074)" (* "*") (pointer_expression "*(code **)(pcStack_230 + -0x6074)" (* "*") (cast_expression "(code **)(pcStack_230 + -0x6074)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x6074)" (( "(") (binary_expression "pcStack_230 + -0x6074" (identifier "pcStack_230") (+ "+") (number_literal "-0x6074")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc),\n               (byte *)((int)unaff_s4 + 1))" (( "(") (pointer_expression "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc)" (* "*") (cast_expression "(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc)" (( "(") (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" (* "*") (cast_expression "(int *)(pcStack_230 + -0x7fd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_230 + -0x7fd4)" (( "(") (binary_expression "pcStack_230 + -0x7fd4" (identifier "pcStack_230") (+ "+") (number_literal "-0x7fd4")) () ")")))) (+ "+") (number_literal "-0x3fdc")) () ")")))) (, ",") (cast_expression "(byte *)((int)unaff_s4 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s4 + 1)" (( "(") (binary_expression "(int)unaff_s4 + 1" (cast_expression "(int)unaff_s4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s4")) (+ "+") (number_literal "1")) () ")"))) () ")"))) (; ";")) (expression_statement "*(byte *)((int)unaff_s4 + 1) = 0;" (assignment_expression "*(byte *)((int)unaff_s4 + 1) = 0" (pointer_expression "*(byte *)((int)unaff_s4 + 1)" (* "*") (cast_expression "(byte *)((int)unaff_s4 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s4 + 1)" (( "(") (binary_expression "(int)unaff_s4 + 1" (cast_expression "(int)unaff_s4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s4")) (+ "+") (number_literal "1")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}")))) (if_statement "if (**(int **)(pcStack_230 + -0x6f38) == 0) {\nLAB_000fb830:\n    iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n    iVar5 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(iVar13 + -0x3fd8));\n    uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);\n    uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(iVar13 + -0x3fd8));\n    *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = uVar7;\n  }\n  else {\n    if ((code *)**(undefined4 **)(pcStack_230 + -0x6de4) == (code *)0x0) goto LAB_000fb830;\n    uVar7 = (*(code *)**(undefined4 **)(pcStack_230 + -0x6de4))\n                      (*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8),\n                       **(undefined4 **)(pcStack_230 + -0x6f34));\n    *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = uVar7;\n  }" (if "if") (parenthesized_expression "(**(int **)(pcStack_230 + -0x6f38) == 0)" (( "(") (binary_expression "**(int **)(pcStack_230 + -0x6f38) == 0" (pointer_expression "**(int **)(pcStack_230 + -0x6f38)" (* "*") (pointer_expression "*(int **)(pcStack_230 + -0x6f38)" (* "*") (cast_expression "(int **)(pcStack_230 + -0x6f38)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x6f38)" (( "(") (binary_expression "pcStack_230 + -0x6f38" (identifier "pcStack_230") (+ "+") (number_literal "-0x6f38")) () ")"))))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_000fb830:\n    iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n    iVar5 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(iVar13 + -0x3fd8));\n    uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);\n    uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(iVar13 + -0x3fd8));\n    *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = uVar7;\n  }" ({ "{") (labeled_statement "LAB_000fb830:\n    iVar13 = *(int *)(pcStack_230 + -0x7fd4);" (statement_identifier "LAB_000fb830") (: ":") (expression_statement "iVar13 = *(int *)(pcStack_230 + -0x7fd4);" (assignment_expression "iVar13 = *(int *)(pcStack_230 + -0x7fd4)" (identifier "iVar13") (= "=") (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" (* "*") (cast_expression "(int *)(pcStack_230 + -0x7fd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_230 + -0x7fd4)" (( "(") (binary_expression "pcStack_230 + -0x7fd4" (identifier "pcStack_230") (+ "+") (number_literal "-0x7fd4")) () ")"))))) (; ";"))) (expression_statement "iVar5 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(iVar13 + -0x3fd8));" (assignment_expression "iVar5 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(iVar13 + -0x3fd8))" (identifier "iVar5") (= "=") (call_expression "(**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(iVar13 + -0x3fd8))" (parenthesized_expression "(**(code **)(pcStack_230 + -0x60fc))" (( "(") (pointer_expression "**(code **)(pcStack_230 + -0x60fc)" (* "*") (pointer_expression "*(code **)(pcStack_230 + -0x60fc)" (* "*") (cast_expression "(code **)(pcStack_230 + -0x60fc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x60fc)" (( "(") (binary_expression "pcStack_230 + -0x60fc" (identifier "pcStack_230") (+ "+") (number_literal "-0x60fc")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar13 + -0x3fd8))" (( "(") (pointer_expression "*(undefined4 *)(iVar13 + -0x3fd8)" (* "*") (cast_expression "(undefined4 *)(iVar13 + -0x3fd8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + -0x3fd8)" (( "(") (binary_expression "iVar13 + -0x3fd8" (identifier "iVar13") (+ "+") (number_literal "-0x3fd8")) () ")")))) () ")")))) (; ";")) (expression_statement "uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);" (assignment_expression "uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1)" (identifier "uVar7") (= "=") (call_expression "(**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x7f88))" (( "(") (pointer_expression "**(code **)(pcStack_230 + -0x7f88)" (* "*") (pointer_expression "*(code **)(pcStack_230 + -0x7f88)" (* "*") (cast_expression "(code **)(pcStack_230 + -0x7f88)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x7f88)" (( "(") (binary_expression "pcStack_230 + -0x7f88" (identifier "pcStack_230") (+ "+") (number_literal "-0x7f88")) () ")"))))) () ")")) (argument_list "(iVar5 + 1)" (( "(") (binary_expression "iVar5 + 1" (identifier "iVar5") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(iVar13 + -0x3fd8));" (assignment_expression "uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(iVar13 + -0x3fd8))" (identifier "uVar7") (= "=") (call_expression "(**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(iVar13 + -0x3fd8))" (parenthesized_expression "(**(code **)(pcStack_230 + -0x6074))" (( "(") (pointer_expression "**(code **)(pcStack_230 + -0x6074)" (* "*") (pointer_expression "*(code **)(pcStack_230 + -0x6074)" (* "*") (cast_expression "(code **)(pcStack_230 + -0x6074)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x6074)" (( "(") (binary_expression "pcStack_230 + -0x6074" (identifier "pcStack_230") (+ "+") (number_literal "-0x6074")) () ")"))))) () ")")) (argument_list "(uVar7,*(undefined4 *)(iVar13 + -0x3fd8))" (( "(") (identifier "uVar7") (, ",") (pointer_expression "*(undefined4 *)(iVar13 + -0x3fd8)" (* "*") (cast_expression "(undefined4 *)(iVar13 + -0x3fd8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + -0x3fd8)" (( "(") (binary_expression "iVar13 + -0x3fd8" (identifier "iVar13") (+ "+") (number_literal "-0x3fd8")) () ")")))) () ")")))) (; ";")) (expression_statement "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = uVar7;" (assignment_expression "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = uVar7" (pointer_expression "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0)" (* "*") (cast_expression "(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0)" (( "(") (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" (* "*") (cast_expression "(int *)(pcStack_230 + -0x7fd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_230 + -0x7fd4)" (( "(") (binary_expression "pcStack_230 + -0x7fd4" (identifier "pcStack_230") (+ "+") (number_literal "-0x7fd4")) () ")")))) (+ "+") (number_literal "-0x3fe0")) () ")")))) (= "=") (identifier "uVar7")) (; ";")) (} "}")) (else_clause "else {\n    if ((code *)**(undefined4 **)(pcStack_230 + -0x6de4) == (code *)0x0) goto LAB_000fb830;\n    uVar7 = (*(code *)**(undefined4 **)(pcStack_230 + -0x6de4))\n                      (*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8),\n                       **(undefined4 **)(pcStack_230 + -0x6f34));\n    *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = uVar7;\n  }" (else "else") (compound_statement "{\n    if ((code *)**(undefined4 **)(pcStack_230 + -0x6de4) == (code *)0x0) goto LAB_000fb830;\n    uVar7 = (*(code *)**(undefined4 **)(pcStack_230 + -0x6de4))\n                      (*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8),\n                       **(undefined4 **)(pcStack_230 + -0x6f34));\n    *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = uVar7;\n  }" ({ "{") (if_statement "if ((code *)**(undefined4 **)(pcStack_230 + -0x6de4) == (code *)0x0) goto LAB_000fb830;" (if "if") (parenthesized_expression "((code *)**(undefined4 **)(pcStack_230 + -0x6de4) == (code *)0x0)" (( "(") (binary_expression "(code *)**(undefined4 **)(pcStack_230 + -0x6de4) == (code *)0x0" (cast_expression "(code *)**(undefined4 **)(pcStack_230 + -0x6de4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(undefined4 **)(pcStack_230 + -0x6de4)" (* "*") (pointer_expression "*(undefined4 **)(pcStack_230 + -0x6de4)" (* "*") (cast_expression "(undefined4 **)(pcStack_230 + -0x6de4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x6de4)" (( "(") (binary_expression "pcStack_230 + -0x6de4" (identifier "pcStack_230") (+ "+") (number_literal "-0x6de4")) () ")")))))) (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000fb830;" (goto "goto") (statement_identifier "LAB_000fb830") (; ";"))) (expression_statement "uVar7 = (*(code *)**(undefined4 **)(pcStack_230 + -0x6de4))\n                      (*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8),\n                       **(undefined4 **)(pcStack_230 + -0x6f34));" (assignment_expression "uVar7 = (*(code *)**(undefined4 **)(pcStack_230 + -0x6de4))\n                      (*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8),\n                       **(undefined4 **)(pcStack_230 + -0x6f34))" (identifier "uVar7") (= "=") (call_expression "(*(code *)**(undefined4 **)(pcStack_230 + -0x6de4))\n                      (*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8),\n                       **(undefined4 **)(pcStack_230 + -0x6f34))" (parenthesized_expression "(*(code *)**(undefined4 **)(pcStack_230 + -0x6de4))" (( "(") (pointer_expression "*(code *)**(undefined4 **)(pcStack_230 + -0x6de4)" (* "*") (cast_expression "(code *)**(undefined4 **)(pcStack_230 + -0x6de4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(undefined4 **)(pcStack_230 + -0x6de4)" (* "*") (pointer_expression "*(undefined4 **)(pcStack_230 + -0x6de4)" (* "*") (cast_expression "(undefined4 **)(pcStack_230 + -0x6de4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x6de4)" (( "(") (binary_expression "pcStack_230 + -0x6de4" (identifier "pcStack_230") (+ "+") (number_literal "-0x6de4")) () ")"))))))) () ")")) (argument_list "(*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8),\n                       **(undefined4 **)(pcStack_230 + -0x6f34))" (( "(") (pointer_expression "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" (* "*") (cast_expression "(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" (( "(") (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" (* "*") (cast_expression "(int *)(pcStack_230 + -0x7fd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_230 + -0x7fd4)" (( "(") (binary_expression "pcStack_230 + -0x7fd4" (identifier "pcStack_230") (+ "+") (number_literal "-0x7fd4")) () ")")))) (+ "+") (number_literal "-0x3fd8")) () ")")))) (, ",") (pointer_expression "**(undefined4 **)(pcStack_230 + -0x6f34)" (* "*") (pointer_expression "*(undefined4 **)(pcStack_230 + -0x6f34)" (* "*") (cast_expression "(undefined4 **)(pcStack_230 + -0x6f34)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x6f34)" (( "(") (binary_expression "pcStack_230 + -0x6f34" (identifier "pcStack_230") (+ "+") (number_literal "-0x6f34")) () ")"))))) () ")")))) (; ";")) (expression_statement "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = uVar7;" (assignment_expression "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = uVar7" (pointer_expression "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0)" (* "*") (cast_expression "(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0)" (( "(") (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" (* "*") (cast_expression "(int *)(pcStack_230 + -0x7fd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_230 + -0x7fd4)" (( "(") (binary_expression "pcStack_230 + -0x7fd4" (identifier "pcStack_230") (+ "+") (number_literal "-0x7fd4")) () ")")))) (+ "+") (number_literal "-0x3fe0")) () ")")))) (= "=") (identifier "uVar7")) (; ";")) (} "}")))) (expression_statement "bVar3 = **(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) == '~';" (assignment_expression "bVar3 = **(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) == '~'" (identifier "bVar3") (= "=") (binary_expression "**(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) == '~'" (pointer_expression "**(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" (* "*") (pointer_expression "*(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" (* "*") (cast_expression "(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" (( "(") (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" (* "*") (cast_expression "(int *)(pcStack_230 + -0x7fd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_230 + -0x7fd4)" (( "(") (binary_expression "pcStack_230 + -0x7fd4" (identifier "pcStack_230") (+ "+") (number_literal "-0x7fd4")) () ")")))) (+ "+") (number_literal "-0x3fd8")) () ")"))))) (== "==") (char_literal "'~'" (' "'") (character "~") (' "'")))) (; ";")) (if_statement "if (bVar3) {\n    uVar7 = (**(code **)(pcStack_230 + -0x7a34))();\n    iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n    (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fd8));\n    *(undefined4 *)(iVar5 + -0x3fd8) = uVar7;\n  }" (if "if") (parenthesized_expression "(bVar3)" (( "(") (identifier "bVar3") () ")")) (compound_statement "{\n    uVar7 = (**(code **)(pcStack_230 + -0x7a34))();\n    iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n    (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fd8));\n    *(undefined4 *)(iVar5 + -0x3fd8) = uVar7;\n  }" ({ "{") (expression_statement "uVar7 = (**(code **)(pcStack_230 + -0x7a34))();" (assignment_expression "uVar7 = (**(code **)(pcStack_230 + -0x7a34))()" (identifier "uVar7") (= "=") (call_expression "(**(code **)(pcStack_230 + -0x7a34))()" (parenthesized_expression "(**(code **)(pcStack_230 + -0x7a34))" (( "(") (pointer_expression "**(code **)(pcStack_230 + -0x7a34)" (* "*") (pointer_expression "*(code **)(pcStack_230 + -0x7a34)" (* "*") (cast_expression "(code **)(pcStack_230 + -0x7a34)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x7a34)" (( "(") (binary_expression "pcStack_230 + -0x7a34" (identifier "pcStack_230") (+ "+") (number_literal "-0x7a34")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar5 = *(int *)(pcStack_230 + -0x7fd4);" (assignment_expression "iVar5 = *(int *)(pcStack_230 + -0x7fd4)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" (* "*") (cast_expression "(int *)(pcStack_230 + -0x7fd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_230 + -0x7fd4)" (( "(") (binary_expression "pcStack_230 + -0x7fd4" (identifier "pcStack_230") (+ "+") (number_literal "-0x7fd4")) () ")"))))) (; ";")) (expression_statement "(**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fd8));" (call_expression "(**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fd8))" (parenthesized_expression "(**(code **)(pcStack_230 + -0x798c))" (( "(") (pointer_expression "**(code **)(pcStack_230 + -0x798c)" (* "*") (pointer_expression "*(code **)(pcStack_230 + -0x798c)" (* "*") (cast_expression "(code **)(pcStack_230 + -0x798c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x798c)" (( "(") (binary_expression "pcStack_230 + -0x798c" (identifier "pcStack_230") (+ "+") (number_literal "-0x798c")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar5 + -0x3fd8))" (( "(") (pointer_expression "*(undefined4 *)(iVar5 + -0x3fd8)" (* "*") (cast_expression "(undefined4 *)(iVar5 + -0x3fd8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + -0x3fd8)" (( "(") (binary_expression "iVar5 + -0x3fd8" (identifier "iVar5") (+ "+") (number_literal "-0x3fd8")) () ")")))) () ")"))) (; ";")) (expression_statement "*(undefined4 *)(iVar5 + -0x3fd8) = uVar7;" (assignment_expression "*(undefined4 *)(iVar5 + -0x3fd8) = uVar7" (pointer_expression "*(undefined4 *)(iVar5 + -0x3fd8)" (* "*") (cast_expression "(undefined4 *)(iVar5 + -0x3fd8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + -0x3fd8)" (( "(") (binary_expression "iVar5 + -0x3fd8" (identifier "iVar5") (+ "+") (number_literal "-0x3fd8")) () ")")))) (= "=") (identifier "uVar7")) (; ";")) (} "}"))) (expression_statement "unaff_s3 = (word *)(uint)bVar3;" (assignment_expression "unaff_s3 = (word *)(uint)bVar3" (identifier "unaff_s3") (= "=") (cast_expression "(word *)(uint)bVar3" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(uint)bVar3" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar3")))) (; ";")) (if_statement "if ((code *)**(undefined4 **)(pcStack_230 + -0x6f40) == (code *)0x0) {\n    if ((code *)**(undefined4 **)(pcStack_230 + -0x6f3c) != (code *)0x0) {\n      iVar5 = (*(code *)**(undefined4 **)(pcStack_230 + -0x6f3c))\n                        (*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);\n      iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n      if (iVar5 != 0) {\n        (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar13 + -0x3fe0));\n        unaff_s3 = *(word **)(pcStack_230 + -0x7fd4);\n        iVar5 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1fec));\n        uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);\n        uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1fec));\n        *(undefined4 *)(iVar13 + -0x3fe0) = uVar7;\n        goto LAB_000fb8b4;\n      }\n    }\n    iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n    if ((unaff_s3 == (word *)0x0) &&\n       (iVar5 = *(int *)(pcStack_230 + -0x7fd4), **(int **)(pcStack_230 + -0x6f38) != 0)) {\n      iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n      if (**(int **)(pcStack_230 + -0x6de4) != 0) {\n        (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fd8));\n        unaff_s3 = *(word **)(pcStack_230 + -0x7fd4);\n        iVar13 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1ff0));\n        uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar13 + 1);\n        uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1ff0));\n        *(undefined4 *)(iVar5 + -0x3fd8) = uVar7;\n      }\n      goto LAB_000fb8b4;\n    }\n  }\n  else {\n    (*(code *)**(undefined4 **)(pcStack_230 + -0x6f40))(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);\nLAB_000fb8b4:\n    iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n  }" (if "if") (parenthesized_expression "((code *)**(undefined4 **)(pcStack_230 + -0x6f40) == (code *)0x0)" (( "(") (binary_expression "(code *)**(undefined4 **)(pcStack_230 + -0x6f40) == (code *)0x0" (cast_expression "(code *)**(undefined4 **)(pcStack_230 + -0x6f40)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(undefined4 **)(pcStack_230 + -0x6f40)" (* "*") (pointer_expression "*(undefined4 **)(pcStack_230 + -0x6f40)" (* "*") (cast_expression "(undefined4 **)(pcStack_230 + -0x6f40)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x6f40)" (( "(") (binary_expression "pcStack_230 + -0x6f40" (identifier "pcStack_230") (+ "+") (number_literal "-0x6f40")) () ")")))))) (== "==") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    if ((code *)**(undefined4 **)(pcStack_230 + -0x6f3c) != (code *)0x0) {\n      iVar5 = (*(code *)**(undefined4 **)(pcStack_230 + -0x6f3c))\n                        (*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);\n      iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n      if (iVar5 != 0) {\n        (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar13 + -0x3fe0));\n        unaff_s3 = *(word **)(pcStack_230 + -0x7fd4);\n        iVar5 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1fec));\n        uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);\n        uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1fec));\n        *(undefined4 *)(iVar13 + -0x3fe0) = uVar7;\n        goto LAB_000fb8b4;\n      }\n    }\n    iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n    if ((unaff_s3 == (word *)0x0) &&\n       (iVar5 = *(int *)(pcStack_230 + -0x7fd4), **(int **)(pcStack_230 + -0x6f38) != 0)) {\n      iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n      if (**(int **)(pcStack_230 + -0x6de4) != 0) {\n        (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fd8));\n        unaff_s3 = *(word **)(pcStack_230 + -0x7fd4);\n        iVar13 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1ff0));\n        uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar13 + 1);\n        uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1ff0));\n        *(undefined4 *)(iVar5 + -0x3fd8) = uVar7;\n      }\n      goto LAB_000fb8b4;\n    }\n  }" ({ "{") (if_statement "if ((code *)**(undefined4 **)(pcStack_230 + -0x6f3c) != (code *)0x0) {\n      iVar5 = (*(code *)**(undefined4 **)(pcStack_230 + -0x6f3c))\n                        (*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);\n      iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n      if (iVar5 != 0) {\n        (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar13 + -0x3fe0));\n        unaff_s3 = *(word **)(pcStack_230 + -0x7fd4);\n        iVar5 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1fec));\n        uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);\n        uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1fec));\n        *(undefined4 *)(iVar13 + -0x3fe0) = uVar7;\n        goto LAB_000fb8b4;\n      }\n    }" (if "if") (parenthesized_expression "((code *)**(undefined4 **)(pcStack_230 + -0x6f3c) != (code *)0x0)" (( "(") (binary_expression "(code *)**(undefined4 **)(pcStack_230 + -0x6f3c) != (code *)0x0" (cast_expression "(code *)**(undefined4 **)(pcStack_230 + -0x6f3c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(undefined4 **)(pcStack_230 + -0x6f3c)" (* "*") (pointer_expression "*(undefined4 **)(pcStack_230 + -0x6f3c)" (* "*") (cast_expression "(undefined4 **)(pcStack_230 + -0x6f3c)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x6f3c)" (( "(") (binary_expression "pcStack_230 + -0x6f3c" (identifier "pcStack_230") (+ "+") (number_literal "-0x6f3c")) () ")")))))) (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      iVar5 = (*(code *)**(undefined4 **)(pcStack_230 + -0x6f3c))\n                        (*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);\n      iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n      if (iVar5 != 0) {\n        (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar13 + -0x3fe0));\n        unaff_s3 = *(word **)(pcStack_230 + -0x7fd4);\n        iVar5 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1fec));\n        uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);\n        uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1fec));\n        *(undefined4 *)(iVar13 + -0x3fe0) = uVar7;\n        goto LAB_000fb8b4;\n      }\n    }" ({ "{") (expression_statement "iVar5 = (*(code *)**(undefined4 **)(pcStack_230 + -0x6f3c))\n                        (*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);" (assignment_expression "iVar5 = (*(code *)**(undefined4 **)(pcStack_230 + -0x6f3c))\n                        (*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" (identifier "iVar5") (= "=") (call_expression "(*(code *)**(undefined4 **)(pcStack_230 + -0x6f3c))\n                        (*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" (parenthesized_expression "(*(code *)**(undefined4 **)(pcStack_230 + -0x6f3c))" (( "(") (pointer_expression "*(code *)**(undefined4 **)(pcStack_230 + -0x6f3c)" (* "*") (cast_expression "(code *)**(undefined4 **)(pcStack_230 + -0x6f3c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(undefined4 **)(pcStack_230 + -0x6f3c)" (* "*") (pointer_expression "*(undefined4 **)(pcStack_230 + -0x6f3c)" (* "*") (cast_expression "(undefined4 **)(pcStack_230 + -0x6f3c)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x6f3c)" (( "(") (binary_expression "pcStack_230 + -0x6f3c" (identifier "pcStack_230") (+ "+") (number_literal "-0x6f3c")) () ")"))))))) () ")")) (argument_list "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" (( "(") (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" (* "*") (cast_expression "(int *)(pcStack_230 + -0x7fd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_230 + -0x7fd4)" (( "(") (binary_expression "pcStack_230 + -0x7fd4" (identifier "pcStack_230") (+ "+") (number_literal "-0x7fd4")) () ")")))) (+ "+") (number_literal "-0x3fd8")) () ")")))) (; ";")) (expression_statement "iVar13 = *(int *)(pcStack_230 + -0x7fd4);" (assignment_expression "iVar13 = *(int *)(pcStack_230 + -0x7fd4)" (identifier "iVar13") (= "=") (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" (* "*") (cast_expression "(int *)(pcStack_230 + -0x7fd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_230 + -0x7fd4)" (( "(") (binary_expression "pcStack_230 + -0x7fd4" (identifier "pcStack_230") (+ "+") (number_literal "-0x7fd4")) () ")"))))) (; ";")) (if_statement "if (iVar5 != 0) {\n        (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar13 + -0x3fe0));\n        unaff_s3 = *(word **)(pcStack_230 + -0x7fd4);\n        iVar5 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1fec));\n        uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);\n        uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1fec));\n        *(undefined4 *)(iVar13 + -0x3fe0) = uVar7;\n        goto LAB_000fb8b4;\n      }" (if "if") (parenthesized_expression "(iVar5 != 0)" (( "(") (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar13 + -0x3fe0));\n        unaff_s3 = *(word **)(pcStack_230 + -0x7fd4);\n        iVar5 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1fec));\n        uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);\n        uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1fec));\n        *(undefined4 *)(iVar13 + -0x3fe0) = uVar7;\n        goto LAB_000fb8b4;\n      }" ({ "{") (expression_statement "(**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar13 + -0x3fe0));" (call_expression "(**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar13 + -0x3fe0))" (parenthesized_expression "(**(code **)(pcStack_230 + -0x798c))" (( "(") (pointer_expression "**(code **)(pcStack_230 + -0x798c)" (* "*") (pointer_expression "*(code **)(pcStack_230 + -0x798c)" (* "*") (cast_expression "(code **)(pcStack_230 + -0x798c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x798c)" (( "(") (binary_expression "pcStack_230 + -0x798c" (identifier "pcStack_230") (+ "+") (number_literal "-0x798c")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar13 + -0x3fe0))" (( "(") (pointer_expression "*(undefined4 *)(iVar13 + -0x3fe0)" (* "*") (cast_expression "(undefined4 *)(iVar13 + -0x3fe0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + -0x3fe0)" (( "(") (binary_expression "iVar13 + -0x3fe0" (identifier "iVar13") (+ "+") (number_literal "-0x3fe0")) () ")")))) () ")"))) (; ";")) (expression_statement "unaff_s3 = *(word **)(pcStack_230 + -0x7fd4);" (assignment_expression "unaff_s3 = *(word **)(pcStack_230 + -0x7fd4)" (identifier "unaff_s3") (= "=") (pointer_expression "*(word **)(pcStack_230 + -0x7fd4)" (* "*") (cast_expression "(word **)(pcStack_230 + -0x7fd4)" (( "(") (type_descriptor "word **" (type_identifier "word") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x7fd4)" (( "(") (binary_expression "pcStack_230 + -0x7fd4" (identifier "pcStack_230") (+ "+") (number_literal "-0x7fd4")) () ")"))))) (; ";")) (expression_statement "iVar5 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1fec));" (assignment_expression "iVar5 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1fec))" (identifier "iVar5") (= "=") (call_expression "(**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1fec))" (parenthesized_expression "(**(code **)(pcStack_230 + -0x60fc))" (( "(") (pointer_expression "**(code **)(pcStack_230 + -0x60fc)" (* "*") (pointer_expression "*(code **)(pcStack_230 + -0x60fc)" (* "*") (cast_expression "(code **)(pcStack_230 + -0x60fc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x60fc)" (( "(") (binary_expression "pcStack_230 + -0x60fc" (identifier "pcStack_230") (+ "+") (number_literal "-0x60fc")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(unaff_s3 + -0x1fec))" (( "(") (pointer_expression "*(undefined4 *)(unaff_s3 + -0x1fec)" (* "*") (cast_expression "(undefined4 *)(unaff_s3 + -0x1fec)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s3 + -0x1fec)" (( "(") (binary_expression "unaff_s3 + -0x1fec" (identifier "unaff_s3") (+ "+") (number_literal "-0x1fec")) () ")")))) () ")")))) (; ";")) (expression_statement "uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);" (assignment_expression "uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1)" (identifier "uVar7") (= "=") (call_expression "(**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x7f88))" (( "(") (pointer_expression "**(code **)(pcStack_230 + -0x7f88)" (* "*") (pointer_expression "*(code **)(pcStack_230 + -0x7f88)" (* "*") (cast_expression "(code **)(pcStack_230 + -0x7f88)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x7f88)" (( "(") (binary_expression "pcStack_230 + -0x7f88" (identifier "pcStack_230") (+ "+") (number_literal "-0x7f88")) () ")"))))) () ")")) (argument_list "(iVar5 + 1)" (( "(") (binary_expression "iVar5 + 1" (identifier "iVar5") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1fec));" (assignment_expression "uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1fec))" (identifier "uVar7") (= "=") (call_expression "(**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1fec))" (parenthesized_expression "(**(code **)(pcStack_230 + -0x6074))" (( "(") (pointer_expression "**(code **)(pcStack_230 + -0x6074)" (* "*") (pointer_expression "*(code **)(pcStack_230 + -0x6074)" (* "*") (cast_expression "(code **)(pcStack_230 + -0x6074)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x6074)" (( "(") (binary_expression "pcStack_230 + -0x6074" (identifier "pcStack_230") (+ "+") (number_literal "-0x6074")) () ")"))))) () ")")) (argument_list "(uVar7,*(undefined4 *)(unaff_s3 + -0x1fec))" (( "(") (identifier "uVar7") (, ",") (pointer_expression "*(undefined4 *)(unaff_s3 + -0x1fec)" (* "*") (cast_expression "(undefined4 *)(unaff_s3 + -0x1fec)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s3 + -0x1fec)" (( "(") (binary_expression "unaff_s3 + -0x1fec" (identifier "unaff_s3") (+ "+") (number_literal "-0x1fec")) () ")")))) () ")")))) (; ";")) (expression_statement "*(undefined4 *)(iVar13 + -0x3fe0) = uVar7;" (assignment_expression "*(undefined4 *)(iVar13 + -0x3fe0) = uVar7" (pointer_expression "*(undefined4 *)(iVar13 + -0x3fe0)" (* "*") (cast_expression "(undefined4 *)(iVar13 + -0x3fe0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + -0x3fe0)" (( "(") (binary_expression "iVar13 + -0x3fe0" (identifier "iVar13") (+ "+") (number_literal "-0x3fe0")) () ")")))) (= "=") (identifier "uVar7")) (; ";")) (goto_statement "goto LAB_000fb8b4;" (goto "goto") (statement_identifier "LAB_000fb8b4") (; ";")) (} "}"))) (} "}"))) (expression_statement "iVar5 = *(int *)(pcStack_230 + -0x7fd4);" (assignment_expression "iVar5 = *(int *)(pcStack_230 + -0x7fd4)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" (* "*") (cast_expression "(int *)(pcStack_230 + -0x7fd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_230 + -0x7fd4)" (( "(") (binary_expression "pcStack_230 + -0x7fd4" (identifier "pcStack_230") (+ "+") (number_literal "-0x7fd4")) () ")"))))) (; ";")) (if_statement "if ((unaff_s3 == (word *)0x0) &&\n       (iVar5 = *(int *)(pcStack_230 + -0x7fd4), **(int **)(pcStack_230 + -0x6f38) != 0)) {\n      iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n      if (**(int **)(pcStack_230 + -0x6de4) != 0) {\n        (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fd8));\n        unaff_s3 = *(word **)(pcStack_230 + -0x7fd4);\n        iVar13 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1ff0));\n        uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar13 + 1);\n        uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1ff0));\n        *(undefined4 *)(iVar5 + -0x3fd8) = uVar7;\n      }\n      goto LAB_000fb8b4;\n    }" (if "if") (parenthesized_expression "((unaff_s3 == (word *)0x0) &&\n       (iVar5 = *(int *)(pcStack_230 + -0x7fd4), **(int **)(pcStack_230 + -0x6f38) != 0))" (( "(") (binary_expression "(unaff_s3 == (word *)0x0) &&\n       (iVar5 = *(int *)(pcStack_230 + -0x7fd4), **(int **)(pcStack_230 + -0x6f38) != 0)" (parenthesized_expression "(unaff_s3 == (word *)0x0)" (( "(") (binary_expression "unaff_s3 == (word *)0x0" (identifier "unaff_s3") (== "==") (cast_expression "(word *)0x0" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(iVar5 = *(int *)(pcStack_230 + -0x7fd4), **(int **)(pcStack_230 + -0x6f38) != 0)" (( "(") (comma_expression "iVar5 = *(int *)(pcStack_230 + -0x7fd4), **(int **)(pcStack_230 + -0x6f38) != 0" (assignment_expression "iVar5 = *(int *)(pcStack_230 + -0x7fd4)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" (* "*") (cast_expression "(int *)(pcStack_230 + -0x7fd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_230 + -0x7fd4)" (( "(") (binary_expression "pcStack_230 + -0x7fd4" (identifier "pcStack_230") (+ "+") (number_literal "-0x7fd4")) () ")"))))) (, ",") (binary_expression "**(int **)(pcStack_230 + -0x6f38) != 0" (pointer_expression "**(int **)(pcStack_230 + -0x6f38)" (* "*") (pointer_expression "*(int **)(pcStack_230 + -0x6f38)" (* "*") (cast_expression "(int **)(pcStack_230 + -0x6f38)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x6f38)" (( "(") (binary_expression "pcStack_230 + -0x6f38" (identifier "pcStack_230") (+ "+") (number_literal "-0x6f38")) () ")"))))) (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n      iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n      if (**(int **)(pcStack_230 + -0x6de4) != 0) {\n        (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fd8));\n        unaff_s3 = *(word **)(pcStack_230 + -0x7fd4);\n        iVar13 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1ff0));\n        uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar13 + 1);\n        uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1ff0));\n        *(undefined4 *)(iVar5 + -0x3fd8) = uVar7;\n      }\n      goto LAB_000fb8b4;\n    }" ({ "{") (expression_statement "iVar5 = *(int *)(pcStack_230 + -0x7fd4);" (assignment_expression "iVar5 = *(int *)(pcStack_230 + -0x7fd4)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" (* "*") (cast_expression "(int *)(pcStack_230 + -0x7fd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_230 + -0x7fd4)" (( "(") (binary_expression "pcStack_230 + -0x7fd4" (identifier "pcStack_230") (+ "+") (number_literal "-0x7fd4")) () ")"))))) (; ";")) (if_statement "if (**(int **)(pcStack_230 + -0x6de4) != 0) {\n        (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fd8));\n        unaff_s3 = *(word **)(pcStack_230 + -0x7fd4);\n        iVar13 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1ff0));\n        uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar13 + 1);\n        uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1ff0));\n        *(undefined4 *)(iVar5 + -0x3fd8) = uVar7;\n      }" (if "if") (parenthesized_expression "(**(int **)(pcStack_230 + -0x6de4) != 0)" (( "(") (binary_expression "**(int **)(pcStack_230 + -0x6de4) != 0" (pointer_expression "**(int **)(pcStack_230 + -0x6de4)" (* "*") (pointer_expression "*(int **)(pcStack_230 + -0x6de4)" (* "*") (cast_expression "(int **)(pcStack_230 + -0x6de4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x6de4)" (( "(") (binary_expression "pcStack_230 + -0x6de4" (identifier "pcStack_230") (+ "+") (number_literal "-0x6de4")) () ")"))))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fd8));\n        unaff_s3 = *(word **)(pcStack_230 + -0x7fd4);\n        iVar13 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1ff0));\n        uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar13 + 1);\n        uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1ff0));\n        *(undefined4 *)(iVar5 + -0x3fd8) = uVar7;\n      }" ({ "{") (expression_statement "(**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fd8));" (call_expression "(**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fd8))" (parenthesized_expression "(**(code **)(pcStack_230 + -0x798c))" (( "(") (pointer_expression "**(code **)(pcStack_230 + -0x798c)" (* "*") (pointer_expression "*(code **)(pcStack_230 + -0x798c)" (* "*") (cast_expression "(code **)(pcStack_230 + -0x798c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x798c)" (( "(") (binary_expression "pcStack_230 + -0x798c" (identifier "pcStack_230") (+ "+") (number_literal "-0x798c")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar5 + -0x3fd8))" (( "(") (pointer_expression "*(undefined4 *)(iVar5 + -0x3fd8)" (* "*") (cast_expression "(undefined4 *)(iVar5 + -0x3fd8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + -0x3fd8)" (( "(") (binary_expression "iVar5 + -0x3fd8" (identifier "iVar5") (+ "+") (number_literal "-0x3fd8")) () ")")))) () ")"))) (; ";")) (expression_statement "unaff_s3 = *(word **)(pcStack_230 + -0x7fd4);" (assignment_expression "unaff_s3 = *(word **)(pcStack_230 + -0x7fd4)" (identifier "unaff_s3") (= "=") (pointer_expression "*(word **)(pcStack_230 + -0x7fd4)" (* "*") (cast_expression "(word **)(pcStack_230 + -0x7fd4)" (( "(") (type_descriptor "word **" (type_identifier "word") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x7fd4)" (( "(") (binary_expression "pcStack_230 + -0x7fd4" (identifier "pcStack_230") (+ "+") (number_literal "-0x7fd4")) () ")"))))) (; ";")) (expression_statement "iVar13 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1ff0));" (assignment_expression "iVar13 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1ff0))" (identifier "iVar13") (= "=") (call_expression "(**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1ff0))" (parenthesized_expression "(**(code **)(pcStack_230 + -0x60fc))" (( "(") (pointer_expression "**(code **)(pcStack_230 + -0x60fc)" (* "*") (pointer_expression "*(code **)(pcStack_230 + -0x60fc)" (* "*") (cast_expression "(code **)(pcStack_230 + -0x60fc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x60fc)" (( "(") (binary_expression "pcStack_230 + -0x60fc" (identifier "pcStack_230") (+ "+") (number_literal "-0x60fc")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(unaff_s3 + -0x1ff0))" (( "(") (pointer_expression "*(undefined4 *)(unaff_s3 + -0x1ff0)" (* "*") (cast_expression "(undefined4 *)(unaff_s3 + -0x1ff0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s3 + -0x1ff0)" (( "(") (binary_expression "unaff_s3 + -0x1ff0" (identifier "unaff_s3") (+ "+") (number_literal "-0x1ff0")) () ")")))) () ")")))) (; ";")) (expression_statement "uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar13 + 1);" (assignment_expression "uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar13 + 1)" (identifier "uVar7") (= "=") (call_expression "(**(code **)(pcStack_230 + -0x7f88))(iVar13 + 1)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x7f88))" (( "(") (pointer_expression "**(code **)(pcStack_230 + -0x7f88)" (* "*") (pointer_expression "*(code **)(pcStack_230 + -0x7f88)" (* "*") (cast_expression "(code **)(pcStack_230 + -0x7f88)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x7f88)" (( "(") (binary_expression "pcStack_230 + -0x7f88" (identifier "pcStack_230") (+ "+") (number_literal "-0x7f88")) () ")"))))) () ")")) (argument_list "(iVar13 + 1)" (( "(") (binary_expression "iVar13 + 1" (identifier "iVar13") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1ff0));" (assignment_expression "uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1ff0))" (identifier "uVar7") (= "=") (call_expression "(**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1ff0))" (parenthesized_expression "(**(code **)(pcStack_230 + -0x6074))" (( "(") (pointer_expression "**(code **)(pcStack_230 + -0x6074)" (* "*") (pointer_expression "*(code **)(pcStack_230 + -0x6074)" (* "*") (cast_expression "(code **)(pcStack_230 + -0x6074)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x6074)" (( "(") (binary_expression "pcStack_230 + -0x6074" (identifier "pcStack_230") (+ "+") (number_literal "-0x6074")) () ")"))))) () ")")) (argument_list "(uVar7,*(undefined4 *)(unaff_s3 + -0x1ff0))" (( "(") (identifier "uVar7") (, ",") (pointer_expression "*(undefined4 *)(unaff_s3 + -0x1ff0)" (* "*") (cast_expression "(undefined4 *)(unaff_s3 + -0x1ff0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s3 + -0x1ff0)" (( "(") (binary_expression "unaff_s3 + -0x1ff0" (identifier "unaff_s3") (+ "+") (number_literal "-0x1ff0")) () ")")))) () ")")))) (; ";")) (expression_statement "*(undefined4 *)(iVar5 + -0x3fd8) = uVar7;" (assignment_expression "*(undefined4 *)(iVar5 + -0x3fd8) = uVar7" (pointer_expression "*(undefined4 *)(iVar5 + -0x3fd8)" (* "*") (cast_expression "(undefined4 *)(iVar5 + -0x3fd8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + -0x3fd8)" (( "(") (binary_expression "iVar5 + -0x3fd8" (identifier "iVar5") (+ "+") (number_literal "-0x3fd8")) () ")")))) (= "=") (identifier "uVar7")) (; ";")) (} "}"))) (goto_statement "goto LAB_000fb8b4;" (goto "goto") (statement_identifier "LAB_000fb8b4") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    (*(code *)**(undefined4 **)(pcStack_230 + -0x6f40))(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);\nLAB_000fb8b4:\n    iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n  }" (else "else") (compound_statement "{\n    (*(code *)**(undefined4 **)(pcStack_230 + -0x6f40))(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);\nLAB_000fb8b4:\n    iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n  }" ({ "{") (expression_statement "(*(code *)**(undefined4 **)(pcStack_230 + -0x6f40))(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);" (call_expression "(*(code *)**(undefined4 **)(pcStack_230 + -0x6f40))(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" (parenthesized_expression "(*(code *)**(undefined4 **)(pcStack_230 + -0x6f40))" (( "(") (pointer_expression "*(code *)**(undefined4 **)(pcStack_230 + -0x6f40)" (* "*") (cast_expression "(code *)**(undefined4 **)(pcStack_230 + -0x6f40)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(undefined4 **)(pcStack_230 + -0x6f40)" (* "*") (pointer_expression "*(undefined4 **)(pcStack_230 + -0x6f40)" (* "*") (cast_expression "(undefined4 **)(pcStack_230 + -0x6f40)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x6f40)" (( "(") (binary_expression "pcStack_230 + -0x6f40" (identifier "pcStack_230") (+ "+") (number_literal "-0x6f40")) () ")"))))))) () ")")) (argument_list "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" (( "(") (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" (* "*") (cast_expression "(int *)(pcStack_230 + -0x7fd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_230 + -0x7fd4)" (( "(") (binary_expression "pcStack_230 + -0x7fd4" (identifier "pcStack_230") (+ "+") (number_literal "-0x7fd4")) () ")")))) (+ "+") (number_literal "-0x3fd8")) () ")"))) (; ";")) (labeled_statement "LAB_000fb8b4:\n    iVar5 = *(int *)(pcStack_230 + -0x7fd4);" (statement_identifier "LAB_000fb8b4") (: ":") (expression_statement "iVar5 = *(int *)(pcStack_230 + -0x7fd4);" (assignment_expression "iVar5 = *(int *)(pcStack_230 + -0x7fd4)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" (* "*") (cast_expression "(int *)(pcStack_230 + -0x7fd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_230 + -0x7fd4)" (( "(") (binary_expression "pcStack_230 + -0x7fd4" (identifier "pcStack_230") (+ "+") (number_literal "-0x7fd4")) () ")"))))) (; ";"))) (} "}")))) (expression_statement "uVar7 = (**(code **)(pcStack_230 + -0x6288))(*(undefined4 *)(iVar5 + -0x3fd8));" (assignment_expression "uVar7 = (**(code **)(pcStack_230 + -0x6288))(*(undefined4 *)(iVar5 + -0x3fd8))" (identifier "uVar7") (= "=") (call_expression "(**(code **)(pcStack_230 + -0x6288))(*(undefined4 *)(iVar5 + -0x3fd8))" (parenthesized_expression "(**(code **)(pcStack_230 + -0x6288))" (( "(") (pointer_expression "**(code **)(pcStack_230 + -0x6288)" (* "*") (pointer_expression "*(code **)(pcStack_230 + -0x6288)" (* "*") (cast_expression "(code **)(pcStack_230 + -0x6288)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x6288)" (( "(") (binary_expression "pcStack_230 + -0x6288" (identifier "pcStack_230") (+ "+") (number_literal "-0x6288")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar5 + -0x3fd8))" (( "(") (pointer_expression "*(undefined4 *)(iVar5 + -0x3fd8)" (* "*") (cast_expression "(undefined4 *)(iVar5 + -0x3fd8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + -0x3fd8)" (( "(") (binary_expression "iVar5 + -0x3fd8" (identifier "iVar5") (+ "+") (number_literal "-0x3fd8")) () ")")))) () ")")))) (; ";")) (expression_statement "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) = uVar7;" (assignment_expression "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) = uVar7" (pointer_expression "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4)" (* "*") (cast_expression "(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4)" (( "(") (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" (* "*") (cast_expression "(int *)(pcStack_230 + -0x7fd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_230 + -0x7fd4)" (( "(") (binary_expression "pcStack_230 + -0x7fd4" (identifier "pcStack_230") (+ "+") (number_literal "-0x7fd4")) () ")")))) (+ "+") (number_literal "-0x3fd4")) () ")")))) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "iVar5 = *(int *)(pcStack_230 + -0x7fd4);" (assignment_expression "iVar5 = *(int *)(pcStack_230 + -0x7fd4)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" (* "*") (cast_expression "(int *)(pcStack_230 + -0x7fd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_230 + -0x7fd4)" (( "(") (binary_expression "pcStack_230 + -0x7fd4" (identifier "pcStack_230") (+ "+") (number_literal "-0x7fd4")) () ")"))))) (; ";")) (if_statement "if ((**(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) != '\0') &&\n     (iVar5 = *(int *)(pcStack_230 + -0x7fd4), **(int **)(pcStack_230 + -0x6f38) != 0)) {\n    if ((code *)**(undefined4 **)(pcStack_230 + -0x6de4) != (code *)0x0) {\n      unaff_s3 = (word *)(*(code *)**(undefined4 **)(pcStack_230 + -0x6de4))\n                                   (*(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc),\n                                    **(undefined4 **)(pcStack_230 + -0x6f34));\n      iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n      (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fdc));\n      *(word **)(iVar5 + -0x3fdc) = unaff_s3;\n    }\n    iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n  }" (if "if") (parenthesized_expression "((**(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) != '\0') &&\n     (iVar5 = *(int *)(pcStack_230 + -0x7fd4), **(int **)(pcStack_230 + -0x6f38) != 0))" (( "(") (binary_expression "(**(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) != '\0') &&\n     (iVar5 = *(int *)(pcStack_230 + -0x7fd4), **(int **)(pcStack_230 + -0x6f38) != 0)" (parenthesized_expression "(**(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) != '\0')" (( "(") (binary_expression "**(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) != '\0'" (pointer_expression "**(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc)" (* "*") (pointer_expression "*(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc)" (* "*") (cast_expression "(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc)" (( "(") (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" (* "*") (cast_expression "(int *)(pcStack_230 + -0x7fd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_230 + -0x7fd4)" (( "(") (binary_expression "pcStack_230 + -0x7fd4" (identifier "pcStack_230") (+ "+") (number_literal "-0x7fd4")) () ")")))) (+ "+") (number_literal "-0x3fdc")) () ")"))))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(iVar5 = *(int *)(pcStack_230 + -0x7fd4), **(int **)(pcStack_230 + -0x6f38) != 0)" (( "(") (comma_expression "iVar5 = *(int *)(pcStack_230 + -0x7fd4), **(int **)(pcStack_230 + -0x6f38) != 0" (assignment_expression "iVar5 = *(int *)(pcStack_230 + -0x7fd4)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" (* "*") (cast_expression "(int *)(pcStack_230 + -0x7fd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_230 + -0x7fd4)" (( "(") (binary_expression "pcStack_230 + -0x7fd4" (identifier "pcStack_230") (+ "+") (number_literal "-0x7fd4")) () ")"))))) (, ",") (binary_expression "**(int **)(pcStack_230 + -0x6f38) != 0" (pointer_expression "**(int **)(pcStack_230 + -0x6f38)" (* "*") (pointer_expression "*(int **)(pcStack_230 + -0x6f38)" (* "*") (cast_expression "(int **)(pcStack_230 + -0x6f38)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x6f38)" (( "(") (binary_expression "pcStack_230 + -0x6f38" (identifier "pcStack_230") (+ "+") (number_literal "-0x6f38")) () ")"))))) (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n    if ((code *)**(undefined4 **)(pcStack_230 + -0x6de4) != (code *)0x0) {\n      unaff_s3 = (word *)(*(code *)**(undefined4 **)(pcStack_230 + -0x6de4))\n                                   (*(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc),\n                                    **(undefined4 **)(pcStack_230 + -0x6f34));\n      iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n      (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fdc));\n      *(word **)(iVar5 + -0x3fdc) = unaff_s3;\n    }\n    iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n  }" ({ "{") (if_statement "if ((code *)**(undefined4 **)(pcStack_230 + -0x6de4) != (code *)0x0) {\n      unaff_s3 = (word *)(*(code *)**(undefined4 **)(pcStack_230 + -0x6de4))\n                                   (*(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc),\n                                    **(undefined4 **)(pcStack_230 + -0x6f34));\n      iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n      (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fdc));\n      *(word **)(iVar5 + -0x3fdc) = unaff_s3;\n    }" (if "if") (parenthesized_expression "((code *)**(undefined4 **)(pcStack_230 + -0x6de4) != (code *)0x0)" (( "(") (binary_expression "(code *)**(undefined4 **)(pcStack_230 + -0x6de4) != (code *)0x0" (cast_expression "(code *)**(undefined4 **)(pcStack_230 + -0x6de4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(undefined4 **)(pcStack_230 + -0x6de4)" (* "*") (pointer_expression "*(undefined4 **)(pcStack_230 + -0x6de4)" (* "*") (cast_expression "(undefined4 **)(pcStack_230 + -0x6de4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x6de4)" (( "(") (binary_expression "pcStack_230 + -0x6de4" (identifier "pcStack_230") (+ "+") (number_literal "-0x6de4")) () ")")))))) (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      unaff_s3 = (word *)(*(code *)**(undefined4 **)(pcStack_230 + -0x6de4))\n                                   (*(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc),\n                                    **(undefined4 **)(pcStack_230 + -0x6f34));\n      iVar5 = *(int *)(pcStack_230 + -0x7fd4);\n      (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fdc));\n      *(word **)(iVar5 + -0x3fdc) = unaff_s3;\n    }" ({ "{") (expression_statement "unaff_s3 = (word *)(*(code *)**(undefined4 **)(pcStack_230 + -0x6de4))\n                                   (*(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc),\n                                    **(undefined4 **)(pcStack_230 + -0x6f34));" (assignment_expression "unaff_s3 = (word *)(*(code *)**(undefined4 **)(pcStack_230 + -0x6de4))\n                                   (*(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc),\n                                    **(undefined4 **)(pcStack_230 + -0x6f34))" (identifier "unaff_s3") (= "=") (cast_expression "(word *)(*(code *)**(undefined4 **)(pcStack_230 + -0x6de4))\n                                   (*(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc),\n                                    **(undefined4 **)(pcStack_230 + -0x6f34))" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)**(undefined4 **)(pcStack_230 + -0x6de4))\n                                   (*(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc),\n                                    **(undefined4 **)(pcStack_230 + -0x6f34))" (parenthesized_expression "(*(code *)**(undefined4 **)(pcStack_230 + -0x6de4))" (( "(") (pointer_expression "*(code *)**(undefined4 **)(pcStack_230 + -0x6de4)" (* "*") (cast_expression "(code *)**(undefined4 **)(pcStack_230 + -0x6de4)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(undefined4 **)(pcStack_230 + -0x6de4)" (* "*") (pointer_expression "*(undefined4 **)(pcStack_230 + -0x6de4)" (* "*") (cast_expression "(undefined4 **)(pcStack_230 + -0x6de4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x6de4)" (( "(") (binary_expression "pcStack_230 + -0x6de4" (identifier "pcStack_230") (+ "+") (number_literal "-0x6de4")) () ")"))))))) () ")")) (argument_list "(*(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc),\n                                    **(undefined4 **)(pcStack_230 + -0x6f34))" (( "(") (pointer_expression "*(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc)" (* "*") (cast_expression "(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc)" (( "(") (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" (* "*") (cast_expression "(int *)(pcStack_230 + -0x7fd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_230 + -0x7fd4)" (( "(") (binary_expression "pcStack_230 + -0x7fd4" (identifier "pcStack_230") (+ "+") (number_literal "-0x7fd4")) () ")")))) (+ "+") (number_literal "-0x3fdc")) () ")")))) (, ",") (pointer_expression "**(undefined4 **)(pcStack_230 + -0x6f34)" (* "*") (pointer_expression "*(undefined4 **)(pcStack_230 + -0x6f34)" (* "*") (cast_expression "(undefined4 **)(pcStack_230 + -0x6f34)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x6f34)" (( "(") (binary_expression "pcStack_230 + -0x6f34" (identifier "pcStack_230") (+ "+") (number_literal "-0x6f34")) () ")"))))) () ")"))))) (; ";")) (expression_statement "iVar5 = *(int *)(pcStack_230 + -0x7fd4);" (assignment_expression "iVar5 = *(int *)(pcStack_230 + -0x7fd4)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" (* "*") (cast_expression "(int *)(pcStack_230 + -0x7fd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_230 + -0x7fd4)" (( "(") (binary_expression "pcStack_230 + -0x7fd4" (identifier "pcStack_230") (+ "+") (number_literal "-0x7fd4")) () ")"))))) (; ";")) (expression_statement "(**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fdc));" (call_expression "(**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fdc))" (parenthesized_expression "(**(code **)(pcStack_230 + -0x798c))" (( "(") (pointer_expression "**(code **)(pcStack_230 + -0x798c)" (* "*") (pointer_expression "*(code **)(pcStack_230 + -0x798c)" (* "*") (cast_expression "(code **)(pcStack_230 + -0x798c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x798c)" (( "(") (binary_expression "pcStack_230 + -0x798c" (identifier "pcStack_230") (+ "+") (number_literal "-0x798c")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar5 + -0x3fdc))" (( "(") (pointer_expression "*(undefined4 *)(iVar5 + -0x3fdc)" (* "*") (cast_expression "(undefined4 *)(iVar5 + -0x3fdc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + -0x3fdc)" (( "(") (binary_expression "iVar5 + -0x3fdc" (identifier "iVar5") (+ "+") (number_literal "-0x3fdc")) () ")")))) () ")"))) (; ";")) (expression_statement "*(word **)(iVar5 + -0x3fdc) = unaff_s3;" (assignment_expression "*(word **)(iVar5 + -0x3fdc) = unaff_s3" (pointer_expression "*(word **)(iVar5 + -0x3fdc)" (* "*") (cast_expression "(word **)(iVar5 + -0x3fdc)" (( "(") (type_descriptor "word **" (type_identifier "word") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar5 + -0x3fdc)" (( "(") (binary_expression "iVar5 + -0x3fdc" (identifier "iVar5") (+ "+") (number_literal "-0x3fdc")) () ")")))) (= "=") (identifier "unaff_s3")) (; ";")) (} "}"))) (expression_statement "iVar5 = *(int *)(pcStack_230 + -0x7fd4);" (assignment_expression "iVar5 = *(int *)(pcStack_230 + -0x7fd4)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" (* "*") (cast_expression "(int *)(pcStack_230 + -0x7fd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_230 + -0x7fd4)" (( "(") (binary_expression "pcStack_230 + -0x7fd4" (identifier "pcStack_230") (+ "+") (number_literal "-0x7fd4")) () ")"))))) (; ";")) (} "}"))) (expression_statement "uVar7 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(iVar5 + -0x3fdc));" (assignment_expression "uVar7 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(iVar5 + -0x3fdc))" (identifier "uVar7") (= "=") (call_expression "(**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(iVar5 + -0x3fdc))" (parenthesized_expression "(**(code **)(pcStack_230 + -0x60fc))" (( "(") (pointer_expression "**(code **)(pcStack_230 + -0x60fc)" (* "*") (pointer_expression "*(code **)(pcStack_230 + -0x60fc)" (* "*") (cast_expression "(code **)(pcStack_230 + -0x60fc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x60fc)" (( "(") (binary_expression "pcStack_230 + -0x60fc" (identifier "pcStack_230") (+ "+") (number_literal "-0x60fc")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar5 + -0x3fdc))" (( "(") (pointer_expression "*(undefined4 *)(iVar5 + -0x3fdc)" (* "*") (cast_expression "(undefined4 *)(iVar5 + -0x3fdc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + -0x3fdc)" (( "(") (binary_expression "iVar5 + -0x3fdc" (identifier "iVar5") (+ "+") (number_literal "-0x3fdc")) () ")")))) () ")")))) (; ";")) (expression_statement "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe4) = uVar7;" (assignment_expression "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe4) = uVar7" (pointer_expression "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe4)" (* "*") (cast_expression "(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe4)" (( "(") (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fe4" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" (* "*") (cast_expression "(int *)(pcStack_230 + -0x7fd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_230 + -0x7fd4)" (( "(") (binary_expression "pcStack_230 + -0x7fd4" (identifier "pcStack_230") (+ "+") (number_literal "-0x7fd4")) () ")")))) (+ "+") (number_literal "-0x3fe4")) () ")")))) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "**(undefined4 **)(pcStack_230 + -0x6f0c) = 1;" (assignment_expression "**(undefined4 **)(pcStack_230 + -0x6f0c) = 1" (pointer_expression "**(undefined4 **)(pcStack_230 + -0x6f0c)" (* "*") (pointer_expression "*(undefined4 **)(pcStack_230 + -0x6f0c)" (* "*") (cast_expression "(undefined4 **)(pcStack_230 + -0x6f0c)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x6f0c)" (( "(") (binary_expression "pcStack_230 + -0x6f0c" (identifier "pcStack_230") (+ "+") (number_literal "-0x6f0c")) () ")"))))) (= "=") (number_literal "1")) (; ";")) (labeled_statement "LAB_000fb968:\n  iVar5 = 0;" (statement_identifier "LAB_000fb968") (: ":") (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" (identifier "iVar5") (= "=") (number_literal "0")) (; ";"))) (expression_statement "iStack_224 = *(int *)(pcStack_230 + -0x7fd4);" (assignment_expression "iStack_224 = *(int *)(pcStack_230 + -0x7fd4)" (identifier "iStack_224") (= "=") (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" (* "*") (cast_expression "(int *)(pcStack_230 + -0x7fd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_230 + -0x7fd4)" (( "(") (binary_expression "pcStack_230 + -0x7fd4" (identifier "pcStack_230") (+ "+") (number_literal "-0x7fd4")) () ")"))))) (; ";")) (expression_statement "puStack_220 = *(undefined4 **)(pcStack_230 + -0x6df0);" (assignment_expression "puStack_220 = *(undefined4 **)(pcStack_230 + -0x6df0)" (identifier "puStack_220") (= "=") (pointer_expression "*(undefined4 **)(pcStack_230 + -0x6df0)" (* "*") (cast_expression "(undefined4 **)(pcStack_230 + -0x6df0)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x6df0)" (( "(") (binary_expression "pcStack_230 + -0x6df0" (identifier "pcStack_230") (+ "+") (number_literal "-0x6df0")) () ")"))))) (; ";")) (expression_statement "iStack_21c = *(int *)(pcStack_230 + -0x7fd4);" (assignment_expression "iStack_21c = *(int *)(pcStack_230 + -0x7fd4)" (identifier "iStack_21c") (= "=") (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" (* "*") (cast_expression "(int *)(pcStack_230 + -0x7fd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_230 + -0x7fd4)" (( "(") (binary_expression "pcStack_230 + -0x7fd4" (identifier "pcStack_230") (+ "+") (number_literal "-0x7fd4")) () ")"))))) (; ";")) (expression_statement "iStack_218 = *(int *)(pcStack_230 + -0x7fd4);" (assignment_expression "iStack_218 = *(int *)(pcStack_230 + -0x7fd4)" (identifier "iStack_218") (= "=") (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" (* "*") (cast_expression "(int *)(pcStack_230 + -0x7fd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_230 + -0x7fd4)" (( "(") (binary_expression "pcStack_230 + -0x7fd4" (identifier "pcStack_230") (+ "+") (number_literal "-0x7fd4")) () ")"))))) (; ";")) (expression_statement "piStack_20c = *(int **)(pcStack_230 + -0x65bc);" (assignment_expression "piStack_20c = *(int **)(pcStack_230 + -0x65bc)" (identifier "piStack_20c") (= "=") (pointer_expression "*(int **)(pcStack_230 + -0x65bc)" (* "*") (cast_expression "(int **)(pcStack_230 + -0x65bc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x65bc)" (( "(") (binary_expression "pcStack_230 + -0x65bc" (identifier "pcStack_230") (+ "+") (number_literal "-0x65bc")) () ")"))))) (; ";")) (expression_statement "pcVar23 = pcStack_230;" (assignment_expression "pcVar23 = pcStack_230" (identifier "pcVar23") (= "=") (identifier "pcStack_230")) (; ";")) (labeled_statement "LAB_000fbb0c:\n  iVar13 = *(int *)(iStack_224 + -0x3fd4);" (statement_identifier "LAB_000fbb0c") (: ":") (expression_statement "iVar13 = *(int *)(iStack_224 + -0x3fd4);" (assignment_expression "iVar13 = *(int *)(iStack_224 + -0x3fd4)" (identifier "iVar13") (= "=") (pointer_expression "*(int *)(iStack_224 + -0x3fd4)" (* "*") (cast_expression "(int *)(iStack_224 + -0x3fd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iStack_224 + -0x3fd4)" (( "(") (binary_expression "iStack_224 + -0x3fd4" (identifier "iStack_224") (+ "+") (number_literal "-0x3fd4")) () ")"))))) (; ";"))) (labeled_statement "LAB_000fbb10:\n  if (iVar13 == 0) {\n    if (iVar5 != 0) goto LAB_000fbbb0;\n    iVar5 = *(int *)(*(int *)(pcVar23 + -0x7fd4) + -0x3fd8);\nLAB_000fc3a0:\n    if (iVar5 != 0) {\n      (**(code **)(pcVar23 + -0x798c))();\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) = 0;\n      pcVar23 = pcStack_230;\n    }\n    if (*(int *)(*(int *)(pcVar23 + -0x7fd4) + -0x3fdc) != 0) {\n      (**(code **)(pcVar23 + -0x798c))();\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) = 0;\n      pcVar23 = pcStack_230;\n    }\n    pwVar14 = *(word **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0);\n    if (pwVar14 != (word *)0x0) {\n      (**(code **)(pcVar23 + -0x798c))(pwVar14);\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = 0;\n      pwVar14 = (word *)0x0;\n      pcVar23 = pcStack_230;\n    }\n    goto LAB_000fbca4;\n  }" (statement_identifier "LAB_000fbb10") (: ":") (if_statement "if (iVar13 == 0) {\n    if (iVar5 != 0) goto LAB_000fbbb0;\n    iVar5 = *(int *)(*(int *)(pcVar23 + -0x7fd4) + -0x3fd8);\nLAB_000fc3a0:\n    if (iVar5 != 0) {\n      (**(code **)(pcVar23 + -0x798c))();\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) = 0;\n      pcVar23 = pcStack_230;\n    }\n    if (*(int *)(*(int *)(pcVar23 + -0x7fd4) + -0x3fdc) != 0) {\n      (**(code **)(pcVar23 + -0x798c))();\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) = 0;\n      pcVar23 = pcStack_230;\n    }\n    pwVar14 = *(word **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0);\n    if (pwVar14 != (word *)0x0) {\n      (**(code **)(pcVar23 + -0x798c))(pwVar14);\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = 0;\n      pwVar14 = (word *)0x0;\n      pcVar23 = pcStack_230;\n    }\n    goto LAB_000fbca4;\n  }" (if "if") (parenthesized_expression "(iVar13 == 0)" (( "(") (binary_expression "iVar13 == 0" (identifier "iVar13") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    if (iVar5 != 0) goto LAB_000fbbb0;\n    iVar5 = *(int *)(*(int *)(pcVar23 + -0x7fd4) + -0x3fd8);\nLAB_000fc3a0:\n    if (iVar5 != 0) {\n      (**(code **)(pcVar23 + -0x798c))();\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) = 0;\n      pcVar23 = pcStack_230;\n    }\n    if (*(int *)(*(int *)(pcVar23 + -0x7fd4) + -0x3fdc) != 0) {\n      (**(code **)(pcVar23 + -0x798c))();\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) = 0;\n      pcVar23 = pcStack_230;\n    }\n    pwVar14 = *(word **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0);\n    if (pwVar14 != (word *)0x0) {\n      (**(code **)(pcVar23 + -0x798c))(pwVar14);\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = 0;\n      pwVar14 = (word *)0x0;\n      pcVar23 = pcStack_230;\n    }\n    goto LAB_000fbca4;\n  }" ({ "{") (if_statement "if (iVar5 != 0) goto LAB_000fbbb0;" (if "if") (parenthesized_expression "(iVar5 != 0)" (( "(") (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000fbbb0;" (goto "goto") (statement_identifier "LAB_000fbbb0") (; ";"))) (expression_statement "iVar5 = *(int *)(*(int *)(pcVar23 + -0x7fd4) + -0x3fd8);" (assignment_expression "iVar5 = *(int *)(*(int *)(pcVar23 + -0x7fd4) + -0x3fd8)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(*(int *)(pcVar23 + -0x7fd4) + -0x3fd8)" (* "*") (cast_expression "(int *)(*(int *)(pcVar23 + -0x7fd4) + -0x3fd8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar23 + -0x7fd4) + -0x3fd8)" (( "(") (binary_expression "*(int *)(pcVar23 + -0x7fd4) + -0x3fd8" (pointer_expression "*(int *)(pcVar23 + -0x7fd4)" (* "*") (cast_expression "(int *)(pcVar23 + -0x7fd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar23 + -0x7fd4)" (( "(") (binary_expression "pcVar23 + -0x7fd4" (identifier "pcVar23") (+ "+") (number_literal "-0x7fd4")) () ")")))) (+ "+") (number_literal "-0x3fd8")) () ")"))))) (; ";")) (labeled_statement "LAB_000fc3a0:\n    if (iVar5 != 0) {\n      (**(code **)(pcVar23 + -0x798c))();\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) = 0;\n      pcVar23 = pcStack_230;\n    }" (statement_identifier "LAB_000fc3a0") (: ":") (if_statement "if (iVar5 != 0) {\n      (**(code **)(pcVar23 + -0x798c))();\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) = 0;\n      pcVar23 = pcStack_230;\n    }" (if "if") (parenthesized_expression "(iVar5 != 0)" (( "(") (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      (**(code **)(pcVar23 + -0x798c))();\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) = 0;\n      pcVar23 = pcStack_230;\n    }" ({ "{") (expression_statement "(**(code **)(pcVar23 + -0x798c))();" (call_expression "(**(code **)(pcVar23 + -0x798c))()" (parenthesized_expression "(**(code **)(pcVar23 + -0x798c))" (( "(") (pointer_expression "**(code **)(pcVar23 + -0x798c)" (* "*") (pointer_expression "*(code **)(pcVar23 + -0x798c)" (* "*") (cast_expression "(code **)(pcVar23 + -0x798c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + -0x798c)" (( "(") (binary_expression "pcVar23 + -0x798c" (identifier "pcVar23") (+ "+") (number_literal "-0x798c")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) = 0;" (assignment_expression "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) = 0" (pointer_expression "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" (* "*") (cast_expression "(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" (( "(") (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" (* "*") (cast_expression "(int *)(pcStack_230 + -0x7fd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_230 + -0x7fd4)" (( "(") (binary_expression "pcStack_230 + -0x7fd4" (identifier "pcStack_230") (+ "+") (number_literal "-0x7fd4")) () ")")))) (+ "+") (number_literal "-0x3fd8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "pcVar23 = pcStack_230;" (assignment_expression "pcVar23 = pcStack_230" (identifier "pcVar23") (= "=") (identifier "pcStack_230")) (; ";")) (} "}")))) (if_statement "if (*(int *)(*(int *)(pcVar23 + -0x7fd4) + -0x3fdc) != 0) {\n      (**(code **)(pcVar23 + -0x798c))();\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) = 0;\n      pcVar23 = pcStack_230;\n    }" (if "if") (parenthesized_expression "(*(int *)(*(int *)(pcVar23 + -0x7fd4) + -0x3fdc) != 0)" (( "(") (binary_expression "*(int *)(*(int *)(pcVar23 + -0x7fd4) + -0x3fdc) != 0" (pointer_expression "*(int *)(*(int *)(pcVar23 + -0x7fd4) + -0x3fdc)" (* "*") (cast_expression "(int *)(*(int *)(pcVar23 + -0x7fd4) + -0x3fdc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar23 + -0x7fd4) + -0x3fdc)" (( "(") (binary_expression "*(int *)(pcVar23 + -0x7fd4) + -0x3fdc" (pointer_expression "*(int *)(pcVar23 + -0x7fd4)" (* "*") (cast_expression "(int *)(pcVar23 + -0x7fd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar23 + -0x7fd4)" (( "(") (binary_expression "pcVar23 + -0x7fd4" (identifier "pcVar23") (+ "+") (number_literal "-0x7fd4")) () ")")))) (+ "+") (number_literal "-0x3fdc")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      (**(code **)(pcVar23 + -0x798c))();\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) = 0;\n      pcVar23 = pcStack_230;\n    }" ({ "{") (expression_statement "(**(code **)(pcVar23 + -0x798c))();" (call_expression "(**(code **)(pcVar23 + -0x798c))()" (parenthesized_expression "(**(code **)(pcVar23 + -0x798c))" (( "(") (pointer_expression "**(code **)(pcVar23 + -0x798c)" (* "*") (pointer_expression "*(code **)(pcVar23 + -0x798c)" (* "*") (cast_expression "(code **)(pcVar23 + -0x798c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + -0x798c)" (( "(") (binary_expression "pcVar23 + -0x798c" (identifier "pcVar23") (+ "+") (number_literal "-0x798c")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) = 0;" (assignment_expression "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) = 0" (pointer_expression "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc)" (* "*") (cast_expression "(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc)" (( "(") (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" (* "*") (cast_expression "(int *)(pcStack_230 + -0x7fd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_230 + -0x7fd4)" (( "(") (binary_expression "pcStack_230 + -0x7fd4" (identifier "pcStack_230") (+ "+") (number_literal "-0x7fd4")) () ")")))) (+ "+") (number_literal "-0x3fdc")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "pcVar23 = pcStack_230;" (assignment_expression "pcVar23 = pcStack_230" (identifier "pcVar23") (= "=") (identifier "pcStack_230")) (; ";")) (} "}"))) (expression_statement "pwVar14 = *(word **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0);" (assignment_expression "pwVar14 = *(word **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0)" (identifier "pwVar14") (= "=") (pointer_expression "*(word **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0)" (* "*") (cast_expression "(word **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0)" (( "(") (type_descriptor "word **" (type_identifier "word") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0)" (( "(") (binary_expression "*(int *)(pcVar23 + -0x7fd4) + -0x3fe0" (pointer_expression "*(int *)(pcVar23 + -0x7fd4)" (* "*") (cast_expression "(int *)(pcVar23 + -0x7fd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar23 + -0x7fd4)" (( "(") (binary_expression "pcVar23 + -0x7fd4" (identifier "pcVar23") (+ "+") (number_literal "-0x7fd4")) () ")")))) (+ "+") (number_literal "-0x3fe0")) () ")"))))) (; ";")) (if_statement "if (pwVar14 != (word *)0x0) {\n      (**(code **)(pcVar23 + -0x798c))(pwVar14);\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = 0;\n      pwVar14 = (word *)0x0;\n      pcVar23 = pcStack_230;\n    }" (if "if") (parenthesized_expression "(pwVar14 != (word *)0x0)" (( "(") (binary_expression "pwVar14 != (word *)0x0" (identifier "pwVar14") (!= "!=") (cast_expression "(word *)0x0" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      (**(code **)(pcVar23 + -0x798c))(pwVar14);\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = 0;\n      pwVar14 = (word *)0x0;\n      pcVar23 = pcStack_230;\n    }" ({ "{") (expression_statement "(**(code **)(pcVar23 + -0x798c))(pwVar14);" (call_expression "(**(code **)(pcVar23 + -0x798c))(pwVar14)" (parenthesized_expression "(**(code **)(pcVar23 + -0x798c))" (( "(") (pointer_expression "**(code **)(pcVar23 + -0x798c)" (* "*") (pointer_expression "*(code **)(pcVar23 + -0x798c)" (* "*") (cast_expression "(code **)(pcVar23 + -0x798c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + -0x798c)" (( "(") (binary_expression "pcVar23 + -0x798c" (identifier "pcVar23") (+ "+") (number_literal "-0x798c")) () ")"))))) () ")")) (argument_list "(pwVar14)" (( "(") (identifier "pwVar14") () ")"))) (; ";")) (expression_statement "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = 0;" (assignment_expression "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = 0" (pointer_expression "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0)" (* "*") (cast_expression "(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0)" (( "(") (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" (* "*") (cast_expression "(int *)(pcStack_230 + -0x7fd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_230 + -0x7fd4)" (( "(") (binary_expression "pcStack_230 + -0x7fd4" (identifier "pcStack_230") (+ "+") (number_literal "-0x7fd4")) () ")")))) (+ "+") (number_literal "-0x3fe0")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "pwVar14 = (word *)0x0;" (assignment_expression "pwVar14 = (word *)0x0" (identifier "pwVar14") (= "=") (cast_expression "(word *)0x0" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pcVar23 = pcStack_230;" (assignment_expression "pcVar23 = pcStack_230" (identifier "pcVar23") (= "=") (identifier "pcStack_230")) (; ";")) (} "}"))) (goto_statement "goto LAB_000fbca4;" (goto "goto") (statement_identifier "LAB_000fbca4") (; ";")) (} "}")))) (expression_statement "iVar5 = (**(code **)(pcVar23 + -0x6214))();" (assignment_expression "iVar5 = (**(code **)(pcVar23 + -0x6214))()" (identifier "iVar5") (= "=") (call_expression "(**(code **)(pcVar23 + -0x6214))()" (parenthesized_expression "(**(code **)(pcVar23 + -0x6214))" (( "(") (pointer_expression "**(code **)(pcVar23 + -0x6214)" (* "*") (pointer_expression "*(code **)(pcVar23 + -0x6214)" (* "*") (cast_expression "(code **)(pcVar23 + -0x6214)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + -0x6214)" (( "(") (binary_expression "pcVar23 + -0x6214" (identifier "pcVar23") (+ "+") (number_literal "-0x6214")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar5 == 0) {\n    if (*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) != 0) {\n      (**(code **)(pcStack_230 + -0x6284))();\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) = 0;\n    }\n    iVar5 = *(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);\n    pcVar23 = pcStack_230;\n    goto LAB_000fc3a0;\n  }" (if "if") (parenthesized_expression "(iVar5 == 0)" (( "(") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    if (*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) != 0) {\n      (**(code **)(pcStack_230 + -0x6284))();\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) = 0;\n    }\n    iVar5 = *(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);\n    pcVar23 = pcStack_230;\n    goto LAB_000fc3a0;\n  }" ({ "{") (if_statement "if (*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) != 0) {\n      (**(code **)(pcStack_230 + -0x6284))();\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) = 0;\n    }" (if "if") (parenthesized_expression "(*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) != 0)" (( "(") (binary_expression "*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) != 0" (pointer_expression "*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4)" (* "*") (cast_expression "(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4)" (( "(") (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" (* "*") (cast_expression "(int *)(pcStack_230 + -0x7fd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_230 + -0x7fd4)" (( "(") (binary_expression "pcStack_230 + -0x7fd4" (identifier "pcStack_230") (+ "+") (number_literal "-0x7fd4")) () ")")))) (+ "+") (number_literal "-0x3fd4")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      (**(code **)(pcStack_230 + -0x6284))();\n      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) = 0;\n    }" ({ "{") (expression_statement "(**(code **)(pcStack_230 + -0x6284))();" (call_expression "(**(code **)(pcStack_230 + -0x6284))()" (parenthesized_expression "(**(code **)(pcStack_230 + -0x6284))" (( "(") (pointer_expression "**(code **)(pcStack_230 + -0x6284)" (* "*") (pointer_expression "*(code **)(pcStack_230 + -0x6284)" (* "*") (cast_expression "(code **)(pcStack_230 + -0x6284)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x6284)" (( "(") (binary_expression "pcStack_230 + -0x6284" (identifier "pcStack_230") (+ "+") (number_literal "-0x6284")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) = 0;" (assignment_expression "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) = 0" (pointer_expression "*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4)" (* "*") (cast_expression "(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4)" (( "(") (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" (* "*") (cast_expression "(int *)(pcStack_230 + -0x7fd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_230 + -0x7fd4)" (( "(") (binary_expression "pcStack_230 + -0x7fd4" (identifier "pcStack_230") (+ "+") (number_literal "-0x7fd4")) () ")")))) (+ "+") (number_literal "-0x3fd4")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}"))) (expression_statement "iVar5 = *(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);" (assignment_expression "iVar5 = *(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" (* "*") (cast_expression "(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" (( "(") (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" (* "*") (cast_expression "(int *)(pcStack_230 + -0x7fd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_230 + -0x7fd4)" (( "(") (binary_expression "pcStack_230 + -0x7fd4" (identifier "pcStack_230") (+ "+") (number_literal "-0x7fd4")) () ")")))) (+ "+") (number_literal "-0x3fd8")) () ")"))))) (; ";")) (expression_statement "pcVar23 = pcStack_230;" (assignment_expression "pcVar23 = pcStack_230" (identifier "pcVar23") (= "=") (identifier "pcStack_230")) (; ";")) (goto_statement "goto LAB_000fc3a0;" (goto "goto") (statement_identifier "LAB_000fc3a0") (; ";")) (} "}"))) (expression_statement "pwVar18 = (word *)(iVar5 + 0x13);" (assignment_expression "pwVar18 = (word *)(iVar5 + 0x13)" (identifier "pwVar18") (= "=") (cast_expression "(word *)(iVar5 + 0x13)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + 0x13)" (( "(") (binary_expression "iVar5 + 0x13" (identifier "iVar5") (+ "+") (number_literal "0x13")) () ")")))) (; ";")) (expression_statement "unaff_s4 = (word *)(**(code **)(pcStack_230 + -0x60fc))(pwVar18);" (assignment_expression "unaff_s4 = (word *)(**(code **)(pcStack_230 + -0x60fc))(pwVar18)" (identifier "unaff_s4") (= "=") (cast_expression "(word *)(**(code **)(pcStack_230 + -0x60fc))(pwVar18)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcStack_230 + -0x60fc))(pwVar18)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x60fc))" (( "(") (pointer_expression "**(code **)(pcStack_230 + -0x60fc)" (* "*") (pointer_expression "*(code **)(pcStack_230 + -0x60fc)" (* "*") (cast_expression "(code **)(pcStack_230 + -0x60fc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x60fc)" (( "(") (binary_expression "pcStack_230 + -0x60fc" (identifier "pcStack_230") (+ "+") (number_literal "-0x60fc")) () ")"))))) () ")")) (argument_list "(pwVar18)" (( "(") (identifier "pwVar18") () ")"))))) (; ";")) (expression_statement "pwVar16 = pwVar18;" (assignment_expression "pwVar16 = pwVar18" (identifier "pwVar16") (= "=") (identifier "pwVar18")) (; ";")) (if_statement "if (((code *)*puStack_220 != (code *)0x0) &&\n     (pwVar16 = (word *)(*(code *)*puStack_220)(pwVar18,unaff_s4), pwVar18 != pwVar16)) {\n    unaff_s4 = (word *)(**(code **)(pcStack_230 + -0x60fc))(pwVar16);\n  }" (if "if") (parenthesized_expression "(((code *)*puStack_220 != (code *)0x0) &&\n     (pwVar16 = (word *)(*(code *)*puStack_220)(pwVar18,unaff_s4), pwVar18 != pwVar16))" (( "(") (binary_expression "((code *)*puStack_220 != (code *)0x0) &&\n     (pwVar16 = (word *)(*(code *)*puStack_220)(pwVar18,unaff_s4), pwVar18 != pwVar16)" (parenthesized_expression "((code *)*puStack_220 != (code *)0x0)" (( "(") (binary_expression "(code *)*puStack_220 != (code *)0x0" (cast_expression "(code *)*puStack_220" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puStack_220" (* "*") (identifier "puStack_220"))) (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(pwVar16 = (word *)(*(code *)*puStack_220)(pwVar18,unaff_s4), pwVar18 != pwVar16)" (( "(") (comma_expression "pwVar16 = (word *)(*(code *)*puStack_220)(pwVar18,unaff_s4), pwVar18 != pwVar16" (assignment_expression "pwVar16 = (word *)(*(code *)*puStack_220)(pwVar18,unaff_s4)" (identifier "pwVar16") (= "=") (cast_expression "(word *)(*(code *)*puStack_220)(pwVar18,unaff_s4)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)*puStack_220)(pwVar18,unaff_s4)" (parenthesized_expression "(*(code *)*puStack_220)" (( "(") (pointer_expression "*(code *)*puStack_220" (* "*") (cast_expression "(code *)*puStack_220" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puStack_220" (* "*") (identifier "puStack_220")))) () ")")) (argument_list "(pwVar18,unaff_s4)" (( "(") (identifier "pwVar18") (, ",") (identifier "unaff_s4") () ")"))))) (, ",") (binary_expression "pwVar18 != pwVar16" (identifier "pwVar18") (!= "!=") (identifier "pwVar16"))) () ")"))) () ")")) (compound_statement "{\n    unaff_s4 = (word *)(**(code **)(pcStack_230 + -0x60fc))(pwVar16);\n  }" ({ "{") (expression_statement "unaff_s4 = (word *)(**(code **)(pcStack_230 + -0x60fc))(pwVar16);" (assignment_expression "unaff_s4 = (word *)(**(code **)(pcStack_230 + -0x60fc))(pwVar16)" (identifier "unaff_s4") (= "=") (cast_expression "(word *)(**(code **)(pcStack_230 + -0x60fc))(pwVar16)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcStack_230 + -0x60fc))(pwVar16)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x60fc))" (( "(") (pointer_expression "**(code **)(pcStack_230 + -0x60fc)" (* "*") (pointer_expression "*(code **)(pcStack_230 + -0x60fc)" (* "*") (cast_expression "(code **)(pcStack_230 + -0x60fc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x60fc)" (( "(") (binary_expression "pcStack_230 + -0x60fc" (identifier "pcStack_230") (+ "+") (number_literal "-0x60fc")) () ")"))))) () ")")) (argument_list "(pwVar16)" (( "(") (identifier "pwVar16") () ")"))))) (; ";")) (} "}"))) (expression_statement "unaff_s3 = *(word **)(iStack_21c + -0x3fe4);" (assignment_expression "unaff_s3 = *(word **)(iStack_21c + -0x3fe4)" (identifier "unaff_s3") (= "=") (pointer_expression "*(word **)(iStack_21c + -0x3fe4)" (* "*") (cast_expression "(word **)(iStack_21c + -0x3fe4)" (( "(") (type_descriptor "word **" (type_identifier "word") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iStack_21c + -0x3fe4)" (( "(") (binary_expression "iStack_21c + -0x3fe4" (identifier "iStack_21c") (+ "+") (number_literal "-0x3fe4")) () ")"))))) (; ";")) (expression_statement "pcVar23 = pcStack_230;" (assignment_expression "pcVar23 = pcStack_230" (identifier "pcVar23") (= "=") (identifier "pcStack_230")) (; ";")) (if_statement "if (unaff_s3 == (word *)0x0) {\n    if (**(int **)(pcStack_230 + -0x65ac) == 0) {\n      if (*(byte *)pwVar16 != 0x2e) goto LAB_000fbbb0;\n    }\n    else {\n      iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n      if ((*(byte *)pwVar16 != 0x2e) ||\n         (((byte)*pwVar16 != 0 &&\n          ((iVar13 = *(int *)(pcStack_230 + -0x7fd4), (byte)*pwVar16 != 0x2e ||\n           (iVar13 = *(int *)(pcStack_230 + -0x7fd4), *(byte *)(pwVar16 + 1) != 0))))))\n      goto LAB_000fbbb4;\n    }\n    goto LAB_000fbb0c;\n  }" (if "if") (parenthesized_expression "(unaff_s3 == (word *)0x0)" (( "(") (binary_expression "unaff_s3 == (word *)0x0" (identifier "unaff_s3") (== "==") (cast_expression "(word *)0x0" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    if (**(int **)(pcStack_230 + -0x65ac) == 0) {\n      if (*(byte *)pwVar16 != 0x2e) goto LAB_000fbbb0;\n    }\n    else {\n      iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n      if ((*(byte *)pwVar16 != 0x2e) ||\n         (((byte)*pwVar16 != 0 &&\n          ((iVar13 = *(int *)(pcStack_230 + -0x7fd4), (byte)*pwVar16 != 0x2e ||\n           (iVar13 = *(int *)(pcStack_230 + -0x7fd4), *(byte *)(pwVar16 + 1) != 0))))))\n      goto LAB_000fbbb4;\n    }\n    goto LAB_000fbb0c;\n  }" ({ "{") (if_statement "if (**(int **)(pcStack_230 + -0x65ac) == 0) {\n      if (*(byte *)pwVar16 != 0x2e) goto LAB_000fbbb0;\n    }\n    else {\n      iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n      if ((*(byte *)pwVar16 != 0x2e) ||\n         (((byte)*pwVar16 != 0 &&\n          ((iVar13 = *(int *)(pcStack_230 + -0x7fd4), (byte)*pwVar16 != 0x2e ||\n           (iVar13 = *(int *)(pcStack_230 + -0x7fd4), *(byte *)(pwVar16 + 1) != 0))))))\n      goto LAB_000fbbb4;\n    }" (if "if") (parenthesized_expression "(**(int **)(pcStack_230 + -0x65ac) == 0)" (( "(") (binary_expression "**(int **)(pcStack_230 + -0x65ac) == 0" (pointer_expression "**(int **)(pcStack_230 + -0x65ac)" (* "*") (pointer_expression "*(int **)(pcStack_230 + -0x65ac)" (* "*") (cast_expression "(int **)(pcStack_230 + -0x65ac)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x65ac)" (( "(") (binary_expression "pcStack_230 + -0x65ac" (identifier "pcStack_230") (+ "+") (number_literal "-0x65ac")) () ")"))))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      if (*(byte *)pwVar16 != 0x2e) goto LAB_000fbbb0;\n    }" ({ "{") (if_statement "if (*(byte *)pwVar16 != 0x2e) goto LAB_000fbbb0;" (if "if") (parenthesized_expression "(*(byte *)pwVar16 != 0x2e)" (( "(") (binary_expression "*(byte *)pwVar16 != 0x2e" (pointer_expression "*(byte *)pwVar16" (* "*") (cast_expression "(byte *)pwVar16" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pwVar16"))) (!= "!=") (number_literal "0x2e")) () ")")) (goto_statement "goto LAB_000fbbb0;" (goto "goto") (statement_identifier "LAB_000fbbb0") (; ";"))) (} "}")) (else_clause "else {\n      iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n      if ((*(byte *)pwVar16 != 0x2e) ||\n         (((byte)*pwVar16 != 0 &&\n          ((iVar13 = *(int *)(pcStack_230 + -0x7fd4), (byte)*pwVar16 != 0x2e ||\n           (iVar13 = *(int *)(pcStack_230 + -0x7fd4), *(byte *)(pwVar16 + 1) != 0))))))\n      goto LAB_000fbbb4;\n    }" (else "else") (compound_statement "{\n      iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n      if ((*(byte *)pwVar16 != 0x2e) ||\n         (((byte)*pwVar16 != 0 &&\n          ((iVar13 = *(int *)(pcStack_230 + -0x7fd4), (byte)*pwVar16 != 0x2e ||\n           (iVar13 = *(int *)(pcStack_230 + -0x7fd4), *(byte *)(pwVar16 + 1) != 0))))))\n      goto LAB_000fbbb4;\n    }" ({ "{") (expression_statement "iVar13 = *(int *)(pcStack_230 + -0x7fd4);" (assignment_expression "iVar13 = *(int *)(pcStack_230 + -0x7fd4)" (identifier "iVar13") (= "=") (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" (* "*") (cast_expression "(int *)(pcStack_230 + -0x7fd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_230 + -0x7fd4)" (( "(") (binary_expression "pcStack_230 + -0x7fd4" (identifier "pcStack_230") (+ "+") (number_literal "-0x7fd4")) () ")"))))) (; ";")) (if_statement "if ((*(byte *)pwVar16 != 0x2e) ||\n         (((byte)*pwVar16 != 0 &&\n          ((iVar13 = *(int *)(pcStack_230 + -0x7fd4), (byte)*pwVar16 != 0x2e ||\n           (iVar13 = *(int *)(pcStack_230 + -0x7fd4), *(byte *)(pwVar16 + 1) != 0))))))\n      goto LAB_000fbbb4;" (if "if") (parenthesized_expression "((*(byte *)pwVar16 != 0x2e) ||\n         (((byte)*pwVar16 != 0 &&\n          ((iVar13 = *(int *)(pcStack_230 + -0x7fd4), (byte)*pwVar16 != 0x2e ||\n           (iVar13 = *(int *)(pcStack_230 + -0x7fd4), *(byte *)(pwVar16 + 1) != 0))))))" (( "(") (binary_expression "(*(byte *)pwVar16 != 0x2e) ||\n         (((byte)*pwVar16 != 0 &&\n          ((iVar13 = *(int *)(pcStack_230 + -0x7fd4), (byte)*pwVar16 != 0x2e ||\n           (iVar13 = *(int *)(pcStack_230 + -0x7fd4), *(byte *)(pwVar16 + 1) != 0)))))" (parenthesized_expression "(*(byte *)pwVar16 != 0x2e)" (( "(") (binary_expression "*(byte *)pwVar16 != 0x2e" (pointer_expression "*(byte *)pwVar16" (* "*") (cast_expression "(byte *)pwVar16" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pwVar16"))) (!= "!=") (number_literal "0x2e")) () ")")) (|| "||") (parenthesized_expression "(((byte)*pwVar16 != 0 &&\n          ((iVar13 = *(int *)(pcStack_230 + -0x7fd4), (byte)*pwVar16 != 0x2e ||\n           (iVar13 = *(int *)(pcStack_230 + -0x7fd4), *(byte *)(pwVar16 + 1) != 0)))))" (( "(") (parenthesized_expression "((byte)*pwVar16 != 0 &&\n          ((iVar13 = *(int *)(pcStack_230 + -0x7fd4), (byte)*pwVar16 != 0x2e ||\n           (iVar13 = *(int *)(pcStack_230 + -0x7fd4), *(byte *)(pwVar16 + 1) != 0))))" (( "(") (binary_expression "(byte)*pwVar16 != 0 &&\n          ((iVar13 = *(int *)(pcStack_230 + -0x7fd4), (byte)*pwVar16 != 0x2e ||\n           (iVar13 = *(int *)(pcStack_230 + -0x7fd4), *(byte *)(pwVar16 + 1) != 0)))" (binary_expression "(byte)*pwVar16 != 0" (binary_expression "(byte)*pwVar16" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (* "*") (identifier "pwVar16")) (!= "!=") (number_literal "0")) (&& "&&") (parenthesized_expression "((iVar13 = *(int *)(pcStack_230 + -0x7fd4), (byte)*pwVar16 != 0x2e ||\n           (iVar13 = *(int *)(pcStack_230 + -0x7fd4), *(byte *)(pwVar16 + 1) != 0)))" (( "(") (parenthesized_expression "(iVar13 = *(int *)(pcStack_230 + -0x7fd4), (byte)*pwVar16 != 0x2e ||\n           (iVar13 = *(int *)(pcStack_230 + -0x7fd4), *(byte *)(pwVar16 + 1) != 0))" (( "(") (comma_expression "iVar13 = *(int *)(pcStack_230 + -0x7fd4), (byte)*pwVar16 != 0x2e ||\n           (iVar13 = *(int *)(pcStack_230 + -0x7fd4), *(byte *)(pwVar16 + 1) != 0)" (assignment_expression "iVar13 = *(int *)(pcStack_230 + -0x7fd4)" (identifier "iVar13") (= "=") (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" (* "*") (cast_expression "(int *)(pcStack_230 + -0x7fd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_230 + -0x7fd4)" (( "(") (binary_expression "pcStack_230 + -0x7fd4" (identifier "pcStack_230") (+ "+") (number_literal "-0x7fd4")) () ")"))))) (, ",") (binary_expression "(byte)*pwVar16 != 0x2e ||\n           (iVar13 = *(int *)(pcStack_230 + -0x7fd4), *(byte *)(pwVar16 + 1) != 0)" (binary_expression "(byte)*pwVar16 != 0x2e" (binary_expression "(byte)*pwVar16" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (* "*") (identifier "pwVar16")) (!= "!=") (number_literal "0x2e")) (|| "||") (parenthesized_expression "(iVar13 = *(int *)(pcStack_230 + -0x7fd4), *(byte *)(pwVar16 + 1) != 0)" (( "(") (comma_expression "iVar13 = *(int *)(pcStack_230 + -0x7fd4), *(byte *)(pwVar16 + 1) != 0" (assignment_expression "iVar13 = *(int *)(pcStack_230 + -0x7fd4)" (identifier "iVar13") (= "=") (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" (* "*") (cast_expression "(int *)(pcStack_230 + -0x7fd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_230 + -0x7fd4)" (( "(") (binary_expression "pcStack_230 + -0x7fd4" (identifier "pcStack_230") (+ "+") (number_literal "-0x7fd4")) () ")"))))) (, ",") (binary_expression "*(byte *)(pwVar16 + 1) != 0" (pointer_expression "*(byte *)(pwVar16 + 1)" (* "*") (cast_expression "(byte *)(pwVar16 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pwVar16 + 1)" (( "(") (binary_expression "pwVar16 + 1" (identifier "pwVar16") (+ "+") (number_literal "1")) () ")")))) (!= "!=") (number_literal "0"))) () ")")))) () ")")) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_000fbbb4;" (goto "goto") (statement_identifier "LAB_000fbbb4") (; ";"))) (} "}")))) (goto_statement "goto LAB_000fbb0c;" (goto "goto") (statement_identifier "LAB_000fbb0c") (; ";")) (} "}"))) (expression_statement "pbStack_228 = *(byte **)(iStack_218 + -0x3fdc);" (assignment_expression "pbStack_228 = *(byte **)(iStack_218 + -0x3fdc)" (identifier "pbStack_228") (= "=") (pointer_expression "*(byte **)(iStack_218 + -0x3fdc)" (* "*") (cast_expression "(byte **)(iStack_218 + -0x3fdc)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iStack_218 + -0x3fdc)" (( "(") (binary_expression "iStack_218 + -0x3fdc" (identifier "iStack_218") (+ "+") (number_literal "-0x3fdc")) () ")"))))) (; ";")) (expression_statement "pbStack_1f4 = (byte *)0x0;" (assignment_expression "pbStack_1f4 = (byte *)0x0" (identifier "pbStack_1f4") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "uStack_1f0 = 0;" (assignment_expression "uStack_1f0 = 0" (identifier "uStack_1f0") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_1ec = 0;" (assignment_expression "uStack_1ec = 0" (identifier "uStack_1ec") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_1e8 = 0;" (assignment_expression "uStack_1e8 = 0" (identifier "uStack_1e8") (= "=") (number_literal "0")) (; ";")) (if_statement "if ((int)unaff_s4 < (int)unaff_s3) goto LAB_000fbb0c;" (if "if") (parenthesized_expression "((int)unaff_s4 < (int)unaff_s3)" (( "(") (binary_expression "(int)unaff_s4 < (int)unaff_s3" (cast_expression "(int)unaff_s4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s4")) (< "<") (cast_expression "(int)unaff_s3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s3"))) () ")")) (goto_statement "goto LAB_000fbb0c;" (goto "goto") (statement_identifier "LAB_000fbb0c") (; ";"))) (if_statement "if (*piStack_20c != 0) {\n    if (**(int **)(pcStack_230 + -0x65a4) == 0) {\n      uVar4 = (**(code **)(pcStack_230 + -0x6060))();\n      if ((1 < uVar4) && (unaff_s8 = &pbStack_1f4, **(int **)(pcStack_230 + -0x6728) == 0)) {\n        unaff_s7 = (word *)&iStack_1fc;\n        unaff_s6 = (word *)&uStack_1ec;\n        unaff_s5 = (word *)&iStack_1f8;\n        pwStack_214 = pwVar16;\n        pwStack_208 = unaff_s3;\n        goto LAB_000fc0a8;\n      }\n      unaff_s5 = (word *)(int)(char)*(byte *)pwVar16;\n      pbVar24 = (byte *)(uint)*(byte *)pwVar16;\n      if (((word *)pbVar24 == unaff_s5) &&\n         (piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))(),\n         (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0)) {\n        piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n        unaff_s5 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n      }\n      unaff_s6 = (word *)(int)(char)*pbStack_228;\n      unaff_s4 = (word *)(uint)*pbStack_228;\n      if (unaff_s4 == unaff_s6) {\n        piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))();\n        if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n          piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n          unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n          unaff_s6 = *(word **)unaff_s4;\n        }\n      }\n      pwVar15 = unaff_s3;\n      pcVar23 = pcStack_230;\n      if (unaff_s5 == unaff_s6) {\n        iVar13 = (**(code **)(pcStack_230 + -0x6188))(pbStack_228,pwVar16);\n        goto LAB_000fc280;\n      }\n    }\n    else {\n      uVar4 = (**(code **)(pcStack_230 + -0x6060))();\n      if ((1 < uVar4) && (unaff_s6 = (word *)&uStack_1ec, **(int **)(pcStack_230 + -0x6728) == 0)) {\n        unaff_s8 = &pbStack_1f4;\n        unaff_s7 = (word *)&iStack_1fc;\n        unaff_s5 = (word *)&iStack_1f8;\n        pwStack_214 = pwVar16;\n        pwStack_208 = unaff_s3;\n        do {\n          pwStack_210 = (word *)(**(code **)(pcStack_230 + -0x6084))\n                                          (unaff_s7,pwStack_214,unaff_s4,unaff_s8);\n          pwVar15 = unaff_s3;\n          iVar13 = (**(code **)(pcStack_230 + -0x6084))(unaff_s5,pbStack_228,unaff_s3,unaff_s6);\n          pcVar23 = pcStack_230;\n          if (pwStack_210 == (word *)0x0) {\n            if (iVar13 == 0) goto LAB_000fbbb0;\nLAB_000fbe6c:\n            if (iVar13 + 2U < 2) goto LAB_000fbdb4;\n            iStack_204 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc);\n            iStack_1fc = iStack_204;\n            iStack_1f8 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8);\n            pwStack_214 = (word *)((int)pwStack_214 + (int)pwStack_210);\n            pbStack_228 = pbStack_228 + (int)pwStack_210;\n            pwStack_208 = (word *)((int)pwStack_208 - (int)pwStack_210);\n            if ((((iStack_204 != 0x2d) && (iStack_204 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))) && (iStack_204 != iStack_1f8))\n            goto code_r0x000fbef4;\n          }\n          else {\n            if ((word *)0x1 < pwStack_210 + 1) goto LAB_000fbe6c;\nLAB_000fbdb4:\n            bVar2 = *(byte *)pwStack_214;\n            if (((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||\n               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))) goto LAB_000fbb0c;\n            pwStack_214 = (word *)((int)pwStack_214 + 1);\n            pbStack_228 = pbStack_228 + 1;\n            pwStack_208 = (word *)((int)pwStack_208 + -1);\n          }\n          iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n          pcVar23 = pcStack_230;\n          if (pwStack_208 == (word *)0x0) goto LAB_000fbbb4;\n        } while( true );\n      }\n      unaff_s7 = (word *)&DAT_0000002d;\n      unaff_s8 = (byte **)0x5f;\n      pwStack_208 = (word *)((int)pwVar16 + (int)unaff_s3);\n      unaff_s4 = pwVar16;\n      pcVar23 = pcStack_230;\n      while( true ) {\n        unaff_s3 = (word *)(int)(char)*(byte *)unaff_s4;\n        pbVar24 = (byte *)(uint)*(byte *)unaff_s4;\n        pwStack_214 = unaff_s3;\n        if (((word *)pbVar24 == unaff_s3) &&\n           (piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))(), pcVar23 = pcStack_230,\n           (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0)) {\n          piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n          pwStack_214 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n          pcVar23 = pcStack_230;\n        }\n        unaff_s5 = (word *)(int)(char)*pbStack_228;\n        unaff_s6 = (word *)(uint)*pbStack_228;\n        pwStack_210 = unaff_s5;\n        if (unaff_s6 == unaff_s5) {\n          piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))();\n          pcVar23 = pcStack_230;\n          if ((*(ushort *)(*piVar9 + (int)unaff_s6 * 2) & 1) != 0) {\n            piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n            unaff_s6 = (word *)(*piVar9 + (int)unaff_s6 * 4);\n            pwStack_210 = *(word **)unaff_s6;\n            pcVar23 = pcStack_230;\n          }\n        }\n        if ((((unaff_s3 != (word *)&DAT_0000002d) && (unaff_s3 != (word *)0x5f)) ||\n            ((unaff_s5 != (word *)&DAT_0000002d && (unaff_s5 != (word *)0x5f)))) &&\n           (pwStack_214 != pwStack_210)) break;\n        unaff_s4 = (word *)((int)unaff_s4 + 1);\n        pbStack_228 = pbStack_228 + 1;\n        iVar13 = *(int *)(pcVar23 + -0x7fd4);\n        if (unaff_s4 == pwStack_208) goto LAB_000fbbb4;\n      }\n    }\n    goto LAB_000fbb0c;\n  }" (if "if") (parenthesized_expression "(*piStack_20c != 0)" (( "(") (binary_expression "*piStack_20c != 0" (pointer_expression "*piStack_20c" (* "*") (identifier "piStack_20c")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    if (**(int **)(pcStack_230 + -0x65a4) == 0) {\n      uVar4 = (**(code **)(pcStack_230 + -0x6060))();\n      if ((1 < uVar4) && (unaff_s8 = &pbStack_1f4, **(int **)(pcStack_230 + -0x6728) == 0)) {\n        unaff_s7 = (word *)&iStack_1fc;\n        unaff_s6 = (word *)&uStack_1ec;\n        unaff_s5 = (word *)&iStack_1f8;\n        pwStack_214 = pwVar16;\n        pwStack_208 = unaff_s3;\n        goto LAB_000fc0a8;\n      }\n      unaff_s5 = (word *)(int)(char)*(byte *)pwVar16;\n      pbVar24 = (byte *)(uint)*(byte *)pwVar16;\n      if (((word *)pbVar24 == unaff_s5) &&\n         (piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))(),\n         (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0)) {\n        piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n        unaff_s5 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n      }\n      unaff_s6 = (word *)(int)(char)*pbStack_228;\n      unaff_s4 = (word *)(uint)*pbStack_228;\n      if (unaff_s4 == unaff_s6) {\n        piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))();\n        if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n          piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n          unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n          unaff_s6 = *(word **)unaff_s4;\n        }\n      }\n      pwVar15 = unaff_s3;\n      pcVar23 = pcStack_230;\n      if (unaff_s5 == unaff_s6) {\n        iVar13 = (**(code **)(pcStack_230 + -0x6188))(pbStack_228,pwVar16);\n        goto LAB_000fc280;\n      }\n    }\n    else {\n      uVar4 = (**(code **)(pcStack_230 + -0x6060))();\n      if ((1 < uVar4) && (unaff_s6 = (word *)&uStack_1ec, **(int **)(pcStack_230 + -0x6728) == 0)) {\n        unaff_s8 = &pbStack_1f4;\n        unaff_s7 = (word *)&iStack_1fc;\n        unaff_s5 = (word *)&iStack_1f8;\n        pwStack_214 = pwVar16;\n        pwStack_208 = unaff_s3;\n        do {\n          pwStack_210 = (word *)(**(code **)(pcStack_230 + -0x6084))\n                                          (unaff_s7,pwStack_214,unaff_s4,unaff_s8);\n          pwVar15 = unaff_s3;\n          iVar13 = (**(code **)(pcStack_230 + -0x6084))(unaff_s5,pbStack_228,unaff_s3,unaff_s6);\n          pcVar23 = pcStack_230;\n          if (pwStack_210 == (word *)0x0) {\n            if (iVar13 == 0) goto LAB_000fbbb0;\nLAB_000fbe6c:\n            if (iVar13 + 2U < 2) goto LAB_000fbdb4;\n            iStack_204 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc);\n            iStack_1fc = iStack_204;\n            iStack_1f8 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8);\n            pwStack_214 = (word *)((int)pwStack_214 + (int)pwStack_210);\n            pbStack_228 = pbStack_228 + (int)pwStack_210;\n            pwStack_208 = (word *)((int)pwStack_208 - (int)pwStack_210);\n            if ((((iStack_204 != 0x2d) && (iStack_204 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))) && (iStack_204 != iStack_1f8))\n            goto code_r0x000fbef4;\n          }\n          else {\n            if ((word *)0x1 < pwStack_210 + 1) goto LAB_000fbe6c;\nLAB_000fbdb4:\n            bVar2 = *(byte *)pwStack_214;\n            if (((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||\n               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))) goto LAB_000fbb0c;\n            pwStack_214 = (word *)((int)pwStack_214 + 1);\n            pbStack_228 = pbStack_228 + 1;\n            pwStack_208 = (word *)((int)pwStack_208 + -1);\n          }\n          iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n          pcVar23 = pcStack_230;\n          if (pwStack_208 == (word *)0x0) goto LAB_000fbbb4;\n        } while( true );\n      }\n      unaff_s7 = (word *)&DAT_0000002d;\n      unaff_s8 = (byte **)0x5f;\n      pwStack_208 = (word *)((int)pwVar16 + (int)unaff_s3);\n      unaff_s4 = pwVar16;\n      pcVar23 = pcStack_230;\n      while( true ) {\n        unaff_s3 = (word *)(int)(char)*(byte *)unaff_s4;\n        pbVar24 = (byte *)(uint)*(byte *)unaff_s4;\n        pwStack_214 = unaff_s3;\n        if (((word *)pbVar24 == unaff_s3) &&\n           (piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))(), pcVar23 = pcStack_230,\n           (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0)) {\n          piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n          pwStack_214 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n          pcVar23 = pcStack_230;\n        }\n        unaff_s5 = (word *)(int)(char)*pbStack_228;\n        unaff_s6 = (word *)(uint)*pbStack_228;\n        pwStack_210 = unaff_s5;\n        if (unaff_s6 == unaff_s5) {\n          piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))();\n          pcVar23 = pcStack_230;\n          if ((*(ushort *)(*piVar9 + (int)unaff_s6 * 2) & 1) != 0) {\n            piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n            unaff_s6 = (word *)(*piVar9 + (int)unaff_s6 * 4);\n            pwStack_210 = *(word **)unaff_s6;\n            pcVar23 = pcStack_230;\n          }\n        }\n        if ((((unaff_s3 != (word *)&DAT_0000002d) && (unaff_s3 != (word *)0x5f)) ||\n            ((unaff_s5 != (word *)&DAT_0000002d && (unaff_s5 != (word *)0x5f)))) &&\n           (pwStack_214 != pwStack_210)) break;\n        unaff_s4 = (word *)((int)unaff_s4 + 1);\n        pbStack_228 = pbStack_228 + 1;\n        iVar13 = *(int *)(pcVar23 + -0x7fd4);\n        if (unaff_s4 == pwStack_208) goto LAB_000fbbb4;\n      }\n    }\n    goto LAB_000fbb0c;\n  }" ({ "{") (if_statement "if (**(int **)(pcStack_230 + -0x65a4) == 0) {\n      uVar4 = (**(code **)(pcStack_230 + -0x6060))();\n      if ((1 < uVar4) && (unaff_s8 = &pbStack_1f4, **(int **)(pcStack_230 + -0x6728) == 0)) {\n        unaff_s7 = (word *)&iStack_1fc;\n        unaff_s6 = (word *)&uStack_1ec;\n        unaff_s5 = (word *)&iStack_1f8;\n        pwStack_214 = pwVar16;\n        pwStack_208 = unaff_s3;\n        goto LAB_000fc0a8;\n      }\n      unaff_s5 = (word *)(int)(char)*(byte *)pwVar16;\n      pbVar24 = (byte *)(uint)*(byte *)pwVar16;\n      if (((word *)pbVar24 == unaff_s5) &&\n         (piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))(),\n         (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0)) {\n        piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n        unaff_s5 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n      }\n      unaff_s6 = (word *)(int)(char)*pbStack_228;\n      unaff_s4 = (word *)(uint)*pbStack_228;\n      if (unaff_s4 == unaff_s6) {\n        piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))();\n        if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n          piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n          unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n          unaff_s6 = *(word **)unaff_s4;\n        }\n      }\n      pwVar15 = unaff_s3;\n      pcVar23 = pcStack_230;\n      if (unaff_s5 == unaff_s6) {\n        iVar13 = (**(code **)(pcStack_230 + -0x6188))(pbStack_228,pwVar16);\n        goto LAB_000fc280;\n      }\n    }\n    else {\n      uVar4 = (**(code **)(pcStack_230 + -0x6060))();\n      if ((1 < uVar4) && (unaff_s6 = (word *)&uStack_1ec, **(int **)(pcStack_230 + -0x6728) == 0)) {\n        unaff_s8 = &pbStack_1f4;\n        unaff_s7 = (word *)&iStack_1fc;\n        unaff_s5 = (word *)&iStack_1f8;\n        pwStack_214 = pwVar16;\n        pwStack_208 = unaff_s3;\n        do {\n          pwStack_210 = (word *)(**(code **)(pcStack_230 + -0x6084))\n                                          (unaff_s7,pwStack_214,unaff_s4,unaff_s8);\n          pwVar15 = unaff_s3;\n          iVar13 = (**(code **)(pcStack_230 + -0x6084))(unaff_s5,pbStack_228,unaff_s3,unaff_s6);\n          pcVar23 = pcStack_230;\n          if (pwStack_210 == (word *)0x0) {\n            if (iVar13 == 0) goto LAB_000fbbb0;\nLAB_000fbe6c:\n            if (iVar13 + 2U < 2) goto LAB_000fbdb4;\n            iStack_204 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc);\n            iStack_1fc = iStack_204;\n            iStack_1f8 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8);\n            pwStack_214 = (word *)((int)pwStack_214 + (int)pwStack_210);\n            pbStack_228 = pbStack_228 + (int)pwStack_210;\n            pwStack_208 = (word *)((int)pwStack_208 - (int)pwStack_210);\n            if ((((iStack_204 != 0x2d) && (iStack_204 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))) && (iStack_204 != iStack_1f8))\n            goto code_r0x000fbef4;\n          }\n          else {\n            if ((word *)0x1 < pwStack_210 + 1) goto LAB_000fbe6c;\nLAB_000fbdb4:\n            bVar2 = *(byte *)pwStack_214;\n            if (((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||\n               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))) goto LAB_000fbb0c;\n            pwStack_214 = (word *)((int)pwStack_214 + 1);\n            pbStack_228 = pbStack_228 + 1;\n            pwStack_208 = (word *)((int)pwStack_208 + -1);\n          }\n          iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n          pcVar23 = pcStack_230;\n          if (pwStack_208 == (word *)0x0) goto LAB_000fbbb4;\n        } while( true );\n      }\n      unaff_s7 = (word *)&DAT_0000002d;\n      unaff_s8 = (byte **)0x5f;\n      pwStack_208 = (word *)((int)pwVar16 + (int)unaff_s3);\n      unaff_s4 = pwVar16;\n      pcVar23 = pcStack_230;\n      while( true ) {\n        unaff_s3 = (word *)(int)(char)*(byte *)unaff_s4;\n        pbVar24 = (byte *)(uint)*(byte *)unaff_s4;\n        pwStack_214 = unaff_s3;\n        if (((word *)pbVar24 == unaff_s3) &&\n           (piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))(), pcVar23 = pcStack_230,\n           (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0)) {\n          piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n          pwStack_214 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n          pcVar23 = pcStack_230;\n        }\n        unaff_s5 = (word *)(int)(char)*pbStack_228;\n        unaff_s6 = (word *)(uint)*pbStack_228;\n        pwStack_210 = unaff_s5;\n        if (unaff_s6 == unaff_s5) {\n          piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))();\n          pcVar23 = pcStack_230;\n          if ((*(ushort *)(*piVar9 + (int)unaff_s6 * 2) & 1) != 0) {\n            piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n            unaff_s6 = (word *)(*piVar9 + (int)unaff_s6 * 4);\n            pwStack_210 = *(word **)unaff_s6;\n            pcVar23 = pcStack_230;\n          }\n        }\n        if ((((unaff_s3 != (word *)&DAT_0000002d) && (unaff_s3 != (word *)0x5f)) ||\n            ((unaff_s5 != (word *)&DAT_0000002d && (unaff_s5 != (word *)0x5f)))) &&\n           (pwStack_214 != pwStack_210)) break;\n        unaff_s4 = (word *)((int)unaff_s4 + 1);\n        pbStack_228 = pbStack_228 + 1;\n        iVar13 = *(int *)(pcVar23 + -0x7fd4);\n        if (unaff_s4 == pwStack_208) goto LAB_000fbbb4;\n      }\n    }" (if "if") (parenthesized_expression "(**(int **)(pcStack_230 + -0x65a4) == 0)" (( "(") (binary_expression "**(int **)(pcStack_230 + -0x65a4) == 0" (pointer_expression "**(int **)(pcStack_230 + -0x65a4)" (* "*") (pointer_expression "*(int **)(pcStack_230 + -0x65a4)" (* "*") (cast_expression "(int **)(pcStack_230 + -0x65a4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x65a4)" (( "(") (binary_expression "pcStack_230 + -0x65a4" (identifier "pcStack_230") (+ "+") (number_literal "-0x65a4")) () ")"))))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      uVar4 = (**(code **)(pcStack_230 + -0x6060))();\n      if ((1 < uVar4) && (unaff_s8 = &pbStack_1f4, **(int **)(pcStack_230 + -0x6728) == 0)) {\n        unaff_s7 = (word *)&iStack_1fc;\n        unaff_s6 = (word *)&uStack_1ec;\n        unaff_s5 = (word *)&iStack_1f8;\n        pwStack_214 = pwVar16;\n        pwStack_208 = unaff_s3;\n        goto LAB_000fc0a8;\n      }\n      unaff_s5 = (word *)(int)(char)*(byte *)pwVar16;\n      pbVar24 = (byte *)(uint)*(byte *)pwVar16;\n      if (((word *)pbVar24 == unaff_s5) &&\n         (piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))(),\n         (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0)) {\n        piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n        unaff_s5 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n      }\n      unaff_s6 = (word *)(int)(char)*pbStack_228;\n      unaff_s4 = (word *)(uint)*pbStack_228;\n      if (unaff_s4 == unaff_s6) {\n        piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))();\n        if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n          piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n          unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n          unaff_s6 = *(word **)unaff_s4;\n        }\n      }\n      pwVar15 = unaff_s3;\n      pcVar23 = pcStack_230;\n      if (unaff_s5 == unaff_s6) {\n        iVar13 = (**(code **)(pcStack_230 + -0x6188))(pbStack_228,pwVar16);\n        goto LAB_000fc280;\n      }\n    }" ({ "{") (expression_statement "uVar4 = (**(code **)(pcStack_230 + -0x6060))();" (assignment_expression "uVar4 = (**(code **)(pcStack_230 + -0x6060))()" (identifier "uVar4") (= "=") (call_expression "(**(code **)(pcStack_230 + -0x6060))()" (parenthesized_expression "(**(code **)(pcStack_230 + -0x6060))" (( "(") (pointer_expression "**(code **)(pcStack_230 + -0x6060)" (* "*") (pointer_expression "*(code **)(pcStack_230 + -0x6060)" (* "*") (cast_expression "(code **)(pcStack_230 + -0x6060)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x6060)" (( "(") (binary_expression "pcStack_230 + -0x6060" (identifier "pcStack_230") (+ "+") (number_literal "-0x6060")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if ((1 < uVar4) && (unaff_s8 = &pbStack_1f4, **(int **)(pcStack_230 + -0x6728) == 0)) {\n        unaff_s7 = (word *)&iStack_1fc;\n        unaff_s6 = (word *)&uStack_1ec;\n        unaff_s5 = (word *)&iStack_1f8;\n        pwStack_214 = pwVar16;\n        pwStack_208 = unaff_s3;\n        goto LAB_000fc0a8;\n      }" (if "if") (parenthesized_expression "((1 < uVar4) && (unaff_s8 = &pbStack_1f4, **(int **)(pcStack_230 + -0x6728) == 0))" (( "(") (binary_expression "(1 < uVar4) && (unaff_s8 = &pbStack_1f4, **(int **)(pcStack_230 + -0x6728) == 0)" (parenthesized_expression "(1 < uVar4)" (( "(") (binary_expression "1 < uVar4" (number_literal "1") (< "<") (identifier "uVar4")) () ")")) (&& "&&") (parenthesized_expression "(unaff_s8 = &pbStack_1f4, **(int **)(pcStack_230 + -0x6728) == 0)" (( "(") (comma_expression "unaff_s8 = &pbStack_1f4, **(int **)(pcStack_230 + -0x6728) == 0" (assignment_expression "unaff_s8 = &pbStack_1f4" (identifier "unaff_s8") (= "=") (pointer_expression "&pbStack_1f4" (& "&") (identifier "pbStack_1f4"))) (, ",") (binary_expression "**(int **)(pcStack_230 + -0x6728) == 0" (pointer_expression "**(int **)(pcStack_230 + -0x6728)" (* "*") (pointer_expression "*(int **)(pcStack_230 + -0x6728)" (* "*") (cast_expression "(int **)(pcStack_230 + -0x6728)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x6728)" (( "(") (binary_expression "pcStack_230 + -0x6728" (identifier "pcStack_230") (+ "+") (number_literal "-0x6728")) () ")"))))) (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n        unaff_s7 = (word *)&iStack_1fc;\n        unaff_s6 = (word *)&uStack_1ec;\n        unaff_s5 = (word *)&iStack_1f8;\n        pwStack_214 = pwVar16;\n        pwStack_208 = unaff_s3;\n        goto LAB_000fc0a8;\n      }" ({ "{") (expression_statement "unaff_s7 = (word *)&iStack_1fc;" (assignment_expression "unaff_s7 = (word *)&iStack_1fc" (identifier "unaff_s7") (= "=") (cast_expression "(word *)&iStack_1fc" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&iStack_1fc" (& "&") (identifier "iStack_1fc")))) (; ";")) (expression_statement "unaff_s6 = (word *)&uStack_1ec;" (assignment_expression "unaff_s6 = (word *)&uStack_1ec" (identifier "unaff_s6") (= "=") (cast_expression "(word *)&uStack_1ec" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&uStack_1ec" (& "&") (identifier "uStack_1ec")))) (; ";")) (expression_statement "unaff_s5 = (word *)&iStack_1f8;" (assignment_expression "unaff_s5 = (word *)&iStack_1f8" (identifier "unaff_s5") (= "=") (cast_expression "(word *)&iStack_1f8" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&iStack_1f8" (& "&") (identifier "iStack_1f8")))) (; ";")) (expression_statement "pwStack_214 = pwVar16;" (assignment_expression "pwStack_214 = pwVar16" (identifier "pwStack_214") (= "=") (identifier "pwVar16")) (; ";")) (expression_statement "pwStack_208 = unaff_s3;" (assignment_expression "pwStack_208 = unaff_s3" (identifier "pwStack_208") (= "=") (identifier "unaff_s3")) (; ";")) (goto_statement "goto LAB_000fc0a8;" (goto "goto") (statement_identifier "LAB_000fc0a8") (; ";")) (} "}"))) (expression_statement "unaff_s5 = (word *)(int)(char)*(byte *)pwVar16;" (assignment_expression "unaff_s5 = (word *)(int)(char)*(byte *)pwVar16" (identifier "unaff_s5") (= "=") (cast_expression "(word *)(int)(char)*(byte *)pwVar16" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(int)(char)*(byte *)pwVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)*(byte *)pwVar16" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (pointer_expression "*(byte *)pwVar16" (* "*") (cast_expression "(byte *)pwVar16" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pwVar16"))))))) (; ";")) (expression_statement "pbVar24 = (byte *)(uint)*(byte *)pwVar16;" (assignment_expression "pbVar24 = (byte *)(uint)*(byte *)pwVar16" (identifier "pbVar24") (= "=") (binary_expression "(byte *)(uint)*(byte *)pwVar16" (cast_expression "(byte *)(uint)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")"))) (* "*") (cast_expression "(byte *)pwVar16" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pwVar16")))) (; ";")) (if_statement "if (((word *)pbVar24 == unaff_s5) &&\n         (piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))(),\n         (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0)) {\n        piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n        unaff_s5 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n      }" (if "if") (parenthesized_expression "(((word *)pbVar24 == unaff_s5) &&\n         (piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))(),\n         (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0))" (( "(") (binary_expression "((word *)pbVar24 == unaff_s5) &&\n         (piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))(),\n         (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0)" (parenthesized_expression "((word *)pbVar24 == unaff_s5)" (( "(") (binary_expression "(word *)pbVar24 == unaff_s5" (cast_expression "(word *)pbVar24" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pbVar24")) (== "==") (identifier "unaff_s5")) () ")")) (&& "&&") (parenthesized_expression "(piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))(),\n         (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0)" (( "(") (comma_expression "piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))(),\n         (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0" (assignment_expression "piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))()" (identifier "piVar9") (= "=") (cast_expression "(int *)(**(code **)(pcStack_230 + -0x6290))()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcStack_230 + -0x6290))()" (parenthesized_expression "(**(code **)(pcStack_230 + -0x6290))" (( "(") (pointer_expression "**(code **)(pcStack_230 + -0x6290)" (* "*") (pointer_expression "*(code **)(pcStack_230 + -0x6290)" (* "*") (cast_expression "(code **)(pcStack_230 + -0x6290)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x6290)" (( "(") (binary_expression "pcStack_230 + -0x6290" (identifier "pcStack_230") (+ "+") (number_literal "-0x6290")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (, ",") (binary_expression "(*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0" (parenthesized_expression "(*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1)" (( "(") (binary_expression "*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1" (pointer_expression "*(ushort *)(*piVar9 + (int)pbVar24 * 2)" (* "*") (cast_expression "(ushort *)(*piVar9 + (int)pbVar24 * 2)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar9 + (int)pbVar24 * 2)" (( "(") (binary_expression "*piVar9 + (int)pbVar24 * 2" (pointer_expression "*piVar9" (* "*") (identifier "piVar9")) (+ "+") (binary_expression "(int)pbVar24 * 2" (cast_expression "(int)pbVar24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar24")) (* "*") (number_literal "2"))) () ")")))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n        piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n        unaff_s5 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n      }" ({ "{") (expression_statement "piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();" (assignment_expression "piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))()" (identifier "piVar9") (= "=") (cast_expression "(int *)(**(code **)(pcStack_230 + -0x628c))()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcStack_230 + -0x628c))()" (parenthesized_expression "(**(code **)(pcStack_230 + -0x628c))" (( "(") (pointer_expression "**(code **)(pcStack_230 + -0x628c)" (* "*") (pointer_expression "*(code **)(pcStack_230 + -0x628c)" (* "*") (cast_expression "(code **)(pcStack_230 + -0x628c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x628c)" (( "(") (binary_expression "pcStack_230 + -0x628c" (identifier "pcStack_230") (+ "+") (number_literal "-0x628c")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "unaff_s5 = *(word **)(*piVar9 + (int)pbVar24 * 4);" (assignment_expression "unaff_s5 = *(word **)(*piVar9 + (int)pbVar24 * 4)" (identifier "unaff_s5") (= "=") (pointer_expression "*(word **)(*piVar9 + (int)pbVar24 * 4)" (* "*") (cast_expression "(word **)(*piVar9 + (int)pbVar24 * 4)" (( "(") (type_descriptor "word **" (type_identifier "word") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar9 + (int)pbVar24 * 4)" (( "(") (binary_expression "*piVar9 + (int)pbVar24 * 4" (pointer_expression "*piVar9" (* "*") (identifier "piVar9")) (+ "+") (binary_expression "(int)pbVar24 * 4" (cast_expression "(int)pbVar24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar24")) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (} "}"))) (expression_statement "unaff_s6 = (word *)(int)(char)*pbStack_228;" (assignment_expression "unaff_s6 = (word *)(int)(char)*pbStack_228" (identifier "unaff_s6") (= "=") (cast_expression "(word *)(int)(char)*pbStack_228" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(int)(char)*pbStack_228" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)*pbStack_228" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (pointer_expression "*pbStack_228" (* "*") (identifier "pbStack_228")))))) (; ";")) (expression_statement "unaff_s4 = (word *)(uint)*pbStack_228;" (assignment_expression "unaff_s4 = (word *)(uint)*pbStack_228" (identifier "unaff_s4") (= "=") (binary_expression "(word *)(uint)*pbStack_228" (cast_expression "(word *)(uint)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")"))) (* "*") (identifier "pbStack_228"))) (; ";")) (if_statement "if (unaff_s4 == unaff_s6) {\n        piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))();\n        if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n          piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n          unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n          unaff_s6 = *(word **)unaff_s4;\n        }\n      }" (if "if") (parenthesized_expression "(unaff_s4 == unaff_s6)" (( "(") (binary_expression "unaff_s4 == unaff_s6" (identifier "unaff_s4") (== "==") (identifier "unaff_s6")) () ")")) (compound_statement "{\n        piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))();\n        if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n          piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n          unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n          unaff_s6 = *(word **)unaff_s4;\n        }\n      }" ({ "{") (expression_statement "piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))();" (assignment_expression "piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))()" (identifier "piVar9") (= "=") (cast_expression "(int *)(**(code **)(pcStack_230 + -0x6290))()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcStack_230 + -0x6290))()" (parenthesized_expression "(**(code **)(pcStack_230 + -0x6290))" (( "(") (pointer_expression "**(code **)(pcStack_230 + -0x6290)" (* "*") (pointer_expression "*(code **)(pcStack_230 + -0x6290)" (* "*") (cast_expression "(code **)(pcStack_230 + -0x6290)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x6290)" (( "(") (binary_expression "pcStack_230 + -0x6290" (identifier "pcStack_230") (+ "+") (number_literal "-0x6290")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (if_statement "if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {\n          piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n          unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n          unaff_s6 = *(word **)unaff_s4;\n        }" (if "if") (parenthesized_expression "((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0)" (( "(") (binary_expression "(*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0" (parenthesized_expression "(*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1)" (( "(") (binary_expression "*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1" (pointer_expression "*(ushort *)(*piVar9 + (int)unaff_s4 * 2)" (* "*") (cast_expression "(ushort *)(*piVar9 + (int)unaff_s4 * 2)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar9 + (int)unaff_s4 * 2)" (( "(") (binary_expression "*piVar9 + (int)unaff_s4 * 2" (pointer_expression "*piVar9" (* "*") (identifier "piVar9")) (+ "+") (binary_expression "(int)unaff_s4 * 2" (cast_expression "(int)unaff_s4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s4")) (* "*") (number_literal "2"))) () ")")))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n          unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);\n          unaff_s6 = *(word **)unaff_s4;\n        }" ({ "{") (expression_statement "piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();" (assignment_expression "piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))()" (identifier "piVar9") (= "=") (cast_expression "(int *)(**(code **)(pcStack_230 + -0x628c))()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcStack_230 + -0x628c))()" (parenthesized_expression "(**(code **)(pcStack_230 + -0x628c))" (( "(") (pointer_expression "**(code **)(pcStack_230 + -0x628c)" (* "*") (pointer_expression "*(code **)(pcStack_230 + -0x628c)" (* "*") (cast_expression "(code **)(pcStack_230 + -0x628c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x628c)" (( "(") (binary_expression "pcStack_230 + -0x628c" (identifier "pcStack_230") (+ "+") (number_literal "-0x628c")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);" (assignment_expression "unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4)" (identifier "unaff_s4") (= "=") (cast_expression "(word *)(*piVar9 + (int)unaff_s4 * 4)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar9 + (int)unaff_s4 * 4)" (( "(") (binary_expression "*piVar9 + (int)unaff_s4 * 4" (pointer_expression "*piVar9" (* "*") (identifier "piVar9")) (+ "+") (binary_expression "(int)unaff_s4 * 4" (cast_expression "(int)unaff_s4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s4")) (* "*") (number_literal "4"))) () ")")))) (; ";")) (expression_statement "unaff_s6 = *(word **)unaff_s4;" (assignment_expression "unaff_s6 = *(word **)unaff_s4" (identifier "unaff_s6") (= "=") (pointer_expression "*(word **)unaff_s4" (* "*") (cast_expression "(word **)unaff_s4" (( "(") (type_descriptor "word **" (type_identifier "word") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "unaff_s4")))) (; ";")) (} "}"))) (} "}"))) (expression_statement "pwVar15 = unaff_s3;" (assignment_expression "pwVar15 = unaff_s3" (identifier "pwVar15") (= "=") (identifier "unaff_s3")) (; ";")) (expression_statement "pcVar23 = pcStack_230;" (assignment_expression "pcVar23 = pcStack_230" (identifier "pcVar23") (= "=") (identifier "pcStack_230")) (; ";")) (if_statement "if (unaff_s5 == unaff_s6) {\n        iVar13 = (**(code **)(pcStack_230 + -0x6188))(pbStack_228,pwVar16);\n        goto LAB_000fc280;\n      }" (if "if") (parenthesized_expression "(unaff_s5 == unaff_s6)" (( "(") (binary_expression "unaff_s5 == unaff_s6" (identifier "unaff_s5") (== "==") (identifier "unaff_s6")) () ")")) (compound_statement "{\n        iVar13 = (**(code **)(pcStack_230 + -0x6188))(pbStack_228,pwVar16);\n        goto LAB_000fc280;\n      }" ({ "{") (expression_statement "iVar13 = (**(code **)(pcStack_230 + -0x6188))(pbStack_228,pwVar16);" (assignment_expression "iVar13 = (**(code **)(pcStack_230 + -0x6188))(pbStack_228,pwVar16)" (identifier "iVar13") (= "=") (call_expression "(**(code **)(pcStack_230 + -0x6188))(pbStack_228,pwVar16)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x6188))" (( "(") (pointer_expression "**(code **)(pcStack_230 + -0x6188)" (* "*") (pointer_expression "*(code **)(pcStack_230 + -0x6188)" (* "*") (cast_expression "(code **)(pcStack_230 + -0x6188)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x6188)" (( "(") (binary_expression "pcStack_230 + -0x6188" (identifier "pcStack_230") (+ "+") (number_literal "-0x6188")) () ")"))))) () ")")) (argument_list "(pbStack_228,pwVar16)" (( "(") (identifier "pbStack_228") (, ",") (identifier "pwVar16") () ")")))) (; ";")) (goto_statement "goto LAB_000fc280;" (goto "goto") (statement_identifier "LAB_000fc280") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      uVar4 = (**(code **)(pcStack_230 + -0x6060))();\n      if ((1 < uVar4) && (unaff_s6 = (word *)&uStack_1ec, **(int **)(pcStack_230 + -0x6728) == 0)) {\n        unaff_s8 = &pbStack_1f4;\n        unaff_s7 = (word *)&iStack_1fc;\n        unaff_s5 = (word *)&iStack_1f8;\n        pwStack_214 = pwVar16;\n        pwStack_208 = unaff_s3;\n        do {\n          pwStack_210 = (word *)(**(code **)(pcStack_230 + -0x6084))\n                                          (unaff_s7,pwStack_214,unaff_s4,unaff_s8);\n          pwVar15 = unaff_s3;\n          iVar13 = (**(code **)(pcStack_230 + -0x6084))(unaff_s5,pbStack_228,unaff_s3,unaff_s6);\n          pcVar23 = pcStack_230;\n          if (pwStack_210 == (word *)0x0) {\n            if (iVar13 == 0) goto LAB_000fbbb0;\nLAB_000fbe6c:\n            if (iVar13 + 2U < 2) goto LAB_000fbdb4;\n            iStack_204 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc);\n            iStack_1fc = iStack_204;\n            iStack_1f8 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8);\n            pwStack_214 = (word *)((int)pwStack_214 + (int)pwStack_210);\n            pbStack_228 = pbStack_228 + (int)pwStack_210;\n            pwStack_208 = (word *)((int)pwStack_208 - (int)pwStack_210);\n            if ((((iStack_204 != 0x2d) && (iStack_204 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))) && (iStack_204 != iStack_1f8))\n            goto code_r0x000fbef4;\n          }\n          else {\n            if ((word *)0x1 < pwStack_210 + 1) goto LAB_000fbe6c;\nLAB_000fbdb4:\n            bVar2 = *(byte *)pwStack_214;\n            if (((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||\n               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))) goto LAB_000fbb0c;\n            pwStack_214 = (word *)((int)pwStack_214 + 1);\n            pbStack_228 = pbStack_228 + 1;\n            pwStack_208 = (word *)((int)pwStack_208 + -1);\n          }\n          iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n          pcVar23 = pcStack_230;\n          if (pwStack_208 == (word *)0x0) goto LAB_000fbbb4;\n        } while( true );\n      }\n      unaff_s7 = (word *)&DAT_0000002d;\n      unaff_s8 = (byte **)0x5f;\n      pwStack_208 = (word *)((int)pwVar16 + (int)unaff_s3);\n      unaff_s4 = pwVar16;\n      pcVar23 = pcStack_230;\n      while( true ) {\n        unaff_s3 = (word *)(int)(char)*(byte *)unaff_s4;\n        pbVar24 = (byte *)(uint)*(byte *)unaff_s4;\n        pwStack_214 = unaff_s3;\n        if (((word *)pbVar24 == unaff_s3) &&\n           (piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))(), pcVar23 = pcStack_230,\n           (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0)) {\n          piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n          pwStack_214 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n          pcVar23 = pcStack_230;\n        }\n        unaff_s5 = (word *)(int)(char)*pbStack_228;\n        unaff_s6 = (word *)(uint)*pbStack_228;\n        pwStack_210 = unaff_s5;\n        if (unaff_s6 == unaff_s5) {\n          piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))();\n          pcVar23 = pcStack_230;\n          if ((*(ushort *)(*piVar9 + (int)unaff_s6 * 2) & 1) != 0) {\n            piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n            unaff_s6 = (word *)(*piVar9 + (int)unaff_s6 * 4);\n            pwStack_210 = *(word **)unaff_s6;\n            pcVar23 = pcStack_230;\n          }\n        }\n        if ((((unaff_s3 != (word *)&DAT_0000002d) && (unaff_s3 != (word *)0x5f)) ||\n            ((unaff_s5 != (word *)&DAT_0000002d && (unaff_s5 != (word *)0x5f)))) &&\n           (pwStack_214 != pwStack_210)) break;\n        unaff_s4 = (word *)((int)unaff_s4 + 1);\n        pbStack_228 = pbStack_228 + 1;\n        iVar13 = *(int *)(pcVar23 + -0x7fd4);\n        if (unaff_s4 == pwStack_208) goto LAB_000fbbb4;\n      }\n    }" (else "else") (compound_statement "{\n      uVar4 = (**(code **)(pcStack_230 + -0x6060))();\n      if ((1 < uVar4) && (unaff_s6 = (word *)&uStack_1ec, **(int **)(pcStack_230 + -0x6728) == 0)) {\n        unaff_s8 = &pbStack_1f4;\n        unaff_s7 = (word *)&iStack_1fc;\n        unaff_s5 = (word *)&iStack_1f8;\n        pwStack_214 = pwVar16;\n        pwStack_208 = unaff_s3;\n        do {\n          pwStack_210 = (word *)(**(code **)(pcStack_230 + -0x6084))\n                                          (unaff_s7,pwStack_214,unaff_s4,unaff_s8);\n          pwVar15 = unaff_s3;\n          iVar13 = (**(code **)(pcStack_230 + -0x6084))(unaff_s5,pbStack_228,unaff_s3,unaff_s6);\n          pcVar23 = pcStack_230;\n          if (pwStack_210 == (word *)0x0) {\n            if (iVar13 == 0) goto LAB_000fbbb0;\nLAB_000fbe6c:\n            if (iVar13 + 2U < 2) goto LAB_000fbdb4;\n            iStack_204 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc);\n            iStack_1fc = iStack_204;\n            iStack_1f8 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8);\n            pwStack_214 = (word *)((int)pwStack_214 + (int)pwStack_210);\n            pbStack_228 = pbStack_228 + (int)pwStack_210;\n            pwStack_208 = (word *)((int)pwStack_208 - (int)pwStack_210);\n            if ((((iStack_204 != 0x2d) && (iStack_204 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))) && (iStack_204 != iStack_1f8))\n            goto code_r0x000fbef4;\n          }\n          else {\n            if ((word *)0x1 < pwStack_210 + 1) goto LAB_000fbe6c;\nLAB_000fbdb4:\n            bVar2 = *(byte *)pwStack_214;\n            if (((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||\n               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))) goto LAB_000fbb0c;\n            pwStack_214 = (word *)((int)pwStack_214 + 1);\n            pbStack_228 = pbStack_228 + 1;\n            pwStack_208 = (word *)((int)pwStack_208 + -1);\n          }\n          iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n          pcVar23 = pcStack_230;\n          if (pwStack_208 == (word *)0x0) goto LAB_000fbbb4;\n        } while( true );\n      }\n      unaff_s7 = (word *)&DAT_0000002d;\n      unaff_s8 = (byte **)0x5f;\n      pwStack_208 = (word *)((int)pwVar16 + (int)unaff_s3);\n      unaff_s4 = pwVar16;\n      pcVar23 = pcStack_230;\n      while( true ) {\n        unaff_s3 = (word *)(int)(char)*(byte *)unaff_s4;\n        pbVar24 = (byte *)(uint)*(byte *)unaff_s4;\n        pwStack_214 = unaff_s3;\n        if (((word *)pbVar24 == unaff_s3) &&\n           (piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))(), pcVar23 = pcStack_230,\n           (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0)) {\n          piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n          pwStack_214 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n          pcVar23 = pcStack_230;\n        }\n        unaff_s5 = (word *)(int)(char)*pbStack_228;\n        unaff_s6 = (word *)(uint)*pbStack_228;\n        pwStack_210 = unaff_s5;\n        if (unaff_s6 == unaff_s5) {\n          piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))();\n          pcVar23 = pcStack_230;\n          if ((*(ushort *)(*piVar9 + (int)unaff_s6 * 2) & 1) != 0) {\n            piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n            unaff_s6 = (word *)(*piVar9 + (int)unaff_s6 * 4);\n            pwStack_210 = *(word **)unaff_s6;\n            pcVar23 = pcStack_230;\n          }\n        }\n        if ((((unaff_s3 != (word *)&DAT_0000002d) && (unaff_s3 != (word *)0x5f)) ||\n            ((unaff_s5 != (word *)&DAT_0000002d && (unaff_s5 != (word *)0x5f)))) &&\n           (pwStack_214 != pwStack_210)) break;\n        unaff_s4 = (word *)((int)unaff_s4 + 1);\n        pbStack_228 = pbStack_228 + 1;\n        iVar13 = *(int *)(pcVar23 + -0x7fd4);\n        if (unaff_s4 == pwStack_208) goto LAB_000fbbb4;\n      }\n    }" ({ "{") (expression_statement "uVar4 = (**(code **)(pcStack_230 + -0x6060))();" (assignment_expression "uVar4 = (**(code **)(pcStack_230 + -0x6060))()" (identifier "uVar4") (= "=") (call_expression "(**(code **)(pcStack_230 + -0x6060))()" (parenthesized_expression "(**(code **)(pcStack_230 + -0x6060))" (( "(") (pointer_expression "**(code **)(pcStack_230 + -0x6060)" (* "*") (pointer_expression "*(code **)(pcStack_230 + -0x6060)" (* "*") (cast_expression "(code **)(pcStack_230 + -0x6060)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x6060)" (( "(") (binary_expression "pcStack_230 + -0x6060" (identifier "pcStack_230") (+ "+") (number_literal "-0x6060")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if ((1 < uVar4) && (unaff_s6 = (word *)&uStack_1ec, **(int **)(pcStack_230 + -0x6728) == 0)) {\n        unaff_s8 = &pbStack_1f4;\n        unaff_s7 = (word *)&iStack_1fc;\n        unaff_s5 = (word *)&iStack_1f8;\n        pwStack_214 = pwVar16;\n        pwStack_208 = unaff_s3;\n        do {\n          pwStack_210 = (word *)(**(code **)(pcStack_230 + -0x6084))\n                                          (unaff_s7,pwStack_214,unaff_s4,unaff_s8);\n          pwVar15 = unaff_s3;\n          iVar13 = (**(code **)(pcStack_230 + -0x6084))(unaff_s5,pbStack_228,unaff_s3,unaff_s6);\n          pcVar23 = pcStack_230;\n          if (pwStack_210 == (word *)0x0) {\n            if (iVar13 == 0) goto LAB_000fbbb0;\nLAB_000fbe6c:\n            if (iVar13 + 2U < 2) goto LAB_000fbdb4;\n            iStack_204 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc);\n            iStack_1fc = iStack_204;\n            iStack_1f8 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8);\n            pwStack_214 = (word *)((int)pwStack_214 + (int)pwStack_210);\n            pbStack_228 = pbStack_228 + (int)pwStack_210;\n            pwStack_208 = (word *)((int)pwStack_208 - (int)pwStack_210);\n            if ((((iStack_204 != 0x2d) && (iStack_204 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))) && (iStack_204 != iStack_1f8))\n            goto code_r0x000fbef4;\n          }\n          else {\n            if ((word *)0x1 < pwStack_210 + 1) goto LAB_000fbe6c;\nLAB_000fbdb4:\n            bVar2 = *(byte *)pwStack_214;\n            if (((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||\n               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))) goto LAB_000fbb0c;\n            pwStack_214 = (word *)((int)pwStack_214 + 1);\n            pbStack_228 = pbStack_228 + 1;\n            pwStack_208 = (word *)((int)pwStack_208 + -1);\n          }\n          iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n          pcVar23 = pcStack_230;\n          if (pwStack_208 == (word *)0x0) goto LAB_000fbbb4;\n        } while( true );\n      }" (if "if") (parenthesized_expression "((1 < uVar4) && (unaff_s6 = (word *)&uStack_1ec, **(int **)(pcStack_230 + -0x6728) == 0))" (( "(") (binary_expression "(1 < uVar4) && (unaff_s6 = (word *)&uStack_1ec, **(int **)(pcStack_230 + -0x6728) == 0)" (parenthesized_expression "(1 < uVar4)" (( "(") (binary_expression "1 < uVar4" (number_literal "1") (< "<") (identifier "uVar4")) () ")")) (&& "&&") (parenthesized_expression "(unaff_s6 = (word *)&uStack_1ec, **(int **)(pcStack_230 + -0x6728) == 0)" (( "(") (comma_expression "unaff_s6 = (word *)&uStack_1ec, **(int **)(pcStack_230 + -0x6728) == 0" (assignment_expression "unaff_s6 = (word *)&uStack_1ec" (identifier "unaff_s6") (= "=") (cast_expression "(word *)&uStack_1ec" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&uStack_1ec" (& "&") (identifier "uStack_1ec")))) (, ",") (binary_expression "**(int **)(pcStack_230 + -0x6728) == 0" (pointer_expression "**(int **)(pcStack_230 + -0x6728)" (* "*") (pointer_expression "*(int **)(pcStack_230 + -0x6728)" (* "*") (cast_expression "(int **)(pcStack_230 + -0x6728)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x6728)" (( "(") (binary_expression "pcStack_230 + -0x6728" (identifier "pcStack_230") (+ "+") (number_literal "-0x6728")) () ")"))))) (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n        unaff_s8 = &pbStack_1f4;\n        unaff_s7 = (word *)&iStack_1fc;\n        unaff_s5 = (word *)&iStack_1f8;\n        pwStack_214 = pwVar16;\n        pwStack_208 = unaff_s3;\n        do {\n          pwStack_210 = (word *)(**(code **)(pcStack_230 + -0x6084))\n                                          (unaff_s7,pwStack_214,unaff_s4,unaff_s8);\n          pwVar15 = unaff_s3;\n          iVar13 = (**(code **)(pcStack_230 + -0x6084))(unaff_s5,pbStack_228,unaff_s3,unaff_s6);\n          pcVar23 = pcStack_230;\n          if (pwStack_210 == (word *)0x0) {\n            if (iVar13 == 0) goto LAB_000fbbb0;\nLAB_000fbe6c:\n            if (iVar13 + 2U < 2) goto LAB_000fbdb4;\n            iStack_204 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc);\n            iStack_1fc = iStack_204;\n            iStack_1f8 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8);\n            pwStack_214 = (word *)((int)pwStack_214 + (int)pwStack_210);\n            pbStack_228 = pbStack_228 + (int)pwStack_210;\n            pwStack_208 = (word *)((int)pwStack_208 - (int)pwStack_210);\n            if ((((iStack_204 != 0x2d) && (iStack_204 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))) && (iStack_204 != iStack_1f8))\n            goto code_r0x000fbef4;\n          }\n          else {\n            if ((word *)0x1 < pwStack_210 + 1) goto LAB_000fbe6c;\nLAB_000fbdb4:\n            bVar2 = *(byte *)pwStack_214;\n            if (((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||\n               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))) goto LAB_000fbb0c;\n            pwStack_214 = (word *)((int)pwStack_214 + 1);\n            pbStack_228 = pbStack_228 + 1;\n            pwStack_208 = (word *)((int)pwStack_208 + -1);\n          }\n          iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n          pcVar23 = pcStack_230;\n          if (pwStack_208 == (word *)0x0) goto LAB_000fbbb4;\n        } while( true );\n      }" ({ "{") (expression_statement "unaff_s8 = &pbStack_1f4;" (assignment_expression "unaff_s8 = &pbStack_1f4" (identifier "unaff_s8") (= "=") (pointer_expression "&pbStack_1f4" (& "&") (identifier "pbStack_1f4"))) (; ";")) (expression_statement "unaff_s7 = (word *)&iStack_1fc;" (assignment_expression "unaff_s7 = (word *)&iStack_1fc" (identifier "unaff_s7") (= "=") (cast_expression "(word *)&iStack_1fc" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&iStack_1fc" (& "&") (identifier "iStack_1fc")))) (; ";")) (expression_statement "unaff_s5 = (word *)&iStack_1f8;" (assignment_expression "unaff_s5 = (word *)&iStack_1f8" (identifier "unaff_s5") (= "=") (cast_expression "(word *)&iStack_1f8" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&iStack_1f8" (& "&") (identifier "iStack_1f8")))) (; ";")) (expression_statement "pwStack_214 = pwVar16;" (assignment_expression "pwStack_214 = pwVar16" (identifier "pwStack_214") (= "=") (identifier "pwVar16")) (; ";")) (expression_statement "pwStack_208 = unaff_s3;" (assignment_expression "pwStack_208 = unaff_s3" (identifier "pwStack_208") (= "=") (identifier "unaff_s3")) (; ";")) (do_statement "do {\n          pwStack_210 = (word *)(**(code **)(pcStack_230 + -0x6084))\n                                          (unaff_s7,pwStack_214,unaff_s4,unaff_s8);\n          pwVar15 = unaff_s3;\n          iVar13 = (**(code **)(pcStack_230 + -0x6084))(unaff_s5,pbStack_228,unaff_s3,unaff_s6);\n          pcVar23 = pcStack_230;\n          if (pwStack_210 == (word *)0x0) {\n            if (iVar13 == 0) goto LAB_000fbbb0;\nLAB_000fbe6c:\n            if (iVar13 + 2U < 2) goto LAB_000fbdb4;\n            iStack_204 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc);\n            iStack_1fc = iStack_204;\n            iStack_1f8 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8);\n            pwStack_214 = (word *)((int)pwStack_214 + (int)pwStack_210);\n            pbStack_228 = pbStack_228 + (int)pwStack_210;\n            pwStack_208 = (word *)((int)pwStack_208 - (int)pwStack_210);\n            if ((((iStack_204 != 0x2d) && (iStack_204 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))) && (iStack_204 != iStack_1f8))\n            goto code_r0x000fbef4;\n          }\n          else {\n            if ((word *)0x1 < pwStack_210 + 1) goto LAB_000fbe6c;\nLAB_000fbdb4:\n            bVar2 = *(byte *)pwStack_214;\n            if (((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||\n               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))) goto LAB_000fbb0c;\n            pwStack_214 = (word *)((int)pwStack_214 + 1);\n            pbStack_228 = pbStack_228 + 1;\n            pwStack_208 = (word *)((int)pwStack_208 + -1);\n          }\n          iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n          pcVar23 = pcStack_230;\n          if (pwStack_208 == (word *)0x0) goto LAB_000fbbb4;\n        } while( true );" (do "do") (compound_statement "{\n          pwStack_210 = (word *)(**(code **)(pcStack_230 + -0x6084))\n                                          (unaff_s7,pwStack_214,unaff_s4,unaff_s8);\n          pwVar15 = unaff_s3;\n          iVar13 = (**(code **)(pcStack_230 + -0x6084))(unaff_s5,pbStack_228,unaff_s3,unaff_s6);\n          pcVar23 = pcStack_230;\n          if (pwStack_210 == (word *)0x0) {\n            if (iVar13 == 0) goto LAB_000fbbb0;\nLAB_000fbe6c:\n            if (iVar13 + 2U < 2) goto LAB_000fbdb4;\n            iStack_204 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc);\n            iStack_1fc = iStack_204;\n            iStack_1f8 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8);\n            pwStack_214 = (word *)((int)pwStack_214 + (int)pwStack_210);\n            pbStack_228 = pbStack_228 + (int)pwStack_210;\n            pwStack_208 = (word *)((int)pwStack_208 - (int)pwStack_210);\n            if ((((iStack_204 != 0x2d) && (iStack_204 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))) && (iStack_204 != iStack_1f8))\n            goto code_r0x000fbef4;\n          }\n          else {\n            if ((word *)0x1 < pwStack_210 + 1) goto LAB_000fbe6c;\nLAB_000fbdb4:\n            bVar2 = *(byte *)pwStack_214;\n            if (((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||\n               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))) goto LAB_000fbb0c;\n            pwStack_214 = (word *)((int)pwStack_214 + 1);\n            pbStack_228 = pbStack_228 + 1;\n            pwStack_208 = (word *)((int)pwStack_208 + -1);\n          }\n          iVar13 = *(int *)(pcStack_230 + -0x7fd4);\n          pcVar23 = pcStack_230;\n          if (pwStack_208 == (word *)0x0) goto LAB_000fbbb4;\n        }" ({ "{") (expression_statement "pwStack_210 = (word *)(**(code **)(pcStack_230 + -0x6084))\n                                          (unaff_s7,pwStack_214,unaff_s4,unaff_s8);" (assignment_expression "pwStack_210 = (word *)(**(code **)(pcStack_230 + -0x6084))\n                                          (unaff_s7,pwStack_214,unaff_s4,unaff_s8)" (identifier "pwStack_210") (= "=") (cast_expression "(word *)(**(code **)(pcStack_230 + -0x6084))\n                                          (unaff_s7,pwStack_214,unaff_s4,unaff_s8)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcStack_230 + -0x6084))\n                                          (unaff_s7,pwStack_214,unaff_s4,unaff_s8)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x6084))" (( "(") (pointer_expression "**(code **)(pcStack_230 + -0x6084)" (* "*") (pointer_expression "*(code **)(pcStack_230 + -0x6084)" (* "*") (cast_expression "(code **)(pcStack_230 + -0x6084)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x6084)" (( "(") (binary_expression "pcStack_230 + -0x6084" (identifier "pcStack_230") (+ "+") (number_literal "-0x6084")) () ")"))))) () ")")) (argument_list "(unaff_s7,pwStack_214,unaff_s4,unaff_s8)" (( "(") (identifier "unaff_s7") (, ",") (identifier "pwStack_214") (, ",") (identifier "unaff_s4") (, ",") (identifier "unaff_s8") () ")"))))) (; ";")) (expression_statement "pwVar15 = unaff_s3;" (assignment_expression "pwVar15 = unaff_s3" (identifier "pwVar15") (= "=") (identifier "unaff_s3")) (; ";")) (expression_statement "iVar13 = (**(code **)(pcStack_230 + -0x6084))(unaff_s5,pbStack_228,unaff_s3,unaff_s6);" (assignment_expression "iVar13 = (**(code **)(pcStack_230 + -0x6084))(unaff_s5,pbStack_228,unaff_s3,unaff_s6)" (identifier "iVar13") (= "=") (call_expression "(**(code **)(pcStack_230 + -0x6084))(unaff_s5,pbStack_228,unaff_s3,unaff_s6)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x6084))" (( "(") (pointer_expression "**(code **)(pcStack_230 + -0x6084)" (* "*") (pointer_expression "*(code **)(pcStack_230 + -0x6084)" (* "*") (cast_expression "(code **)(pcStack_230 + -0x6084)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x6084)" (( "(") (binary_expression "pcStack_230 + -0x6084" (identifier "pcStack_230") (+ "+") (number_literal "-0x6084")) () ")"))))) () ")")) (argument_list "(unaff_s5,pbStack_228,unaff_s3,unaff_s6)" (( "(") (identifier "unaff_s5") (, ",") (identifier "pbStack_228") (, ",") (identifier "unaff_s3") (, ",") (identifier "unaff_s6") () ")")))) (; ";")) (expression_statement "pcVar23 = pcStack_230;" (assignment_expression "pcVar23 = pcStack_230" (identifier "pcVar23") (= "=") (identifier "pcStack_230")) (; ";")) (if_statement "if (pwStack_210 == (word *)0x0) {\n            if (iVar13 == 0) goto LAB_000fbbb0;\nLAB_000fbe6c:\n            if (iVar13 + 2U < 2) goto LAB_000fbdb4;\n            iStack_204 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc);\n            iStack_1fc = iStack_204;\n            iStack_1f8 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8);\n            pwStack_214 = (word *)((int)pwStack_214 + (int)pwStack_210);\n            pbStack_228 = pbStack_228 + (int)pwStack_210;\n            pwStack_208 = (word *)((int)pwStack_208 - (int)pwStack_210);\n            if ((((iStack_204 != 0x2d) && (iStack_204 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))) && (iStack_204 != iStack_1f8))\n            goto code_r0x000fbef4;\n          }\n          else {\n            if ((word *)0x1 < pwStack_210 + 1) goto LAB_000fbe6c;\nLAB_000fbdb4:\n            bVar2 = *(byte *)pwStack_214;\n            if (((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||\n               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))) goto LAB_000fbb0c;\n            pwStack_214 = (word *)((int)pwStack_214 + 1);\n            pbStack_228 = pbStack_228 + 1;\n            pwStack_208 = (word *)((int)pwStack_208 + -1);\n          }" (if "if") (parenthesized_expression "(pwStack_210 == (word *)0x0)" (( "(") (binary_expression "pwStack_210 == (word *)0x0" (identifier "pwStack_210") (== "==") (cast_expression "(word *)0x0" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            if (iVar13 == 0) goto LAB_000fbbb0;\nLAB_000fbe6c:\n            if (iVar13 + 2U < 2) goto LAB_000fbdb4;\n            iStack_204 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc);\n            iStack_1fc = iStack_204;\n            iStack_1f8 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8);\n            pwStack_214 = (word *)((int)pwStack_214 + (int)pwStack_210);\n            pbStack_228 = pbStack_228 + (int)pwStack_210;\n            pwStack_208 = (word *)((int)pwStack_208 - (int)pwStack_210);\n            if ((((iStack_204 != 0x2d) && (iStack_204 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))) && (iStack_204 != iStack_1f8))\n            goto code_r0x000fbef4;\n          }" ({ "{") (if_statement "if (iVar13 == 0) goto LAB_000fbbb0;" (if "if") (parenthesized_expression "(iVar13 == 0)" (( "(") (binary_expression "iVar13 == 0" (identifier "iVar13") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000fbbb0;" (goto "goto") (statement_identifier "LAB_000fbbb0") (; ";"))) (labeled_statement "LAB_000fbe6c:\n            if (iVar13 + 2U < 2) goto LAB_000fbdb4;" (statement_identifier "LAB_000fbe6c") (: ":") (if_statement "if (iVar13 + 2U < 2) goto LAB_000fbdb4;" (if "if") (parenthesized_expression "(iVar13 + 2U < 2)" (( "(") (binary_expression "iVar13 + 2U < 2" (binary_expression "iVar13 + 2U" (identifier "iVar13") (+ "+") (number_literal "2U")) (< "<") (number_literal "2")) () ")")) (goto_statement "goto LAB_000fbdb4;" (goto "goto") (statement_identifier "LAB_000fbdb4") (; ";")))) (expression_statement "iStack_204 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc);" (assignment_expression "iStack_204 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc)" (identifier "iStack_204") (= "=") (call_expression "(**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x5fc8))" (( "(") (pointer_expression "**(code **)(pcStack_230 + -0x5fc8)" (* "*") (pointer_expression "*(code **)(pcStack_230 + -0x5fc8)" (* "*") (cast_expression "(code **)(pcStack_230 + -0x5fc8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x5fc8)" (( "(") (binary_expression "pcStack_230 + -0x5fc8" (identifier "pcStack_230") (+ "+") (number_literal "-0x5fc8")) () ")"))))) () ")")) (argument_list "(iStack_1fc)" (( "(") (identifier "iStack_1fc") () ")")))) (; ";")) (expression_statement "iStack_1fc = iStack_204;" (assignment_expression "iStack_1fc = iStack_204" (identifier "iStack_1fc") (= "=") (identifier "iStack_204")) (; ";")) (expression_statement "iStack_1f8 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8);" (assignment_expression "iStack_1f8 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8)" (identifier "iStack_1f8") (= "=") (call_expression "(**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x5fc8))" (( "(") (pointer_expression "**(code **)(pcStack_230 + -0x5fc8)" (* "*") (pointer_expression "*(code **)(pcStack_230 + -0x5fc8)" (* "*") (cast_expression "(code **)(pcStack_230 + -0x5fc8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x5fc8)" (( "(") (binary_expression "pcStack_230 + -0x5fc8" (identifier "pcStack_230") (+ "+") (number_literal "-0x5fc8")) () ")"))))) () ")")) (argument_list "(iStack_1f8)" (( "(") (identifier "iStack_1f8") () ")")))) (; ";")) (expression_statement "pwStack_214 = (word *)((int)pwStack_214 + (int)pwStack_210);" (assignment_expression "pwStack_214 = (word *)((int)pwStack_214 + (int)pwStack_210)" (identifier "pwStack_214") (= "=") (cast_expression "(word *)((int)pwStack_214 + (int)pwStack_210)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pwStack_214 + (int)pwStack_210)" (( "(") (binary_expression "(int)pwStack_214 + (int)pwStack_210" (cast_expression "(int)pwStack_214" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pwStack_214")) (+ "+") (cast_expression "(int)pwStack_210" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pwStack_210"))) () ")")))) (; ";")) (expression_statement "pbStack_228 = pbStack_228 + (int)pwStack_210;" (assignment_expression "pbStack_228 = pbStack_228 + (int)pwStack_210" (identifier "pbStack_228") (= "=") (binary_expression "pbStack_228 + (int)pwStack_210" (identifier "pbStack_228") (+ "+") (cast_expression "(int)pwStack_210" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pwStack_210")))) (; ";")) (expression_statement "pwStack_208 = (word *)((int)pwStack_208 - (int)pwStack_210);" (assignment_expression "pwStack_208 = (word *)((int)pwStack_208 - (int)pwStack_210)" (identifier "pwStack_208") (= "=") (cast_expression "(word *)((int)pwStack_208 - (int)pwStack_210)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pwStack_208 - (int)pwStack_210)" (( "(") (binary_expression "(int)pwStack_208 - (int)pwStack_210" (cast_expression "(int)pwStack_208" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pwStack_208")) (- "-") (cast_expression "(int)pwStack_210" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pwStack_210"))) () ")")))) (; ";")) (if_statement "if ((((iStack_204 != 0x2d) && (iStack_204 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))) && (iStack_204 != iStack_1f8))\n            goto code_r0x000fbef4;" (if "if") (parenthesized_expression "((((iStack_204 != 0x2d) && (iStack_204 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))) && (iStack_204 != iStack_1f8))" (( "(") (binary_expression "(((iStack_204 != 0x2d) && (iStack_204 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))) && (iStack_204 != iStack_1f8)" (parenthesized_expression "(((iStack_204 != 0x2d) && (iStack_204 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f))))" (( "(") (binary_expression "((iStack_204 != 0x2d) && (iStack_204 != 0x5f)) ||\n                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))" (parenthesized_expression "((iStack_204 != 0x2d) && (iStack_204 != 0x5f))" (( "(") (binary_expression "(iStack_204 != 0x2d) && (iStack_204 != 0x5f)" (parenthesized_expression "(iStack_204 != 0x2d)" (( "(") (binary_expression "iStack_204 != 0x2d" (identifier "iStack_204") (!= "!=") (number_literal "0x2d")) () ")")) (&& "&&") (parenthesized_expression "(iStack_204 != 0x5f)" (( "(") (binary_expression "iStack_204 != 0x5f" (identifier "iStack_204") (!= "!=") (number_literal "0x5f")) () ")"))) () ")")) (|| "||") (parenthesized_expression "((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))" (( "(") (parenthesized_expression "(iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f))" (( "(") (binary_expression "iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)" (binary_expression "iStack_1f8 != 0x2d" (identifier "iStack_1f8") (!= "!=") (number_literal "0x2d")) (&& "&&") (parenthesized_expression "(iStack_1f8 != 0x5f)" (( "(") (binary_expression "iStack_1f8 != 0x5f" (identifier "iStack_1f8") (!= "!=") (number_literal "0x5f")) () ")"))) () ")")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(iStack_204 != iStack_1f8)" (( "(") (binary_expression "iStack_204 != iStack_1f8" (identifier "iStack_204") (!= "!=") (identifier "iStack_1f8")) () ")"))) () ")")) (goto_statement "goto code_r0x000fbef4;" (goto "goto") (statement_identifier "code_r0x000fbef4") (; ";"))) (} "}")) (else_clause "else {\n            if ((word *)0x1 < pwStack_210 + 1) goto LAB_000fbe6c;\nLAB_000fbdb4:\n            bVar2 = *(byte *)pwStack_214;\n            if (((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||\n               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))) goto LAB_000fbb0c;\n            pwStack_214 = (word *)((int)pwStack_214 + 1);\n            pbStack_228 = pbStack_228 + 1;\n            pwStack_208 = (word *)((int)pwStack_208 + -1);\n          }" (else "else") (compound_statement "{\n            if ((word *)0x1 < pwStack_210 + 1) goto LAB_000fbe6c;\nLAB_000fbdb4:\n            bVar2 = *(byte *)pwStack_214;\n            if (((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||\n               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))) goto LAB_000fbb0c;\n            pwStack_214 = (word *)((int)pwStack_214 + 1);\n            pbStack_228 = pbStack_228 + 1;\n            pwStack_208 = (word *)((int)pwStack_208 + -1);\n          }" ({ "{") (if_statement "if ((word *)0x1 < pwStack_210 + 1) goto LAB_000fbe6c;" (if "if") (parenthesized_expression "((word *)0x1 < pwStack_210 + 1)" (( "(") (binary_expression "(word *)0x1 < pwStack_210 + 1" (cast_expression "(word *)0x1" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1")) (< "<") (binary_expression "pwStack_210 + 1" (identifier "pwStack_210") (+ "+") (number_literal "1"))) () ")")) (goto_statement "goto LAB_000fbe6c;" (goto "goto") (statement_identifier "LAB_000fbe6c") (; ";"))) (labeled_statement "LAB_000fbdb4:\n            bVar2 = *(byte *)pwStack_214;" (statement_identifier "LAB_000fbdb4") (: ":") (expression_statement "bVar2 = *(byte *)pwStack_214;" (assignment_expression "bVar2 = *(byte *)pwStack_214" (identifier "bVar2") (= "=") (pointer_expression "*(byte *)pwStack_214" (* "*") (cast_expression "(byte *)pwStack_214" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pwStack_214")))) (; ";"))) (if_statement "if (((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||\n               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))) goto LAB_000fbb0c;" (if "if") (parenthesized_expression "(((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||\n               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f))))" (( "(") (binary_expression "((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||\n               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))" (parenthesized_expression "((bVar2 != *pbStack_228) || (bVar2 == 0x2d))" (( "(") (binary_expression "(bVar2 != *pbStack_228) || (bVar2 == 0x2d)" (parenthesized_expression "(bVar2 != *pbStack_228)" (( "(") (binary_expression "bVar2 != *pbStack_228" (identifier "bVar2") (!= "!=") (pointer_expression "*pbStack_228" (* "*") (identifier "pbStack_228"))) () ")")) (|| "||") (parenthesized_expression "(bVar2 == 0x2d)" (( "(") (binary_expression "bVar2 == 0x2d" (identifier "bVar2") (== "==") (number_literal "0x2d")) () ")"))) () ")")) (|| "||") (parenthesized_expression "((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))" (( "(") (parenthesized_expression "(bVar2 == 0x5f && (*pbStack_228 == 0x5f))" (( "(") (binary_expression "bVar2 == 0x5f && (*pbStack_228 == 0x5f)" (binary_expression "bVar2 == 0x5f" (identifier "bVar2") (== "==") (number_literal "0x5f")) (&& "&&") (parenthesized_expression "(*pbStack_228 == 0x5f)" (( "(") (binary_expression "*pbStack_228 == 0x5f" (pointer_expression "*pbStack_228" (* "*") (identifier "pbStack_228")) (== "==") (number_literal "0x5f")) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_000fbb0c;" (goto "goto") (statement_identifier "LAB_000fbb0c") (; ";"))) (expression_statement "pwStack_214 = (word *)((int)pwStack_214 + 1);" (assignment_expression "pwStack_214 = (word *)((int)pwStack_214 + 1)" (identifier "pwStack_214") (= "=") (cast_expression "(word *)((int)pwStack_214 + 1)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pwStack_214 + 1)" (( "(") (binary_expression "(int)pwStack_214 + 1" (cast_expression "(int)pwStack_214" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pwStack_214")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "pbStack_228 = pbStack_228 + 1;" (assignment_expression "pbStack_228 = pbStack_228 + 1" (identifier "pbStack_228") (= "=") (binary_expression "pbStack_228 + 1" (identifier "pbStack_228") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pwStack_208 = (word *)((int)pwStack_208 + -1);" (assignment_expression "pwStack_208 = (word *)((int)pwStack_208 + -1)" (identifier "pwStack_208") (= "=") (cast_expression "(word *)((int)pwStack_208 + -1)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pwStack_208 + -1)" (( "(") (binary_expression "(int)pwStack_208 + -1" (cast_expression "(int)pwStack_208" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pwStack_208")) (+ "+") (number_literal "-1")) () ")")))) (; ";")) (} "}")))) (expression_statement "iVar13 = *(int *)(pcStack_230 + -0x7fd4);" (assignment_expression "iVar13 = *(int *)(pcStack_230 + -0x7fd4)" (identifier "iVar13") (= "=") (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" (* "*") (cast_expression "(int *)(pcStack_230 + -0x7fd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_230 + -0x7fd4)" (( "(") (binary_expression "pcStack_230 + -0x7fd4" (identifier "pcStack_230") (+ "+") (number_literal "-0x7fd4")) () ")"))))) (; ";")) (expression_statement "pcVar23 = pcStack_230;" (assignment_expression "pcVar23 = pcStack_230" (identifier "pcVar23") (= "=") (identifier "pcStack_230")) (; ";")) (if_statement "if (pwStack_208 == (word *)0x0) goto LAB_000fbbb4;" (if "if") (parenthesized_expression "(pwStack_208 == (word *)0x0)" (( "(") (binary_expression "pwStack_208 == (word *)0x0" (identifier "pwStack_208") (== "==") (cast_expression "(word *)0x0" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000fbbb4;" (goto "goto") (statement_identifier "LAB_000fbbb4") (; ";"))) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}"))) (expression_statement "unaff_s7 = (word *)&DAT_0000002d;" (assignment_expression "unaff_s7 = (word *)&DAT_0000002d" (identifier "unaff_s7") (= "=") (cast_expression "(word *)&DAT_0000002d" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_0000002d" (& "&") (identifier "DAT_0000002d")))) (; ";")) (expression_statement "unaff_s8 = (byte **)0x5f;" (assignment_expression "unaff_s8 = (byte **)0x5f" (identifier "unaff_s8") (= "=") (cast_expression "(byte **)0x5f" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x5f"))) (; ";")) (expression_statement "pwStack_208 = (word *)((int)pwVar16 + (int)unaff_s3);" (assignment_expression "pwStack_208 = (word *)((int)pwVar16 + (int)unaff_s3)" (identifier "pwStack_208") (= "=") (cast_expression "(word *)((int)pwVar16 + (int)unaff_s3)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pwVar16 + (int)unaff_s3)" (( "(") (binary_expression "(int)pwVar16 + (int)unaff_s3" (cast_expression "(int)pwVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pwVar16")) (+ "+") (cast_expression "(int)unaff_s3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s3"))) () ")")))) (; ";")) (expression_statement "unaff_s4 = pwVar16;" (assignment_expression "unaff_s4 = pwVar16" (identifier "unaff_s4") (= "=") (identifier "pwVar16")) (; ";")) (expression_statement "pcVar23 = pcStack_230;" (assignment_expression "pcVar23 = pcStack_230" (identifier "pcVar23") (= "=") (identifier "pcStack_230")) (; ";")) (while_statement "while( true ) {\n        unaff_s3 = (word *)(int)(char)*(byte *)unaff_s4;\n        pbVar24 = (byte *)(uint)*(byte *)unaff_s4;\n        pwStack_214 = unaff_s3;\n        if (((word *)pbVar24 == unaff_s3) &&\n           (piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))(), pcVar23 = pcStack_230,\n           (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0)) {\n          piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n          pwStack_214 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n          pcVar23 = pcStack_230;\n        }\n        unaff_s5 = (word *)(int)(char)*pbStack_228;\n        unaff_s6 = (word *)(uint)*pbStack_228;\n        pwStack_210 = unaff_s5;\n        if (unaff_s6 == unaff_s5) {\n          piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))();\n          pcVar23 = pcStack_230;\n          if ((*(ushort *)(*piVar9 + (int)unaff_s6 * 2) & 1) != 0) {\n            piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n            unaff_s6 = (word *)(*piVar9 + (int)unaff_s6 * 4);\n            pwStack_210 = *(word **)unaff_s6;\n            pcVar23 = pcStack_230;\n          }\n        }\n        if ((((unaff_s3 != (word *)&DAT_0000002d) && (unaff_s3 != (word *)0x5f)) ||\n            ((unaff_s5 != (word *)&DAT_0000002d && (unaff_s5 != (word *)0x5f)))) &&\n           (pwStack_214 != pwStack_210)) break;\n        unaff_s4 = (word *)((int)unaff_s4 + 1);\n        pbStack_228 = pbStack_228 + 1;\n        iVar13 = *(int *)(pcVar23 + -0x7fd4);\n        if (unaff_s4 == pwStack_208) goto LAB_000fbbb4;\n      }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n        unaff_s3 = (word *)(int)(char)*(byte *)unaff_s4;\n        pbVar24 = (byte *)(uint)*(byte *)unaff_s4;\n        pwStack_214 = unaff_s3;\n        if (((word *)pbVar24 == unaff_s3) &&\n           (piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))(), pcVar23 = pcStack_230,\n           (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0)) {\n          piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n          pwStack_214 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n          pcVar23 = pcStack_230;\n        }\n        unaff_s5 = (word *)(int)(char)*pbStack_228;\n        unaff_s6 = (word *)(uint)*pbStack_228;\n        pwStack_210 = unaff_s5;\n        if (unaff_s6 == unaff_s5) {\n          piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))();\n          pcVar23 = pcStack_230;\n          if ((*(ushort *)(*piVar9 + (int)unaff_s6 * 2) & 1) != 0) {\n            piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n            unaff_s6 = (word *)(*piVar9 + (int)unaff_s6 * 4);\n            pwStack_210 = *(word **)unaff_s6;\n            pcVar23 = pcStack_230;\n          }\n        }\n        if ((((unaff_s3 != (word *)&DAT_0000002d) && (unaff_s3 != (word *)0x5f)) ||\n            ((unaff_s5 != (word *)&DAT_0000002d && (unaff_s5 != (word *)0x5f)))) &&\n           (pwStack_214 != pwStack_210)) break;\n        unaff_s4 = (word *)((int)unaff_s4 + 1);\n        pbStack_228 = pbStack_228 + 1;\n        iVar13 = *(int *)(pcVar23 + -0x7fd4);\n        if (unaff_s4 == pwStack_208) goto LAB_000fbbb4;\n      }" ({ "{") (expression_statement "unaff_s3 = (word *)(int)(char)*(byte *)unaff_s4;" (assignment_expression "unaff_s3 = (word *)(int)(char)*(byte *)unaff_s4" (identifier "unaff_s3") (= "=") (cast_expression "(word *)(int)(char)*(byte *)unaff_s4" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(int)(char)*(byte *)unaff_s4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)*(byte *)unaff_s4" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (pointer_expression "*(byte *)unaff_s4" (* "*") (cast_expression "(byte *)unaff_s4" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "unaff_s4"))))))) (; ";")) (expression_statement "pbVar24 = (byte *)(uint)*(byte *)unaff_s4;" (assignment_expression "pbVar24 = (byte *)(uint)*(byte *)unaff_s4" (identifier "pbVar24") (= "=") (binary_expression "(byte *)(uint)*(byte *)unaff_s4" (cast_expression "(byte *)(uint)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")"))) (* "*") (cast_expression "(byte *)unaff_s4" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "unaff_s4")))) (; ";")) (expression_statement "pwStack_214 = unaff_s3;" (assignment_expression "pwStack_214 = unaff_s3" (identifier "pwStack_214") (= "=") (identifier "unaff_s3")) (; ";")) (if_statement "if (((word *)pbVar24 == unaff_s3) &&\n           (piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))(), pcVar23 = pcStack_230,\n           (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0)) {\n          piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n          pwStack_214 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n          pcVar23 = pcStack_230;\n        }" (if "if") (parenthesized_expression "(((word *)pbVar24 == unaff_s3) &&\n           (piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))(), pcVar23 = pcStack_230,\n           (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0))" (( "(") (binary_expression "((word *)pbVar24 == unaff_s3) &&\n           (piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))(), pcVar23 = pcStack_230,\n           (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0)" (parenthesized_expression "((word *)pbVar24 == unaff_s3)" (( "(") (binary_expression "(word *)pbVar24 == unaff_s3" (cast_expression "(word *)pbVar24" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pbVar24")) (== "==") (identifier "unaff_s3")) () ")")) (&& "&&") (parenthesized_expression "(piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))(), pcVar23 = pcStack_230,\n           (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0)" (( "(") (comma_expression "piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))(), pcVar23 = pcStack_230,\n           (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0" (assignment_expression "piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))()" (identifier "piVar9") (= "=") (cast_expression "(int *)(**(code **)(pcVar23 + -0x6290))()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar23 + -0x6290))()" (parenthesized_expression "(**(code **)(pcVar23 + -0x6290))" (( "(") (pointer_expression "**(code **)(pcVar23 + -0x6290)" (* "*") (pointer_expression "*(code **)(pcVar23 + -0x6290)" (* "*") (cast_expression "(code **)(pcVar23 + -0x6290)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + -0x6290)" (( "(") (binary_expression "pcVar23 + -0x6290" (identifier "pcVar23") (+ "+") (number_literal "-0x6290")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (, ",") (comma_expression "pcVar23 = pcStack_230,\n           (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0" (assignment_expression "pcVar23 = pcStack_230" (identifier "pcVar23") (= "=") (identifier "pcStack_230")) (, ",") (binary_expression "(*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0" (parenthesized_expression "(*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1)" (( "(") (binary_expression "*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1" (pointer_expression "*(ushort *)(*piVar9 + (int)pbVar24 * 2)" (* "*") (cast_expression "(ushort *)(*piVar9 + (int)pbVar24 * 2)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar9 + (int)pbVar24 * 2)" (( "(") (binary_expression "*piVar9 + (int)pbVar24 * 2" (pointer_expression "*piVar9" (* "*") (identifier "piVar9")) (+ "+") (binary_expression "(int)pbVar24 * 2" (cast_expression "(int)pbVar24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar24")) (* "*") (number_literal "2"))) () ")")))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")))) () ")"))) () ")")) (compound_statement "{\n          piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n          pwStack_214 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n          pcVar23 = pcStack_230;\n        }" ({ "{") (expression_statement "piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();" (assignment_expression "piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))()" (identifier "piVar9") (= "=") (cast_expression "(int *)(**(code **)(pcStack_230 + -0x628c))()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcStack_230 + -0x628c))()" (parenthesized_expression "(**(code **)(pcStack_230 + -0x628c))" (( "(") (pointer_expression "**(code **)(pcStack_230 + -0x628c)" (* "*") (pointer_expression "*(code **)(pcStack_230 + -0x628c)" (* "*") (cast_expression "(code **)(pcStack_230 + -0x628c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x628c)" (( "(") (binary_expression "pcStack_230 + -0x628c" (identifier "pcStack_230") (+ "+") (number_literal "-0x628c")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "pwStack_214 = *(word **)(*piVar9 + (int)pbVar24 * 4);" (assignment_expression "pwStack_214 = *(word **)(*piVar9 + (int)pbVar24 * 4)" (identifier "pwStack_214") (= "=") (pointer_expression "*(word **)(*piVar9 + (int)pbVar24 * 4)" (* "*") (cast_expression "(word **)(*piVar9 + (int)pbVar24 * 4)" (( "(") (type_descriptor "word **" (type_identifier "word") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar9 + (int)pbVar24 * 4)" (( "(") (binary_expression "*piVar9 + (int)pbVar24 * 4" (pointer_expression "*piVar9" (* "*") (identifier "piVar9")) (+ "+") (binary_expression "(int)pbVar24 * 4" (cast_expression "(int)pbVar24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar24")) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (expression_statement "pcVar23 = pcStack_230;" (assignment_expression "pcVar23 = pcStack_230" (identifier "pcVar23") (= "=") (identifier "pcStack_230")) (; ";")) (} "}"))) (expression_statement "unaff_s5 = (word *)(int)(char)*pbStack_228;" (assignment_expression "unaff_s5 = (word *)(int)(char)*pbStack_228" (identifier "unaff_s5") (= "=") (cast_expression "(word *)(int)(char)*pbStack_228" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(int)(char)*pbStack_228" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)*pbStack_228" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (pointer_expression "*pbStack_228" (* "*") (identifier "pbStack_228")))))) (; ";")) (expression_statement "unaff_s6 = (word *)(uint)*pbStack_228;" (assignment_expression "unaff_s6 = (word *)(uint)*pbStack_228" (identifier "unaff_s6") (= "=") (binary_expression "(word *)(uint)*pbStack_228" (cast_expression "(word *)(uint)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")"))) (* "*") (identifier "pbStack_228"))) (; ";")) (expression_statement "pwStack_210 = unaff_s5;" (assignment_expression "pwStack_210 = unaff_s5" (identifier "pwStack_210") (= "=") (identifier "unaff_s5")) (; ";")) (if_statement "if (unaff_s6 == unaff_s5) {\n          piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))();\n          pcVar23 = pcStack_230;\n          if ((*(ushort *)(*piVar9 + (int)unaff_s6 * 2) & 1) != 0) {\n            piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n            unaff_s6 = (word *)(*piVar9 + (int)unaff_s6 * 4);\n            pwStack_210 = *(word **)unaff_s6;\n            pcVar23 = pcStack_230;\n          }\n        }" (if "if") (parenthesized_expression "(unaff_s6 == unaff_s5)" (( "(") (binary_expression "unaff_s6 == unaff_s5" (identifier "unaff_s6") (== "==") (identifier "unaff_s5")) () ")")) (compound_statement "{\n          piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))();\n          pcVar23 = pcStack_230;\n          if ((*(ushort *)(*piVar9 + (int)unaff_s6 * 2) & 1) != 0) {\n            piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n            unaff_s6 = (word *)(*piVar9 + (int)unaff_s6 * 4);\n            pwStack_210 = *(word **)unaff_s6;\n            pcVar23 = pcStack_230;\n          }\n        }" ({ "{") (expression_statement "piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))();" (assignment_expression "piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))()" (identifier "piVar9") (= "=") (cast_expression "(int *)(**(code **)(pcVar23 + -0x6290))()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar23 + -0x6290))()" (parenthesized_expression "(**(code **)(pcVar23 + -0x6290))" (( "(") (pointer_expression "**(code **)(pcVar23 + -0x6290)" (* "*") (pointer_expression "*(code **)(pcVar23 + -0x6290)" (* "*") (cast_expression "(code **)(pcVar23 + -0x6290)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + -0x6290)" (( "(") (binary_expression "pcVar23 + -0x6290" (identifier "pcVar23") (+ "+") (number_literal "-0x6290")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "pcVar23 = pcStack_230;" (assignment_expression "pcVar23 = pcStack_230" (identifier "pcVar23") (= "=") (identifier "pcStack_230")) (; ";")) (if_statement "if ((*(ushort *)(*piVar9 + (int)unaff_s6 * 2) & 1) != 0) {\n            piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n            unaff_s6 = (word *)(*piVar9 + (int)unaff_s6 * 4);\n            pwStack_210 = *(word **)unaff_s6;\n            pcVar23 = pcStack_230;\n          }" (if "if") (parenthesized_expression "((*(ushort *)(*piVar9 + (int)unaff_s6 * 2) & 1) != 0)" (( "(") (binary_expression "(*(ushort *)(*piVar9 + (int)unaff_s6 * 2) & 1) != 0" (parenthesized_expression "(*(ushort *)(*piVar9 + (int)unaff_s6 * 2) & 1)" (( "(") (binary_expression "*(ushort *)(*piVar9 + (int)unaff_s6 * 2) & 1" (pointer_expression "*(ushort *)(*piVar9 + (int)unaff_s6 * 2)" (* "*") (cast_expression "(ushort *)(*piVar9 + (int)unaff_s6 * 2)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar9 + (int)unaff_s6 * 2)" (( "(") (binary_expression "*piVar9 + (int)unaff_s6 * 2" (pointer_expression "*piVar9" (* "*") (identifier "piVar9")) (+ "+") (binary_expression "(int)unaff_s6 * 2" (cast_expression "(int)unaff_s6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s6")) (* "*") (number_literal "2"))) () ")")))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();\n            unaff_s6 = (word *)(*piVar9 + (int)unaff_s6 * 4);\n            pwStack_210 = *(word **)unaff_s6;\n            pcVar23 = pcStack_230;\n          }" ({ "{") (expression_statement "piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();" (assignment_expression "piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))()" (identifier "piVar9") (= "=") (cast_expression "(int *)(**(code **)(pcStack_230 + -0x628c))()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcStack_230 + -0x628c))()" (parenthesized_expression "(**(code **)(pcStack_230 + -0x628c))" (( "(") (pointer_expression "**(code **)(pcStack_230 + -0x628c)" (* "*") (pointer_expression "*(code **)(pcStack_230 + -0x628c)" (* "*") (cast_expression "(code **)(pcStack_230 + -0x628c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x628c)" (( "(") (binary_expression "pcStack_230 + -0x628c" (identifier "pcStack_230") (+ "+") (number_literal "-0x628c")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "unaff_s6 = (word *)(*piVar9 + (int)unaff_s6 * 4);" (assignment_expression "unaff_s6 = (word *)(*piVar9 + (int)unaff_s6 * 4)" (identifier "unaff_s6") (= "=") (cast_expression "(word *)(*piVar9 + (int)unaff_s6 * 4)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar9 + (int)unaff_s6 * 4)" (( "(") (binary_expression "*piVar9 + (int)unaff_s6 * 4" (pointer_expression "*piVar9" (* "*") (identifier "piVar9")) (+ "+") (binary_expression "(int)unaff_s6 * 4" (cast_expression "(int)unaff_s6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s6")) (* "*") (number_literal "4"))) () ")")))) (; ";")) (expression_statement "pwStack_210 = *(word **)unaff_s6;" (assignment_expression "pwStack_210 = *(word **)unaff_s6" (identifier "pwStack_210") (= "=") (pointer_expression "*(word **)unaff_s6" (* "*") (cast_expression "(word **)unaff_s6" (( "(") (type_descriptor "word **" (type_identifier "word") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "unaff_s6")))) (; ";")) (expression_statement "pcVar23 = pcStack_230;" (assignment_expression "pcVar23 = pcStack_230" (identifier "pcVar23") (= "=") (identifier "pcStack_230")) (; ";")) (} "}"))) (} "}"))) (if_statement "if ((((unaff_s3 != (word *)&DAT_0000002d) && (unaff_s3 != (word *)0x5f)) ||\n            ((unaff_s5 != (word *)&DAT_0000002d && (unaff_s5 != (word *)0x5f)))) &&\n           (pwStack_214 != pwStack_210)) break;" (if "if") (parenthesized_expression "((((unaff_s3 != (word *)&DAT_0000002d) && (unaff_s3 != (word *)0x5f)) ||\n            ((unaff_s5 != (word *)&DAT_0000002d && (unaff_s5 != (word *)0x5f)))) &&\n           (pwStack_214 != pwStack_210))" (( "(") (binary_expression "(((unaff_s3 != (word *)&DAT_0000002d) && (unaff_s3 != (word *)0x5f)) ||\n            ((unaff_s5 != (word *)&DAT_0000002d && (unaff_s5 != (word *)0x5f)))) &&\n           (pwStack_214 != pwStack_210)" (parenthesized_expression "(((unaff_s3 != (word *)&DAT_0000002d) && (unaff_s3 != (word *)0x5f)) ||\n            ((unaff_s5 != (word *)&DAT_0000002d && (unaff_s5 != (word *)0x5f))))" (( "(") (binary_expression "((unaff_s3 != (word *)&DAT_0000002d) && (unaff_s3 != (word *)0x5f)) ||\n            ((unaff_s5 != (word *)&DAT_0000002d && (unaff_s5 != (word *)0x5f)))" (parenthesized_expression "((unaff_s3 != (word *)&DAT_0000002d) && (unaff_s3 != (word *)0x5f))" (( "(") (binary_expression "(unaff_s3 != (word *)&DAT_0000002d) && (unaff_s3 != (word *)0x5f)" (parenthesized_expression "(unaff_s3 != (word *)&DAT_0000002d)" (( "(") (binary_expression "unaff_s3 != (word *)&DAT_0000002d" (identifier "unaff_s3") (!= "!=") (cast_expression "(word *)&DAT_0000002d" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_0000002d" (& "&") (identifier "DAT_0000002d")))) () ")")) (&& "&&") (parenthesized_expression "(unaff_s3 != (word *)0x5f)" (( "(") (binary_expression "unaff_s3 != (word *)0x5f" (identifier "unaff_s3") (!= "!=") (cast_expression "(word *)0x5f" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x5f"))) () ")"))) () ")")) (|| "||") (parenthesized_expression "((unaff_s5 != (word *)&DAT_0000002d && (unaff_s5 != (word *)0x5f)))" (( "(") (parenthesized_expression "(unaff_s5 != (word *)&DAT_0000002d && (unaff_s5 != (word *)0x5f))" (( "(") (binary_expression "unaff_s5 != (word *)&DAT_0000002d && (unaff_s5 != (word *)0x5f)" (binary_expression "unaff_s5 != (word *)&DAT_0000002d" (identifier "unaff_s5") (!= "!=") (cast_expression "(word *)&DAT_0000002d" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_0000002d" (& "&") (identifier "DAT_0000002d")))) (&& "&&") (parenthesized_expression "(unaff_s5 != (word *)0x5f)" (( "(") (binary_expression "unaff_s5 != (word *)0x5f" (identifier "unaff_s5") (!= "!=") (cast_expression "(word *)0x5f" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x5f"))) () ")"))) () ")")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(pwStack_214 != pwStack_210)" (( "(") (binary_expression "pwStack_214 != pwStack_210" (identifier "pwStack_214") (!= "!=") (identifier "pwStack_210")) () ")"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "unaff_s4 = (word *)((int)unaff_s4 + 1);" (assignment_expression "unaff_s4 = (word *)((int)unaff_s4 + 1)" (identifier "unaff_s4") (= "=") (cast_expression "(word *)((int)unaff_s4 + 1)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s4 + 1)" (( "(") (binary_expression "(int)unaff_s4 + 1" (cast_expression "(int)unaff_s4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s4")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "pbStack_228 = pbStack_228 + 1;" (assignment_expression "pbStack_228 = pbStack_228 + 1" (identifier "pbStack_228") (= "=") (binary_expression "pbStack_228 + 1" (identifier "pbStack_228") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar13 = *(int *)(pcVar23 + -0x7fd4);" (assignment_expression "iVar13 = *(int *)(pcVar23 + -0x7fd4)" (identifier "iVar13") (= "=") (pointer_expression "*(int *)(pcVar23 + -0x7fd4)" (* "*") (cast_expression "(int *)(pcVar23 + -0x7fd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar23 + -0x7fd4)" (( "(") (binary_expression "pcVar23 + -0x7fd4" (identifier "pcVar23") (+ "+") (number_literal "-0x7fd4")) () ")"))))) (; ";")) (if_statement "if (unaff_s4 == pwStack_208) goto LAB_000fbbb4;" (if "if") (parenthesized_expression "(unaff_s4 == pwStack_208)" (( "(") (binary_expression "unaff_s4 == pwStack_208" (identifier "unaff_s4") (== "==") (identifier "pwStack_208")) () ")")) (goto_statement "goto LAB_000fbbb4;" (goto "goto") (statement_identifier "LAB_000fbbb4") (; ";"))) (} "}"))) (} "}")))) (goto_statement "goto LAB_000fbb0c;" (goto "goto") (statement_identifier "LAB_000fbb0c") (; ";")) (} "}"))) (if_statement "if (*(byte *)pwVar16 != *pbStack_228) goto LAB_000fbb0c;" (if "if") (parenthesized_expression "(*(byte *)pwVar16 != *pbStack_228)" (( "(") (binary_expression "*(byte *)pwVar16 != *pbStack_228" (pointer_expression "*(byte *)pwVar16" (* "*") (cast_expression "(byte *)pwVar16" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pwVar16"))) (!= "!=") (pointer_expression "*pbStack_228" (* "*") (identifier "pbStack_228"))) () ")")) (goto_statement "goto LAB_000fbb0c;" (goto "goto") (statement_identifier "LAB_000fbb0c") (; ";"))) (expression_statement "pwVar15 = unaff_s3;" (assignment_expression "pwVar15 = unaff_s3" (identifier "pwVar15") (= "=") (identifier "unaff_s3")) (; ";")) (expression_statement "iVar13 = (**(code **)(pcStack_230 + -0x6238))(pbStack_228,pwVar16);" (assignment_expression "iVar13 = (**(code **)(pcStack_230 + -0x6238))(pbStack_228,pwVar16)" (identifier "iVar13") (= "=") (call_expression "(**(code **)(pcStack_230 + -0x6238))(pbStack_228,pwVar16)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x6238))" (( "(") (pointer_expression "**(code **)(pcStack_230 + -0x6238)" (* "*") (pointer_expression "*(code **)(pcStack_230 + -0x6238)" (* "*") (cast_expression "(code **)(pcStack_230 + -0x6238)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x6238)" (( "(") (binary_expression "pcStack_230 + -0x6238" (identifier "pcStack_230") (+ "+") (number_literal "-0x6238")) () ")"))))) () ")")) (argument_list "(pbStack_228,pwVar16)" (( "(") (identifier "pbStack_228") (, ",") (identifier "pwVar16") () ")")))) (; ";")) (labeled_statement "LAB_000fc280:\n  pcVar23 = pcStack_230;" (statement_identifier "LAB_000fc280") (: ":") (expression_statement "pcVar23 = pcStack_230;" (assignment_expression "pcVar23 = pcStack_230" (identifier "pcVar23") (= "=") (identifier "pcStack_230")) (; ";"))) (if_statement "if (iVar13 != 0) goto LAB_000fbb0c;" (if "if") (parenthesized_expression "(iVar13 != 0)" (( "(") (binary_expression "iVar13 != 0" (identifier "iVar13") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000fbb0c;" (goto "goto") (statement_identifier "LAB_000fbb0c") (; ";"))) (expression_statement "pcVar19 = *(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);" (assignment_expression "pcVar19 = *(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" (identifier "pcVar19") (= "=") (pointer_expression "*(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" (* "*") (cast_expression "(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8)" (( "(") (binary_expression "*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8" (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" (* "*") (cast_expression "(int *)(pcStack_230 + -0x7fd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_230 + -0x7fd4)" (( "(") (binary_expression "pcStack_230 + -0x7fd4" (identifier "pcStack_230") (+ "+") (number_literal "-0x7fd4")) () ")")))) (+ "+") (number_literal "-0x3fd8")) () ")"))))) (; ";")) (goto_statement "goto LAB_000fbbb8;" (goto "goto") (statement_identifier "LAB_000fbbb8") (; ";")) (labeled_statement "LAB_000fc0a8:\n  pwStack_210 = (word *)(**(code **)(pcStack_230 + -0x6084))(unaff_s7,pwStack_214,unaff_s4,unaff_s8)\n  ;" (statement_identifier "LAB_000fc0a8") (: ":") (expression_statement "pwStack_210 = (word *)(**(code **)(pcStack_230 + -0x6084))(unaff_s7,pwStack_214,unaff_s4,unaff_s8)\n  ;" (assignment_expression "pwStack_210 = (word *)(**(code **)(pcStack_230 + -0x6084))(unaff_s7,pwStack_214,unaff_s4,unaff_s8)" (identifier "pwStack_210") (= "=") (cast_expression "(word *)(**(code **)(pcStack_230 + -0x6084))(unaff_s7,pwStack_214,unaff_s4,unaff_s8)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcStack_230 + -0x6084))(unaff_s7,pwStack_214,unaff_s4,unaff_s8)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x6084))" (( "(") (pointer_expression "**(code **)(pcStack_230 + -0x6084)" (* "*") (pointer_expression "*(code **)(pcStack_230 + -0x6084)" (* "*") (cast_expression "(code **)(pcStack_230 + -0x6084)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x6084)" (( "(") (binary_expression "pcStack_230 + -0x6084" (identifier "pcStack_230") (+ "+") (number_literal "-0x6084")) () ")"))))) () ")")) (argument_list "(unaff_s7,pwStack_214,unaff_s4,unaff_s8)" (( "(") (identifier "unaff_s7") (, ",") (identifier "pwStack_214") (, ",") (identifier "unaff_s4") (, ",") (identifier "unaff_s8") () ")"))))) (; ";"))) (expression_statement "pwVar15 = unaff_s3;" (assignment_expression "pwVar15 = unaff_s3" (identifier "pwVar15") (= "=") (identifier "unaff_s3")) (; ";")) (expression_statement "iVar13 = (**(code **)(pcStack_230 + -0x6084))(unaff_s5,pbStack_228,unaff_s3,unaff_s6);" (assignment_expression "iVar13 = (**(code **)(pcStack_230 + -0x6084))(unaff_s5,pbStack_228,unaff_s3,unaff_s6)" (identifier "iVar13") (= "=") (call_expression "(**(code **)(pcStack_230 + -0x6084))(unaff_s5,pbStack_228,unaff_s3,unaff_s6)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x6084))" (( "(") (pointer_expression "**(code **)(pcStack_230 + -0x6084)" (* "*") (pointer_expression "*(code **)(pcStack_230 + -0x6084)" (* "*") (cast_expression "(code **)(pcStack_230 + -0x6084)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x6084)" (( "(") (binary_expression "pcStack_230 + -0x6084" (identifier "pcStack_230") (+ "+") (number_literal "-0x6084")) () ")"))))) () ")")) (argument_list "(unaff_s5,pbStack_228,unaff_s3,unaff_s6)" (( "(") (identifier "unaff_s5") (, ",") (identifier "pbStack_228") (, ",") (identifier "unaff_s3") (, ",") (identifier "unaff_s6") () ")")))) (; ";")) (expression_statement "pcVar23 = pcStack_230;" (assignment_expression "pcVar23 = pcStack_230" (identifier "pcVar23") (= "=") (identifier "pcStack_230")) (; ";")) (if_statement "if (pwStack_210 == (word *)0x0) {\n    if (iVar13 == 0) goto LAB_000fbbb0;\nLAB_000fc100:\n    if (iVar13 + 2U < 2) goto LAB_000fc060;\n    iStack_204 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc);\n    iStack_1fc = iStack_204;\n    iStack_1f8 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8);\n    pcVar23 = pcStack_230;\n    if (iStack_204 != iStack_1f8) goto LAB_000fbb0c;\n    pwStack_214 = (word *)((int)pwStack_214 + (int)pwStack_210);\n    pbStack_228 = pbStack_228 + (int)pwStack_210;\n    pwStack_208 = (word *)((int)pwStack_208 - (int)pwStack_210);\n  }\n  else {\n    if ((word *)0x1 < pwStack_210 + 1) goto LAB_000fc100;\nLAB_000fc060:\n    if (*(byte *)pwStack_214 != *pbStack_228) goto LAB_000fbb0c;\n    pwStack_214 = (word *)((int)pwStack_214 + 1);\n    pbStack_228 = pbStack_228 + 1;\n    pwStack_208 = (word *)((int)pwStack_208 + -1);\n  }" (if "if") (parenthesized_expression "(pwStack_210 == (word *)0x0)" (( "(") (binary_expression "pwStack_210 == (word *)0x0" (identifier "pwStack_210") (== "==") (cast_expression "(word *)0x0" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    if (iVar13 == 0) goto LAB_000fbbb0;\nLAB_000fc100:\n    if (iVar13 + 2U < 2) goto LAB_000fc060;\n    iStack_204 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc);\n    iStack_1fc = iStack_204;\n    iStack_1f8 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8);\n    pcVar23 = pcStack_230;\n    if (iStack_204 != iStack_1f8) goto LAB_000fbb0c;\n    pwStack_214 = (word *)((int)pwStack_214 + (int)pwStack_210);\n    pbStack_228 = pbStack_228 + (int)pwStack_210;\n    pwStack_208 = (word *)((int)pwStack_208 - (int)pwStack_210);\n  }" ({ "{") (if_statement "if (iVar13 == 0) goto LAB_000fbbb0;" (if "if") (parenthesized_expression "(iVar13 == 0)" (( "(") (binary_expression "iVar13 == 0" (identifier "iVar13") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000fbbb0;" (goto "goto") (statement_identifier "LAB_000fbbb0") (; ";"))) (labeled_statement "LAB_000fc100:\n    if (iVar13 + 2U < 2) goto LAB_000fc060;" (statement_identifier "LAB_000fc100") (: ":") (if_statement "if (iVar13 + 2U < 2) goto LAB_000fc060;" (if "if") (parenthesized_expression "(iVar13 + 2U < 2)" (( "(") (binary_expression "iVar13 + 2U < 2" (binary_expression "iVar13 + 2U" (identifier "iVar13") (+ "+") (number_literal "2U")) (< "<") (number_literal "2")) () ")")) (goto_statement "goto LAB_000fc060;" (goto "goto") (statement_identifier "LAB_000fc060") (; ";")))) (expression_statement "iStack_204 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc);" (assignment_expression "iStack_204 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc)" (identifier "iStack_204") (= "=") (call_expression "(**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x5fc8))" (( "(") (pointer_expression "**(code **)(pcStack_230 + -0x5fc8)" (* "*") (pointer_expression "*(code **)(pcStack_230 + -0x5fc8)" (* "*") (cast_expression "(code **)(pcStack_230 + -0x5fc8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x5fc8)" (( "(") (binary_expression "pcStack_230 + -0x5fc8" (identifier "pcStack_230") (+ "+") (number_literal "-0x5fc8")) () ")"))))) () ")")) (argument_list "(iStack_1fc)" (( "(") (identifier "iStack_1fc") () ")")))) (; ";")) (expression_statement "iStack_1fc = iStack_204;" (assignment_expression "iStack_1fc = iStack_204" (identifier "iStack_1fc") (= "=") (identifier "iStack_204")) (; ";")) (expression_statement "iStack_1f8 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8);" (assignment_expression "iStack_1f8 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8)" (identifier "iStack_1f8") (= "=") (call_expression "(**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x5fc8))" (( "(") (pointer_expression "**(code **)(pcStack_230 + -0x5fc8)" (* "*") (pointer_expression "*(code **)(pcStack_230 + -0x5fc8)" (* "*") (cast_expression "(code **)(pcStack_230 + -0x5fc8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x5fc8)" (( "(") (binary_expression "pcStack_230 + -0x5fc8" (identifier "pcStack_230") (+ "+") (number_literal "-0x5fc8")) () ")"))))) () ")")) (argument_list "(iStack_1f8)" (( "(") (identifier "iStack_1f8") () ")")))) (; ";")) (expression_statement "pcVar23 = pcStack_230;" (assignment_expression "pcVar23 = pcStack_230" (identifier "pcVar23") (= "=") (identifier "pcStack_230")) (; ";")) (if_statement "if (iStack_204 != iStack_1f8) goto LAB_000fbb0c;" (if "if") (parenthesized_expression "(iStack_204 != iStack_1f8)" (( "(") (binary_expression "iStack_204 != iStack_1f8" (identifier "iStack_204") (!= "!=") (identifier "iStack_1f8")) () ")")) (goto_statement "goto LAB_000fbb0c;" (goto "goto") (statement_identifier "LAB_000fbb0c") (; ";"))) (expression_statement "pwStack_214 = (word *)((int)pwStack_214 + (int)pwStack_210);" (assignment_expression "pwStack_214 = (word *)((int)pwStack_214 + (int)pwStack_210)" (identifier "pwStack_214") (= "=") (cast_expression "(word *)((int)pwStack_214 + (int)pwStack_210)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pwStack_214 + (int)pwStack_210)" (( "(") (binary_expression "(int)pwStack_214 + (int)pwStack_210" (cast_expression "(int)pwStack_214" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pwStack_214")) (+ "+") (cast_expression "(int)pwStack_210" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pwStack_210"))) () ")")))) (; ";")) (expression_statement "pbStack_228 = pbStack_228 + (int)pwStack_210;" (assignment_expression "pbStack_228 = pbStack_228 + (int)pwStack_210" (identifier "pbStack_228") (= "=") (binary_expression "pbStack_228 + (int)pwStack_210" (identifier "pbStack_228") (+ "+") (cast_expression "(int)pwStack_210" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pwStack_210")))) (; ";")) (expression_statement "pwStack_208 = (word *)((int)pwStack_208 - (int)pwStack_210);" (assignment_expression "pwStack_208 = (word *)((int)pwStack_208 - (int)pwStack_210)" (identifier "pwStack_208") (= "=") (cast_expression "(word *)((int)pwStack_208 - (int)pwStack_210)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pwStack_208 - (int)pwStack_210)" (( "(") (binary_expression "(int)pwStack_208 - (int)pwStack_210" (cast_expression "(int)pwStack_208" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pwStack_208")) (- "-") (cast_expression "(int)pwStack_210" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pwStack_210"))) () ")")))) (; ";")) (} "}")) (else_clause "else {\n    if ((word *)0x1 < pwStack_210 + 1) goto LAB_000fc100;\nLAB_000fc060:\n    if (*(byte *)pwStack_214 != *pbStack_228) goto LAB_000fbb0c;\n    pwStack_214 = (word *)((int)pwStack_214 + 1);\n    pbStack_228 = pbStack_228 + 1;\n    pwStack_208 = (word *)((int)pwStack_208 + -1);\n  }" (else "else") (compound_statement "{\n    if ((word *)0x1 < pwStack_210 + 1) goto LAB_000fc100;\nLAB_000fc060:\n    if (*(byte *)pwStack_214 != *pbStack_228) goto LAB_000fbb0c;\n    pwStack_214 = (word *)((int)pwStack_214 + 1);\n    pbStack_228 = pbStack_228 + 1;\n    pwStack_208 = (word *)((int)pwStack_208 + -1);\n  }" ({ "{") (if_statement "if ((word *)0x1 < pwStack_210 + 1) goto LAB_000fc100;" (if "if") (parenthesized_expression "((word *)0x1 < pwStack_210 + 1)" (( "(") (binary_expression "(word *)0x1 < pwStack_210 + 1" (cast_expression "(word *)0x1" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1")) (< "<") (binary_expression "pwStack_210 + 1" (identifier "pwStack_210") (+ "+") (number_literal "1"))) () ")")) (goto_statement "goto LAB_000fc100;" (goto "goto") (statement_identifier "LAB_000fc100") (; ";"))) (labeled_statement "LAB_000fc060:\n    if (*(byte *)pwStack_214 != *pbStack_228) goto LAB_000fbb0c;" (statement_identifier "LAB_000fc060") (: ":") (if_statement "if (*(byte *)pwStack_214 != *pbStack_228) goto LAB_000fbb0c;" (if "if") (parenthesized_expression "(*(byte *)pwStack_214 != *pbStack_228)" (( "(") (binary_expression "*(byte *)pwStack_214 != *pbStack_228" (pointer_expression "*(byte *)pwStack_214" (* "*") (cast_expression "(byte *)pwStack_214" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pwStack_214"))) (!= "!=") (pointer_expression "*pbStack_228" (* "*") (identifier "pbStack_228"))) () ")")) (goto_statement "goto LAB_000fbb0c;" (goto "goto") (statement_identifier "LAB_000fbb0c") (; ";")))) (expression_statement "pwStack_214 = (word *)((int)pwStack_214 + 1);" (assignment_expression "pwStack_214 = (word *)((int)pwStack_214 + 1)" (identifier "pwStack_214") (= "=") (cast_expression "(word *)((int)pwStack_214 + 1)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pwStack_214 + 1)" (( "(") (binary_expression "(int)pwStack_214 + 1" (cast_expression "(int)pwStack_214" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pwStack_214")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "pbStack_228 = pbStack_228 + 1;" (assignment_expression "pbStack_228 = pbStack_228 + 1" (identifier "pbStack_228") (= "=") (binary_expression "pbStack_228 + 1" (identifier "pbStack_228") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pwStack_208 = (word *)((int)pwStack_208 + -1);" (assignment_expression "pwStack_208 = (word *)((int)pwStack_208 + -1)" (identifier "pwStack_208") (= "=") (cast_expression "(word *)((int)pwStack_208 + -1)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pwStack_208 + -1)" (( "(") (binary_expression "(int)pwStack_208 + -1" (cast_expression "(int)pwStack_208" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pwStack_208")) (+ "+") (number_literal "-1")) () ")")))) (; ";")) (} "}")))) (expression_statement "iVar13 = *(int *)(pcStack_230 + -0x7fd4);" (assignment_expression "iVar13 = *(int *)(pcStack_230 + -0x7fd4)" (identifier "iVar13") (= "=") (pointer_expression "*(int *)(pcStack_230 + -0x7fd4)" (* "*") (cast_expression "(int *)(pcStack_230 + -0x7fd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_230 + -0x7fd4)" (( "(") (binary_expression "pcStack_230 + -0x7fd4" (identifier "pcStack_230") (+ "+") (number_literal "-0x7fd4")) () ")"))))) (; ";")) (expression_statement "pcVar23 = pcStack_230;" (assignment_expression "pcVar23 = pcStack_230" (identifier "pcVar23") (= "=") (identifier "pcStack_230")) (; ";")) (if_statement "if (pwStack_208 == (word *)0x0) goto LAB_000fbbb4;" (if "if") (parenthesized_expression "(pwStack_208 == (word *)0x0)" (( "(") (binary_expression "pwStack_208 == (word *)0x0" (identifier "pwStack_208") (== "==") (cast_expression "(word *)0x0" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000fbbb4;" (goto "goto") (statement_identifier "LAB_000fbbb4") (; ";"))) (goto_statement "goto LAB_000fc0a8;" (goto "goto") (statement_identifier "LAB_000fc0a8") (; ";")) (labeled_statement "code_r0x000fbef4:\n  iVar13 = *(int *)(iStack_224 + -0x3fd4);" (statement_identifier "code_r0x000fbef4") (: ":") (expression_statement "iVar13 = *(int *)(iStack_224 + -0x3fd4);" (assignment_expression "iVar13 = *(int *)(iStack_224 + -0x3fd4)" (identifier "iVar13") (= "=") (pointer_expression "*(int *)(iStack_224 + -0x3fd4)" (* "*") (cast_expression "(int *)(iStack_224 + -0x3fd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iStack_224 + -0x3fd4)" (( "(") (binary_expression "iStack_224 + -0x3fd4" (identifier "iStack_224") (+ "+") (number_literal "-0x3fd4")) () ")"))))) (; ";"))) (expression_statement "pcVar23 = pcStack_230;" (assignment_expression "pcVar23 = pcStack_230" (identifier "pcVar23") (= "=") (identifier "pcStack_230")) (; ";")) (goto_statement "goto LAB_000fbb10;" (goto "goto") (statement_identifier "LAB_000fbb10") (; ";")) (labeled_statement "LAB_000fbbb0:\n  iVar13 = *(int *)(pcVar23 + -0x7fd4);" (statement_identifier "LAB_000fbbb0") (: ":") (expression_statement "iVar13 = *(int *)(pcVar23 + -0x7fd4);" (assignment_expression "iVar13 = *(int *)(pcVar23 + -0x7fd4)" (identifier "iVar13") (= "=") (pointer_expression "*(int *)(pcVar23 + -0x7fd4)" (* "*") (cast_expression "(int *)(pcVar23 + -0x7fd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar23 + -0x7fd4)" (( "(") (binary_expression "pcVar23 + -0x7fd4" (identifier "pcVar23") (+ "+") (number_literal "-0x7fd4")) () ")"))))) (; ";"))) (labeled_statement "LAB_000fbbb4:\n  pcVar19 = *(char **)(iVar13 + -0x3fd8);" (statement_identifier "LAB_000fbbb4") (: ":") (expression_statement "pcVar19 = *(char **)(iVar13 + -0x3fd8);" (assignment_expression "pcVar19 = *(char **)(iVar13 + -0x3fd8)" (identifier "pcVar19") (= "=") (pointer_expression "*(char **)(iVar13 + -0x3fd8)" (* "*") (cast_expression "(char **)(iVar13 + -0x3fd8)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar13 + -0x3fd8)" (( "(") (binary_expression "iVar13 + -0x3fd8" (identifier "iVar13") (+ "+") (number_literal "-0x3fd8")) () ")"))))) (; ";"))) (labeled_statement "LAB_000fbbb8:\n  if ((pcVar19 == (char *)0x0) ||\n     ((piVar9 = *(int **)(pcVar23 + -0x65a8), *pcVar19 == '.' &&\n      (piVar9 = *(int **)(pcVar23 + -0x65a8), pcVar19[1] == '\0')))) {\n    iVar5 = (**(code **)(pcVar23 + -0x60fc))(pwVar16);\n    uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);\n    pwVar14 = (word *)(**(code **)(pcStack_230 + -0x6074))(uVar7,pwVar16);\n  }\n  else {\n    if ((*piVar9 == 0) || (**(char **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0) != '~')) {\n      iVar13 = *(int *)(pcVar23 + -0x7fd4);\n      unaff_s3 = (word *)(**(code **)(pcVar23 + -0x60fc))(*(undefined4 *)(iVar13 + -0x3fe0));\n      iVar5 = (**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13);\n      pwVar14 = (word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2));\n      iVar5 = *(int *)(iVar13 + -0x3fe0);\n      (**(code **)(pcStack_230 + -0x6074))(pwVar14,iVar5);\n      unaff_s4 = (word *)((int)unaff_s3 + iVar5);\n      unaff_s5 = unaff_s3;\n      if (*(byte *)((int)unaff_s4 + -1) != 0x2f) {\n        unaff_s5 = (word *)((int)unaff_s3 + 1);\n        unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);\n        *(byte *)unaff_s3 = 0x2f;\n      }\n    }\n    else {\n      unaff_s3 = (word *)(**(code **)(pcVar23 + -0x60fc))();\n      iVar5 = (**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13);\n      pwVar14 = (word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2));\n      unaff_s4 = *(word **)(pcStack_230 + -0x7fd4);\n      (**(code **)(pcStack_230 + -0x6074))(pwVar14,*(undefined4 *)(unaff_s4 + -0x1fec));\n      unaff_s5 = unaff_s3;\n      if (*(byte *)((int)unaff_s3 + *(int *)(unaff_s4 + -0x1fec) + -1) != 0x2f) {\n        unaff_s5 = (word *)((int)unaff_s3 + 1);\n        unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);\n        *(byte *)unaff_s3 = 0x2f;\n        *(byte *)((int)pwVar14 + (int)unaff_s5) = 0;\n      }\n    }\n    (**(code **)(pcStack_230 + -0x6074))((byte *)((int)pwVar14 + (int)unaff_s5),pwVar16);\n  }" (statement_identifier "LAB_000fbbb8") (: ":") (if_statement "if ((pcVar19 == (char *)0x0) ||\n     ((piVar9 = *(int **)(pcVar23 + -0x65a8), *pcVar19 == '.' &&\n      (piVar9 = *(int **)(pcVar23 + -0x65a8), pcVar19[1] == '\0')))) {\n    iVar5 = (**(code **)(pcVar23 + -0x60fc))(pwVar16);\n    uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);\n    pwVar14 = (word *)(**(code **)(pcStack_230 + -0x6074))(uVar7,pwVar16);\n  }\n  else {\n    if ((*piVar9 == 0) || (**(char **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0) != '~')) {\n      iVar13 = *(int *)(pcVar23 + -0x7fd4);\n      unaff_s3 = (word *)(**(code **)(pcVar23 + -0x60fc))(*(undefined4 *)(iVar13 + -0x3fe0));\n      iVar5 = (**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13);\n      pwVar14 = (word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2));\n      iVar5 = *(int *)(iVar13 + -0x3fe0);\n      (**(code **)(pcStack_230 + -0x6074))(pwVar14,iVar5);\n      unaff_s4 = (word *)((int)unaff_s3 + iVar5);\n      unaff_s5 = unaff_s3;\n      if (*(byte *)((int)unaff_s4 + -1) != 0x2f) {\n        unaff_s5 = (word *)((int)unaff_s3 + 1);\n        unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);\n        *(byte *)unaff_s3 = 0x2f;\n      }\n    }\n    else {\n      unaff_s3 = (word *)(**(code **)(pcVar23 + -0x60fc))();\n      iVar5 = (**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13);\n      pwVar14 = (word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2));\n      unaff_s4 = *(word **)(pcStack_230 + -0x7fd4);\n      (**(code **)(pcStack_230 + -0x6074))(pwVar14,*(undefined4 *)(unaff_s4 + -0x1fec));\n      unaff_s5 = unaff_s3;\n      if (*(byte *)((int)unaff_s3 + *(int *)(unaff_s4 + -0x1fec) + -1) != 0x2f) {\n        unaff_s5 = (word *)((int)unaff_s3 + 1);\n        unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);\n        *(byte *)unaff_s3 = 0x2f;\n        *(byte *)((int)pwVar14 + (int)unaff_s5) = 0;\n      }\n    }\n    (**(code **)(pcStack_230 + -0x6074))((byte *)((int)pwVar14 + (int)unaff_s5),pwVar16);\n  }" (if "if") (parenthesized_expression "((pcVar19 == (char *)0x0) ||\n     ((piVar9 = *(int **)(pcVar23 + -0x65a8), *pcVar19 == '.' &&\n      (piVar9 = *(int **)(pcVar23 + -0x65a8), pcVar19[1] == '\0'))))" (( "(") (binary_expression "(pcVar19 == (char *)0x0) ||\n     ((piVar9 = *(int **)(pcVar23 + -0x65a8), *pcVar19 == '.' &&\n      (piVar9 = *(int **)(pcVar23 + -0x65a8), pcVar19[1] == '\0')))" (parenthesized_expression "(pcVar19 == (char *)0x0)" (( "(") (binary_expression "pcVar19 == (char *)0x0" (identifier "pcVar19") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "((piVar9 = *(int **)(pcVar23 + -0x65a8), *pcVar19 == '.' &&\n      (piVar9 = *(int **)(pcVar23 + -0x65a8), pcVar19[1] == '\0')))" (( "(") (parenthesized_expression "(piVar9 = *(int **)(pcVar23 + -0x65a8), *pcVar19 == '.' &&\n      (piVar9 = *(int **)(pcVar23 + -0x65a8), pcVar19[1] == '\0'))" (( "(") (comma_expression "piVar9 = *(int **)(pcVar23 + -0x65a8), *pcVar19 == '.' &&\n      (piVar9 = *(int **)(pcVar23 + -0x65a8), pcVar19[1] == '\0')" (assignment_expression "piVar9 = *(int **)(pcVar23 + -0x65a8)" (identifier "piVar9") (= "=") (pointer_expression "*(int **)(pcVar23 + -0x65a8)" (* "*") (cast_expression "(int **)(pcVar23 + -0x65a8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + -0x65a8)" (( "(") (binary_expression "pcVar23 + -0x65a8" (identifier "pcVar23") (+ "+") (number_literal "-0x65a8")) () ")"))))) (, ",") (binary_expression "*pcVar19 == '.' &&\n      (piVar9 = *(int **)(pcVar23 + -0x65a8), pcVar19[1] == '\0')" (binary_expression "*pcVar19 == '.'" (pointer_expression "*pcVar19" (* "*") (identifier "pcVar19")) (== "==") (char_literal "'.'" (' "'") (character ".") (' "'"))) (&& "&&") (parenthesized_expression "(piVar9 = *(int **)(pcVar23 + -0x65a8), pcVar19[1] == '\0')" (( "(") (comma_expression "piVar9 = *(int **)(pcVar23 + -0x65a8), pcVar19[1] == '\0'" (assignment_expression "piVar9 = *(int **)(pcVar23 + -0x65a8)" (identifier "piVar9") (= "=") (pointer_expression "*(int **)(pcVar23 + -0x65a8)" (* "*") (cast_expression "(int **)(pcVar23 + -0x65a8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + -0x65a8)" (( "(") (binary_expression "pcVar23 + -0x65a8" (identifier "pcVar23") (+ "+") (number_literal "-0x65a8")) () ")"))))) (, ",") (binary_expression "pcVar19[1] == '\0'" (subscript_expression "pcVar19[1]" (identifier "pcVar19") ([ "[") (number_literal "1") (] "]")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) () ")")))) () ")")) () ")"))) () ")")) (compound_statement "{\n    iVar5 = (**(code **)(pcVar23 + -0x60fc))(pwVar16);\n    uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);\n    pwVar14 = (word *)(**(code **)(pcStack_230 + -0x6074))(uVar7,pwVar16);\n  }" ({ "{") (expression_statement "iVar5 = (**(code **)(pcVar23 + -0x60fc))(pwVar16);" (assignment_expression "iVar5 = (**(code **)(pcVar23 + -0x60fc))(pwVar16)" (identifier "iVar5") (= "=") (call_expression "(**(code **)(pcVar23 + -0x60fc))(pwVar16)" (parenthesized_expression "(**(code **)(pcVar23 + -0x60fc))" (( "(") (pointer_expression "**(code **)(pcVar23 + -0x60fc)" (* "*") (pointer_expression "*(code **)(pcVar23 + -0x60fc)" (* "*") (cast_expression "(code **)(pcVar23 + -0x60fc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + -0x60fc)" (( "(") (binary_expression "pcVar23 + -0x60fc" (identifier "pcVar23") (+ "+") (number_literal "-0x60fc")) () ")"))))) () ")")) (argument_list "(pwVar16)" (( "(") (identifier "pwVar16") () ")")))) (; ";")) (expression_statement "uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);" (assignment_expression "uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1)" (identifier "uVar7") (= "=") (call_expression "(**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x7f88))" (( "(") (pointer_expression "**(code **)(pcStack_230 + -0x7f88)" (* "*") (pointer_expression "*(code **)(pcStack_230 + -0x7f88)" (* "*") (cast_expression "(code **)(pcStack_230 + -0x7f88)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x7f88)" (( "(") (binary_expression "pcStack_230 + -0x7f88" (identifier "pcStack_230") (+ "+") (number_literal "-0x7f88")) () ")"))))) () ")")) (argument_list "(iVar5 + 1)" (( "(") (binary_expression "iVar5 + 1" (identifier "iVar5") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "pwVar14 = (word *)(**(code **)(pcStack_230 + -0x6074))(uVar7,pwVar16);" (assignment_expression "pwVar14 = (word *)(**(code **)(pcStack_230 + -0x6074))(uVar7,pwVar16)" (identifier "pwVar14") (= "=") (cast_expression "(word *)(**(code **)(pcStack_230 + -0x6074))(uVar7,pwVar16)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcStack_230 + -0x6074))(uVar7,pwVar16)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x6074))" (( "(") (pointer_expression "**(code **)(pcStack_230 + -0x6074)" (* "*") (pointer_expression "*(code **)(pcStack_230 + -0x6074)" (* "*") (cast_expression "(code **)(pcStack_230 + -0x6074)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x6074)" (( "(") (binary_expression "pcStack_230 + -0x6074" (identifier "pcStack_230") (+ "+") (number_literal "-0x6074")) () ")"))))) () ")")) (argument_list "(uVar7,pwVar16)" (( "(") (identifier "uVar7") (, ",") (identifier "pwVar16") () ")"))))) (; ";")) (} "}")) (else_clause "else {\n    if ((*piVar9 == 0) || (**(char **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0) != '~')) {\n      iVar13 = *(int *)(pcVar23 + -0x7fd4);\n      unaff_s3 = (word *)(**(code **)(pcVar23 + -0x60fc))(*(undefined4 *)(iVar13 + -0x3fe0));\n      iVar5 = (**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13);\n      pwVar14 = (word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2));\n      iVar5 = *(int *)(iVar13 + -0x3fe0);\n      (**(code **)(pcStack_230 + -0x6074))(pwVar14,iVar5);\n      unaff_s4 = (word *)((int)unaff_s3 + iVar5);\n      unaff_s5 = unaff_s3;\n      if (*(byte *)((int)unaff_s4 + -1) != 0x2f) {\n        unaff_s5 = (word *)((int)unaff_s3 + 1);\n        unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);\n        *(byte *)unaff_s3 = 0x2f;\n      }\n    }\n    else {\n      unaff_s3 = (word *)(**(code **)(pcVar23 + -0x60fc))();\n      iVar5 = (**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13);\n      pwVar14 = (word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2));\n      unaff_s4 = *(word **)(pcStack_230 + -0x7fd4);\n      (**(code **)(pcStack_230 + -0x6074))(pwVar14,*(undefined4 *)(unaff_s4 + -0x1fec));\n      unaff_s5 = unaff_s3;\n      if (*(byte *)((int)unaff_s3 + *(int *)(unaff_s4 + -0x1fec) + -1) != 0x2f) {\n        unaff_s5 = (word *)((int)unaff_s3 + 1);\n        unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);\n        *(byte *)unaff_s3 = 0x2f;\n        *(byte *)((int)pwVar14 + (int)unaff_s5) = 0;\n      }\n    }\n    (**(code **)(pcStack_230 + -0x6074))((byte *)((int)pwVar14 + (int)unaff_s5),pwVar16);\n  }" (else "else") (compound_statement "{\n    if ((*piVar9 == 0) || (**(char **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0) != '~')) {\n      iVar13 = *(int *)(pcVar23 + -0x7fd4);\n      unaff_s3 = (word *)(**(code **)(pcVar23 + -0x60fc))(*(undefined4 *)(iVar13 + -0x3fe0));\n      iVar5 = (**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13);\n      pwVar14 = (word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2));\n      iVar5 = *(int *)(iVar13 + -0x3fe0);\n      (**(code **)(pcStack_230 + -0x6074))(pwVar14,iVar5);\n      unaff_s4 = (word *)((int)unaff_s3 + iVar5);\n      unaff_s5 = unaff_s3;\n      if (*(byte *)((int)unaff_s4 + -1) != 0x2f) {\n        unaff_s5 = (word *)((int)unaff_s3 + 1);\n        unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);\n        *(byte *)unaff_s3 = 0x2f;\n      }\n    }\n    else {\n      unaff_s3 = (word *)(**(code **)(pcVar23 + -0x60fc))();\n      iVar5 = (**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13);\n      pwVar14 = (word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2));\n      unaff_s4 = *(word **)(pcStack_230 + -0x7fd4);\n      (**(code **)(pcStack_230 + -0x6074))(pwVar14,*(undefined4 *)(unaff_s4 + -0x1fec));\n      unaff_s5 = unaff_s3;\n      if (*(byte *)((int)unaff_s3 + *(int *)(unaff_s4 + -0x1fec) + -1) != 0x2f) {\n        unaff_s5 = (word *)((int)unaff_s3 + 1);\n        unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);\n        *(byte *)unaff_s3 = 0x2f;\n        *(byte *)((int)pwVar14 + (int)unaff_s5) = 0;\n      }\n    }\n    (**(code **)(pcStack_230 + -0x6074))((byte *)((int)pwVar14 + (int)unaff_s5),pwVar16);\n  }" ({ "{") (if_statement "if ((*piVar9 == 0) || (**(char **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0) != '~')) {\n      iVar13 = *(int *)(pcVar23 + -0x7fd4);\n      unaff_s3 = (word *)(**(code **)(pcVar23 + -0x60fc))(*(undefined4 *)(iVar13 + -0x3fe0));\n      iVar5 = (**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13);\n      pwVar14 = (word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2));\n      iVar5 = *(int *)(iVar13 + -0x3fe0);\n      (**(code **)(pcStack_230 + -0x6074))(pwVar14,iVar5);\n      unaff_s4 = (word *)((int)unaff_s3 + iVar5);\n      unaff_s5 = unaff_s3;\n      if (*(byte *)((int)unaff_s4 + -1) != 0x2f) {\n        unaff_s5 = (word *)((int)unaff_s3 + 1);\n        unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);\n        *(byte *)unaff_s3 = 0x2f;\n      }\n    }\n    else {\n      unaff_s3 = (word *)(**(code **)(pcVar23 + -0x60fc))();\n      iVar5 = (**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13);\n      pwVar14 = (word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2));\n      unaff_s4 = *(word **)(pcStack_230 + -0x7fd4);\n      (**(code **)(pcStack_230 + -0x6074))(pwVar14,*(undefined4 *)(unaff_s4 + -0x1fec));\n      unaff_s5 = unaff_s3;\n      if (*(byte *)((int)unaff_s3 + *(int *)(unaff_s4 + -0x1fec) + -1) != 0x2f) {\n        unaff_s5 = (word *)((int)unaff_s3 + 1);\n        unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);\n        *(byte *)unaff_s3 = 0x2f;\n        *(byte *)((int)pwVar14 + (int)unaff_s5) = 0;\n      }\n    }" (if "if") (parenthesized_expression "((*piVar9 == 0) || (**(char **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0) != '~'))" (( "(") (binary_expression "(*piVar9 == 0) || (**(char **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0) != '~')" (parenthesized_expression "(*piVar9 == 0)" (( "(") (binary_expression "*piVar9 == 0" (pointer_expression "*piVar9" (* "*") (identifier "piVar9")) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(**(char **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0) != '~')" (( "(") (binary_expression "**(char **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0) != '~'" (pointer_expression "**(char **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0)" (* "*") (pointer_expression "*(char **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0)" (* "*") (cast_expression "(char **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0)" (( "(") (binary_expression "*(int *)(pcVar23 + -0x7fd4) + -0x3fe0" (pointer_expression "*(int *)(pcVar23 + -0x7fd4)" (* "*") (cast_expression "(int *)(pcVar23 + -0x7fd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar23 + -0x7fd4)" (( "(") (binary_expression "pcVar23 + -0x7fd4" (identifier "pcVar23") (+ "+") (number_literal "-0x7fd4")) () ")")))) (+ "+") (number_literal "-0x3fe0")) () ")"))))) (!= "!=") (char_literal "'~'" (' "'") (character "~") (' "'"))) () ")"))) () ")")) (compound_statement "{\n      iVar13 = *(int *)(pcVar23 + -0x7fd4);\n      unaff_s3 = (word *)(**(code **)(pcVar23 + -0x60fc))(*(undefined4 *)(iVar13 + -0x3fe0));\n      iVar5 = (**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13);\n      pwVar14 = (word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2));\n      iVar5 = *(int *)(iVar13 + -0x3fe0);\n      (**(code **)(pcStack_230 + -0x6074))(pwVar14,iVar5);\n      unaff_s4 = (word *)((int)unaff_s3 + iVar5);\n      unaff_s5 = unaff_s3;\n      if (*(byte *)((int)unaff_s4 + -1) != 0x2f) {\n        unaff_s5 = (word *)((int)unaff_s3 + 1);\n        unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);\n        *(byte *)unaff_s3 = 0x2f;\n      }\n    }" ({ "{") (expression_statement "iVar13 = *(int *)(pcVar23 + -0x7fd4);" (assignment_expression "iVar13 = *(int *)(pcVar23 + -0x7fd4)" (identifier "iVar13") (= "=") (pointer_expression "*(int *)(pcVar23 + -0x7fd4)" (* "*") (cast_expression "(int *)(pcVar23 + -0x7fd4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar23 + -0x7fd4)" (( "(") (binary_expression "pcVar23 + -0x7fd4" (identifier "pcVar23") (+ "+") (number_literal "-0x7fd4")) () ")"))))) (; ";")) (expression_statement "unaff_s3 = (word *)(**(code **)(pcVar23 + -0x60fc))(*(undefined4 *)(iVar13 + -0x3fe0));" (assignment_expression "unaff_s3 = (word *)(**(code **)(pcVar23 + -0x60fc))(*(undefined4 *)(iVar13 + -0x3fe0))" (identifier "unaff_s3") (= "=") (cast_expression "(word *)(**(code **)(pcVar23 + -0x60fc))(*(undefined4 *)(iVar13 + -0x3fe0))" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar23 + -0x60fc))(*(undefined4 *)(iVar13 + -0x3fe0))" (parenthesized_expression "(**(code **)(pcVar23 + -0x60fc))" (( "(") (pointer_expression "**(code **)(pcVar23 + -0x60fc)" (* "*") (pointer_expression "*(code **)(pcVar23 + -0x60fc)" (* "*") (cast_expression "(code **)(pcVar23 + -0x60fc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + -0x60fc)" (( "(") (binary_expression "pcVar23 + -0x60fc" (identifier "pcVar23") (+ "+") (number_literal "-0x60fc")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(iVar13 + -0x3fe0))" (( "(") (pointer_expression "*(undefined4 *)(iVar13 + -0x3fe0)" (* "*") (cast_expression "(undefined4 *)(iVar13 + -0x3fe0)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + -0x3fe0)" (( "(") (binary_expression "iVar13 + -0x3fe0" (identifier "iVar13") (+ "+") (number_literal "-0x3fe0")) () ")")))) () ")"))))) (; ";")) (expression_statement "iVar5 = (**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13);" (assignment_expression "iVar5 = (**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13)" (identifier "iVar5") (= "=") (call_expression "(**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x60fc))" (( "(") (pointer_expression "**(code **)(pcStack_230 + -0x60fc)" (* "*") (pointer_expression "*(code **)(pcStack_230 + -0x60fc)" (* "*") (cast_expression "(code **)(pcStack_230 + -0x60fc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x60fc)" (( "(") (binary_expression "pcStack_230 + -0x60fc" (identifier "pcStack_230") (+ "+") (number_literal "-0x60fc")) () ")"))))) () ")")) (argument_list "(iVar5 + 0x13)" (( "(") (binary_expression "iVar5 + 0x13" (identifier "iVar5") (+ "+") (number_literal "0x13")) () ")")))) (; ";")) (expression_statement "pwVar14 = (word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2));" (assignment_expression "pwVar14 = (word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2))" (identifier "pwVar14") (= "=") (cast_expression "(word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2))" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2))" (parenthesized_expression "(**(code **)(pcStack_230 + -0x7f88))" (( "(") (pointer_expression "**(code **)(pcStack_230 + -0x7f88)" (* "*") (pointer_expression "*(code **)(pcStack_230 + -0x7f88)" (* "*") (cast_expression "(code **)(pcStack_230 + -0x7f88)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x7f88)" (( "(") (binary_expression "pcStack_230 + -0x7f88" (identifier "pcStack_230") (+ "+") (number_literal "-0x7f88")) () ")"))))) () ")")) (argument_list "((byte *)((int)unaff_s3 + iVar5 + 2))" (( "(") (cast_expression "(byte *)((int)unaff_s3 + iVar5 + 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s3 + iVar5 + 2)" (( "(") (binary_expression "(int)unaff_s3 + iVar5 + 2" (binary_expression "(int)unaff_s3 + iVar5" (cast_expression "(int)unaff_s3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s3")) (+ "+") (identifier "iVar5")) (+ "+") (number_literal "2")) () ")"))) () ")"))))) (; ";")) (expression_statement "iVar5 = *(int *)(iVar13 + -0x3fe0);" (assignment_expression "iVar5 = *(int *)(iVar13 + -0x3fe0)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(iVar13 + -0x3fe0)" (* "*") (cast_expression "(int *)(iVar13 + -0x3fe0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar13 + -0x3fe0)" (( "(") (binary_expression "iVar13 + -0x3fe0" (identifier "iVar13") (+ "+") (number_literal "-0x3fe0")) () ")"))))) (; ";")) (expression_statement "(**(code **)(pcStack_230 + -0x6074))(pwVar14,iVar5);" (call_expression "(**(code **)(pcStack_230 + -0x6074))(pwVar14,iVar5)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x6074))" (( "(") (pointer_expression "**(code **)(pcStack_230 + -0x6074)" (* "*") (pointer_expression "*(code **)(pcStack_230 + -0x6074)" (* "*") (cast_expression "(code **)(pcStack_230 + -0x6074)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x6074)" (( "(") (binary_expression "pcStack_230 + -0x6074" (identifier "pcStack_230") (+ "+") (number_literal "-0x6074")) () ")"))))) () ")")) (argument_list "(pwVar14,iVar5)" (( "(") (identifier "pwVar14") (, ",") (identifier "iVar5") () ")"))) (; ";")) (expression_statement "unaff_s4 = (word *)((int)unaff_s3 + iVar5);" (assignment_expression "unaff_s4 = (word *)((int)unaff_s3 + iVar5)" (identifier "unaff_s4") (= "=") (cast_expression "(word *)((int)unaff_s3 + iVar5)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s3 + iVar5)" (( "(") (binary_expression "(int)unaff_s3 + iVar5" (cast_expression "(int)unaff_s3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s3")) (+ "+") (identifier "iVar5")) () ")")))) (; ";")) (expression_statement "unaff_s5 = unaff_s3;" (assignment_expression "unaff_s5 = unaff_s3" (identifier "unaff_s5") (= "=") (identifier "unaff_s3")) (; ";")) (if_statement "if (*(byte *)((int)unaff_s4 + -1) != 0x2f) {\n        unaff_s5 = (word *)((int)unaff_s3 + 1);\n        unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);\n        *(byte *)unaff_s3 = 0x2f;\n      }" (if "if") (parenthesized_expression "(*(byte *)((int)unaff_s4 + -1) != 0x2f)" (( "(") (binary_expression "*(byte *)((int)unaff_s4 + -1) != 0x2f" (pointer_expression "*(byte *)((int)unaff_s4 + -1)" (* "*") (cast_expression "(byte *)((int)unaff_s4 + -1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s4 + -1)" (( "(") (binary_expression "(int)unaff_s4 + -1" (cast_expression "(int)unaff_s4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s4")) (+ "+") (number_literal "-1")) () ")")))) (!= "!=") (number_literal "0x2f")) () ")")) (compound_statement "{\n        unaff_s5 = (word *)((int)unaff_s3 + 1);\n        unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);\n        *(byte *)unaff_s3 = 0x2f;\n      }" ({ "{") (expression_statement "unaff_s5 = (word *)((int)unaff_s3 + 1);" (assignment_expression "unaff_s5 = (word *)((int)unaff_s3 + 1)" (identifier "unaff_s5") (= "=") (cast_expression "(word *)((int)unaff_s3 + 1)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s3 + 1)" (( "(") (binary_expression "(int)unaff_s3 + 1" (cast_expression "(int)unaff_s3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s3")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);" (assignment_expression "unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3)" (identifier "unaff_s3") (= "=") (cast_expression "(word *)((int)pwVar14 + (int)unaff_s3)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pwVar14 + (int)unaff_s3)" (( "(") (binary_expression "(int)pwVar14 + (int)unaff_s3" (cast_expression "(int)pwVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pwVar14")) (+ "+") (cast_expression "(int)unaff_s3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s3"))) () ")")))) (; ";")) (expression_statement "*(byte *)unaff_s3 = 0x2f;" (assignment_expression "*(byte *)unaff_s3 = 0x2f" (pointer_expression "*(byte *)unaff_s3" (* "*") (cast_expression "(byte *)unaff_s3" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "unaff_s3"))) (= "=") (number_literal "0x2f")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      unaff_s3 = (word *)(**(code **)(pcVar23 + -0x60fc))();\n      iVar5 = (**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13);\n      pwVar14 = (word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2));\n      unaff_s4 = *(word **)(pcStack_230 + -0x7fd4);\n      (**(code **)(pcStack_230 + -0x6074))(pwVar14,*(undefined4 *)(unaff_s4 + -0x1fec));\n      unaff_s5 = unaff_s3;\n      if (*(byte *)((int)unaff_s3 + *(int *)(unaff_s4 + -0x1fec) + -1) != 0x2f) {\n        unaff_s5 = (word *)((int)unaff_s3 + 1);\n        unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);\n        *(byte *)unaff_s3 = 0x2f;\n        *(byte *)((int)pwVar14 + (int)unaff_s5) = 0;\n      }\n    }" (else "else") (compound_statement "{\n      unaff_s3 = (word *)(**(code **)(pcVar23 + -0x60fc))();\n      iVar5 = (**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13);\n      pwVar14 = (word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2));\n      unaff_s4 = *(word **)(pcStack_230 + -0x7fd4);\n      (**(code **)(pcStack_230 + -0x6074))(pwVar14,*(undefined4 *)(unaff_s4 + -0x1fec));\n      unaff_s5 = unaff_s3;\n      if (*(byte *)((int)unaff_s3 + *(int *)(unaff_s4 + -0x1fec) + -1) != 0x2f) {\n        unaff_s5 = (word *)((int)unaff_s3 + 1);\n        unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);\n        *(byte *)unaff_s3 = 0x2f;\n        *(byte *)((int)pwVar14 + (int)unaff_s5) = 0;\n      }\n    }" ({ "{") (expression_statement "unaff_s3 = (word *)(**(code **)(pcVar23 + -0x60fc))();" (assignment_expression "unaff_s3 = (word *)(**(code **)(pcVar23 + -0x60fc))()" (identifier "unaff_s3") (= "=") (cast_expression "(word *)(**(code **)(pcVar23 + -0x60fc))()" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar23 + -0x60fc))()" (parenthesized_expression "(**(code **)(pcVar23 + -0x60fc))" (( "(") (pointer_expression "**(code **)(pcVar23 + -0x60fc)" (* "*") (pointer_expression "*(code **)(pcVar23 + -0x60fc)" (* "*") (cast_expression "(code **)(pcVar23 + -0x60fc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + -0x60fc)" (( "(") (binary_expression "pcVar23 + -0x60fc" (identifier "pcVar23") (+ "+") (number_literal "-0x60fc")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "iVar5 = (**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13);" (assignment_expression "iVar5 = (**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13)" (identifier "iVar5") (= "=") (call_expression "(**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x60fc))" (( "(") (pointer_expression "**(code **)(pcStack_230 + -0x60fc)" (* "*") (pointer_expression "*(code **)(pcStack_230 + -0x60fc)" (* "*") (cast_expression "(code **)(pcStack_230 + -0x60fc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x60fc)" (( "(") (binary_expression "pcStack_230 + -0x60fc" (identifier "pcStack_230") (+ "+") (number_literal "-0x60fc")) () ")"))))) () ")")) (argument_list "(iVar5 + 0x13)" (( "(") (binary_expression "iVar5 + 0x13" (identifier "iVar5") (+ "+") (number_literal "0x13")) () ")")))) (; ";")) (expression_statement "pwVar14 = (word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2));" (assignment_expression "pwVar14 = (word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2))" (identifier "pwVar14") (= "=") (cast_expression "(word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2))" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2))" (parenthesized_expression "(**(code **)(pcStack_230 + -0x7f88))" (( "(") (pointer_expression "**(code **)(pcStack_230 + -0x7f88)" (* "*") (pointer_expression "*(code **)(pcStack_230 + -0x7f88)" (* "*") (cast_expression "(code **)(pcStack_230 + -0x7f88)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x7f88)" (( "(") (binary_expression "pcStack_230 + -0x7f88" (identifier "pcStack_230") (+ "+") (number_literal "-0x7f88")) () ")"))))) () ")")) (argument_list "((byte *)((int)unaff_s3 + iVar5 + 2))" (( "(") (cast_expression "(byte *)((int)unaff_s3 + iVar5 + 2)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s3 + iVar5 + 2)" (( "(") (binary_expression "(int)unaff_s3 + iVar5 + 2" (binary_expression "(int)unaff_s3 + iVar5" (cast_expression "(int)unaff_s3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s3")) (+ "+") (identifier "iVar5")) (+ "+") (number_literal "2")) () ")"))) () ")"))))) (; ";")) (expression_statement "unaff_s4 = *(word **)(pcStack_230 + -0x7fd4);" (assignment_expression "unaff_s4 = *(word **)(pcStack_230 + -0x7fd4)" (identifier "unaff_s4") (= "=") (pointer_expression "*(word **)(pcStack_230 + -0x7fd4)" (* "*") (cast_expression "(word **)(pcStack_230 + -0x7fd4)" (( "(") (type_descriptor "word **" (type_identifier "word") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x7fd4)" (( "(") (binary_expression "pcStack_230 + -0x7fd4" (identifier "pcStack_230") (+ "+") (number_literal "-0x7fd4")) () ")"))))) (; ";")) (expression_statement "(**(code **)(pcStack_230 + -0x6074))(pwVar14,*(undefined4 *)(unaff_s4 + -0x1fec));" (call_expression "(**(code **)(pcStack_230 + -0x6074))(pwVar14,*(undefined4 *)(unaff_s4 + -0x1fec))" (parenthesized_expression "(**(code **)(pcStack_230 + -0x6074))" (( "(") (pointer_expression "**(code **)(pcStack_230 + -0x6074)" (* "*") (pointer_expression "*(code **)(pcStack_230 + -0x6074)" (* "*") (cast_expression "(code **)(pcStack_230 + -0x6074)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x6074)" (( "(") (binary_expression "pcStack_230 + -0x6074" (identifier "pcStack_230") (+ "+") (number_literal "-0x6074")) () ")"))))) () ")")) (argument_list "(pwVar14,*(undefined4 *)(unaff_s4 + -0x1fec))" (( "(") (identifier "pwVar14") (, ",") (pointer_expression "*(undefined4 *)(unaff_s4 + -0x1fec)" (* "*") (cast_expression "(undefined4 *)(unaff_s4 + -0x1fec)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s4 + -0x1fec)" (( "(") (binary_expression "unaff_s4 + -0x1fec" (identifier "unaff_s4") (+ "+") (number_literal "-0x1fec")) () ")")))) () ")"))) (; ";")) (expression_statement "unaff_s5 = unaff_s3;" (assignment_expression "unaff_s5 = unaff_s3" (identifier "unaff_s5") (= "=") (identifier "unaff_s3")) (; ";")) (if_statement "if (*(byte *)((int)unaff_s3 + *(int *)(unaff_s4 + -0x1fec) + -1) != 0x2f) {\n        unaff_s5 = (word *)((int)unaff_s3 + 1);\n        unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);\n        *(byte *)unaff_s3 = 0x2f;\n        *(byte *)((int)pwVar14 + (int)unaff_s5) = 0;\n      }" (if "if") (parenthesized_expression "(*(byte *)((int)unaff_s3 + *(int *)(unaff_s4 + -0x1fec) + -1) != 0x2f)" (( "(") (binary_expression "*(byte *)((int)unaff_s3 + *(int *)(unaff_s4 + -0x1fec) + -1) != 0x2f" (pointer_expression "*(byte *)((int)unaff_s3 + *(int *)(unaff_s4 + -0x1fec) + -1)" (* "*") (cast_expression "(byte *)((int)unaff_s3 + *(int *)(unaff_s4 + -0x1fec) + -1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s3 + *(int *)(unaff_s4 + -0x1fec) + -1)" (( "(") (binary_expression "(int)unaff_s3 + *(int *)(unaff_s4 + -0x1fec) + -1" (binary_expression "(int)unaff_s3 + *(int *)(unaff_s4 + -0x1fec)" (cast_expression "(int)unaff_s3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s3")) (+ "+") (pointer_expression "*(int *)(unaff_s4 + -0x1fec)" (* "*") (cast_expression "(int *)(unaff_s4 + -0x1fec)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s4 + -0x1fec)" (( "(") (binary_expression "unaff_s4 + -0x1fec" (identifier "unaff_s4") (+ "+") (number_literal "-0x1fec")) () ")"))))) (+ "+") (number_literal "-1")) () ")")))) (!= "!=") (number_literal "0x2f")) () ")")) (compound_statement "{\n        unaff_s5 = (word *)((int)unaff_s3 + 1);\n        unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);\n        *(byte *)unaff_s3 = 0x2f;\n        *(byte *)((int)pwVar14 + (int)unaff_s5) = 0;\n      }" ({ "{") (expression_statement "unaff_s5 = (word *)((int)unaff_s3 + 1);" (assignment_expression "unaff_s5 = (word *)((int)unaff_s3 + 1)" (identifier "unaff_s5") (= "=") (cast_expression "(word *)((int)unaff_s3 + 1)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s3 + 1)" (( "(") (binary_expression "(int)unaff_s3 + 1" (cast_expression "(int)unaff_s3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s3")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);" (assignment_expression "unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3)" (identifier "unaff_s3") (= "=") (cast_expression "(word *)((int)pwVar14 + (int)unaff_s3)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pwVar14 + (int)unaff_s3)" (( "(") (binary_expression "(int)pwVar14 + (int)unaff_s3" (cast_expression "(int)pwVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pwVar14")) (+ "+") (cast_expression "(int)unaff_s3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s3"))) () ")")))) (; ";")) (expression_statement "*(byte *)unaff_s3 = 0x2f;" (assignment_expression "*(byte *)unaff_s3 = 0x2f" (pointer_expression "*(byte *)unaff_s3" (* "*") (cast_expression "(byte *)unaff_s3" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "unaff_s3"))) (= "=") (number_literal "0x2f")) (; ";")) (expression_statement "*(byte *)((int)pwVar14 + (int)unaff_s5) = 0;" (assignment_expression "*(byte *)((int)pwVar14 + (int)unaff_s5) = 0" (pointer_expression "*(byte *)((int)pwVar14 + (int)unaff_s5)" (* "*") (cast_expression "(byte *)((int)pwVar14 + (int)unaff_s5)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pwVar14 + (int)unaff_s5)" (( "(") (binary_expression "(int)pwVar14 + (int)unaff_s5" (cast_expression "(int)pwVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pwVar14")) (+ "+") (cast_expression "(int)unaff_s5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s5"))) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}"))) (} "}")))) (expression_statement "(**(code **)(pcStack_230 + -0x6074))((byte *)((int)pwVar14 + (int)unaff_s5),pwVar16);" (call_expression "(**(code **)(pcStack_230 + -0x6074))((byte *)((int)pwVar14 + (int)unaff_s5),pwVar16)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x6074))" (( "(") (pointer_expression "**(code **)(pcStack_230 + -0x6074)" (* "*") (pointer_expression "*(code **)(pcStack_230 + -0x6074)" (* "*") (cast_expression "(code **)(pcStack_230 + -0x6074)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x6074)" (( "(") (binary_expression "pcStack_230 + -0x6074" (identifier "pcStack_230") (+ "+") (number_literal "-0x6074")) () ")"))))) () ")")) (argument_list "((byte *)((int)pwVar14 + (int)unaff_s5),pwVar16)" (( "(") (cast_expression "(byte *)((int)pwVar14 + (int)unaff_s5)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pwVar14 + (int)unaff_s5)" (( "(") (binary_expression "(int)pwVar14 + (int)unaff_s5" (cast_expression "(int)pwVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pwVar14")) (+ "+") (cast_expression "(int)unaff_s5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s5"))) () ")"))) (, ",") (identifier "pwVar16") () ")"))) (; ";")) (} "}"))))) (expression_statement "pcVar23 = pcStack_230;" (assignment_expression "pcVar23 = pcStack_230" (identifier "pcVar23") (= "=") (identifier "pcStack_230")) (; ";")) (if_statement "if (pwVar18 != pwVar16) {\n    (**(code **)(pcStack_230 + -0x798c))(pwVar16);\n    pcVar23 = pcStack_230;\n  }" (if "if") (parenthesized_expression "(pwVar18 != pwVar16)" (( "(") (binary_expression "pwVar18 != pwVar16" (identifier "pwVar18") (!= "!=") (identifier "pwVar16")) () ")")) (compound_statement "{\n    (**(code **)(pcStack_230 + -0x798c))(pwVar16);\n    pcVar23 = pcStack_230;\n  }" ({ "{") (expression_statement "(**(code **)(pcStack_230 + -0x798c))(pwVar16);" (call_expression "(**(code **)(pcStack_230 + -0x798c))(pwVar16)" (parenthesized_expression "(**(code **)(pcStack_230 + -0x798c))" (( "(") (pointer_expression "**(code **)(pcStack_230 + -0x798c)" (* "*") (pointer_expression "*(code **)(pcStack_230 + -0x798c)" (* "*") (cast_expression "(code **)(pcStack_230 + -0x798c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_230 + -0x798c)" (( "(") (binary_expression "pcStack_230 + -0x798c" (identifier "pcStack_230") (+ "+") (number_literal "-0x798c")) () ")"))))) () ")")) (argument_list "(pwVar16)" (( "(") (identifier "pwVar16") () ")"))) (; ";")) (expression_statement "pcVar23 = pcStack_230;" (assignment_expression "pcVar23 = pcStack_230" (identifier "pcVar23") (= "=") (identifier "pcStack_230")) (; ";")) (} "}"))) (labeled_statement "LAB_000fbca4:\n  if (iStack_1e4 == **(int **)(pcVar23 + -0x5fb4)) {\n    return pwVar14;\n  }" (statement_identifier "LAB_000fbca4") (: ":") (if_statement "if (iStack_1e4 == **(int **)(pcVar23 + -0x5fb4)) {\n    return pwVar14;\n  }" (if "if") (parenthesized_expression "(iStack_1e4 == **(int **)(pcVar23 + -0x5fb4))" (( "(") (binary_expression "iStack_1e4 == **(int **)(pcVar23 + -0x5fb4)" (identifier "iStack_1e4") (== "==") (pointer_expression "**(int **)(pcVar23 + -0x5fb4)" (* "*") (pointer_expression "*(int **)(pcVar23 + -0x5fb4)" (* "*") (cast_expression "(int **)(pcVar23 + -0x5fb4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + -0x5fb4)" (( "(") (binary_expression "pcVar23 + -0x5fb4" (identifier "pcVar23") (+ "+") (number_literal "-0x5fb4")) () ")")))))) () ")")) (compound_statement "{\n    return pwVar14;\n  }" ({ "{") (return_statement "return pwVar14;" (return "return") (identifier "pwVar14") (; ";")) (} "}")))) (expression_statement "pcVar23 = *(code **)(pcVar23 + -0x6004);" (assignment_expression "pcVar23 = *(code **)(pcVar23 + -0x6004)" (identifier "pcVar23") (= "=") (pointer_expression "*(code **)(pcVar23 + -0x6004)" (* "*") (cast_expression "(code **)(pcVar23 + -0x6004)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + -0x6004)" (( "(") (binary_expression "pcVar23 + -0x6004" (identifier "pcVar23") (+ "+") (number_literal "-0x6004")) () ")"))))) (; ";")) (expression_statement "pcVar25 = FUN_000fc42c;" (assignment_expression "pcVar25 = FUN_000fc42c" (identifier "pcVar25") (= "=") (identifier "FUN_000fc42c")) (; ";")) (expression_statement "iVar5 = iStack_1e4;" (assignment_expression "iVar5 = iStack_1e4" (identifier "iVar5") (= "=") (identifier "iStack_1e4")) (; ";")) (expression_statement "(*pcVar23)();" (call_expression "(*pcVar23)()" (parenthesized_expression "(*pcVar23)" (( "(") (pointer_expression "*pcVar23" (* "*") (identifier "pcVar23")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcStack_280 = pcVar23 + 0x62114;" (assignment_expression "pcStack_280 = pcVar23 + 0x62114" (identifier "pcStack_280") (= "=") (binary_expression "pcVar23 + 0x62114" (identifier "pcVar23") (+ "+") (number_literal "0x62114"))) (; ";")) (expression_statement "aiStack_278[3] = **(int **)(pcVar23 + 0x5c160);" (assignment_expression "aiStack_278[3] = **(int **)(pcVar23 + 0x5c160)" (subscript_expression "aiStack_278[3]" (identifier "aiStack_278") ([ "[") (number_literal "3") (] "]")) (= "=") (pointer_expression "**(int **)(pcVar23 + 0x5c160)" (* "*") (pointer_expression "*(int **)(pcVar23 + 0x5c160)" (* "*") (cast_expression "(int **)(pcVar23 + 0x5c160)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x5c160)" (( "(") (binary_expression "pcVar23 + 0x5c160" (identifier "pcVar23") (+ "+") (number_literal "0x5c160")) () ")")))))) (; ";")) (expression_statement "pwStack_268 = pwVar16;" (assignment_expression "pwStack_268 = pwVar16" (identifier "pwStack_268") (= "=") (identifier "pwVar16")) (; ";")) (expression_statement "pwStack_264 = pwVar18;" (assignment_expression "pwStack_264 = pwVar18" (identifier "pwStack_264") (= "=") (identifier "pwVar18")) (; ";")) (expression_statement "pwStack_260 = pwVar14;" (assignment_expression "pwStack_260 = pwVar14" (identifier "pwStack_260") (= "=") (identifier "pwVar14")) (; ";")) (expression_statement "pwStack_25c = unaff_s3;" (assignment_expression "pwStack_25c = unaff_s3" (identifier "pwStack_25c") (= "=") (identifier "unaff_s3")) (; ";")) (expression_statement "pwStack_258 = unaff_s4;" (assignment_expression "pwStack_258 = unaff_s4" (identifier "pwStack_258") (= "=") (identifier "unaff_s4")) (; ";")) (expression_statement "pwStack_254 = unaff_s5;" (assignment_expression "pwStack_254 = unaff_s5" (identifier "pwStack_254") (= "=") (identifier "unaff_s5")) (; ";")) (expression_statement "pwStack_250 = unaff_s6;" (assignment_expression "pwStack_250 = unaff_s6" (identifier "pwStack_250") (= "=") (identifier "unaff_s6")) (; ";")) (expression_statement "pwStack_24c = unaff_s7;" (assignment_expression "pwStack_24c = unaff_s7" (identifier "pwStack_24c") (= "=") (identifier "unaff_s7")) (; ";")) (expression_statement "ppbStack_248 = unaff_s8;" (assignment_expression "ppbStack_248 = unaff_s8" (identifier "ppbStack_248") (= "=") (identifier "unaff_s8")) (; ";")) (expression_statement "pcStack_244 = pcVar25;" (assignment_expression "pcStack_244 = pcVar25" (identifier "pcStack_244") (= "=") (identifier "pcVar25")) (; ";")) (expression_statement "iVar10 = (**(code **)(pcVar23 + 0x5c018))();" (assignment_expression "iVar10 = (**(code **)(pcVar23 + 0x5c018))()" (identifier "iVar10") (= "=") (call_expression "(**(code **)(pcVar23 + 0x5c018))()" (parenthesized_expression "(**(code **)(pcVar23 + 0x5c018))" (( "(") (pointer_expression "**(code **)(pcVar23 + 0x5c018)" (* "*") (pointer_expression "*(code **)(pcVar23 + 0x5c018)" (* "*") (cast_expression "(code **)(pcVar23 + 0x5c018)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x5c018)" (( "(") (binary_expression "pcVar23 + 0x5c018" (identifier "pcVar23") (+ "+") (number_literal "0x5c018")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "aiStack_278[1] = 0;" (assignment_expression "aiStack_278[1] = 0" (subscript_expression "aiStack_278[1]" (identifier "aiStack_278") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "aiStack_278[2] = 0;" (assignment_expression "aiStack_278[2] = 0" (subscript_expression "aiStack_278[2]" (identifier "aiStack_278") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "pwVar16 = (word *)0x0;" (assignment_expression "pwVar16 = (word *)0x0" (identifier "pwVar16") (= "=") (cast_expression "(word *)0x0" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iVar13 = 0;" (assignment_expression "iVar13 = 0" (identifier "iVar13") (= "=") (number_literal "0")) (; ";")) (expression_statement "pcVar23 = pcStack_280;" (assignment_expression "pcVar23 = pcStack_280" (identifier "pcVar23") (= "=") (identifier "pcStack_280")) (; ";")) (while_statement "while( true ) {\n    pwVar14 = (word *)(iVar5 + iVar13);\n    bVar2 = *(byte *)pwVar14;\n    iVar17 = iVar13;\n    if (bVar2 == 0) break;\n    if ((bVar2 < 0x20) || (bVar2 == 0x7f)) {\n      pwVar16 = pwVar16 + 1;\n      iVar13 = iVar13 + 1;\n    }\n    else {\n      pwVar15 = (word *)((iVar10 + 1) - iVar13);\n      iVar11 = (**(code **)(pcVar23 + -0x6084))(aiStack_278,pwVar14,pwVar15,aiStack_278 + 1);\n      pcVar23 = pcStack_280;\n      if (iVar11 + 2U < 2) {\n        pwVar16 = (word *)((int)pwVar16 + 1);\n        iVar13 = iVar13 + 1;\n        aiStack_278[1] = 0;\n        aiStack_278[2] = 0;\n      }\n      else {\n        iVar17 = iVar13 + iVar11;\n        if (iVar11 == 0) break;\n        if (aiStack_278[0] < 0x40) {\n          iVar13 = 1;\n          if (aiStack_278[0] < 0x25) {\n            if (3 < aiStack_278[0] - 0x20U) {\n              pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n              goto LAB_000fc594;\n            }\n            iVar13 = 1;\n          }\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n          if (aiStack_278[0] < 0x41) {\nLAB_000fc594:\n            iVar13 = (*pcVar23)();\n          }\n          else {\n            iVar13 = 1;\n            if (0x5f < aiStack_278[0]) {\n              if (0x1d < aiStack_278[0] - 0x61U) goto LAB_000fc594;\n              iVar13 = 1;\n            }\n          }\n        }\n        if (iVar13 < 0) {\n          iVar13 = 1;\n        }\n        pwVar16 = (word *)((int)pwVar16 + iVar13);\n        iVar13 = iVar17;\n        pcVar23 = pcStack_280;\n      }\n    }\n  }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n    pwVar14 = (word *)(iVar5 + iVar13);\n    bVar2 = *(byte *)pwVar14;\n    iVar17 = iVar13;\n    if (bVar2 == 0) break;\n    if ((bVar2 < 0x20) || (bVar2 == 0x7f)) {\n      pwVar16 = pwVar16 + 1;\n      iVar13 = iVar13 + 1;\n    }\n    else {\n      pwVar15 = (word *)((iVar10 + 1) - iVar13);\n      iVar11 = (**(code **)(pcVar23 + -0x6084))(aiStack_278,pwVar14,pwVar15,aiStack_278 + 1);\n      pcVar23 = pcStack_280;\n      if (iVar11 + 2U < 2) {\n        pwVar16 = (word *)((int)pwVar16 + 1);\n        iVar13 = iVar13 + 1;\n        aiStack_278[1] = 0;\n        aiStack_278[2] = 0;\n      }\n      else {\n        iVar17 = iVar13 + iVar11;\n        if (iVar11 == 0) break;\n        if (aiStack_278[0] < 0x40) {\n          iVar13 = 1;\n          if (aiStack_278[0] < 0x25) {\n            if (3 < aiStack_278[0] - 0x20U) {\n              pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n              goto LAB_000fc594;\n            }\n            iVar13 = 1;\n          }\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n          if (aiStack_278[0] < 0x41) {\nLAB_000fc594:\n            iVar13 = (*pcVar23)();\n          }\n          else {\n            iVar13 = 1;\n            if (0x5f < aiStack_278[0]) {\n              if (0x1d < aiStack_278[0] - 0x61U) goto LAB_000fc594;\n              iVar13 = 1;\n            }\n          }\n        }\n        if (iVar13 < 0) {\n          iVar13 = 1;\n        }\n        pwVar16 = (word *)((int)pwVar16 + iVar13);\n        iVar13 = iVar17;\n        pcVar23 = pcStack_280;\n      }\n    }\n  }" ({ "{") (expression_statement "pwVar14 = (word *)(iVar5 + iVar13);" (assignment_expression "pwVar14 = (word *)(iVar5 + iVar13)" (identifier "pwVar14") (= "=") (cast_expression "(word *)(iVar5 + iVar13)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + iVar13)" (( "(") (binary_expression "iVar5 + iVar13" (identifier "iVar5") (+ "+") (identifier "iVar13")) () ")")))) (; ";")) (expression_statement "bVar2 = *(byte *)pwVar14;" (assignment_expression "bVar2 = *(byte *)pwVar14" (identifier "bVar2") (= "=") (pointer_expression "*(byte *)pwVar14" (* "*") (cast_expression "(byte *)pwVar14" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pwVar14")))) (; ";")) (expression_statement "iVar17 = iVar13;" (assignment_expression "iVar17 = iVar13" (identifier "iVar17") (= "=") (identifier "iVar13")) (; ";")) (if_statement "if (bVar2 == 0) break;" (if "if") (parenthesized_expression "(bVar2 == 0)" (( "(") (binary_expression "bVar2 == 0" (identifier "bVar2") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (if_statement "if ((bVar2 < 0x20) || (bVar2 == 0x7f)) {\n      pwVar16 = pwVar16 + 1;\n      iVar13 = iVar13 + 1;\n    }\n    else {\n      pwVar15 = (word *)((iVar10 + 1) - iVar13);\n      iVar11 = (**(code **)(pcVar23 + -0x6084))(aiStack_278,pwVar14,pwVar15,aiStack_278 + 1);\n      pcVar23 = pcStack_280;\n      if (iVar11 + 2U < 2) {\n        pwVar16 = (word *)((int)pwVar16 + 1);\n        iVar13 = iVar13 + 1;\n        aiStack_278[1] = 0;\n        aiStack_278[2] = 0;\n      }\n      else {\n        iVar17 = iVar13 + iVar11;\n        if (iVar11 == 0) break;\n        if (aiStack_278[0] < 0x40) {\n          iVar13 = 1;\n          if (aiStack_278[0] < 0x25) {\n            if (3 < aiStack_278[0] - 0x20U) {\n              pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n              goto LAB_000fc594;\n            }\n            iVar13 = 1;\n          }\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n          if (aiStack_278[0] < 0x41) {\nLAB_000fc594:\n            iVar13 = (*pcVar23)();\n          }\n          else {\n            iVar13 = 1;\n            if (0x5f < aiStack_278[0]) {\n              if (0x1d < aiStack_278[0] - 0x61U) goto LAB_000fc594;\n              iVar13 = 1;\n            }\n          }\n        }\n        if (iVar13 < 0) {\n          iVar13 = 1;\n        }\n        pwVar16 = (word *)((int)pwVar16 + iVar13);\n        iVar13 = iVar17;\n        pcVar23 = pcStack_280;\n      }\n    }" (if "if") (parenthesized_expression "((bVar2 < 0x20) || (bVar2 == 0x7f))" (( "(") (binary_expression "(bVar2 < 0x20) || (bVar2 == 0x7f)" (parenthesized_expression "(bVar2 < 0x20)" (( "(") (binary_expression "bVar2 < 0x20" (identifier "bVar2") (< "<") (number_literal "0x20")) () ")")) (|| "||") (parenthesized_expression "(bVar2 == 0x7f)" (( "(") (binary_expression "bVar2 == 0x7f" (identifier "bVar2") (== "==") (number_literal "0x7f")) () ")"))) () ")")) (compound_statement "{\n      pwVar16 = pwVar16 + 1;\n      iVar13 = iVar13 + 1;\n    }" ({ "{") (expression_statement "pwVar16 = pwVar16 + 1;" (assignment_expression "pwVar16 = pwVar16 + 1" (identifier "pwVar16") (= "=") (binary_expression "pwVar16 + 1" (identifier "pwVar16") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar13 = iVar13 + 1;" (assignment_expression "iVar13 = iVar13 + 1" (identifier "iVar13") (= "=") (binary_expression "iVar13 + 1" (identifier "iVar13") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (else_clause "else {\n      pwVar15 = (word *)((iVar10 + 1) - iVar13);\n      iVar11 = (**(code **)(pcVar23 + -0x6084))(aiStack_278,pwVar14,pwVar15,aiStack_278 + 1);\n      pcVar23 = pcStack_280;\n      if (iVar11 + 2U < 2) {\n        pwVar16 = (word *)((int)pwVar16 + 1);\n        iVar13 = iVar13 + 1;\n        aiStack_278[1] = 0;\n        aiStack_278[2] = 0;\n      }\n      else {\n        iVar17 = iVar13 + iVar11;\n        if (iVar11 == 0) break;\n        if (aiStack_278[0] < 0x40) {\n          iVar13 = 1;\n          if (aiStack_278[0] < 0x25) {\n            if (3 < aiStack_278[0] - 0x20U) {\n              pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n              goto LAB_000fc594;\n            }\n            iVar13 = 1;\n          }\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n          if (aiStack_278[0] < 0x41) {\nLAB_000fc594:\n            iVar13 = (*pcVar23)();\n          }\n          else {\n            iVar13 = 1;\n            if (0x5f < aiStack_278[0]) {\n              if (0x1d < aiStack_278[0] - 0x61U) goto LAB_000fc594;\n              iVar13 = 1;\n            }\n          }\n        }\n        if (iVar13 < 0) {\n          iVar13 = 1;\n        }\n        pwVar16 = (word *)((int)pwVar16 + iVar13);\n        iVar13 = iVar17;\n        pcVar23 = pcStack_280;\n      }\n    }" (else "else") (compound_statement "{\n      pwVar15 = (word *)((iVar10 + 1) - iVar13);\n      iVar11 = (**(code **)(pcVar23 + -0x6084))(aiStack_278,pwVar14,pwVar15,aiStack_278 + 1);\n      pcVar23 = pcStack_280;\n      if (iVar11 + 2U < 2) {\n        pwVar16 = (word *)((int)pwVar16 + 1);\n        iVar13 = iVar13 + 1;\n        aiStack_278[1] = 0;\n        aiStack_278[2] = 0;\n      }\n      else {\n        iVar17 = iVar13 + iVar11;\n        if (iVar11 == 0) break;\n        if (aiStack_278[0] < 0x40) {\n          iVar13 = 1;\n          if (aiStack_278[0] < 0x25) {\n            if (3 < aiStack_278[0] - 0x20U) {\n              pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n              goto LAB_000fc594;\n            }\n            iVar13 = 1;\n          }\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n          if (aiStack_278[0] < 0x41) {\nLAB_000fc594:\n            iVar13 = (*pcVar23)();\n          }\n          else {\n            iVar13 = 1;\n            if (0x5f < aiStack_278[0]) {\n              if (0x1d < aiStack_278[0] - 0x61U) goto LAB_000fc594;\n              iVar13 = 1;\n            }\n          }\n        }\n        if (iVar13 < 0) {\n          iVar13 = 1;\n        }\n        pwVar16 = (word *)((int)pwVar16 + iVar13);\n        iVar13 = iVar17;\n        pcVar23 = pcStack_280;\n      }\n    }" ({ "{") (expression_statement "pwVar15 = (word *)((iVar10 + 1) - iVar13);" (assignment_expression "pwVar15 = (word *)((iVar10 + 1) - iVar13)" (identifier "pwVar15") (= "=") (cast_expression "(word *)((iVar10 + 1) - iVar13)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((iVar10 + 1) - iVar13)" (( "(") (binary_expression "(iVar10 + 1) - iVar13" (parenthesized_expression "(iVar10 + 1)" (( "(") (binary_expression "iVar10 + 1" (identifier "iVar10") (+ "+") (number_literal "1")) () ")")) (- "-") (identifier "iVar13")) () ")")))) (; ";")) (expression_statement "iVar11 = (**(code **)(pcVar23 + -0x6084))(aiStack_278,pwVar14,pwVar15,aiStack_278 + 1);" (assignment_expression "iVar11 = (**(code **)(pcVar23 + -0x6084))(aiStack_278,pwVar14,pwVar15,aiStack_278 + 1)" (identifier "iVar11") (= "=") (call_expression "(**(code **)(pcVar23 + -0x6084))(aiStack_278,pwVar14,pwVar15,aiStack_278 + 1)" (parenthesized_expression "(**(code **)(pcVar23 + -0x6084))" (( "(") (pointer_expression "**(code **)(pcVar23 + -0x6084)" (* "*") (pointer_expression "*(code **)(pcVar23 + -0x6084)" (* "*") (cast_expression "(code **)(pcVar23 + -0x6084)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + -0x6084)" (( "(") (binary_expression "pcVar23 + -0x6084" (identifier "pcVar23") (+ "+") (number_literal "-0x6084")) () ")"))))) () ")")) (argument_list "(aiStack_278,pwVar14,pwVar15,aiStack_278 + 1)" (( "(") (identifier "aiStack_278") (, ",") (identifier "pwVar14") (, ",") (identifier "pwVar15") (, ",") (binary_expression "aiStack_278 + 1" (identifier "aiStack_278") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "pcVar23 = pcStack_280;" (assignment_expression "pcVar23 = pcStack_280" (identifier "pcVar23") (= "=") (identifier "pcStack_280")) (; ";")) (if_statement "if (iVar11 + 2U < 2) {\n        pwVar16 = (word *)((int)pwVar16 + 1);\n        iVar13 = iVar13 + 1;\n        aiStack_278[1] = 0;\n        aiStack_278[2] = 0;\n      }\n      else {\n        iVar17 = iVar13 + iVar11;\n        if (iVar11 == 0) break;\n        if (aiStack_278[0] < 0x40) {\n          iVar13 = 1;\n          if (aiStack_278[0] < 0x25) {\n            if (3 < aiStack_278[0] - 0x20U) {\n              pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n              goto LAB_000fc594;\n            }\n            iVar13 = 1;\n          }\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n          if (aiStack_278[0] < 0x41) {\nLAB_000fc594:\n            iVar13 = (*pcVar23)();\n          }\n          else {\n            iVar13 = 1;\n            if (0x5f < aiStack_278[0]) {\n              if (0x1d < aiStack_278[0] - 0x61U) goto LAB_000fc594;\n              iVar13 = 1;\n            }\n          }\n        }\n        if (iVar13 < 0) {\n          iVar13 = 1;\n        }\n        pwVar16 = (word *)((int)pwVar16 + iVar13);\n        iVar13 = iVar17;\n        pcVar23 = pcStack_280;\n      }" (if "if") (parenthesized_expression "(iVar11 + 2U < 2)" (( "(") (binary_expression "iVar11 + 2U < 2" (binary_expression "iVar11 + 2U" (identifier "iVar11") (+ "+") (number_literal "2U")) (< "<") (number_literal "2")) () ")")) (compound_statement "{\n        pwVar16 = (word *)((int)pwVar16 + 1);\n        iVar13 = iVar13 + 1;\n        aiStack_278[1] = 0;\n        aiStack_278[2] = 0;\n      }" ({ "{") (expression_statement "pwVar16 = (word *)((int)pwVar16 + 1);" (assignment_expression "pwVar16 = (word *)((int)pwVar16 + 1)" (identifier "pwVar16") (= "=") (cast_expression "(word *)((int)pwVar16 + 1)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pwVar16 + 1)" (( "(") (binary_expression "(int)pwVar16 + 1" (cast_expression "(int)pwVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pwVar16")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "iVar13 = iVar13 + 1;" (assignment_expression "iVar13 = iVar13 + 1" (identifier "iVar13") (= "=") (binary_expression "iVar13 + 1" (identifier "iVar13") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "aiStack_278[1] = 0;" (assignment_expression "aiStack_278[1] = 0" (subscript_expression "aiStack_278[1]" (identifier "aiStack_278") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "aiStack_278[2] = 0;" (assignment_expression "aiStack_278[2] = 0" (subscript_expression "aiStack_278[2]" (identifier "aiStack_278") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n        iVar17 = iVar13 + iVar11;\n        if (iVar11 == 0) break;\n        if (aiStack_278[0] < 0x40) {\n          iVar13 = 1;\n          if (aiStack_278[0] < 0x25) {\n            if (3 < aiStack_278[0] - 0x20U) {\n              pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n              goto LAB_000fc594;\n            }\n            iVar13 = 1;\n          }\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n          if (aiStack_278[0] < 0x41) {\nLAB_000fc594:\n            iVar13 = (*pcVar23)();\n          }\n          else {\n            iVar13 = 1;\n            if (0x5f < aiStack_278[0]) {\n              if (0x1d < aiStack_278[0] - 0x61U) goto LAB_000fc594;\n              iVar13 = 1;\n            }\n          }\n        }\n        if (iVar13 < 0) {\n          iVar13 = 1;\n        }\n        pwVar16 = (word *)((int)pwVar16 + iVar13);\n        iVar13 = iVar17;\n        pcVar23 = pcStack_280;\n      }" (else "else") (compound_statement "{\n        iVar17 = iVar13 + iVar11;\n        if (iVar11 == 0) break;\n        if (aiStack_278[0] < 0x40) {\n          iVar13 = 1;\n          if (aiStack_278[0] < 0x25) {\n            if (3 < aiStack_278[0] - 0x20U) {\n              pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n              goto LAB_000fc594;\n            }\n            iVar13 = 1;\n          }\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n          if (aiStack_278[0] < 0x41) {\nLAB_000fc594:\n            iVar13 = (*pcVar23)();\n          }\n          else {\n            iVar13 = 1;\n            if (0x5f < aiStack_278[0]) {\n              if (0x1d < aiStack_278[0] - 0x61U) goto LAB_000fc594;\n              iVar13 = 1;\n            }\n          }\n        }\n        if (iVar13 < 0) {\n          iVar13 = 1;\n        }\n        pwVar16 = (word *)((int)pwVar16 + iVar13);\n        iVar13 = iVar17;\n        pcVar23 = pcStack_280;\n      }" ({ "{") (expression_statement "iVar17 = iVar13 + iVar11;" (assignment_expression "iVar17 = iVar13 + iVar11" (identifier "iVar17") (= "=") (binary_expression "iVar13 + iVar11" (identifier "iVar13") (+ "+") (identifier "iVar11"))) (; ";")) (if_statement "if (iVar11 == 0) break;" (if "if") (parenthesized_expression "(iVar11 == 0)" (( "(") (binary_expression "iVar11 == 0" (identifier "iVar11") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (if_statement "if (aiStack_278[0] < 0x40) {\n          iVar13 = 1;\n          if (aiStack_278[0] < 0x25) {\n            if (3 < aiStack_278[0] - 0x20U) {\n              pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n              goto LAB_000fc594;\n            }\n            iVar13 = 1;\n          }\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n          if (aiStack_278[0] < 0x41) {\nLAB_000fc594:\n            iVar13 = (*pcVar23)();\n          }\n          else {\n            iVar13 = 1;\n            if (0x5f < aiStack_278[0]) {\n              if (0x1d < aiStack_278[0] - 0x61U) goto LAB_000fc594;\n              iVar13 = 1;\n            }\n          }\n        }" (if "if") (parenthesized_expression "(aiStack_278[0] < 0x40)" (( "(") (binary_expression "aiStack_278[0] < 0x40" (subscript_expression "aiStack_278[0]" (identifier "aiStack_278") ([ "[") (number_literal "0") (] "]")) (< "<") (number_literal "0x40")) () ")")) (compound_statement "{\n          iVar13 = 1;\n          if (aiStack_278[0] < 0x25) {\n            if (3 < aiStack_278[0] - 0x20U) {\n              pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n              goto LAB_000fc594;\n            }\n            iVar13 = 1;\n          }\n        }" ({ "{") (expression_statement "iVar13 = 1;" (assignment_expression "iVar13 = 1" (identifier "iVar13") (= "=") (number_literal "1")) (; ";")) (if_statement "if (aiStack_278[0] < 0x25) {\n            if (3 < aiStack_278[0] - 0x20U) {\n              pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n              goto LAB_000fc594;\n            }\n            iVar13 = 1;\n          }" (if "if") (parenthesized_expression "(aiStack_278[0] < 0x25)" (( "(") (binary_expression "aiStack_278[0] < 0x25" (subscript_expression "aiStack_278[0]" (identifier "aiStack_278") ([ "[") (number_literal "0") (] "]")) (< "<") (number_literal "0x25")) () ")")) (compound_statement "{\n            if (3 < aiStack_278[0] - 0x20U) {\n              pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n              goto LAB_000fc594;\n            }\n            iVar13 = 1;\n          }" ({ "{") (if_statement "if (3 < aiStack_278[0] - 0x20U) {\n              pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n              goto LAB_000fc594;\n            }" (if "if") (parenthesized_expression "(3 < aiStack_278[0] - 0x20U)" (( "(") (binary_expression "3 < aiStack_278[0] - 0x20U" (number_literal "3") (< "<") (binary_expression "aiStack_278[0] - 0x20U" (subscript_expression "aiStack_278[0]" (identifier "aiStack_278") ([ "[") (number_literal "0") (] "]")) (- "-") (number_literal "0x20U"))) () ")")) (compound_statement "{\n              pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n              goto LAB_000fc594;\n            }" ({ "{") (expression_statement "pcVar23 = *(code **)(pcStack_280 + -0x5f84);" (assignment_expression "pcVar23 = *(code **)(pcStack_280 + -0x5f84)" (identifier "pcVar23") (= "=") (pointer_expression "*(code **)(pcStack_280 + -0x5f84)" (* "*") (cast_expression "(code **)(pcStack_280 + -0x5f84)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_280 + -0x5f84)" (( "(") (binary_expression "pcStack_280 + -0x5f84" (identifier "pcStack_280") (+ "+") (number_literal "-0x5f84")) () ")"))))) (; ";")) (goto_statement "goto LAB_000fc594;" (goto "goto") (statement_identifier "LAB_000fc594") (; ";")) (} "}"))) (expression_statement "iVar13 = 1;" (assignment_expression "iVar13 = 1" (identifier "iVar13") (= "=") (number_literal "1")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n          pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n          if (aiStack_278[0] < 0x41) {\nLAB_000fc594:\n            iVar13 = (*pcVar23)();\n          }\n          else {\n            iVar13 = 1;\n            if (0x5f < aiStack_278[0]) {\n              if (0x1d < aiStack_278[0] - 0x61U) goto LAB_000fc594;\n              iVar13 = 1;\n            }\n          }\n        }" (else "else") (compound_statement "{\n          pcVar23 = *(code **)(pcStack_280 + -0x5f84);\n          if (aiStack_278[0] < 0x41) {\nLAB_000fc594:\n            iVar13 = (*pcVar23)();\n          }\n          else {\n            iVar13 = 1;\n            if (0x5f < aiStack_278[0]) {\n              if (0x1d < aiStack_278[0] - 0x61U) goto LAB_000fc594;\n              iVar13 = 1;\n            }\n          }\n        }" ({ "{") (expression_statement "pcVar23 = *(code **)(pcStack_280 + -0x5f84);" (assignment_expression "pcVar23 = *(code **)(pcStack_280 + -0x5f84)" (identifier "pcVar23") (= "=") (pointer_expression "*(code **)(pcStack_280 + -0x5f84)" (* "*") (cast_expression "(code **)(pcStack_280 + -0x5f84)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_280 + -0x5f84)" (( "(") (binary_expression "pcStack_280 + -0x5f84" (identifier "pcStack_280") (+ "+") (number_literal "-0x5f84")) () ")"))))) (; ";")) (if_statement "if (aiStack_278[0] < 0x41) {\nLAB_000fc594:\n            iVar13 = (*pcVar23)();\n          }\n          else {\n            iVar13 = 1;\n            if (0x5f < aiStack_278[0]) {\n              if (0x1d < aiStack_278[0] - 0x61U) goto LAB_000fc594;\n              iVar13 = 1;\n            }\n          }" (if "if") (parenthesized_expression "(aiStack_278[0] < 0x41)" (( "(") (binary_expression "aiStack_278[0] < 0x41" (subscript_expression "aiStack_278[0]" (identifier "aiStack_278") ([ "[") (number_literal "0") (] "]")) (< "<") (number_literal "0x41")) () ")")) (compound_statement "{\nLAB_000fc594:\n            iVar13 = (*pcVar23)();\n          }" ({ "{") (labeled_statement "LAB_000fc594:\n            iVar13 = (*pcVar23)();" (statement_identifier "LAB_000fc594") (: ":") (expression_statement "iVar13 = (*pcVar23)();" (assignment_expression "iVar13 = (*pcVar23)()" (identifier "iVar13") (= "=") (call_expression "(*pcVar23)()" (parenthesized_expression "(*pcVar23)" (( "(") (pointer_expression "*pcVar23" (* "*") (identifier "pcVar23")) () ")")) (argument_list "()" (( "(") () ")")))) (; ";"))) (} "}")) (else_clause "else {\n            iVar13 = 1;\n            if (0x5f < aiStack_278[0]) {\n              if (0x1d < aiStack_278[0] - 0x61U) goto LAB_000fc594;\n              iVar13 = 1;\n            }\n          }" (else "else") (compound_statement "{\n            iVar13 = 1;\n            if (0x5f < aiStack_278[0]) {\n              if (0x1d < aiStack_278[0] - 0x61U) goto LAB_000fc594;\n              iVar13 = 1;\n            }\n          }" ({ "{") (expression_statement "iVar13 = 1;" (assignment_expression "iVar13 = 1" (identifier "iVar13") (= "=") (number_literal "1")) (; ";")) (if_statement "if (0x5f < aiStack_278[0]) {\n              if (0x1d < aiStack_278[0] - 0x61U) goto LAB_000fc594;\n              iVar13 = 1;\n            }" (if "if") (parenthesized_expression "(0x5f < aiStack_278[0])" (( "(") (binary_expression "0x5f < aiStack_278[0]" (number_literal "0x5f") (< "<") (subscript_expression "aiStack_278[0]" (identifier "aiStack_278") ([ "[") (number_literal "0") (] "]"))) () ")")) (compound_statement "{\n              if (0x1d < aiStack_278[0] - 0x61U) goto LAB_000fc594;\n              iVar13 = 1;\n            }" ({ "{") (if_statement "if (0x1d < aiStack_278[0] - 0x61U) goto LAB_000fc594;" (if "if") (parenthesized_expression "(0x1d < aiStack_278[0] - 0x61U)" (( "(") (binary_expression "0x1d < aiStack_278[0] - 0x61U" (number_literal "0x1d") (< "<") (binary_expression "aiStack_278[0] - 0x61U" (subscript_expression "aiStack_278[0]" (identifier "aiStack_278") ([ "[") (number_literal "0") (] "]")) (- "-") (number_literal "0x61U"))) () ")")) (goto_statement "goto LAB_000fc594;" (goto "goto") (statement_identifier "LAB_000fc594") (; ";"))) (expression_statement "iVar13 = 1;" (assignment_expression "iVar13 = 1" (identifier "iVar13") (= "=") (number_literal "1")) (; ";")) (} "}"))) (} "}")))) (} "}")))) (if_statement "if (iVar13 < 0) {\n          iVar13 = 1;\n        }" (if "if") (parenthesized_expression "(iVar13 < 0)" (( "(") (binary_expression "iVar13 < 0" (identifier "iVar13") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n          iVar13 = 1;\n        }" ({ "{") (expression_statement "iVar13 = 1;" (assignment_expression "iVar13 = 1" (identifier "iVar13") (= "=") (number_literal "1")) (; ";")) (} "}"))) (expression_statement "pwVar16 = (word *)((int)pwVar16 + iVar13);" (assignment_expression "pwVar16 = (word *)((int)pwVar16 + iVar13)" (identifier "pwVar16") (= "=") (cast_expression "(word *)((int)pwVar16 + iVar13)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pwVar16 + iVar13)" (( "(") (binary_expression "(int)pwVar16 + iVar13" (cast_expression "(int)pwVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pwVar16")) (+ "+") (identifier "iVar13")) () ")")))) (; ";")) (expression_statement "iVar13 = iVar17;" (assignment_expression "iVar13 = iVar17" (identifier "iVar13") (= "=") (identifier "iVar17")) (; ";")) (expression_statement "pcVar23 = pcStack_280;" (assignment_expression "pcVar23 = pcStack_280" (identifier "pcVar23") (= "=") (identifier "pcStack_280")) (; ";")) (} "}")))) (} "}")))) (} "}"))) (if_statement "if (aiStack_278[3] == **(int **)(pcVar23 + -0x5fb4)) {\n    return pwVar16;\n  }" (if "if") (parenthesized_expression "(aiStack_278[3] == **(int **)(pcVar23 + -0x5fb4))" (( "(") (binary_expression "aiStack_278[3] == **(int **)(pcVar23 + -0x5fb4)" (subscript_expression "aiStack_278[3]" (identifier "aiStack_278") ([ "[") (number_literal "3") (] "]")) (== "==") (pointer_expression "**(int **)(pcVar23 + -0x5fb4)" (* "*") (pointer_expression "*(int **)(pcVar23 + -0x5fb4)" (* "*") (cast_expression "(int **)(pcVar23 + -0x5fb4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + -0x5fb4)" (( "(") (binary_expression "pcVar23 + -0x5fb4" (identifier "pcVar23") (+ "+") (number_literal "-0x5fb4")) () ")")))))) () ")")) (compound_statement "{\n    return pwVar16;\n  }" ({ "{") (return_statement "return pwVar16;" (return "return") (identifier "pwVar16") (; ";")) (} "}"))) (expression_statement "pcVar23 = *(code **)(pcVar23 + -0x6004);" (assignment_expression "pcVar23 = *(code **)(pcVar23 + -0x6004)" (identifier "pcVar23") (= "=") (pointer_expression "*(code **)(pcVar23 + -0x6004)" (* "*") (cast_expression "(code **)(pcVar23 + -0x6004)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + -0x6004)" (( "(") (binary_expression "pcVar23 + -0x6004" (identifier "pcVar23") (+ "+") (number_literal "-0x6004")) () ")"))))) (; ";")) (expression_statement "pcVar25 = FUN_000fc5fc;" (assignment_expression "pcVar25 = FUN_000fc5fc" (identifier "pcVar25") (= "=") (identifier "FUN_000fc5fc")) (; ";")) (expression_statement "iVar11 = aiStack_278[3];" (assignment_expression "iVar11 = aiStack_278[3]" (identifier "iVar11") (= "=") (subscript_expression "aiStack_278[3]" (identifier "aiStack_278") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "(*pcVar23)();" (call_expression "(*pcVar23)()" (parenthesized_expression "(*pcVar23)" (( "(") (pointer_expression "*pcVar23" (* "*") (identifier "pcVar23")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcStack_2e0 = pcVar23 + 0x61f44;" (assignment_expression "pcStack_2e0 = pcVar23 + 0x61f44" (identifier "pcStack_2e0") (= "=") (binary_expression "pcVar23 + 0x61f44" (identifier "pcVar23") (+ "+") (number_literal "0x61f44"))) (; ";")) (expression_statement "uStack_2a4 = 1;" (assignment_expression "uStack_2a4 = 1" (identifier "uStack_2a4") (= "=") (number_literal "1")) (; ";")) (expression_statement "uStack_2a8 = 0x7f;" (assignment_expression "uStack_2a8 = 0x7f" (identifier "uStack_2a8") (= "=") (number_literal "0x7f")) (; ";")) (expression_statement "pbStack_2bc = (byte *)**(undefined4 **)(pcVar23 + 0x5bf90);" (assignment_expression "pbStack_2bc = (byte *)**(undefined4 **)(pcVar23 + 0x5bf90)" (identifier "pbStack_2bc") (= "=") (cast_expression "(byte *)**(undefined4 **)(pcVar23 + 0x5bf90)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(undefined4 **)(pcVar23 + 0x5bf90)" (* "*") (pointer_expression "*(undefined4 **)(pcVar23 + 0x5bf90)" (* "*") (cast_expression "(undefined4 **)(pcVar23 + 0x5bf90)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x5bf90)" (( "(") (binary_expression "pcVar23 + 0x5bf90" (identifier "pcVar23") (+ "+") (number_literal "0x5bf90")) () ")"))))))) (; ";")) (expression_statement "pwVar18 = pwVar14;" (assignment_expression "pwVar18 = pwVar14" (identifier "pwVar18") (= "=") (identifier "pwVar14")) (; ";")) (expression_statement "pwStack_2cc = pwVar15;" (assignment_expression "pwStack_2cc = pwVar15" (identifier "pwStack_2cc") (= "=") (identifier "pwVar15")) (; ";")) (expression_statement "iStack_2b8 = iVar17;" (assignment_expression "iStack_2b8 = iVar17" (identifier "iStack_2b8") (= "=") (identifier "iVar17")) (; ";")) (expression_statement "pwStack_2b4 = pwVar16;" (assignment_expression "pwStack_2b4 = pwVar16" (identifier "pwStack_2b4") (= "=") (identifier "pwVar16")) (; ";")) (expression_statement "iStack_2b0 = iVar13;" (assignment_expression "iStack_2b0 = iVar13" (identifier "iStack_2b0") (= "=") (identifier "iVar13")) (; ";")) (expression_statement "iStack_2ac = iVar5;" (assignment_expression "iStack_2ac = iVar5" (identifier "iStack_2ac") (= "=") (identifier "iVar5")) (; ";")) (expression_statement "piStack_2a0 = aiStack_278 + 1;" (assignment_expression "piStack_2a0 = aiStack_278 + 1" (identifier "piStack_2a0") (= "=") (binary_expression "aiStack_278 + 1" (identifier "aiStack_278") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "piStack_29c = aiStack_278;" (assignment_expression "piStack_29c = aiStack_278" (identifier "piStack_29c") (= "=") (identifier "aiStack_278")) (; ";")) (expression_statement "iStack_298 = iVar10 + 1;" (assignment_expression "iStack_298 = iVar10 + 1" (identifier "iStack_298") (= "=") (binary_expression "iVar10 + 1" (identifier "iVar10") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pcStack_294 = pcVar25;" (assignment_expression "pcStack_294 = pcVar25" (identifier "pcStack_294") (= "=") (identifier "pcVar25")) (; ";")) (expression_statement "iVar5 = (**(code **)(pcVar23 + 0x5be48))();" (assignment_expression "iVar5 = (**(code **)(pcVar23 + 0x5be48))()" (identifier "iVar5") (= "=") (call_expression "(**(code **)(pcVar23 + 0x5be48))()" (parenthesized_expression "(**(code **)(pcVar23 + 0x5be48))" (( "(") (pointer_expression "**(code **)(pcVar23 + 0x5be48)" (* "*") (pointer_expression "*(code **)(pcVar23 + 0x5be48)" (* "*") (cast_expression "(code **)(pcVar23 + 0x5be48)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x5be48)" (( "(") (binary_expression "pcVar23 + 0x5be48" (identifier "pcVar23") (+ "+") (number_literal "0x5be48")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iStack_2d4 = iVar11 + iVar5 + 1;" (assignment_expression "iStack_2d4 = iVar11 + iVar5 + 1" (identifier "iStack_2d4") (= "=") (binary_expression "iVar11 + iVar5 + 1" (binary_expression "iVar11 + iVar5" (identifier "iVar11") (+ "+") (identifier "iVar5")) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "aiStack_2c8[1] = 0;" (assignment_expression "aiStack_2c8[1] = 0" (subscript_expression "aiStack_2c8[1]" (identifier "aiStack_2c8") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "aiStack_2c8[2] = 0;" (assignment_expression "aiStack_2c8[2] = 0" (subscript_expression "aiStack_2c8[2]" (identifier "aiStack_2c8") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (if_statement "if ((**(int **)(pcStack_2e0 + -0x65a0) < 1) || ((int)pwVar14 < iVar5)) {\n    if (**(int **)(pcStack_2e0 + -0x67a8) == 0) goto LAB_000fc714;\n    if ((pwVar14 == (word *)0x0) || (**(int **)(pcStack_2e0 + -0x67a4) < 1)) goto LAB_000fc6f0;\n    if (0 < **(int **)(pcStack_2e0 + -0x65a0)) goto LAB_000fc750;\n    pcVar23 = *(code **)(pcStack_2e0 + -0x659c);\n    pwVar6 = pwVar14;\nLAB_000fc6c0:\n    (*pcVar23)();\n    (**(code **)(pcStack_2e0 + -0x6598))();\n    pwVar20 = (word *)0x0;\n    pwVar14 = (word *)0x0;\n  }\n  else if (**(int **)(pcStack_2e0 + -0x67a8) == 0) {\n    pwVar14 = (word *)0x0;\n    pwVar20 = (word *)0x0;\n    pwVar6 = (word *)0x0;\n  }\n  else {\n    pwVar14 = (word *)0x0;\nLAB_000fc6f0:\n    (**(code **)(pcStack_2e0 + -0x659c))();\n    (**(code **)(pcStack_2e0 + -0x6594))(pwStack_2cc);\nLAB_000fc714:\n    pwVar6 = pwVar14;\n    if (pwVar14 == (word *)0x0) {\n      pwVar20 = (word *)0x0;\n    }\n    else if (**(int **)(pcStack_2e0 + -0x65a0) < 1) {\n      pcVar23 = *(code **)(pcStack_2e0 + -0x659c);\n      if (0 < **(int **)(pcStack_2e0 + -0x67a4)) goto LAB_000fc6c0;\n      pwVar6 = (word *)0x0;\n      pwVar20 = (word *)0x0;\n    }\n    else {\nLAB_000fc750:\n      pwVar16 = (word *)0x2e;\n      if (*(byte *)((int)pwVar14 + iVar11) == 0x2e) {\n        pwVar16 = (word *)0x5f;\n      }\n      puVar21 = *(undefined4 **)(pcStack_2e0 + -0x6ef0);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16);\n      pwVar20 = (word *)0x3;\n      pwVar6 = (word *)0x0;\n    }\n  }" (if "if") (parenthesized_expression "((**(int **)(pcStack_2e0 + -0x65a0) < 1) || ((int)pwVar14 < iVar5))" (( "(") (binary_expression "(**(int **)(pcStack_2e0 + -0x65a0) < 1) || ((int)pwVar14 < iVar5)" (parenthesized_expression "(**(int **)(pcStack_2e0 + -0x65a0) < 1)" (( "(") (binary_expression "**(int **)(pcStack_2e0 + -0x65a0) < 1" (pointer_expression "**(int **)(pcStack_2e0 + -0x65a0)" (* "*") (pointer_expression "*(int **)(pcStack_2e0 + -0x65a0)" (* "*") (cast_expression "(int **)(pcStack_2e0 + -0x65a0)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_2e0 + -0x65a0)" (( "(") (binary_expression "pcStack_2e0 + -0x65a0" (identifier "pcStack_2e0") (+ "+") (number_literal "-0x65a0")) () ")"))))) (< "<") (number_literal "1")) () ")")) (|| "||") (parenthesized_expression "((int)pwVar14 < iVar5)" (( "(") (binary_expression "(int)pwVar14 < iVar5" (cast_expression "(int)pwVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pwVar14")) (< "<") (identifier "iVar5")) () ")"))) () ")")) (compound_statement "{\n    if (**(int **)(pcStack_2e0 + -0x67a8) == 0) goto LAB_000fc714;\n    if ((pwVar14 == (word *)0x0) || (**(int **)(pcStack_2e0 + -0x67a4) < 1)) goto LAB_000fc6f0;\n    if (0 < **(int **)(pcStack_2e0 + -0x65a0)) goto LAB_000fc750;\n    pcVar23 = *(code **)(pcStack_2e0 + -0x659c);\n    pwVar6 = pwVar14;\nLAB_000fc6c0:\n    (*pcVar23)();\n    (**(code **)(pcStack_2e0 + -0x6598))();\n    pwVar20 = (word *)0x0;\n    pwVar14 = (word *)0x0;\n  }" ({ "{") (if_statement "if (**(int **)(pcStack_2e0 + -0x67a8) == 0) goto LAB_000fc714;" (if "if") (parenthesized_expression "(**(int **)(pcStack_2e0 + -0x67a8) == 0)" (( "(") (binary_expression "**(int **)(pcStack_2e0 + -0x67a8) == 0" (pointer_expression "**(int **)(pcStack_2e0 + -0x67a8)" (* "*") (pointer_expression "*(int **)(pcStack_2e0 + -0x67a8)" (* "*") (cast_expression "(int **)(pcStack_2e0 + -0x67a8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_2e0 + -0x67a8)" (( "(") (binary_expression "pcStack_2e0 + -0x67a8" (identifier "pcStack_2e0") (+ "+") (number_literal "-0x67a8")) () ")"))))) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000fc714;" (goto "goto") (statement_identifier "LAB_000fc714") (; ";"))) (if_statement "if ((pwVar14 == (word *)0x0) || (**(int **)(pcStack_2e0 + -0x67a4) < 1)) goto LAB_000fc6f0;" (if "if") (parenthesized_expression "((pwVar14 == (word *)0x0) || (**(int **)(pcStack_2e0 + -0x67a4) < 1))" (( "(") (binary_expression "(pwVar14 == (word *)0x0) || (**(int **)(pcStack_2e0 + -0x67a4) < 1)" (parenthesized_expression "(pwVar14 == (word *)0x0)" (( "(") (binary_expression "pwVar14 == (word *)0x0" (identifier "pwVar14") (== "==") (cast_expression "(word *)0x0" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(**(int **)(pcStack_2e0 + -0x67a4) < 1)" (( "(") (binary_expression "**(int **)(pcStack_2e0 + -0x67a4) < 1" (pointer_expression "**(int **)(pcStack_2e0 + -0x67a4)" (* "*") (pointer_expression "*(int **)(pcStack_2e0 + -0x67a4)" (* "*") (cast_expression "(int **)(pcStack_2e0 + -0x67a4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_2e0 + -0x67a4)" (( "(") (binary_expression "pcStack_2e0 + -0x67a4" (identifier "pcStack_2e0") (+ "+") (number_literal "-0x67a4")) () ")"))))) (< "<") (number_literal "1")) () ")"))) () ")")) (goto_statement "goto LAB_000fc6f0;" (goto "goto") (statement_identifier "LAB_000fc6f0") (; ";"))) (if_statement "if (0 < **(int **)(pcStack_2e0 + -0x65a0)) goto LAB_000fc750;" (if "if") (parenthesized_expression "(0 < **(int **)(pcStack_2e0 + -0x65a0))" (( "(") (binary_expression "0 < **(int **)(pcStack_2e0 + -0x65a0)" (number_literal "0") (< "<") (pointer_expression "**(int **)(pcStack_2e0 + -0x65a0)" (* "*") (pointer_expression "*(int **)(pcStack_2e0 + -0x65a0)" (* "*") (cast_expression "(int **)(pcStack_2e0 + -0x65a0)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_2e0 + -0x65a0)" (( "(") (binary_expression "pcStack_2e0 + -0x65a0" (identifier "pcStack_2e0") (+ "+") (number_literal "-0x65a0")) () ")")))))) () ")")) (goto_statement "goto LAB_000fc750;" (goto "goto") (statement_identifier "LAB_000fc750") (; ";"))) (expression_statement "pcVar23 = *(code **)(pcStack_2e0 + -0x659c);" (assignment_expression "pcVar23 = *(code **)(pcStack_2e0 + -0x659c)" (identifier "pcVar23") (= "=") (pointer_expression "*(code **)(pcStack_2e0 + -0x659c)" (* "*") (cast_expression "(code **)(pcStack_2e0 + -0x659c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_2e0 + -0x659c)" (( "(") (binary_expression "pcStack_2e0 + -0x659c" (identifier "pcStack_2e0") (+ "+") (number_literal "-0x659c")) () ")"))))) (; ";")) (expression_statement "pwVar6 = pwVar14;" (assignment_expression "pwVar6 = pwVar14" (identifier "pwVar6") (= "=") (identifier "pwVar14")) (; ";")) (labeled_statement "LAB_000fc6c0:\n    (*pcVar23)();" (statement_identifier "LAB_000fc6c0") (: ":") (expression_statement "(*pcVar23)();" (call_expression "(*pcVar23)()" (parenthesized_expression "(*pcVar23)" (( "(") (pointer_expression "*pcVar23" (* "*") (identifier "pcVar23")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";"))) (expression_statement "(**(code **)(pcStack_2e0 + -0x6598))();" (call_expression "(**(code **)(pcStack_2e0 + -0x6598))()" (parenthesized_expression "(**(code **)(pcStack_2e0 + -0x6598))" (( "(") (pointer_expression "**(code **)(pcStack_2e0 + -0x6598)" (* "*") (pointer_expression "*(code **)(pcStack_2e0 + -0x6598)" (* "*") (cast_expression "(code **)(pcStack_2e0 + -0x6598)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_2e0 + -0x6598)" (( "(") (binary_expression "pcStack_2e0 + -0x6598" (identifier "pcStack_2e0") (+ "+") (number_literal "-0x6598")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pwVar20 = (word *)0x0;" (assignment_expression "pwVar20 = (word *)0x0" (identifier "pwVar20") (= "=") (cast_expression "(word *)0x0" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pwVar14 = (word *)0x0;" (assignment_expression "pwVar14 = (word *)0x0" (identifier "pwVar14") (= "=") (cast_expression "(word *)0x0" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else if (**(int **)(pcStack_2e0 + -0x67a8) == 0) {\n    pwVar14 = (word *)0x0;\n    pwVar20 = (word *)0x0;\n    pwVar6 = (word *)0x0;\n  }\n  else {\n    pwVar14 = (word *)0x0;\nLAB_000fc6f0:\n    (**(code **)(pcStack_2e0 + -0x659c))();\n    (**(code **)(pcStack_2e0 + -0x6594))(pwStack_2cc);\nLAB_000fc714:\n    pwVar6 = pwVar14;\n    if (pwVar14 == (word *)0x0) {\n      pwVar20 = (word *)0x0;\n    }\n    else if (**(int **)(pcStack_2e0 + -0x65a0) < 1) {\n      pcVar23 = *(code **)(pcStack_2e0 + -0x659c);\n      if (0 < **(int **)(pcStack_2e0 + -0x67a4)) goto LAB_000fc6c0;\n      pwVar6 = (word *)0x0;\n      pwVar20 = (word *)0x0;\n    }\n    else {\nLAB_000fc750:\n      pwVar16 = (word *)0x2e;\n      if (*(byte *)((int)pwVar14 + iVar11) == 0x2e) {\n        pwVar16 = (word *)0x5f;\n      }\n      puVar21 = *(undefined4 **)(pcStack_2e0 + -0x6ef0);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16);\n      pwVar20 = (word *)0x3;\n      pwVar6 = (word *)0x0;\n    }\n  }" (else "else") (if_statement "if (**(int **)(pcStack_2e0 + -0x67a8) == 0) {\n    pwVar14 = (word *)0x0;\n    pwVar20 = (word *)0x0;\n    pwVar6 = (word *)0x0;\n  }\n  else {\n    pwVar14 = (word *)0x0;\nLAB_000fc6f0:\n    (**(code **)(pcStack_2e0 + -0x659c))();\n    (**(code **)(pcStack_2e0 + -0x6594))(pwStack_2cc);\nLAB_000fc714:\n    pwVar6 = pwVar14;\n    if (pwVar14 == (word *)0x0) {\n      pwVar20 = (word *)0x0;\n    }\n    else if (**(int **)(pcStack_2e0 + -0x65a0) < 1) {\n      pcVar23 = *(code **)(pcStack_2e0 + -0x659c);\n      if (0 < **(int **)(pcStack_2e0 + -0x67a4)) goto LAB_000fc6c0;\n      pwVar6 = (word *)0x0;\n      pwVar20 = (word *)0x0;\n    }\n    else {\nLAB_000fc750:\n      pwVar16 = (word *)0x2e;\n      if (*(byte *)((int)pwVar14 + iVar11) == 0x2e) {\n        pwVar16 = (word *)0x5f;\n      }\n      puVar21 = *(undefined4 **)(pcStack_2e0 + -0x6ef0);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16);\n      pwVar20 = (word *)0x3;\n      pwVar6 = (word *)0x0;\n    }\n  }" (if "if") (parenthesized_expression "(**(int **)(pcStack_2e0 + -0x67a8) == 0)" (( "(") (binary_expression "**(int **)(pcStack_2e0 + -0x67a8) == 0" (pointer_expression "**(int **)(pcStack_2e0 + -0x67a8)" (* "*") (pointer_expression "*(int **)(pcStack_2e0 + -0x67a8)" (* "*") (cast_expression "(int **)(pcStack_2e0 + -0x67a8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_2e0 + -0x67a8)" (( "(") (binary_expression "pcStack_2e0 + -0x67a8" (identifier "pcStack_2e0") (+ "+") (number_literal "-0x67a8")) () ")"))))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    pwVar14 = (word *)0x0;\n    pwVar20 = (word *)0x0;\n    pwVar6 = (word *)0x0;\n  }" ({ "{") (expression_statement "pwVar14 = (word *)0x0;" (assignment_expression "pwVar14 = (word *)0x0" (identifier "pwVar14") (= "=") (cast_expression "(word *)0x0" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pwVar20 = (word *)0x0;" (assignment_expression "pwVar20 = (word *)0x0" (identifier "pwVar20") (= "=") (cast_expression "(word *)0x0" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pwVar6 = (word *)0x0;" (assignment_expression "pwVar6 = (word *)0x0" (identifier "pwVar6") (= "=") (cast_expression "(word *)0x0" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else {\n    pwVar14 = (word *)0x0;\nLAB_000fc6f0:\n    (**(code **)(pcStack_2e0 + -0x659c))();\n    (**(code **)(pcStack_2e0 + -0x6594))(pwStack_2cc);\nLAB_000fc714:\n    pwVar6 = pwVar14;\n    if (pwVar14 == (word *)0x0) {\n      pwVar20 = (word *)0x0;\n    }\n    else if (**(int **)(pcStack_2e0 + -0x65a0) < 1) {\n      pcVar23 = *(code **)(pcStack_2e0 + -0x659c);\n      if (0 < **(int **)(pcStack_2e0 + -0x67a4)) goto LAB_000fc6c0;\n      pwVar6 = (word *)0x0;\n      pwVar20 = (word *)0x0;\n    }\n    else {\nLAB_000fc750:\n      pwVar16 = (word *)0x2e;\n      if (*(byte *)((int)pwVar14 + iVar11) == 0x2e) {\n        pwVar16 = (word *)0x5f;\n      }\n      puVar21 = *(undefined4 **)(pcStack_2e0 + -0x6ef0);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16);\n      pwVar20 = (word *)0x3;\n      pwVar6 = (word *)0x0;\n    }\n  }" (else "else") (compound_statement "{\n    pwVar14 = (word *)0x0;\nLAB_000fc6f0:\n    (**(code **)(pcStack_2e0 + -0x659c))();\n    (**(code **)(pcStack_2e0 + -0x6594))(pwStack_2cc);\nLAB_000fc714:\n    pwVar6 = pwVar14;\n    if (pwVar14 == (word *)0x0) {\n      pwVar20 = (word *)0x0;\n    }\n    else if (**(int **)(pcStack_2e0 + -0x65a0) < 1) {\n      pcVar23 = *(code **)(pcStack_2e0 + -0x659c);\n      if (0 < **(int **)(pcStack_2e0 + -0x67a4)) goto LAB_000fc6c0;\n      pwVar6 = (word *)0x0;\n      pwVar20 = (word *)0x0;\n    }\n    else {\nLAB_000fc750:\n      pwVar16 = (word *)0x2e;\n      if (*(byte *)((int)pwVar14 + iVar11) == 0x2e) {\n        pwVar16 = (word *)0x5f;\n      }\n      puVar21 = *(undefined4 **)(pcStack_2e0 + -0x6ef0);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16);\n      pwVar20 = (word *)0x3;\n      pwVar6 = (word *)0x0;\n    }\n  }" ({ "{") (expression_statement "pwVar14 = (word *)0x0;" (assignment_expression "pwVar14 = (word *)0x0" (identifier "pwVar14") (= "=") (cast_expression "(word *)0x0" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (labeled_statement "LAB_000fc6f0:\n    (**(code **)(pcStack_2e0 + -0x659c))();" (statement_identifier "LAB_000fc6f0") (: ":") (expression_statement "(**(code **)(pcStack_2e0 + -0x659c))();" (call_expression "(**(code **)(pcStack_2e0 + -0x659c))()" (parenthesized_expression "(**(code **)(pcStack_2e0 + -0x659c))" (( "(") (pointer_expression "**(code **)(pcStack_2e0 + -0x659c)" (* "*") (pointer_expression "*(code **)(pcStack_2e0 + -0x659c)" (* "*") (cast_expression "(code **)(pcStack_2e0 + -0x659c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_2e0 + -0x659c)" (( "(") (binary_expression "pcStack_2e0 + -0x659c" (identifier "pcStack_2e0") (+ "+") (number_literal "-0x659c")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";"))) (expression_statement "(**(code **)(pcStack_2e0 + -0x6594))(pwStack_2cc);" (call_expression "(**(code **)(pcStack_2e0 + -0x6594))(pwStack_2cc)" (parenthesized_expression "(**(code **)(pcStack_2e0 + -0x6594))" (( "(") (pointer_expression "**(code **)(pcStack_2e0 + -0x6594)" (* "*") (pointer_expression "*(code **)(pcStack_2e0 + -0x6594)" (* "*") (cast_expression "(code **)(pcStack_2e0 + -0x6594)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_2e0 + -0x6594)" (( "(") (binary_expression "pcStack_2e0 + -0x6594" (identifier "pcStack_2e0") (+ "+") (number_literal "-0x6594")) () ")"))))) () ")")) (argument_list "(pwStack_2cc)" (( "(") (identifier "pwStack_2cc") () ")"))) (; ";")) (labeled_statement "LAB_000fc714:\n    pwVar6 = pwVar14;" (statement_identifier "LAB_000fc714") (: ":") (expression_statement "pwVar6 = pwVar14;" (assignment_expression "pwVar6 = pwVar14" (identifier "pwVar6") (= "=") (identifier "pwVar14")) (; ";"))) (if_statement "if (pwVar14 == (word *)0x0) {\n      pwVar20 = (word *)0x0;\n    }\n    else if (**(int **)(pcStack_2e0 + -0x65a0) < 1) {\n      pcVar23 = *(code **)(pcStack_2e0 + -0x659c);\n      if (0 < **(int **)(pcStack_2e0 + -0x67a4)) goto LAB_000fc6c0;\n      pwVar6 = (word *)0x0;\n      pwVar20 = (word *)0x0;\n    }\n    else {\nLAB_000fc750:\n      pwVar16 = (word *)0x2e;\n      if (*(byte *)((int)pwVar14 + iVar11) == 0x2e) {\n        pwVar16 = (word *)0x5f;\n      }\n      puVar21 = *(undefined4 **)(pcStack_2e0 + -0x6ef0);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16);\n      pwVar20 = (word *)0x3;\n      pwVar6 = (word *)0x0;\n    }" (if "if") (parenthesized_expression "(pwVar14 == (word *)0x0)" (( "(") (binary_expression "pwVar14 == (word *)0x0" (identifier "pwVar14") (== "==") (cast_expression "(word *)0x0" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      pwVar20 = (word *)0x0;\n    }" ({ "{") (expression_statement "pwVar20 = (word *)0x0;" (assignment_expression "pwVar20 = (word *)0x0" (identifier "pwVar20") (= "=") (cast_expression "(word *)0x0" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else if (**(int **)(pcStack_2e0 + -0x65a0) < 1) {\n      pcVar23 = *(code **)(pcStack_2e0 + -0x659c);\n      if (0 < **(int **)(pcStack_2e0 + -0x67a4)) goto LAB_000fc6c0;\n      pwVar6 = (word *)0x0;\n      pwVar20 = (word *)0x0;\n    }\n    else {\nLAB_000fc750:\n      pwVar16 = (word *)0x2e;\n      if (*(byte *)((int)pwVar14 + iVar11) == 0x2e) {\n        pwVar16 = (word *)0x5f;\n      }\n      puVar21 = *(undefined4 **)(pcStack_2e0 + -0x6ef0);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16);\n      pwVar20 = (word *)0x3;\n      pwVar6 = (word *)0x0;\n    }" (else "else") (if_statement "if (**(int **)(pcStack_2e0 + -0x65a0) < 1) {\n      pcVar23 = *(code **)(pcStack_2e0 + -0x659c);\n      if (0 < **(int **)(pcStack_2e0 + -0x67a4)) goto LAB_000fc6c0;\n      pwVar6 = (word *)0x0;\n      pwVar20 = (word *)0x0;\n    }\n    else {\nLAB_000fc750:\n      pwVar16 = (word *)0x2e;\n      if (*(byte *)((int)pwVar14 + iVar11) == 0x2e) {\n        pwVar16 = (word *)0x5f;\n      }\n      puVar21 = *(undefined4 **)(pcStack_2e0 + -0x6ef0);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16);\n      pwVar20 = (word *)0x3;\n      pwVar6 = (word *)0x0;\n    }" (if "if") (parenthesized_expression "(**(int **)(pcStack_2e0 + -0x65a0) < 1)" (( "(") (binary_expression "**(int **)(pcStack_2e0 + -0x65a0) < 1" (pointer_expression "**(int **)(pcStack_2e0 + -0x65a0)" (* "*") (pointer_expression "*(int **)(pcStack_2e0 + -0x65a0)" (* "*") (cast_expression "(int **)(pcStack_2e0 + -0x65a0)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_2e0 + -0x65a0)" (( "(") (binary_expression "pcStack_2e0 + -0x65a0" (identifier "pcStack_2e0") (+ "+") (number_literal "-0x65a0")) () ")"))))) (< "<") (number_literal "1")) () ")")) (compound_statement "{\n      pcVar23 = *(code **)(pcStack_2e0 + -0x659c);\n      if (0 < **(int **)(pcStack_2e0 + -0x67a4)) goto LAB_000fc6c0;\n      pwVar6 = (word *)0x0;\n      pwVar20 = (word *)0x0;\n    }" ({ "{") (expression_statement "pcVar23 = *(code **)(pcStack_2e0 + -0x659c);" (assignment_expression "pcVar23 = *(code **)(pcStack_2e0 + -0x659c)" (identifier "pcVar23") (= "=") (pointer_expression "*(code **)(pcStack_2e0 + -0x659c)" (* "*") (cast_expression "(code **)(pcStack_2e0 + -0x659c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_2e0 + -0x659c)" (( "(") (binary_expression "pcStack_2e0 + -0x659c" (identifier "pcStack_2e0") (+ "+") (number_literal "-0x659c")) () ")"))))) (; ";")) (if_statement "if (0 < **(int **)(pcStack_2e0 + -0x67a4)) goto LAB_000fc6c0;" (if "if") (parenthesized_expression "(0 < **(int **)(pcStack_2e0 + -0x67a4))" (( "(") (binary_expression "0 < **(int **)(pcStack_2e0 + -0x67a4)" (number_literal "0") (< "<") (pointer_expression "**(int **)(pcStack_2e0 + -0x67a4)" (* "*") (pointer_expression "*(int **)(pcStack_2e0 + -0x67a4)" (* "*") (cast_expression "(int **)(pcStack_2e0 + -0x67a4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_2e0 + -0x67a4)" (( "(") (binary_expression "pcStack_2e0 + -0x67a4" (identifier "pcStack_2e0") (+ "+") (number_literal "-0x67a4")) () ")")))))) () ")")) (goto_statement "goto LAB_000fc6c0;" (goto "goto") (statement_identifier "LAB_000fc6c0") (; ";"))) (expression_statement "pwVar6 = (word *)0x0;" (assignment_expression "pwVar6 = (word *)0x0" (identifier "pwVar6") (= "=") (cast_expression "(word *)0x0" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pwVar20 = (word *)0x0;" (assignment_expression "pwVar20 = (word *)0x0" (identifier "pwVar20") (= "=") (cast_expression "(word *)0x0" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else {\nLAB_000fc750:\n      pwVar16 = (word *)0x2e;\n      if (*(byte *)((int)pwVar14 + iVar11) == 0x2e) {\n        pwVar16 = (word *)0x5f;\n      }\n      puVar21 = *(undefined4 **)(pcStack_2e0 + -0x6ef0);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16);\n      pwVar20 = (word *)0x3;\n      pwVar6 = (word *)0x0;\n    }" (else "else") (compound_statement "{\nLAB_000fc750:\n      pwVar16 = (word *)0x2e;\n      if (*(byte *)((int)pwVar14 + iVar11) == 0x2e) {\n        pwVar16 = (word *)0x5f;\n      }\n      puVar21 = *(undefined4 **)(pcStack_2e0 + -0x6ef0);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16);\n      pwVar20 = (word *)0x3;\n      pwVar6 = (word *)0x0;\n    }" ({ "{") (labeled_statement "LAB_000fc750:\n      pwVar16 = (word *)0x2e;" (statement_identifier "LAB_000fc750") (: ":") (expression_statement "pwVar16 = (word *)0x2e;" (assignment_expression "pwVar16 = (word *)0x2e" (identifier "pwVar16") (= "=") (cast_expression "(word *)0x2e" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x2e"))) (; ";"))) (if_statement "if (*(byte *)((int)pwVar14 + iVar11) == 0x2e) {\n        pwVar16 = (word *)0x5f;\n      }" (if "if") (parenthesized_expression "(*(byte *)((int)pwVar14 + iVar11) == 0x2e)" (( "(") (binary_expression "*(byte *)((int)pwVar14 + iVar11) == 0x2e" (pointer_expression "*(byte *)((int)pwVar14 + iVar11)" (* "*") (cast_expression "(byte *)((int)pwVar14 + iVar11)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pwVar14 + iVar11)" (( "(") (binary_expression "(int)pwVar14 + iVar11" (cast_expression "(int)pwVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pwVar14")) (+ "+") (identifier "iVar11")) () ")")))) (== "==") (number_literal "0x2e")) () ")")) (compound_statement "{\n        pwVar16 = (word *)0x5f;\n      }" ({ "{") (expression_statement "pwVar16 = (word *)0x5f;" (assignment_expression "pwVar16 = (word *)0x5f" (identifier "pwVar16") (= "=") (cast_expression "(word *)0x5f" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x5f"))) (; ";")) (} "}"))) (expression_statement "puVar21 = *(undefined4 **)(pcStack_2e0 + -0x6ef0);" (assignment_expression "puVar21 = *(undefined4 **)(pcStack_2e0 + -0x6ef0)" (identifier "puVar21") (= "=") (pointer_expression "*(undefined4 **)(pcStack_2e0 + -0x6ef0)" (* "*") (cast_expression "(undefined4 **)(pcStack_2e0 + -0x6ef0)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_2e0 + -0x6ef0)" (( "(") (binary_expression "pcStack_2e0 + -0x6ef0" (identifier "pcStack_2e0") (+ "+") (number_literal "-0x6ef0")) () ")"))))) (; ";")) (expression_statement "(**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);" (call_expression "(**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21)" (parenthesized_expression "(**(code **)(pcStack_2e0 + -0x61f0))" (( "(") (pointer_expression "**(code **)(pcStack_2e0 + -0x61f0)" (* "*") (pointer_expression "*(code **)(pcStack_2e0 + -0x61f0)" (* "*") (cast_expression "(code **)(pcStack_2e0 + -0x61f0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_2e0 + -0x61f0)" (( "(") (binary_expression "pcStack_2e0 + -0x61f0" (identifier "pcStack_2e0") (+ "+") (number_literal "-0x61f0")) () ")"))))) () ")")) (argument_list "(pwVar16,*puVar21)" (( "(") (identifier "pwVar16") (, ",") (pointer_expression "*puVar21" (* "*") (identifier "puVar21")) () ")"))) (; ";")) (expression_statement "(**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);" (call_expression "(**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21)" (parenthesized_expression "(**(code **)(pcStack_2e0 + -0x61f0))" (( "(") (pointer_expression "**(code **)(pcStack_2e0 + -0x61f0)" (* "*") (pointer_expression "*(code **)(pcStack_2e0 + -0x61f0)" (* "*") (cast_expression "(code **)(pcStack_2e0 + -0x61f0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_2e0 + -0x61f0)" (( "(") (binary_expression "pcStack_2e0 + -0x61f0" (identifier "pcStack_2e0") (+ "+") (number_literal "-0x61f0")) () ")"))))) () ")")) (argument_list "(pwVar16,*puVar21)" (( "(") (identifier "pwVar16") (, ",") (pointer_expression "*puVar21" (* "*") (identifier "puVar21")) () ")"))) (; ";")) (expression_statement "pwVar18 = (word *)*puVar21;" (assignment_expression "pwVar18 = (word *)*puVar21" (identifier "pwVar18") (= "=") (cast_expression "(word *)*puVar21" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar21" (* "*") (identifier "puVar21")))) (; ";")) (expression_statement "(**(code **)(pcStack_2e0 + -0x61f0))(pwVar16);" (call_expression "(**(code **)(pcStack_2e0 + -0x61f0))(pwVar16)" (parenthesized_expression "(**(code **)(pcStack_2e0 + -0x61f0))" (( "(") (pointer_expression "**(code **)(pcStack_2e0 + -0x61f0)" (* "*") (pointer_expression "*(code **)(pcStack_2e0 + -0x61f0)" (* "*") (cast_expression "(code **)(pcStack_2e0 + -0x61f0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_2e0 + -0x61f0)" (( "(") (binary_expression "pcStack_2e0 + -0x61f0" (identifier "pcStack_2e0") (+ "+") (number_literal "-0x61f0")) () ")"))))) () ")")) (argument_list "(pwVar16)" (( "(") (identifier "pwVar16") () ")"))) (; ";")) (expression_statement "pwVar20 = (word *)0x3;" (assignment_expression "pwVar20 = (word *)0x3" (identifier "pwVar20") (= "=") (cast_expression "(word *)0x3" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x3"))) (; ";")) (expression_statement "pwVar6 = (word *)0x0;" (assignment_expression "pwVar6 = (word *)0x0" (identifier "pwVar6") (= "=") (cast_expression "(word *)0x0" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")))))) (} "}")))))) (expression_statement "pwVar14 = (word *)((int)pwVar14 + iVar11);" (assignment_expression "pwVar14 = (word *)((int)pwVar14 + iVar11)" (identifier "pwVar14") (= "=") (cast_expression "(word *)((int)pwVar14 + iVar11)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pwVar14 + iVar11)" (( "(") (binary_expression "(int)pwVar14 + iVar11" (cast_expression "(int)pwVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pwVar14")) (+ "+") (identifier "iVar11")) () ")")))) (; ";")) (expression_statement "puVar21 = *(undefined4 **)(pcStack_2e0 + -0x6ef0);" (assignment_expression "puVar21 = *(undefined4 **)(pcStack_2e0 + -0x6ef0)" (identifier "puVar21") (= "=") (pointer_expression "*(undefined4 **)(pcStack_2e0 + -0x6ef0)" (* "*") (cast_expression "(undefined4 **)(pcStack_2e0 + -0x6ef0)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_2e0 + -0x6ef0)" (( "(") (binary_expression "pcStack_2e0 + -0x6ef0" (identifier "pcStack_2e0") (+ "+") (number_literal "-0x6ef0")) () ")"))))) (; ";")) (expression_statement "iStack_2d0 = *(int *)(pcStack_2e0 + -26000) + 0xb8;" (assignment_expression "iStack_2d0 = *(int *)(pcStack_2e0 + -26000) + 0xb8" (identifier "iStack_2d0") (= "=") (binary_expression "*(int *)(pcStack_2e0 + -26000) + 0xb8" (pointer_expression "*(int *)(pcStack_2e0 + -26000)" (* "*") (cast_expression "(int *)(pcStack_2e0 + -26000)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_2e0 + -26000)" (( "(") (binary_expression "pcStack_2e0 + -26000" (identifier "pcStack_2e0") (+ "+") (number_literal "-26000")) () ")")))) (+ "+") (number_literal "0xb8"))) (; ";")) (while_statement "while (bVar2 = *(byte *)pwVar14, bVar2 != 0) {\n    if (bVar2 < 0x20) {\n      (**(code **)(pcStack_2e0 + -0x61f0))(0x5e,*puVar21);\n      pwVar16 = (word *)((int)(char)*(byte *)pwVar14 | 0x40);\n      pbVar24 = (byte *)(*(byte *)pwVar14 | 0x40);\n      if ((word *)pbVar24 == pwVar16) {\n        piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x6290))();\n        if ((*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 2) != 0) {\n          piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x5f10))();\n          pwVar16 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n        }\n      }\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16);\n      pwVar20 = pwVar20 + 1;\n      pwVar14 = (word *)((int)pwVar14 + 1);\n      aiStack_2c8[1] = 0;\n      aiStack_2c8[2] = 0;\n    }\n    else if (bVar2 == 0x7f) {\n      (**(code **)(pcStack_2e0 + -0x61f0))(0x5e,*puVar21);\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(0x3f);\n      pwVar20 = pwVar20 + 1;\n      pwVar14 = (word *)((int)pwVar14 + 1);\n      aiStack_2c8[1] = 0;\n      aiStack_2c8[2] = 0;\n    }\n    else {\n      pwVar15 = (word *)(iStack_2d4 - (int)pwVar14);\n      pwVar18 = pwVar14;\n      pwVar16 = (word *)(**(code **)(pcStack_2e0 + -0x6084))(aiStack_2c8,pwVar14,pwVar15);\n      iVar5 = 1;\n      if (pwVar16 + 1 < (word *)0x2) {\n        aiStack_2c8[1] = 0;\n        aiStack_2c8[2] = 0;\n        pwVar16 = (word *)0x1;\n      }\n      else {\n        if (pwVar16 == (word *)0x0) break;\n        if (aiStack_2c8[0] < 0x40) {\n          if (aiStack_2c8[0] < 0x25) {\n            pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n            if (3 < aiStack_2c8[0] - 0x20U) goto LAB_000fc9c0;\n          }\n          else {\n            iVar5 = 1;\n          }\n        }\n        else if (aiStack_2c8[0] < 0x41) {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\nLAB_000fc9c0:\n          iVar5 = (*pcVar23)();\n        }\n        else if (aiStack_2c8[0] < 0x60) {\n          iVar5 = 1;\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n          if (0x1d < aiStack_2c8[0] - 0x61U) goto LAB_000fc9c0;\n          iVar5 = 1;\n        }\n        if (iVar5 < 0) {\n          iVar5 = 1;\n        }\n      }\n      pwVar18 = (word *)0x1;\n      pwVar15 = pwVar16;\n      (**(code **)(pcStack_2e0 + -0x6054))(pwVar14,1,pwVar16,*puVar21);\n      pwVar14 = (word *)((int)pwVar14 + (int)pwVar16);\n      pwVar20 = (word *)((int)pwVar20 + iVar5);\n    }\n    if ((0 < (int)pwVar6) && ((int)pwVar6 <= (int)pwVar14 - iVar11)) {\n      (**(code **)(pcStack_2e0 + -0x658c))();\n      (**(code **)(pcStack_2e0 + -0x6588))(iStack_2d0);\n      pwVar6 = (word *)**(undefined4 **)(pcStack_2e0 + -0x67a8);\n      if (pwVar6 != (word *)0x0) {\n        (**(code **)(pcStack_2e0 + -0x659c))();\n        (**(code **)(pcStack_2e0 + -0x6594))(pwStack_2cc);\n        pwVar6 = (word *)0x0;\n      }\n    }\n  }" (while "while") (parenthesized_expression "(bVar2 = *(byte *)pwVar14, bVar2 != 0)" (( "(") (comma_expression "bVar2 = *(byte *)pwVar14, bVar2 != 0" (assignment_expression "bVar2 = *(byte *)pwVar14" (identifier "bVar2") (= "=") (pointer_expression "*(byte *)pwVar14" (* "*") (cast_expression "(byte *)pwVar14" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pwVar14")))) (, ",") (binary_expression "bVar2 != 0" (identifier "bVar2") (!= "!=") (number_literal "0"))) () ")")) (compound_statement "{\n    if (bVar2 < 0x20) {\n      (**(code **)(pcStack_2e0 + -0x61f0))(0x5e,*puVar21);\n      pwVar16 = (word *)((int)(char)*(byte *)pwVar14 | 0x40);\n      pbVar24 = (byte *)(*(byte *)pwVar14 | 0x40);\n      if ((word *)pbVar24 == pwVar16) {\n        piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x6290))();\n        if ((*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 2) != 0) {\n          piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x5f10))();\n          pwVar16 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n        }\n      }\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16);\n      pwVar20 = pwVar20 + 1;\n      pwVar14 = (word *)((int)pwVar14 + 1);\n      aiStack_2c8[1] = 0;\n      aiStack_2c8[2] = 0;\n    }\n    else if (bVar2 == 0x7f) {\n      (**(code **)(pcStack_2e0 + -0x61f0))(0x5e,*puVar21);\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(0x3f);\n      pwVar20 = pwVar20 + 1;\n      pwVar14 = (word *)((int)pwVar14 + 1);\n      aiStack_2c8[1] = 0;\n      aiStack_2c8[2] = 0;\n    }\n    else {\n      pwVar15 = (word *)(iStack_2d4 - (int)pwVar14);\n      pwVar18 = pwVar14;\n      pwVar16 = (word *)(**(code **)(pcStack_2e0 + -0x6084))(aiStack_2c8,pwVar14,pwVar15);\n      iVar5 = 1;\n      if (pwVar16 + 1 < (word *)0x2) {\n        aiStack_2c8[1] = 0;\n        aiStack_2c8[2] = 0;\n        pwVar16 = (word *)0x1;\n      }\n      else {\n        if (pwVar16 == (word *)0x0) break;\n        if (aiStack_2c8[0] < 0x40) {\n          if (aiStack_2c8[0] < 0x25) {\n            pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n            if (3 < aiStack_2c8[0] - 0x20U) goto LAB_000fc9c0;\n          }\n          else {\n            iVar5 = 1;\n          }\n        }\n        else if (aiStack_2c8[0] < 0x41) {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\nLAB_000fc9c0:\n          iVar5 = (*pcVar23)();\n        }\n        else if (aiStack_2c8[0] < 0x60) {\n          iVar5 = 1;\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n          if (0x1d < aiStack_2c8[0] - 0x61U) goto LAB_000fc9c0;\n          iVar5 = 1;\n        }\n        if (iVar5 < 0) {\n          iVar5 = 1;\n        }\n      }\n      pwVar18 = (word *)0x1;\n      pwVar15 = pwVar16;\n      (**(code **)(pcStack_2e0 + -0x6054))(pwVar14,1,pwVar16,*puVar21);\n      pwVar14 = (word *)((int)pwVar14 + (int)pwVar16);\n      pwVar20 = (word *)((int)pwVar20 + iVar5);\n    }\n    if ((0 < (int)pwVar6) && ((int)pwVar6 <= (int)pwVar14 - iVar11)) {\n      (**(code **)(pcStack_2e0 + -0x658c))();\n      (**(code **)(pcStack_2e0 + -0x6588))(iStack_2d0);\n      pwVar6 = (word *)**(undefined4 **)(pcStack_2e0 + -0x67a8);\n      if (pwVar6 != (word *)0x0) {\n        (**(code **)(pcStack_2e0 + -0x659c))();\n        (**(code **)(pcStack_2e0 + -0x6594))(pwStack_2cc);\n        pwVar6 = (word *)0x0;\n      }\n    }\n  }" ({ "{") (if_statement "if (bVar2 < 0x20) {\n      (**(code **)(pcStack_2e0 + -0x61f0))(0x5e,*puVar21);\n      pwVar16 = (word *)((int)(char)*(byte *)pwVar14 | 0x40);\n      pbVar24 = (byte *)(*(byte *)pwVar14 | 0x40);\n      if ((word *)pbVar24 == pwVar16) {\n        piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x6290))();\n        if ((*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 2) != 0) {\n          piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x5f10))();\n          pwVar16 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n        }\n      }\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16);\n      pwVar20 = pwVar20 + 1;\n      pwVar14 = (word *)((int)pwVar14 + 1);\n      aiStack_2c8[1] = 0;\n      aiStack_2c8[2] = 0;\n    }\n    else if (bVar2 == 0x7f) {\n      (**(code **)(pcStack_2e0 + -0x61f0))(0x5e,*puVar21);\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(0x3f);\n      pwVar20 = pwVar20 + 1;\n      pwVar14 = (word *)((int)pwVar14 + 1);\n      aiStack_2c8[1] = 0;\n      aiStack_2c8[2] = 0;\n    }\n    else {\n      pwVar15 = (word *)(iStack_2d4 - (int)pwVar14);\n      pwVar18 = pwVar14;\n      pwVar16 = (word *)(**(code **)(pcStack_2e0 + -0x6084))(aiStack_2c8,pwVar14,pwVar15);\n      iVar5 = 1;\n      if (pwVar16 + 1 < (word *)0x2) {\n        aiStack_2c8[1] = 0;\n        aiStack_2c8[2] = 0;\n        pwVar16 = (word *)0x1;\n      }\n      else {\n        if (pwVar16 == (word *)0x0) break;\n        if (aiStack_2c8[0] < 0x40) {\n          if (aiStack_2c8[0] < 0x25) {\n            pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n            if (3 < aiStack_2c8[0] - 0x20U) goto LAB_000fc9c0;\n          }\n          else {\n            iVar5 = 1;\n          }\n        }\n        else if (aiStack_2c8[0] < 0x41) {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\nLAB_000fc9c0:\n          iVar5 = (*pcVar23)();\n        }\n        else if (aiStack_2c8[0] < 0x60) {\n          iVar5 = 1;\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n          if (0x1d < aiStack_2c8[0] - 0x61U) goto LAB_000fc9c0;\n          iVar5 = 1;\n        }\n        if (iVar5 < 0) {\n          iVar5 = 1;\n        }\n      }\n      pwVar18 = (word *)0x1;\n      pwVar15 = pwVar16;\n      (**(code **)(pcStack_2e0 + -0x6054))(pwVar14,1,pwVar16,*puVar21);\n      pwVar14 = (word *)((int)pwVar14 + (int)pwVar16);\n      pwVar20 = (word *)((int)pwVar20 + iVar5);\n    }" (if "if") (parenthesized_expression "(bVar2 < 0x20)" (( "(") (binary_expression "bVar2 < 0x20" (identifier "bVar2") (< "<") (number_literal "0x20")) () ")")) (compound_statement "{\n      (**(code **)(pcStack_2e0 + -0x61f0))(0x5e,*puVar21);\n      pwVar16 = (word *)((int)(char)*(byte *)pwVar14 | 0x40);\n      pbVar24 = (byte *)(*(byte *)pwVar14 | 0x40);\n      if ((word *)pbVar24 == pwVar16) {\n        piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x6290))();\n        if ((*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 2) != 0) {\n          piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x5f10))();\n          pwVar16 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n        }\n      }\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16);\n      pwVar20 = pwVar20 + 1;\n      pwVar14 = (word *)((int)pwVar14 + 1);\n      aiStack_2c8[1] = 0;\n      aiStack_2c8[2] = 0;\n    }" ({ "{") (expression_statement "(**(code **)(pcStack_2e0 + -0x61f0))(0x5e,*puVar21);" (call_expression "(**(code **)(pcStack_2e0 + -0x61f0))(0x5e,*puVar21)" (parenthesized_expression "(**(code **)(pcStack_2e0 + -0x61f0))" (( "(") (pointer_expression "**(code **)(pcStack_2e0 + -0x61f0)" (* "*") (pointer_expression "*(code **)(pcStack_2e0 + -0x61f0)" (* "*") (cast_expression "(code **)(pcStack_2e0 + -0x61f0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_2e0 + -0x61f0)" (( "(") (binary_expression "pcStack_2e0 + -0x61f0" (identifier "pcStack_2e0") (+ "+") (number_literal "-0x61f0")) () ")"))))) () ")")) (argument_list "(0x5e,*puVar21)" (( "(") (number_literal "0x5e") (, ",") (pointer_expression "*puVar21" (* "*") (identifier "puVar21")) () ")"))) (; ";")) (expression_statement "pwVar16 = (word *)((int)(char)*(byte *)pwVar14 | 0x40);" (assignment_expression "pwVar16 = (word *)((int)(char)*(byte *)pwVar14 | 0x40)" (identifier "pwVar16") (= "=") (cast_expression "(word *)((int)(char)*(byte *)pwVar14 | 0x40)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)(char)*(byte *)pwVar14 | 0x40)" (( "(") (binary_expression "(int)(char)*(byte *)pwVar14 | 0x40" (cast_expression "(int)(char)*(byte *)pwVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)*(byte *)pwVar14" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (pointer_expression "*(byte *)pwVar14" (* "*") (cast_expression "(byte *)pwVar14" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pwVar14"))))) (| "|") (number_literal "0x40")) () ")")))) (; ";")) (expression_statement "pbVar24 = (byte *)(*(byte *)pwVar14 | 0x40);" (assignment_expression "pbVar24 = (byte *)(*(byte *)pwVar14 | 0x40)" (identifier "pbVar24") (= "=") (cast_expression "(byte *)(*(byte *)pwVar14 | 0x40)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(byte *)pwVar14 | 0x40)" (( "(") (binary_expression "*(byte *)pwVar14 | 0x40" (pointer_expression "*(byte *)pwVar14" (* "*") (cast_expression "(byte *)pwVar14" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pwVar14"))) (| "|") (number_literal "0x40")) () ")")))) (; ";")) (if_statement "if ((word *)pbVar24 == pwVar16) {\n        piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x6290))();\n        if ((*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 2) != 0) {\n          piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x5f10))();\n          pwVar16 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n        }\n      }" (if "if") (parenthesized_expression "((word *)pbVar24 == pwVar16)" (( "(") (binary_expression "(word *)pbVar24 == pwVar16" (cast_expression "(word *)pbVar24" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pbVar24")) (== "==") (identifier "pwVar16")) () ")")) (compound_statement "{\n        piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x6290))();\n        if ((*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 2) != 0) {\n          piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x5f10))();\n          pwVar16 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n        }\n      }" ({ "{") (expression_statement "piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x6290))();" (assignment_expression "piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x6290))()" (identifier "piVar9") (= "=") (cast_expression "(int *)(**(code **)(pcStack_2e0 + -0x6290))()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcStack_2e0 + -0x6290))()" (parenthesized_expression "(**(code **)(pcStack_2e0 + -0x6290))" (( "(") (pointer_expression "**(code **)(pcStack_2e0 + -0x6290)" (* "*") (pointer_expression "*(code **)(pcStack_2e0 + -0x6290)" (* "*") (cast_expression "(code **)(pcStack_2e0 + -0x6290)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_2e0 + -0x6290)" (( "(") (binary_expression "pcStack_2e0 + -0x6290" (identifier "pcStack_2e0") (+ "+") (number_literal "-0x6290")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (if_statement "if ((*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 2) != 0) {\n          piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x5f10))();\n          pwVar16 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n        }" (if "if") (parenthesized_expression "((*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 2) != 0)" (( "(") (binary_expression "(*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 2) != 0" (parenthesized_expression "(*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 2)" (( "(") (binary_expression "*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 2" (pointer_expression "*(ushort *)(*piVar9 + (int)pbVar24 * 2)" (* "*") (cast_expression "(ushort *)(*piVar9 + (int)pbVar24 * 2)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar9 + (int)pbVar24 * 2)" (( "(") (binary_expression "*piVar9 + (int)pbVar24 * 2" (pointer_expression "*piVar9" (* "*") (identifier "piVar9")) (+ "+") (binary_expression "(int)pbVar24 * 2" (cast_expression "(int)pbVar24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar24")) (* "*") (number_literal "2"))) () ")")))) (& "&") (number_literal "2")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x5f10))();\n          pwVar16 = *(word **)(*piVar9 + (int)pbVar24 * 4);\n        }" ({ "{") (expression_statement "piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x5f10))();" (assignment_expression "piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x5f10))()" (identifier "piVar9") (= "=") (cast_expression "(int *)(**(code **)(pcStack_2e0 + -0x5f10))()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcStack_2e0 + -0x5f10))()" (parenthesized_expression "(**(code **)(pcStack_2e0 + -0x5f10))" (( "(") (pointer_expression "**(code **)(pcStack_2e0 + -0x5f10)" (* "*") (pointer_expression "*(code **)(pcStack_2e0 + -0x5f10)" (* "*") (cast_expression "(code **)(pcStack_2e0 + -0x5f10)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_2e0 + -0x5f10)" (( "(") (binary_expression "pcStack_2e0 + -0x5f10" (identifier "pcStack_2e0") (+ "+") (number_literal "-0x5f10")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "pwVar16 = *(word **)(*piVar9 + (int)pbVar24 * 4);" (assignment_expression "pwVar16 = *(word **)(*piVar9 + (int)pbVar24 * 4)" (identifier "pwVar16") (= "=") (pointer_expression "*(word **)(*piVar9 + (int)pbVar24 * 4)" (* "*") (cast_expression "(word **)(*piVar9 + (int)pbVar24 * 4)" (( "(") (type_descriptor "word **" (type_identifier "word") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar9 + (int)pbVar24 * 4)" (( "(") (binary_expression "*piVar9 + (int)pbVar24 * 4" (pointer_expression "*piVar9" (* "*") (identifier "piVar9")) (+ "+") (binary_expression "(int)pbVar24 * 4" (cast_expression "(int)pbVar24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar24")) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (} "}"))) (} "}"))) (expression_statement "pwVar18 = (word *)*puVar21;" (assignment_expression "pwVar18 = (word *)*puVar21" (identifier "pwVar18") (= "=") (cast_expression "(word *)*puVar21" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar21" (* "*") (identifier "puVar21")))) (; ";")) (expression_statement "(**(code **)(pcStack_2e0 + -0x61f0))(pwVar16);" (call_expression "(**(code **)(pcStack_2e0 + -0x61f0))(pwVar16)" (parenthesized_expression "(**(code **)(pcStack_2e0 + -0x61f0))" (( "(") (pointer_expression "**(code **)(pcStack_2e0 + -0x61f0)" (* "*") (pointer_expression "*(code **)(pcStack_2e0 + -0x61f0)" (* "*") (cast_expression "(code **)(pcStack_2e0 + -0x61f0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_2e0 + -0x61f0)" (( "(") (binary_expression "pcStack_2e0 + -0x61f0" (identifier "pcStack_2e0") (+ "+") (number_literal "-0x61f0")) () ")"))))) () ")")) (argument_list "(pwVar16)" (( "(") (identifier "pwVar16") () ")"))) (; ";")) (expression_statement "pwVar20 = pwVar20 + 1;" (assignment_expression "pwVar20 = pwVar20 + 1" (identifier "pwVar20") (= "=") (binary_expression "pwVar20 + 1" (identifier "pwVar20") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pwVar14 = (word *)((int)pwVar14 + 1);" (assignment_expression "pwVar14 = (word *)((int)pwVar14 + 1)" (identifier "pwVar14") (= "=") (cast_expression "(word *)((int)pwVar14 + 1)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pwVar14 + 1)" (( "(") (binary_expression "(int)pwVar14 + 1" (cast_expression "(int)pwVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pwVar14")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "aiStack_2c8[1] = 0;" (assignment_expression "aiStack_2c8[1] = 0" (subscript_expression "aiStack_2c8[1]" (identifier "aiStack_2c8") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "aiStack_2c8[2] = 0;" (assignment_expression "aiStack_2c8[2] = 0" (subscript_expression "aiStack_2c8[2]" (identifier "aiStack_2c8") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else if (bVar2 == 0x7f) {\n      (**(code **)(pcStack_2e0 + -0x61f0))(0x5e,*puVar21);\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(0x3f);\n      pwVar20 = pwVar20 + 1;\n      pwVar14 = (word *)((int)pwVar14 + 1);\n      aiStack_2c8[1] = 0;\n      aiStack_2c8[2] = 0;\n    }\n    else {\n      pwVar15 = (word *)(iStack_2d4 - (int)pwVar14);\n      pwVar18 = pwVar14;\n      pwVar16 = (word *)(**(code **)(pcStack_2e0 + -0x6084))(aiStack_2c8,pwVar14,pwVar15);\n      iVar5 = 1;\n      if (pwVar16 + 1 < (word *)0x2) {\n        aiStack_2c8[1] = 0;\n        aiStack_2c8[2] = 0;\n        pwVar16 = (word *)0x1;\n      }\n      else {\n        if (pwVar16 == (word *)0x0) break;\n        if (aiStack_2c8[0] < 0x40) {\n          if (aiStack_2c8[0] < 0x25) {\n            pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n            if (3 < aiStack_2c8[0] - 0x20U) goto LAB_000fc9c0;\n          }\n          else {\n            iVar5 = 1;\n          }\n        }\n        else if (aiStack_2c8[0] < 0x41) {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\nLAB_000fc9c0:\n          iVar5 = (*pcVar23)();\n        }\n        else if (aiStack_2c8[0] < 0x60) {\n          iVar5 = 1;\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n          if (0x1d < aiStack_2c8[0] - 0x61U) goto LAB_000fc9c0;\n          iVar5 = 1;\n        }\n        if (iVar5 < 0) {\n          iVar5 = 1;\n        }\n      }\n      pwVar18 = (word *)0x1;\n      pwVar15 = pwVar16;\n      (**(code **)(pcStack_2e0 + -0x6054))(pwVar14,1,pwVar16,*puVar21);\n      pwVar14 = (word *)((int)pwVar14 + (int)pwVar16);\n      pwVar20 = (word *)((int)pwVar20 + iVar5);\n    }" (else "else") (if_statement "if (bVar2 == 0x7f) {\n      (**(code **)(pcStack_2e0 + -0x61f0))(0x5e,*puVar21);\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(0x3f);\n      pwVar20 = pwVar20 + 1;\n      pwVar14 = (word *)((int)pwVar14 + 1);\n      aiStack_2c8[1] = 0;\n      aiStack_2c8[2] = 0;\n    }\n    else {\n      pwVar15 = (word *)(iStack_2d4 - (int)pwVar14);\n      pwVar18 = pwVar14;\n      pwVar16 = (word *)(**(code **)(pcStack_2e0 + -0x6084))(aiStack_2c8,pwVar14,pwVar15);\n      iVar5 = 1;\n      if (pwVar16 + 1 < (word *)0x2) {\n        aiStack_2c8[1] = 0;\n        aiStack_2c8[2] = 0;\n        pwVar16 = (word *)0x1;\n      }\n      else {\n        if (pwVar16 == (word *)0x0) break;\n        if (aiStack_2c8[0] < 0x40) {\n          if (aiStack_2c8[0] < 0x25) {\n            pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n            if (3 < aiStack_2c8[0] - 0x20U) goto LAB_000fc9c0;\n          }\n          else {\n            iVar5 = 1;\n          }\n        }\n        else if (aiStack_2c8[0] < 0x41) {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\nLAB_000fc9c0:\n          iVar5 = (*pcVar23)();\n        }\n        else if (aiStack_2c8[0] < 0x60) {\n          iVar5 = 1;\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n          if (0x1d < aiStack_2c8[0] - 0x61U) goto LAB_000fc9c0;\n          iVar5 = 1;\n        }\n        if (iVar5 < 0) {\n          iVar5 = 1;\n        }\n      }\n      pwVar18 = (word *)0x1;\n      pwVar15 = pwVar16;\n      (**(code **)(pcStack_2e0 + -0x6054))(pwVar14,1,pwVar16,*puVar21);\n      pwVar14 = (word *)((int)pwVar14 + (int)pwVar16);\n      pwVar20 = (word *)((int)pwVar20 + iVar5);\n    }" (if "if") (parenthesized_expression "(bVar2 == 0x7f)" (( "(") (binary_expression "bVar2 == 0x7f" (identifier "bVar2") (== "==") (number_literal "0x7f")) () ")")) (compound_statement "{\n      (**(code **)(pcStack_2e0 + -0x61f0))(0x5e,*puVar21);\n      pwVar18 = (word *)*puVar21;\n      (**(code **)(pcStack_2e0 + -0x61f0))(0x3f);\n      pwVar20 = pwVar20 + 1;\n      pwVar14 = (word *)((int)pwVar14 + 1);\n      aiStack_2c8[1] = 0;\n      aiStack_2c8[2] = 0;\n    }" ({ "{") (expression_statement "(**(code **)(pcStack_2e0 + -0x61f0))(0x5e,*puVar21);" (call_expression "(**(code **)(pcStack_2e0 + -0x61f0))(0x5e,*puVar21)" (parenthesized_expression "(**(code **)(pcStack_2e0 + -0x61f0))" (( "(") (pointer_expression "**(code **)(pcStack_2e0 + -0x61f0)" (* "*") (pointer_expression "*(code **)(pcStack_2e0 + -0x61f0)" (* "*") (cast_expression "(code **)(pcStack_2e0 + -0x61f0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_2e0 + -0x61f0)" (( "(") (binary_expression "pcStack_2e0 + -0x61f0" (identifier "pcStack_2e0") (+ "+") (number_literal "-0x61f0")) () ")"))))) () ")")) (argument_list "(0x5e,*puVar21)" (( "(") (number_literal "0x5e") (, ",") (pointer_expression "*puVar21" (* "*") (identifier "puVar21")) () ")"))) (; ";")) (expression_statement "pwVar18 = (word *)*puVar21;" (assignment_expression "pwVar18 = (word *)*puVar21" (identifier "pwVar18") (= "=") (cast_expression "(word *)*puVar21" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar21" (* "*") (identifier "puVar21")))) (; ";")) (expression_statement "(**(code **)(pcStack_2e0 + -0x61f0))(0x3f);" (call_expression "(**(code **)(pcStack_2e0 + -0x61f0))(0x3f)" (parenthesized_expression "(**(code **)(pcStack_2e0 + -0x61f0))" (( "(") (pointer_expression "**(code **)(pcStack_2e0 + -0x61f0)" (* "*") (pointer_expression "*(code **)(pcStack_2e0 + -0x61f0)" (* "*") (cast_expression "(code **)(pcStack_2e0 + -0x61f0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_2e0 + -0x61f0)" (( "(") (binary_expression "pcStack_2e0 + -0x61f0" (identifier "pcStack_2e0") (+ "+") (number_literal "-0x61f0")) () ")"))))) () ")")) (argument_list "(0x3f)" (( "(") (number_literal "0x3f") () ")"))) (; ";")) (expression_statement "pwVar20 = pwVar20 + 1;" (assignment_expression "pwVar20 = pwVar20 + 1" (identifier "pwVar20") (= "=") (binary_expression "pwVar20 + 1" (identifier "pwVar20") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pwVar14 = (word *)((int)pwVar14 + 1);" (assignment_expression "pwVar14 = (word *)((int)pwVar14 + 1)" (identifier "pwVar14") (= "=") (cast_expression "(word *)((int)pwVar14 + 1)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pwVar14 + 1)" (( "(") (binary_expression "(int)pwVar14 + 1" (cast_expression "(int)pwVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pwVar14")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "aiStack_2c8[1] = 0;" (assignment_expression "aiStack_2c8[1] = 0" (subscript_expression "aiStack_2c8[1]" (identifier "aiStack_2c8") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "aiStack_2c8[2] = 0;" (assignment_expression "aiStack_2c8[2] = 0" (subscript_expression "aiStack_2c8[2]" (identifier "aiStack_2c8") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n      pwVar15 = (word *)(iStack_2d4 - (int)pwVar14);\n      pwVar18 = pwVar14;\n      pwVar16 = (word *)(**(code **)(pcStack_2e0 + -0x6084))(aiStack_2c8,pwVar14,pwVar15);\n      iVar5 = 1;\n      if (pwVar16 + 1 < (word *)0x2) {\n        aiStack_2c8[1] = 0;\n        aiStack_2c8[2] = 0;\n        pwVar16 = (word *)0x1;\n      }\n      else {\n        if (pwVar16 == (word *)0x0) break;\n        if (aiStack_2c8[0] < 0x40) {\n          if (aiStack_2c8[0] < 0x25) {\n            pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n            if (3 < aiStack_2c8[0] - 0x20U) goto LAB_000fc9c0;\n          }\n          else {\n            iVar5 = 1;\n          }\n        }\n        else if (aiStack_2c8[0] < 0x41) {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\nLAB_000fc9c0:\n          iVar5 = (*pcVar23)();\n        }\n        else if (aiStack_2c8[0] < 0x60) {\n          iVar5 = 1;\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n          if (0x1d < aiStack_2c8[0] - 0x61U) goto LAB_000fc9c0;\n          iVar5 = 1;\n        }\n        if (iVar5 < 0) {\n          iVar5 = 1;\n        }\n      }\n      pwVar18 = (word *)0x1;\n      pwVar15 = pwVar16;\n      (**(code **)(pcStack_2e0 + -0x6054))(pwVar14,1,pwVar16,*puVar21);\n      pwVar14 = (word *)((int)pwVar14 + (int)pwVar16);\n      pwVar20 = (word *)((int)pwVar20 + iVar5);\n    }" (else "else") (compound_statement "{\n      pwVar15 = (word *)(iStack_2d4 - (int)pwVar14);\n      pwVar18 = pwVar14;\n      pwVar16 = (word *)(**(code **)(pcStack_2e0 + -0x6084))(aiStack_2c8,pwVar14,pwVar15);\n      iVar5 = 1;\n      if (pwVar16 + 1 < (word *)0x2) {\n        aiStack_2c8[1] = 0;\n        aiStack_2c8[2] = 0;\n        pwVar16 = (word *)0x1;\n      }\n      else {\n        if (pwVar16 == (word *)0x0) break;\n        if (aiStack_2c8[0] < 0x40) {\n          if (aiStack_2c8[0] < 0x25) {\n            pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n            if (3 < aiStack_2c8[0] - 0x20U) goto LAB_000fc9c0;\n          }\n          else {\n            iVar5 = 1;\n          }\n        }\n        else if (aiStack_2c8[0] < 0x41) {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\nLAB_000fc9c0:\n          iVar5 = (*pcVar23)();\n        }\n        else if (aiStack_2c8[0] < 0x60) {\n          iVar5 = 1;\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n          if (0x1d < aiStack_2c8[0] - 0x61U) goto LAB_000fc9c0;\n          iVar5 = 1;\n        }\n        if (iVar5 < 0) {\n          iVar5 = 1;\n        }\n      }\n      pwVar18 = (word *)0x1;\n      pwVar15 = pwVar16;\n      (**(code **)(pcStack_2e0 + -0x6054))(pwVar14,1,pwVar16,*puVar21);\n      pwVar14 = (word *)((int)pwVar14 + (int)pwVar16);\n      pwVar20 = (word *)((int)pwVar20 + iVar5);\n    }" ({ "{") (expression_statement "pwVar15 = (word *)(iStack_2d4 - (int)pwVar14);" (assignment_expression "pwVar15 = (word *)(iStack_2d4 - (int)pwVar14)" (identifier "pwVar15") (= "=") (cast_expression "(word *)(iStack_2d4 - (int)pwVar14)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iStack_2d4 - (int)pwVar14)" (( "(") (binary_expression "iStack_2d4 - (int)pwVar14" (identifier "iStack_2d4") (- "-") (cast_expression "(int)pwVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pwVar14"))) () ")")))) (; ";")) (expression_statement "pwVar18 = pwVar14;" (assignment_expression "pwVar18 = pwVar14" (identifier "pwVar18") (= "=") (identifier "pwVar14")) (; ";")) (expression_statement "pwVar16 = (word *)(**(code **)(pcStack_2e0 + -0x6084))(aiStack_2c8,pwVar14,pwVar15);" (assignment_expression "pwVar16 = (word *)(**(code **)(pcStack_2e0 + -0x6084))(aiStack_2c8,pwVar14,pwVar15)" (identifier "pwVar16") (= "=") (cast_expression "(word *)(**(code **)(pcStack_2e0 + -0x6084))(aiStack_2c8,pwVar14,pwVar15)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcStack_2e0 + -0x6084))(aiStack_2c8,pwVar14,pwVar15)" (parenthesized_expression "(**(code **)(pcStack_2e0 + -0x6084))" (( "(") (pointer_expression "**(code **)(pcStack_2e0 + -0x6084)" (* "*") (pointer_expression "*(code **)(pcStack_2e0 + -0x6084)" (* "*") (cast_expression "(code **)(pcStack_2e0 + -0x6084)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_2e0 + -0x6084)" (( "(") (binary_expression "pcStack_2e0 + -0x6084" (identifier "pcStack_2e0") (+ "+") (number_literal "-0x6084")) () ")"))))) () ")")) (argument_list "(aiStack_2c8,pwVar14,pwVar15)" (( "(") (identifier "aiStack_2c8") (, ",") (identifier "pwVar14") (, ",") (identifier "pwVar15") () ")"))))) (; ";")) (expression_statement "iVar5 = 1;" (assignment_expression "iVar5 = 1" (identifier "iVar5") (= "=") (number_literal "1")) (; ";")) (if_statement "if (pwVar16 + 1 < (word *)0x2) {\n        aiStack_2c8[1] = 0;\n        aiStack_2c8[2] = 0;\n        pwVar16 = (word *)0x1;\n      }\n      else {\n        if (pwVar16 == (word *)0x0) break;\n        if (aiStack_2c8[0] < 0x40) {\n          if (aiStack_2c8[0] < 0x25) {\n            pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n            if (3 < aiStack_2c8[0] - 0x20U) goto LAB_000fc9c0;\n          }\n          else {\n            iVar5 = 1;\n          }\n        }\n        else if (aiStack_2c8[0] < 0x41) {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\nLAB_000fc9c0:\n          iVar5 = (*pcVar23)();\n        }\n        else if (aiStack_2c8[0] < 0x60) {\n          iVar5 = 1;\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n          if (0x1d < aiStack_2c8[0] - 0x61U) goto LAB_000fc9c0;\n          iVar5 = 1;\n        }\n        if (iVar5 < 0) {\n          iVar5 = 1;\n        }\n      }" (if "if") (parenthesized_expression "(pwVar16 + 1 < (word *)0x2)" (( "(") (binary_expression "pwVar16 + 1 < (word *)0x2" (binary_expression "pwVar16 + 1" (identifier "pwVar16") (+ "+") (number_literal "1")) (< "<") (cast_expression "(word *)0x2" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x2"))) () ")")) (compound_statement "{\n        aiStack_2c8[1] = 0;\n        aiStack_2c8[2] = 0;\n        pwVar16 = (word *)0x1;\n      }" ({ "{") (expression_statement "aiStack_2c8[1] = 0;" (assignment_expression "aiStack_2c8[1] = 0" (subscript_expression "aiStack_2c8[1]" (identifier "aiStack_2c8") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "aiStack_2c8[2] = 0;" (assignment_expression "aiStack_2c8[2] = 0" (subscript_expression "aiStack_2c8[2]" (identifier "aiStack_2c8") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "pwVar16 = (word *)0x1;" (assignment_expression "pwVar16 = (word *)0x1" (identifier "pwVar16") (= "=") (cast_expression "(word *)0x1" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (} "}")) (else_clause "else {\n        if (pwVar16 == (word *)0x0) break;\n        if (aiStack_2c8[0] < 0x40) {\n          if (aiStack_2c8[0] < 0x25) {\n            pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n            if (3 < aiStack_2c8[0] - 0x20U) goto LAB_000fc9c0;\n          }\n          else {\n            iVar5 = 1;\n          }\n        }\n        else if (aiStack_2c8[0] < 0x41) {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\nLAB_000fc9c0:\n          iVar5 = (*pcVar23)();\n        }\n        else if (aiStack_2c8[0] < 0x60) {\n          iVar5 = 1;\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n          if (0x1d < aiStack_2c8[0] - 0x61U) goto LAB_000fc9c0;\n          iVar5 = 1;\n        }\n        if (iVar5 < 0) {\n          iVar5 = 1;\n        }\n      }" (else "else") (compound_statement "{\n        if (pwVar16 == (word *)0x0) break;\n        if (aiStack_2c8[0] < 0x40) {\n          if (aiStack_2c8[0] < 0x25) {\n            pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n            if (3 < aiStack_2c8[0] - 0x20U) goto LAB_000fc9c0;\n          }\n          else {\n            iVar5 = 1;\n          }\n        }\n        else if (aiStack_2c8[0] < 0x41) {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\nLAB_000fc9c0:\n          iVar5 = (*pcVar23)();\n        }\n        else if (aiStack_2c8[0] < 0x60) {\n          iVar5 = 1;\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n          if (0x1d < aiStack_2c8[0] - 0x61U) goto LAB_000fc9c0;\n          iVar5 = 1;\n        }\n        if (iVar5 < 0) {\n          iVar5 = 1;\n        }\n      }" ({ "{") (if_statement "if (pwVar16 == (word *)0x0) break;" (if "if") (parenthesized_expression "(pwVar16 == (word *)0x0)" (( "(") (binary_expression "pwVar16 == (word *)0x0" (identifier "pwVar16") (== "==") (cast_expression "(word *)0x0" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (if_statement "if (aiStack_2c8[0] < 0x40) {\n          if (aiStack_2c8[0] < 0x25) {\n            pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n            if (3 < aiStack_2c8[0] - 0x20U) goto LAB_000fc9c0;\n          }\n          else {\n            iVar5 = 1;\n          }\n        }\n        else if (aiStack_2c8[0] < 0x41) {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\nLAB_000fc9c0:\n          iVar5 = (*pcVar23)();\n        }\n        else if (aiStack_2c8[0] < 0x60) {\n          iVar5 = 1;\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n          if (0x1d < aiStack_2c8[0] - 0x61U) goto LAB_000fc9c0;\n          iVar5 = 1;\n        }" (if "if") (parenthesized_expression "(aiStack_2c8[0] < 0x40)" (( "(") (binary_expression "aiStack_2c8[0] < 0x40" (subscript_expression "aiStack_2c8[0]" (identifier "aiStack_2c8") ([ "[") (number_literal "0") (] "]")) (< "<") (number_literal "0x40")) () ")")) (compound_statement "{\n          if (aiStack_2c8[0] < 0x25) {\n            pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n            if (3 < aiStack_2c8[0] - 0x20U) goto LAB_000fc9c0;\n          }\n          else {\n            iVar5 = 1;\n          }\n        }" ({ "{") (if_statement "if (aiStack_2c8[0] < 0x25) {\n            pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n            if (3 < aiStack_2c8[0] - 0x20U) goto LAB_000fc9c0;\n          }\n          else {\n            iVar5 = 1;\n          }" (if "if") (parenthesized_expression "(aiStack_2c8[0] < 0x25)" (( "(") (binary_expression "aiStack_2c8[0] < 0x25" (subscript_expression "aiStack_2c8[0]" (identifier "aiStack_2c8") ([ "[") (number_literal "0") (] "]")) (< "<") (number_literal "0x25")) () ")")) (compound_statement "{\n            pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n            if (3 < aiStack_2c8[0] - 0x20U) goto LAB_000fc9c0;\n          }" ({ "{") (expression_statement "pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);" (assignment_expression "pcVar23 = *(code **)(pcStack_2e0 + -0x5f84)" (identifier "pcVar23") (= "=") (pointer_expression "*(code **)(pcStack_2e0 + -0x5f84)" (* "*") (cast_expression "(code **)(pcStack_2e0 + -0x5f84)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_2e0 + -0x5f84)" (( "(") (binary_expression "pcStack_2e0 + -0x5f84" (identifier "pcStack_2e0") (+ "+") (number_literal "-0x5f84")) () ")"))))) (; ";")) (if_statement "if (3 < aiStack_2c8[0] - 0x20U) goto LAB_000fc9c0;" (if "if") (parenthesized_expression "(3 < aiStack_2c8[0] - 0x20U)" (( "(") (binary_expression "3 < aiStack_2c8[0] - 0x20U" (number_literal "3") (< "<") (binary_expression "aiStack_2c8[0] - 0x20U" (subscript_expression "aiStack_2c8[0]" (identifier "aiStack_2c8") ([ "[") (number_literal "0") (] "]")) (- "-") (number_literal "0x20U"))) () ")")) (goto_statement "goto LAB_000fc9c0;" (goto "goto") (statement_identifier "LAB_000fc9c0") (; ";"))) (} "}")) (else_clause "else {\n            iVar5 = 1;\n          }" (else "else") (compound_statement "{\n            iVar5 = 1;\n          }" ({ "{") (expression_statement "iVar5 = 1;" (assignment_expression "iVar5 = 1" (identifier "iVar5") (= "=") (number_literal "1")) (; ";")) (} "}")))) (} "}")) (else_clause "else if (aiStack_2c8[0] < 0x41) {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\nLAB_000fc9c0:\n          iVar5 = (*pcVar23)();\n        }\n        else if (aiStack_2c8[0] < 0x60) {\n          iVar5 = 1;\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n          if (0x1d < aiStack_2c8[0] - 0x61U) goto LAB_000fc9c0;\n          iVar5 = 1;\n        }" (else "else") (if_statement "if (aiStack_2c8[0] < 0x41) {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\nLAB_000fc9c0:\n          iVar5 = (*pcVar23)();\n        }\n        else if (aiStack_2c8[0] < 0x60) {\n          iVar5 = 1;\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n          if (0x1d < aiStack_2c8[0] - 0x61U) goto LAB_000fc9c0;\n          iVar5 = 1;\n        }" (if "if") (parenthesized_expression "(aiStack_2c8[0] < 0x41)" (( "(") (binary_expression "aiStack_2c8[0] < 0x41" (subscript_expression "aiStack_2c8[0]" (identifier "aiStack_2c8") ([ "[") (number_literal "0") (] "]")) (< "<") (number_literal "0x41")) () ")")) (compound_statement "{\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\nLAB_000fc9c0:\n          iVar5 = (*pcVar23)();\n        }" ({ "{") (expression_statement "pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);" (assignment_expression "pcVar23 = *(code **)(pcStack_2e0 + -0x5f84)" (identifier "pcVar23") (= "=") (pointer_expression "*(code **)(pcStack_2e0 + -0x5f84)" (* "*") (cast_expression "(code **)(pcStack_2e0 + -0x5f84)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_2e0 + -0x5f84)" (( "(") (binary_expression "pcStack_2e0 + -0x5f84" (identifier "pcStack_2e0") (+ "+") (number_literal "-0x5f84")) () ")"))))) (; ";")) (labeled_statement "LAB_000fc9c0:\n          iVar5 = (*pcVar23)();" (statement_identifier "LAB_000fc9c0") (: ":") (expression_statement "iVar5 = (*pcVar23)();" (assignment_expression "iVar5 = (*pcVar23)()" (identifier "iVar5") (= "=") (call_expression "(*pcVar23)()" (parenthesized_expression "(*pcVar23)" (( "(") (pointer_expression "*pcVar23" (* "*") (identifier "pcVar23")) () ")")) (argument_list "()" (( "(") () ")")))) (; ";"))) (} "}")) (else_clause "else if (aiStack_2c8[0] < 0x60) {\n          iVar5 = 1;\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n          if (0x1d < aiStack_2c8[0] - 0x61U) goto LAB_000fc9c0;\n          iVar5 = 1;\n        }" (else "else") (if_statement "if (aiStack_2c8[0] < 0x60) {\n          iVar5 = 1;\n        }\n        else {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n          if (0x1d < aiStack_2c8[0] - 0x61U) goto LAB_000fc9c0;\n          iVar5 = 1;\n        }" (if "if") (parenthesized_expression "(aiStack_2c8[0] < 0x60)" (( "(") (binary_expression "aiStack_2c8[0] < 0x60" (subscript_expression "aiStack_2c8[0]" (identifier "aiStack_2c8") ([ "[") (number_literal "0") (] "]")) (< "<") (number_literal "0x60")) () ")")) (compound_statement "{\n          iVar5 = 1;\n        }" ({ "{") (expression_statement "iVar5 = 1;" (assignment_expression "iVar5 = 1" (identifier "iVar5") (= "=") (number_literal "1")) (; ";")) (} "}")) (else_clause "else {\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n          if (0x1d < aiStack_2c8[0] - 0x61U) goto LAB_000fc9c0;\n          iVar5 = 1;\n        }" (else "else") (compound_statement "{\n          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);\n          if (0x1d < aiStack_2c8[0] - 0x61U) goto LAB_000fc9c0;\n          iVar5 = 1;\n        }" ({ "{") (expression_statement "pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);" (assignment_expression "pcVar23 = *(code **)(pcStack_2e0 + -0x5f84)" (identifier "pcVar23") (= "=") (pointer_expression "*(code **)(pcStack_2e0 + -0x5f84)" (* "*") (cast_expression "(code **)(pcStack_2e0 + -0x5f84)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_2e0 + -0x5f84)" (( "(") (binary_expression "pcStack_2e0 + -0x5f84" (identifier "pcStack_2e0") (+ "+") (number_literal "-0x5f84")) () ")"))))) (; ";")) (if_statement "if (0x1d < aiStack_2c8[0] - 0x61U) goto LAB_000fc9c0;" (if "if") (parenthesized_expression "(0x1d < aiStack_2c8[0] - 0x61U)" (( "(") (binary_expression "0x1d < aiStack_2c8[0] - 0x61U" (number_literal "0x1d") (< "<") (binary_expression "aiStack_2c8[0] - 0x61U" (subscript_expression "aiStack_2c8[0]" (identifier "aiStack_2c8") ([ "[") (number_literal "0") (] "]")) (- "-") (number_literal "0x61U"))) () ")")) (goto_statement "goto LAB_000fc9c0;" (goto "goto") (statement_identifier "LAB_000fc9c0") (; ";"))) (expression_statement "iVar5 = 1;" (assignment_expression "iVar5 = 1" (identifier "iVar5") (= "=") (number_literal "1")) (; ";")) (} "}")))))))) (if_statement "if (iVar5 < 0) {\n          iVar5 = 1;\n        }" (if "if") (parenthesized_expression "(iVar5 < 0)" (( "(") (binary_expression "iVar5 < 0" (identifier "iVar5") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n          iVar5 = 1;\n        }" ({ "{") (expression_statement "iVar5 = 1;" (assignment_expression "iVar5 = 1" (identifier "iVar5") (= "=") (number_literal "1")) (; ";")) (} "}"))) (} "}")))) (expression_statement "pwVar18 = (word *)0x1;" (assignment_expression "pwVar18 = (word *)0x1" (identifier "pwVar18") (= "=") (cast_expression "(word *)0x1" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "pwVar15 = pwVar16;" (assignment_expression "pwVar15 = pwVar16" (identifier "pwVar15") (= "=") (identifier "pwVar16")) (; ";")) (expression_statement "(**(code **)(pcStack_2e0 + -0x6054))(pwVar14,1,pwVar16,*puVar21);" (call_expression "(**(code **)(pcStack_2e0 + -0x6054))(pwVar14,1,pwVar16,*puVar21)" (parenthesized_expression "(**(code **)(pcStack_2e0 + -0x6054))" (( "(") (pointer_expression "**(code **)(pcStack_2e0 + -0x6054)" (* "*") (pointer_expression "*(code **)(pcStack_2e0 + -0x6054)" (* "*") (cast_expression "(code **)(pcStack_2e0 + -0x6054)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_2e0 + -0x6054)" (( "(") (binary_expression "pcStack_2e0 + -0x6054" (identifier "pcStack_2e0") (+ "+") (number_literal "-0x6054")) () ")"))))) () ")")) (argument_list "(pwVar14,1,pwVar16,*puVar21)" (( "(") (identifier "pwVar14") (, ",") (number_literal "1") (, ",") (identifier "pwVar16") (, ",") (pointer_expression "*puVar21" (* "*") (identifier "puVar21")) () ")"))) (; ";")) (expression_statement "pwVar14 = (word *)((int)pwVar14 + (int)pwVar16);" (assignment_expression "pwVar14 = (word *)((int)pwVar14 + (int)pwVar16)" (identifier "pwVar14") (= "=") (cast_expression "(word *)((int)pwVar14 + (int)pwVar16)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pwVar14 + (int)pwVar16)" (( "(") (binary_expression "(int)pwVar14 + (int)pwVar16" (cast_expression "(int)pwVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pwVar14")) (+ "+") (cast_expression "(int)pwVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pwVar16"))) () ")")))) (; ";")) (expression_statement "pwVar20 = (word *)((int)pwVar20 + iVar5);" (assignment_expression "pwVar20 = (word *)((int)pwVar20 + iVar5)" (identifier "pwVar20") (= "=") (cast_expression "(word *)((int)pwVar20 + iVar5)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pwVar20 + iVar5)" (( "(") (binary_expression "(int)pwVar20 + iVar5" (cast_expression "(int)pwVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pwVar20")) (+ "+") (identifier "iVar5")) () ")")))) (; ";")) (} "}")))))) (if_statement "if ((0 < (int)pwVar6) && ((int)pwVar6 <= (int)pwVar14 - iVar11)) {\n      (**(code **)(pcStack_2e0 + -0x658c))();\n      (**(code **)(pcStack_2e0 + -0x6588))(iStack_2d0);\n      pwVar6 = (word *)**(undefined4 **)(pcStack_2e0 + -0x67a8);\n      if (pwVar6 != (word *)0x0) {\n        (**(code **)(pcStack_2e0 + -0x659c))();\n        (**(code **)(pcStack_2e0 + -0x6594))(pwStack_2cc);\n        pwVar6 = (word *)0x0;\n      }\n    }" (if "if") (parenthesized_expression "((0 < (int)pwVar6) && ((int)pwVar6 <= (int)pwVar14 - iVar11))" (( "(") (binary_expression "(0 < (int)pwVar6) && ((int)pwVar6 <= (int)pwVar14 - iVar11)" (parenthesized_expression "(0 < (int)pwVar6)" (( "(") (binary_expression "0 < (int)pwVar6" (number_literal "0") (< "<") (cast_expression "(int)pwVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pwVar6"))) () ")")) (&& "&&") (parenthesized_expression "((int)pwVar6 <= (int)pwVar14 - iVar11)" (( "(") (binary_expression "(int)pwVar6 <= (int)pwVar14 - iVar11" (cast_expression "(int)pwVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pwVar6")) (<= "<=") (binary_expression "(int)pwVar14 - iVar11" (cast_expression "(int)pwVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pwVar14")) (- "-") (identifier "iVar11"))) () ")"))) () ")")) (compound_statement "{\n      (**(code **)(pcStack_2e0 + -0x658c))();\n      (**(code **)(pcStack_2e0 + -0x6588))(iStack_2d0);\n      pwVar6 = (word *)**(undefined4 **)(pcStack_2e0 + -0x67a8);\n      if (pwVar6 != (word *)0x0) {\n        (**(code **)(pcStack_2e0 + -0x659c))();\n        (**(code **)(pcStack_2e0 + -0x6594))(pwStack_2cc);\n        pwVar6 = (word *)0x0;\n      }\n    }" ({ "{") (expression_statement "(**(code **)(pcStack_2e0 + -0x658c))();" (call_expression "(**(code **)(pcStack_2e0 + -0x658c))()" (parenthesized_expression "(**(code **)(pcStack_2e0 + -0x658c))" (( "(") (pointer_expression "**(code **)(pcStack_2e0 + -0x658c)" (* "*") (pointer_expression "*(code **)(pcStack_2e0 + -0x658c)" (* "*") (cast_expression "(code **)(pcStack_2e0 + -0x658c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_2e0 + -0x658c)" (( "(") (binary_expression "pcStack_2e0 + -0x658c" (identifier "pcStack_2e0") (+ "+") (number_literal "-0x658c")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "(**(code **)(pcStack_2e0 + -0x6588))(iStack_2d0);" (call_expression "(**(code **)(pcStack_2e0 + -0x6588))(iStack_2d0)" (parenthesized_expression "(**(code **)(pcStack_2e0 + -0x6588))" (( "(") (pointer_expression "**(code **)(pcStack_2e0 + -0x6588)" (* "*") (pointer_expression "*(code **)(pcStack_2e0 + -0x6588)" (* "*") (cast_expression "(code **)(pcStack_2e0 + -0x6588)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_2e0 + -0x6588)" (( "(") (binary_expression "pcStack_2e0 + -0x6588" (identifier "pcStack_2e0") (+ "+") (number_literal "-0x6588")) () ")"))))) () ")")) (argument_list "(iStack_2d0)" (( "(") (identifier "iStack_2d0") () ")"))) (; ";")) (expression_statement "pwVar6 = (word *)**(undefined4 **)(pcStack_2e0 + -0x67a8);" (assignment_expression "pwVar6 = (word *)**(undefined4 **)(pcStack_2e0 + -0x67a8)" (identifier "pwVar6") (= "=") (cast_expression "(word *)**(undefined4 **)(pcStack_2e0 + -0x67a8)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(undefined4 **)(pcStack_2e0 + -0x67a8)" (* "*") (pointer_expression "*(undefined4 **)(pcStack_2e0 + -0x67a8)" (* "*") (cast_expression "(undefined4 **)(pcStack_2e0 + -0x67a8)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_2e0 + -0x67a8)" (( "(") (binary_expression "pcStack_2e0 + -0x67a8" (identifier "pcStack_2e0") (+ "+") (number_literal "-0x67a8")) () ")"))))))) (; ";")) (if_statement "if (pwVar6 != (word *)0x0) {\n        (**(code **)(pcStack_2e0 + -0x659c))();\n        (**(code **)(pcStack_2e0 + -0x6594))(pwStack_2cc);\n        pwVar6 = (word *)0x0;\n      }" (if "if") (parenthesized_expression "(pwVar6 != (word *)0x0)" (( "(") (binary_expression "pwVar6 != (word *)0x0" (identifier "pwVar6") (!= "!=") (cast_expression "(word *)0x0" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        (**(code **)(pcStack_2e0 + -0x659c))();\n        (**(code **)(pcStack_2e0 + -0x6594))(pwStack_2cc);\n        pwVar6 = (word *)0x0;\n      }" ({ "{") (expression_statement "(**(code **)(pcStack_2e0 + -0x659c))();" (call_expression "(**(code **)(pcStack_2e0 + -0x659c))()" (parenthesized_expression "(**(code **)(pcStack_2e0 + -0x659c))" (( "(") (pointer_expression "**(code **)(pcStack_2e0 + -0x659c)" (* "*") (pointer_expression "*(code **)(pcStack_2e0 + -0x659c)" (* "*") (cast_expression "(code **)(pcStack_2e0 + -0x659c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_2e0 + -0x659c)" (( "(") (binary_expression "pcStack_2e0 + -0x659c" (identifier "pcStack_2e0") (+ "+") (number_literal "-0x659c")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "(**(code **)(pcStack_2e0 + -0x6594))(pwStack_2cc);" (call_expression "(**(code **)(pcStack_2e0 + -0x6594))(pwStack_2cc)" (parenthesized_expression "(**(code **)(pcStack_2e0 + -0x6594))" (( "(") (pointer_expression "**(code **)(pcStack_2e0 + -0x6594)" (* "*") (pointer_expression "*(code **)(pcStack_2e0 + -0x6594)" (* "*") (cast_expression "(code **)(pcStack_2e0 + -0x6594)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_2e0 + -0x6594)" (( "(") (binary_expression "pcStack_2e0 + -0x6594" (identifier "pcStack_2e0") (+ "+") (number_literal "-0x6594")) () ")"))))) () ")")) (argument_list "(pwStack_2cc)" (( "(") (identifier "pwStack_2cc") () ")"))) (; ";")) (expression_statement "pwVar6 = (word *)0x0;" (assignment_expression "pwVar6 = (word *)0x0" (identifier "pwVar6") (= "=") (cast_expression "(word *)0x0" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}"))) (} "}"))) (} "}"))) (if_statement "if (**(int **)(pcStack_2e0 + -0x67a8) != 0) {\n    (**(code **)(pcStack_2e0 + -0x658c))();\n    (**(code **)(pcStack_2e0 + -0x6588))(*(int *)(pcStack_2e0 + -26000) + 0xb8);\n  }" (if "if") (parenthesized_expression "(**(int **)(pcStack_2e0 + -0x67a8) != 0)" (( "(") (binary_expression "**(int **)(pcStack_2e0 + -0x67a8) != 0" (pointer_expression "**(int **)(pcStack_2e0 + -0x67a8)" (* "*") (pointer_expression "*(int **)(pcStack_2e0 + -0x67a8)" (* "*") (cast_expression "(int **)(pcStack_2e0 + -0x67a8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_2e0 + -0x67a8)" (( "(") (binary_expression "pcStack_2e0 + -0x67a8" (identifier "pcStack_2e0") (+ "+") (number_literal "-0x67a8")) () ")"))))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    (**(code **)(pcStack_2e0 + -0x658c))();\n    (**(code **)(pcStack_2e0 + -0x6588))(*(int *)(pcStack_2e0 + -26000) + 0xb8);\n  }" ({ "{") (expression_statement "(**(code **)(pcStack_2e0 + -0x658c))();" (call_expression "(**(code **)(pcStack_2e0 + -0x658c))()" (parenthesized_expression "(**(code **)(pcStack_2e0 + -0x658c))" (( "(") (pointer_expression "**(code **)(pcStack_2e0 + -0x658c)" (* "*") (pointer_expression "*(code **)(pcStack_2e0 + -0x658c)" (* "*") (cast_expression "(code **)(pcStack_2e0 + -0x658c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_2e0 + -0x658c)" (( "(") (binary_expression "pcStack_2e0 + -0x658c" (identifier "pcStack_2e0") (+ "+") (number_literal "-0x658c")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "(**(code **)(pcStack_2e0 + -0x6588))(*(int *)(pcStack_2e0 + -26000) + 0xb8);" (call_expression "(**(code **)(pcStack_2e0 + -0x6588))(*(int *)(pcStack_2e0 + -26000) + 0xb8)" (parenthesized_expression "(**(code **)(pcStack_2e0 + -0x6588))" (( "(") (pointer_expression "**(code **)(pcStack_2e0 + -0x6588)" (* "*") (pointer_expression "*(code **)(pcStack_2e0 + -0x6588)" (* "*") (cast_expression "(code **)(pcStack_2e0 + -0x6588)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_2e0 + -0x6588)" (( "(") (binary_expression "pcStack_2e0 + -0x6588" (identifier "pcStack_2e0") (+ "+") (number_literal "-0x6588")) () ")"))))) () ")")) (argument_list "(*(int *)(pcStack_2e0 + -26000) + 0xb8)" (( "(") (binary_expression "*(int *)(pcStack_2e0 + -26000) + 0xb8" (pointer_expression "*(int *)(pcStack_2e0 + -26000)" (* "*") (cast_expression "(int *)(pcStack_2e0 + -26000)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcStack_2e0 + -26000)" (( "(") (binary_expression "pcStack_2e0 + -26000" (identifier "pcStack_2e0") (+ "+") (number_literal "-26000")) () ")")))) (+ "+") (number_literal "0xb8")) () ")"))) (; ";")) (} "}"))) (if_statement "if (pbStack_2bc == (byte *)**(undefined4 **)(pcStack_2e0 + -0x5fb4)) {\n    return pwVar20;\n  }" (if "if") (parenthesized_expression "(pbStack_2bc == (byte *)**(undefined4 **)(pcStack_2e0 + -0x5fb4))" (( "(") (binary_expression "pbStack_2bc == (byte *)**(undefined4 **)(pcStack_2e0 + -0x5fb4)" (identifier "pbStack_2bc") (== "==") (cast_expression "(byte *)**(undefined4 **)(pcStack_2e0 + -0x5fb4)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(undefined4 **)(pcStack_2e0 + -0x5fb4)" (* "*") (pointer_expression "*(undefined4 **)(pcStack_2e0 + -0x5fb4)" (* "*") (cast_expression "(undefined4 **)(pcStack_2e0 + -0x5fb4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_2e0 + -0x5fb4)" (( "(") (binary_expression "pcStack_2e0 + -0x5fb4" (identifier "pcStack_2e0") (+ "+") (number_literal "-0x5fb4")) () ")"))))))) () ")")) (compound_statement "{\n    return pwVar20;\n  }" ({ "{") (return_statement "return pwVar20;" (return "return") (identifier "pwVar20") (; ";")) (} "}"))) (expression_statement "pcVar23 = *(code **)(pcStack_2e0 + -0x6004);" (assignment_expression "pcVar23 = *(code **)(pcStack_2e0 + -0x6004)" (identifier "pcVar23") (= "=") (pointer_expression "*(code **)(pcStack_2e0 + -0x6004)" (* "*") (cast_expression "(code **)(pcStack_2e0 + -0x6004)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_2e0 + -0x6004)" (( "(") (binary_expression "pcStack_2e0 + -0x6004" (identifier "pcStack_2e0") (+ "+") (number_literal "-0x6004")) () ")"))))) (; ";")) (expression_statement "pcVar25 = FUN_000fcae4;" (assignment_expression "pcVar25 = FUN_000fcae4" (identifier "pcVar25") (= "=") (identifier "FUN_000fcae4")) (; ";")) (expression_statement "pbVar24 = pbStack_2bc;" (assignment_expression "pbVar24 = pbStack_2bc" (identifier "pbVar24") (= "=") (identifier "pbStack_2bc")) (; ";")) (expression_statement "(*pcVar23)();" (call_expression "(*pcVar23)()" (parenthesized_expression "(*pcVar23)" (( "(") (pointer_expression "*pcVar23" (* "*") (identifier "pcVar23")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iStack_314 = **(int **)(pcVar23 + 0x5baa8);" (assignment_expression "iStack_314 = **(int **)(pcVar23 + 0x5baa8)" (identifier "iStack_314") (= "=") (pointer_expression "**(int **)(pcVar23 + 0x5baa8)" (* "*") (pointer_expression "*(int **)(pcVar23 + 0x5baa8)" (* "*") (cast_expression "(int **)(pcVar23 + 0x5baa8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x5baa8)" (( "(") (binary_expression "pcVar23 + 0x5baa8" (identifier "pcVar23") (+ "+") (number_literal "0x5baa8")) () ")")))))) (; ";")) (expression_statement "pwStack_310 = pwVar14;" (assignment_expression "pwStack_310 = pwVar14" (identifier "pwStack_310") (= "=") (identifier "pwVar14")) (; ";")) (expression_statement "pwStack_30c = pwVar16;" (assignment_expression "pwStack_30c = pwVar16" (identifier "pwStack_30c") (= "=") (identifier "pwVar16")) (; ";")) (expression_statement "pwStack_308 = pwVar20;" (assignment_expression "pwStack_308 = pwVar20" (identifier "pwStack_308") (= "=") (identifier "pwVar20")) (; ";")) (expression_statement "pwStack_304 = pwVar6;" (assignment_expression "pwStack_304 = pwVar6" (identifier "pwStack_304") (= "=") (identifier "pwVar6")) (; ";")) (expression_statement "piStack_300 = aiStack_2c8 + 1;" (assignment_expression "piStack_300 = aiStack_2c8 + 1" (identifier "piStack_300") (= "=") (binary_expression "aiStack_2c8 + 1" (identifier "aiStack_2c8") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "puStack_2fc = puVar21;" (assignment_expression "puStack_2fc = puVar21" (identifier "puStack_2fc") (= "=") (identifier "puVar21")) (; ";")) (expression_statement "iStack_2f8 = iVar11;" (assignment_expression "iStack_2f8 = iVar11" (identifier "iStack_2f8") (= "=") (identifier "iVar11")) (; ";")) (expression_statement "pcStack_2f4 = pcVar25;" (assignment_expression "pcStack_2f4 = pcVar25" (identifier "pcStack_2f4") (= "=") (identifier "pcVar25")) (; ";")) (if_statement "if ((**(int **)(pcVar23 + 0x5b2b4) == 0) ||\n     (piVar9 = *(int **)(pcVar23 + 0x5b4d8), **(int **)(pcVar23 + 0x5ab50) == 0)) {\n    pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,pbVar24);\n    piVar9 = *(int **)(pcVar23 + 0x5b4d8);\n    if (**(int **)(pcVar23 + 0x5ab50) == 0) goto LAB_000fcb84;\n  }" (if "if") (parenthesized_expression "((**(int **)(pcVar23 + 0x5b2b4) == 0) ||\n     (piVar9 = *(int **)(pcVar23 + 0x5b4d8), **(int **)(pcVar23 + 0x5ab50) == 0))" (( "(") (binary_expression "(**(int **)(pcVar23 + 0x5b2b4) == 0) ||\n     (piVar9 = *(int **)(pcVar23 + 0x5b4d8), **(int **)(pcVar23 + 0x5ab50) == 0)" (parenthesized_expression "(**(int **)(pcVar23 + 0x5b2b4) == 0)" (( "(") (binary_expression "**(int **)(pcVar23 + 0x5b2b4) == 0" (pointer_expression "**(int **)(pcVar23 + 0x5b2b4)" (* "*") (pointer_expression "*(int **)(pcVar23 + 0x5b2b4)" (* "*") (cast_expression "(int **)(pcVar23 + 0x5b2b4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x5b2b4)" (( "(") (binary_expression "pcVar23 + 0x5b2b4" (identifier "pcVar23") (+ "+") (number_literal "0x5b2b4")) () ")"))))) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(piVar9 = *(int **)(pcVar23 + 0x5b4d8), **(int **)(pcVar23 + 0x5ab50) == 0)" (( "(") (comma_expression "piVar9 = *(int **)(pcVar23 + 0x5b4d8), **(int **)(pcVar23 + 0x5ab50) == 0" (assignment_expression "piVar9 = *(int **)(pcVar23 + 0x5b4d8)" (identifier "piVar9") (= "=") (pointer_expression "*(int **)(pcVar23 + 0x5b4d8)" (* "*") (cast_expression "(int **)(pcVar23 + 0x5b4d8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x5b4d8)" (( "(") (binary_expression "pcVar23 + 0x5b4d8" (identifier "pcVar23") (+ "+") (number_literal "0x5b4d8")) () ")"))))) (, ",") (binary_expression "**(int **)(pcVar23 + 0x5ab50) == 0" (pointer_expression "**(int **)(pcVar23 + 0x5ab50)" (* "*") (pointer_expression "*(int **)(pcVar23 + 0x5ab50)" (* "*") (cast_expression "(int **)(pcVar23 + 0x5ab50)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x5ab50)" (( "(") (binary_expression "pcVar23 + 0x5ab50" (identifier "pcVar23") (+ "+") (number_literal "0x5ab50")) () ")"))))) (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n    pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,pbVar24);\n    piVar9 = *(int **)(pcVar23 + 0x5b4d8);\n    if (**(int **)(pcVar23 + 0x5ab50) == 0) goto LAB_000fcb84;\n  }" ({ "{") (expression_statement "pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,pbVar24);" (assignment_expression "pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,pbVar24)" (identifier "pwVar6") (= "=") (cast_expression "(word *)FUN_000fc5fc(pbVar24,pwVar15,pbVar24)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_000fc5fc(pbVar24,pwVar15,pbVar24)" (identifier "FUN_000fc5fc") (argument_list "(pbVar24,pwVar15,pbVar24)" (( "(") (identifier "pbVar24") (, ",") (identifier "pwVar15") (, ",") (identifier "pbVar24") () ")"))))) (; ";")) (expression_statement "piVar9 = *(int **)(pcVar23 + 0x5b4d8);" (assignment_expression "piVar9 = *(int **)(pcVar23 + 0x5b4d8)" (identifier "piVar9") (= "=") (pointer_expression "*(int **)(pcVar23 + 0x5b4d8)" (* "*") (cast_expression "(int **)(pcVar23 + 0x5b4d8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x5b4d8)" (( "(") (binary_expression "pcVar23 + 0x5b4d8" (identifier "pcVar23") (+ "+") (number_literal "0x5b4d8")) () ")"))))) (; ";")) (if_statement "if (**(int **)(pcVar23 + 0x5ab50) == 0) goto LAB_000fcb84;" (if "if") (parenthesized_expression "(**(int **)(pcVar23 + 0x5ab50) == 0)" (( "(") (binary_expression "**(int **)(pcVar23 + 0x5ab50) == 0" (pointer_expression "**(int **)(pcVar23 + 0x5ab50)" (* "*") (pointer_expression "*(int **)(pcVar23 + 0x5ab50)" (* "*") (cast_expression "(int **)(pcVar23 + 0x5ab50)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x5ab50)" (( "(") (binary_expression "pcVar23 + 0x5ab50" (identifier "pcVar23") (+ "+") (number_literal "0x5ab50")) () ")"))))) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000fcb84;" (goto "goto") (statement_identifier "LAB_000fcb84") (; ";"))) (} "}"))) (if_statement "if ((*piVar9 == 0 && **(int **)(pcVar23 + 0x5b2b4) == 0) && **(int **)(pcVar23 + 0x5b49c) == 0)\n  goto LAB_000fcb84;" (if "if") (parenthesized_expression "((*piVar9 == 0 && **(int **)(pcVar23 + 0x5b2b4) == 0) && **(int **)(pcVar23 + 0x5b49c) == 0)" (( "(") (binary_expression "(*piVar9 == 0 && **(int **)(pcVar23 + 0x5b2b4) == 0) && **(int **)(pcVar23 + 0x5b49c) == 0" (parenthesized_expression "(*piVar9 == 0 && **(int **)(pcVar23 + 0x5b2b4) == 0)" (( "(") (binary_expression "*piVar9 == 0 && **(int **)(pcVar23 + 0x5b2b4) == 0" (binary_expression "*piVar9 == 0" (pointer_expression "*piVar9" (* "*") (identifier "piVar9")) (== "==") (number_literal "0")) (&& "&&") (binary_expression "**(int **)(pcVar23 + 0x5b2b4) == 0" (pointer_expression "**(int **)(pcVar23 + 0x5b2b4)" (* "*") (pointer_expression "*(int **)(pcVar23 + 0x5b2b4)" (* "*") (cast_expression "(int **)(pcVar23 + 0x5b2b4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x5b2b4)" (( "(") (binary_expression "pcVar23 + 0x5b2b4" (identifier "pcVar23") (+ "+") (number_literal "0x5b2b4")) () ")"))))) (== "==") (number_literal "0"))) () ")")) (&& "&&") (binary_expression "**(int **)(pcVar23 + 0x5b49c) == 0" (pointer_expression "**(int **)(pcVar23 + 0x5b49c)" (* "*") (pointer_expression "*(int **)(pcVar23 + 0x5b49c)" (* "*") (cast_expression "(int **)(pcVar23 + 0x5b49c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x5b49c)" (( "(") (binary_expression "pcVar23 + 0x5b49c" (identifier "pcVar23") (+ "+") (number_literal "0x5b49c")) () ")"))))) (== "==") (number_literal "0"))) () ")")) (goto_statement "goto LAB_000fcb84;" (goto "goto") (statement_identifier "LAB_000fcb84") (; ";"))) (if_statement "if ((word *)pbVar24 == pwVar18) {\n    iStack_31c = (**(code **)(pcVar23 + 0x5a028))(pwVar18);\n    if (**(int **)(pcVar23 + 0x5b4d8) != 0) {\n      iVar5 = FUN_000f9fd0(iStack_31c);\n      if (**(int **)(pcVar23 + 0x5b2b4) != 0) goto LAB_000fcf40;\n      goto LAB_000fcddc;\n    }\n    if (**(int **)(pcVar23 + 0x5b49c) == 0) {\n      piVar9 = *(int **)(pcVar23 + 0x5b2b4);\nLAB_000fcef0:\n      iVar5 = 0;\n      if (*piVar9 == 0) {\n        (**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);\n        goto LAB_000fcb84;\n      }\nLAB_000fcf40:\n      pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,iStack_31c);\n      goto LAB_000fcddc;\n    }\n    iVar5 = FUN_000fa188(iStack_31c);\n    piVar9 = *(int **)(pcVar23 + 0x5b2b4);\n    if (iVar5 == 0) goto LAB_000fcef0;\n    if (*piVar9 != 0) {\n      iVar5 = 0x2f;\n      goto LAB_000fcf40;\n    }\n    (**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);\n    iVar5 = 0x2f;\n  }\n  else {\n    bVar2 = pbVar24[-1];\n    pbVar24[-1] = 0;\n    if ((pwVar18 == (word *)0x0) || (*(byte *)pwVar18 == 0)) {\n      pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);\n    }\n    else {\n      pwStack_318 = pwVar18;\n      if (*(byte *)pwVar18 == 0x2f) {\n        if ((byte)*pwVar18 == 0) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59acc) + -0x794);\n        }\n        else if (((byte)*pwVar18 == 0x2f) && (*(byte *)(pwVar18 + 1) == 0)) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);\n        }\n      }\n    }\n    iStack_31c = (**(code **)(pcVar23 + 0x5a028))(pwStack_318);\n    if ((code *)**(undefined4 **)(pcVar23 + 0x5ab20) != (code *)0x0) {\n      (*(code *)**(undefined4 **)(pcVar23 + 0x5ab20))(&iStack_31c);\n    }\n    iVar5 = (**(code **)(pcVar23 + 0x5b960))(iStack_31c);\n    iVar13 = (**(code **)(pcVar23 + 0x5b960))(pbVar24);\n    pwVar16 = (word *)(**(code **)(pcVar23 + 0x59ad4))(iVar13 + iVar5 + 2);\n    (**(code **)(pcVar23 + 0x5b9e8))(pwVar16,iStack_31c);\n    if (*(char *)(iStack_31c + iVar5 + -1) == '/') {\n      iVar5 = iVar5 + -1;\n    }\n    else {\n      *(byte *)((int)pwVar16 + iVar5) = 0x2f;\n    }\n    (**(code **)(pcVar23 + 0x5b9e8))((byte *)((int)pwVar16 + iVar5 + 1),pbVar24);\n    if (**(int **)(pcVar23 + 0x5b4d8) == 0) {\n      iVar5 = **(int **)(pcVar23 + 0x5b49c);\n      piVar9 = *(int **)(pcVar23 + 0x5b2b4);\n      if (iVar5 != 0) {\n        pwStack_318 = (word *)0x0;\n        if ((**(int **)(pcVar23 + 0x5ab20) == 0) && (**(int **)(pcVar23 + 0x5ac70) != 0)) {\n          iVar5 = (**(code **)(pcVar23 + 0x5b960))(pwVar16);\n          uVar7 = (**(code **)(pcVar23 + 0x59ad4))(iVar5 + 1);\n          pwStack_318 = (word *)(**(code **)(pcVar23 + 0x5b9e8))(uVar7,pwVar16);\n          (*(code *)**(undefined4 **)(pcVar23 + 0x5ac70))(&pwStack_318);\n          (**(code **)(pcVar23 + 0x5a0d0))(pwVar16);\n          pwVar16 = pwStack_318;\n        }\n        iVar5 = FUN_000fa188(pwVar16);\n        if (iVar5 != 0) {\n          iVar5 = 0x2f;\n        }\n        goto LAB_000fcdb0;\n      }\n    }\n    else {\n      iVar5 = FUN_000f9fd0(pwVar16);\nLAB_000fcdb0:\n      piVar9 = *(int **)(pcVar23 + 0x5b2b4);\n    }\n    if (*piVar9 != 0) {\n      pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,pwVar16);\n    }\n    (**(code **)(pcVar23 + 0x5a0d0))(pwVar16);\n    pbVar24[-1] = bVar2;\nLAB_000fcddc:\n    (**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);\n    if (iVar5 == 0) goto LAB_000fcb84;\n  }" (if "if") (parenthesized_expression "((word *)pbVar24 == pwVar18)" (( "(") (binary_expression "(word *)pbVar24 == pwVar18" (cast_expression "(word *)pbVar24" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pbVar24")) (== "==") (identifier "pwVar18")) () ")")) (compound_statement "{\n    iStack_31c = (**(code **)(pcVar23 + 0x5a028))(pwVar18);\n    if (**(int **)(pcVar23 + 0x5b4d8) != 0) {\n      iVar5 = FUN_000f9fd0(iStack_31c);\n      if (**(int **)(pcVar23 + 0x5b2b4) != 0) goto LAB_000fcf40;\n      goto LAB_000fcddc;\n    }\n    if (**(int **)(pcVar23 + 0x5b49c) == 0) {\n      piVar9 = *(int **)(pcVar23 + 0x5b2b4);\nLAB_000fcef0:\n      iVar5 = 0;\n      if (*piVar9 == 0) {\n        (**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);\n        goto LAB_000fcb84;\n      }\nLAB_000fcf40:\n      pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,iStack_31c);\n      goto LAB_000fcddc;\n    }\n    iVar5 = FUN_000fa188(iStack_31c);\n    piVar9 = *(int **)(pcVar23 + 0x5b2b4);\n    if (iVar5 == 0) goto LAB_000fcef0;\n    if (*piVar9 != 0) {\n      iVar5 = 0x2f;\n      goto LAB_000fcf40;\n    }\n    (**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);\n    iVar5 = 0x2f;\n  }" ({ "{") (expression_statement "iStack_31c = (**(code **)(pcVar23 + 0x5a028))(pwVar18);" (assignment_expression "iStack_31c = (**(code **)(pcVar23 + 0x5a028))(pwVar18)" (identifier "iStack_31c") (= "=") (call_expression "(**(code **)(pcVar23 + 0x5a028))(pwVar18)" (parenthesized_expression "(**(code **)(pcVar23 + 0x5a028))" (( "(") (pointer_expression "**(code **)(pcVar23 + 0x5a028)" (* "*") (pointer_expression "*(code **)(pcVar23 + 0x5a028)" (* "*") (cast_expression "(code **)(pcVar23 + 0x5a028)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x5a028)" (( "(") (binary_expression "pcVar23 + 0x5a028" (identifier "pcVar23") (+ "+") (number_literal "0x5a028")) () ")"))))) () ")")) (argument_list "(pwVar18)" (( "(") (identifier "pwVar18") () ")")))) (; ";")) (if_statement "if (**(int **)(pcVar23 + 0x5b4d8) != 0) {\n      iVar5 = FUN_000f9fd0(iStack_31c);\n      if (**(int **)(pcVar23 + 0x5b2b4) != 0) goto LAB_000fcf40;\n      goto LAB_000fcddc;\n    }" (if "if") (parenthesized_expression "(**(int **)(pcVar23 + 0x5b4d8) != 0)" (( "(") (binary_expression "**(int **)(pcVar23 + 0x5b4d8) != 0" (pointer_expression "**(int **)(pcVar23 + 0x5b4d8)" (* "*") (pointer_expression "*(int **)(pcVar23 + 0x5b4d8)" (* "*") (cast_expression "(int **)(pcVar23 + 0x5b4d8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x5b4d8)" (( "(") (binary_expression "pcVar23 + 0x5b4d8" (identifier "pcVar23") (+ "+") (number_literal "0x5b4d8")) () ")"))))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      iVar5 = FUN_000f9fd0(iStack_31c);\n      if (**(int **)(pcVar23 + 0x5b2b4) != 0) goto LAB_000fcf40;\n      goto LAB_000fcddc;\n    }" ({ "{") (expression_statement "iVar5 = FUN_000f9fd0(iStack_31c);" (assignment_expression "iVar5 = FUN_000f9fd0(iStack_31c)" (identifier "iVar5") (= "=") (call_expression "FUN_000f9fd0(iStack_31c)" (identifier "FUN_000f9fd0") (argument_list "(iStack_31c)" (( "(") (identifier "iStack_31c") () ")")))) (; ";")) (if_statement "if (**(int **)(pcVar23 + 0x5b2b4) != 0) goto LAB_000fcf40;" (if "if") (parenthesized_expression "(**(int **)(pcVar23 + 0x5b2b4) != 0)" (( "(") (binary_expression "**(int **)(pcVar23 + 0x5b2b4) != 0" (pointer_expression "**(int **)(pcVar23 + 0x5b2b4)" (* "*") (pointer_expression "*(int **)(pcVar23 + 0x5b2b4)" (* "*") (cast_expression "(int **)(pcVar23 + 0x5b2b4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x5b2b4)" (( "(") (binary_expression "pcVar23 + 0x5b2b4" (identifier "pcVar23") (+ "+") (number_literal "0x5b2b4")) () ")"))))) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000fcf40;" (goto "goto") (statement_identifier "LAB_000fcf40") (; ";"))) (goto_statement "goto LAB_000fcddc;" (goto "goto") (statement_identifier "LAB_000fcddc") (; ";")) (} "}"))) (if_statement "if (**(int **)(pcVar23 + 0x5b49c) == 0) {\n      piVar9 = *(int **)(pcVar23 + 0x5b2b4);\nLAB_000fcef0:\n      iVar5 = 0;\n      if (*piVar9 == 0) {\n        (**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);\n        goto LAB_000fcb84;\n      }\nLAB_000fcf40:\n      pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,iStack_31c);\n      goto LAB_000fcddc;\n    }" (if "if") (parenthesized_expression "(**(int **)(pcVar23 + 0x5b49c) == 0)" (( "(") (binary_expression "**(int **)(pcVar23 + 0x5b49c) == 0" (pointer_expression "**(int **)(pcVar23 + 0x5b49c)" (* "*") (pointer_expression "*(int **)(pcVar23 + 0x5b49c)" (* "*") (cast_expression "(int **)(pcVar23 + 0x5b49c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x5b49c)" (( "(") (binary_expression "pcVar23 + 0x5b49c" (identifier "pcVar23") (+ "+") (number_literal "0x5b49c")) () ")"))))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      piVar9 = *(int **)(pcVar23 + 0x5b2b4);\nLAB_000fcef0:\n      iVar5 = 0;\n      if (*piVar9 == 0) {\n        (**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);\n        goto LAB_000fcb84;\n      }\nLAB_000fcf40:\n      pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,iStack_31c);\n      goto LAB_000fcddc;\n    }" ({ "{") (expression_statement "piVar9 = *(int **)(pcVar23 + 0x5b2b4);" (assignment_expression "piVar9 = *(int **)(pcVar23 + 0x5b2b4)" (identifier "piVar9") (= "=") (pointer_expression "*(int **)(pcVar23 + 0x5b2b4)" (* "*") (cast_expression "(int **)(pcVar23 + 0x5b2b4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x5b2b4)" (( "(") (binary_expression "pcVar23 + 0x5b2b4" (identifier "pcVar23") (+ "+") (number_literal "0x5b2b4")) () ")"))))) (; ";")) (labeled_statement "LAB_000fcef0:\n      iVar5 = 0;" (statement_identifier "LAB_000fcef0") (: ":") (expression_statement "iVar5 = 0;" (assignment_expression "iVar5 = 0" (identifier "iVar5") (= "=") (number_literal "0")) (; ";"))) (if_statement "if (*piVar9 == 0) {\n        (**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);\n        goto LAB_000fcb84;\n      }" (if "if") (parenthesized_expression "(*piVar9 == 0)" (( "(") (binary_expression "*piVar9 == 0" (pointer_expression "*piVar9" (* "*") (identifier "piVar9")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        (**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);\n        goto LAB_000fcb84;\n      }" ({ "{") (expression_statement "(**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);" (call_expression "(**(code **)(pcVar23 + 0x5a0d0))(iStack_31c)" (parenthesized_expression "(**(code **)(pcVar23 + 0x5a0d0))" (( "(") (pointer_expression "**(code **)(pcVar23 + 0x5a0d0)" (* "*") (pointer_expression "*(code **)(pcVar23 + 0x5a0d0)" (* "*") (cast_expression "(code **)(pcVar23 + 0x5a0d0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x5a0d0)" (( "(") (binary_expression "pcVar23 + 0x5a0d0" (identifier "pcVar23") (+ "+") (number_literal "0x5a0d0")) () ")"))))) () ")")) (argument_list "(iStack_31c)" (( "(") (identifier "iStack_31c") () ")"))) (; ";")) (goto_statement "goto LAB_000fcb84;" (goto "goto") (statement_identifier "LAB_000fcb84") (; ";")) (} "}"))) (labeled_statement "LAB_000fcf40:\n      pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,iStack_31c);" (statement_identifier "LAB_000fcf40") (: ":") (expression_statement "pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,iStack_31c);" (assignment_expression "pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,iStack_31c)" (identifier "pwVar6") (= "=") (cast_expression "(word *)FUN_000fc5fc(pbVar24,pwVar15,iStack_31c)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_000fc5fc(pbVar24,pwVar15,iStack_31c)" (identifier "FUN_000fc5fc") (argument_list "(pbVar24,pwVar15,iStack_31c)" (( "(") (identifier "pbVar24") (, ",") (identifier "pwVar15") (, ",") (identifier "iStack_31c") () ")"))))) (; ";"))) (goto_statement "goto LAB_000fcddc;" (goto "goto") (statement_identifier "LAB_000fcddc") (; ";")) (} "}"))) (expression_statement "iVar5 = FUN_000fa188(iStack_31c);" (assignment_expression "iVar5 = FUN_000fa188(iStack_31c)" (identifier "iVar5") (= "=") (call_expression "FUN_000fa188(iStack_31c)" (identifier "FUN_000fa188") (argument_list "(iStack_31c)" (( "(") (identifier "iStack_31c") () ")")))) (; ";")) (expression_statement "piVar9 = *(int **)(pcVar23 + 0x5b2b4);" (assignment_expression "piVar9 = *(int **)(pcVar23 + 0x5b2b4)" (identifier "piVar9") (= "=") (pointer_expression "*(int **)(pcVar23 + 0x5b2b4)" (* "*") (cast_expression "(int **)(pcVar23 + 0x5b2b4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x5b2b4)" (( "(") (binary_expression "pcVar23 + 0x5b2b4" (identifier "pcVar23") (+ "+") (number_literal "0x5b2b4")) () ")"))))) (; ";")) (if_statement "if (iVar5 == 0) goto LAB_000fcef0;" (if "if") (parenthesized_expression "(iVar5 == 0)" (( "(") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000fcef0;" (goto "goto") (statement_identifier "LAB_000fcef0") (; ";"))) (if_statement "if (*piVar9 != 0) {\n      iVar5 = 0x2f;\n      goto LAB_000fcf40;\n    }" (if "if") (parenthesized_expression "(*piVar9 != 0)" (( "(") (binary_expression "*piVar9 != 0" (pointer_expression "*piVar9" (* "*") (identifier "piVar9")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      iVar5 = 0x2f;\n      goto LAB_000fcf40;\n    }" ({ "{") (expression_statement "iVar5 = 0x2f;" (assignment_expression "iVar5 = 0x2f" (identifier "iVar5") (= "=") (number_literal "0x2f")) (; ";")) (goto_statement "goto LAB_000fcf40;" (goto "goto") (statement_identifier "LAB_000fcf40") (; ";")) (} "}"))) (expression_statement "(**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);" (call_expression "(**(code **)(pcVar23 + 0x5a0d0))(iStack_31c)" (parenthesized_expression "(**(code **)(pcVar23 + 0x5a0d0))" (( "(") (pointer_expression "**(code **)(pcVar23 + 0x5a0d0)" (* "*") (pointer_expression "*(code **)(pcVar23 + 0x5a0d0)" (* "*") (cast_expression "(code **)(pcVar23 + 0x5a0d0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x5a0d0)" (( "(") (binary_expression "pcVar23 + 0x5a0d0" (identifier "pcVar23") (+ "+") (number_literal "0x5a0d0")) () ")"))))) () ")")) (argument_list "(iStack_31c)" (( "(") (identifier "iStack_31c") () ")"))) (; ";")) (expression_statement "iVar5 = 0x2f;" (assignment_expression "iVar5 = 0x2f" (identifier "iVar5") (= "=") (number_literal "0x2f")) (; ";")) (} "}")) (else_clause "else {\n    bVar2 = pbVar24[-1];\n    pbVar24[-1] = 0;\n    if ((pwVar18 == (word *)0x0) || (*(byte *)pwVar18 == 0)) {\n      pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);\n    }\n    else {\n      pwStack_318 = pwVar18;\n      if (*(byte *)pwVar18 == 0x2f) {\n        if ((byte)*pwVar18 == 0) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59acc) + -0x794);\n        }\n        else if (((byte)*pwVar18 == 0x2f) && (*(byte *)(pwVar18 + 1) == 0)) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);\n        }\n      }\n    }\n    iStack_31c = (**(code **)(pcVar23 + 0x5a028))(pwStack_318);\n    if ((code *)**(undefined4 **)(pcVar23 + 0x5ab20) != (code *)0x0) {\n      (*(code *)**(undefined4 **)(pcVar23 + 0x5ab20))(&iStack_31c);\n    }\n    iVar5 = (**(code **)(pcVar23 + 0x5b960))(iStack_31c);\n    iVar13 = (**(code **)(pcVar23 + 0x5b960))(pbVar24);\n    pwVar16 = (word *)(**(code **)(pcVar23 + 0x59ad4))(iVar13 + iVar5 + 2);\n    (**(code **)(pcVar23 + 0x5b9e8))(pwVar16,iStack_31c);\n    if (*(char *)(iStack_31c + iVar5 + -1) == '/') {\n      iVar5 = iVar5 + -1;\n    }\n    else {\n      *(byte *)((int)pwVar16 + iVar5) = 0x2f;\n    }\n    (**(code **)(pcVar23 + 0x5b9e8))((byte *)((int)pwVar16 + iVar5 + 1),pbVar24);\n    if (**(int **)(pcVar23 + 0x5b4d8) == 0) {\n      iVar5 = **(int **)(pcVar23 + 0x5b49c);\n      piVar9 = *(int **)(pcVar23 + 0x5b2b4);\n      if (iVar5 != 0) {\n        pwStack_318 = (word *)0x0;\n        if ((**(int **)(pcVar23 + 0x5ab20) == 0) && (**(int **)(pcVar23 + 0x5ac70) != 0)) {\n          iVar5 = (**(code **)(pcVar23 + 0x5b960))(pwVar16);\n          uVar7 = (**(code **)(pcVar23 + 0x59ad4))(iVar5 + 1);\n          pwStack_318 = (word *)(**(code **)(pcVar23 + 0x5b9e8))(uVar7,pwVar16);\n          (*(code *)**(undefined4 **)(pcVar23 + 0x5ac70))(&pwStack_318);\n          (**(code **)(pcVar23 + 0x5a0d0))(pwVar16);\n          pwVar16 = pwStack_318;\n        }\n        iVar5 = FUN_000fa188(pwVar16);\n        if (iVar5 != 0) {\n          iVar5 = 0x2f;\n        }\n        goto LAB_000fcdb0;\n      }\n    }\n    else {\n      iVar5 = FUN_000f9fd0(pwVar16);\nLAB_000fcdb0:\n      piVar9 = *(int **)(pcVar23 + 0x5b2b4);\n    }\n    if (*piVar9 != 0) {\n      pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,pwVar16);\n    }\n    (**(code **)(pcVar23 + 0x5a0d0))(pwVar16);\n    pbVar24[-1] = bVar2;\nLAB_000fcddc:\n    (**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);\n    if (iVar5 == 0) goto LAB_000fcb84;\n  }" (else "else") (compound_statement "{\n    bVar2 = pbVar24[-1];\n    pbVar24[-1] = 0;\n    if ((pwVar18 == (word *)0x0) || (*(byte *)pwVar18 == 0)) {\n      pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);\n    }\n    else {\n      pwStack_318 = pwVar18;\n      if (*(byte *)pwVar18 == 0x2f) {\n        if ((byte)*pwVar18 == 0) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59acc) + -0x794);\n        }\n        else if (((byte)*pwVar18 == 0x2f) && (*(byte *)(pwVar18 + 1) == 0)) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);\n        }\n      }\n    }\n    iStack_31c = (**(code **)(pcVar23 + 0x5a028))(pwStack_318);\n    if ((code *)**(undefined4 **)(pcVar23 + 0x5ab20) != (code *)0x0) {\n      (*(code *)**(undefined4 **)(pcVar23 + 0x5ab20))(&iStack_31c);\n    }\n    iVar5 = (**(code **)(pcVar23 + 0x5b960))(iStack_31c);\n    iVar13 = (**(code **)(pcVar23 + 0x5b960))(pbVar24);\n    pwVar16 = (word *)(**(code **)(pcVar23 + 0x59ad4))(iVar13 + iVar5 + 2);\n    (**(code **)(pcVar23 + 0x5b9e8))(pwVar16,iStack_31c);\n    if (*(char *)(iStack_31c + iVar5 + -1) == '/') {\n      iVar5 = iVar5 + -1;\n    }\n    else {\n      *(byte *)((int)pwVar16 + iVar5) = 0x2f;\n    }\n    (**(code **)(pcVar23 + 0x5b9e8))((byte *)((int)pwVar16 + iVar5 + 1),pbVar24);\n    if (**(int **)(pcVar23 + 0x5b4d8) == 0) {\n      iVar5 = **(int **)(pcVar23 + 0x5b49c);\n      piVar9 = *(int **)(pcVar23 + 0x5b2b4);\n      if (iVar5 != 0) {\n        pwStack_318 = (word *)0x0;\n        if ((**(int **)(pcVar23 + 0x5ab20) == 0) && (**(int **)(pcVar23 + 0x5ac70) != 0)) {\n          iVar5 = (**(code **)(pcVar23 + 0x5b960))(pwVar16);\n          uVar7 = (**(code **)(pcVar23 + 0x59ad4))(iVar5 + 1);\n          pwStack_318 = (word *)(**(code **)(pcVar23 + 0x5b9e8))(uVar7,pwVar16);\n          (*(code *)**(undefined4 **)(pcVar23 + 0x5ac70))(&pwStack_318);\n          (**(code **)(pcVar23 + 0x5a0d0))(pwVar16);\n          pwVar16 = pwStack_318;\n        }\n        iVar5 = FUN_000fa188(pwVar16);\n        if (iVar5 != 0) {\n          iVar5 = 0x2f;\n        }\n        goto LAB_000fcdb0;\n      }\n    }\n    else {\n      iVar5 = FUN_000f9fd0(pwVar16);\nLAB_000fcdb0:\n      piVar9 = *(int **)(pcVar23 + 0x5b2b4);\n    }\n    if (*piVar9 != 0) {\n      pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,pwVar16);\n    }\n    (**(code **)(pcVar23 + 0x5a0d0))(pwVar16);\n    pbVar24[-1] = bVar2;\nLAB_000fcddc:\n    (**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);\n    if (iVar5 == 0) goto LAB_000fcb84;\n  }" ({ "{") (expression_statement "bVar2 = pbVar24[-1];" (assignment_expression "bVar2 = pbVar24[-1]" (identifier "bVar2") (= "=") (subscript_expression "pbVar24[-1]" (identifier "pbVar24") ([ "[") (number_literal "-1") (] "]"))) (; ";")) (expression_statement "pbVar24[-1] = 0;" (assignment_expression "pbVar24[-1] = 0" (subscript_expression "pbVar24[-1]" (identifier "pbVar24") ([ "[") (number_literal "-1") (] "]")) (= "=") (number_literal "0")) (; ";")) (if_statement "if ((pwVar18 == (word *)0x0) || (*(byte *)pwVar18 == 0)) {\n      pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);\n    }\n    else {\n      pwStack_318 = pwVar18;\n      if (*(byte *)pwVar18 == 0x2f) {\n        if ((byte)*pwVar18 == 0) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59acc) + -0x794);\n        }\n        else if (((byte)*pwVar18 == 0x2f) && (*(byte *)(pwVar18 + 1) == 0)) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);\n        }\n      }\n    }" (if "if") (parenthesized_expression "((pwVar18 == (word *)0x0) || (*(byte *)pwVar18 == 0))" (( "(") (binary_expression "(pwVar18 == (word *)0x0) || (*(byte *)pwVar18 == 0)" (parenthesized_expression "(pwVar18 == (word *)0x0)" (( "(") (binary_expression "pwVar18 == (word *)0x0" (identifier "pwVar18") (== "==") (cast_expression "(word *)0x0" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(*(byte *)pwVar18 == 0)" (( "(") (binary_expression "*(byte *)pwVar18 == 0" (pointer_expression "*(byte *)pwVar18" (* "*") (cast_expression "(byte *)pwVar18" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pwVar18"))) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n      pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);\n    }" ({ "{") (expression_statement "pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);" (assignment_expression "pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c)" (identifier "pwStack_318") (= "=") (cast_expression "(word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar23 + 0x59b70) + -0x5e9c)" (( "(") (binary_expression "*(int *)(pcVar23 + 0x59b70) + -0x5e9c" (pointer_expression "*(int *)(pcVar23 + 0x59b70)" (* "*") (cast_expression "(int *)(pcVar23 + 0x59b70)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar23 + 0x59b70)" (( "(") (binary_expression "pcVar23 + 0x59b70" (identifier "pcVar23") (+ "+") (number_literal "0x59b70")) () ")")))) (+ "+") (number_literal "-0x5e9c")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n      pwStack_318 = pwVar18;\n      if (*(byte *)pwVar18 == 0x2f) {\n        if ((byte)*pwVar18 == 0) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59acc) + -0x794);\n        }\n        else if (((byte)*pwVar18 == 0x2f) && (*(byte *)(pwVar18 + 1) == 0)) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);\n        }\n      }\n    }" (else "else") (compound_statement "{\n      pwStack_318 = pwVar18;\n      if (*(byte *)pwVar18 == 0x2f) {\n        if ((byte)*pwVar18 == 0) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59acc) + -0x794);\n        }\n        else if (((byte)*pwVar18 == 0x2f) && (*(byte *)(pwVar18 + 1) == 0)) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);\n        }\n      }\n    }" ({ "{") (expression_statement "pwStack_318 = pwVar18;" (assignment_expression "pwStack_318 = pwVar18" (identifier "pwStack_318") (= "=") (identifier "pwVar18")) (; ";")) (if_statement "if (*(byte *)pwVar18 == 0x2f) {\n        if ((byte)*pwVar18 == 0) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59acc) + -0x794);\n        }\n        else if (((byte)*pwVar18 == 0x2f) && (*(byte *)(pwVar18 + 1) == 0)) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);\n        }\n      }" (if "if") (parenthesized_expression "(*(byte *)pwVar18 == 0x2f)" (( "(") (binary_expression "*(byte *)pwVar18 == 0x2f" (pointer_expression "*(byte *)pwVar18" (* "*") (cast_expression "(byte *)pwVar18" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pwVar18"))) (== "==") (number_literal "0x2f")) () ")")) (compound_statement "{\n        if ((byte)*pwVar18 == 0) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59acc) + -0x794);\n        }\n        else if (((byte)*pwVar18 == 0x2f) && (*(byte *)(pwVar18 + 1) == 0)) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);\n        }\n      }" ({ "{") (if_statement "if ((byte)*pwVar18 == 0) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59acc) + -0x794);\n        }\n        else if (((byte)*pwVar18 == 0x2f) && (*(byte *)(pwVar18 + 1) == 0)) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);\n        }" (if "if") (parenthesized_expression "((byte)*pwVar18 == 0)" (( "(") (binary_expression "(byte)*pwVar18 == 0" (binary_expression "(byte)*pwVar18" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (* "*") (identifier "pwVar18")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59acc) + -0x794);\n        }" ({ "{") (expression_statement "pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59acc) + -0x794);" (assignment_expression "pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59acc) + -0x794)" (identifier "pwStack_318") (= "=") (cast_expression "(word *)(*(int *)(pcVar23 + 0x59acc) + -0x794)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar23 + 0x59acc) + -0x794)" (( "(") (binary_expression "*(int *)(pcVar23 + 0x59acc) + -0x794" (pointer_expression "*(int *)(pcVar23 + 0x59acc)" (* "*") (cast_expression "(int *)(pcVar23 + 0x59acc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar23 + 0x59acc)" (( "(") (binary_expression "pcVar23 + 0x59acc" (identifier "pcVar23") (+ "+") (number_literal "0x59acc")) () ")")))) (+ "+") (number_literal "-0x794")) () ")")))) (; ";")) (} "}")) (else_clause "else if (((byte)*pwVar18 == 0x2f) && (*(byte *)(pwVar18 + 1) == 0)) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);\n        }" (else "else") (if_statement "if (((byte)*pwVar18 == 0x2f) && (*(byte *)(pwVar18 + 1) == 0)) {\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);\n        }" (if "if") (parenthesized_expression "(((byte)*pwVar18 == 0x2f) && (*(byte *)(pwVar18 + 1) == 0))" (( "(") (binary_expression "((byte)*pwVar18 == 0x2f) && (*(byte *)(pwVar18 + 1) == 0)" (parenthesized_expression "((byte)*pwVar18 == 0x2f)" (( "(") (binary_expression "(byte)*pwVar18 == 0x2f" (binary_expression "(byte)*pwVar18" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (* "*") (identifier "pwVar18")) (== "==") (number_literal "0x2f")) () ")")) (&& "&&") (parenthesized_expression "(*(byte *)(pwVar18 + 1) == 0)" (( "(") (binary_expression "*(byte *)(pwVar18 + 1) == 0" (pointer_expression "*(byte *)(pwVar18 + 1)" (* "*") (cast_expression "(byte *)(pwVar18 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pwVar18 + 1)" (( "(") (binary_expression "pwVar18 + 1" (identifier "pwVar18") (+ "+") (number_literal "1")) () ")")))) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);\n        }" ({ "{") (expression_statement "pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);" (assignment_expression "pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c)" (identifier "pwStack_318") (= "=") (cast_expression "(word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar23 + 0x59b70) + -0x5e9c)" (( "(") (binary_expression "*(int *)(pcVar23 + 0x59b70) + -0x5e9c" (pointer_expression "*(int *)(pcVar23 + 0x59b70)" (* "*") (cast_expression "(int *)(pcVar23 + 0x59b70)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar23 + 0x59b70)" (( "(") (binary_expression "pcVar23 + 0x59b70" (identifier "pcVar23") (+ "+") (number_literal "0x59b70")) () ")")))) (+ "+") (number_literal "-0x5e9c")) () ")")))) (; ";")) (} "}"))))) (} "}"))) (} "}")))) (expression_statement "iStack_31c = (**(code **)(pcVar23 + 0x5a028))(pwStack_318);" (assignment_expression "iStack_31c = (**(code **)(pcVar23 + 0x5a028))(pwStack_318)" (identifier "iStack_31c") (= "=") (call_expression "(**(code **)(pcVar23 + 0x5a028))(pwStack_318)" (parenthesized_expression "(**(code **)(pcVar23 + 0x5a028))" (( "(") (pointer_expression "**(code **)(pcVar23 + 0x5a028)" (* "*") (pointer_expression "*(code **)(pcVar23 + 0x5a028)" (* "*") (cast_expression "(code **)(pcVar23 + 0x5a028)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x5a028)" (( "(") (binary_expression "pcVar23 + 0x5a028" (identifier "pcVar23") (+ "+") (number_literal "0x5a028")) () ")"))))) () ")")) (argument_list "(pwStack_318)" (( "(") (identifier "pwStack_318") () ")")))) (; ";")) (if_statement "if ((code *)**(undefined4 **)(pcVar23 + 0x5ab20) != (code *)0x0) {\n      (*(code *)**(undefined4 **)(pcVar23 + 0x5ab20))(&iStack_31c);\n    }" (if "if") (parenthesized_expression "((code *)**(undefined4 **)(pcVar23 + 0x5ab20) != (code *)0x0)" (( "(") (binary_expression "(code *)**(undefined4 **)(pcVar23 + 0x5ab20) != (code *)0x0" (cast_expression "(code *)**(undefined4 **)(pcVar23 + 0x5ab20)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(undefined4 **)(pcVar23 + 0x5ab20)" (* "*") (pointer_expression "*(undefined4 **)(pcVar23 + 0x5ab20)" (* "*") (cast_expression "(undefined4 **)(pcVar23 + 0x5ab20)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x5ab20)" (( "(") (binary_expression "pcVar23 + 0x5ab20" (identifier "pcVar23") (+ "+") (number_literal "0x5ab20")) () ")")))))) (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      (*(code *)**(undefined4 **)(pcVar23 + 0x5ab20))(&iStack_31c);\n    }" ({ "{") (expression_statement "(*(code *)**(undefined4 **)(pcVar23 + 0x5ab20))(&iStack_31c);" (call_expression "(*(code *)**(undefined4 **)(pcVar23 + 0x5ab20))(&iStack_31c)" (parenthesized_expression "(*(code *)**(undefined4 **)(pcVar23 + 0x5ab20))" (( "(") (pointer_expression "*(code *)**(undefined4 **)(pcVar23 + 0x5ab20)" (* "*") (cast_expression "(code *)**(undefined4 **)(pcVar23 + 0x5ab20)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(undefined4 **)(pcVar23 + 0x5ab20)" (* "*") (pointer_expression "*(undefined4 **)(pcVar23 + 0x5ab20)" (* "*") (cast_expression "(undefined4 **)(pcVar23 + 0x5ab20)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x5ab20)" (( "(") (binary_expression "pcVar23 + 0x5ab20" (identifier "pcVar23") (+ "+") (number_literal "0x5ab20")) () ")"))))))) () ")")) (argument_list "(&iStack_31c)" (( "(") (pointer_expression "&iStack_31c" (& "&") (identifier "iStack_31c")) () ")"))) (; ";")) (} "}"))) (expression_statement "iVar5 = (**(code **)(pcVar23 + 0x5b960))(iStack_31c);" (assignment_expression "iVar5 = (**(code **)(pcVar23 + 0x5b960))(iStack_31c)" (identifier "iVar5") (= "=") (call_expression "(**(code **)(pcVar23 + 0x5b960))(iStack_31c)" (parenthesized_expression "(**(code **)(pcVar23 + 0x5b960))" (( "(") (pointer_expression "**(code **)(pcVar23 + 0x5b960)" (* "*") (pointer_expression "*(code **)(pcVar23 + 0x5b960)" (* "*") (cast_expression "(code **)(pcVar23 + 0x5b960)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x5b960)" (( "(") (binary_expression "pcVar23 + 0x5b960" (identifier "pcVar23") (+ "+") (number_literal "0x5b960")) () ")"))))) () ")")) (argument_list "(iStack_31c)" (( "(") (identifier "iStack_31c") () ")")))) (; ";")) (expression_statement "iVar13 = (**(code **)(pcVar23 + 0x5b960))(pbVar24);" (assignment_expression "iVar13 = (**(code **)(pcVar23 + 0x5b960))(pbVar24)" (identifier "iVar13") (= "=") (call_expression "(**(code **)(pcVar23 + 0x5b960))(pbVar24)" (parenthesized_expression "(**(code **)(pcVar23 + 0x5b960))" (( "(") (pointer_expression "**(code **)(pcVar23 + 0x5b960)" (* "*") (pointer_expression "*(code **)(pcVar23 + 0x5b960)" (* "*") (cast_expression "(code **)(pcVar23 + 0x5b960)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x5b960)" (( "(") (binary_expression "pcVar23 + 0x5b960" (identifier "pcVar23") (+ "+") (number_literal "0x5b960")) () ")"))))) () ")")) (argument_list "(pbVar24)" (( "(") (identifier "pbVar24") () ")")))) (; ";")) (expression_statement "pwVar16 = (word *)(**(code **)(pcVar23 + 0x59ad4))(iVar13 + iVar5 + 2);" (assignment_expression "pwVar16 = (word *)(**(code **)(pcVar23 + 0x59ad4))(iVar13 + iVar5 + 2)" (identifier "pwVar16") (= "=") (cast_expression "(word *)(**(code **)(pcVar23 + 0x59ad4))(iVar13 + iVar5 + 2)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar23 + 0x59ad4))(iVar13 + iVar5 + 2)" (parenthesized_expression "(**(code **)(pcVar23 + 0x59ad4))" (( "(") (pointer_expression "**(code **)(pcVar23 + 0x59ad4)" (* "*") (pointer_expression "*(code **)(pcVar23 + 0x59ad4)" (* "*") (cast_expression "(code **)(pcVar23 + 0x59ad4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x59ad4)" (( "(") (binary_expression "pcVar23 + 0x59ad4" (identifier "pcVar23") (+ "+") (number_literal "0x59ad4")) () ")"))))) () ")")) (argument_list "(iVar13 + iVar5 + 2)" (( "(") (binary_expression "iVar13 + iVar5 + 2" (binary_expression "iVar13 + iVar5" (identifier "iVar13") (+ "+") (identifier "iVar5")) (+ "+") (number_literal "2")) () ")"))))) (; ";")) (expression_statement "(**(code **)(pcVar23 + 0x5b9e8))(pwVar16,iStack_31c);" (call_expression "(**(code **)(pcVar23 + 0x5b9e8))(pwVar16,iStack_31c)" (parenthesized_expression "(**(code **)(pcVar23 + 0x5b9e8))" (( "(") (pointer_expression "**(code **)(pcVar23 + 0x5b9e8)" (* "*") (pointer_expression "*(code **)(pcVar23 + 0x5b9e8)" (* "*") (cast_expression "(code **)(pcVar23 + 0x5b9e8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x5b9e8)" (( "(") (binary_expression "pcVar23 + 0x5b9e8" (identifier "pcVar23") (+ "+") (number_literal "0x5b9e8")) () ")"))))) () ")")) (argument_list "(pwVar16,iStack_31c)" (( "(") (identifier "pwVar16") (, ",") (identifier "iStack_31c") () ")"))) (; ";")) (if_statement "if (*(char *)(iStack_31c + iVar5 + -1) == '/') {\n      iVar5 = iVar5 + -1;\n    }\n    else {\n      *(byte *)((int)pwVar16 + iVar5) = 0x2f;\n    }" (if "if") (parenthesized_expression "(*(char *)(iStack_31c + iVar5 + -1) == '/')" (( "(") (binary_expression "*(char *)(iStack_31c + iVar5 + -1) == '/'" (pointer_expression "*(char *)(iStack_31c + iVar5 + -1)" (* "*") (cast_expression "(char *)(iStack_31c + iVar5 + -1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iStack_31c + iVar5 + -1)" (( "(") (binary_expression "iStack_31c + iVar5 + -1" (binary_expression "iStack_31c + iVar5" (identifier "iStack_31c") (+ "+") (identifier "iVar5")) (+ "+") (number_literal "-1")) () ")")))) (== "==") (char_literal "'/'" (' "'") (character "/") (' "'"))) () ")")) (compound_statement "{\n      iVar5 = iVar5 + -1;\n    }" ({ "{") (expression_statement "iVar5 = iVar5 + -1;" (assignment_expression "iVar5 = iVar5 + -1" (identifier "iVar5") (= "=") (binary_expression "iVar5 + -1" (identifier "iVar5") (+ "+") (number_literal "-1"))) (; ";")) (} "}")) (else_clause "else {\n      *(byte *)((int)pwVar16 + iVar5) = 0x2f;\n    }" (else "else") (compound_statement "{\n      *(byte *)((int)pwVar16 + iVar5) = 0x2f;\n    }" ({ "{") (expression_statement "*(byte *)((int)pwVar16 + iVar5) = 0x2f;" (assignment_expression "*(byte *)((int)pwVar16 + iVar5) = 0x2f" (pointer_expression "*(byte *)((int)pwVar16 + iVar5)" (* "*") (cast_expression "(byte *)((int)pwVar16 + iVar5)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pwVar16 + iVar5)" (( "(") (binary_expression "(int)pwVar16 + iVar5" (cast_expression "(int)pwVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pwVar16")) (+ "+") (identifier "iVar5")) () ")")))) (= "=") (number_literal "0x2f")) (; ";")) (} "}")))) (expression_statement "(**(code **)(pcVar23 + 0x5b9e8))((byte *)((int)pwVar16 + iVar5 + 1),pbVar24);" (call_expression "(**(code **)(pcVar23 + 0x5b9e8))((byte *)((int)pwVar16 + iVar5 + 1),pbVar24)" (parenthesized_expression "(**(code **)(pcVar23 + 0x5b9e8))" (( "(") (pointer_expression "**(code **)(pcVar23 + 0x5b9e8)" (* "*") (pointer_expression "*(code **)(pcVar23 + 0x5b9e8)" (* "*") (cast_expression "(code **)(pcVar23 + 0x5b9e8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x5b9e8)" (( "(") (binary_expression "pcVar23 + 0x5b9e8" (identifier "pcVar23") (+ "+") (number_literal "0x5b9e8")) () ")"))))) () ")")) (argument_list "((byte *)((int)pwVar16 + iVar5 + 1),pbVar24)" (( "(") (cast_expression "(byte *)((int)pwVar16 + iVar5 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pwVar16 + iVar5 + 1)" (( "(") (binary_expression "(int)pwVar16 + iVar5 + 1" (binary_expression "(int)pwVar16 + iVar5" (cast_expression "(int)pwVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pwVar16")) (+ "+") (identifier "iVar5")) (+ "+") (number_literal "1")) () ")"))) (, ",") (identifier "pbVar24") () ")"))) (; ";")) (if_statement "if (**(int **)(pcVar23 + 0x5b4d8) == 0) {\n      iVar5 = **(int **)(pcVar23 + 0x5b49c);\n      piVar9 = *(int **)(pcVar23 + 0x5b2b4);\n      if (iVar5 != 0) {\n        pwStack_318 = (word *)0x0;\n        if ((**(int **)(pcVar23 + 0x5ab20) == 0) && (**(int **)(pcVar23 + 0x5ac70) != 0)) {\n          iVar5 = (**(code **)(pcVar23 + 0x5b960))(pwVar16);\n          uVar7 = (**(code **)(pcVar23 + 0x59ad4))(iVar5 + 1);\n          pwStack_318 = (word *)(**(code **)(pcVar23 + 0x5b9e8))(uVar7,pwVar16);\n          (*(code *)**(undefined4 **)(pcVar23 + 0x5ac70))(&pwStack_318);\n          (**(code **)(pcVar23 + 0x5a0d0))(pwVar16);\n          pwVar16 = pwStack_318;\n        }\n        iVar5 = FUN_000fa188(pwVar16);\n        if (iVar5 != 0) {\n          iVar5 = 0x2f;\n        }\n        goto LAB_000fcdb0;\n      }\n    }\n    else {\n      iVar5 = FUN_000f9fd0(pwVar16);\nLAB_000fcdb0:\n      piVar9 = *(int **)(pcVar23 + 0x5b2b4);\n    }" (if "if") (parenthesized_expression "(**(int **)(pcVar23 + 0x5b4d8) == 0)" (( "(") (binary_expression "**(int **)(pcVar23 + 0x5b4d8) == 0" (pointer_expression "**(int **)(pcVar23 + 0x5b4d8)" (* "*") (pointer_expression "*(int **)(pcVar23 + 0x5b4d8)" (* "*") (cast_expression "(int **)(pcVar23 + 0x5b4d8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x5b4d8)" (( "(") (binary_expression "pcVar23 + 0x5b4d8" (identifier "pcVar23") (+ "+") (number_literal "0x5b4d8")) () ")"))))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      iVar5 = **(int **)(pcVar23 + 0x5b49c);\n      piVar9 = *(int **)(pcVar23 + 0x5b2b4);\n      if (iVar5 != 0) {\n        pwStack_318 = (word *)0x0;\n        if ((**(int **)(pcVar23 + 0x5ab20) == 0) && (**(int **)(pcVar23 + 0x5ac70) != 0)) {\n          iVar5 = (**(code **)(pcVar23 + 0x5b960))(pwVar16);\n          uVar7 = (**(code **)(pcVar23 + 0x59ad4))(iVar5 + 1);\n          pwStack_318 = (word *)(**(code **)(pcVar23 + 0x5b9e8))(uVar7,pwVar16);\n          (*(code *)**(undefined4 **)(pcVar23 + 0x5ac70))(&pwStack_318);\n          (**(code **)(pcVar23 + 0x5a0d0))(pwVar16);\n          pwVar16 = pwStack_318;\n        }\n        iVar5 = FUN_000fa188(pwVar16);\n        if (iVar5 != 0) {\n          iVar5 = 0x2f;\n        }\n        goto LAB_000fcdb0;\n      }\n    }" ({ "{") (expression_statement "iVar5 = **(int **)(pcVar23 + 0x5b49c);" (assignment_expression "iVar5 = **(int **)(pcVar23 + 0x5b49c)" (identifier "iVar5") (= "=") (pointer_expression "**(int **)(pcVar23 + 0x5b49c)" (* "*") (pointer_expression "*(int **)(pcVar23 + 0x5b49c)" (* "*") (cast_expression "(int **)(pcVar23 + 0x5b49c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x5b49c)" (( "(") (binary_expression "pcVar23 + 0x5b49c" (identifier "pcVar23") (+ "+") (number_literal "0x5b49c")) () ")")))))) (; ";")) (expression_statement "piVar9 = *(int **)(pcVar23 + 0x5b2b4);" (assignment_expression "piVar9 = *(int **)(pcVar23 + 0x5b2b4)" (identifier "piVar9") (= "=") (pointer_expression "*(int **)(pcVar23 + 0x5b2b4)" (* "*") (cast_expression "(int **)(pcVar23 + 0x5b2b4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x5b2b4)" (( "(") (binary_expression "pcVar23 + 0x5b2b4" (identifier "pcVar23") (+ "+") (number_literal "0x5b2b4")) () ")"))))) (; ";")) (if_statement "if (iVar5 != 0) {\n        pwStack_318 = (word *)0x0;\n        if ((**(int **)(pcVar23 + 0x5ab20) == 0) && (**(int **)(pcVar23 + 0x5ac70) != 0)) {\n          iVar5 = (**(code **)(pcVar23 + 0x5b960))(pwVar16);\n          uVar7 = (**(code **)(pcVar23 + 0x59ad4))(iVar5 + 1);\n          pwStack_318 = (word *)(**(code **)(pcVar23 + 0x5b9e8))(uVar7,pwVar16);\n          (*(code *)**(undefined4 **)(pcVar23 + 0x5ac70))(&pwStack_318);\n          (**(code **)(pcVar23 + 0x5a0d0))(pwVar16);\n          pwVar16 = pwStack_318;\n        }\n        iVar5 = FUN_000fa188(pwVar16);\n        if (iVar5 != 0) {\n          iVar5 = 0x2f;\n        }\n        goto LAB_000fcdb0;\n      }" (if "if") (parenthesized_expression "(iVar5 != 0)" (( "(") (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        pwStack_318 = (word *)0x0;\n        if ((**(int **)(pcVar23 + 0x5ab20) == 0) && (**(int **)(pcVar23 + 0x5ac70) != 0)) {\n          iVar5 = (**(code **)(pcVar23 + 0x5b960))(pwVar16);\n          uVar7 = (**(code **)(pcVar23 + 0x59ad4))(iVar5 + 1);\n          pwStack_318 = (word *)(**(code **)(pcVar23 + 0x5b9e8))(uVar7,pwVar16);\n          (*(code *)**(undefined4 **)(pcVar23 + 0x5ac70))(&pwStack_318);\n          (**(code **)(pcVar23 + 0x5a0d0))(pwVar16);\n          pwVar16 = pwStack_318;\n        }\n        iVar5 = FUN_000fa188(pwVar16);\n        if (iVar5 != 0) {\n          iVar5 = 0x2f;\n        }\n        goto LAB_000fcdb0;\n      }" ({ "{") (expression_statement "pwStack_318 = (word *)0x0;" (assignment_expression "pwStack_318 = (word *)0x0" (identifier "pwStack_318") (= "=") (cast_expression "(word *)0x0" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if ((**(int **)(pcVar23 + 0x5ab20) == 0) && (**(int **)(pcVar23 + 0x5ac70) != 0)) {\n          iVar5 = (**(code **)(pcVar23 + 0x5b960))(pwVar16);\n          uVar7 = (**(code **)(pcVar23 + 0x59ad4))(iVar5 + 1);\n          pwStack_318 = (word *)(**(code **)(pcVar23 + 0x5b9e8))(uVar7,pwVar16);\n          (*(code *)**(undefined4 **)(pcVar23 + 0x5ac70))(&pwStack_318);\n          (**(code **)(pcVar23 + 0x5a0d0))(pwVar16);\n          pwVar16 = pwStack_318;\n        }" (if "if") (parenthesized_expression "((**(int **)(pcVar23 + 0x5ab20) == 0) && (**(int **)(pcVar23 + 0x5ac70) != 0))" (( "(") (binary_expression "(**(int **)(pcVar23 + 0x5ab20) == 0) && (**(int **)(pcVar23 + 0x5ac70) != 0)" (parenthesized_expression "(**(int **)(pcVar23 + 0x5ab20) == 0)" (( "(") (binary_expression "**(int **)(pcVar23 + 0x5ab20) == 0" (pointer_expression "**(int **)(pcVar23 + 0x5ab20)" (* "*") (pointer_expression "*(int **)(pcVar23 + 0x5ab20)" (* "*") (cast_expression "(int **)(pcVar23 + 0x5ab20)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x5ab20)" (( "(") (binary_expression "pcVar23 + 0x5ab20" (identifier "pcVar23") (+ "+") (number_literal "0x5ab20")) () ")"))))) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(**(int **)(pcVar23 + 0x5ac70) != 0)" (( "(") (binary_expression "**(int **)(pcVar23 + 0x5ac70) != 0" (pointer_expression "**(int **)(pcVar23 + 0x5ac70)" (* "*") (pointer_expression "*(int **)(pcVar23 + 0x5ac70)" (* "*") (cast_expression "(int **)(pcVar23 + 0x5ac70)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x5ac70)" (( "(") (binary_expression "pcVar23 + 0x5ac70" (identifier "pcVar23") (+ "+") (number_literal "0x5ac70")) () ")"))))) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n          iVar5 = (**(code **)(pcVar23 + 0x5b960))(pwVar16);\n          uVar7 = (**(code **)(pcVar23 + 0x59ad4))(iVar5 + 1);\n          pwStack_318 = (word *)(**(code **)(pcVar23 + 0x5b9e8))(uVar7,pwVar16);\n          (*(code *)**(undefined4 **)(pcVar23 + 0x5ac70))(&pwStack_318);\n          (**(code **)(pcVar23 + 0x5a0d0))(pwVar16);\n          pwVar16 = pwStack_318;\n        }" ({ "{") (expression_statement "iVar5 = (**(code **)(pcVar23 + 0x5b960))(pwVar16);" (assignment_expression "iVar5 = (**(code **)(pcVar23 + 0x5b960))(pwVar16)" (identifier "iVar5") (= "=") (call_expression "(**(code **)(pcVar23 + 0x5b960))(pwVar16)" (parenthesized_expression "(**(code **)(pcVar23 + 0x5b960))" (( "(") (pointer_expression "**(code **)(pcVar23 + 0x5b960)" (* "*") (pointer_expression "*(code **)(pcVar23 + 0x5b960)" (* "*") (cast_expression "(code **)(pcVar23 + 0x5b960)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x5b960)" (( "(") (binary_expression "pcVar23 + 0x5b960" (identifier "pcVar23") (+ "+") (number_literal "0x5b960")) () ")"))))) () ")")) (argument_list "(pwVar16)" (( "(") (identifier "pwVar16") () ")")))) (; ";")) (expression_statement "uVar7 = (**(code **)(pcVar23 + 0x59ad4))(iVar5 + 1);" (assignment_expression "uVar7 = (**(code **)(pcVar23 + 0x59ad4))(iVar5 + 1)" (identifier "uVar7") (= "=") (call_expression "(**(code **)(pcVar23 + 0x59ad4))(iVar5 + 1)" (parenthesized_expression "(**(code **)(pcVar23 + 0x59ad4))" (( "(") (pointer_expression "**(code **)(pcVar23 + 0x59ad4)" (* "*") (pointer_expression "*(code **)(pcVar23 + 0x59ad4)" (* "*") (cast_expression "(code **)(pcVar23 + 0x59ad4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x59ad4)" (( "(") (binary_expression "pcVar23 + 0x59ad4" (identifier "pcVar23") (+ "+") (number_literal "0x59ad4")) () ")"))))) () ")")) (argument_list "(iVar5 + 1)" (( "(") (binary_expression "iVar5 + 1" (identifier "iVar5") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "pwStack_318 = (word *)(**(code **)(pcVar23 + 0x5b9e8))(uVar7,pwVar16);" (assignment_expression "pwStack_318 = (word *)(**(code **)(pcVar23 + 0x5b9e8))(uVar7,pwVar16)" (identifier "pwStack_318") (= "=") (cast_expression "(word *)(**(code **)(pcVar23 + 0x5b9e8))(uVar7,pwVar16)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar23 + 0x5b9e8))(uVar7,pwVar16)" (parenthesized_expression "(**(code **)(pcVar23 + 0x5b9e8))" (( "(") (pointer_expression "**(code **)(pcVar23 + 0x5b9e8)" (* "*") (pointer_expression "*(code **)(pcVar23 + 0x5b9e8)" (* "*") (cast_expression "(code **)(pcVar23 + 0x5b9e8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x5b9e8)" (( "(") (binary_expression "pcVar23 + 0x5b9e8" (identifier "pcVar23") (+ "+") (number_literal "0x5b9e8")) () ")"))))) () ")")) (argument_list "(uVar7,pwVar16)" (( "(") (identifier "uVar7") (, ",") (identifier "pwVar16") () ")"))))) (; ";")) (expression_statement "(*(code *)**(undefined4 **)(pcVar23 + 0x5ac70))(&pwStack_318);" (call_expression "(*(code *)**(undefined4 **)(pcVar23 + 0x5ac70))(&pwStack_318)" (parenthesized_expression "(*(code *)**(undefined4 **)(pcVar23 + 0x5ac70))" (( "(") (pointer_expression "*(code *)**(undefined4 **)(pcVar23 + 0x5ac70)" (* "*") (cast_expression "(code *)**(undefined4 **)(pcVar23 + 0x5ac70)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(undefined4 **)(pcVar23 + 0x5ac70)" (* "*") (pointer_expression "*(undefined4 **)(pcVar23 + 0x5ac70)" (* "*") (cast_expression "(undefined4 **)(pcVar23 + 0x5ac70)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x5ac70)" (( "(") (binary_expression "pcVar23 + 0x5ac70" (identifier "pcVar23") (+ "+") (number_literal "0x5ac70")) () ")"))))))) () ")")) (argument_list "(&pwStack_318)" (( "(") (pointer_expression "&pwStack_318" (& "&") (identifier "pwStack_318")) () ")"))) (; ";")) (expression_statement "(**(code **)(pcVar23 + 0x5a0d0))(pwVar16);" (call_expression "(**(code **)(pcVar23 + 0x5a0d0))(pwVar16)" (parenthesized_expression "(**(code **)(pcVar23 + 0x5a0d0))" (( "(") (pointer_expression "**(code **)(pcVar23 + 0x5a0d0)" (* "*") (pointer_expression "*(code **)(pcVar23 + 0x5a0d0)" (* "*") (cast_expression "(code **)(pcVar23 + 0x5a0d0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x5a0d0)" (( "(") (binary_expression "pcVar23 + 0x5a0d0" (identifier "pcVar23") (+ "+") (number_literal "0x5a0d0")) () ")"))))) () ")")) (argument_list "(pwVar16)" (( "(") (identifier "pwVar16") () ")"))) (; ";")) (expression_statement "pwVar16 = pwStack_318;" (assignment_expression "pwVar16 = pwStack_318" (identifier "pwVar16") (= "=") (identifier "pwStack_318")) (; ";")) (} "}"))) (expression_statement "iVar5 = FUN_000fa188(pwVar16);" (assignment_expression "iVar5 = FUN_000fa188(pwVar16)" (identifier "iVar5") (= "=") (call_expression "FUN_000fa188(pwVar16)" (identifier "FUN_000fa188") (argument_list "(pwVar16)" (( "(") (identifier "pwVar16") () ")")))) (; ";")) (if_statement "if (iVar5 != 0) {\n          iVar5 = 0x2f;\n        }" (if "if") (parenthesized_expression "(iVar5 != 0)" (( "(") (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          iVar5 = 0x2f;\n        }" ({ "{") (expression_statement "iVar5 = 0x2f;" (assignment_expression "iVar5 = 0x2f" (identifier "iVar5") (= "=") (number_literal "0x2f")) (; ";")) (} "}"))) (goto_statement "goto LAB_000fcdb0;" (goto "goto") (statement_identifier "LAB_000fcdb0") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      iVar5 = FUN_000f9fd0(pwVar16);\nLAB_000fcdb0:\n      piVar9 = *(int **)(pcVar23 + 0x5b2b4);\n    }" (else "else") (compound_statement "{\n      iVar5 = FUN_000f9fd0(pwVar16);\nLAB_000fcdb0:\n      piVar9 = *(int **)(pcVar23 + 0x5b2b4);\n    }" ({ "{") (expression_statement "iVar5 = FUN_000f9fd0(pwVar16);" (assignment_expression "iVar5 = FUN_000f9fd0(pwVar16)" (identifier "iVar5") (= "=") (call_expression "FUN_000f9fd0(pwVar16)" (identifier "FUN_000f9fd0") (argument_list "(pwVar16)" (( "(") (identifier "pwVar16") () ")")))) (; ";")) (labeled_statement "LAB_000fcdb0:\n      piVar9 = *(int **)(pcVar23 + 0x5b2b4);" (statement_identifier "LAB_000fcdb0") (: ":") (expression_statement "piVar9 = *(int **)(pcVar23 + 0x5b2b4);" (assignment_expression "piVar9 = *(int **)(pcVar23 + 0x5b2b4)" (identifier "piVar9") (= "=") (pointer_expression "*(int **)(pcVar23 + 0x5b2b4)" (* "*") (cast_expression "(int **)(pcVar23 + 0x5b2b4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x5b2b4)" (( "(") (binary_expression "pcVar23 + 0x5b2b4" (identifier "pcVar23") (+ "+") (number_literal "0x5b2b4")) () ")"))))) (; ";"))) (} "}")))) (if_statement "if (*piVar9 != 0) {\n      pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,pwVar16);\n    }" (if "if") (parenthesized_expression "(*piVar9 != 0)" (( "(") (binary_expression "*piVar9 != 0" (pointer_expression "*piVar9" (* "*") (identifier "piVar9")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,pwVar16);\n    }" ({ "{") (expression_statement "pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,pwVar16);" (assignment_expression "pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,pwVar16)" (identifier "pwVar6") (= "=") (cast_expression "(word *)FUN_000fc5fc(pbVar24,pwVar15,pwVar16)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_000fc5fc(pbVar24,pwVar15,pwVar16)" (identifier "FUN_000fc5fc") (argument_list "(pbVar24,pwVar15,pwVar16)" (( "(") (identifier "pbVar24") (, ",") (identifier "pwVar15") (, ",") (identifier "pwVar16") () ")"))))) (; ";")) (} "}"))) (expression_statement "(**(code **)(pcVar23 + 0x5a0d0))(pwVar16);" (call_expression "(**(code **)(pcVar23 + 0x5a0d0))(pwVar16)" (parenthesized_expression "(**(code **)(pcVar23 + 0x5a0d0))" (( "(") (pointer_expression "**(code **)(pcVar23 + 0x5a0d0)" (* "*") (pointer_expression "*(code **)(pcVar23 + 0x5a0d0)" (* "*") (cast_expression "(code **)(pcVar23 + 0x5a0d0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x5a0d0)" (( "(") (binary_expression "pcVar23 + 0x5a0d0" (identifier "pcVar23") (+ "+") (number_literal "0x5a0d0")) () ")"))))) () ")")) (argument_list "(pwVar16)" (( "(") (identifier "pwVar16") () ")"))) (; ";")) (expression_statement "pbVar24[-1] = bVar2;" (assignment_expression "pbVar24[-1] = bVar2" (subscript_expression "pbVar24[-1]" (identifier "pbVar24") ([ "[") (number_literal "-1") (] "]")) (= "=") (identifier "bVar2")) (; ";")) (labeled_statement "LAB_000fcddc:\n    (**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);" (statement_identifier "LAB_000fcddc") (: ":") (expression_statement "(**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);" (call_expression "(**(code **)(pcVar23 + 0x5a0d0))(iStack_31c)" (parenthesized_expression "(**(code **)(pcVar23 + 0x5a0d0))" (( "(") (pointer_expression "**(code **)(pcVar23 + 0x5a0d0)" (* "*") (pointer_expression "*(code **)(pcVar23 + 0x5a0d0)" (* "*") (cast_expression "(code **)(pcVar23 + 0x5a0d0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x5a0d0)" (( "(") (binary_expression "pcVar23 + 0x5a0d0" (identifier "pcVar23") (+ "+") (number_literal "0x5a0d0")) () ")"))))) () ")")) (argument_list "(iStack_31c)" (( "(") (identifier "iStack_31c") () ")"))) (; ";"))) (if_statement "if (iVar5 == 0) goto LAB_000fcb84;" (if "if") (parenthesized_expression "(iVar5 == 0)" (( "(") (binary_expression "iVar5 == 0" (identifier "iVar5") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000fcb84;" (goto "goto") (statement_identifier "LAB_000fcb84") (; ";"))) (} "}")))) (expression_statement "(**(code **)(pcVar23 + 0x5b86c))(iVar5,**(undefined4 **)(pcVar23 + 0x5ab6c));" (call_expression "(**(code **)(pcVar23 + 0x5b86c))(iVar5,**(undefined4 **)(pcVar23 + 0x5ab6c))" (parenthesized_expression "(**(code **)(pcVar23 + 0x5b86c))" (( "(") (pointer_expression "**(code **)(pcVar23 + 0x5b86c)" (* "*") (pointer_expression "*(code **)(pcVar23 + 0x5b86c)" (* "*") (cast_expression "(code **)(pcVar23 + 0x5b86c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x5b86c)" (( "(") (binary_expression "pcVar23 + 0x5b86c" (identifier "pcVar23") (+ "+") (number_literal "0x5b86c")) () ")"))))) () ")")) (argument_list "(iVar5,**(undefined4 **)(pcVar23 + 0x5ab6c))" (( "(") (identifier "iVar5") (, ",") (pointer_expression "**(undefined4 **)(pcVar23 + 0x5ab6c)" (* "*") (pointer_expression "*(undefined4 **)(pcVar23 + 0x5ab6c)" (* "*") (cast_expression "(undefined4 **)(pcVar23 + 0x5ab6c)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x5ab6c)" (( "(") (binary_expression "pcVar23 + 0x5ab6c" (identifier "pcVar23") (+ "+") (number_literal "0x5ab6c")) () ")"))))) () ")"))) (; ";")) (expression_statement "pwVar6 = (word *)((int)pwVar6 + 1);" (assignment_expression "pwVar6 = (word *)((int)pwVar6 + 1)" (identifier "pwVar6") (= "=") (cast_expression "(word *)((int)pwVar6 + 1)" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pwVar6 + 1)" (( "(") (binary_expression "(int)pwVar6 + 1" (cast_expression "(int)pwVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pwVar6")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (labeled_statement "LAB_000fcb84:\n  if (iStack_314 == **(int **)(pcVar23 + 0x5baa8)) {\n    return pwVar6;\n  }" (statement_identifier "LAB_000fcb84") (: ":") (if_statement "if (iStack_314 == **(int **)(pcVar23 + 0x5baa8)) {\n    return pwVar6;\n  }" (if "if") (parenthesized_expression "(iStack_314 == **(int **)(pcVar23 + 0x5baa8))" (( "(") (binary_expression "iStack_314 == **(int **)(pcVar23 + 0x5baa8)" (identifier "iStack_314") (== "==") (pointer_expression "**(int **)(pcVar23 + 0x5baa8)" (* "*") (pointer_expression "*(int **)(pcVar23 + 0x5baa8)" (* "*") (cast_expression "(int **)(pcVar23 + 0x5baa8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x5baa8)" (( "(") (binary_expression "pcVar23 + 0x5baa8" (identifier "pcVar23") (+ "+") (number_literal "0x5baa8")) () ")")))))) () ")")) (compound_statement "{\n    return pwVar6;\n  }" ({ "{") (return_statement "return pwVar6;" (return "return") (identifier "pwVar6") (; ";")) (} "}")))) (expression_statement "pcVar23 = *(code **)(pcVar23 + 0x5ba58);" (assignment_expression "pcVar23 = *(code **)(pcVar23 + 0x5ba58)" (identifier "pcVar23") (= "=") (pointer_expression "*(code **)(pcVar23 + 0x5ba58)" (* "*") (cast_expression "(code **)(pcVar23 + 0x5ba58)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x5ba58)" (( "(") (binary_expression "pcVar23 + 0x5ba58" (identifier "pcVar23") (+ "+") (number_literal "0x5ba58")) () ")"))))) (; ";")) (expression_statement "(*pcVar23)();" (call_expression "(*pcVar23)()" (parenthesized_expression "(*pcVar23)" (( "(") (pointer_expression "*pcVar23" (* "*") (identifier "pcVar23")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if ((**(int **)(pcVar23 + 0x5a67c) == iStack_314) &&\n     (*(int *)(*(int *)(pcVar23 + 0x595b0) + -0x3fb8) == 0)) {\n    return (word *)0x3f;\n  }" (if "if") (parenthesized_expression "((**(int **)(pcVar23 + 0x5a67c) == iStack_314) &&\n     (*(int *)(*(int *)(pcVar23 + 0x595b0) + -0x3fb8) == 0))" (( "(") (binary_expression "(**(int **)(pcVar23 + 0x5a67c) == iStack_314) &&\n     (*(int *)(*(int *)(pcVar23 + 0x595b0) + -0x3fb8) == 0)" (parenthesized_expression "(**(int **)(pcVar23 + 0x5a67c) == iStack_314)" (( "(") (binary_expression "**(int **)(pcVar23 + 0x5a67c) == iStack_314" (pointer_expression "**(int **)(pcVar23 + 0x5a67c)" (* "*") (pointer_expression "*(int **)(pcVar23 + 0x5a67c)" (* "*") (cast_expression "(int **)(pcVar23 + 0x5a67c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x5a67c)" (( "(") (binary_expression "pcVar23 + 0x5a67c" (identifier "pcVar23") (+ "+") (number_literal "0x5a67c")) () ")"))))) (== "==") (identifier "iStack_314")) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(*(int *)(pcVar23 + 0x595b0) + -0x3fb8) == 0)" (( "(") (binary_expression "*(int *)(*(int *)(pcVar23 + 0x595b0) + -0x3fb8) == 0" (pointer_expression "*(int *)(*(int *)(pcVar23 + 0x595b0) + -0x3fb8)" (* "*") (cast_expression "(int *)(*(int *)(pcVar23 + 0x595b0) + -0x3fb8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar23 + 0x595b0) + -0x3fb8)" (( "(") (binary_expression "*(int *)(pcVar23 + 0x595b0) + -0x3fb8" (pointer_expression "*(int *)(pcVar23 + 0x595b0)" (* "*") (cast_expression "(int *)(pcVar23 + 0x595b0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar23 + 0x595b0)" (( "(") (binary_expression "pcVar23 + 0x595b0" (identifier "pcVar23") (+ "+") (number_literal "0x595b0")) () ")")))) (+ "+") (number_literal "-0x3fb8")) () ")")))) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n    return (word *)0x3f;\n  }" ({ "{") (return_statement "return (word *)0x3f;" (return "return") (cast_expression "(word *)0x3f" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x3f")) (; ";")) (} "}"))) (if_statement "if (**(int **)(pcVar23 + 0x5b004) == 0) {\n    pwVar16 = (word *)&DAT_00000009;\n    if (**(int **)(pcVar23 + 0x5b008) != 0) {\n      pwVar16 = (word *)0x40;\n    }\n    return pwVar16;\n  }" (if "if") (parenthesized_expression "(**(int **)(pcVar23 + 0x5b004) == 0)" (( "(") (binary_expression "**(int **)(pcVar23 + 0x5b004) == 0" (pointer_expression "**(int **)(pcVar23 + 0x5b004)" (* "*") (pointer_expression "*(int **)(pcVar23 + 0x5b004)" (* "*") (cast_expression "(int **)(pcVar23 + 0x5b004)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x5b004)" (( "(") (binary_expression "pcVar23 + 0x5b004" (identifier "pcVar23") (+ "+") (number_literal "0x5b004")) () ")"))))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    pwVar16 = (word *)&DAT_00000009;\n    if (**(int **)(pcVar23 + 0x5b008) != 0) {\n      pwVar16 = (word *)0x40;\n    }\n    return pwVar16;\n  }" ({ "{") (expression_statement "pwVar16 = (word *)&DAT_00000009;" (assignment_expression "pwVar16 = (word *)&DAT_00000009" (identifier "pwVar16") (= "=") (cast_expression "(word *)&DAT_00000009" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00000009" (& "&") (identifier "DAT_00000009")))) (; ";")) (if_statement "if (**(int **)(pcVar23 + 0x5b008) != 0) {\n      pwVar16 = (word *)0x40;\n    }" (if "if") (parenthesized_expression "(**(int **)(pcVar23 + 0x5b008) != 0)" (( "(") (binary_expression "**(int **)(pcVar23 + 0x5b008) != 0" (pointer_expression "**(int **)(pcVar23 + 0x5b008)" (* "*") (pointer_expression "*(int **)(pcVar23 + 0x5b008)" (* "*") (cast_expression "(int **)(pcVar23 + 0x5b008)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar23 + 0x5b008)" (( "(") (binary_expression "pcVar23 + 0x5b008" (identifier "pcVar23") (+ "+") (number_literal "0x5b008")) () ")"))))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      pwVar16 = (word *)0x40;\n    }" ({ "{") (expression_statement "pwVar16 = (word *)0x40;" (assignment_expression "pwVar16 = (word *)0x40" (identifier "pwVar16") (= "=") (cast_expression "(word *)0x40" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x40"))) (; ";")) (} "}"))) (return_statement "return pwVar16;" (return "return") (identifier "pwVar16") (; ";")) (} "}"))) (return_statement "return (word *)&DAT_00000021;" (return "return") (cast_expression "(word *)&DAT_00000021" (( "(") (type_descriptor "word *" (type_identifier "word") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&DAT_00000021" (& "&") (identifier "DAT_00000021"))) (; ";")) (} "}")))

int function_1(char *text,int var_2,int var_1,int var_5)

{
  char var_6;
  type_1 var_38;
  bool bVar3;
  int *var_9;
  type_2 var_12;
  int var_4;
  long *var_26;
  type_3 *match_list;
  type_3 *var_30;
  type_4 uVar9;
  type_5 *puVar10;
  type_4 *puVar11;
  int var_27;
  int var_25;
  int var_36;
  int var_42;
  int var_43;
  int *piVar17;
  type_6 uVar18;
  int var_35;
  type_3 *var_32;
  type_3 *var_29;
  type_3 *var_13;
  type_3 *unaff_s2;
  char *var_47;
  type_3 *var_33;
  type_3 *var_22;
  int var_37;
  type_3 *var_14;
  type_3 *unaff_s5;
  type_2 var_39;
  type_6 *unaff_s6;
  type_2 var_41;
  type_3 *unaff_s7;
  type_7 *var_10;
  type_8 *var_24;
  type_3 **unaff_s8;
  type_8 *pcVar30;
  type_1 *var_40;
  type_3 *var_46;
  type_2 uStack_210;
  int var_44;
  int iStack_1fc;
  int var_45;
  type_4 uStack_1f4;
  type_4 uStack_1f0;
  type_4 uStack_1ec;
  type_4 uStack_1e8;
  int var_48;
  type_3 *psStack_1e0;
  type_3 *psStack_1dc;
  type_4 *puStack_1d8;
  type_3 *psStack_1d4;
  type_3 *psStack_1d0;
  type_3 *psStack_1cc;
  type_6 *puStack_1c8;
  type_3 *psStack_1c4;
  type_3 **ppsStack_1c0;
  type_8 *pcStack_1bc;
  type_8 *var_28;
  type_5 var_31 [21];
  type_3 *psStack_188;
  type_3 *psStack_184;
  type_3 *psStack_180;
  type_6 *puStack_17c;
  type_3 *psStack_178;
  type_8 *pcStack_174;
  type_3 *psStack_160;
  type_3 *psStack_15c;
  type_7 *var_11;
  type_3 *var_15;
  type_3 *psStack_148;
  type_3 *psStack_144;
  type_3 *var_19;
  type_3 *var_18;
  type_2 var_16;
  int *piStack_134;
  type_3 *var_20;
  int *var_21;
  type_3 *psStack_124;
  type_3 *var_17;
  type_6 uStack_11c;
  type_9 _Stack_118;
  type_6 uStack_114;
  long lStack_110;
  type_6 uStack_10c;
  type_9 _Stack_108;
  type_4 *var_23;
  type_3 *psStack_100;
  type_9 _Stack_fc;
  type_3 *psStack_f8;
  char *fn;
  type_3 finfo;
  char temp_string [4];
  
  var_9 = *(int **)PTR___stack_chk_guard_0015858c;
  if (var_1 != 0) {
    if (*(int *)PTR_rl_point_001575f0 == 0) {
      var_1 = 0;
    }
    else if (*(int *)PTR_rl_completion_suppress_quote_00157618 == 0) {
      if (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + *(int *)PTR_rl_point_001575f0 + -1) ==
          var_1) {
        var_1 = 0;
      }
      else {
        temp_string[0] = (char)var_1;
        var_1 = 1;
      }
    }
    else {
      var_1 = 0;
    }
  }
  if (var_2 == 0) {
    var_13 = (type_3 *)(var_1 + 1);
    if ((*(int *)PTR_rl_completion_suppress_append_00157624 == 0) &&
       (*(int *)PTR_rl_completion_append_character_00157628 != 0)) {
      temp_string[var_1] = (char)*(int *)PTR_rl_completion_append_character_00157628;
      goto LAB_000fa86c;
    }
  }
  else {
    temp_string[var_1] = (char)var_2;
LAB_000fa86c:
    var_13 = (type_3 *)(var_1 + 2);
    var_1 = var_1 + 1;
  }
  var_22 = (type_3 *)(&stack0xfffffff0 + var_1);
  temp_string[var_1] = '\0';
  if (*(int *)PTR_rl_filename_completion_desired_00157634 == 0) {
    if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {
      var_3(temp_string);
    }
  }
  else {
    unaff_s2 = (type_3 *)(*(type_8 *)PTR_tilde_expand_00156b0c)();
    if (*(int *)PTR_rl_filename_stat_hook_00157754 != 0) {
      var_4 = (*(type_8 *)PTR_strlen_00158444)(unaff_s2);
      uVar9 = (*(type_8 *)PTR_xmalloc_001565b8)(var_4 + 1);
      fn = (char *)(*(type_8 *)PTR_strcpy_001584cc)(uVar9,unaff_s2);
      (**(type_8 **)PTR_rl_filename_stat_hook_00157754)(&fn);
      (*(type_8 *)PTR_xfree_00156bb4)(unaff_s2);
      unaff_s2 = (type_3 *)fn;
    }
    var_2 = (int)unaff_s2;
    if ((var_5 == 0) ||
       (var_22 = &finfo, *(int *)PTR_rl_completion_mark_symlink_dirs_001578a4 != 0)) {
      var_22 = &finfo;
      var_4 = (*(type_8 *)PTR___xstat64_001582e8)(3);
    }
    else {
      var_4 = (*(type_8 *)PTR___lxstat64_001582c8)(3);
    }
    if (var_4 == 0) {
      if ((finfo.st_mode & 0xf000) == 0x4000) {
        if (*(int *)PTR__rl_complete_mark_directories_00157f80 != 0) {
          var_4 = *(int *)PTR_rl_point_001575f0;
          if ((var_4 == 0) || (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + var_4) != '\0')) {
            var_6 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + var_4);
          }
          else {
            var_6 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + var_4 + -1);
          }
          if (var_6 != '/') {
            var_3(var_7 + -0x5e9c);
          }
        }
      }
      else if (((finfo.st_mode & 0xf000) != 0xa000) ||
              (var_4 = var_8((char *)unaff_s2), var_4 == 0)) goto LAB_000fa9f0;
    }
    else {
LAB_000fa9f0:
      if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {
        var_3(temp_string);
      }
    }
    (*(type_8 *)PTR_xfree_00156bb4)(unaff_s2);
  }
  if (var_9 == *(int **)PTR___stack_chk_guard_0015858c) {
    return (int)var_13;
  }
  var_10 = PTR___stack_chk_fail_0015853c;
  (*(type_8 *)PTR___stack_chk_fail_0015853c)();
  var_11 = var_10 + 0x63a10;
  var_23 = (type_4 *)**(type_4 **)(var_10 + 0x5da5c);
  var_32 = (type_3 *)var_2;
  var_20 = var_22;
  var_21 = var_9;
  psStack_100 = var_13;
  _Stack_fc = var_5;
  psStack_f8 = unaff_s2;
  if ((type_3 *)var_2 == (type_3 *)0x1) {
    *var_9 = var_9[1];
    var_9[1] = 0;
    var_18 = (type_3 *)var_2;
  }
  else {
    if (var_2 < 2) {
      var_19 = (type_3 *)&__DT_SYMTAB[0x3d1].st_info;
    }
    else {
      var_22 = (type_3 *)(var_9 + 1);
      var_19 = (type_3 *)&__DT_SYMTAB[0x3d1].st_info;
      var_18 = (type_3 *)0x1;
      var_33 = *(type_3 **)(var_10 + 0x5d2e8);
      piStack_134 = *(int **)(var_10 + 0x5d454);
      unaff_s8 = &psStack_124;
      do {
        var_12 = (**(type_8 **)(var_11 + -0x6060))();
        if ((1 < var_12) && (var_33->st_dev == 0)) {
          uStack_11c = 0;
          _Stack_118 = 0;
          uStack_114 = 0;
          lStack_110 = 0;
        }
        if (*piStack_134 == 0) {
          var_5 = (int)*(char *)var_22->st_dev;
          unaff_s5 = var_22;
          if ((type_3 *)var_5 == (type_3 *)0x0) {
            var_13 = (type_3 *)0x0;
            goto LAB_000fac1c;
          }
          var_13 = (type_3 *)(int)*(char *)var_22->st_pad1[0];
          var_15 = (type_3 *)0x0;
          var_14 = var_13;
          if (var_13 == (type_3 *)0x0) goto LAB_000fac1c;
          unaff_s6 = &uStack_11c;
          psStack_148 = (type_3 *)&uStack_114;
          unaff_s7 = (type_3 *)&uStack_10c;
          do {
            var_13 = var_15;
            var_12 = (**(type_8 **)(var_11 + -0x6060))();
            if ((var_12 < 2) || (var_33->st_dev != 0)) {
              if ((type_3 *)var_5 != var_14) goto LAB_000fac1c;
            }
            else {
              uStack_10c = uStack_11c;
              _Stack_108 = _Stack_118;
              psStack_15c = psStack_148;
              psStack_160 = var_13;
              var_4 = (**(type_8 **)(var_11 + -0x65b8))
                                (var_22->st_dev,var_13,unaff_s6,var_22->st_pad1[0]);
              var_32 = unaff_s7;
              if (var_4 == 0) goto LAB_000fac1c;
              var_4 = (**(type_8 **)(var_11 + -0x65b4))
                                ((int)var_15->st_pad1 + (var_22->st_dev - 4));
              if (1 < var_4) {
                var_13 = (type_3 *)((int)var_13->st_pad1 + var_4 + -5);
              }
            }
            var_13 = (type_3 *)((int)&var_13->st_dev + 1);
            var_5 = (int)*(char *)((int)var_13->st_pad1 + (var_22->st_dev - 4));
            var_15 = var_13;
            if ((type_3 *)var_5 == (type_3 *)0x0) goto LAB_000fac1c;
            var_14 = (type_3 *)(int)*(char *)((int)var_13->st_pad1 + var_22->st_pad1[0] + -4);
            bVar3 = (int)var_13 < (int)var_19;
          } while (var_14 != (type_3 *)0x0);
        }
        else {
          var_13 = (type_3 *)0x0;
          unaff_s7 = (type_3 *)&uStack_11c;
          unaff_s6 = &uStack_114;
          while( true ) {
            var_38 = *(type_1 *)((int)var_13->st_pad1 + (var_22->st_dev - 4));
            var_5 = (int)(char)var_38;
            var_14 = (type_3 *)(type_2)var_38;
            psStack_148 = var_13;
            psStack_144 = var_22;
            if (var_14 == (type_3 *)var_5) {
              var_9 = (int *)(**(type_8 **)(var_11 + -0x6290))();
              if ((*(type_10 *)(*var_9 + (int)var_14 * 2) & 1) != 0) {
                var_9 = (int *)(**(type_8 **)(var_11 + -0x628c))();
                var_14 = (type_3 *)(*var_9 + (int)var_14 * 4);
                var_5 = var_14->st_dev;
              }
            }
            unaff_s5 = (type_3 *)&var_17;
            if ((type_3 *)var_5 == (type_3 *)0x0) break;
            var_38 = *(type_1 *)((int)psStack_148->st_pad1 + psStack_144->st_pad1[0] + -4);
            var_15 = (type_3 *)(int)(char)var_38;
            var_14 = (type_3 *)(type_2)var_38;
            if ((var_14 == var_15) &&
               (var_9 = (int *)(**(type_8 **)(var_11 + -0x6290))(),
               (*(type_10 *)(*var_9 + (int)var_14 * 2) & 1) != 0)) {
              var_9 = (int *)(**(type_8 **)(var_11 + -0x628c))();
              var_14 = (type_3 *)(*var_9 + (int)var_14 * 4);
              var_15 = (type_3 *)var_14->st_dev;
            }
            if (var_15 == (type_3 *)0x0) break;
            var_12 = (**(type_8 **)(var_11 + -0x6060))();
            if ((var_12 < 2) || (var_33->st_dev != 0)) {
joined_r0x000facac:
              if ((type_3 *)var_5 != var_15) break;
            }
            else {
              var_4 = (int)psStack_148->st_pad1 + (psStack_144->st_dev - 4);
              uVar9 = (**(type_8 **)(var_11 + -0x60fc))(var_4);
              var_16 = (**(type_8 **)(var_11 + -0x6084))(unaff_s8,var_4,uVar9,unaff_s7);
              var_14 = (type_3 *)((int)psStack_148->st_pad1 + psStack_144->st_pad1[0] + -4);
              uVar9 = (**(type_8 **)(var_11 + -0x60fc))(var_14);
              var_32 = var_14;
              var_4 = (**(type_8 **)(var_11 + -0x6084))
                                ((type_3 *)&var_17,var_14,uVar9,unaff_s6);
              if ((var_16 + 2 < 2) || (var_4 + 2U < 2)) goto joined_r0x000facac;
              var_5 = (**(type_8 **)(var_11 + -0x5fc8))(psStack_124);
              psStack_124 = (type_3 *)var_5;
              var_17 = (type_3 *)(**(type_8 **)(var_11 + -0x5fc8))(var_17);
              if ((type_3 *)var_5 != var_17) break;
              if (1 < var_16) {
                var_13 = (type_3 *)((int)psStack_148->st_pad1 + (var_16 - 5));
              }
            }
            var_13 = (type_3 *)((int)&var_13->st_dev + 1);
          }
LAB_000fac1c:
          bVar3 = (int)var_13 < (int)var_19;
        }
        var_29 = var_20;
        if (bVar3) {
          var_19 = var_13;
        }
        var_18 = (type_3 *)((int)&var_18->st_dev + 1);
        var_22 = (type_3 *)var_22->st_pad1;
      } while ((type_3 *)var_2 != var_18);
      unaff_s2 = var_22;
      if (((var_19 == (type_3 *)0x0) && (var_20 != (type_3 *)0x0)) &&
         (var_13 = var_20, *(type_1 *)&var_20->st_dev != 0)) {
        var_4 = (**(type_8 **)(var_11 + -0x60fc))(var_20);
        var_4 = (**(type_8 **)(var_11 + -0x7f88))(var_4 + 1);
        *var_21 = var_4;
        var_32 = var_29;
        (**(type_8 **)(var_11 + -0x6074))(var_4);
        var_13 = var_29;
        goto LAB_000fb1f0;
      }
    }
    var_4 = (**(type_8 **)(var_11 + -0x7f88))((type_1 *)((int)&var_19->st_dev + 1));
    *var_21 = var_4;
    if (**(int **)(var_11 + -0x65bc) == 0) {
      var_32 = (type_3 *)var_21[1];
      (**(type_8 **)(var_11 + -0x615c))(var_4,var_32,var_19);
    }
    else {
      var_22 = (type_3 *)0x0;
      if (**(int **)(var_11 + -0x6f0c) != 0) {
        if ((type_8 *)**(type_4 **)(var_11 + -0x6de4) == (type_8 *)0x0) {
          var_22 = (type_3 *)0x0;
        }
        else if ((**(int **)(var_11 + -0x6f38) != 0) &&
                (**(int **)(var_11 + -0x702c) != 0)) {
          var_32 = (type_3 *)**(type_4 **)(var_11 + -0x6f34);
          var_22 = (type_3 *)(*(type_8 *)**(type_4 **)(var_11 + -0x6de4))(var_20);
          var_20 = var_22;
        }
      }
      if (**(int **)(var_11 + -0x6f10) != 0) {
        var_32 = (type_3 *)var_2;
        (**(type_8 **)(var_11 + -0x6218))
                  (var_21 + 1,var_2,4,*(type_4 *)(var_11 + -0x6660));
      }
      var_13 = (type_3 *)(**(type_8 **)(var_11 + -0x60fc))(var_20);
      var_14 = var_19;
      if ((int)var_13 <= (int)var_19) {
        var_14 = var_13;
      }
      if (var_2 < 1) {
        var_13 = (type_3 *)0x1;
LAB_000fb1a8:
        var_13 = (type_3 *)(type_2)(var_2 < (int)var_13);
        if (var_13 != (type_3 *)0x0) goto LAB_000fb12c;
      }
      else {
        var_5 = (int)(var_21 + 1);
        var_13 = (type_3 *)0x1;
        do {
          unaff_s2 = (type_3 *)((type_3 *)var_5)->st_dev;
          var_4 = (**(type_8 **)(var_11 + -0x6238))(unaff_s2,var_20,var_14);
          if (var_4 == 0) {
            var_32 = unaff_s2;
            (**(type_8 **)(var_11 + -0x615c))(*var_21,unaff_s2,var_19);
            goto LAB_000fb1a8;
          }
          var_13 = (type_3 *)((int)&var_13->st_dev + 1);
          var_5 = (int)((type_3 *)var_5)->st_pad1;
        } while ((int)var_13 <= var_2);
LAB_000fb12c:
        var_32 = (type_3 *)var_21[1];
        (**(type_8 **)(var_11 + -0x615c))(*var_21,var_32,var_19);
      }
      if (var_22 != (type_3 *)0x0) {
        var_4 = (**(type_8 **)(var_11 + -0x5f94))(var_22);
        return var_4;
      }
      var_33 = (type_3 *)0x0;
    }
    *(type_5 *)((int)var_19->st_pad1 + *var_21 + -4) = 0;
    var_18 = (type_3 *)var_2;
  }
LAB_000fb1f0:
  if (var_23 == (type_4 *)**(type_4 **)(var_11 + -0x5fb4)) {
    return (int)var_18;
  }
  var_24 = *(type_8 **)(var_11 + -0x6004);
  pcVar30 = postprocess_matches;
  puVar11 = var_23;
  (*var_24)();
  var_28 = var_24 + 0x632d8;
  var_31._1_4_ = **(type_4 **)(var_24 + 0x5d324);
  var_22 = (type_3 *)*puVar11;
  var_31._9_4_ = var_13;
  var_31._13_4_ = var_5;
  var_31._17_4_ = unaff_s2;
  psStack_188 = var_33;
  psStack_184 = var_14;
  psStack_180 = unaff_s5;
  puStack_17c = unaff_s6;
  psStack_178 = unaff_s7;
  pcStack_174 = pcVar30;
  if (var_22 == (type_3 *)0x0) {
    var_4 = 0;
  }
  else {
    var_29 = var_32;
    match_list = var_22;
    if (**(int **)(var_24 + 0x5cd28) != 0) {
      if (var_22->st_dev == 0) {
LAB_000fb370:
        uVar18 = var_22->st_dev;
      }
      else {
        var_26 = var_22->st_pad1;
        var_4 = 0;
        do {
          var_25 = var_4;
          var_27 = *var_26;
          var_4 = var_25 + 1;
          var_26 = var_26 + 1;
        } while (var_27 != 0);
        if ((var_4 == 0) || (**(int **)(var_24 + 0x5c3c8) == 0)) goto LAB_000fb370;
        (**(type_8 **)(var_24 + 0x5d0c0))
                  (var_22->st_pad1,var_25,4,*(type_4 *)(var_24 + 0x5cc78));
        uVar18 = var_22->st_dev;
      }
      var_4 = (**(type_8 **)(var_28 + -0x60fc))(uVar18);
      uVar9 = (**(type_8 **)(var_28 + -0x7f88))(var_4 + 1);
      var_14 = (type_3 *)(**(type_8 **)(var_28 + -0x6074))(uVar9,var_22->st_dev);
      if (var_22->st_pad1[0] == 0) {
        unaff_s6 = (type_6 *)0x0;
        var_4 = 3;
        var_29 = (type_3 *)0x0;
      }
      else {
        unaff_s6 = (type_6 *)0x0;
        unaff_s7 = (type_3 *)var_31;
        var_13 = var_22;
        do {
          uVar18 = var_13->st_dev;
          var_4 = (**(type_8 **)(var_28 + -0x5f48))(uVar18);
          if (var_4 == 0) {
            (**(type_8 **)(var_28 + -0x798c))(uVar18);
            var_13->st_dev = (type_6)unaff_s7;
          }
          else {
            unaff_s6 = (type_6 *)((int)unaff_s6 + 1);
          }
          var_29 = (type_3 *)var_13->st_pad1[1];
          var_4 = (int)unaff_s6 + 3;
          var_13 = (type_3 *)var_13->st_pad1;
        } while (var_29 != (type_3 *)0x0);
      }
      match_list = (type_3 *)(**(type_8 **)(var_28 + -0x7f88))(var_4 << 2);
      var_30 = (type_3 *)var_22->st_pad1[0];
      var_26 = var_22->st_pad1;
      if (var_30 == (type_3 *)0x0) {
        match_list->st_pad1[0] = 0;
        var_13 = (type_3 *)0x1;
        if ((type_5 *)var_22->st_dev != var_31) {
          var_24 = *(type_8 **)(var_28 + -0x798c);
          goto LAB_000fb4b4;
        }
        match_list->st_dev = (type_6)var_14;
      }
      else {
        var_13 = (type_3 *)0x1;
        var_29 = (type_3 *)var_31;
        do {
          var_26 = var_26 + 1;
          if (var_30 != var_29) {
            match_list->st_pad1[(int)((int)var_13[-1].st_pad5 + 0x37)] = (long)var_30;
            var_13 = (type_3 *)((int)&var_13->st_dev + 1);
          }
          var_30 = (type_3 *)*var_26;
        } while (var_30 != (type_3 *)0x0);
        match_list->st_pad1[(int)((int)var_13[-1].st_pad5 + 0x37)] = 0;
        if ((type_5 *)var_22->st_dev != var_31) {
          var_24 = *(type_8 **)(var_28 + -0x798c);
LAB_000fb4b4:
          (*var_24)();
        }
        match_list->st_dev = (type_6)var_14;
        if (var_13 == (type_3 *)0x2) {
          var_13 = (type_3 *)match_list->st_pad1[0];
          var_29 = var_13;
          var_4 = (**(type_8 **)(var_28 + -0x5f48))(var_14);
          if (var_4 == 0) {
            (**(type_8 **)(var_28 + -0x798c))(var_13);
            match_list->st_pad1[0] = 0;
          }
        }
      }
      (**(type_8 **)(var_28 + -0x798c))(var_22);
      unaff_s5 = match_list;
    }
    var_33 = var_32;
    var_22 = match_list;
    if (((type_8 *)**(type_4 **)(var_28 + -0x703c) == (type_8 *)0x0) ||
       (var_32 == (type_3 *)0x0)) goto LAB_000fb570;
    var_26 = match_list->st_pad1;
    if (match_list->st_pad1[0] == 0) {
      var_13 = (type_3 *)0x1;
    }
    else {
      var_13 = (type_3 *)0x1;
      do {
        var_26 = var_26 + 1;
        var_13 = (type_3 *)((int)&var_13->st_dev + 1);
      } while (*var_26 != 0);
    }
    (*(type_8 *)**(type_4 **)(var_28 + -0x703c))(match_list);
    var_33 = (type_3 *)match_list->st_dev;
    if (var_33 == (type_3 *)0x0) {
      (**(type_8 **)(var_28 + -0x5f94))(match_list);
      *puVar11 = 0;
      var_4 = 0;
      var_32 = var_29;
      goto LAB_000fb578;
    }
    var_26 = match_list->st_pad1;
    if (match_list->st_pad1[0] == 0) {
LAB_000fb570:
      *puVar11 = match_list;
    }
    else {
      var_32 = (type_3 *)0x1;
      do {
        var_29 = var_32;
        var_26 = var_26 + 1;
        var_32 = (type_3 *)((int)&var_29->st_dev + 1);
      } while (*var_26 != 0);
      var_13 = (type_3 *)(type_2)((int)var_32 < (int)var_13);
      if (((int)var_32 < 2) || (var_13 == (type_3 *)0x0)) goto LAB_000fb570;
      var_34((char **)match_list,(int)var_29,(char *)var_33);
      (**(type_8 **)(var_28 + -0x5f94))(var_33);
      *puVar11 = match_list;
    }
    var_4 = 1;
    var_32 = var_29;
  }
LAB_000fb578:
  if ((char *)var_31._1_4_ == (char *)**(type_4 **)(var_28 + -0x5fb4)) {
    return var_4;
  }
  var_24 = *(type_8 **)(var_28 + -0x6004);
  pcVar30 = rl_filename_completion_function;
  var_47 = (char *)var_31._1_4_;
  (*var_24)();
  var_48 = **(int **)(var_24 + 0x5cf6c);
  psStack_1e0 = var_13;
  psStack_1dc = var_22;
  puStack_1d8 = puVar11;
  psStack_1d4 = var_33;
  psStack_1d0 = var_14;
  psStack_1cc = unaff_s5;
  puStack_1c8 = unaff_s6;
  psStack_1c4 = unaff_s7;
  ppsStack_1c0 = unaff_s8;
  pcStack_1bc = pcVar30;
  if (var_32 != (type_3 *)0x0) goto LAB_000fb968;
  if (*(int *)(*(int *)(var_24 + 0x5af4c) + -0x3fd4) != 0) {
    (**(type_8 **)(var_24 + 0x5cc9c))();
    *(type_4 *)(*(int *)(var_24 + 0x5af4c) + -0x3fd4) = 0;
  }
  if (*(int *)(*(int *)(var_24 + 0x5af4c) + -0x3fd8) != 0) {
    var_4 = (**(type_8 **)(var_24 + 0x5cf8c))();
    return var_4;
  }
  if (*(int *)(*(int *)(var_24 + 0x5af4c) + -0x3fdc) != 0) {
    var_4 = (**(type_8 **)(var_24 + 0x5cf8c))();
    return var_4;
  }
  if (*(int *)(*(int *)(var_24 + 0x5af4c) + -0x3fe0) != 0) {
    var_4 = (**(type_8 **)(var_24 + 0x5cf8c))();
    return var_4;
  }
  var_4 = (**(type_8 **)(var_24 + 0x5ce24))(var_47);
  uVar9 = (**(type_8 **)(var_24 + 0x5af98))(var_4 + 1);
  uVar9 = (**(type_8 **)(var_24 + 0x5ceac))(uVar9,var_47);
  *(type_4 *)(*(int *)(var_24 + 0x5af4c) + -0x3fdc) = uVar9;
  if (*var_47 == '\0') {
    var_47 = (char *)(*(int *)(var_24 + 0x5af90) + -0x5e18);
  }
  var_4 = (**(type_8 **)(var_24 + 0x5ce24))(var_47);
  uVar9 = (**(type_8 **)(var_24 + 0x5af98))(var_4 + 1);
  puVar10 = (type_5 *)(**(type_8 **)(var_24 + 0x5ceac))(uVar9,var_47);
  *(type_5 **)(*(int *)(var_24 + 0x5af4c) + -0x3fd8) = puVar10;
  var_4 = (**(type_8 **)(var_24 + 0x5cd4c))(puVar10,0x2f);
  if (var_4 == 0) {
    *puVar10 = 0x2e;
    *(type_5 *)(*(int *)(*(int *)(var_24 + 0x5af4c) + -0x3fd8) + 1) = 0;
  }
  else {
    (**(type_8 **)(var_24 + 0x5ceac))
              (*(type_4 *)(*(int *)(var_24 + 0x5af4c) + -0x3fdc),var_4 + 1);
    *(type_5 *)(var_4 + 1) = 0;
  }
  if (**(int **)(var_24 + 0x5bfe8) == 0) {
LAB_000fb830:
    var_27 = *(int *)(var_24 + 0x5af4c);
    var_4 = (**(type_8 **)(var_24 + 0x5ce24))(*(type_4 *)(var_27 + -0x3fd8));
    uVar9 = (**(type_8 **)(var_24 + 0x5af98))(var_4 + 1);
    uVar9 = (**(type_8 **)(var_24 + 0x5ceac))(uVar9,*(type_4 *)(var_27 + -0x3fd8));
    *(type_4 *)(*(int *)(var_24 + 0x5af4c) + -0x3fe0) = uVar9;
  }
  else {
    if ((type_8 *)**(type_4 **)(var_24 + 0x5c13c) == (type_8 *)0x0) goto LAB_000fb830;
    uVar9 = (*(type_8 *)**(type_4 **)(var_24 + 0x5c13c))
                      (*(type_4 *)(*(int *)(var_24 + 0x5af4c) + -0x3fd8),
                       **(type_4 **)(var_24 + 0x5bfec));
    *(type_4 *)(*(int *)(var_24 + 0x5af4c) + -0x3fe0) = uVar9;
  }
  bVar3 = **(char **)(*(int *)(var_24 + 0x5af4c) + -0x3fd8) == '~';
  if (bVar3) {
    uVar9 = (**(type_8 **)(var_24 + 0x5b4ec))();
    var_4 = *(int *)(var_24 + 0x5af4c);
    (**(type_8 **)(var_24 + 0x5b594))(*(type_4 *)(var_4 + -0x3fd8));
    *(type_4 *)(var_4 + -0x3fd8) = uVar9;
  }
  if ((type_8 *)**(type_4 **)(var_24 + 0x5bfe0) == (type_8 *)0x0) {
    if ((type_8 *)**(type_4 **)(var_24 + 0x5bfe4) != (type_8 *)0x0) {
      var_4 = (*(type_8 *)**(type_4 **)(var_24 + 0x5bfe4))(*(int *)(var_24 + 0x5af4c) + -0x3fd8)
      ;
      var_27 = *(int *)(var_24 + 0x5af4c);
      if (var_4 != 0) {
        (**(type_8 **)(var_24 + 0x5b594))(*(type_4 *)(var_27 + -0x3fe0));
        var_25 = *(int *)(var_24 + 0x5af4c);
        var_4 = (**(type_8 **)(var_24 + 0x5ce24))(*(type_4 *)(var_25 + -0x3fd8));
        uVar9 = (**(type_8 **)(var_24 + 0x5af98))(var_4 + 1);
        uVar9 = (**(type_8 **)(var_24 + 0x5ceac))(uVar9,*(type_4 *)(var_25 + -0x3fd8));
        *(type_4 *)(var_27 + -0x3fe0) = uVar9;
        goto LAB_000fb8b4;
      }
    }
    var_4 = *(int *)(var_24 + 0x5af4c);
    if ((!bVar3) && (var_4 = *(int *)(var_24 + 0x5af4c), **(int **)(var_24 + 0x5bfe8) != 0)) {
      var_4 = *(int *)(var_24 + 0x5af4c);
      if (**(int **)(var_24 + 0x5c13c) != 0) {
        (**(type_8 **)(var_24 + 0x5b594))(*(type_4 *)(var_4 + -0x3fd8));
        var_25 = *(int *)(var_24 + 0x5af4c);
        var_27 = (**(type_8 **)(var_24 + 0x5ce24))(*(type_4 *)(var_25 + -0x3fe0));
        uVar9 = (**(type_8 **)(var_24 + 0x5af98))(var_27 + 1);
        uVar9 = (**(type_8 **)(var_24 + 0x5ceac))(uVar9,*(type_4 *)(var_25 + -0x3fe0));
        *(type_4 *)(var_4 + -0x3fd8) = uVar9;
      }
      goto LAB_000fb8b4;
    }
  }
  else {
    (*(type_8 *)**(type_4 **)(var_24 + 0x5bfe0))(*(int *)(var_24 + 0x5af4c) + -0x3fd8);
LAB_000fb8b4:
    var_4 = *(int *)(var_24 + 0x5af4c);
  }
  uVar9 = (**(type_8 **)(var_24 + 0x5cc98))(*(type_4 *)(var_4 + -0x3fd8));
  *(type_4 *)(*(int *)(var_24 + 0x5af4c) + -0x3fd4) = uVar9;
  var_4 = *(int *)(var_24 + 0x5af4c);
  if ((**(char **)(*(int *)(var_24 + 0x5af4c) + -0x3fdc) != '\0') &&
     (var_4 = *(int *)(var_24 + 0x5af4c), **(int **)(var_24 + 0x5bfe8) != 0)) {
    if ((type_8 *)**(type_4 **)(var_24 + 0x5c13c) != (type_8 *)0x0) {
      uVar9 = (*(type_8 *)**(type_4 **)(var_24 + 0x5c13c))
                        (*(char **)(*(int *)(var_24 + 0x5af4c) + -0x3fdc),
                         **(type_4 **)(var_24 + 0x5bfec));
      var_4 = *(int *)(var_24 + 0x5af4c);
      (**(type_8 **)(var_24 + 0x5b594))(*(type_4 *)(var_4 + -0x3fdc));
      *(type_4 *)(var_4 + -0x3fdc) = uVar9;
    }
    var_4 = *(int *)(var_24 + 0x5af4c);
  }
  uVar9 = (**(type_8 **)(var_24 + 0x5ce24))(*(type_4 *)(var_4 + -0x3fdc));
  *(type_4 *)(*(int *)(var_24 + 0x5af4c) + -0x3fe4) = uVar9;
  **(type_4 **)(var_24 + 0x5c014) = 1;
LAB_000fb968:
  var_36 = 0;
  var_4 = *(int *)(var_24 + 0x5af4c);
  puVar11 = *(type_4 **)(var_24 + 0x5c130);
  var_27 = *(int *)(var_24 + 0x5af4c);
  var_25 = *(int *)(var_24 + 0x5af4c);
  var_9 = *(int **)(var_24 + 0x5c964);
LAB_000fbb0c:
  var_35 = *(int *)(var_4 + -0x3fd4);
LAB_000fbb10:
  if (var_35 == 0) {
    if (var_36 != 0) goto LAB_000fbbb0;
    var_4 = *(int *)(*(int *)(var_24 + 0x5af4c) + -0x3fd8);
LAB_000fc3a0:
    if (var_4 != 0) {
      (**(type_8 **)(var_24 + 0x5b594))();
      *(type_4 *)(*(int *)(var_24 + 0x5af4c) + -0x3fd8) = 0;
    }
    if (*(int *)(*(int *)(var_24 + 0x5af4c) + -0x3fdc) != 0) {
      (**(type_8 **)(var_24 + 0x5b594))();
      *(type_4 *)(*(int *)(var_24 + 0x5af4c) + -0x3fdc) = 0;
    }
    var_4 = *(int *)(*(int *)(var_24 + 0x5af4c) + -0x3fe0);
    if (var_4 != 0) {
      (**(type_8 **)(var_24 + 0x5b594))(var_4);
      *(type_4 *)(*(int *)(var_24 + 0x5af4c) + -0x3fe0) = 0;
      var_4 = 0;
    }
    goto LAB_000fbca4;
  }
  var_36 = (**(type_8 **)(var_24 + 0x5cd0c))();
  if (var_36 == 0) {
    if (*(int *)(*(int *)(var_24 + 0x5af4c) + -0x3fd4) != 0) {
      (**(type_8 **)(var_24 + 0x5cc9c))();
      *(type_4 *)(*(int *)(var_24 + 0x5af4c) + -0x3fd4) = 0;
    }
    var_4 = *(int *)(*(int *)(var_24 + 0x5af4c) + -0x3fd8);
    goto LAB_000fc3a0;
  }
  var_22 = (type_3 *)(var_36 + 0x13);
  var_35 = (**(type_8 **)(var_24 + 0x5ce24))(var_22);
  var_13 = var_22;
  if (((type_8 *)*puVar11 != (type_8 *)0x0) &&
     (var_13 = (type_3 *)(*(type_8 *)*puVar11)(var_22,var_35), var_22 != var_13)) {
    var_35 = (**(type_8 **)(var_24 + 0x5ce24))(var_13);
  }
  var_37 = *(int *)(var_27 + -0x3fe4);
  if (var_37 == 0) {
    if (**(int **)(var_24 + 0x5c974) == 0) {
      if (*(type_1 *)&var_13->st_dev != 0x2e) goto LAB_000fbbb0;
    }
    else {
      var_42 = *(int *)(var_24 + 0x5af4c);
      if ((*(type_1 *)&var_13->st_dev != 0x2e) ||
         ((var_38 = *(type_1 *)((int)&var_13->st_dev + 1), var_38 != 0 &&
          ((var_42 = *(int *)(var_24 + 0x5af4c), var_38 != 0x2e ||
           (var_42 = *(int *)(var_24 + 0x5af4c), *(char *)((int)&var_13->st_dev + 2) != '\0'))))))
      goto LAB_000fbbb4;
    }
    goto LAB_000fbb0c;
  }
  var_40 = *(type_1 **)(var_25 + -0x3fdc);
  uStack_1f4 = 0;
  uStack_1f0 = 0;
  uStack_1ec = 0;
  uStack_1e8 = 0;
  if (var_35 < var_37) goto LAB_000fbb0c;
  if (*var_9 != 0) {
    var_46 = var_13;
    var_44 = var_37;
    if (**(int **)(var_24 + 0x5c97c) == 0) {
      var_12 = (**(type_8 **)(var_24 + 0x5cec0))();
      if ((1 < var_12) && (**(int **)(var_24 + 0x5c7f8) == 0)) {
        goto LAB_000fc0a8;
      }
      var_39 = (type_2)(char)*(type_1 *)&var_13->st_dev;
      var_12 = (type_2)*(type_1 *)&var_13->st_dev;
      if ((var_12 == var_39) &&
         (piVar17 = (int *)(**(type_8 **)(var_24 + 0x5cc90))(),
         (*(type_10 *)(*piVar17 + var_12 * 2) & 1) != 0)) {
        piVar17 = (int *)(**(type_8 **)(var_24 + 0x5cc94))();
        var_39 = *(type_2 *)(*piVar17 + var_12 * 4);
      }
      var_41 = (type_2)(char)*var_40;
      var_12 = (type_2)*var_40;
      if (var_12 == var_41) {
        piVar17 = (int *)(**(type_8 **)(var_24 + 0x5cc90))();
        if ((*(type_10 *)(*piVar17 + var_12 * 2) & 1) != 0) {
          piVar17 = (int *)(**(type_8 **)(var_24 + 0x5cc94))();
          var_41 = *(type_2 *)(*piVar17 + var_12 * 4);
        }
      }
      if (var_39 == var_41) {
        var_35 = (**(type_8 **)(var_24 + 0x5cd98))(var_40,var_13,var_37);
        goto LAB_000fc280;
      }
    }
    else {
      var_12 = (**(type_8 **)(var_24 + 0x5cec0))();
      if ((1 < var_12) && (**(int **)(var_24 + 0x5c7f8) == 0)) {
        do {
          var_42 = (**(type_8 **)(var_24 + 0x5ce9c))(&iStack_1fc,var_46,var_35,&uStack_1f4);
          var_43 = (**(type_8 **)(var_24 + 0x5ce9c))(&var_45,var_40,var_37,&uStack_1ec);
          if (var_42 == 0) {
            if (var_43 == 0) goto LAB_000fbbb0;
LAB_000fbe6c:
            if (var_43 + 2U < 2) goto LAB_000fbdb4;
            var_43 = (**(type_8 **)(var_24 + 0x5cf58))(iStack_1fc);
            iStack_1fc = var_43;
            var_45 = (**(type_8 **)(var_24 + 0x5cf58))(var_45);
            var_46 = (type_3 *)((int)var_46->st_pad1 + var_42 + -4);
            var_40 = var_40 + var_42;
            var_44 = var_44 - var_42;
            if ((((var_43 != 0x2d) && (var_43 != 0x5f)) ||
                ((var_45 != 0x2d && (var_45 != 0x5f)))) && (var_43 != var_45))
            goto code_r0x000fbef4;
          }
          else {
            if (1 < var_42 + 2U) goto LAB_000fbe6c;
LAB_000fbdb4:
            var_38 = *(type_1 *)&var_46->st_dev;
            if (((var_38 != *var_40) || (var_38 == 0x2d)) ||
               ((var_38 == 0x5f && (*var_40 == 0x5f)))) goto LAB_000fbb0c;
            var_46 = (type_3 *)((int)&var_46->st_dev + 1);
            var_40 = var_40 + 1;
            var_44 = var_44 + -1;
          }
          var_42 = *(int *)(var_24 + 0x5af4c);
          if (var_44 == 0) goto LAB_000fbbb4;
        } while( true );
      }
      var_32 = var_13;
      while( true ) {
        var_12 = (type_2)(char)*(type_1 *)&var_32->st_dev;
        var_39 = (type_2)*(type_1 *)&var_32->st_dev;
        var_46 = (type_3 *)var_12;
        if ((var_39 == var_12) &&
           (piVar17 = (int *)(**(type_8 **)(var_24 + 0x5cc90))(),
           (*(type_10 *)(*piVar17 + var_39 * 2) & 1) != 0)) {
          piVar17 = (int *)(**(type_8 **)(var_24 + 0x5cc94))();
          var_46 = *(type_3 **)(*piVar17 + var_39 * 4);
        }
        var_39 = (type_2)(char)*var_40;
        var_41 = (type_2)*var_40;
        uStack_210 = var_39;
        if (var_41 == var_39) {
          piVar17 = (int *)(**(type_8 **)(var_24 + 0x5cc90))();
          if ((*(type_10 *)(*piVar17 + var_41 * 2) & 1) != 0) {
            piVar17 = (int *)(**(type_8 **)(var_24 + 0x5cc94))();
            uStack_210 = *(type_2 *)(*piVar17 + var_41 * 4);
          }
        }
        if ((((var_12 != 0x2d) && (var_12 != 0x5f)) || ((var_39 != 0x2d && (var_39 != 0x5f)))) &&
           (var_46 != (type_3 *)uStack_210)) break;
        var_32 = (type_3 *)((int)&var_32->st_dev + 1);
        var_40 = var_40 + 1;
        var_42 = *(int *)(var_24 + 0x5af4c);
        if (var_32 == (type_3 *)((int)var_13->st_pad1 + var_37 + -4)) goto LAB_000fbbb4;
      }
    }
    goto LAB_000fbb0c;
  }
  if (*(type_1 *)&var_13->st_dev != *var_40) goto LAB_000fbb0c;
  var_35 = (**(type_8 **)(var_24 + 0x5cce8))(var_40,var_13,var_37);
LAB_000fc280:
  if (var_35 != 0) goto LAB_000fbb0c;
  var_47 = *(char **)(*(int *)(var_24 + 0x5af4c) + -0x3fd8);
  goto LAB_000fbbb8;
LAB_000fc0a8:
  var_42 = (**(type_8 **)(var_24 + 0x5ce9c))(&iStack_1fc,var_46,var_35,&uStack_1f4);
  var_43 = (**(type_8 **)(var_24 + 0x5ce9c))(&var_45,var_40,var_37,&uStack_1ec);
  if (var_42 == 0) {
    if (var_43 == 0) goto LAB_000fbbb0;
LAB_000fc100:
    if (var_43 + 2U < 2) goto LAB_000fc060;
    var_43 = (**(type_8 **)(var_24 + 0x5cf58))(iStack_1fc);
    iStack_1fc = var_43;
    var_45 = (**(type_8 **)(var_24 + 0x5cf58))(var_45);
    if (var_43 != var_45) goto LAB_000fbb0c;
    var_46 = (type_3 *)((int)var_46->st_pad1 + var_42 + -4);
    var_40 = var_40 + var_42;
    var_44 = var_44 - var_42;
  }
  else {
    if (1 < var_42 + 2U) goto LAB_000fc100;
LAB_000fc060:
    if (*(type_1 *)&var_46->st_dev != *var_40) goto LAB_000fbb0c;
    var_46 = (type_3 *)((int)&var_46->st_dev + 1);
    var_40 = var_40 + 1;
    var_44 = var_44 + -1;
  }
  var_42 = *(int *)(var_24 + 0x5af4c);
  if (var_44 == 0) goto LAB_000fbbb4;
  goto LAB_000fc0a8;
code_r0x000fbef4:
  var_35 = *(int *)(var_4 + -0x3fd4);
  goto LAB_000fbb10;
LAB_000fbbb0:
  var_42 = *(int *)(var_24 + 0x5af4c);
LAB_000fbbb4:
  var_47 = *(char **)(var_42 + -0x3fd8);
LAB_000fbbb8:
  if ((var_47 == (char *)0x0) ||
     ((var_9 = *(int **)(var_24 + 0x5c978), *var_47 == '.' &&
      (var_9 = *(int **)(var_24 + 0x5c978), var_47[1] == '\0')))) {
    var_4 = (**(type_8 **)(var_24 + 0x5ce24))(var_13);
    uVar9 = (**(type_8 **)(var_24 + 0x5af98))(var_4 + 1);
    var_4 = (**(type_8 **)(var_24 + 0x5ceac))(uVar9,var_13);
  }
  else {
    if ((*var_9 == 0) || (**(char **)(*(int *)(var_24 + 0x5af4c) + -0x3fe0) != '~')) {
      var_25 = *(int *)(var_24 + 0x5af4c);
      var_27 = (**(type_8 **)(var_24 + 0x5ce24))(*(type_4 *)(var_25 + -0x3fe0));
      var_4 = (**(type_8 **)(var_24 + 0x5ce24))(var_36 + 0x13);
      var_4 = (**(type_8 **)(var_24 + 0x5af98))(var_27 + var_4 + 2);
      var_25 = *(int *)(var_25 + -0x3fe0);
      (**(type_8 **)(var_24 + 0x5ceac))(var_4,var_25);
      if (*(char *)(var_25 + var_27 + -1) != '/') {
        *(type_5 *)(var_4 + var_27) = 0x2f;
        var_27 = var_27 + 1;
      }
    }
    else {
      var_25 = (**(type_8 **)(var_24 + 0x5ce24))();
      var_4 = (**(type_8 **)(var_24 + 0x5ce24))(var_36 + 0x13);
      var_4 = (**(type_8 **)(var_24 + 0x5af98))(var_25 + var_4 + 2);
      var_36 = *(int *)(var_24 + 0x5af4c);
      (**(type_8 **)(var_24 + 0x5ceac))(var_4,*(type_4 *)(var_36 + -0x3fd8));
      var_27 = var_25;
      if (*(char *)(*(int *)(var_36 + -0x3fd8) + var_25 + -1) != '/') {
        var_27 = var_25 + 1;
        *(type_5 *)(var_4 + var_25) = 0x2f;
        *(type_5 *)(var_4 + var_27) = 0;
      }
    }
    (**(type_8 **)(var_24 + 0x5ceac))(var_4 + var_27,var_13);
  }
  if (var_22 != var_13) {
    (**(type_8 **)(var_24 + 0x5b594))(var_13);
  }
LAB_000fbca4:
  if (var_48 == **(int **)(var_24 + 0x5cf6c)) {
    return var_4;
  }
  var_4 = (**(type_8 **)(var_24 + 0x5cf1c))();
  return var_4;
}


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

/* WARNING: Type propagation algorithm not settling */

word * MASKED(undefined4 param_1,word *param_2,int param_3,byte *param_4)

{
  char cVar1;
  byte bVar2;
  bool bVar3;
  uint uVar4;
  int iVar5;
  word *pwVar6;
  undefined4 uVar7;
  undefined1 *puVar8;
  int *piVar9;
  int iVar10;
  int iVar11;
  byte *pbVar12;
  int iVar13;
  word *pwVar14;
  word *pwVar15;
  word *pwVar16;
  int iVar17;
  word *pwVar18;
  word *unaff_s2;
  char *pcVar19;
  word *pwVar20;
  word *unaff_s3;
  word *unaff_s4;
  word *unaff_s5;
  undefined4 *puVar21;
  word *unaff_s6;
  word *unaff_s7;
  undefined *puVar22;
  code *pcVar23;
  byte **unaff_s8;
  byte *pbVar24;
  code *pcVar25;
  int iStack_31c;
  word *pwStack_318;
  int iStack_314;
  word *pwStack_310;
  word *pwStack_30c;
  word *pwStack_308;
  word *pwStack_304;
  int *piStack_300;
  undefined4 *puStack_2fc;
  int iStack_2f8;
  code *pcStack_2f4;
  code *pcStack_2e0;
  int iStack_2d4;
  int iStack_2d0;
  word *pwStack_2cc;
  int aiStack_2c8 [3];
  byte *pbStack_2bc;
  int iStack_2b8;
  word *pwStack_2b4;
  int iStack_2b0;
  int iStack_2ac;
  undefined4 uStack_2a8;
  undefined4 uStack_2a4;
  int *piStack_2a0;
  int *piStack_29c;
  int iStack_298;
  code *pcStack_294;
  code *pcStack_280;
  int aiStack_278 [4];
  word *pwStack_268;
  word *pwStack_264;
  word *pwStack_260;
  word *pwStack_25c;
  word *pwStack_258;
  word *pwStack_254;
  word *pwStack_250;
  word *pwStack_24c;
  byte **ppbStack_248;
  code *pcStack_244;
  code *pcStack_230;
  byte *pbStack_228;
  int iStack_224;
  undefined4 *puStack_220;
  int iStack_21c;
  int iStack_218;
  word *pwStack_214;
  word *pwStack_210;
  int *piStack_20c;
  word *pwStack_208;
  int iStack_204;
  int iStack_1fc;
  int iStack_1f8;
  byte *pbStack_1f4;
  undefined4 uStack_1f0;
  undefined4 uStack_1ec;
  undefined4 uStack_1e8;
  int iStack_1e4;
  word *pwStack_1e0;
  word *pwStack_1dc;
  undefined4 *puStack_1d8;
  word *pwStack_1d4;
  word *pwStack_1d0;
  word *pwStack_1cc;
  word *pwStack_1c8;
  word *pwStack_1c4;
  byte **ppbStack_1c0;
  code *pcStack_1bc;
  code *pcStack_1a8;
  undefined1 auStack_19d [9];
  word *pwStack_194;
  byte *pbStack_190;
  word *pwStack_18c;
  word *pwStack_188;
  word *pwStack_184;
  word *pwStack_180;
  word *pwStack_17c;
  word *pwStack_178;
  code *pcStack_174;
  word *pwStack_160;
  word *pwStack_15c;
  undefined *puStack_158;
  word *pwStack_14c;
  word *pwStack_148;
  word *pwStack_144;
  word *pwStack_140;
  word *pwStack_13c;
  uint uStack_138;
  int *piStack_134;
  word *pwStack_130;
  int *piStack_12c;
  byte *pbStack_124;
  byte *pbStack_120;
  undefined4 uStack_11c;
  undefined4 uStack_118;
  undefined4 uStack_114;
  undefined4 uStack_110;
  undefined4 uStack_10c;
  undefined4 uStack_108;
  undefined4 *puStack_104;
  word *pwStack_100;
  byte *pbStack_fc;
  word *pwStack_f8;
  word *local_bc;
  word awStack_b8 [12];
  uint local_a0;
  undefined1 local_18 [4];
  int *local_14;
  
  local_14 = *(int **)PTR___stack_chk_guard_0015858c;
  if (param_3 != 0) {
    if (*(int *)PTR_rl_point_001575f0 == 0) {
      param_3 = 0;
    }
    else if (*(int *)PTR_rl_completion_suppress_quote_00157618 == 0) {
      if (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + *(int *)PTR_rl_point_001575f0 + -1) ==
          param_3) {
        param_3 = 0;
      }
      else {
        local_18[0] = (undefined1)param_3;
        param_3 = 1;
      }
    }
    else {
      param_3 = 0;
    }
  }
  if (param_2 == (word *)0x0) {
    pwVar16 = (word *)(param_3 + 1);
    if ((*(int *)PTR_rl_completion_suppress_append_00157624 == 0) &&
       (*(int *)PTR_rl_completion_append_character_00157628 != 0)) {
      local_18[param_3] = (char)*(int *)PTR_rl_completion_append_character_00157628;
      goto LAB_000fa86c;
    }
  }
  else {
    local_18[param_3] = (char)param_2;
LAB_000fa86c:
    pwVar16 = (word *)(param_3 + 2);
    param_3 = param_3 + 1;
  }
  pwVar15 = (word *)(&stack0xfffffff0 + param_3);
  local_18[param_3] = 0;
  if (*(int *)PTR_rl_filename_completion_desired_00157634 == 0) {
    if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {
      rl_insert_text(local_18);
    }
  }
  else {
    unaff_s2 = (word *)(*(code *)PTR_tilde_expand_00156b0c)();
    if (*(int *)PTR_rl_filename_stat_hook_00157754 != 0) {
      iVar5 = (*(code *)PTR_strlen_00158444)(unaff_s2);
      uVar7 = (*(code *)PTR_xmalloc_001565b8)(iVar5 + 1);
      local_bc = (word *)(*(code *)PTR_strcpy_001584cc)(uVar7,unaff_s2);
      (**(code **)PTR_rl_filename_stat_hook_00157754)(&local_bc);
      (*(code *)PTR_xfree_00156bb4)(unaff_s2);
      unaff_s2 = local_bc;
    }
    param_2 = unaff_s2;
    if ((param_4 == (byte *)0x0) ||
       (pwVar15 = awStack_b8, *(int *)PTR_rl_completion_mark_symlink_dirs_001578a4 != 0)) {
      pwVar15 = awStack_b8;
      iVar5 = (*(code *)PTR___xstat64_001582e8)(3);
    }
    else {
      iVar5 = (*(code *)PTR___lxstat64_001582c8)(3);
    }
    if (iVar5 == 0) {
      if ((local_a0 & 0xf000) == 0x4000) {
        if (*(int *)PTR__rl_complete_mark_directories_00157f80 != 0) {
          iVar5 = *(int *)PTR_rl_point_001575f0;
          if ((iVar5 == 0) || (*(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5) != '\0')) {
            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5);
          }
          else {
            cVar1 = *(char *)(*(int *)PTR_rl_line_buffer_001575e8 + iVar5 + -1);
          }
          if (cVar1 != '/') {
            rl_insert_text(PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x5e9c);
          }
        }
      }
      else if (((local_a0 & 0xf000) != 0xa000) || (iVar5 = FUN_000fa188(unaff_s2), iVar5 == 0))
      goto LAB_000fa9f0;
    }
    else {
LAB_000fa9f0:
      if (*(int *)PTR_rl_point_001575f0 == *(int *)PTR_rl_end_001575ec) {
        rl_insert_text(local_18);
      }
    }
    (*(code *)PTR_xfree_00156bb4)(unaff_s2);
  }
  if (local_14 == *(int **)PTR___stack_chk_guard_0015858c) {
    return pwVar16;
  }
  piVar9 = local_14;
  puVar22 = PTR___stack_chk_fail_0015853c;
  (*(code *)PTR___stack_chk_fail_0015853c)();
  puStack_158 = puVar22 + 0x63a10;
  puStack_104 = (undefined4 *)**(undefined4 **)(puVar22 + 0x5da5c);
  pwVar14 = param_2;
  pwStack_130 = pwVar15;
  piStack_12c = piVar9;
  pwStack_100 = pwVar16;
  pbStack_fc = param_4;
  pwStack_f8 = unaff_s2;
  if (param_2 == (word *)0x1) {
    *piVar9 = piVar9[1];
    piVar9[1] = 0;
    pwStack_13c = param_2;
  }
  else {
    if ((int)param_2 < 2) {
      pwStack_140 = (word *)&__DT_SYMTAB[0x3d1].st_info;
    }
    else {
      pwVar18 = (word *)(piVar9 + 1);
      pwStack_140 = (word *)&__DT_SYMTAB[0x3d1].st_info;
      pwStack_13c = (word *)0x1;
      unaff_s3 = *(word **)(puVar22 + 0x5d2e8);
      piStack_134 = *(int **)(puVar22 + 0x5d454);
      unaff_s8 = &pbStack_124;
      do {
        uVar4 = (**(code **)(puStack_158 + -0x6060))();
        if ((1 < uVar4) && (*(int *)unaff_s3 == 0)) {
          uStack_11c = 0;
          uStack_118 = 0;
          uStack_114 = 0;
          uStack_110 = 0;
        }
        if (*piStack_134 == 0) {
          param_4 = (byte *)(int)**(char **)pwVar18;
          unaff_s5 = pwVar18;
          if (param_4 == (byte *)0x0) {
            pwVar16 = (word *)0x0;
            goto LAB_000fac1c;
          }
          pwVar16 = (word *)(int)**(char **)(pwVar18 + 2);
          pwStack_14c = (word *)0x0;
          unaff_s4 = pwVar16;
          if (pwVar16 == (word *)0x0) goto LAB_000fac1c;
          unaff_s6 = (word *)&uStack_11c;
          pwStack_148 = (word *)&uStack_114;
          unaff_s7 = (word *)&uStack_10c;
          do {
            pwVar16 = pwStack_14c;
            uVar4 = (**(code **)(puStack_158 + -0x6060))();
            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {
              if ((word *)param_4 != unaff_s4) goto LAB_000fac1c;
            }
            else {
              uStack_10c = uStack_11c;
              uStack_108 = uStack_118;
              pwStack_15c = pwStack_148;
              pwVar15 = unaff_s6;
              pwStack_160 = pwVar16;
              iVar5 = (**(code **)(puStack_158 + -0x65b8))
                                (*(undefined4 *)pwVar18,pwVar16,unaff_s6,
                                 *(undefined4 *)(pwVar18 + 2));
              pwVar14 = unaff_s7;
              if (iVar5 == 0) goto LAB_000fac1c;
              iVar5 = (**(code **)(puStack_158 + -0x65b4))
                                ((byte *)((int)pwStack_14c + *(int *)pwVar18));
              if (1 < iVar5) {
                pwVar16 = (word *)((int)pwVar16 + iVar5 + -1);
              }
            }
            pwVar16 = (word *)((int)pwVar16 + 1);
            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);
            pwStack_14c = pwVar16;
            if (param_4 == (byte *)0x0) goto LAB_000fac1c;
            unaff_s4 = (word *)(int)(char)*(byte *)((int)pwVar16 + *(int *)(pwVar18 + 2));
            bVar3 = (int)pwVar16 < (int)pwStack_140;
          } while (unaff_s4 != (word *)0x0);
        }
        else {
          pwVar16 = (word *)0x0;
          unaff_s7 = (word *)&uStack_11c;
          unaff_s6 = (word *)&uStack_114;
          while( true ) {
            param_4 = (byte *)(int)(char)*(byte *)((int)pwVar16 + *(int *)pwVar18);
            unaff_s4 = (word *)(uint)*(byte *)((int)pwVar16 + *(int *)pwVar18);
            pwStack_148 = pwVar16;
            pwStack_144 = pwVar18;
            if (unaff_s4 == (word *)param_4) {
              piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))();
              if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {
                piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();
                unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);
                param_4 = *(byte **)unaff_s4;
              }
            }
            unaff_s5 = (word *)&pbStack_120;
            if (param_4 == (byte *)0x0) break;
            pwStack_14c = (word *)(int)(char)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2))
            ;
            unaff_s4 = (word *)(uint)*(byte *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));
            if ((unaff_s4 == pwStack_14c) &&
               (piVar9 = (int *)(**(code **)(puStack_158 + -0x6290))(),
               (*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0)) {
              piVar9 = (int *)(**(code **)(puStack_158 + -0x628c))();
              unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);
              pwStack_14c = *(word **)unaff_s4;
            }
            if (pwStack_14c == (word *)0x0) break;
            uVar4 = (**(code **)(puStack_158 + -0x6060))();
            if ((uVar4 < 2) || (*(int *)unaff_s3 != 0)) {
joined_r0x000facac:
              if ((word *)param_4 != pwStack_14c) break;
            }
            else {
              pbVar24 = (byte *)((int)pwStack_148 + *(int *)pwStack_144);
              uVar7 = (**(code **)(puStack_158 + -0x60fc))(pbVar24);
              uStack_138 = (**(code **)(puStack_158 + -0x6084))(unaff_s8,pbVar24,uVar7,unaff_s7);
              unaff_s4 = (word *)((int)pwStack_148 + *(int *)(pwStack_144 + 2));
              pwVar15 = (word *)(**(code **)(puStack_158 + -0x60fc))(unaff_s4);
              pwVar14 = unaff_s4;
              iVar5 = (**(code **)(puStack_158 + -0x6084))(&pbStack_120,unaff_s4,pwVar15,unaff_s6);
              if ((uStack_138 + 2 < 2) || (iVar5 + 2U < 2)) goto joined_r0x000facac;
              param_4 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_124);
              pbStack_124 = param_4;
              pbStack_120 = (byte *)(**(code **)(puStack_158 + -0x5fc8))(pbStack_120);
              if (param_4 != pbStack_120) break;
              if (1 < uStack_138) {
                pwVar16 = (word *)((int)pwStack_148 + (uStack_138 - 1));
              }
            }
            pwVar16 = (word *)((int)pwVar16 + 1);
          }
LAB_000fac1c:
          bVar3 = (int)pwVar16 < (int)pwStack_140;
        }
        pwVar6 = pwStack_130;
        if (bVar3) {
          pwStack_140 = pwVar16;
        }
        pwStack_13c = (word *)((int)pwStack_13c + 1);
        pwVar18 = pwVar18 + 2;
      } while (param_2 != pwStack_13c);
      unaff_s2 = pwVar18;
      if (((pwStack_140 == (word *)0x0) && (pwStack_130 != (word *)0x0)) &&
         (pwVar16 = pwStack_130, *(byte *)pwStack_130 != 0)) {
        iVar5 = (**(code **)(puStack_158 + -0x60fc))(pwStack_130);
        iVar5 = (**(code **)(puStack_158 + -0x7f88))(iVar5 + 1);
        *piStack_12c = iVar5;
        pwVar14 = pwVar6;
        (**(code **)(puStack_158 + -0x6074))(iVar5);
        pwVar16 = pwVar6;
        goto LAB_000fb1f0;
      }
    }
    iVar5 = (**(code **)(puStack_158 + -0x7f88))((byte *)((int)pwStack_140 + 1));
    *piStack_12c = iVar5;
    if (**(int **)(puStack_158 + -0x65bc) == 0) {
      pwVar14 = (word *)piStack_12c[1];
      pwVar15 = pwStack_140;
      (**(code **)(puStack_158 + -0x615c))(iVar5);
    }
    else {
      unaff_s3 = (word *)0x0;
      if (**(int **)(puStack_158 + -0x6f0c) != 0) {
        if ((code *)**(undefined4 **)(puStack_158 + -0x6de4) == (code *)0x0) {
          unaff_s3 = (word *)0x0;
        }
        else if ((**(int **)(puStack_158 + -0x6f38) != 0) &&
                (**(int **)(puStack_158 + -0x702c) != 0)) {
          pwVar14 = (word *)**(undefined4 **)(puStack_158 + -0x6f34);
          unaff_s3 = (word *)(*(code *)**(undefined4 **)(puStack_158 + -0x6de4))(pwStack_130);
          pwStack_130 = unaff_s3;
        }
      }
      if (**(int **)(puStack_158 + -0x6f10) != 0) {
        pwVar14 = param_2;
        (**(code **)(puStack_158 + -0x6218))
                  (piStack_12c + 1,param_2,4,*(undefined4 *)(puStack_158 + -0x6660));
      }
      pwVar16 = (word *)(**(code **)(puStack_158 + -0x60fc))(pwStack_130);
      unaff_s4 = pwStack_140;
      if ((int)pwVar16 <= (int)pwStack_140) {
        unaff_s4 = pwVar16;
      }
      if ((int)param_2 < 1) {
        pwVar16 = (word *)0x1;
LAB_000fb1a8:
        pwVar16 = (word *)(uint)((int)param_2 < (int)pwVar16);
        pwVar15 = pwStack_140;
        if (pwVar16 != (word *)0x0) goto LAB_000fb12c;
      }
      else {
        param_4 = (byte *)(piStack_12c + 1);
        pwVar16 = (word *)0x1;
        do {
          unaff_s2 = *(word **)param_4;
          iVar5 = (**(code **)(puStack_158 + -0x6238))(unaff_s2,pwStack_130,unaff_s4);
          if (iVar5 == 0) {
            pwVar14 = unaff_s2;
            (**(code **)(puStack_158 + -0x615c))(*piStack_12c,unaff_s2,pwStack_140);
            goto LAB_000fb1a8;
          }
          pwVar16 = (word *)((int)pwVar16 + 1);
          param_4 = param_4 + 4;
        } while ((int)pwVar16 <= (int)param_2);
LAB_000fb12c:
        pwVar14 = (word *)piStack_12c[1];
        pwVar15 = pwStack_140;
        (**(code **)(puStack_158 + -0x615c))(*piStack_12c);
      }
      if (unaff_s3 != (word *)0x0) {
        (**(code **)(puStack_158 + -0x5f94))(unaff_s3);
      }
    }
    *(byte *)((int)pwStack_140 + *piStack_12c) = 0;
    pwStack_13c = param_2;
  }
LAB_000fb1f0:
  if (puStack_104 == (undefined4 *)**(undefined4 **)(puStack_158 + -0x5fb4)) {
    return pwStack_13c;
  }
  pcVar23 = *(code **)(puStack_158 + -0x6004);
  pcVar25 = FUN_000fb268;
  puVar21 = puStack_104;
  (*pcVar23)();
  pcStack_1a8 = pcVar23 + 0x632d8;
  auStack_19d._1_4_ = **(undefined4 **)(pcVar23 + 0x5d324);
  pwVar18 = (word *)*puVar21;
  pwStack_194 = pwVar16;
  pbStack_190 = param_4;
  pwStack_18c = unaff_s2;
  pwStack_188 = unaff_s3;
  pwStack_184 = unaff_s4;
  pwStack_180 = unaff_s5;
  pwStack_17c = unaff_s6;
  pwStack_178 = unaff_s7;
  pcStack_174 = pcVar25;
  if (pwVar18 == (word *)0x0) {
    pwVar6 = (word *)0x0;
  }
  else {
    pwVar20 = pwVar14;
    pwVar6 = pwVar18;
    if (**(int **)(pcVar23 + 0x5cd28) != 0) {
      if (*(int *)pwVar18 == 0) {
LAB_000fb370:
        uVar7 = *(undefined4 *)pwVar18;
      }
      else {
        pwVar15 = (word *)0x0;
        pwVar16 = pwVar18;
        do {
          pwVar16 = pwVar16 + 2;
          pwVar15 = (word *)((int)pwVar15 + 1);
        } while (*(int *)pwVar16 != 0);
        if ((pwVar15 == (word *)0x0) || (**(int **)(pcVar23 + 0x5c3c8) == 0)) goto LAB_000fb370;
        pwVar15 = (word *)&DAT_00000004;
        (**(code **)(pcVar23 + 0x5d0c0))();
        uVar7 = *(undefined4 *)pwVar18;
      }
      iVar5 = (**(code **)(pcStack_1a8 + -0x60fc))(uVar7);
      uVar7 = (**(code **)(pcStack_1a8 + -0x7f88))(iVar5 + 1);
      unaff_s4 = (word *)(**(code **)(pcStack_1a8 + -0x6074))(uVar7,*(undefined4 *)pwVar18);
      if (*(int *)(pwVar18 + 2) == 0) {
        unaff_s6 = (word *)0x0;
        pbVar24 = (byte *)0x3;
        pwVar20 = (word *)0x0;
      }
      else {
        unaff_s6 = (word *)0x0;
        unaff_s7 = (word *)auStack_19d;
        pwVar16 = pwVar18;
        do {
          uVar7 = *(undefined4 *)pwVar16;
          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(uVar7);
          if (iVar5 == 0) {
            (**(code **)(pcStack_1a8 + -0x798c))(uVar7);
            *(word **)pwVar16 = unaff_s7;
          }
          else {
            unaff_s6 = (word *)((int)unaff_s6 + 1);
          }
          pwVar20 = *(word **)(pwVar16 + 4);
          pbVar24 = (byte *)((int)unaff_s6 + 3);
          pwVar16 = pwVar16 + 2;
        } while (pwVar20 != (word *)0x0);
      }
      pwVar6 = (word *)(**(code **)(pcStack_1a8 + -0x7f88))((int)pbVar24 << 2);
      pbVar24 = *(byte **)(pwVar18 + 2);
      if (pbVar24 == (byte *)0x0) {
        pbVar24 = (byte *)(pwVar6 + 2);
        pbVar24[0] = 0;
        pbVar24[1] = 0;
        pbVar24[2] = 0;
        pbVar24[3] = 0;
        pwVar16 = (word *)0x1;
        if (*(undefined1 **)pwVar18 != auStack_19d) {
          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);
          goto LAB_000fb4b4;
        }
        *(word **)pwVar6 = unaff_s4;
      }
      else {
        pwVar16 = (word *)0x1;
        pwVar20 = (word *)auStack_19d;
        pbVar12 = (byte *)(pwVar18 + 4);
        do {
          if ((word *)pbVar24 != pwVar20) {
            *(byte **)(pwVar6 + (int)pwVar16 * 2) = pbVar24;
            pwVar16 = (word *)((int)pwVar16 + 1);
          }
          pbVar24 = *(byte **)pbVar12;
          pbVar12 = pbVar12 + 4;
        } while (pbVar24 != (byte *)0x0);
        *(undefined4 *)(pwVar6 + (int)pwVar16 * 2) = 0;
        if (*(undefined1 **)pwVar18 != auStack_19d) {
          pcVar23 = *(code **)(pcStack_1a8 + -0x798c);
LAB_000fb4b4:
          (*pcVar23)();
        }
        *(word **)pwVar6 = unaff_s4;
        if (pwVar16 == (word *)0x2) {
          pwVar16 = *(word **)(pwVar6 + 2);
          pwVar20 = pwVar16;
          iVar5 = (**(code **)(pcStack_1a8 + -0x5f48))(unaff_s4);
          if (iVar5 == 0) {
            (**(code **)(pcStack_1a8 + -0x798c))(pwVar16);
            pbVar24 = (byte *)(pwVar6 + 2);
            pbVar24[0] = 0;
            pbVar24[1] = 0;
            pbVar24[2] = 0;
            pbVar24[3] = 0;
          }
        }
      }
      (**(code **)(pcStack_1a8 + -0x798c))(pwVar18);
      unaff_s5 = pwVar6;
    }
    unaff_s3 = pwVar14;
    pwVar18 = pwVar6;
    if (((code *)**(undefined4 **)(pcStack_1a8 + -0x703c) == (code *)0x0) ||
       (pwVar14 == (word *)0x0)) goto LAB_000fb570;
    if (*(int *)(pwVar6 + 2) == 0) {
      pwVar16 = (word *)0x1;
    }
    else {
      pwVar16 = (word *)0x1;
      pbVar24 = (byte *)(pwVar6 + 4);
      do {
        iVar5 = *(int *)pbVar24;
        pwVar16 = (word *)((int)pwVar16 + 1);
        pbVar24 = pbVar24 + 4;
      } while (iVar5 != 0);
    }
    (*(code *)**(undefined4 **)(pcStack_1a8 + -0x703c))(pwVar6);
    unaff_s3 = *(word **)pwVar6;
    if (unaff_s3 == (word *)0x0) {
      (**(code **)(pcStack_1a8 + -0x5f94))(pwVar6);
      *puVar21 = 0;
      pwVar6 = (word *)0x0;
      pwVar14 = pwVar20;
      goto LAB_000fb578;
    }
    if (*(int *)(pwVar6 + 2) == 0) {
LAB_000fb570:
      *puVar21 = pwVar6;
    }
    else {
      pbVar24 = (byte *)(pwVar6 + 4);
      pwVar14 = (word *)0x1;
      do {
        pwVar20 = pwVar14;
        iVar5 = *(int *)pbVar24;
        pwVar14 = (word *)((int)pwVar20 + 1);
        pbVar24 = pbVar24 + 4;
      } while (iVar5 != 0);
      pwVar16 = (word *)(uint)((int)pwVar14 < (int)pwVar16);
      if (((int)pwVar14 < 2) || (pwVar15 = unaff_s3, pwVar16 == (word *)0x0)) goto LAB_000fb570;
      FUN_000fab30(pwVar6);
      (**(code **)(pcStack_1a8 + -0x5f94))(unaff_s3);
      *puVar21 = pwVar6;
    }
    pwVar6 = (word *)0x1;
    pwVar14 = pwVar20;
  }
LAB_000fb578:
  if ((char *)auStack_19d._1_4_ == (char *)**(undefined4 **)(pcStack_1a8 + -0x5fb4)) {
    return pwVar6;
  }
  pcVar23 = *(code **)(pcStack_1a8 + -0x6004);
  pcVar25 = rl_filename_completion_function;
  pcVar19 = (char *)auStack_19d._1_4_;
  (*pcVar23)();
  pcStack_230 = pcVar23 + 0x62f20;
  iStack_1e4 = **(int **)(pcVar23 + 0x5cf6c);
  pwStack_1e0 = pwVar16;
  pwStack_1dc = pwVar18;
  puStack_1d8 = puVar21;
  pwStack_1d4 = unaff_s3;
  pwStack_1d0 = unaff_s4;
  pwStack_1cc = unaff_s5;
  pwStack_1c8 = unaff_s6;
  pwStack_1c4 = unaff_s7;
  ppbStack_1c0 = unaff_s8;
  pcStack_1bc = pcVar25;
  if (pwVar14 != (word *)0x0) goto LAB_000fb968;
  if (*(int *)(*(int *)(pcVar23 + 0x5af4c) + -0x3fd4) != 0) {
    (**(code **)(pcVar23 + 0x5cc9c))();
    *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) = 0;
  }
  if (*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) != 0) {
    (**(code **)(pcStack_230 + -0x5f94))();
  }
  if (*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) != 0) {
    (**(code **)(pcStack_230 + -0x5f94))();
  }
  if (*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) != 0) {
    (**(code **)(pcStack_230 + -0x5f94))();
  }
  iVar5 = (**(code **)(pcStack_230 + -0x60fc))(pcVar19);
  uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);
  uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,pcVar19);
  *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) = uVar7;
  if (*pcVar19 == '\0') {
    pcVar19 = (char *)(*(int *)(pcStack_230 + -0x7f90) + -0x5e18);
  }
  iVar5 = (**(code **)(pcStack_230 + -0x60fc))(pcVar19);
  uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);
  puVar8 = (undefined1 *)(**(code **)(pcStack_230 + -0x6074))(uVar7,pcVar19);
  *(undefined1 **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) = puVar8;
  unaff_s4 = (word *)(**(code **)(pcStack_230 + -0x61d4))(puVar8,0x2f);
  if (unaff_s4 == (word *)0x0) {
    *puVar8 = 0x2e;
    *(undefined1 *)(*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) + 1) = 0;
  }
  else {
    (**(code **)(pcStack_230 + -0x6074))
              (*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc),
               (byte *)((int)unaff_s4 + 1));
    *(byte *)((int)unaff_s4 + 1) = 0;
  }
  if (**(int **)(pcStack_230 + -0x6f38) == 0) {
LAB_000fb830:
    iVar13 = *(int *)(pcStack_230 + -0x7fd4);
    iVar5 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(iVar13 + -0x3fd8));
    uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);
    uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(iVar13 + -0x3fd8));
    *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = uVar7;
  }
  else {
    if ((code *)**(undefined4 **)(pcStack_230 + -0x6de4) == (code *)0x0) goto LAB_000fb830;
    uVar7 = (*(code *)**(undefined4 **)(pcStack_230 + -0x6de4))
                      (*(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8),
                       **(undefined4 **)(pcStack_230 + -0x6f34));
    *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = uVar7;
  }
  bVar3 = **(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) == '~';
  if (bVar3) {
    uVar7 = (**(code **)(pcStack_230 + -0x7a34))();
    iVar5 = *(int *)(pcStack_230 + -0x7fd4);
    (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fd8));
    *(undefined4 *)(iVar5 + -0x3fd8) = uVar7;
  }
  unaff_s3 = (word *)(uint)bVar3;
  if ((code *)**(undefined4 **)(pcStack_230 + -0x6f40) == (code *)0x0) {
    if ((code *)**(undefined4 **)(pcStack_230 + -0x6f3c) != (code *)0x0) {
      iVar5 = (*(code *)**(undefined4 **)(pcStack_230 + -0x6f3c))
                        (*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);
      iVar13 = *(int *)(pcStack_230 + -0x7fd4);
      if (iVar5 != 0) {
        (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar13 + -0x3fe0));
        unaff_s3 = *(word **)(pcStack_230 + -0x7fd4);
        iVar5 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1fec));
        uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);
        uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1fec));
        *(undefined4 *)(iVar13 + -0x3fe0) = uVar7;
        goto LAB_000fb8b4;
      }
    }
    iVar5 = *(int *)(pcStack_230 + -0x7fd4);
    if ((unaff_s3 == (word *)0x0) &&
       (iVar5 = *(int *)(pcStack_230 + -0x7fd4), **(int **)(pcStack_230 + -0x6f38) != 0)) {
      iVar5 = *(int *)(pcStack_230 + -0x7fd4);
      if (**(int **)(pcStack_230 + -0x6de4) != 0) {
        (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fd8));
        unaff_s3 = *(word **)(pcStack_230 + -0x7fd4);
        iVar13 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(unaff_s3 + -0x1ff0));
        uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar13 + 1);
        uVar7 = (**(code **)(pcStack_230 + -0x6074))(uVar7,*(undefined4 *)(unaff_s3 + -0x1ff0));
        *(undefined4 *)(iVar5 + -0x3fd8) = uVar7;
      }
      goto LAB_000fb8b4;
    }
  }
  else {
    (*(code *)**(undefined4 **)(pcStack_230 + -0x6f40))(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);
LAB_000fb8b4:
    iVar5 = *(int *)(pcStack_230 + -0x7fd4);
  }
  uVar7 = (**(code **)(pcStack_230 + -0x6288))(*(undefined4 *)(iVar5 + -0x3fd8));
  *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) = uVar7;
  iVar5 = *(int *)(pcStack_230 + -0x7fd4);
  if ((**(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) != '\0') &&
     (iVar5 = *(int *)(pcStack_230 + -0x7fd4), **(int **)(pcStack_230 + -0x6f38) != 0)) {
    if ((code *)**(undefined4 **)(pcStack_230 + -0x6de4) != (code *)0x0) {
      unaff_s3 = (word *)(*(code *)**(undefined4 **)(pcStack_230 + -0x6de4))
                                   (*(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc),
                                    **(undefined4 **)(pcStack_230 + -0x6f34));
      iVar5 = *(int *)(pcStack_230 + -0x7fd4);
      (**(code **)(pcStack_230 + -0x798c))(*(undefined4 *)(iVar5 + -0x3fdc));
      *(word **)(iVar5 + -0x3fdc) = unaff_s3;
    }
    iVar5 = *(int *)(pcStack_230 + -0x7fd4);
  }
  uVar7 = (**(code **)(pcStack_230 + -0x60fc))(*(undefined4 *)(iVar5 + -0x3fdc));
  *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe4) = uVar7;
  **(undefined4 **)(pcStack_230 + -0x6f0c) = 1;
LAB_000fb968:
  iVar5 = 0;
  iStack_224 = *(int *)(pcStack_230 + -0x7fd4);
  puStack_220 = *(undefined4 **)(pcStack_230 + -0x6df0);
  iStack_21c = *(int *)(pcStack_230 + -0x7fd4);
  iStack_218 = *(int *)(pcStack_230 + -0x7fd4);
  piStack_20c = *(int **)(pcStack_230 + -0x65bc);
  pcVar23 = pcStack_230;
LAB_000fbb0c:
  iVar13 = *(int *)(iStack_224 + -0x3fd4);
LAB_000fbb10:
  if (iVar13 == 0) {
    if (iVar5 != 0) goto LAB_000fbbb0;
    iVar5 = *(int *)(*(int *)(pcVar23 + -0x7fd4) + -0x3fd8);
LAB_000fc3a0:
    if (iVar5 != 0) {
      (**(code **)(pcVar23 + -0x798c))();
      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8) = 0;
      pcVar23 = pcStack_230;
    }
    if (*(int *)(*(int *)(pcVar23 + -0x7fd4) + -0x3fdc) != 0) {
      (**(code **)(pcVar23 + -0x798c))();
      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fdc) = 0;
      pcVar23 = pcStack_230;
    }
    pwVar14 = *(word **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0);
    if (pwVar14 != (word *)0x0) {
      (**(code **)(pcVar23 + -0x798c))(pwVar14);
      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fe0) = 0;
      pwVar14 = (word *)0x0;
      pcVar23 = pcStack_230;
    }
    goto LAB_000fbca4;
  }
  iVar5 = (**(code **)(pcVar23 + -0x6214))();
  if (iVar5 == 0) {
    if (*(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) != 0) {
      (**(code **)(pcStack_230 + -0x6284))();
      *(undefined4 *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd4) = 0;
    }
    iVar5 = *(int *)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);
    pcVar23 = pcStack_230;
    goto LAB_000fc3a0;
  }
  pwVar18 = (word *)(iVar5 + 0x13);
  unaff_s4 = (word *)(**(code **)(pcStack_230 + -0x60fc))(pwVar18);
  pwVar16 = pwVar18;
  if (((code *)*puStack_220 != (code *)0x0) &&
     (pwVar16 = (word *)(*(code *)*puStack_220)(pwVar18,unaff_s4), pwVar18 != pwVar16)) {
    unaff_s4 = (word *)(**(code **)(pcStack_230 + -0x60fc))(pwVar16);
  }
  unaff_s3 = *(word **)(iStack_21c + -0x3fe4);
  pcVar23 = pcStack_230;
  if (unaff_s3 == (word *)0x0) {
    if (**(int **)(pcStack_230 + -0x65ac) == 0) {
      if (*(byte *)pwVar16 != 0x2e) goto LAB_000fbbb0;
    }
    else {
      iVar13 = *(int *)(pcStack_230 + -0x7fd4);
      if ((*(byte *)pwVar16 != 0x2e) ||
         (((byte)*pwVar16 != 0 &&
          ((iVar13 = *(int *)(pcStack_230 + -0x7fd4), (byte)*pwVar16 != 0x2e ||
           (iVar13 = *(int *)(pcStack_230 + -0x7fd4), *(byte *)(pwVar16 + 1) != 0))))))
      goto LAB_000fbbb4;
    }
    goto LAB_000fbb0c;
  }
  pbStack_228 = *(byte **)(iStack_218 + -0x3fdc);
  pbStack_1f4 = (byte *)0x0;
  uStack_1f0 = 0;
  uStack_1ec = 0;
  uStack_1e8 = 0;
  if ((int)unaff_s4 < (int)unaff_s3) goto LAB_000fbb0c;
  if (*piStack_20c != 0) {
    if (**(int **)(pcStack_230 + -0x65a4) == 0) {
      uVar4 = (**(code **)(pcStack_230 + -0x6060))();
      if ((1 < uVar4) && (unaff_s8 = &pbStack_1f4, **(int **)(pcStack_230 + -0x6728) == 0)) {
        unaff_s7 = (word *)&iStack_1fc;
        unaff_s6 = (word *)&uStack_1ec;
        unaff_s5 = (word *)&iStack_1f8;
        pwStack_214 = pwVar16;
        pwStack_208 = unaff_s3;
        goto LAB_000fc0a8;
      }
      unaff_s5 = (word *)(int)(char)*(byte *)pwVar16;
      pbVar24 = (byte *)(uint)*(byte *)pwVar16;
      if (((word *)pbVar24 == unaff_s5) &&
         (piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))(),
         (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0)) {
        piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();
        unaff_s5 = *(word **)(*piVar9 + (int)pbVar24 * 4);
      }
      unaff_s6 = (word *)(int)(char)*pbStack_228;
      unaff_s4 = (word *)(uint)*pbStack_228;
      if (unaff_s4 == unaff_s6) {
        piVar9 = (int *)(**(code **)(pcStack_230 + -0x6290))();
        if ((*(ushort *)(*piVar9 + (int)unaff_s4 * 2) & 1) != 0) {
          piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();
          unaff_s4 = (word *)(*piVar9 + (int)unaff_s4 * 4);
          unaff_s6 = *(word **)unaff_s4;
        }
      }
      pwVar15 = unaff_s3;
      pcVar23 = pcStack_230;
      if (unaff_s5 == unaff_s6) {
        iVar13 = (**(code **)(pcStack_230 + -0x6188))(pbStack_228,pwVar16);
        goto LAB_000fc280;
      }
    }
    else {
      uVar4 = (**(code **)(pcStack_230 + -0x6060))();
      if ((1 < uVar4) && (unaff_s6 = (word *)&uStack_1ec, **(int **)(pcStack_230 + -0x6728) == 0)) {
        unaff_s8 = &pbStack_1f4;
        unaff_s7 = (word *)&iStack_1fc;
        unaff_s5 = (word *)&iStack_1f8;
        pwStack_214 = pwVar16;
        pwStack_208 = unaff_s3;
        do {
          pwStack_210 = (word *)(**(code **)(pcStack_230 + -0x6084))
                                          (unaff_s7,pwStack_214,unaff_s4,unaff_s8);
          pwVar15 = unaff_s3;
          iVar13 = (**(code **)(pcStack_230 + -0x6084))(unaff_s5,pbStack_228,unaff_s3,unaff_s6);
          pcVar23 = pcStack_230;
          if (pwStack_210 == (word *)0x0) {
            if (iVar13 == 0) goto LAB_000fbbb0;
LAB_000fbe6c:
            if (iVar13 + 2U < 2) goto LAB_000fbdb4;
            iStack_204 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc);
            iStack_1fc = iStack_204;
            iStack_1f8 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8);
            pwStack_214 = (word *)((int)pwStack_214 + (int)pwStack_210);
            pbStack_228 = pbStack_228 + (int)pwStack_210;
            pwStack_208 = (word *)((int)pwStack_208 - (int)pwStack_210);
            if ((((iStack_204 != 0x2d) && (iStack_204 != 0x5f)) ||
                ((iStack_1f8 != 0x2d && (iStack_1f8 != 0x5f)))) && (iStack_204 != iStack_1f8))
            goto code_r0x000fbef4;
          }
          else {
            if ((word *)0x1 < pwStack_210 + 1) goto LAB_000fbe6c;
LAB_000fbdb4:
            bVar2 = *(byte *)pwStack_214;
            if (((bVar2 != *pbStack_228) || (bVar2 == 0x2d)) ||
               ((bVar2 == 0x5f && (*pbStack_228 == 0x5f)))) goto LAB_000fbb0c;
            pwStack_214 = (word *)((int)pwStack_214 + 1);
            pbStack_228 = pbStack_228 + 1;
            pwStack_208 = (word *)((int)pwStack_208 + -1);
          }
          iVar13 = *(int *)(pcStack_230 + -0x7fd4);
          pcVar23 = pcStack_230;
          if (pwStack_208 == (word *)0x0) goto LAB_000fbbb4;
        } while( true );
      }
      unaff_s7 = (word *)&DAT_0000002d;
      unaff_s8 = (byte **)0x5f;
      pwStack_208 = (word *)((int)pwVar16 + (int)unaff_s3);
      unaff_s4 = pwVar16;
      pcVar23 = pcStack_230;
      while( true ) {
        unaff_s3 = (word *)(int)(char)*(byte *)unaff_s4;
        pbVar24 = (byte *)(uint)*(byte *)unaff_s4;
        pwStack_214 = unaff_s3;
        if (((word *)pbVar24 == unaff_s3) &&
           (piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))(), pcVar23 = pcStack_230,
           (*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 1) != 0)) {
          piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();
          pwStack_214 = *(word **)(*piVar9 + (int)pbVar24 * 4);
          pcVar23 = pcStack_230;
        }
        unaff_s5 = (word *)(int)(char)*pbStack_228;
        unaff_s6 = (word *)(uint)*pbStack_228;
        pwStack_210 = unaff_s5;
        if (unaff_s6 == unaff_s5) {
          piVar9 = (int *)(**(code **)(pcVar23 + -0x6290))();
          pcVar23 = pcStack_230;
          if ((*(ushort *)(*piVar9 + (int)unaff_s6 * 2) & 1) != 0) {
            piVar9 = (int *)(**(code **)(pcStack_230 + -0x628c))();
            unaff_s6 = (word *)(*piVar9 + (int)unaff_s6 * 4);
            pwStack_210 = *(word **)unaff_s6;
            pcVar23 = pcStack_230;
          }
        }
        if ((((unaff_s3 != (word *)&DAT_0000002d) && (unaff_s3 != (word *)0x5f)) ||
            ((unaff_s5 != (word *)&DAT_0000002d && (unaff_s5 != (word *)0x5f)))) &&
           (pwStack_214 != pwStack_210)) break;
        unaff_s4 = (word *)((int)unaff_s4 + 1);
        pbStack_228 = pbStack_228 + 1;
        iVar13 = *(int *)(pcVar23 + -0x7fd4);
        if (unaff_s4 == pwStack_208) goto LAB_000fbbb4;
      }
    }
    goto LAB_000fbb0c;
  }
  if (*(byte *)pwVar16 != *pbStack_228) goto LAB_000fbb0c;
  pwVar15 = unaff_s3;
  iVar13 = (**(code **)(pcStack_230 + -0x6238))(pbStack_228,pwVar16);
LAB_000fc280:
  pcVar23 = pcStack_230;
  if (iVar13 != 0) goto LAB_000fbb0c;
  pcVar19 = *(char **)(*(int *)(pcStack_230 + -0x7fd4) + -0x3fd8);
  goto LAB_000fbbb8;
LAB_000fc0a8:
  pwStack_210 = (word *)(**(code **)(pcStack_230 + -0x6084))(unaff_s7,pwStack_214,unaff_s4,unaff_s8)
  ;
  pwVar15 = unaff_s3;
  iVar13 = (**(code **)(pcStack_230 + -0x6084))(unaff_s5,pbStack_228,unaff_s3,unaff_s6);
  pcVar23 = pcStack_230;
  if (pwStack_210 == (word *)0x0) {
    if (iVar13 == 0) goto LAB_000fbbb0;
LAB_000fc100:
    if (iVar13 + 2U < 2) goto LAB_000fc060;
    iStack_204 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1fc);
    iStack_1fc = iStack_204;
    iStack_1f8 = (**(code **)(pcStack_230 + -0x5fc8))(iStack_1f8);
    pcVar23 = pcStack_230;
    if (iStack_204 != iStack_1f8) goto LAB_000fbb0c;
    pwStack_214 = (word *)((int)pwStack_214 + (int)pwStack_210);
    pbStack_228 = pbStack_228 + (int)pwStack_210;
    pwStack_208 = (word *)((int)pwStack_208 - (int)pwStack_210);
  }
  else {
    if ((word *)0x1 < pwStack_210 + 1) goto LAB_000fc100;
LAB_000fc060:
    if (*(byte *)pwStack_214 != *pbStack_228) goto LAB_000fbb0c;
    pwStack_214 = (word *)((int)pwStack_214 + 1);
    pbStack_228 = pbStack_228 + 1;
    pwStack_208 = (word *)((int)pwStack_208 + -1);
  }
  iVar13 = *(int *)(pcStack_230 + -0x7fd4);
  pcVar23 = pcStack_230;
  if (pwStack_208 == (word *)0x0) goto LAB_000fbbb4;
  goto LAB_000fc0a8;
code_r0x000fbef4:
  iVar13 = *(int *)(iStack_224 + -0x3fd4);
  pcVar23 = pcStack_230;
  goto LAB_000fbb10;
LAB_000fbbb0:
  iVar13 = *(int *)(pcVar23 + -0x7fd4);
LAB_000fbbb4:
  pcVar19 = *(char **)(iVar13 + -0x3fd8);
LAB_000fbbb8:
  if ((pcVar19 == (char *)0x0) ||
     ((piVar9 = *(int **)(pcVar23 + -0x65a8), *pcVar19 == '.' &&
      (piVar9 = *(int **)(pcVar23 + -0x65a8), pcVar19[1] == '\0')))) {
    iVar5 = (**(code **)(pcVar23 + -0x60fc))(pwVar16);
    uVar7 = (**(code **)(pcStack_230 + -0x7f88))(iVar5 + 1);
    pwVar14 = (word *)(**(code **)(pcStack_230 + -0x6074))(uVar7,pwVar16);
  }
  else {
    if ((*piVar9 == 0) || (**(char **)(*(int *)(pcVar23 + -0x7fd4) + -0x3fe0) != '~')) {
      iVar13 = *(int *)(pcVar23 + -0x7fd4);
      unaff_s3 = (word *)(**(code **)(pcVar23 + -0x60fc))(*(undefined4 *)(iVar13 + -0x3fe0));
      iVar5 = (**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13);
      pwVar14 = (word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2));
      iVar5 = *(int *)(iVar13 + -0x3fe0);
      (**(code **)(pcStack_230 + -0x6074))(pwVar14,iVar5);
      unaff_s4 = (word *)((int)unaff_s3 + iVar5);
      unaff_s5 = unaff_s3;
      if (*(byte *)((int)unaff_s4 + -1) != 0x2f) {
        unaff_s5 = (word *)((int)unaff_s3 + 1);
        unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);
        *(byte *)unaff_s3 = 0x2f;
      }
    }
    else {
      unaff_s3 = (word *)(**(code **)(pcVar23 + -0x60fc))();
      iVar5 = (**(code **)(pcStack_230 + -0x60fc))(iVar5 + 0x13);
      pwVar14 = (word *)(**(code **)(pcStack_230 + -0x7f88))((byte *)((int)unaff_s3 + iVar5 + 2));
      unaff_s4 = *(word **)(pcStack_230 + -0x7fd4);
      (**(code **)(pcStack_230 + -0x6074))(pwVar14,*(undefined4 *)(unaff_s4 + -0x1fec));
      unaff_s5 = unaff_s3;
      if (*(byte *)((int)unaff_s3 + *(int *)(unaff_s4 + -0x1fec) + -1) != 0x2f) {
        unaff_s5 = (word *)((int)unaff_s3 + 1);
        unaff_s3 = (word *)((int)pwVar14 + (int)unaff_s3);
        *(byte *)unaff_s3 = 0x2f;
        *(byte *)((int)pwVar14 + (int)unaff_s5) = 0;
      }
    }
    (**(code **)(pcStack_230 + -0x6074))((byte *)((int)pwVar14 + (int)unaff_s5),pwVar16);
  }
  pcVar23 = pcStack_230;
  if (pwVar18 != pwVar16) {
    (**(code **)(pcStack_230 + -0x798c))(pwVar16);
    pcVar23 = pcStack_230;
  }
LAB_000fbca4:
  if (iStack_1e4 == **(int **)(pcVar23 + -0x5fb4)) {
    return pwVar14;
  }
  pcVar23 = *(code **)(pcVar23 + -0x6004);
  pcVar25 = FUN_000fc42c;
  iVar5 = iStack_1e4;
  (*pcVar23)();
  pcStack_280 = pcVar23 + 0x62114;
  aiStack_278[3] = **(int **)(pcVar23 + 0x5c160);
  pwStack_268 = pwVar16;
  pwStack_264 = pwVar18;
  pwStack_260 = pwVar14;
  pwStack_25c = unaff_s3;
  pwStack_258 = unaff_s4;
  pwStack_254 = unaff_s5;
  pwStack_250 = unaff_s6;
  pwStack_24c = unaff_s7;
  ppbStack_248 = unaff_s8;
  pcStack_244 = pcVar25;
  iVar10 = (**(code **)(pcVar23 + 0x5c018))();
  aiStack_278[1] = 0;
  aiStack_278[2] = 0;
  pwVar16 = (word *)0x0;
  iVar13 = 0;
  pcVar23 = pcStack_280;
  while( true ) {
    pwVar14 = (word *)(iVar5 + iVar13);
    bVar2 = *(byte *)pwVar14;
    iVar17 = iVar13;
    if (bVar2 == 0) break;
    if ((bVar2 < 0x20) || (bVar2 == 0x7f)) {
      pwVar16 = pwVar16 + 1;
      iVar13 = iVar13 + 1;
    }
    else {
      pwVar15 = (word *)((iVar10 + 1) - iVar13);
      iVar11 = (**(code **)(pcVar23 + -0x6084))(aiStack_278,pwVar14,pwVar15,aiStack_278 + 1);
      pcVar23 = pcStack_280;
      if (iVar11 + 2U < 2) {
        pwVar16 = (word *)((int)pwVar16 + 1);
        iVar13 = iVar13 + 1;
        aiStack_278[1] = 0;
        aiStack_278[2] = 0;
      }
      else {
        iVar17 = iVar13 + iVar11;
        if (iVar11 == 0) break;
        if (aiStack_278[0] < 0x40) {
          iVar13 = 1;
          if (aiStack_278[0] < 0x25) {
            if (3 < aiStack_278[0] - 0x20U) {
              pcVar23 = *(code **)(pcStack_280 + -0x5f84);
              goto LAB_000fc594;
            }
            iVar13 = 1;
          }
        }
        else {
          pcVar23 = *(code **)(pcStack_280 + -0x5f84);
          if (aiStack_278[0] < 0x41) {
LAB_000fc594:
            iVar13 = (*pcVar23)();
          }
          else {
            iVar13 = 1;
            if (0x5f < aiStack_278[0]) {
              if (0x1d < aiStack_278[0] - 0x61U) goto LAB_000fc594;
              iVar13 = 1;
            }
          }
        }
        if (iVar13 < 0) {
          iVar13 = 1;
        }
        pwVar16 = (word *)((int)pwVar16 + iVar13);
        iVar13 = iVar17;
        pcVar23 = pcStack_280;
      }
    }
  }
  if (aiStack_278[3] == **(int **)(pcVar23 + -0x5fb4)) {
    return pwVar16;
  }
  pcVar23 = *(code **)(pcVar23 + -0x6004);
  pcVar25 = FUN_000fc5fc;
  iVar11 = aiStack_278[3];
  (*pcVar23)();
  pcStack_2e0 = pcVar23 + 0x61f44;
  uStack_2a4 = 1;
  uStack_2a8 = 0x7f;
  pbStack_2bc = (byte *)**(undefined4 **)(pcVar23 + 0x5bf90);
  pwVar18 = pwVar14;
  pwStack_2cc = pwVar15;
  iStack_2b8 = iVar17;
  pwStack_2b4 = pwVar16;
  iStack_2b0 = iVar13;
  iStack_2ac = iVar5;
  piStack_2a0 = aiStack_278 + 1;
  piStack_29c = aiStack_278;
  iStack_298 = iVar10 + 1;
  pcStack_294 = pcVar25;
  iVar5 = (**(code **)(pcVar23 + 0x5be48))();
  iStack_2d4 = iVar11 + iVar5 + 1;
  aiStack_2c8[1] = 0;
  aiStack_2c8[2] = 0;
  if ((**(int **)(pcStack_2e0 + -0x65a0) < 1) || ((int)pwVar14 < iVar5)) {
    if (**(int **)(pcStack_2e0 + -0x67a8) == 0) goto LAB_000fc714;
    if ((pwVar14 == (word *)0x0) || (**(int **)(pcStack_2e0 + -0x67a4) < 1)) goto LAB_000fc6f0;
    if (0 < **(int **)(pcStack_2e0 + -0x65a0)) goto LAB_000fc750;
    pcVar23 = *(code **)(pcStack_2e0 + -0x659c);
    pwVar6 = pwVar14;
LAB_000fc6c0:
    (*pcVar23)();
    (**(code **)(pcStack_2e0 + -0x6598))();
    pwVar20 = (word *)0x0;
    pwVar14 = (word *)0x0;
  }
  else if (**(int **)(pcStack_2e0 + -0x67a8) == 0) {
    pwVar14 = (word *)0x0;
    pwVar20 = (word *)0x0;
    pwVar6 = (word *)0x0;
  }
  else {
    pwVar14 = (word *)0x0;
LAB_000fc6f0:
    (**(code **)(pcStack_2e0 + -0x659c))();
    (**(code **)(pcStack_2e0 + -0x6594))(pwStack_2cc);
LAB_000fc714:
    pwVar6 = pwVar14;
    if (pwVar14 == (word *)0x0) {
      pwVar20 = (word *)0x0;
    }
    else if (**(int **)(pcStack_2e0 + -0x65a0) < 1) {
      pcVar23 = *(code **)(pcStack_2e0 + -0x659c);
      if (0 < **(int **)(pcStack_2e0 + -0x67a4)) goto LAB_000fc6c0;
      pwVar6 = (word *)0x0;
      pwVar20 = (word *)0x0;
    }
    else {
LAB_000fc750:
      pwVar16 = (word *)0x2e;
      if (*(byte *)((int)pwVar14 + iVar11) == 0x2e) {
        pwVar16 = (word *)0x5f;
      }
      puVar21 = *(undefined4 **)(pcStack_2e0 + -0x6ef0);
      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);
      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16,*puVar21);
      pwVar18 = (word *)*puVar21;
      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16);
      pwVar20 = (word *)0x3;
      pwVar6 = (word *)0x0;
    }
  }
  pwVar14 = (word *)((int)pwVar14 + iVar11);
  puVar21 = *(undefined4 **)(pcStack_2e0 + -0x6ef0);
  iStack_2d0 = *(int *)(pcStack_2e0 + -26000) + 0xb8;
  while (bVar2 = *(byte *)pwVar14, bVar2 != 0) {
    if (bVar2 < 0x20) {
      (**(code **)(pcStack_2e0 + -0x61f0))(0x5e,*puVar21);
      pwVar16 = (word *)((int)(char)*(byte *)pwVar14 | 0x40);
      pbVar24 = (byte *)(*(byte *)pwVar14 | 0x40);
      if ((word *)pbVar24 == pwVar16) {
        piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x6290))();
        if ((*(ushort *)(*piVar9 + (int)pbVar24 * 2) & 2) != 0) {
          piVar9 = (int *)(**(code **)(pcStack_2e0 + -0x5f10))();
          pwVar16 = *(word **)(*piVar9 + (int)pbVar24 * 4);
        }
      }
      pwVar18 = (word *)*puVar21;
      (**(code **)(pcStack_2e0 + -0x61f0))(pwVar16);
      pwVar20 = pwVar20 + 1;
      pwVar14 = (word *)((int)pwVar14 + 1);
      aiStack_2c8[1] = 0;
      aiStack_2c8[2] = 0;
    }
    else if (bVar2 == 0x7f) {
      (**(code **)(pcStack_2e0 + -0x61f0))(0x5e,*puVar21);
      pwVar18 = (word *)*puVar21;
      (**(code **)(pcStack_2e0 + -0x61f0))(0x3f);
      pwVar20 = pwVar20 + 1;
      pwVar14 = (word *)((int)pwVar14 + 1);
      aiStack_2c8[1] = 0;
      aiStack_2c8[2] = 0;
    }
    else {
      pwVar15 = (word *)(iStack_2d4 - (int)pwVar14);
      pwVar18 = pwVar14;
      pwVar16 = (word *)(**(code **)(pcStack_2e0 + -0x6084))(aiStack_2c8,pwVar14,pwVar15);
      iVar5 = 1;
      if (pwVar16 + 1 < (word *)0x2) {
        aiStack_2c8[1] = 0;
        aiStack_2c8[2] = 0;
        pwVar16 = (word *)0x1;
      }
      else {
        if (pwVar16 == (word *)0x0) break;
        if (aiStack_2c8[0] < 0x40) {
          if (aiStack_2c8[0] < 0x25) {
            pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);
            if (3 < aiStack_2c8[0] - 0x20U) goto LAB_000fc9c0;
          }
          else {
            iVar5 = 1;
          }
        }
        else if (aiStack_2c8[0] < 0x41) {
          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);
LAB_000fc9c0:
          iVar5 = (*pcVar23)();
        }
        else if (aiStack_2c8[0] < 0x60) {
          iVar5 = 1;
        }
        else {
          pcVar23 = *(code **)(pcStack_2e0 + -0x5f84);
          if (0x1d < aiStack_2c8[0] - 0x61U) goto LAB_000fc9c0;
          iVar5 = 1;
        }
        if (iVar5 < 0) {
          iVar5 = 1;
        }
      }
      pwVar18 = (word *)0x1;
      pwVar15 = pwVar16;
      (**(code **)(pcStack_2e0 + -0x6054))(pwVar14,1,pwVar16,*puVar21);
      pwVar14 = (word *)((int)pwVar14 + (int)pwVar16);
      pwVar20 = (word *)((int)pwVar20 + iVar5);
    }
    if ((0 < (int)pwVar6) && ((int)pwVar6 <= (int)pwVar14 - iVar11)) {
      (**(code **)(pcStack_2e0 + -0x658c))();
      (**(code **)(pcStack_2e0 + -0x6588))(iStack_2d0);
      pwVar6 = (word *)**(undefined4 **)(pcStack_2e0 + -0x67a8);
      if (pwVar6 != (word *)0x0) {
        (**(code **)(pcStack_2e0 + -0x659c))();
        (**(code **)(pcStack_2e0 + -0x6594))(pwStack_2cc);
        pwVar6 = (word *)0x0;
      }
    }
  }
  if (**(int **)(pcStack_2e0 + -0x67a8) != 0) {
    (**(code **)(pcStack_2e0 + -0x658c))();
    (**(code **)(pcStack_2e0 + -0x6588))(*(int *)(pcStack_2e0 + -26000) + 0xb8);
  }
  if (pbStack_2bc == (byte *)**(undefined4 **)(pcStack_2e0 + -0x5fb4)) {
    return pwVar20;
  }
  pcVar23 = *(code **)(pcStack_2e0 + -0x6004);
  pcVar25 = FUN_000fcae4;
  pbVar24 = pbStack_2bc;
  (*pcVar23)();
  iStack_314 = **(int **)(pcVar23 + 0x5baa8);
  pwStack_310 = pwVar14;
  pwStack_30c = pwVar16;
  pwStack_308 = pwVar20;
  pwStack_304 = pwVar6;
  piStack_300 = aiStack_2c8 + 1;
  puStack_2fc = puVar21;
  iStack_2f8 = iVar11;
  pcStack_2f4 = pcVar25;
  if ((**(int **)(pcVar23 + 0x5b2b4) == 0) ||
     (piVar9 = *(int **)(pcVar23 + 0x5b4d8), **(int **)(pcVar23 + 0x5ab50) == 0)) {
    pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,pbVar24);
    piVar9 = *(int **)(pcVar23 + 0x5b4d8);
    if (**(int **)(pcVar23 + 0x5ab50) == 0) goto LAB_000fcb84;
  }
  if ((*piVar9 == 0 && **(int **)(pcVar23 + 0x5b2b4) == 0) && **(int **)(pcVar23 + 0x5b49c) == 0)
  goto LAB_000fcb84;
  if ((word *)pbVar24 == pwVar18) {
    iStack_31c = (**(code **)(pcVar23 + 0x5a028))(pwVar18);
    if (**(int **)(pcVar23 + 0x5b4d8) != 0) {
      iVar5 = FUN_000f9fd0(iStack_31c);
      if (**(int **)(pcVar23 + 0x5b2b4) != 0) goto LAB_000fcf40;
      goto LAB_000fcddc;
    }
    if (**(int **)(pcVar23 + 0x5b49c) == 0) {
      piVar9 = *(int **)(pcVar23 + 0x5b2b4);
LAB_000fcef0:
      iVar5 = 0;
      if (*piVar9 == 0) {
        (**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);
        goto LAB_000fcb84;
      }
LAB_000fcf40:
      pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,iStack_31c);
      goto LAB_000fcddc;
    }
    iVar5 = FUN_000fa188(iStack_31c);
    piVar9 = *(int **)(pcVar23 + 0x5b2b4);
    if (iVar5 == 0) goto LAB_000fcef0;
    if (*piVar9 != 0) {
      iVar5 = 0x2f;
      goto LAB_000fcf40;
    }
    (**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);
    iVar5 = 0x2f;
  }
  else {
    bVar2 = pbVar24[-1];
    pbVar24[-1] = 0;
    if ((pwVar18 == (word *)0x0) || (*(byte *)pwVar18 == 0)) {
      pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);
    }
    else {
      pwStack_318 = pwVar18;
      if (*(byte *)pwVar18 == 0x2f) {
        if ((byte)*pwVar18 == 0) {
          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59acc) + -0x794);
        }
        else if (((byte)*pwVar18 == 0x2f) && (*(byte *)(pwVar18 + 1) == 0)) {
          pwStack_318 = (word *)(*(int *)(pcVar23 + 0x59b70) + -0x5e9c);
        }
      }
    }
    iStack_31c = (**(code **)(pcVar23 + 0x5a028))(pwStack_318);
    if ((code *)**(undefined4 **)(pcVar23 + 0x5ab20) != (code *)0x0) {
      (*(code *)**(undefined4 **)(pcVar23 + 0x5ab20))(&iStack_31c);
    }
    iVar5 = (**(code **)(pcVar23 + 0x5b960))(iStack_31c);
    iVar13 = (**(code **)(pcVar23 + 0x5b960))(pbVar24);
    pwVar16 = (word *)(**(code **)(pcVar23 + 0x59ad4))(iVar13 + iVar5 + 2);
    (**(code **)(pcVar23 + 0x5b9e8))(pwVar16,iStack_31c);
    if (*(char *)(iStack_31c + iVar5 + -1) == '/') {
      iVar5 = iVar5 + -1;
    }
    else {
      *(byte *)((int)pwVar16 + iVar5) = 0x2f;
    }
    (**(code **)(pcVar23 + 0x5b9e8))((byte *)((int)pwVar16 + iVar5 + 1),pbVar24);
    if (**(int **)(pcVar23 + 0x5b4d8) == 0) {
      iVar5 = **(int **)(pcVar23 + 0x5b49c);
      piVar9 = *(int **)(pcVar23 + 0x5b2b4);
      if (iVar5 != 0) {
        pwStack_318 = (word *)0x0;
        if ((**(int **)(pcVar23 + 0x5ab20) == 0) && (**(int **)(pcVar23 + 0x5ac70) != 0)) {
          iVar5 = (**(code **)(pcVar23 + 0x5b960))(pwVar16);
          uVar7 = (**(code **)(pcVar23 + 0x59ad4))(iVar5 + 1);
          pwStack_318 = (word *)(**(code **)(pcVar23 + 0x5b9e8))(uVar7,pwVar16);
          (*(code *)**(undefined4 **)(pcVar23 + 0x5ac70))(&pwStack_318);
          (**(code **)(pcVar23 + 0x5a0d0))(pwVar16);
          pwVar16 = pwStack_318;
        }
        iVar5 = FUN_000fa188(pwVar16);
        if (iVar5 != 0) {
          iVar5 = 0x2f;
        }
        goto LAB_000fcdb0;
      }
    }
    else {
      iVar5 = FUN_000f9fd0(pwVar16);
LAB_000fcdb0:
      piVar9 = *(int **)(pcVar23 + 0x5b2b4);
    }
    if (*piVar9 != 0) {
      pwVar6 = (word *)FUN_000fc5fc(pbVar24,pwVar15,pwVar16);
    }
    (**(code **)(pcVar23 + 0x5a0d0))(pwVar16);
    pbVar24[-1] = bVar2;
LAB_000fcddc:
    (**(code **)(pcVar23 + 0x5a0d0))(iStack_31c);
    if (iVar5 == 0) goto LAB_000fcb84;
  }
  (**(code **)(pcVar23 + 0x5b86c))(iVar5,**(undefined4 **)(pcVar23 + 0x5ab6c));
  pwVar6 = (word *)((int)pwVar6 + 1);
LAB_000fcb84:
  if (iStack_314 == **(int **)(pcVar23 + 0x5baa8)) {
    return pwVar6;
  }
  pcVar23 = *(code **)(pcVar23 + 0x5ba58);
  (*pcVar23)();
  if ((**(int **)(pcVar23 + 0x5a67c) == iStack_314) &&
     (*(int *)(*(int *)(pcVar23 + 0x595b0) + -0x3fb8) == 0)) {
    return (word *)0x3f;
  }
  if (**(int **)(pcVar23 + 0x5b004) == 0) {
    pwVar16 = (word *)&DAT_00000009;
    if (**(int **)(pcVar23 + 0x5b008) != 0) {
      pwVar16 = (word *)0x40;
    }
    return pwVar16;
  }
  return (word *)&DAT_00000021;
}

