
char * mbschr(char *s,int c)

{
  byte bVar1;
  mbstate_t *pmVar2;
  int iVar3;
  int *piVar4;
  mbstate_t *pmVar5;
  int iVar6;
  undefined4 *puVar7;
  int iVar8;
  char *pcVar9;
  mbstate_t *pmVar10;
  mbstate_t *in_a2;
  mbstate_t *pmVar11;
  mbstate_t *unaff_s1;
  mbstate_t *pmVar12;
  mbstate_t *unaff_s3;
  mbstate_t *pmVar13;
  mbstate_t *pmVar14;
  mbstate_t *unaff_s5;
  mbstate_t *unaff_s6;
  mbstate_t *pmVar15;
  mbstate_t *pmVar16;
  undefined *puVar17;
  code *pcVar18;
  undefined1 *puVar19;
  undefined1 *puVar20;
  undefined1 *puVar26;
  undefined1 *puVar27;
  undefined1 *puVar28;
  code *pcVar29;
  undefined1 auStack_1180 [16];
  undefined *puStack_1170;
  mbstate_t *pmStack_1168;
  int iStack_1164;
  int iStack_1160;
  char *pcStack_115c;
  mbstate_t *pmStack_1158;
  int iStack_1154;
  int iStack_1150;
  mbstate_t *pmStack_114c;
  mbstate_t *pmStack_1148;
  int *piStack_1144;
  mbstate_t *pmStack_1140;
  int iStack_113c;
  int iStack_1138;
  mbstate_t *pmStack_1134;
  mbstate_t *pmStack_1130;
  int iStack_112c;
  mbstate_t *pmStack_1128;
  mbstate_t *pmStack_1124;
  mbstate_t *pmStack_1120;
  int iStack_111c;
  mbstate_t amStack_1118 [2];
  int iStack_1108;
  int iStack_1104;
  mbstate_t amStack_1078 [511];
  undefined1 auStack_79 [5];
  int iStack_74;
  mbstate_t *pmStack_70;
  mbstate_t *pmStack_6c;
  int iStack_68;
  mbstate_t *pmStack_64;
  undefined *puStack_60;
  mbstate_t *pmStack_5c;
  mbstate_t *pmStack_44;
  mbstate_t state;
  undefined1 *puVar21;
  undefined1 *puVar22;
  undefined1 *puVar23;
  undefined1 *puVar24;
  undefined1 *puVar25;
  
  pmVar14 = (mbstate_t *)PTR___stack_chk_guard_001464dc;
  pmVar10 = (mbstate_t *)PTR_is_basic_table_00144b04;
  pcVar9 = *(char **)PTR___stack_chk_guard_001464dc;
  pmStack_44 = (mbstate_t *)c;
  pmVar11 = (mbstate_t *)s;
  if ((*(int *)PTR_locale_utf8locale_00144afc == 0) || (0x7f < c)) {
    if ((0x2f < (c & 0xffU)) && (unaff_s5 = &state, 1 < *(int *)PTR_locale_mb_cur_max_00144b00)) {
      state.__count = 0;
      state.__value.__wch = 0;
      unaff_s1 = (mbstate_t *)(*(code *)PTR_strlen_00146390)(s);
      pmVar2 = (mbstate_t *)s;
      if (unaff_s1 == (mbstate_t *)0x0) {
        pmVar2 = (mbstate_t *)0x0;
      }
      else {
        do {
          bVar1 = *(byte *)&pmVar2->__count;
          pmVar11 = pmVar2;
          if ((*(uint *)((int)pmVar10 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {
            pmStack_44 = pmVar2;
            in_a2 = unaff_s1;
            iVar3 = (*(code *)PTR_mbrtowc_00146408)(0,pmVar2,unaff_s1,unaff_s5);
            if (0xfffffffb < iVar3 - 2U) {
              if ((uint)*(byte *)&pmVar2->__count != c) goto LAB_000df640;
              goto LAB_000df6f8;
            }
          }
          else {
            if ((uint)bVar1 == c) goto LAB_000df6f8;
LAB_000df640:
            iVar3 = 1;
          }
          unaff_s1 = (mbstate_t *)((int)unaff_s1 - iVar3);
          pmVar11 = (mbstate_t *)((int)&pmVar2->__count + iVar3);
          pmVar2 = pmVar11;
        } while (unaff_s1 != (mbstate_t *)0x0);
        pmVar2 = (mbstate_t *)0x0;
      }
      goto LAB_000df6f8;
    }
    if (pcVar9 == *(char **)PTR___stack_chk_guard_001464dc) {
                    /* WARNING: Could not recover jumptable at 0x000df6e0. Too many branches */
                    /* WARNING: Treating indirect jump as call */
      pcVar9 = (char *)(*(code *)PTR_strchr_00146398)(s,c);
      return pcVar9;
    }
  }
  else {
    pmVar2 = (mbstate_t *)utf8_mbschr(s,c);
    pmVar10 = unaff_s3;
LAB_000df6f8:
    s = pcVar9;
    unaff_s3 = pmVar10;
    if (pcVar9 == *(char **)pmVar14) {
      return (char *)pmVar2;
    }
  }
  puVar17 = PTR___stack_chk_fail_00146488;
  (*(code *)PTR___stack_chk_fail_00146488)();
  puStack_1170 = puVar17 + 0x6ce00;
  puVar28 = auStack_1180;
  piStack_1144 = *(int **)(puVar17 + 0x66d9c);
  puStack_60 = (undefined *)pmVar14;
  iStack_74 = *piStack_1144;
  pcStack_115c = s;
  pmStack_70 = pmVar11;
  pmStack_6c = unaff_s1;
  iStack_68 = c;
  pmStack_64 = unaff_s3;
  pmStack_5c = unaff_s5;
  if ((s != (char *)0x0) && (pmStack_44 == (mbstate_t *)0x0)) {
    pcVar9 = (char *)0x0;
    puVar7 = (undefined4 *)(**(code **)(puVar17 + 0x66bfc))();
    *puVar7 = 0x16;
    goto LAB_000dfb60;
  }
  in_a2 = amStack_1118;
  pmVar10 = (mbstate_t *)(*(int *)(puVar17 + 0x64e6c) - 0x7e78);
  auStack_79[1] = 0;
  pmStack_1128 = in_a2;
  iVar3 = (**(code **)(puVar17 + 0x66af4))(3,pmVar10);
  puVar28 = auStack_1180;
  if (-1 < iVar3) {
    pmStack_1120 = (mbstate_t *)amStack_1118[0].__count;
    pmVar2 = (mbstate_t *)(*(int *)(puStack_1170 + -0x7aac) - 0x7ee8);
    iStack_112c = iStack_1108;
    iStack_113c = iStack_1104;
    in_a2 = pmStack_1128;
    iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,pmVar2);
    pmVar10 = pmVar2;
    puVar28 = auStack_1180;
    if (-1 < iVar3) {
      pmStack_1158 = amStack_1078;
      pmVar16 = (mbstate_t *)(auStack_79 + 1);
      pmStack_114c = (mbstate_t *)amStack_1118[0].__count;
      iStack_1160 = iStack_1108;
      pmStack_1148 = (mbstate_t *)(*(int *)(puStack_1170 + -0x7f94) - 0x34d0);
      iStack_1138 = 0;
      iStack_1164 = iStack_1104;
      pmStack_1140 = (mbstate_t *)0xe0;
      pmStack_1124 = (mbstate_t *)(*(int *)(puStack_1170 + -0x7f94) - 0x33ef);
      unaff_s1 = pmStack_1158;
      unaff_s6 = (mbstate_t *)0x1001;
      puVar28 = auStack_1180;
      pmStack_1168 = pmVar16;
      pmStack_1134 = pmStack_1148;
      while (((pmStack_1120 != pmStack_114c || (iStack_112c != iStack_1160)) ||
             (iStack_113c != iStack_1164))) {
        pmVar13 = pmVar14;
        pmVar12 = unaff_s1;
        if (pmStack_1124 == pmStack_1134) {
          pmVar11 = (mbstate_t *)((int)pmStack_1140 * 2);
          pmVar10 = (mbstate_t *)((int)&pmVar11->__count + 1);
          if (pmStack_1124 == pmStack_1148) {
            pmVar2 = (mbstate_t *)(**(code **)(puStack_1170 + -0x6158))(pmVar10);
            if (pmVar2 == (mbstate_t *)0x0) goto LAB_000dfb48;
            (**(code **)(puStack_1170 + -0x605c))(pmVar2,pmStack_1148,pmStack_1140);
          }
          else {
            pmVar2 = (mbstate_t *)(**(code **)(puStack_1170 + -0x614c))(pmStack_1134);
            puVar26 = puVar28;
            if (pmVar2 == (mbstate_t *)0x0) goto LAB_000dfb18;
          }
          pmVar13 = pmStack_1140;
          unaff_s3 = (mbstate_t *)((int)&pmStack_1140->__count + (int)&pmVar2->__count);
          pmStack_1124 = unaff_s3;
          (**(code **)(puStack_1170 + -0x605c))(unaff_s3,pmVar2,pmStack_1140);
          *(char *)((int)&pmVar13->__count + (int)&unaff_s3->__count) = '\0';
          pmStack_1140 = pmVar11;
          pmStack_1134 = pmVar2;
        }
        pmVar11 = (mbstate_t *)((int)&pmStack_1124[-1].__value + 1);
        pmVar10 = pmVar11;
        in_a2 = pmStack_1128;
        pmStack_1124 = pmVar11;
        iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,pmVar11);
        pmVar14 = pmVar13;
        puVar19 = puVar28;
        if (iVar3 < 0) {
LAB_000dfb00:
          puVar28 = puVar19;
          if ((pmStack_1134 != pmStack_1148) &&
             (puVar26 = puVar19, pmStack_1134 != (mbstate_t *)0x0)) {
LAB_000dfb18:
            pcVar18 = *(code **)(puStack_1170 + -0x6204);
            puVar27 = puVar26;
LAB_000dfb1c:
            pmVar11 = (mbstate_t *)(*pcVar18)();
            iVar3 = pmVar11->__count;
            (**(code **)(puStack_1170 + -0x6044))(pmStack_1134);
            pmVar11->__count = iVar3;
            unaff_s1 = pmVar12;
            puVar28 = puVar27;
          }
          goto LAB_000dfb48;
        }
        pmStack_1130 = (mbstate_t *)amStack_1118[0].__count;
        iStack_1150 = iStack_1108;
        iStack_1154 = iStack_1104;
        iStack_111c = (**(code **)(puStack_1170 + -0x633c))(pmVar11);
        if (iStack_111c == 0) goto LAB_000dfb00;
        unaff_s3 = (mbstate_t *)((int)pmStack_1140 + ((int)pmStack_1134 - (int)pmVar11));
        unaff_s5 = (mbstate_t *)((int)&unaff_s3->__count + 1);
LAB_000df8ec:
        do {
          pcVar18 = *(code **)(puStack_1170 + -0x62c8);
          do {
            do {
              piVar4 = (int *)(*pcVar18)(iStack_111c);
              while( true ) {
                if (piVar4 == (int *)0x0) {
                  pmVar11 = (mbstate_t *)(**(code **)(puStack_1170 + -0x6204))();
                  iVar3 = iStack_1138;
                  if (pmVar11->__count != 0) {
                    iVar3 = pmVar11->__count;
                  }
                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);
                  pmVar11->__count = iVar3;
                  pmVar14 = pmVar13;
                  goto LAB_000dfb00;
                }
                if (*(char *)((int)piVar4 + 0x13) != '.') break;
                pmVar10 = (mbstate_t *)0xffff0000;
                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;
                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;
                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);
              }
            } while ((pmStack_1120 == pmStack_1130) &&
                    ((pcVar18 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||
                     (piVar4[1] != iStack_113c))));
            pmVar11 = (mbstate_t *)((int)piVar4 + 0x13);
            pmVar5 = (mbstate_t *)(**(code **)(puStack_1170 + -0x61b0))(pmVar11);
            iVar3 = -((uint)((int)&pmVar5[1].__count + (int)&unaff_s5->__count) & 0xfffffff8);
            puVar20 = puVar19 + iVar3;
            puVar21 = puVar19 + iVar3;
            puVar22 = puVar19 + iVar3;
            puVar27 = puVar19 + iVar3;
            puVar23 = puVar19 + iVar3;
            puVar28 = puVar19 + iVar3;
            puVar24 = puVar19 + iVar3;
            puVar26 = puVar19 + iVar3;
            puVar25 = puVar19 + iVar3;
            pmVar13 = (mbstate_t *)(puVar19 + iVar3 + 0x10);
            (**(code **)(puStack_1170 + -0x605c))(pmVar13,pmStack_1124,unaff_s3);
            puVar17 = puStack_1170;
            *(char *)((int)pmVar13 + (int)unaff_s3) = '/';
            (**(code **)(puVar17 + -0x605c))
                      ((char *)((int)&unaff_s5->__count + (int)&pmVar13->__count),pmVar11,
                       (char *)((int)&pmVar5->__count + 1));
            pmVar10 = pmVar13;
            in_a2 = pmStack_1128;
            iVar6 = (**(code **)(puStack_1170 + -0x632c))(3,pmVar13);
            if (iVar6 < 0) {
              piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))();
              iStack_1138 = *piVar4;
            }
            pmVar14 = pmStack_1158;
            pcVar18 = *(code **)(puStack_1170 + -0x62c8);
            puVar19 = puVar19 + iVar3;
          } while (((mbstate_t *)amStack_1118[0].__count != pmStack_1120) ||
                  (puVar19 = puVar20, iStack_1108 != iStack_112c));
          puVar19 = puVar21;
        } while (iStack_1104 != iStack_113c);
        pmVar2 = pmVar11;
        unaff_s3 = (mbstate_t *)((int)pmVar16 - (int)unaff_s1);
        unaff_s5 = unaff_s6;
        while (unaff_s3 <= pmVar5) {
          unaff_s6 = (mbstate_t *)((int)unaff_s5 << 1);
          pmStack_1120 = pmVar2;
          if (pmVar12 == pmVar14) {
            unaff_s1 = (mbstate_t *)(**(code **)(puStack_1170 + -0x6158))(unaff_s6);
            if (unaff_s1 == (mbstate_t *)0x0) {
              pcVar9 = (char *)0x0;
              pmStack_44 = pmVar10;
              if ((pmStack_1134 == pmStack_1148) ||
                 (pmVar12 = pmStack_1158, puVar28 = puVar24, pmStack_1134 == (mbstate_t *)0x0))
              goto LAB_000dfb60;
              goto LAB_000dfb18;
            }
          }
          else {
            pmVar10 = unaff_s6;
            unaff_s1 = (mbstate_t *)(**(code **)(puStack_1170 + -0x614c))(pmVar12,unaff_s6);
            if (unaff_s1 == (mbstate_t *)0x0) {
              pcVar18 = *(code **)(puStack_1170 + -0x6044);
              puVar28 = puVar22;
              if (pmStack_1134 == pmStack_1148) goto LAB_000dfcc0;
              pcVar18 = *(code **)(puStack_1170 + -0x6204);
              if (pmStack_1134 != (mbstate_t *)0x0) goto LAB_000dfb1c;
              pcVar18 = *(code **)(puStack_1170 + -0x6044);
              puVar28 = puVar23;
              goto LAB_000dfcc0;
            }
            pmVar16 = (mbstate_t *)((int)&unaff_s3->__count + (int)&unaff_s1->__count);
          }
          pmVar11 = (mbstate_t *)((int)&unaff_s3->__count + (int)&unaff_s5->__count);
          in_a2 = (mbstate_t *)((int)unaff_s5 - (int)unaff_s3);
          pmVar15 = (mbstate_t *)((int)&pmVar11->__count + (int)&unaff_s1->__count);
          (**(code **)(puStack_1170 + -0x605c))(pmVar15);
          pmVar2 = pmStack_1120;
          pmVar13 = pmVar14;
          unaff_s3 = pmVar11;
          pmVar10 = pmVar16;
          pmVar12 = unaff_s1;
          unaff_s5 = unaff_s6;
          pmVar16 = pmVar15;
        }
        iVar3 = (**(code **)(puStack_1170 + -0x605c))((int)pmVar16 - (int)pmVar5);
        pmVar16 = (mbstate_t *)(iVar3 - 1);
        pcVar18 = *(code **)(puStack_1170 + -0x6338);
        *(undefined1 *)(iVar3 + -1) = 0x2f;
        (*pcVar18)(iStack_111c);
        iStack_112c = iStack_1150;
        pmStack_1120 = pmStack_1130;
        in_a2 = pmVar5;
        unaff_s1 = pmVar12;
        pmVar14 = pmVar13;
        unaff_s6 = unaff_s5;
        puVar28 = puVar25;
        iStack_113c = iStack_1154;
      }
      if (pmVar16 == pmStack_1168) {
        pmVar16 = (mbstate_t *)auStack_79;
        auStack_79[0] = 0x2f;
      }
      pmVar10 = pmVar2;
      if (pmStack_1134 != pmStack_1148) {
        (**(code **)(puStack_1170 + -0x6044))();
        pmVar10 = pmVar2;
      }
      pmVar11 = (mbstate_t *)((int)unaff_s6 + ((int)unaff_s1 - (int)pmVar16));
      if (pcStack_115c == (char *)0x0) {
        if (pmStack_44 == (mbstate_t *)0x0) {
          pcVar18 = *(code **)(puStack_1170 + -0x6158);
          pmStack_44 = pmVar11;
        }
        else {
          pcVar18 = *(code **)(puStack_1170 + -0x6158);
          if (pmStack_44 < pmVar11) goto LAB_000dfda0;
        }
        pcVar9 = (char *)(*pcVar18)(pmStack_44);
        if (pcVar9 != (char *)0x0) goto LAB_000dfc70;
      }
      else {
        pcVar9 = pcStack_115c;
        if (pmVar11 <= pmStack_44) {
LAB_000dfc70:
          in_a2 = pmVar11;
          (**(code **)(puStack_1170 + -0x605c))(pcVar9,pmVar16);
          pmStack_44 = pmVar16;
          if (unaff_s1 != pmStack_1158) {
            (**(code **)(puStack_1170 + -0x6044))(unaff_s1);
            pmStack_44 = pmVar16;
          }
          goto LAB_000dfb60;
        }
LAB_000dfda0:
        puVar7 = (undefined4 *)(**(code **)(puStack_1170 + -0x6204))();
        *puVar7 = 0x22;
      }
LAB_000dfb48:
      pcVar9 = (char *)0x0;
      pmStack_44 = pmVar10;
      if (unaff_s1 == pmStack_1158) goto LAB_000dfb60;
      pcVar18 = *(code **)(puStack_1170 + -0x6044);
      pmVar12 = unaff_s1;
      if (unaff_s1 != (mbstate_t *)0x0) {
LAB_000dfcc0:
        (*pcVar18)(pmVar12);
        unaff_s1 = pmVar12;
      }
    }
  }
  pcVar9 = (char *)0x0;
  pmStack_44 = pmVar10;
LAB_000dfb60:
  pcVar18 = *(code **)(puStack_1170 + -0x60b8);
  if (iStack_74 == *piStack_1144) {
    return pcVar9;
  }
  pcVar29 = zwrite;
  iVar3 = iStack_74;
  (*pcVar18)();
  pcVar18 = pcVar18 + 0x6c740;
  *(mbstate_t **)(puVar28 + -0x10) = pmVar14;
  *(mbstate_t **)(puVar28 + -0x14) = unaff_s3;
  iVar6 = 0;
  *(mbstate_t **)(puVar28 + -8) = unaff_s6;
  *(mbstate_t **)(puVar28 + -0xc) = unaff_s5;
  *(char **)(puVar28 + -0x18) = pcVar9;
  *(mbstate_t **)(puVar28 + -0x1c) = unaff_s1;
  *(mbstate_t **)(puVar28 + -0x20) = pmVar11;
  *(code **)(puVar28 + -0x28) = pcVar18;
  *(code **)(puVar28 + -4) = pcVar29;
  pmVar11 = in_a2;
  do {
    while( true ) {
      while( true ) {
        iVar8 = (**(code **)(pcVar18 + -0x61c0))(iVar3,pmStack_44,pmVar11);
        pcVar18 = *(code **)(puVar28 + -0x28);
        if (iVar8 < 1) break;
        pmVar11 = (mbstate_t *)((int)pmVar11 - iVar8);
        pmStack_44 = (mbstate_t *)((int)&pmStack_44->__count + iVar8);
        if ((int)pmVar11 < 1) {
          return (char *)in_a2;
        }
      }
      if (iVar8 != 0) break;
      iVar6 = iVar6 + 1;
      if (3 < iVar6) {
        return (char *)((int)in_a2 - (int)pmVar11);
      }
    }
    piVar4 = (int *)(**(code **)(pcVar18 + -0x6204))();
    pcVar18 = *(code **)(puVar28 + -0x28);
  } while (*piVar4 == 4);
  return (char *)0xffffffff;
}



byte ***** mbschr(byte *****param_1,byte *****param_2,byte *****param_3)

{
  byte bVar1;
  byte *****pppppbVar2;
  int iVar3;
  int *piVar4;
  byte *****pppppbVar5;
  int iVar6;
  undefined4 *puVar7;
  int iVar8;
  byte *****pppppbVar9;
  byte *****unaff_s1;
  byte *****pppppbVar10;
  byte ****ppppbVar11;
  byte *****unaff_s3;
  byte *****pppppbVar12;
  byte *****pppppbVar13;
  byte *****unaff_s5;
  byte *****unaff_s6;
  byte *****pppppbVar14;
  undefined *puVar15;
  code *pcVar16;
  undefined1 *puVar17;
  undefined1 *puVar18;
  undefined1 *puVar24;
  undefined1 *puVar25;
  undefined1 *puVar26;
  code *pcVar27;
  undefined1 auStack_1180 [16];
  undefined *puStack_1170;
  byte ****ppppbStack_1168;
  int iStack_1164;
  int iStack_1160;
  byte ****ppppbStack_115c;
  byte ****ppppbStack_1158;
  int iStack_1154;
  int iStack_1150;
  byte ****ppppbStack_114c;
  byte ****ppppbStack_1148;
  int *piStack_1144;
  byte ****ppppbStack_1140;
  int iStack_113c;
  byte ***pppbStack_1138;
  byte ****ppppbStack_1134;
  byte ****ppppbStack_1130;
  int iStack_112c;
  byte ****ppppbStack_1128;
  byte ****ppppbStack_1124;
  byte ****ppppbStack_1120;
  int iStack_111c;
  byte ****appppbStack_1118 [4];
  int iStack_1108;
  int iStack_1104;
  byte ***apppbStack_1078 [1023];
  undefined1 uStack_79;
  undefined1 auStack_78 [4];
  int iStack_74;
  byte ****ppppbStack_70;
  byte ****ppppbStack_6c;
  byte ****ppppbStack_68;
  byte ****ppppbStack_64;
  undefined *puStack_60;
  byte ****ppppbStack_5c;
  byte ****ppppbStack_44;
  byte ***local_2c;
  undefined4 local_28;
  byte ****local_24;
  undefined1 *puVar19;
  undefined1 *puVar20;
  undefined1 *puVar21;
  undefined1 *puVar22;
  undefined1 *puVar23;
  
  pppppbVar13 = (byte *****)PTR___stack_chk_guard_001464dc;
  pppppbVar9 = (byte *****)PTR_is_basic_table_00144b04;
  local_24 = *(byte *****)PTR___stack_chk_guard_001464dc;
  ppppbStack_44 = (byte ****)param_2;
  if ((*(int *)PTR_locale_utf8locale_00144afc == 0) || (0x7f < (int)param_2)) {
    if ((0x2f < ((uint)param_2 & 0xff)) &&
       (unaff_s5 = (byte *****)&local_2c, 1 < *(int *)PTR_locale_mb_cur_max_00144b00)) {
      local_2c = (byte ***)0x0;
      local_28 = 0;
      unaff_s1 = (byte *****)(*(code *)PTR_strlen_00146390)(param_1);
      pppppbVar2 = param_1;
      if (unaff_s1 == (byte *****)0x0) {
        pppppbVar2 = (byte *****)0x0;
      }
      else {
        do {
          bVar1 = *(byte *)pppppbVar2;
          param_1 = pppppbVar2;
          if ((*(uint *)((int)pppppbVar9 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {
            ppppbStack_44 = (byte ****)pppppbVar2;
            param_3 = unaff_s1;
            iVar3 = (*(code *)PTR_mbrtowc_00146408)(0,pppppbVar2,unaff_s1,unaff_s5);
            if (0xfffffffb < iVar3 - 2U) {
              if ((byte *****)(uint)*(byte *)pppppbVar2 != param_2) goto LAB_000df640;
              goto LAB_000df6f8;
            }
          }
          else {
            if ((byte *****)(uint)bVar1 == param_2) goto LAB_000df6f8;
LAB_000df640:
            iVar3 = 1;
          }
          unaff_s1 = (byte *****)((int)unaff_s1 - iVar3);
          param_1 = (byte *****)((int)pppppbVar2 + iVar3);
          pppppbVar2 = param_1;
        } while (unaff_s1 != (byte *****)0x0);
        pppppbVar2 = (byte *****)0x0;
      }
      goto LAB_000df6f8;
    }
    pppppbVar14 = param_1;
    if ((byte *****)local_24 == *(byte ******)PTR___stack_chk_guard_001464dc) {
                    /* WARNING: Could not recover jumptable at 0x000df6e0. Too many branches */
                    /* WARNING: Treating indirect jump as call */
      pppppbVar9 = (byte *****)(*(code *)PTR_strchr_00146398)(param_1,param_2);
      return pppppbVar9;
    }
  }
  else {
    pppppbVar2 = (byte *****)utf8_mbschr((char *)param_1,(int)param_2);
    pppppbVar9 = unaff_s3;
LAB_000df6f8:
    pppppbVar14 = (byte *****)local_24;
    unaff_s3 = pppppbVar9;
    if (local_24 == *pppppbVar13) {
      return pppppbVar2;
    }
  }
  puVar15 = PTR___stack_chk_fail_00146488;
  (*(code *)PTR___stack_chk_fail_00146488)();
  puStack_1170 = puVar15 + 0x6ce00;
  puVar26 = auStack_1180;
  piStack_1144 = *(int **)(puVar15 + 0x66d9c);
  puStack_60 = (undefined *)pppppbVar13;
  iStack_74 = *piStack_1144;
  ppppbStack_115c = (byte ****)pppppbVar14;
  ppppbStack_70 = (byte ****)param_1;
  ppppbStack_6c = (byte ****)unaff_s1;
  ppppbStack_68 = (byte ****)param_2;
  ppppbStack_64 = (byte ****)unaff_s3;
  ppppbStack_5c = (byte ****)unaff_s5;
  if ((pppppbVar14 != (byte *****)0x0) && ((byte *****)ppppbStack_44 == (byte *****)0x0)) {
    pppppbVar9 = (byte *****)0x0;
    puVar7 = (undefined4 *)(**(code **)(puVar15 + 0x66bfc))();
    *puVar7 = 0x16;
    goto LAB_000dfb60;
  }
  param_3 = appppbStack_1118;
  pppppbVar2 = (byte *****)(*(int *)(puVar15 + 0x64e6c) + -0x7e78);
  auStack_78[0] = 0;
  ppppbStack_1128 = (byte ****)param_3;
  iVar3 = (**(code **)(puVar15 + 0x66af4))(3,pppppbVar2);
  puVar26 = auStack_1180;
  if (-1 < iVar3) {
    ppppbStack_1120 = appppbStack_1118[0];
    pppppbVar9 = (byte *****)(*(int *)(puStack_1170 + -0x7aac) + -0x7ee8);
    iStack_112c = iStack_1108;
    iStack_113c = iStack_1104;
    param_3 = (byte *****)ppppbStack_1128;
    iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,pppppbVar9);
    pppppbVar2 = pppppbVar9;
    puVar26 = auStack_1180;
    if (-1 < iVar3) {
      ppppbStack_1158 = apppbStack_1078;
      pppppbVar14 = (byte *****)auStack_78;
      ppppbStack_114c = appppbStack_1118[0];
      iStack_1160 = iStack_1108;
      ppppbStack_1148 = (byte ****)(*(int *)(puStack_1170 + -0x7f94) + -0x34d0);
      pppbStack_1138 = (byte ***)0x0;
      iStack_1164 = iStack_1104;
      ppppbStack_1140 = (byte ****)0xe0;
      ppppbStack_1124 = (byte ****)(*(int *)(puStack_1170 + -0x7f94) + -0x33ef);
      unaff_s1 = (byte *****)ppppbStack_1158;
      unaff_s6 = (byte *****)0x1001;
      puVar26 = auStack_1180;
      ppppbStack_1168 = (byte ****)pppppbVar14;
      ppppbStack_1134 = ppppbStack_1148;
      while (((ppppbStack_1120 != ppppbStack_114c || (iStack_112c != iStack_1160)) ||
             (iStack_113c != iStack_1164))) {
        pppppbVar12 = pppppbVar13;
        pppppbVar10 = unaff_s1;
        if (ppppbStack_1124 == ppppbStack_1134) {
          param_1 = (byte *****)((int)ppppbStack_1140 * 2);
          pppppbVar2 = (byte *****)((int)param_1 + 1);
          if (ppppbStack_1124 == ppppbStack_1148) {
            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(pppppbVar2);
            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb48;
            (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,ppppbStack_1148,ppppbStack_1140);
          }
          else {
            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(ppppbStack_1134);
            puVar24 = puVar26;
            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb18;
          }
          pppppbVar12 = (byte *****)ppppbStack_1140;
          unaff_s3 = (byte *****)((int)pppppbVar9 + (int)ppppbStack_1140);
          ppppbStack_1124 = (byte ****)unaff_s3;
          (**(code **)(puStack_1170 + -0x605c))(unaff_s3,pppppbVar9,ppppbStack_1140);
          *(byte *)((int)unaff_s3 + (int)pppppbVar12) = 0;
          ppppbStack_1140 = (byte ****)param_1;
          ppppbStack_1134 = (byte ****)pppppbVar9;
        }
        param_1 = (byte *****)((int)ppppbStack_1124 + -3);
        pppppbVar2 = param_1;
        param_3 = (byte *****)ppppbStack_1128;
        ppppbStack_1124 = (byte ****)param_1;
        iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,param_1);
        pppppbVar13 = pppppbVar12;
        puVar17 = puVar26;
        if (iVar3 < 0) {
LAB_000dfb00:
          puVar26 = puVar17;
          if ((ppppbStack_1134 != ppppbStack_1148) &&
             (puVar24 = puVar17, (byte *****)ppppbStack_1134 != (byte *****)0x0)) {
LAB_000dfb18:
            pcVar16 = *(code **)(puStack_1170 + -0x6204);
            puVar25 = puVar24;
LAB_000dfb1c:
            param_1 = (byte *****)(*pcVar16)();
            ppppbVar11 = *param_1;
            (**(code **)(puStack_1170 + -0x6044))(ppppbStack_1134);
            *param_1 = ppppbVar11;
            unaff_s1 = pppppbVar10;
            puVar26 = puVar25;
          }
          goto LAB_000dfb48;
        }
        ppppbStack_1130 = appppbStack_1118[0];
        iStack_1150 = iStack_1108;
        iStack_1154 = iStack_1104;
        iStack_111c = (**(code **)(puStack_1170 + -0x633c))(param_1);
        if (iStack_111c == 0) goto LAB_000dfb00;
        unaff_s3 = (byte *****)
                   ((byte *)((int)ppppbStack_1134 + (int)ppppbStack_1140) + -(int)param_1);
        unaff_s5 = (byte *****)((int)unaff_s3 + 1);
LAB_000df8ec:
        do {
          pcVar16 = *(code **)(puStack_1170 + -0x62c8);
          do {
            do {
              piVar4 = (int *)(*pcVar16)(iStack_111c);
              while( true ) {
                if (piVar4 == (int *)0x0) {
                  param_1 = (byte *****)(**(code **)(puStack_1170 + -0x6204))();
                  ppppbVar11 = (byte ****)pppbStack_1138;
                  if (*param_1 != (byte ****)0x0) {
                    ppppbVar11 = *param_1;
                  }
                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);
                  *param_1 = ppppbVar11;
                  pppppbVar13 = pppppbVar12;
                  goto LAB_000dfb00;
                }
                if (*(char *)((int)piVar4 + 0x13) != '.') break;
                pppppbVar2 = (byte *****)0xffff0000;
                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;
                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;
                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);
              }
            } while ((ppppbStack_1120 == ppppbStack_1130) &&
                    ((pcVar16 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||
                     (piVar4[1] != iStack_113c))));
            param_1 = (byte *****)((int)piVar4 + 0x13);
            pppppbVar5 = (byte *****)(**(code **)(puStack_1170 + -0x61b0))(param_1);
            iVar3 = -((uint)((byte *)((int)unaff_s5 + (int)pppppbVar5) + 8) & 0xfffffff8);
            puVar18 = puVar17 + iVar3;
            puVar19 = puVar17 + iVar3;
            puVar20 = puVar17 + iVar3;
            puVar25 = puVar17 + iVar3;
            puVar21 = puVar17 + iVar3;
            puVar26 = puVar17 + iVar3;
            puVar22 = puVar17 + iVar3;
            puVar24 = puVar17 + iVar3;
            puVar23 = puVar17 + iVar3;
            pppppbVar12 = (byte *****)(puVar17 + iVar3 + 0x10);
            (**(code **)(puStack_1170 + -0x605c))(pppppbVar12,ppppbStack_1124,unaff_s3);
            puVar15 = puStack_1170;
            *(byte *)((int)pppppbVar12 + (int)unaff_s3) = 0x2f;
            (**(code **)(puVar15 + -0x605c))
                      ((byte *)((int)pppppbVar12 + (int)unaff_s5),param_1,
                       (byte *)((int)pppppbVar5 + 1));
            pppppbVar2 = pppppbVar12;
            param_3 = (byte *****)ppppbStack_1128;
            iVar6 = (**(code **)(puStack_1170 + -0x632c))(3,pppppbVar12);
            if (iVar6 < 0) {
              piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))();
              pppbStack_1138 = (byte ***)*piVar4;
            }
            pppppbVar13 = (byte *****)ppppbStack_1158;
            pcVar16 = *(code **)(puStack_1170 + -0x62c8);
            puVar17 = puVar17 + iVar3;
          } while ((appppbStack_1118[0] != ppppbStack_1120) ||
                  (puVar17 = puVar18, iStack_1108 != iStack_112c));
          puVar17 = puVar19;
        } while (iStack_1104 != iStack_113c);
        pppppbVar9 = param_1;
        unaff_s3 = (byte *****)((int)pppppbVar14 - (int)unaff_s1);
        unaff_s5 = unaff_s6;
        while (unaff_s3 <= pppppbVar5) {
          unaff_s6 = (byte *****)((int)unaff_s5 << 1);
          ppppbStack_1120 = (byte ****)pppppbVar9;
          if (pppppbVar10 == pppppbVar13) {
            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(unaff_s6);
            if (unaff_s1 == (byte *****)0x0) {
              pppppbVar9 = (byte *****)0x0;
              ppppbStack_44 = (byte ****)pppppbVar2;
              if ((ppppbStack_1134 == ppppbStack_1148) ||
                 (pppppbVar10 = (byte *****)ppppbStack_1158, puVar26 = puVar22,
                 (byte *****)ppppbStack_1134 == (byte *****)0x0)) goto LAB_000dfb60;
              goto LAB_000dfb18;
            }
          }
          else {
            pppppbVar2 = unaff_s6;
            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(pppppbVar10,unaff_s6);
            if (unaff_s1 == (byte *****)0x0) {
              pcVar16 = *(code **)(puStack_1170 + -0x6044);
              puVar26 = puVar20;
              if (ppppbStack_1134 == ppppbStack_1148) goto LAB_000dfcc0;
              pcVar16 = *(code **)(puStack_1170 + -0x6204);
              if ((byte *****)ppppbStack_1134 != (byte *****)0x0) goto LAB_000dfb1c;
              pcVar16 = *(code **)(puStack_1170 + -0x6044);
              puVar26 = puVar21;
              goto LAB_000dfcc0;
            }
            pppppbVar14 = (byte *****)((int)unaff_s1 + (int)unaff_s3);
          }
          param_1 = (byte *****)((int)unaff_s5 + (int)unaff_s3);
          param_3 = (byte *****)((int)unaff_s5 - (int)unaff_s3);
          (**(code **)(puStack_1170 + -0x605c))((byte *****)((int)unaff_s1 + (int)param_1));
          pppppbVar9 = (byte *****)ppppbStack_1120;
          pppppbVar12 = pppppbVar13;
          unaff_s3 = param_1;
          pppppbVar2 = pppppbVar14;
          pppppbVar10 = unaff_s1;
          unaff_s5 = unaff_s6;
          pppppbVar14 = (byte *****)((int)unaff_s1 + (int)param_1);
        }
        iVar3 = (**(code **)(puStack_1170 + -0x605c))((int)pppppbVar14 - (int)pppppbVar5);
        pppppbVar14 = (byte *****)(iVar3 + -1);
        pcVar16 = *(code **)(puStack_1170 + -0x6338);
        *(undefined1 *)(iVar3 + -1) = 0x2f;
        (*pcVar16)(iStack_111c);
        iStack_112c = iStack_1150;
        ppppbStack_1120 = ppppbStack_1130;
        param_3 = pppppbVar5;
        unaff_s1 = pppppbVar10;
        pppppbVar13 = pppppbVar12;
        unaff_s6 = unaff_s5;
        puVar26 = puVar23;
        iStack_113c = iStack_1154;
      }
      if (pppppbVar14 == (byte *****)ppppbStack_1168) {
        pppppbVar14 = (byte *****)&uStack_79;
        uStack_79 = 0x2f;
      }
      pppppbVar2 = pppppbVar9;
      if (ppppbStack_1134 != ppppbStack_1148) {
        (**(code **)(puStack_1170 + -0x6044))();
        pppppbVar2 = pppppbVar9;
      }
      param_1 = (byte *****)((byte *)((int)unaff_s1 + (int)unaff_s6) + -(int)pppppbVar14);
      if ((byte *****)ppppbStack_115c == (byte *****)0x0) {
        if ((byte *****)ppppbStack_44 == (byte *****)0x0) {
          pcVar16 = *(code **)(puStack_1170 + -0x6158);
          ppppbStack_44 = (byte ****)param_1;
        }
        else {
          pcVar16 = *(code **)(puStack_1170 + -0x6158);
          if (ppppbStack_44 < param_1) goto LAB_000dfda0;
        }
        pppppbVar9 = (byte *****)(*pcVar16)(ppppbStack_44);
        if (pppppbVar9 != (byte *****)0x0) goto LAB_000dfc70;
      }
      else {
        pppppbVar9 = (byte *****)ppppbStack_115c;
        if (param_1 <= ppppbStack_44) {
LAB_000dfc70:
          param_3 = param_1;
          (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,pppppbVar14);
          ppppbStack_44 = (byte ****)pppppbVar14;
          if (unaff_s1 != (byte *****)ppppbStack_1158) {
            (**(code **)(puStack_1170 + -0x6044))(unaff_s1);
            ppppbStack_44 = (byte ****)pppppbVar14;
          }
          goto LAB_000dfb60;
        }
LAB_000dfda0:
        puVar7 = (undefined4 *)(**(code **)(puStack_1170 + -0x6204))();
        *puVar7 = 0x22;
      }
LAB_000dfb48:
      pppppbVar9 = (byte *****)0x0;
      ppppbStack_44 = (byte ****)pppppbVar2;
      if (unaff_s1 == (byte *****)ppppbStack_1158) goto LAB_000dfb60;
      pcVar16 = *(code **)(puStack_1170 + -0x6044);
      pppppbVar10 = unaff_s1;
      if (unaff_s1 != (byte *****)0x0) {
LAB_000dfcc0:
        (*pcVar16)(pppppbVar10);
        unaff_s1 = pppppbVar10;
      }
    }
  }
  pppppbVar9 = (byte *****)0x0;
  ppppbStack_44 = (byte ****)pppppbVar2;
LAB_000dfb60:
  pcVar16 = *(code **)(puStack_1170 + -0x60b8);
  if (iStack_74 == *piStack_1144) {
    return pppppbVar9;
  }
  pcVar27 = zwrite;
  iVar3 = iStack_74;
  (*pcVar16)();
  pcVar16 = pcVar16 + 0x6c740;
  *(byte ******)(puVar26 + -0x10) = pppppbVar13;
  *(byte ******)(puVar26 + -0x14) = unaff_s3;
  iVar6 = 0;
  *(byte ******)(puVar26 + -8) = unaff_s6;
  *(byte ******)(puVar26 + -0xc) = unaff_s5;
  *(byte ******)(puVar26 + -0x18) = pppppbVar9;
  *(byte ******)(puVar26 + -0x1c) = unaff_s1;
  *(byte ******)(puVar26 + -0x20) = param_1;
  *(code **)(puVar26 + -0x28) = pcVar16;
  *(code **)(puVar26 + -4) = pcVar27;
  pppppbVar9 = param_3;
  do {
    while( true ) {
      while( true ) {
        iVar8 = (**(code **)(pcVar16 + -0x61c0))(iVar3,ppppbStack_44,pppppbVar9);
        pcVar16 = *(code **)(puVar26 + -0x28);
        if (iVar8 < 1) break;
        pppppbVar9 = (byte *****)((int)pppppbVar9 - iVar8);
        ppppbStack_44 = (byte ****)((int)ppppbStack_44 + iVar8);
        if ((int)pppppbVar9 < 1) {
          return param_3;
        }
      }
      if (iVar8 != 0) break;
      iVar6 = iVar6 + 1;
      if (3 < iVar6) {
        return (byte *****)((int)param_3 - (int)pppppbVar9);
      }
    }
    piVar4 = (int *)(**(code **)(pcVar16 + -0x6204))();
    pcVar16 = *(code **)(puVar26 + -0x28);
  } while (*piVar4 == 4);
  return (byte *****)0xffffffff;
}


lui gp,0x7
addiu gp,gp,-0x3050
addu gp,gp,t9
addiu sp,sp,-0x48
lw v0,-0x7a44(gp)
sw s4,0x3c(sp)
lw s4,-0x6064(gp)
lw v0,0x0(v0)
sw gp,0x10(sp)
sw s2,0x34(sp)
or s2,a1,zero
sw s0,0x2c(sp)
or s0,a0,zero
sw ra,0x44(sp)
sw s5,0x40(sp)
sw s3,0x38(sp)
sw s1,0x30(sp)
lw v1,0x0(s4)
sw v1,0x24(sp)
beq v0,zero,0x000df5f0
_andi v0,s2,0xff
slti v0,a1,0x80
bne v0,zero,0x000df6e8
_andi v0,s2,0xff
sltiu v0,v0,0x30
bne v0,zero,0x000df6ac
_lw v0,-0x7a40(gp)
lw v0,0x0(v0)
slti v0,v0,0x2
bne v0,zero,0x000df6ac
_addiu s5,sp,0x1c
lw t9,-0x61b0(gp)
lw s3,-0x7a3c(gp)
or a0,s0,zero
sw zero,0x1c(sp)
jalr t9
_sw zero,0x4(s5)
lw gp,0x10(sp)
bne v0,zero,0x000df650
_or s1,v0,zero
b 0x000df6f8
_or v0,zero,zero
beq v0,s2,0x000df6f8
_or v0,s0,zero
li v0,0x1
subu s1,s1,v0
beq s1,zero,0x000df728
_addu s0,s0,v0
lbu v0,0x0(s0)
srl v1,v0,0x5
sll v1,v1,0x2
addu v1,s3,v1
lw v1,0x0(v1)
srlv v1,v1,v0
andi v1,v1,0x1
bne v1,zero,0x000df638
_lw t9,-0x6138(gp)
or a0,zero,zero
or a3,s5,zero
or a2,s1,zero
jalr t9
_or a1,s0,zero
addiu v1,v0,-0x2
sltiu v1,v1,-0x4
bne v1,zero,0x000df644
_lw gp,0x10(sp)
lbu v0,0x0(s0)
bne v0,s2,0x000df640
_or v0,s0,zero
b 0x000df6f8
_nop
lw v1,0x24(sp)
lw v0,0x0(s4)
bne v1,v0,0x000df730
_lw ra,0x44(sp)
or a1,s2,zero
lw s5,0x40(sp)
or a0,s0,zero
lw s4,0x3c(sp)
lw s3,0x38(sp)
lw s2,0x34(sp)
lw s1,0x30(sp)
lw s0,0x2c(sp)
lw t9,-0x61a8(gp)
jr t9
_addiu sp,sp,0x48
lw t9,-0x6998(gp)
bal 0x000df170
_nop
lw gp,0x10(sp)
lw a0,0x24(sp)
lw v1,0x0(s4)
bne a0,v1,0x000df730
_lw ra,0x44(sp)
lw s5,0x40(sp)
lw s4,0x3c(sp)
lw s3,0x38(sp)
lw s2,0x34(sp)
lw s1,0x30(sp)
lw s0,0x2c(sp)
jr ra
_addiu sp,sp,0x48
b 0x000df6f8
_or v0,zero,zero
lw t9,-0x60b8(gp)
jalr t9
_nop
nop
(translation_unit "byte ***** mbschr(byte *****param_1,byte *****param_2,byte *****param_3)\n\n{\n  byte bVar1;\n  byte *****pppppbVar2;\n  int iVar3;\n  int *piVar4;\n  byte *****pppppbVar5;\n  int iVar6;\n  undefined4 *puVar7;\n  int iVar8;\n  byte *****pppppbVar9;\n  byte *****unaff_s1;\n  byte *****pppppbVar10;\n  byte ****ppppbVar11;\n  byte *****unaff_s3;\n  byte *****pppppbVar12;\n  byte *****pppppbVar13;\n  byte *****unaff_s5;\n  byte *****unaff_s6;\n  byte *****pppppbVar14;\n  undefined *puVar15;\n  code *pcVar16;\n  undefined1 *puVar17;\n  undefined1 *puVar18;\n  undefined1 *puVar24;\n  undefined1 *puVar25;\n  undefined1 *puVar26;\n  code *pcVar27;\n  undefined1 auStack_1180 [16];\n  undefined *puStack_1170;\n  byte ****ppppbStack_1168;\n  int iStack_1164;\n  int iStack_1160;\n  byte ****ppppbStack_115c;\n  byte ****ppppbStack_1158;\n  int iStack_1154;\n  int iStack_1150;\n  byte ****ppppbStack_114c;\n  byte ****ppppbStack_1148;\n  int *piStack_1144;\n  byte ****ppppbStack_1140;\n  int iStack_113c;\n  byte ***pppbStack_1138;\n  byte ****ppppbStack_1134;\n  byte ****ppppbStack_1130;\n  int iStack_112c;\n  byte ****ppppbStack_1128;\n  byte ****ppppbStack_1124;\n  byte ****ppppbStack_1120;\n  int iStack_111c;\n  byte ****appppbStack_1118 [4];\n  int iStack_1108;\n  int iStack_1104;\n  byte ***apppbStack_1078 [1023];\n  undefined1 uStack_79;\n  undefined1 auStack_78 [4];\n  int iStack_74;\n  byte ****ppppbStack_70;\n  byte ****ppppbStack_6c;\n  byte ****ppppbStack_68;\n  byte ****ppppbStack_64;\n  undefined *puStack_60;\n  byte ****ppppbStack_5c;\n  byte ****ppppbStack_44;\n  byte ***local_2c;\n  undefined4 local_28;\n  byte ****local_24;\n  undefined1 *puVar19;\n  undefined1 *puVar20;\n  undefined1 *puVar21;\n  undefined1 *puVar22;\n  undefined1 *puVar23;\n  \n  pppppbVar13 = (byte *****)PTR___stack_chk_guard_001464dc;\n  pppppbVar9 = (byte *****)PTR_is_basic_table_00144b04;\n  local_24 = *(byte *****)PTR___stack_chk_guard_001464dc;\n  ppppbStack_44 = (byte ****)param_2;\n  if ((*(int *)PTR_locale_utf8locale_00144afc == 0) || (0x7f < (int)param_2)) {\n    if ((0x2f < ((uint)param_2 & 0xff)) &&\n       (unaff_s5 = (byte *****)&local_2c, 1 < *(int *)PTR_locale_mb_cur_max_00144b00)) {\n      local_2c = (byte ***)0x0;\n      local_28 = 0;\n      unaff_s1 = (byte *****)(*(code *)PTR_strlen_00146390)(param_1);\n      pppppbVar2 = param_1;\n      if (unaff_s1 == (byte *****)0x0) {\n        pppppbVar2 = (byte *****)0x0;\n      }\n      else {\n        do {\n          bVar1 = *(byte *)pppppbVar2;\n          param_1 = pppppbVar2;\n          if ((*(uint *)((int)pppppbVar9 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n            ppppbStack_44 = (byte ****)pppppbVar2;\n            param_3 = unaff_s1;\n            iVar3 = (*(code *)PTR_mbrtowc_00146408)(0,pppppbVar2,unaff_s1,unaff_s5);\n            if (0xfffffffb < iVar3 - 2U) {\n              if ((byte *****)(uint)*(byte *)pppppbVar2 != param_2) goto LAB_000df640;\n              goto LAB_000df6f8;\n            }\n          }\n          else {\n            if ((byte *****)(uint)bVar1 == param_2) goto LAB_000df6f8;\nLAB_000df640:\n            iVar3 = 1;\n          }\n          unaff_s1 = (byte *****)((int)unaff_s1 - iVar3);\n          param_1 = (byte *****)((int)pppppbVar2 + iVar3);\n          pppppbVar2 = param_1;\n        } while (unaff_s1 != (byte *****)0x0);\n        pppppbVar2 = (byte *****)0x0;\n      }\n      goto LAB_000df6f8;\n    }\n    pppppbVar14 = param_1;\n    if ((byte *****)local_24 == *(byte ******)PTR___stack_chk_guard_001464dc) {\n                    /* WARNING: Could not recover jumptable at 0x000df6e0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      pppppbVar9 = (byte *****)(*(code *)PTR_strchr_00146398)(param_1,param_2);\n      return pppppbVar9;\n    }\n  }\n  else {\n    pppppbVar2 = (byte *****)utf8_mbschr((char *)param_1,(int)param_2);\n    pppppbVar9 = unaff_s3;\nLAB_000df6f8:\n    pppppbVar14 = (byte *****)local_24;\n    unaff_s3 = pppppbVar9;\n    if (local_24 == *pppppbVar13) {\n      return pppppbVar2;\n    }\n  }\n  puVar15 = PTR___stack_chk_fail_00146488;\n  (*(code *)PTR___stack_chk_fail_00146488)();\n  puStack_1170 = puVar15 + 0x6ce00;\n  puVar26 = auStack_1180;\n  piStack_1144 = *(int **)(puVar15 + 0x66d9c);\n  puStack_60 = (undefined *)pppppbVar13;\n  iStack_74 = *piStack_1144;\n  ppppbStack_115c = (byte ****)pppppbVar14;\n  ppppbStack_70 = (byte ****)param_1;\n  ppppbStack_6c = (byte ****)unaff_s1;\n  ppppbStack_68 = (byte ****)param_2;\n  ppppbStack_64 = (byte ****)unaff_s3;\n  ppppbStack_5c = (byte ****)unaff_s5;\n  if ((pppppbVar14 != (byte *****)0x0) && ((byte *****)ppppbStack_44 == (byte *****)0x0)) {\n    pppppbVar9 = (byte *****)0x0;\n    puVar7 = (undefined4 *)(**(code **)(puVar15 + 0x66bfc))();\n    *puVar7 = 0x16;\n    goto LAB_000dfb60;\n  }\n  param_3 = appppbStack_1118;\n  pppppbVar2 = (byte *****)(*(int *)(puVar15 + 0x64e6c) + -0x7e78);\n  auStack_78[0] = 0;\n  ppppbStack_1128 = (byte ****)param_3;\n  iVar3 = (**(code **)(puVar15 + 0x66af4))(3,pppppbVar2);\n  puVar26 = auStack_1180;\n  if (-1 < iVar3) {\n    ppppbStack_1120 = appppbStack_1118[0];\n    pppppbVar9 = (byte *****)(*(int *)(puStack_1170 + -0x7aac) + -0x7ee8);\n    iStack_112c = iStack_1108;\n    iStack_113c = iStack_1104;\n    param_3 = (byte *****)ppppbStack_1128;\n    iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,pppppbVar9);\n    pppppbVar2 = pppppbVar9;\n    puVar26 = auStack_1180;\n    if (-1 < iVar3) {\n      ppppbStack_1158 = apppbStack_1078;\n      pppppbVar14 = (byte *****)auStack_78;\n      ppppbStack_114c = appppbStack_1118[0];\n      iStack_1160 = iStack_1108;\n      ppppbStack_1148 = (byte ****)(*(int *)(puStack_1170 + -0x7f94) + -0x34d0);\n      pppbStack_1138 = (byte ***)0x0;\n      iStack_1164 = iStack_1104;\n      ppppbStack_1140 = (byte ****)0xe0;\n      ppppbStack_1124 = (byte ****)(*(int *)(puStack_1170 + -0x7f94) + -0x33ef);\n      unaff_s1 = (byte *****)ppppbStack_1158;\n      unaff_s6 = (byte *****)0x1001;\n      puVar26 = auStack_1180;\n      ppppbStack_1168 = (byte ****)pppppbVar14;\n      ppppbStack_1134 = ppppbStack_1148;\n      while (((ppppbStack_1120 != ppppbStack_114c || (iStack_112c != iStack_1160)) ||\n             (iStack_113c != iStack_1164))) {\n        pppppbVar12 = pppppbVar13;\n        pppppbVar10 = unaff_s1;\n        if (ppppbStack_1124 == ppppbStack_1134) {\n          param_1 = (byte *****)((int)ppppbStack_1140 * 2);\n          pppppbVar2 = (byte *****)((int)param_1 + 1);\n          if (ppppbStack_1124 == ppppbStack_1148) {\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(pppppbVar2);\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb48;\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,ppppbStack_1148,ppppbStack_1140);\n          }\n          else {\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(ppppbStack_1134);\n            puVar24 = puVar26;\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb18;\n          }\n          pppppbVar12 = (byte *****)ppppbStack_1140;\n          unaff_s3 = (byte *****)((int)pppppbVar9 + (int)ppppbStack_1140);\n          ppppbStack_1124 = (byte ****)unaff_s3;\n          (**(code **)(puStack_1170 + -0x605c))(unaff_s3,pppppbVar9,ppppbStack_1140);\n          *(byte *)((int)unaff_s3 + (int)pppppbVar12) = 0;\n          ppppbStack_1140 = (byte ****)param_1;\n          ppppbStack_1134 = (byte ****)pppppbVar9;\n        }\n        param_1 = (byte *****)((int)ppppbStack_1124 + -3);\n        pppppbVar2 = param_1;\n        param_3 = (byte *****)ppppbStack_1128;\n        ppppbStack_1124 = (byte ****)param_1;\n        iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,param_1);\n        pppppbVar13 = pppppbVar12;\n        puVar17 = puVar26;\n        if (iVar3 < 0) {\nLAB_000dfb00:\n          puVar26 = puVar17;\n          if ((ppppbStack_1134 != ppppbStack_1148) &&\n             (puVar24 = puVar17, (byte *****)ppppbStack_1134 != (byte *****)0x0)) {\nLAB_000dfb18:\n            pcVar16 = *(code **)(puStack_1170 + -0x6204);\n            puVar25 = puVar24;\nLAB_000dfb1c:\n            param_1 = (byte *****)(*pcVar16)();\n            ppppbVar11 = *param_1;\n            (**(code **)(puStack_1170 + -0x6044))(ppppbStack_1134);\n            *param_1 = ppppbVar11;\n            unaff_s1 = pppppbVar10;\n            puVar26 = puVar25;\n          }\n          goto LAB_000dfb48;\n        }\n        ppppbStack_1130 = appppbStack_1118[0];\n        iStack_1150 = iStack_1108;\n        iStack_1154 = iStack_1104;\n        iStack_111c = (**(code **)(puStack_1170 + -0x633c))(param_1);\n        if (iStack_111c == 0) goto LAB_000dfb00;\n        unaff_s3 = (byte *****)\n                   ((byte *)((int)ppppbStack_1134 + (int)ppppbStack_1140) + -(int)param_1);\n        unaff_s5 = (byte *****)((int)unaff_s3 + 1);\nLAB_000df8ec:\n        do {\n          pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n          do {\n            do {\n              piVar4 = (int *)(*pcVar16)(iStack_111c);\n              while( true ) {\n                if (piVar4 == (int *)0x0) {\n                  param_1 = (byte *****)(**(code **)(puStack_1170 + -0x6204))();\n                  ppppbVar11 = (byte ****)pppbStack_1138;\n                  if (*param_1 != (byte ****)0x0) {\n                    ppppbVar11 = *param_1;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  *param_1 = ppppbVar11;\n                  pppppbVar13 = pppppbVar12;\n                  goto LAB_000dfb00;\n                }\n                if (*(char *)((int)piVar4 + 0x13) != '.') break;\n                pppppbVar2 = (byte *****)0xffff0000;\n                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;\n                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;\n                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);\n              }\n            } while ((ppppbStack_1120 == ppppbStack_1130) &&\n                    ((pcVar16 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c))));\n            param_1 = (byte *****)((int)piVar4 + 0x13);\n            pppppbVar5 = (byte *****)(**(code **)(puStack_1170 + -0x61b0))(param_1);\n            iVar3 = -((uint)((byte *)((int)unaff_s5 + (int)pppppbVar5) + 8) & 0xfffffff8);\n            puVar18 = puVar17 + iVar3;\n            puVar19 = puVar17 + iVar3;\n            puVar20 = puVar17 + iVar3;\n            puVar25 = puVar17 + iVar3;\n            puVar21 = puVar17 + iVar3;\n            puVar26 = puVar17 + iVar3;\n            puVar22 = puVar17 + iVar3;\n            puVar24 = puVar17 + iVar3;\n            puVar23 = puVar17 + iVar3;\n            pppppbVar12 = (byte *****)(puVar17 + iVar3 + 0x10);\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar12,ppppbStack_1124,unaff_s3);\n            puVar15 = puStack_1170;\n            *(byte *)((int)pppppbVar12 + (int)unaff_s3) = 0x2f;\n            (**(code **)(puVar15 + -0x605c))\n                      ((byte *)((int)pppppbVar12 + (int)unaff_s5),param_1,\n                       (byte *)((int)pppppbVar5 + 1));\n            pppppbVar2 = pppppbVar12;\n            param_3 = (byte *****)ppppbStack_1128;\n            iVar6 = (**(code **)(puStack_1170 + -0x632c))(3,pppppbVar12);\n            if (iVar6 < 0) {\n              piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))();\n              pppbStack_1138 = (byte ***)*piVar4;\n            }\n            pppppbVar13 = (byte *****)ppppbStack_1158;\n            pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n            puVar17 = puVar17 + iVar3;\n          } while ((appppbStack_1118[0] != ppppbStack_1120) ||\n                  (puVar17 = puVar18, iStack_1108 != iStack_112c));\n          puVar17 = puVar19;\n        } while (iStack_1104 != iStack_113c);\n        pppppbVar9 = param_1;\n        unaff_s3 = (byte *****)((int)pppppbVar14 - (int)unaff_s1);\n        unaff_s5 = unaff_s6;\n        while (unaff_s3 <= pppppbVar5) {\n          unaff_s6 = (byte *****)((int)unaff_s5 << 1);\n          ppppbStack_1120 = (byte ****)pppppbVar9;\n          if (pppppbVar10 == pppppbVar13) {\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pppppbVar9 = (byte *****)0x0;\n              ppppbStack_44 = (byte ****)pppppbVar2;\n              if ((ppppbStack_1134 == ppppbStack_1148) ||\n                 (pppppbVar10 = (byte *****)ppppbStack_1158, puVar26 = puVar22,\n                 (byte *****)ppppbStack_1134 == (byte *****)0x0)) goto LAB_000dfb60;\n              goto LAB_000dfb18;\n            }\n          }\n          else {\n            pppppbVar2 = unaff_s6;\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(pppppbVar10,unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar20;\n              if (ppppbStack_1134 == ppppbStack_1148) goto LAB_000dfcc0;\n              pcVar16 = *(code **)(puStack_1170 + -0x6204);\n              if ((byte *****)ppppbStack_1134 != (byte *****)0x0) goto LAB_000dfb1c;\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar21;\n              goto LAB_000dfcc0;\n            }\n            pppppbVar14 = (byte *****)((int)unaff_s1 + (int)unaff_s3);\n          }\n          param_1 = (byte *****)((int)unaff_s5 + (int)unaff_s3);\n          param_3 = (byte *****)((int)unaff_s5 - (int)unaff_s3);\n          (**(code **)(puStack_1170 + -0x605c))((byte *****)((int)unaff_s1 + (int)param_1));\n          pppppbVar9 = (byte *****)ppppbStack_1120;\n          pppppbVar12 = pppppbVar13;\n          unaff_s3 = param_1;\n          pppppbVar2 = pppppbVar14;\n          pppppbVar10 = unaff_s1;\n          unaff_s5 = unaff_s6;\n          pppppbVar14 = (byte *****)((int)unaff_s1 + (int)param_1);\n        }\n        iVar3 = (**(code **)(puStack_1170 + -0x605c))((int)pppppbVar14 - (int)pppppbVar5);\n        pppppbVar14 = (byte *****)(iVar3 + -1);\n        pcVar16 = *(code **)(puStack_1170 + -0x6338);\n        *(undefined1 *)(iVar3 + -1) = 0x2f;\n        (*pcVar16)(iStack_111c);\n        iStack_112c = iStack_1150;\n        ppppbStack_1120 = ppppbStack_1130;\n        param_3 = pppppbVar5;\n        unaff_s1 = pppppbVar10;\n        pppppbVar13 = pppppbVar12;\n        unaff_s6 = unaff_s5;\n        puVar26 = puVar23;\n        iStack_113c = iStack_1154;\n      }\n      if (pppppbVar14 == (byte *****)ppppbStack_1168) {\n        pppppbVar14 = (byte *****)&uStack_79;\n        uStack_79 = 0x2f;\n      }\n      pppppbVar2 = pppppbVar9;\n      if (ppppbStack_1134 != ppppbStack_1148) {\n        (**(code **)(puStack_1170 + -0x6044))();\n        pppppbVar2 = pppppbVar9;\n      }\n      param_1 = (byte *****)((byte *)((int)unaff_s1 + (int)unaff_s6) + -(int)pppppbVar14);\n      if ((byte *****)ppppbStack_115c == (byte *****)0x0) {\n        if ((byte *****)ppppbStack_44 == (byte *****)0x0) {\n          pcVar16 = *(code **)(puStack_1170 + -0x6158);\n          ppppbStack_44 = (byte ****)param_1;\n        }\n        else {\n          pcVar16 = *(code **)(puStack_1170 + -0x6158);\n          if (ppppbStack_44 < param_1) goto LAB_000dfda0;\n        }\n        pppppbVar9 = (byte *****)(*pcVar16)(ppppbStack_44);\n        if (pppppbVar9 != (byte *****)0x0) goto LAB_000dfc70;\n      }\n      else {\n        pppppbVar9 = (byte *****)ppppbStack_115c;\n        if (param_1 <= ppppbStack_44) {\nLAB_000dfc70:\n          param_3 = param_1;\n          (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,pppppbVar14);\n          ppppbStack_44 = (byte ****)pppppbVar14;\n          if (unaff_s1 != (byte *****)ppppbStack_1158) {\n            (**(code **)(puStack_1170 + -0x6044))(unaff_s1);\n            ppppbStack_44 = (byte ****)pppppbVar14;\n          }\n          goto LAB_000dfb60;\n        }\nLAB_000dfda0:\n        puVar7 = (undefined4 *)(**(code **)(puStack_1170 + -0x6204))();\n        *puVar7 = 0x22;\n      }\nLAB_000dfb48:\n      pppppbVar9 = (byte *****)0x0;\n      ppppbStack_44 = (byte ****)pppppbVar2;\n      if (unaff_s1 == (byte *****)ppppbStack_1158) goto LAB_000dfb60;\n      pcVar16 = *(code **)(puStack_1170 + -0x6044);\n      pppppbVar10 = unaff_s1;\n      if (unaff_s1 != (byte *****)0x0) {\nLAB_000dfcc0:\n        (*pcVar16)(pppppbVar10);\n        unaff_s1 = pppppbVar10;\n      }\n    }\n  }\n  pppppbVar9 = (byte *****)0x0;\n  ppppbStack_44 = (byte ****)pppppbVar2;\nLAB_000dfb60:\n  pcVar16 = *(code **)(puStack_1170 + -0x60b8);\n  if (iStack_74 == *piStack_1144) {\n    return pppppbVar9;\n  }\n  pcVar27 = zwrite;\n  iVar3 = iStack_74;\n  (*pcVar16)();\n  pcVar16 = pcVar16 + 0x6c740;\n  *(byte ******)(puVar26 + -0x10) = pppppbVar13;\n  *(byte ******)(puVar26 + -0x14) = unaff_s3;\n  iVar6 = 0;\n  *(byte ******)(puVar26 + -8) = unaff_s6;\n  *(byte ******)(puVar26 + -0xc) = unaff_s5;\n  *(byte ******)(puVar26 + -0x18) = pppppbVar9;\n  *(byte ******)(puVar26 + -0x1c) = unaff_s1;\n  *(byte ******)(puVar26 + -0x20) = param_1;\n  *(code **)(puVar26 + -0x28) = pcVar16;\n  *(code **)(puVar26 + -4) = pcVar27;\n  pppppbVar9 = param_3;\n  do {\n    while( true ) {\n      while( true ) {\n        iVar8 = (**(code **)(pcVar16 + -0x61c0))(iVar3,ppppbStack_44,pppppbVar9);\n        pcVar16 = *(code **)(puVar26 + -0x28);\n        if (iVar8 < 1) break;\n        pppppbVar9 = (byte *****)((int)pppppbVar9 - iVar8);\n        ppppbStack_44 = (byte ****)((int)ppppbStack_44 + iVar8);\n        if ((int)pppppbVar9 < 1) {\n          return param_3;\n        }\n      }\n      if (iVar8 != 0) break;\n      iVar6 = iVar6 + 1;\n      if (3 < iVar6) {\n        return (byte *****)((int)param_3 - (int)pppppbVar9);\n      }\n    }\n    piVar4 = (int *)(**(code **)(pcVar16 + -0x6204))();\n    pcVar16 = *(code **)(puVar26 + -0x28);\n  } while (*piVar4 == 4);\n  return (byte *****)0xffffffff;\n}\n\n" (function_definition "byte ***** mbschr(byte *****param_1,byte *****param_2,byte *****param_3)\n\n{\n  byte bVar1;\n  byte *****pppppbVar2;\n  int iVar3;\n  int *piVar4;\n  byte *****pppppbVar5;\n  int iVar6;\n  undefined4 *puVar7;\n  int iVar8;\n  byte *****pppppbVar9;\n  byte *****unaff_s1;\n  byte *****pppppbVar10;\n  byte ****ppppbVar11;\n  byte *****unaff_s3;\n  byte *****pppppbVar12;\n  byte *****pppppbVar13;\n  byte *****unaff_s5;\n  byte *****unaff_s6;\n  byte *****pppppbVar14;\n  undefined *puVar15;\n  code *pcVar16;\n  undefined1 *puVar17;\n  undefined1 *puVar18;\n  undefined1 *puVar24;\n  undefined1 *puVar25;\n  undefined1 *puVar26;\n  code *pcVar27;\n  undefined1 auStack_1180 [16];\n  undefined *puStack_1170;\n  byte ****ppppbStack_1168;\n  int iStack_1164;\n  int iStack_1160;\n  byte ****ppppbStack_115c;\n  byte ****ppppbStack_1158;\n  int iStack_1154;\n  int iStack_1150;\n  byte ****ppppbStack_114c;\n  byte ****ppppbStack_1148;\n  int *piStack_1144;\n  byte ****ppppbStack_1140;\n  int iStack_113c;\n  byte ***pppbStack_1138;\n  byte ****ppppbStack_1134;\n  byte ****ppppbStack_1130;\n  int iStack_112c;\n  byte ****ppppbStack_1128;\n  byte ****ppppbStack_1124;\n  byte ****ppppbStack_1120;\n  int iStack_111c;\n  byte ****appppbStack_1118 [4];\n  int iStack_1108;\n  int iStack_1104;\n  byte ***apppbStack_1078 [1023];\n  undefined1 uStack_79;\n  undefined1 auStack_78 [4];\n  int iStack_74;\n  byte ****ppppbStack_70;\n  byte ****ppppbStack_6c;\n  byte ****ppppbStack_68;\n  byte ****ppppbStack_64;\n  undefined *puStack_60;\n  byte ****ppppbStack_5c;\n  byte ****ppppbStack_44;\n  byte ***local_2c;\n  undefined4 local_28;\n  byte ****local_24;\n  undefined1 *puVar19;\n  undefined1 *puVar20;\n  undefined1 *puVar21;\n  undefined1 *puVar22;\n  undefined1 *puVar23;\n  \n  pppppbVar13 = (byte *****)PTR___stack_chk_guard_001464dc;\n  pppppbVar9 = (byte *****)PTR_is_basic_table_00144b04;\n  local_24 = *(byte *****)PTR___stack_chk_guard_001464dc;\n  ppppbStack_44 = (byte ****)param_2;\n  if ((*(int *)PTR_locale_utf8locale_00144afc == 0) || (0x7f < (int)param_2)) {\n    if ((0x2f < ((uint)param_2 & 0xff)) &&\n       (unaff_s5 = (byte *****)&local_2c, 1 < *(int *)PTR_locale_mb_cur_max_00144b00)) {\n      local_2c = (byte ***)0x0;\n      local_28 = 0;\n      unaff_s1 = (byte *****)(*(code *)PTR_strlen_00146390)(param_1);\n      pppppbVar2 = param_1;\n      if (unaff_s1 == (byte *****)0x0) {\n        pppppbVar2 = (byte *****)0x0;\n      }\n      else {\n        do {\n          bVar1 = *(byte *)pppppbVar2;\n          param_1 = pppppbVar2;\n          if ((*(uint *)((int)pppppbVar9 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n            ppppbStack_44 = (byte ****)pppppbVar2;\n            param_3 = unaff_s1;\n            iVar3 = (*(code *)PTR_mbrtowc_00146408)(0,pppppbVar2,unaff_s1,unaff_s5);\n            if (0xfffffffb < iVar3 - 2U) {\n              if ((byte *****)(uint)*(byte *)pppppbVar2 != param_2) goto LAB_000df640;\n              goto LAB_000df6f8;\n            }\n          }\n          else {\n            if ((byte *****)(uint)bVar1 == param_2) goto LAB_000df6f8;\nLAB_000df640:\n            iVar3 = 1;\n          }\n          unaff_s1 = (byte *****)((int)unaff_s1 - iVar3);\n          param_1 = (byte *****)((int)pppppbVar2 + iVar3);\n          pppppbVar2 = param_1;\n        } while (unaff_s1 != (byte *****)0x0);\n        pppppbVar2 = (byte *****)0x0;\n      }\n      goto LAB_000df6f8;\n    }\n    pppppbVar14 = param_1;\n    if ((byte *****)local_24 == *(byte ******)PTR___stack_chk_guard_001464dc) {\n                    /* WARNING: Could not recover jumptable at 0x000df6e0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      pppppbVar9 = (byte *****)(*(code *)PTR_strchr_00146398)(param_1,param_2);\n      return pppppbVar9;\n    }\n  }\n  else {\n    pppppbVar2 = (byte *****)utf8_mbschr((char *)param_1,(int)param_2);\n    pppppbVar9 = unaff_s3;\nLAB_000df6f8:\n    pppppbVar14 = (byte *****)local_24;\n    unaff_s3 = pppppbVar9;\n    if (local_24 == *pppppbVar13) {\n      return pppppbVar2;\n    }\n  }\n  puVar15 = PTR___stack_chk_fail_00146488;\n  (*(code *)PTR___stack_chk_fail_00146488)();\n  puStack_1170 = puVar15 + 0x6ce00;\n  puVar26 = auStack_1180;\n  piStack_1144 = *(int **)(puVar15 + 0x66d9c);\n  puStack_60 = (undefined *)pppppbVar13;\n  iStack_74 = *piStack_1144;\n  ppppbStack_115c = (byte ****)pppppbVar14;\n  ppppbStack_70 = (byte ****)param_1;\n  ppppbStack_6c = (byte ****)unaff_s1;\n  ppppbStack_68 = (byte ****)param_2;\n  ppppbStack_64 = (byte ****)unaff_s3;\n  ppppbStack_5c = (byte ****)unaff_s5;\n  if ((pppppbVar14 != (byte *****)0x0) && ((byte *****)ppppbStack_44 == (byte *****)0x0)) {\n    pppppbVar9 = (byte *****)0x0;\n    puVar7 = (undefined4 *)(**(code **)(puVar15 + 0x66bfc))();\n    *puVar7 = 0x16;\n    goto LAB_000dfb60;\n  }\n  param_3 = appppbStack_1118;\n  pppppbVar2 = (byte *****)(*(int *)(puVar15 + 0x64e6c) + -0x7e78);\n  auStack_78[0] = 0;\n  ppppbStack_1128 = (byte ****)param_3;\n  iVar3 = (**(code **)(puVar15 + 0x66af4))(3,pppppbVar2);\n  puVar26 = auStack_1180;\n  if (-1 < iVar3) {\n    ppppbStack_1120 = appppbStack_1118[0];\n    pppppbVar9 = (byte *****)(*(int *)(puStack_1170 + -0x7aac) + -0x7ee8);\n    iStack_112c = iStack_1108;\n    iStack_113c = iStack_1104;\n    param_3 = (byte *****)ppppbStack_1128;\n    iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,pppppbVar9);\n    pppppbVar2 = pppppbVar9;\n    puVar26 = auStack_1180;\n    if (-1 < iVar3) {\n      ppppbStack_1158 = apppbStack_1078;\n      pppppbVar14 = (byte *****)auStack_78;\n      ppppbStack_114c = appppbStack_1118[0];\n      iStack_1160 = iStack_1108;\n      ppppbStack_1148 = (byte ****)(*(int *)(puStack_1170 + -0x7f94) + -0x34d0);\n      pppbStack_1138 = (byte ***)0x0;\n      iStack_1164 = iStack_1104;\n      ppppbStack_1140 = (byte ****)0xe0;\n      ppppbStack_1124 = (byte ****)(*(int *)(puStack_1170 + -0x7f94) + -0x33ef);\n      unaff_s1 = (byte *****)ppppbStack_1158;\n      unaff_s6 = (byte *****)0x1001;\n      puVar26 = auStack_1180;\n      ppppbStack_1168 = (byte ****)pppppbVar14;\n      ppppbStack_1134 = ppppbStack_1148;\n      while (((ppppbStack_1120 != ppppbStack_114c || (iStack_112c != iStack_1160)) ||\n             (iStack_113c != iStack_1164))) {\n        pppppbVar12 = pppppbVar13;\n        pppppbVar10 = unaff_s1;\n        if (ppppbStack_1124 == ppppbStack_1134) {\n          param_1 = (byte *****)((int)ppppbStack_1140 * 2);\n          pppppbVar2 = (byte *****)((int)param_1 + 1);\n          if (ppppbStack_1124 == ppppbStack_1148) {\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(pppppbVar2);\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb48;\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,ppppbStack_1148,ppppbStack_1140);\n          }\n          else {\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(ppppbStack_1134);\n            puVar24 = puVar26;\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb18;\n          }\n          pppppbVar12 = (byte *****)ppppbStack_1140;\n          unaff_s3 = (byte *****)((int)pppppbVar9 + (int)ppppbStack_1140);\n          ppppbStack_1124 = (byte ****)unaff_s3;\n          (**(code **)(puStack_1170 + -0x605c))(unaff_s3,pppppbVar9,ppppbStack_1140);\n          *(byte *)((int)unaff_s3 + (int)pppppbVar12) = 0;\n          ppppbStack_1140 = (byte ****)param_1;\n          ppppbStack_1134 = (byte ****)pppppbVar9;\n        }\n        param_1 = (byte *****)((int)ppppbStack_1124 + -3);\n        pppppbVar2 = param_1;\n        param_3 = (byte *****)ppppbStack_1128;\n        ppppbStack_1124 = (byte ****)param_1;\n        iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,param_1);\n        pppppbVar13 = pppppbVar12;\n        puVar17 = puVar26;\n        if (iVar3 < 0) {\nLAB_000dfb00:\n          puVar26 = puVar17;\n          if ((ppppbStack_1134 != ppppbStack_1148) &&\n             (puVar24 = puVar17, (byte *****)ppppbStack_1134 != (byte *****)0x0)) {\nLAB_000dfb18:\n            pcVar16 = *(code **)(puStack_1170 + -0x6204);\n            puVar25 = puVar24;\nLAB_000dfb1c:\n            param_1 = (byte *****)(*pcVar16)();\n            ppppbVar11 = *param_1;\n            (**(code **)(puStack_1170 + -0x6044))(ppppbStack_1134);\n            *param_1 = ppppbVar11;\n            unaff_s1 = pppppbVar10;\n            puVar26 = puVar25;\n          }\n          goto LAB_000dfb48;\n        }\n        ppppbStack_1130 = appppbStack_1118[0];\n        iStack_1150 = iStack_1108;\n        iStack_1154 = iStack_1104;\n        iStack_111c = (**(code **)(puStack_1170 + -0x633c))(param_1);\n        if (iStack_111c == 0) goto LAB_000dfb00;\n        unaff_s3 = (byte *****)\n                   ((byte *)((int)ppppbStack_1134 + (int)ppppbStack_1140) + -(int)param_1);\n        unaff_s5 = (byte *****)((int)unaff_s3 + 1);\nLAB_000df8ec:\n        do {\n          pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n          do {\n            do {\n              piVar4 = (int *)(*pcVar16)(iStack_111c);\n              while( true ) {\n                if (piVar4 == (int *)0x0) {\n                  param_1 = (byte *****)(**(code **)(puStack_1170 + -0x6204))();\n                  ppppbVar11 = (byte ****)pppbStack_1138;\n                  if (*param_1 != (byte ****)0x0) {\n                    ppppbVar11 = *param_1;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  *param_1 = ppppbVar11;\n                  pppppbVar13 = pppppbVar12;\n                  goto LAB_000dfb00;\n                }\n                if (*(char *)((int)piVar4 + 0x13) != '.') break;\n                pppppbVar2 = (byte *****)0xffff0000;\n                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;\n                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;\n                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);\n              }\n            } while ((ppppbStack_1120 == ppppbStack_1130) &&\n                    ((pcVar16 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c))));\n            param_1 = (byte *****)((int)piVar4 + 0x13);\n            pppppbVar5 = (byte *****)(**(code **)(puStack_1170 + -0x61b0))(param_1);\n            iVar3 = -((uint)((byte *)((int)unaff_s5 + (int)pppppbVar5) + 8) & 0xfffffff8);\n            puVar18 = puVar17 + iVar3;\n            puVar19 = puVar17 + iVar3;\n            puVar20 = puVar17 + iVar3;\n            puVar25 = puVar17 + iVar3;\n            puVar21 = puVar17 + iVar3;\n            puVar26 = puVar17 + iVar3;\n            puVar22 = puVar17 + iVar3;\n            puVar24 = puVar17 + iVar3;\n            puVar23 = puVar17 + iVar3;\n            pppppbVar12 = (byte *****)(puVar17 + iVar3 + 0x10);\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar12,ppppbStack_1124,unaff_s3);\n            puVar15 = puStack_1170;\n            *(byte *)((int)pppppbVar12 + (int)unaff_s3) = 0x2f;\n            (**(code **)(puVar15 + -0x605c))\n                      ((byte *)((int)pppppbVar12 + (int)unaff_s5),param_1,\n                       (byte *)((int)pppppbVar5 + 1));\n            pppppbVar2 = pppppbVar12;\n            param_3 = (byte *****)ppppbStack_1128;\n            iVar6 = (**(code **)(puStack_1170 + -0x632c))(3,pppppbVar12);\n            if (iVar6 < 0) {\n              piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))();\n              pppbStack_1138 = (byte ***)*piVar4;\n            }\n            pppppbVar13 = (byte *****)ppppbStack_1158;\n            pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n            puVar17 = puVar17 + iVar3;\n          } while ((appppbStack_1118[0] != ppppbStack_1120) ||\n                  (puVar17 = puVar18, iStack_1108 != iStack_112c));\n          puVar17 = puVar19;\n        } while (iStack_1104 != iStack_113c);\n        pppppbVar9 = param_1;\n        unaff_s3 = (byte *****)((int)pppppbVar14 - (int)unaff_s1);\n        unaff_s5 = unaff_s6;\n        while (unaff_s3 <= pppppbVar5) {\n          unaff_s6 = (byte *****)((int)unaff_s5 << 1);\n          ppppbStack_1120 = (byte ****)pppppbVar9;\n          if (pppppbVar10 == pppppbVar13) {\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pppppbVar9 = (byte *****)0x0;\n              ppppbStack_44 = (byte ****)pppppbVar2;\n              if ((ppppbStack_1134 == ppppbStack_1148) ||\n                 (pppppbVar10 = (byte *****)ppppbStack_1158, puVar26 = puVar22,\n                 (byte *****)ppppbStack_1134 == (byte *****)0x0)) goto LAB_000dfb60;\n              goto LAB_000dfb18;\n            }\n          }\n          else {\n            pppppbVar2 = unaff_s6;\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(pppppbVar10,unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar20;\n              if (ppppbStack_1134 == ppppbStack_1148) goto LAB_000dfcc0;\n              pcVar16 = *(code **)(puStack_1170 + -0x6204);\n              if ((byte *****)ppppbStack_1134 != (byte *****)0x0) goto LAB_000dfb1c;\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar21;\n              goto LAB_000dfcc0;\n            }\n            pppppbVar14 = (byte *****)((int)unaff_s1 + (int)unaff_s3);\n          }\n          param_1 = (byte *****)((int)unaff_s5 + (int)unaff_s3);\n          param_3 = (byte *****)((int)unaff_s5 - (int)unaff_s3);\n          (**(code **)(puStack_1170 + -0x605c))((byte *****)((int)unaff_s1 + (int)param_1));\n          pppppbVar9 = (byte *****)ppppbStack_1120;\n          pppppbVar12 = pppppbVar13;\n          unaff_s3 = param_1;\n          pppppbVar2 = pppppbVar14;\n          pppppbVar10 = unaff_s1;\n          unaff_s5 = unaff_s6;\n          pppppbVar14 = (byte *****)((int)unaff_s1 + (int)param_1);\n        }\n        iVar3 = (**(code **)(puStack_1170 + -0x605c))((int)pppppbVar14 - (int)pppppbVar5);\n        pppppbVar14 = (byte *****)(iVar3 + -1);\n        pcVar16 = *(code **)(puStack_1170 + -0x6338);\n        *(undefined1 *)(iVar3 + -1) = 0x2f;\n        (*pcVar16)(iStack_111c);\n        iStack_112c = iStack_1150;\n        ppppbStack_1120 = ppppbStack_1130;\n        param_3 = pppppbVar5;\n        unaff_s1 = pppppbVar10;\n        pppppbVar13 = pppppbVar12;\n        unaff_s6 = unaff_s5;\n        puVar26 = puVar23;\n        iStack_113c = iStack_1154;\n      }\n      if (pppppbVar14 == (byte *****)ppppbStack_1168) {\n        pppppbVar14 = (byte *****)&uStack_79;\n        uStack_79 = 0x2f;\n      }\n      pppppbVar2 = pppppbVar9;\n      if (ppppbStack_1134 != ppppbStack_1148) {\n        (**(code **)(puStack_1170 + -0x6044))();\n        pppppbVar2 = pppppbVar9;\n      }\n      param_1 = (byte *****)((byte *)((int)unaff_s1 + (int)unaff_s6) + -(int)pppppbVar14);\n      if ((byte *****)ppppbStack_115c == (byte *****)0x0) {\n        if ((byte *****)ppppbStack_44 == (byte *****)0x0) {\n          pcVar16 = *(code **)(puStack_1170 + -0x6158);\n          ppppbStack_44 = (byte ****)param_1;\n        }\n        else {\n          pcVar16 = *(code **)(puStack_1170 + -0x6158);\n          if (ppppbStack_44 < param_1) goto LAB_000dfda0;\n        }\n        pppppbVar9 = (byte *****)(*pcVar16)(ppppbStack_44);\n        if (pppppbVar9 != (byte *****)0x0) goto LAB_000dfc70;\n      }\n      else {\n        pppppbVar9 = (byte *****)ppppbStack_115c;\n        if (param_1 <= ppppbStack_44) {\nLAB_000dfc70:\n          param_3 = param_1;\n          (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,pppppbVar14);\n          ppppbStack_44 = (byte ****)pppppbVar14;\n          if (unaff_s1 != (byte *****)ppppbStack_1158) {\n            (**(code **)(puStack_1170 + -0x6044))(unaff_s1);\n            ppppbStack_44 = (byte ****)pppppbVar14;\n          }\n          goto LAB_000dfb60;\n        }\nLAB_000dfda0:\n        puVar7 = (undefined4 *)(**(code **)(puStack_1170 + -0x6204))();\n        *puVar7 = 0x22;\n      }\nLAB_000dfb48:\n      pppppbVar9 = (byte *****)0x0;\n      ppppbStack_44 = (byte ****)pppppbVar2;\n      if (unaff_s1 == (byte *****)ppppbStack_1158) goto LAB_000dfb60;\n      pcVar16 = *(code **)(puStack_1170 + -0x6044);\n      pppppbVar10 = unaff_s1;\n      if (unaff_s1 != (byte *****)0x0) {\nLAB_000dfcc0:\n        (*pcVar16)(pppppbVar10);\n        unaff_s1 = pppppbVar10;\n      }\n    }\n  }\n  pppppbVar9 = (byte *****)0x0;\n  ppppbStack_44 = (byte ****)pppppbVar2;\nLAB_000dfb60:\n  pcVar16 = *(code **)(puStack_1170 + -0x60b8);\n  if (iStack_74 == *piStack_1144) {\n    return pppppbVar9;\n  }\n  pcVar27 = zwrite;\n  iVar3 = iStack_74;\n  (*pcVar16)();\n  pcVar16 = pcVar16 + 0x6c740;\n  *(byte ******)(puVar26 + -0x10) = pppppbVar13;\n  *(byte ******)(puVar26 + -0x14) = unaff_s3;\n  iVar6 = 0;\n  *(byte ******)(puVar26 + -8) = unaff_s6;\n  *(byte ******)(puVar26 + -0xc) = unaff_s5;\n  *(byte ******)(puVar26 + -0x18) = pppppbVar9;\n  *(byte ******)(puVar26 + -0x1c) = unaff_s1;\n  *(byte ******)(puVar26 + -0x20) = param_1;\n  *(code **)(puVar26 + -0x28) = pcVar16;\n  *(code **)(puVar26 + -4) = pcVar27;\n  pppppbVar9 = param_3;\n  do {\n    while( true ) {\n      while( true ) {\n        iVar8 = (**(code **)(pcVar16 + -0x61c0))(iVar3,ppppbStack_44,pppppbVar9);\n        pcVar16 = *(code **)(puVar26 + -0x28);\n        if (iVar8 < 1) break;\n        pppppbVar9 = (byte *****)((int)pppppbVar9 - iVar8);\n        ppppbStack_44 = (byte ****)((int)ppppbStack_44 + iVar8);\n        if ((int)pppppbVar9 < 1) {\n          return param_3;\n        }\n      }\n      if (iVar8 != 0) break;\n      iVar6 = iVar6 + 1;\n      if (3 < iVar6) {\n        return (byte *****)((int)param_3 - (int)pppppbVar9);\n      }\n    }\n    piVar4 = (int *)(**(code **)(pcVar16 + -0x6204))();\n    pcVar16 = *(code **)(puVar26 + -0x28);\n  } while (*piVar4 == 4);\n  return (byte *****)0xffffffff;\n}" type_identifier (pointer_declarator "***** mbschr(byte *****param_1,byte *****param_2,byte *****param_3)" * (pointer_declarator "**** mbschr(byte *****param_1,byte *****param_2,byte *****param_3)" * (pointer_declarator "*** mbschr(byte *****param_1,byte *****param_2,byte *****param_3)" * (pointer_declarator "** mbschr(byte *****param_1,byte *****param_2,byte *****param_3)" * (pointer_declarator "* mbschr(byte *****param_1,byte *****param_2,byte *****param_3)" * (function_declarator "mbschr(byte *****param_1,byte *****param_2,byte *****param_3)" identifier (parameter_list "(byte *****param_1,byte *****param_2,byte *****param_3)" ( (parameter_declaration "byte *****param_1" type_identifier (pointer_declarator "*****param_1" * (pointer_declarator "****param_1" * (pointer_declarator "***param_1" * (pointer_declarator "**param_1" * (pointer_declarator "*param_1" * identifier)))))) , (parameter_declaration "byte *****param_2" type_identifier (pointer_declarator "*****param_2" * (pointer_declarator "****param_2" * (pointer_declarator "***param_2" * (pointer_declarator "**param_2" * (pointer_declarator "*param_2" * identifier)))))) , (parameter_declaration "byte *****param_3" type_identifier (pointer_declarator "*****param_3" * (pointer_declarator "****param_3" * (pointer_declarator "***param_3" * (pointer_declarator "**param_3" * (pointer_declarator "*param_3" * identifier)))))) )))))))) (compound_statement "{\n  byte bVar1;\n  byte *****pppppbVar2;\n  int iVar3;\n  int *piVar4;\n  byte *****pppppbVar5;\n  int iVar6;\n  undefined4 *puVar7;\n  int iVar8;\n  byte *****pppppbVar9;\n  byte *****unaff_s1;\n  byte *****pppppbVar10;\n  byte ****ppppbVar11;\n  byte *****unaff_s3;\n  byte *****pppppbVar12;\n  byte *****pppppbVar13;\n  byte *****unaff_s5;\n  byte *****unaff_s6;\n  byte *****pppppbVar14;\n  undefined *puVar15;\n  code *pcVar16;\n  undefined1 *puVar17;\n  undefined1 *puVar18;\n  undefined1 *puVar24;\n  undefined1 *puVar25;\n  undefined1 *puVar26;\n  code *pcVar27;\n  undefined1 auStack_1180 [16];\n  undefined *puStack_1170;\n  byte ****ppppbStack_1168;\n  int iStack_1164;\n  int iStack_1160;\n  byte ****ppppbStack_115c;\n  byte ****ppppbStack_1158;\n  int iStack_1154;\n  int iStack_1150;\n  byte ****ppppbStack_114c;\n  byte ****ppppbStack_1148;\n  int *piStack_1144;\n  byte ****ppppbStack_1140;\n  int iStack_113c;\n  byte ***pppbStack_1138;\n  byte ****ppppbStack_1134;\n  byte ****ppppbStack_1130;\n  int iStack_112c;\n  byte ****ppppbStack_1128;\n  byte ****ppppbStack_1124;\n  byte ****ppppbStack_1120;\n  int iStack_111c;\n  byte ****appppbStack_1118 [4];\n  int iStack_1108;\n  int iStack_1104;\n  byte ***apppbStack_1078 [1023];\n  undefined1 uStack_79;\n  undefined1 auStack_78 [4];\n  int iStack_74;\n  byte ****ppppbStack_70;\n  byte ****ppppbStack_6c;\n  byte ****ppppbStack_68;\n  byte ****ppppbStack_64;\n  undefined *puStack_60;\n  byte ****ppppbStack_5c;\n  byte ****ppppbStack_44;\n  byte ***local_2c;\n  undefined4 local_28;\n  byte ****local_24;\n  undefined1 *puVar19;\n  undefined1 *puVar20;\n  undefined1 *puVar21;\n  undefined1 *puVar22;\n  undefined1 *puVar23;\n  \n  pppppbVar13 = (byte *****)PTR___stack_chk_guard_001464dc;\n  pppppbVar9 = (byte *****)PTR_is_basic_table_00144b04;\n  local_24 = *(byte *****)PTR___stack_chk_guard_001464dc;\n  ppppbStack_44 = (byte ****)param_2;\n  if ((*(int *)PTR_locale_utf8locale_00144afc == 0) || (0x7f < (int)param_2)) {\n    if ((0x2f < ((uint)param_2 & 0xff)) &&\n       (unaff_s5 = (byte *****)&local_2c, 1 < *(int *)PTR_locale_mb_cur_max_00144b00)) {\n      local_2c = (byte ***)0x0;\n      local_28 = 0;\n      unaff_s1 = (byte *****)(*(code *)PTR_strlen_00146390)(param_1);\n      pppppbVar2 = param_1;\n      if (unaff_s1 == (byte *****)0x0) {\n        pppppbVar2 = (byte *****)0x0;\n      }\n      else {\n        do {\n          bVar1 = *(byte *)pppppbVar2;\n          param_1 = pppppbVar2;\n          if ((*(uint *)((int)pppppbVar9 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n            ppppbStack_44 = (byte ****)pppppbVar2;\n            param_3 = unaff_s1;\n            iVar3 = (*(code *)PTR_mbrtowc_00146408)(0,pppppbVar2,unaff_s1,unaff_s5);\n            if (0xfffffffb < iVar3 - 2U) {\n              if ((byte *****)(uint)*(byte *)pppppbVar2 != param_2) goto LAB_000df640;\n              goto LAB_000df6f8;\n            }\n          }\n          else {\n            if ((byte *****)(uint)bVar1 == param_2) goto LAB_000df6f8;\nLAB_000df640:\n            iVar3 = 1;\n          }\n          unaff_s1 = (byte *****)((int)unaff_s1 - iVar3);\n          param_1 = (byte *****)((int)pppppbVar2 + iVar3);\n          pppppbVar2 = param_1;\n        } while (unaff_s1 != (byte *****)0x0);\n        pppppbVar2 = (byte *****)0x0;\n      }\n      goto LAB_000df6f8;\n    }\n    pppppbVar14 = param_1;\n    if ((byte *****)local_24 == *(byte ******)PTR___stack_chk_guard_001464dc) {\n                    /* WARNING: Could not recover jumptable at 0x000df6e0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      pppppbVar9 = (byte *****)(*(code *)PTR_strchr_00146398)(param_1,param_2);\n      return pppppbVar9;\n    }\n  }\n  else {\n    pppppbVar2 = (byte *****)utf8_mbschr((char *)param_1,(int)param_2);\n    pppppbVar9 = unaff_s3;\nLAB_000df6f8:\n    pppppbVar14 = (byte *****)local_24;\n    unaff_s3 = pppppbVar9;\n    if (local_24 == *pppppbVar13) {\n      return pppppbVar2;\n    }\n  }\n  puVar15 = PTR___stack_chk_fail_00146488;\n  (*(code *)PTR___stack_chk_fail_00146488)();\n  puStack_1170 = puVar15 + 0x6ce00;\n  puVar26 = auStack_1180;\n  piStack_1144 = *(int **)(puVar15 + 0x66d9c);\n  puStack_60 = (undefined *)pppppbVar13;\n  iStack_74 = *piStack_1144;\n  ppppbStack_115c = (byte ****)pppppbVar14;\n  ppppbStack_70 = (byte ****)param_1;\n  ppppbStack_6c = (byte ****)unaff_s1;\n  ppppbStack_68 = (byte ****)param_2;\n  ppppbStack_64 = (byte ****)unaff_s3;\n  ppppbStack_5c = (byte ****)unaff_s5;\n  if ((pppppbVar14 != (byte *****)0x0) && ((byte *****)ppppbStack_44 == (byte *****)0x0)) {\n    pppppbVar9 = (byte *****)0x0;\n    puVar7 = (undefined4 *)(**(code **)(puVar15 + 0x66bfc))();\n    *puVar7 = 0x16;\n    goto LAB_000dfb60;\n  }\n  param_3 = appppbStack_1118;\n  pppppbVar2 = (byte *****)(*(int *)(puVar15 + 0x64e6c) + -0x7e78);\n  auStack_78[0] = 0;\n  ppppbStack_1128 = (byte ****)param_3;\n  iVar3 = (**(code **)(puVar15 + 0x66af4))(3,pppppbVar2);\n  puVar26 = auStack_1180;\n  if (-1 < iVar3) {\n    ppppbStack_1120 = appppbStack_1118[0];\n    pppppbVar9 = (byte *****)(*(int *)(puStack_1170 + -0x7aac) + -0x7ee8);\n    iStack_112c = iStack_1108;\n    iStack_113c = iStack_1104;\n    param_3 = (byte *****)ppppbStack_1128;\n    iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,pppppbVar9);\n    pppppbVar2 = pppppbVar9;\n    puVar26 = auStack_1180;\n    if (-1 < iVar3) {\n      ppppbStack_1158 = apppbStack_1078;\n      pppppbVar14 = (byte *****)auStack_78;\n      ppppbStack_114c = appppbStack_1118[0];\n      iStack_1160 = iStack_1108;\n      ppppbStack_1148 = (byte ****)(*(int *)(puStack_1170 + -0x7f94) + -0x34d0);\n      pppbStack_1138 = (byte ***)0x0;\n      iStack_1164 = iStack_1104;\n      ppppbStack_1140 = (byte ****)0xe0;\n      ppppbStack_1124 = (byte ****)(*(int *)(puStack_1170 + -0x7f94) + -0x33ef);\n      unaff_s1 = (byte *****)ppppbStack_1158;\n      unaff_s6 = (byte *****)0x1001;\n      puVar26 = auStack_1180;\n      ppppbStack_1168 = (byte ****)pppppbVar14;\n      ppppbStack_1134 = ppppbStack_1148;\n      while (((ppppbStack_1120 != ppppbStack_114c || (iStack_112c != iStack_1160)) ||\n             (iStack_113c != iStack_1164))) {\n        pppppbVar12 = pppppbVar13;\n        pppppbVar10 = unaff_s1;\n        if (ppppbStack_1124 == ppppbStack_1134) {\n          param_1 = (byte *****)((int)ppppbStack_1140 * 2);\n          pppppbVar2 = (byte *****)((int)param_1 + 1);\n          if (ppppbStack_1124 == ppppbStack_1148) {\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(pppppbVar2);\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb48;\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,ppppbStack_1148,ppppbStack_1140);\n          }\n          else {\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(ppppbStack_1134);\n            puVar24 = puVar26;\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb18;\n          }\n          pppppbVar12 = (byte *****)ppppbStack_1140;\n          unaff_s3 = (byte *****)((int)pppppbVar9 + (int)ppppbStack_1140);\n          ppppbStack_1124 = (byte ****)unaff_s3;\n          (**(code **)(puStack_1170 + -0x605c))(unaff_s3,pppppbVar9,ppppbStack_1140);\n          *(byte *)((int)unaff_s3 + (int)pppppbVar12) = 0;\n          ppppbStack_1140 = (byte ****)param_1;\n          ppppbStack_1134 = (byte ****)pppppbVar9;\n        }\n        param_1 = (byte *****)((int)ppppbStack_1124 + -3);\n        pppppbVar2 = param_1;\n        param_3 = (byte *****)ppppbStack_1128;\n        ppppbStack_1124 = (byte ****)param_1;\n        iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,param_1);\n        pppppbVar13 = pppppbVar12;\n        puVar17 = puVar26;\n        if (iVar3 < 0) {\nLAB_000dfb00:\n          puVar26 = puVar17;\n          if ((ppppbStack_1134 != ppppbStack_1148) &&\n             (puVar24 = puVar17, (byte *****)ppppbStack_1134 != (byte *****)0x0)) {\nLAB_000dfb18:\n            pcVar16 = *(code **)(puStack_1170 + -0x6204);\n            puVar25 = puVar24;\nLAB_000dfb1c:\n            param_1 = (byte *****)(*pcVar16)();\n            ppppbVar11 = *param_1;\n            (**(code **)(puStack_1170 + -0x6044))(ppppbStack_1134);\n            *param_1 = ppppbVar11;\n            unaff_s1 = pppppbVar10;\n            puVar26 = puVar25;\n          }\n          goto LAB_000dfb48;\n        }\n        ppppbStack_1130 = appppbStack_1118[0];\n        iStack_1150 = iStack_1108;\n        iStack_1154 = iStack_1104;\n        iStack_111c = (**(code **)(puStack_1170 + -0x633c))(param_1);\n        if (iStack_111c == 0) goto LAB_000dfb00;\n        unaff_s3 = (byte *****)\n                   ((byte *)((int)ppppbStack_1134 + (int)ppppbStack_1140) + -(int)param_1);\n        unaff_s5 = (byte *****)((int)unaff_s3 + 1);\nLAB_000df8ec:\n        do {\n          pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n          do {\n            do {\n              piVar4 = (int *)(*pcVar16)(iStack_111c);\n              while( true ) {\n                if (piVar4 == (int *)0x0) {\n                  param_1 = (byte *****)(**(code **)(puStack_1170 + -0x6204))();\n                  ppppbVar11 = (byte ****)pppbStack_1138;\n                  if (*param_1 != (byte ****)0x0) {\n                    ppppbVar11 = *param_1;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  *param_1 = ppppbVar11;\n                  pppppbVar13 = pppppbVar12;\n                  goto LAB_000dfb00;\n                }\n                if (*(char *)((int)piVar4 + 0x13) != '.') break;\n                pppppbVar2 = (byte *****)0xffff0000;\n                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;\n                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;\n                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);\n              }\n            } while ((ppppbStack_1120 == ppppbStack_1130) &&\n                    ((pcVar16 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c))));\n            param_1 = (byte *****)((int)piVar4 + 0x13);\n            pppppbVar5 = (byte *****)(**(code **)(puStack_1170 + -0x61b0))(param_1);\n            iVar3 = -((uint)((byte *)((int)unaff_s5 + (int)pppppbVar5) + 8) & 0xfffffff8);\n            puVar18 = puVar17 + iVar3;\n            puVar19 = puVar17 + iVar3;\n            puVar20 = puVar17 + iVar3;\n            puVar25 = puVar17 + iVar3;\n            puVar21 = puVar17 + iVar3;\n            puVar26 = puVar17 + iVar3;\n            puVar22 = puVar17 + iVar3;\n            puVar24 = puVar17 + iVar3;\n            puVar23 = puVar17 + iVar3;\n            pppppbVar12 = (byte *****)(puVar17 + iVar3 + 0x10);\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar12,ppppbStack_1124,unaff_s3);\n            puVar15 = puStack_1170;\n            *(byte *)((int)pppppbVar12 + (int)unaff_s3) = 0x2f;\n            (**(code **)(puVar15 + -0x605c))\n                      ((byte *)((int)pppppbVar12 + (int)unaff_s5),param_1,\n                       (byte *)((int)pppppbVar5 + 1));\n            pppppbVar2 = pppppbVar12;\n            param_3 = (byte *****)ppppbStack_1128;\n            iVar6 = (**(code **)(puStack_1170 + -0x632c))(3,pppppbVar12);\n            if (iVar6 < 0) {\n              piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))();\n              pppbStack_1138 = (byte ***)*piVar4;\n            }\n            pppppbVar13 = (byte *****)ppppbStack_1158;\n            pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n            puVar17 = puVar17 + iVar3;\n          } while ((appppbStack_1118[0] != ppppbStack_1120) ||\n                  (puVar17 = puVar18, iStack_1108 != iStack_112c));\n          puVar17 = puVar19;\n        } while (iStack_1104 != iStack_113c);\n        pppppbVar9 = param_1;\n        unaff_s3 = (byte *****)((int)pppppbVar14 - (int)unaff_s1);\n        unaff_s5 = unaff_s6;\n        while (unaff_s3 <= pppppbVar5) {\n          unaff_s6 = (byte *****)((int)unaff_s5 << 1);\n          ppppbStack_1120 = (byte ****)pppppbVar9;\n          if (pppppbVar10 == pppppbVar13) {\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pppppbVar9 = (byte *****)0x0;\n              ppppbStack_44 = (byte ****)pppppbVar2;\n              if ((ppppbStack_1134 == ppppbStack_1148) ||\n                 (pppppbVar10 = (byte *****)ppppbStack_1158, puVar26 = puVar22,\n                 (byte *****)ppppbStack_1134 == (byte *****)0x0)) goto LAB_000dfb60;\n              goto LAB_000dfb18;\n            }\n          }\n          else {\n            pppppbVar2 = unaff_s6;\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(pppppbVar10,unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar20;\n              if (ppppbStack_1134 == ppppbStack_1148) goto LAB_000dfcc0;\n              pcVar16 = *(code **)(puStack_1170 + -0x6204);\n              if ((byte *****)ppppbStack_1134 != (byte *****)0x0) goto LAB_000dfb1c;\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar21;\n              goto LAB_000dfcc0;\n            }\n            pppppbVar14 = (byte *****)((int)unaff_s1 + (int)unaff_s3);\n          }\n          param_1 = (byte *****)((int)unaff_s5 + (int)unaff_s3);\n          param_3 = (byte *****)((int)unaff_s5 - (int)unaff_s3);\n          (**(code **)(puStack_1170 + -0x605c))((byte *****)((int)unaff_s1 + (int)param_1));\n          pppppbVar9 = (byte *****)ppppbStack_1120;\n          pppppbVar12 = pppppbVar13;\n          unaff_s3 = param_1;\n          pppppbVar2 = pppppbVar14;\n          pppppbVar10 = unaff_s1;\n          unaff_s5 = unaff_s6;\n          pppppbVar14 = (byte *****)((int)unaff_s1 + (int)param_1);\n        }\n        iVar3 = (**(code **)(puStack_1170 + -0x605c))((int)pppppbVar14 - (int)pppppbVar5);\n        pppppbVar14 = (byte *****)(iVar3 + -1);\n        pcVar16 = *(code **)(puStack_1170 + -0x6338);\n        *(undefined1 *)(iVar3 + -1) = 0x2f;\n        (*pcVar16)(iStack_111c);\n        iStack_112c = iStack_1150;\n        ppppbStack_1120 = ppppbStack_1130;\n        param_3 = pppppbVar5;\n        unaff_s1 = pppppbVar10;\n        pppppbVar13 = pppppbVar12;\n        unaff_s6 = unaff_s5;\n        puVar26 = puVar23;\n        iStack_113c = iStack_1154;\n      }\n      if (pppppbVar14 == (byte *****)ppppbStack_1168) {\n        pppppbVar14 = (byte *****)&uStack_79;\n        uStack_79 = 0x2f;\n      }\n      pppppbVar2 = pppppbVar9;\n      if (ppppbStack_1134 != ppppbStack_1148) {\n        (**(code **)(puStack_1170 + -0x6044))();\n        pppppbVar2 = pppppbVar9;\n      }\n      param_1 = (byte *****)((byte *)((int)unaff_s1 + (int)unaff_s6) + -(int)pppppbVar14);\n      if ((byte *****)ppppbStack_115c == (byte *****)0x0) {\n        if ((byte *****)ppppbStack_44 == (byte *****)0x0) {\n          pcVar16 = *(code **)(puStack_1170 + -0x6158);\n          ppppbStack_44 = (byte ****)param_1;\n        }\n        else {\n          pcVar16 = *(code **)(puStack_1170 + -0x6158);\n          if (ppppbStack_44 < param_1) goto LAB_000dfda0;\n        }\n        pppppbVar9 = (byte *****)(*pcVar16)(ppppbStack_44);\n        if (pppppbVar9 != (byte *****)0x0) goto LAB_000dfc70;\n      }\n      else {\n        pppppbVar9 = (byte *****)ppppbStack_115c;\n        if (param_1 <= ppppbStack_44) {\nLAB_000dfc70:\n          param_3 = param_1;\n          (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,pppppbVar14);\n          ppppbStack_44 = (byte ****)pppppbVar14;\n          if (unaff_s1 != (byte *****)ppppbStack_1158) {\n            (**(code **)(puStack_1170 + -0x6044))(unaff_s1);\n            ppppbStack_44 = (byte ****)pppppbVar14;\n          }\n          goto LAB_000dfb60;\n        }\nLAB_000dfda0:\n        puVar7 = (undefined4 *)(**(code **)(puStack_1170 + -0x6204))();\n        *puVar7 = 0x22;\n      }\nLAB_000dfb48:\n      pppppbVar9 = (byte *****)0x0;\n      ppppbStack_44 = (byte ****)pppppbVar2;\n      if (unaff_s1 == (byte *****)ppppbStack_1158) goto LAB_000dfb60;\n      pcVar16 = *(code **)(puStack_1170 + -0x6044);\n      pppppbVar10 = unaff_s1;\n      if (unaff_s1 != (byte *****)0x0) {\nLAB_000dfcc0:\n        (*pcVar16)(pppppbVar10);\n        unaff_s1 = pppppbVar10;\n      }\n    }\n  }\n  pppppbVar9 = (byte *****)0x0;\n  ppppbStack_44 = (byte ****)pppppbVar2;\nLAB_000dfb60:\n  pcVar16 = *(code **)(puStack_1170 + -0x60b8);\n  if (iStack_74 == *piStack_1144) {\n    return pppppbVar9;\n  }\n  pcVar27 = zwrite;\n  iVar3 = iStack_74;\n  (*pcVar16)();\n  pcVar16 = pcVar16 + 0x6c740;\n  *(byte ******)(puVar26 + -0x10) = pppppbVar13;\n  *(byte ******)(puVar26 + -0x14) = unaff_s3;\n  iVar6 = 0;\n  *(byte ******)(puVar26 + -8) = unaff_s6;\n  *(byte ******)(puVar26 + -0xc) = unaff_s5;\n  *(byte ******)(puVar26 + -0x18) = pppppbVar9;\n  *(byte ******)(puVar26 + -0x1c) = unaff_s1;\n  *(byte ******)(puVar26 + -0x20) = param_1;\n  *(code **)(puVar26 + -0x28) = pcVar16;\n  *(code **)(puVar26 + -4) = pcVar27;\n  pppppbVar9 = param_3;\n  do {\n    while( true ) {\n      while( true ) {\n        iVar8 = (**(code **)(pcVar16 + -0x61c0))(iVar3,ppppbStack_44,pppppbVar9);\n        pcVar16 = *(code **)(puVar26 + -0x28);\n        if (iVar8 < 1) break;\n        pppppbVar9 = (byte *****)((int)pppppbVar9 - iVar8);\n        ppppbStack_44 = (byte ****)((int)ppppbStack_44 + iVar8);\n        if ((int)pppppbVar9 < 1) {\n          return param_3;\n        }\n      }\n      if (iVar8 != 0) break;\n      iVar6 = iVar6 + 1;\n      if (3 < iVar6) {\n        return (byte *****)((int)param_3 - (int)pppppbVar9);\n      }\n    }\n    piVar4 = (int *)(**(code **)(pcVar16 + -0x6204))();\n    pcVar16 = *(code **)(puVar26 + -0x28);\n  } while (*piVar4 == 4);\n  return (byte *****)0xffffffff;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "byte *****pppppbVar2;" type_identifier (pointer_declarator "*****pppppbVar2" * (pointer_declarator "****pppppbVar2" * (pointer_declarator "***pppppbVar2" * (pointer_declarator "**pppppbVar2" * (pointer_declarator "*pppppbVar2" * identifier))))) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "byte *****pppppbVar5;" type_identifier (pointer_declarator "*****pppppbVar5" * (pointer_declarator "****pppppbVar5" * (pointer_declarator "***pppppbVar5" * (pointer_declarator "**pppppbVar5" * (pointer_declarator "*pppppbVar5" * identifier))))) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "undefined4 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "byte *****pppppbVar9;" type_identifier (pointer_declarator "*****pppppbVar9" * (pointer_declarator "****pppppbVar9" * (pointer_declarator "***pppppbVar9" * (pointer_declarator "**pppppbVar9" * (pointer_declarator "*pppppbVar9" * identifier))))) ;) (declaration "byte *****unaff_s1;" type_identifier (pointer_declarator "*****unaff_s1" * (pointer_declarator "****unaff_s1" * (pointer_declarator "***unaff_s1" * (pointer_declarator "**unaff_s1" * (pointer_declarator "*unaff_s1" * identifier))))) ;) (declaration "byte *****pppppbVar10;" type_identifier (pointer_declarator "*****pppppbVar10" * (pointer_declarator "****pppppbVar10" * (pointer_declarator "***pppppbVar10" * (pointer_declarator "**pppppbVar10" * (pointer_declarator "*pppppbVar10" * identifier))))) ;) (declaration "byte ****ppppbVar11;" type_identifier (pointer_declarator "****ppppbVar11" * (pointer_declarator "***ppppbVar11" * (pointer_declarator "**ppppbVar11" * (pointer_declarator "*ppppbVar11" * identifier)))) ;) (declaration "byte *****unaff_s3;" type_identifier (pointer_declarator "*****unaff_s3" * (pointer_declarator "****unaff_s3" * (pointer_declarator "***unaff_s3" * (pointer_declarator "**unaff_s3" * (pointer_declarator "*unaff_s3" * identifier))))) ;) (declaration "byte *****pppppbVar12;" type_identifier (pointer_declarator "*****pppppbVar12" * (pointer_declarator "****pppppbVar12" * (pointer_declarator "***pppppbVar12" * (pointer_declarator "**pppppbVar12" * (pointer_declarator "*pppppbVar12" * identifier))))) ;) (declaration "byte *****pppppbVar13;" type_identifier (pointer_declarator "*****pppppbVar13" * (pointer_declarator "****pppppbVar13" * (pointer_declarator "***pppppbVar13" * (pointer_declarator "**pppppbVar13" * (pointer_declarator "*pppppbVar13" * identifier))))) ;) (declaration "byte *****unaff_s5;" type_identifier (pointer_declarator "*****unaff_s5" * (pointer_declarator "****unaff_s5" * (pointer_declarator "***unaff_s5" * (pointer_declarator "**unaff_s5" * (pointer_declarator "*unaff_s5" * identifier))))) ;) (declaration "byte *****unaff_s6;" type_identifier (pointer_declarator "*****unaff_s6" * (pointer_declarator "****unaff_s6" * (pointer_declarator "***unaff_s6" * (pointer_declarator "**unaff_s6" * (pointer_declarator "*unaff_s6" * identifier))))) ;) (declaration "byte *****pppppbVar14;" type_identifier (pointer_declarator "*****pppppbVar14" * (pointer_declarator "****pppppbVar14" * (pointer_declarator "***pppppbVar14" * (pointer_declarator "**pppppbVar14" * (pointer_declarator "*pppppbVar14" * identifier))))) ;) (declaration "undefined *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "code *pcVar16;" type_identifier (pointer_declarator "*pcVar16" * identifier) ;) (declaration "undefined1 *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "undefined1 *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "undefined1 *puVar24;" type_identifier (pointer_declarator "*puVar24" * identifier) ;) (declaration "undefined1 *puVar25;" type_identifier (pointer_declarator "*puVar25" * identifier) ;) (declaration "undefined1 *puVar26;" type_identifier (pointer_declarator "*puVar26" * identifier) ;) (declaration "code *pcVar27;" type_identifier (pointer_declarator "*pcVar27" * identifier) ;) (declaration "undefined1 auStack_1180 [16];" type_identifier (array_declarator "auStack_1180 [16]" identifier [ number_literal ]) ;) (declaration "undefined *puStack_1170;" type_identifier (pointer_declarator "*puStack_1170" * identifier) ;) (declaration "byte ****ppppbStack_1168;" type_identifier (pointer_declarator "****ppppbStack_1168" * (pointer_declarator "***ppppbStack_1168" * (pointer_declarator "**ppppbStack_1168" * (pointer_declarator "*ppppbStack_1168" * identifier)))) ;) (declaration "int iStack_1164;" primitive_type identifier ;) (declaration "int iStack_1160;" primitive_type identifier ;) (declaration "byte ****ppppbStack_115c;" type_identifier (pointer_declarator "****ppppbStack_115c" * (pointer_declarator "***ppppbStack_115c" * (pointer_declarator "**ppppbStack_115c" * (pointer_declarator "*ppppbStack_115c" * identifier)))) ;) (declaration "byte ****ppppbStack_1158;" type_identifier (pointer_declarator "****ppppbStack_1158" * (pointer_declarator "***ppppbStack_1158" * (pointer_declarator "**ppppbStack_1158" * (pointer_declarator "*ppppbStack_1158" * identifier)))) ;) (declaration "int iStack_1154;" primitive_type identifier ;) (declaration "int iStack_1150;" primitive_type identifier ;) (declaration "byte ****ppppbStack_114c;" type_identifier (pointer_declarator "****ppppbStack_114c" * (pointer_declarator "***ppppbStack_114c" * (pointer_declarator "**ppppbStack_114c" * (pointer_declarator "*ppppbStack_114c" * identifier)))) ;) (declaration "byte ****ppppbStack_1148;" type_identifier (pointer_declarator "****ppppbStack_1148" * (pointer_declarator "***ppppbStack_1148" * (pointer_declarator "**ppppbStack_1148" * (pointer_declarator "*ppppbStack_1148" * identifier)))) ;) (declaration "int *piStack_1144;" primitive_type (pointer_declarator "*piStack_1144" * identifier) ;) (declaration "byte ****ppppbStack_1140;" type_identifier (pointer_declarator "****ppppbStack_1140" * (pointer_declarator "***ppppbStack_1140" * (pointer_declarator "**ppppbStack_1140" * (pointer_declarator "*ppppbStack_1140" * identifier)))) ;) (declaration "int iStack_113c;" primitive_type identifier ;) (declaration "byte ***pppbStack_1138;" type_identifier (pointer_declarator "***pppbStack_1138" * (pointer_declarator "**pppbStack_1138" * (pointer_declarator "*pppbStack_1138" * identifier))) ;) (declaration "byte ****ppppbStack_1134;" type_identifier (pointer_declarator "****ppppbStack_1134" * (pointer_declarator "***ppppbStack_1134" * (pointer_declarator "**ppppbStack_1134" * (pointer_declarator "*ppppbStack_1134" * identifier)))) ;) (declaration "byte ****ppppbStack_1130;" type_identifier (pointer_declarator "****ppppbStack_1130" * (pointer_declarator "***ppppbStack_1130" * (pointer_declarator "**ppppbStack_1130" * (pointer_declarator "*ppppbStack_1130" * identifier)))) ;) (declaration "int iStack_112c;" primitive_type identifier ;) (declaration "byte ****ppppbStack_1128;" type_identifier (pointer_declarator "****ppppbStack_1128" * (pointer_declarator "***ppppbStack_1128" * (pointer_declarator "**ppppbStack_1128" * (pointer_declarator "*ppppbStack_1128" * identifier)))) ;) (declaration "byte ****ppppbStack_1124;" type_identifier (pointer_declarator "****ppppbStack_1124" * (pointer_declarator "***ppppbStack_1124" * (pointer_declarator "**ppppbStack_1124" * (pointer_declarator "*ppppbStack_1124" * identifier)))) ;) (declaration "byte ****ppppbStack_1120;" type_identifier (pointer_declarator "****ppppbStack_1120" * (pointer_declarator "***ppppbStack_1120" * (pointer_declarator "**ppppbStack_1120" * (pointer_declarator "*ppppbStack_1120" * identifier)))) ;) (declaration "int iStack_111c;" primitive_type identifier ;) (declaration "byte ****appppbStack_1118 [4];" type_identifier (pointer_declarator "****appppbStack_1118 [4]" * (pointer_declarator "***appppbStack_1118 [4]" * (pointer_declarator "**appppbStack_1118 [4]" * (pointer_declarator "*appppbStack_1118 [4]" * (array_declarator "appppbStack_1118 [4]" identifier [ number_literal ]))))) ;) (declaration "int iStack_1108;" primitive_type identifier ;) (declaration "int iStack_1104;" primitive_type identifier ;) (declaration "byte ***apppbStack_1078 [1023];" type_identifier (pointer_declarator "***apppbStack_1078 [1023]" * (pointer_declarator "**apppbStack_1078 [1023]" * (pointer_declarator "*apppbStack_1078 [1023]" * (array_declarator "apppbStack_1078 [1023]" identifier [ number_literal ])))) ;) (declaration "undefined1 uStack_79;" type_identifier identifier ;) (declaration "undefined1 auStack_78 [4];" type_identifier (array_declarator "auStack_78 [4]" identifier [ number_literal ]) ;) (declaration "int iStack_74;" primitive_type identifier ;) (declaration "byte ****ppppbStack_70;" type_identifier (pointer_declarator "****ppppbStack_70" * (pointer_declarator "***ppppbStack_70" * (pointer_declarator "**ppppbStack_70" * (pointer_declarator "*ppppbStack_70" * identifier)))) ;) (declaration "byte ****ppppbStack_6c;" type_identifier (pointer_declarator "****ppppbStack_6c" * (pointer_declarator "***ppppbStack_6c" * (pointer_declarator "**ppppbStack_6c" * (pointer_declarator "*ppppbStack_6c" * identifier)))) ;) (declaration "byte ****ppppbStack_68;" type_identifier (pointer_declarator "****ppppbStack_68" * (pointer_declarator "***ppppbStack_68" * (pointer_declarator "**ppppbStack_68" * (pointer_declarator "*ppppbStack_68" * identifier)))) ;) (declaration "byte ****ppppbStack_64;" type_identifier (pointer_declarator "****ppppbStack_64" * (pointer_declarator "***ppppbStack_64" * (pointer_declarator "**ppppbStack_64" * (pointer_declarator "*ppppbStack_64" * identifier)))) ;) (declaration "undefined *puStack_60;" type_identifier (pointer_declarator "*puStack_60" * identifier) ;) (declaration "byte ****ppppbStack_5c;" type_identifier (pointer_declarator "****ppppbStack_5c" * (pointer_declarator "***ppppbStack_5c" * (pointer_declarator "**ppppbStack_5c" * (pointer_declarator "*ppppbStack_5c" * identifier)))) ;) (declaration "byte ****ppppbStack_44;" type_identifier (pointer_declarator "****ppppbStack_44" * (pointer_declarator "***ppppbStack_44" * (pointer_declarator "**ppppbStack_44" * (pointer_declarator "*ppppbStack_44" * identifier)))) ;) (declaration "byte ***local_2c;" type_identifier (pointer_declarator "***local_2c" * (pointer_declarator "**local_2c" * (pointer_declarator "*local_2c" * identifier))) ;) (declaration "undefined4 local_28;" type_identifier identifier ;) (declaration "byte ****local_24;" type_identifier (pointer_declarator "****local_24" * (pointer_declarator "***local_24" * (pointer_declarator "**local_24" * (pointer_declarator "*local_24" * identifier)))) ;) (declaration "undefined1 *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "undefined1 *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "undefined1 *puVar21;" type_identifier (pointer_declarator "*puVar21" * identifier) ;) (declaration "undefined1 *puVar22;" type_identifier (pointer_declarator "*puVar22" * identifier) ;) (declaration "undefined1 *puVar23;" type_identifier (pointer_declarator "*puVar23" * identifier) ;) (expression_statement "pppppbVar13 = (byte *****)PTR___stack_chk_guard_001464dc;" (assignment_expression "pppppbVar13 = (byte *****)PTR___stack_chk_guard_001464dc" identifier = (cast_expression "(byte *****)PTR___stack_chk_guard_001464dc" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppbVar9 = (byte *****)PTR_is_basic_table_00144b04;" (assignment_expression "pppppbVar9 = (byte *****)PTR_is_basic_table_00144b04" identifier = (cast_expression "(byte *****)PTR_is_basic_table_00144b04" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "local_24 = *(byte *****)PTR___stack_chk_guard_001464dc;" (assignment_expression "local_24 = *(byte *****)PTR___stack_chk_guard_001464dc" identifier = (pointer_expression "*(byte *****)PTR___stack_chk_guard_001464dc" * (cast_expression "(byte *****)PTR___stack_chk_guard_001464dc" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier))) ;) (expression_statement "ppppbStack_44 = (byte ****)param_2;" (assignment_expression "ppppbStack_44 = (byte ****)param_2" identifier = (cast_expression "(byte ****)param_2" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (if_statement "if ((*(int *)PTR_locale_utf8locale_00144afc == 0) || (0x7f < (int)param_2)) {\n    if ((0x2f < ((uint)param_2 & 0xff)) &&\n       (unaff_s5 = (byte *****)&local_2c, 1 < *(int *)PTR_locale_mb_cur_max_00144b00)) {\n      local_2c = (byte ***)0x0;\n      local_28 = 0;\n      unaff_s1 = (byte *****)(*(code *)PTR_strlen_00146390)(param_1);\n      pppppbVar2 = param_1;\n      if (unaff_s1 == (byte *****)0x0) {\n        pppppbVar2 = (byte *****)0x0;\n      }\n      else {\n        do {\n          bVar1 = *(byte *)pppppbVar2;\n          param_1 = pppppbVar2;\n          if ((*(uint *)((int)pppppbVar9 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n            ppppbStack_44 = (byte ****)pppppbVar2;\n            param_3 = unaff_s1;\n            iVar3 = (*(code *)PTR_mbrtowc_00146408)(0,pppppbVar2,unaff_s1,unaff_s5);\n            if (0xfffffffb < iVar3 - 2U) {\n              if ((byte *****)(uint)*(byte *)pppppbVar2 != param_2) goto LAB_000df640;\n              goto LAB_000df6f8;\n            }\n          }\n          else {\n            if ((byte *****)(uint)bVar1 == param_2) goto LAB_000df6f8;\nLAB_000df640:\n            iVar3 = 1;\n          }\n          unaff_s1 = (byte *****)((int)unaff_s1 - iVar3);\n          param_1 = (byte *****)((int)pppppbVar2 + iVar3);\n          pppppbVar2 = param_1;\n        } while (unaff_s1 != (byte *****)0x0);\n        pppppbVar2 = (byte *****)0x0;\n      }\n      goto LAB_000df6f8;\n    }\n    pppppbVar14 = param_1;\n    if ((byte *****)local_24 == *(byte ******)PTR___stack_chk_guard_001464dc) {\n                    /* WARNING: Could not recover jumptable at 0x000df6e0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      pppppbVar9 = (byte *****)(*(code *)PTR_strchr_00146398)(param_1,param_2);\n      return pppppbVar9;\n    }\n  }\n  else {\n    pppppbVar2 = (byte *****)utf8_mbschr((char *)param_1,(int)param_2);\n    pppppbVar9 = unaff_s3;\nLAB_000df6f8:\n    pppppbVar14 = (byte *****)local_24;\n    unaff_s3 = pppppbVar9;\n    if (local_24 == *pppppbVar13) {\n      return pppppbVar2;\n    }\n  }" if (parenthesized_expression "((*(int *)PTR_locale_utf8locale_00144afc == 0) || (0x7f < (int)param_2))" ( (binary_expression "(*(int *)PTR_locale_utf8locale_00144afc == 0) || (0x7f < (int)param_2)" (parenthesized_expression "(*(int *)PTR_locale_utf8locale_00144afc == 0)" ( (binary_expression "*(int *)PTR_locale_utf8locale_00144afc == 0" (pointer_expression "*(int *)PTR_locale_utf8locale_00144afc" * (cast_expression "(int *)PTR_locale_utf8locale_00144afc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal) )) || (parenthesized_expression "(0x7f < (int)param_2)" ( (binary_expression "0x7f < (int)param_2" number_literal < (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) (compound_statement "{\n    if ((0x2f < ((uint)param_2 & 0xff)) &&\n       (unaff_s5 = (byte *****)&local_2c, 1 < *(int *)PTR_locale_mb_cur_max_00144b00)) {\n      local_2c = (byte ***)0x0;\n      local_28 = 0;\n      unaff_s1 = (byte *****)(*(code *)PTR_strlen_00146390)(param_1);\n      pppppbVar2 = param_1;\n      if (unaff_s1 == (byte *****)0x0) {\n        pppppbVar2 = (byte *****)0x0;\n      }\n      else {\n        do {\n          bVar1 = *(byte *)pppppbVar2;\n          param_1 = pppppbVar2;\n          if ((*(uint *)((int)pppppbVar9 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n            ppppbStack_44 = (byte ****)pppppbVar2;\n            param_3 = unaff_s1;\n            iVar3 = (*(code *)PTR_mbrtowc_00146408)(0,pppppbVar2,unaff_s1,unaff_s5);\n            if (0xfffffffb < iVar3 - 2U) {\n              if ((byte *****)(uint)*(byte *)pppppbVar2 != param_2) goto LAB_000df640;\n              goto LAB_000df6f8;\n            }\n          }\n          else {\n            if ((byte *****)(uint)bVar1 == param_2) goto LAB_000df6f8;\nLAB_000df640:\n            iVar3 = 1;\n          }\n          unaff_s1 = (byte *****)((int)unaff_s1 - iVar3);\n          param_1 = (byte *****)((int)pppppbVar2 + iVar3);\n          pppppbVar2 = param_1;\n        } while (unaff_s1 != (byte *****)0x0);\n        pppppbVar2 = (byte *****)0x0;\n      }\n      goto LAB_000df6f8;\n    }\n    pppppbVar14 = param_1;\n    if ((byte *****)local_24 == *(byte ******)PTR___stack_chk_guard_001464dc) {\n                    /* WARNING: Could not recover jumptable at 0x000df6e0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      pppppbVar9 = (byte *****)(*(code *)PTR_strchr_00146398)(param_1,param_2);\n      return pppppbVar9;\n    }\n  }" { (if_statement "if ((0x2f < ((uint)param_2 & 0xff)) &&\n       (unaff_s5 = (byte *****)&local_2c, 1 < *(int *)PTR_locale_mb_cur_max_00144b00)) {\n      local_2c = (byte ***)0x0;\n      local_28 = 0;\n      unaff_s1 = (byte *****)(*(code *)PTR_strlen_00146390)(param_1);\n      pppppbVar2 = param_1;\n      if (unaff_s1 == (byte *****)0x0) {\n        pppppbVar2 = (byte *****)0x0;\n      }\n      else {\n        do {\n          bVar1 = *(byte *)pppppbVar2;\n          param_1 = pppppbVar2;\n          if ((*(uint *)((int)pppppbVar9 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n            ppppbStack_44 = (byte ****)pppppbVar2;\n            param_3 = unaff_s1;\n            iVar3 = (*(code *)PTR_mbrtowc_00146408)(0,pppppbVar2,unaff_s1,unaff_s5);\n            if (0xfffffffb < iVar3 - 2U) {\n              if ((byte *****)(uint)*(byte *)pppppbVar2 != param_2) goto LAB_000df640;\n              goto LAB_000df6f8;\n            }\n          }\n          else {\n            if ((byte *****)(uint)bVar1 == param_2) goto LAB_000df6f8;\nLAB_000df640:\n            iVar3 = 1;\n          }\n          unaff_s1 = (byte *****)((int)unaff_s1 - iVar3);\n          param_1 = (byte *****)((int)pppppbVar2 + iVar3);\n          pppppbVar2 = param_1;\n        } while (unaff_s1 != (byte *****)0x0);\n        pppppbVar2 = (byte *****)0x0;\n      }\n      goto LAB_000df6f8;\n    }" if (parenthesized_expression "((0x2f < ((uint)param_2 & 0xff)) &&\n       (unaff_s5 = (byte *****)&local_2c, 1 < *(int *)PTR_locale_mb_cur_max_00144b00))" ( (binary_expression "(0x2f < ((uint)param_2 & 0xff)) &&\n       (unaff_s5 = (byte *****)&local_2c, 1 < *(int *)PTR_locale_mb_cur_max_00144b00)" (parenthesized_expression "(0x2f < ((uint)param_2 & 0xff))" ( (binary_expression "0x2f < ((uint)param_2 & 0xff)" number_literal < (parenthesized_expression "((uint)param_2 & 0xff)" ( (binary_expression "(uint)param_2 & 0xff" (cast_expression "(uint)param_2" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) ))) )) && (parenthesized_expression "(unaff_s5 = (byte *****)&local_2c, 1 < *(int *)PTR_locale_mb_cur_max_00144b00)" ( (comma_expression "unaff_s5 = (byte *****)&local_2c, 1 < *(int *)PTR_locale_mb_cur_max_00144b00" (assignment_expression "unaff_s5 = (byte *****)&local_2c" identifier = (cast_expression "(byte *****)&local_2c" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (pointer_expression "&local_2c" & identifier))) , (binary_expression "1 < *(int *)PTR_locale_mb_cur_max_00144b00" number_literal < (pointer_expression "*(int *)PTR_locale_mb_cur_max_00144b00" * (cast_expression "(int *)PTR_locale_mb_cur_max_00144b00" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)))) ))) )) (compound_statement "{\n      local_2c = (byte ***)0x0;\n      local_28 = 0;\n      unaff_s1 = (byte *****)(*(code *)PTR_strlen_00146390)(param_1);\n      pppppbVar2 = param_1;\n      if (unaff_s1 == (byte *****)0x0) {\n        pppppbVar2 = (byte *****)0x0;\n      }\n      else {\n        do {\n          bVar1 = *(byte *)pppppbVar2;\n          param_1 = pppppbVar2;\n          if ((*(uint *)((int)pppppbVar9 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n            ppppbStack_44 = (byte ****)pppppbVar2;\n            param_3 = unaff_s1;\n            iVar3 = (*(code *)PTR_mbrtowc_00146408)(0,pppppbVar2,unaff_s1,unaff_s5);\n            if (0xfffffffb < iVar3 - 2U) {\n              if ((byte *****)(uint)*(byte *)pppppbVar2 != param_2) goto LAB_000df640;\n              goto LAB_000df6f8;\n            }\n          }\n          else {\n            if ((byte *****)(uint)bVar1 == param_2) goto LAB_000df6f8;\nLAB_000df640:\n            iVar3 = 1;\n          }\n          unaff_s1 = (byte *****)((int)unaff_s1 - iVar3);\n          param_1 = (byte *****)((int)pppppbVar2 + iVar3);\n          pppppbVar2 = param_1;\n        } while (unaff_s1 != (byte *****)0x0);\n        pppppbVar2 = (byte *****)0x0;\n      }\n      goto LAB_000df6f8;\n    }" { (expression_statement "local_2c = (byte ***)0x0;" (assignment_expression "local_2c = (byte ***)0x0" identifier = (cast_expression "(byte ***)0x0" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" identifier = number_literal) ;) (expression_statement "unaff_s1 = (byte *****)(*(code *)PTR_strlen_00146390)(param_1);" (assignment_expression "unaff_s1 = (byte *****)(*(code *)PTR_strlen_00146390)(param_1)" identifier = (cast_expression "(byte *****)(*(code *)PTR_strlen_00146390)(param_1)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(*(code *)PTR_strlen_00146390)(param_1)" (parenthesized_expression "(*(code *)PTR_strlen_00146390)" ( (pointer_expression "*(code *)PTR_strlen_00146390" * (cast_expression "(code *)PTR_strlen_00146390" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1)" ( identifier ))))) ;) (expression_statement "pppppbVar2 = param_1;" (assignment_expression "pppppbVar2 = param_1" identifier = identifier) ;) (if_statement "if (unaff_s1 == (byte *****)0x0) {\n        pppppbVar2 = (byte *****)0x0;\n      }\n      else {\n        do {\n          bVar1 = *(byte *)pppppbVar2;\n          param_1 = pppppbVar2;\n          if ((*(uint *)((int)pppppbVar9 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n            ppppbStack_44 = (byte ****)pppppbVar2;\n            param_3 = unaff_s1;\n            iVar3 = (*(code *)PTR_mbrtowc_00146408)(0,pppppbVar2,unaff_s1,unaff_s5);\n            if (0xfffffffb < iVar3 - 2U) {\n              if ((byte *****)(uint)*(byte *)pppppbVar2 != param_2) goto LAB_000df640;\n              goto LAB_000df6f8;\n            }\n          }\n          else {\n            if ((byte *****)(uint)bVar1 == param_2) goto LAB_000df6f8;\nLAB_000df640:\n            iVar3 = 1;\n          }\n          unaff_s1 = (byte *****)((int)unaff_s1 - iVar3);\n          param_1 = (byte *****)((int)pppppbVar2 + iVar3);\n          pppppbVar2 = param_1;\n        } while (unaff_s1 != (byte *****)0x0);\n        pppppbVar2 = (byte *****)0x0;\n      }" if (parenthesized_expression "(unaff_s1 == (byte *****)0x0)" ( (binary_expression "unaff_s1 == (byte *****)0x0" identifier == (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n        pppppbVar2 = (byte *****)0x0;\n      }" { (expression_statement "pppppbVar2 = (byte *****)0x0;" (assignment_expression "pppppbVar2 = (byte *****)0x0" identifier = (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) }) (else_clause "else {\n        do {\n          bVar1 = *(byte *)pppppbVar2;\n          param_1 = pppppbVar2;\n          if ((*(uint *)((int)pppppbVar9 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n            ppppbStack_44 = (byte ****)pppppbVar2;\n            param_3 = unaff_s1;\n            iVar3 = (*(code *)PTR_mbrtowc_00146408)(0,pppppbVar2,unaff_s1,unaff_s5);\n            if (0xfffffffb < iVar3 - 2U) {\n              if ((byte *****)(uint)*(byte *)pppppbVar2 != param_2) goto LAB_000df640;\n              goto LAB_000df6f8;\n            }\n          }\n          else {\n            if ((byte *****)(uint)bVar1 == param_2) goto LAB_000df6f8;\nLAB_000df640:\n            iVar3 = 1;\n          }\n          unaff_s1 = (byte *****)((int)unaff_s1 - iVar3);\n          param_1 = (byte *****)((int)pppppbVar2 + iVar3);\n          pppppbVar2 = param_1;\n        } while (unaff_s1 != (byte *****)0x0);\n        pppppbVar2 = (byte *****)0x0;\n      }" else (compound_statement "{\n        do {\n          bVar1 = *(byte *)pppppbVar2;\n          param_1 = pppppbVar2;\n          if ((*(uint *)((int)pppppbVar9 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n            ppppbStack_44 = (byte ****)pppppbVar2;\n            param_3 = unaff_s1;\n            iVar3 = (*(code *)PTR_mbrtowc_00146408)(0,pppppbVar2,unaff_s1,unaff_s5);\n            if (0xfffffffb < iVar3 - 2U) {\n              if ((byte *****)(uint)*(byte *)pppppbVar2 != param_2) goto LAB_000df640;\n              goto LAB_000df6f8;\n            }\n          }\n          else {\n            if ((byte *****)(uint)bVar1 == param_2) goto LAB_000df6f8;\nLAB_000df640:\n            iVar3 = 1;\n          }\n          unaff_s1 = (byte *****)((int)unaff_s1 - iVar3);\n          param_1 = (byte *****)((int)pppppbVar2 + iVar3);\n          pppppbVar2 = param_1;\n        } while (unaff_s1 != (byte *****)0x0);\n        pppppbVar2 = (byte *****)0x0;\n      }" { (do_statement "do {\n          bVar1 = *(byte *)pppppbVar2;\n          param_1 = pppppbVar2;\n          if ((*(uint *)((int)pppppbVar9 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n            ppppbStack_44 = (byte ****)pppppbVar2;\n            param_3 = unaff_s1;\n            iVar3 = (*(code *)PTR_mbrtowc_00146408)(0,pppppbVar2,unaff_s1,unaff_s5);\n            if (0xfffffffb < iVar3 - 2U) {\n              if ((byte *****)(uint)*(byte *)pppppbVar2 != param_2) goto LAB_000df640;\n              goto LAB_000df6f8;\n            }\n          }\n          else {\n            if ((byte *****)(uint)bVar1 == param_2) goto LAB_000df6f8;\nLAB_000df640:\n            iVar3 = 1;\n          }\n          unaff_s1 = (byte *****)((int)unaff_s1 - iVar3);\n          param_1 = (byte *****)((int)pppppbVar2 + iVar3);\n          pppppbVar2 = param_1;\n        } while (unaff_s1 != (byte *****)0x0);" do (compound_statement "{\n          bVar1 = *(byte *)pppppbVar2;\n          param_1 = pppppbVar2;\n          if ((*(uint *)((int)pppppbVar9 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n            ppppbStack_44 = (byte ****)pppppbVar2;\n            param_3 = unaff_s1;\n            iVar3 = (*(code *)PTR_mbrtowc_00146408)(0,pppppbVar2,unaff_s1,unaff_s5);\n            if (0xfffffffb < iVar3 - 2U) {\n              if ((byte *****)(uint)*(byte *)pppppbVar2 != param_2) goto LAB_000df640;\n              goto LAB_000df6f8;\n            }\n          }\n          else {\n            if ((byte *****)(uint)bVar1 == param_2) goto LAB_000df6f8;\nLAB_000df640:\n            iVar3 = 1;\n          }\n          unaff_s1 = (byte *****)((int)unaff_s1 - iVar3);\n          param_1 = (byte *****)((int)pppppbVar2 + iVar3);\n          pppppbVar2 = param_1;\n        }" { (expression_statement "bVar1 = *(byte *)pppppbVar2;" (assignment_expression "bVar1 = *(byte *)pppppbVar2" identifier = (pointer_expression "*(byte *)pppppbVar2" * (cast_expression "(byte *)pppppbVar2" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "param_1 = pppppbVar2;" (assignment_expression "param_1 = pppppbVar2" identifier = identifier) ;) (if_statement "if ((*(uint *)((int)pppppbVar9 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n            ppppbStack_44 = (byte ****)pppppbVar2;\n            param_3 = unaff_s1;\n            iVar3 = (*(code *)PTR_mbrtowc_00146408)(0,pppppbVar2,unaff_s1,unaff_s5);\n            if (0xfffffffb < iVar3 - 2U) {\n              if ((byte *****)(uint)*(byte *)pppppbVar2 != param_2) goto LAB_000df640;\n              goto LAB_000df6f8;\n            }\n          }\n          else {\n            if ((byte *****)(uint)bVar1 == param_2) goto LAB_000df6f8;\nLAB_000df640:\n            iVar3 = 1;\n          }" if (parenthesized_expression "((*(uint *)((int)pppppbVar9 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0)" ( (binary_expression "(*(uint *)((int)pppppbVar9 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0" (parenthesized_expression "(*(uint *)((int)pppppbVar9 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1)" ( (binary_expression "*(uint *)((int)pppppbVar9 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1" (binary_expression "*(uint *)((int)pppppbVar9 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f)" (pointer_expression "*(uint *)((int)pppppbVar9 + (uint)(bVar1 >> 5) * 4)" * (cast_expression "(uint *)((int)pppppbVar9 + (uint)(bVar1 >> 5) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppbVar9 + (uint)(bVar1 >> 5) * 4)" ( (binary_expression "(int)pppppbVar9 + (uint)(bVar1 >> 5) * 4" (cast_expression "(int)pppppbVar9" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)(bVar1 >> 5) * 4" (call_expression "(uint)(bVar1 >> 5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(bVar1 >> 5)" ( (binary_expression "bVar1 >> 5" identifier >> number_literal) ))) * number_literal)) )))) >> (parenthesized_expression "(bVar1 & 0x1f)" ( (binary_expression "bVar1 & 0x1f" identifier & number_literal) ))) & number_literal) )) == number_literal) )) (compound_statement "{\n            ppppbStack_44 = (byte ****)pppppbVar2;\n            param_3 = unaff_s1;\n            iVar3 = (*(code *)PTR_mbrtowc_00146408)(0,pppppbVar2,unaff_s1,unaff_s5);\n            if (0xfffffffb < iVar3 - 2U) {\n              if ((byte *****)(uint)*(byte *)pppppbVar2 != param_2) goto LAB_000df640;\n              goto LAB_000df6f8;\n            }\n          }" { (expression_statement "ppppbStack_44 = (byte ****)pppppbVar2;" (assignment_expression "ppppbStack_44 = (byte ****)pppppbVar2" identifier = (cast_expression "(byte ****)pppppbVar2" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "param_3 = unaff_s1;" (assignment_expression "param_3 = unaff_s1" identifier = identifier) ;) (expression_statement "iVar3 = (*(code *)PTR_mbrtowc_00146408)(0,pppppbVar2,unaff_s1,unaff_s5);" (assignment_expression "iVar3 = (*(code *)PTR_mbrtowc_00146408)(0,pppppbVar2,unaff_s1,unaff_s5)" identifier = (call_expression "(*(code *)PTR_mbrtowc_00146408)(0,pppppbVar2,unaff_s1,unaff_s5)" (parenthesized_expression "(*(code *)PTR_mbrtowc_00146408)" ( (pointer_expression "*(code *)PTR_mbrtowc_00146408" * (cast_expression "(code *)PTR_mbrtowc_00146408" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,pppppbVar2,unaff_s1,unaff_s5)" ( number_literal , identifier , identifier , identifier )))) ;) (if_statement "if (0xfffffffb < iVar3 - 2U) {\n              if ((byte *****)(uint)*(byte *)pppppbVar2 != param_2) goto LAB_000df640;\n              goto LAB_000df6f8;\n            }" if (parenthesized_expression "(0xfffffffb < iVar3 - 2U)" ( (binary_expression "0xfffffffb < iVar3 - 2U" number_literal < (binary_expression "iVar3 - 2U" identifier - number_literal)) )) (compound_statement "{\n              if ((byte *****)(uint)*(byte *)pppppbVar2 != param_2) goto LAB_000df640;\n              goto LAB_000df6f8;\n            }" { (if_statement "if ((byte *****)(uint)*(byte *)pppppbVar2 != param_2) goto LAB_000df640;" if (parenthesized_expression "((byte *****)(uint)*(byte *)pppppbVar2 != param_2)" ( (binary_expression "(byte *****)(uint)*(byte *)pppppbVar2 != param_2" (binary_expression "(byte *****)(uint)*(byte *)pppppbVar2" (cast_expression "(byte *****)(uint)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(byte *)pppppbVar2" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) != identifier) )) (goto_statement "goto LAB_000df640;" goto statement_identifier ;)) (goto_statement "goto LAB_000df6f8;" goto statement_identifier ;) })) }) (else_clause "else {\n            if ((byte *****)(uint)bVar1 == param_2) goto LAB_000df6f8;\nLAB_000df640:\n            iVar3 = 1;\n          }" else (compound_statement "{\n            if ((byte *****)(uint)bVar1 == param_2) goto LAB_000df6f8;\nLAB_000df640:\n            iVar3 = 1;\n          }" { (if_statement "if ((byte *****)(uint)bVar1 == param_2) goto LAB_000df6f8;" if (parenthesized_expression "((byte *****)(uint)bVar1 == param_2)" ( (binary_expression "(byte *****)(uint)bVar1 == param_2" (cast_expression "(byte *****)(uint)bVar1" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier)) == identifier) )) (goto_statement "goto LAB_000df6f8;" goto statement_identifier ;)) (labeled_statement "LAB_000df640:\n            iVar3 = 1;" statement_identifier : (expression_statement "iVar3 = 1;" (assignment_expression "iVar3 = 1" identifier = number_literal) ;)) }))) (expression_statement "unaff_s1 = (byte *****)((int)unaff_s1 - iVar3);" (assignment_expression "unaff_s1 = (byte *****)((int)unaff_s1 - iVar3)" identifier = (cast_expression "(byte *****)((int)unaff_s1 - iVar3)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)unaff_s1 - iVar3)" ( (binary_expression "(int)unaff_s1 - iVar3" (cast_expression "(int)unaff_s1" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) )))) ;) (expression_statement "param_1 = (byte *****)((int)pppppbVar2 + iVar3);" (assignment_expression "param_1 = (byte *****)((int)pppppbVar2 + iVar3)" identifier = (cast_expression "(byte *****)((int)pppppbVar2 + iVar3)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)pppppbVar2 + iVar3)" ( (binary_expression "(int)pppppbVar2 + iVar3" (cast_expression "(int)pppppbVar2" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "pppppbVar2 = param_1;" (assignment_expression "pppppbVar2 = param_1" identifier = identifier) ;) }) while (parenthesized_expression "(unaff_s1 != (byte *****)0x0)" ( (binary_expression "unaff_s1 != (byte *****)0x0" identifier != (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) ;) (expression_statement "pppppbVar2 = (byte *****)0x0;" (assignment_expression "pppppbVar2 = (byte *****)0x0" identifier = (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) }))) (goto_statement "goto LAB_000df6f8;" goto statement_identifier ;) })) (expression_statement "pppppbVar14 = param_1;" (assignment_expression "pppppbVar14 = param_1" identifier = identifier) ;) (if_statement "if ((byte *****)local_24 == *(byte ******)PTR___stack_chk_guard_001464dc) {\n                    /* WARNING: Could not recover jumptable at 0x000df6e0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      pppppbVar9 = (byte *****)(*(code *)PTR_strchr_00146398)(param_1,param_2);\n      return pppppbVar9;\n    }" if (parenthesized_expression "((byte *****)local_24 == *(byte ******)PTR___stack_chk_guard_001464dc)" ( (binary_expression "(byte *****)local_24 == *(byte ******)PTR___stack_chk_guard_001464dc" (cast_expression "(byte *****)local_24" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier) == (pointer_expression "*(byte ******)PTR___stack_chk_guard_001464dc" * (cast_expression "(byte ******)PTR___stack_chk_guard_001464dc" ( (type_descriptor "byte ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier))) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x000df6e0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      pppppbVar9 = (byte *****)(*(code *)PTR_strchr_00146398)(param_1,param_2);\n      return pppppbVar9;\n    }" { comment comment (expression_statement "pppppbVar9 = (byte *****)(*(code *)PTR_strchr_00146398)(param_1,param_2);" (assignment_expression "pppppbVar9 = (byte *****)(*(code *)PTR_strchr_00146398)(param_1,param_2)" identifier = (cast_expression "(byte *****)(*(code *)PTR_strchr_00146398)(param_1,param_2)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(*(code *)PTR_strchr_00146398)(param_1,param_2)" (parenthesized_expression "(*(code *)PTR_strchr_00146398)" ( (pointer_expression "*(code *)PTR_strchr_00146398" * (cast_expression "(code *)PTR_strchr_00146398" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,param_2)" ( identifier , identifier ))))) ;) (return_statement "return pppppbVar9;" return identifier ;) })) }) (else_clause "else {\n    pppppbVar2 = (byte *****)utf8_mbschr((char *)param_1,(int)param_2);\n    pppppbVar9 = unaff_s3;\nLAB_000df6f8:\n    pppppbVar14 = (byte *****)local_24;\n    unaff_s3 = pppppbVar9;\n    if (local_24 == *pppppbVar13) {\n      return pppppbVar2;\n    }\n  }" else (compound_statement "{\n    pppppbVar2 = (byte *****)utf8_mbschr((char *)param_1,(int)param_2);\n    pppppbVar9 = unaff_s3;\nLAB_000df6f8:\n    pppppbVar14 = (byte *****)local_24;\n    unaff_s3 = pppppbVar9;\n    if (local_24 == *pppppbVar13) {\n      return pppppbVar2;\n    }\n  }" { (expression_statement "pppppbVar2 = (byte *****)utf8_mbschr((char *)param_1,(int)param_2);" (assignment_expression "pppppbVar2 = (byte *****)utf8_mbschr((char *)param_1,(int)param_2)" identifier = (cast_expression "(byte *****)utf8_mbschr((char *)param_1,(int)param_2)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "utf8_mbschr((char *)param_1,(int)param_2)" identifier (argument_list "((char *)param_1,(int)param_2)" ( (cast_expression "(char *)param_1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) ))))) ;) (expression_statement "pppppbVar9 = unaff_s3;" (assignment_expression "pppppbVar9 = unaff_s3" identifier = identifier) ;) (labeled_statement "LAB_000df6f8:\n    pppppbVar14 = (byte *****)local_24;" statement_identifier : (expression_statement "pppppbVar14 = (byte *****)local_24;" (assignment_expression "pppppbVar14 = (byte *****)local_24" identifier = (cast_expression "(byte *****)local_24" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;)) (expression_statement "unaff_s3 = pppppbVar9;" (assignment_expression "unaff_s3 = pppppbVar9" identifier = identifier) ;) (if_statement "if (local_24 == *pppppbVar13) {\n      return pppppbVar2;\n    }" if (parenthesized_expression "(local_24 == *pppppbVar13)" ( (binary_expression "local_24 == *pppppbVar13" identifier == (pointer_expression "*pppppbVar13" * identifier)) )) (compound_statement "{\n      return pppppbVar2;\n    }" { (return_statement "return pppppbVar2;" return identifier ;) })) }))) (expression_statement "puVar15 = PTR___stack_chk_fail_00146488;" (assignment_expression "puVar15 = PTR___stack_chk_fail_00146488" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_00146488)();" (call_expression "(*(code *)PTR___stack_chk_fail_00146488)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00146488)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_00146488" * (cast_expression "(code *)PTR___stack_chk_fail_00146488" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "puStack_1170 = puVar15 + 0x6ce00;" (assignment_expression "puStack_1170 = puVar15 + 0x6ce00" identifier = (binary_expression "puVar15 + 0x6ce00" identifier + number_literal)) ;) (expression_statement "puVar26 = auStack_1180;" (assignment_expression "puVar26 = auStack_1180" identifier = identifier) ;) (expression_statement "piStack_1144 = *(int **)(puVar15 + 0x66d9c);" (assignment_expression "piStack_1144 = *(int **)(puVar15 + 0x66d9c)" identifier = (pointer_expression "*(int **)(puVar15 + 0x66d9c)" * (cast_expression "(int **)(puVar15 + 0x66d9c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + 0x66d9c)" ( (binary_expression "puVar15 + 0x66d9c" identifier + number_literal) ))))) ;) (expression_statement "puStack_60 = (undefined *)pppppbVar13;" (assignment_expression "puStack_60 = (undefined *)pppppbVar13" identifier = (cast_expression "(undefined *)pppppbVar13" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "iStack_74 = *piStack_1144;" (assignment_expression "iStack_74 = *piStack_1144" identifier = (pointer_expression "*piStack_1144" * identifier)) ;) (expression_statement "ppppbStack_115c = (byte ****)pppppbVar14;" (assignment_expression "ppppbStack_115c = (byte ****)pppppbVar14" identifier = (cast_expression "(byte ****)pppppbVar14" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "ppppbStack_70 = (byte ****)param_1;" (assignment_expression "ppppbStack_70 = (byte ****)param_1" identifier = (cast_expression "(byte ****)param_1" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "ppppbStack_6c = (byte ****)unaff_s1;" (assignment_expression "ppppbStack_6c = (byte ****)unaff_s1" identifier = (cast_expression "(byte ****)unaff_s1" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "ppppbStack_68 = (byte ****)param_2;" (assignment_expression "ppppbStack_68 = (byte ****)param_2" identifier = (cast_expression "(byte ****)param_2" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "ppppbStack_64 = (byte ****)unaff_s3;" (assignment_expression "ppppbStack_64 = (byte ****)unaff_s3" identifier = (cast_expression "(byte ****)unaff_s3" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "ppppbStack_5c = (byte ****)unaff_s5;" (assignment_expression "ppppbStack_5c = (byte ****)unaff_s5" identifier = (cast_expression "(byte ****)unaff_s5" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (if_statement "if ((pppppbVar14 != (byte *****)0x0) && ((byte *****)ppppbStack_44 == (byte *****)0x0)) {\n    pppppbVar9 = (byte *****)0x0;\n    puVar7 = (undefined4 *)(**(code **)(puVar15 + 0x66bfc))();\n    *puVar7 = 0x16;\n    goto LAB_000dfb60;\n  }" if (parenthesized_expression "((pppppbVar14 != (byte *****)0x0) && ((byte *****)ppppbStack_44 == (byte *****)0x0))" ( (binary_expression "(pppppbVar14 != (byte *****)0x0) && ((byte *****)ppppbStack_44 == (byte *****)0x0)" (parenthesized_expression "(pppppbVar14 != (byte *****)0x0)" ( (binary_expression "pppppbVar14 != (byte *****)0x0" identifier != (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) && (parenthesized_expression "((byte *****)ppppbStack_44 == (byte *****)0x0)" ( (binary_expression "(byte *****)ppppbStack_44 == (byte *****)0x0" (cast_expression "(byte *****)ppppbStack_44" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier) == (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ))) )) (compound_statement "{\n    pppppbVar9 = (byte *****)0x0;\n    puVar7 = (undefined4 *)(**(code **)(puVar15 + 0x66bfc))();\n    *puVar7 = 0x16;\n    goto LAB_000dfb60;\n  }" { (expression_statement "pppppbVar9 = (byte *****)0x0;" (assignment_expression "pppppbVar9 = (byte *****)0x0" identifier = (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "puVar7 = (undefined4 *)(**(code **)(puVar15 + 0x66bfc))();" (assignment_expression "puVar7 = (undefined4 *)(**(code **)(puVar15 + 0x66bfc))()" identifier = (cast_expression "(undefined4 *)(**(code **)(puVar15 + 0x66bfc))()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar15 + 0x66bfc))()" (parenthesized_expression "(**(code **)(puVar15 + 0x66bfc))" ( (pointer_expression "**(code **)(puVar15 + 0x66bfc)" * (pointer_expression "*(code **)(puVar15 + 0x66bfc)" * (cast_expression "(code **)(puVar15 + 0x66bfc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + 0x66bfc)" ( (binary_expression "puVar15 + 0x66bfc" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "*puVar7 = 0x16;" (assignment_expression "*puVar7 = 0x16" (pointer_expression "*puVar7" * identifier) = number_literal) ;) (goto_statement "goto LAB_000dfb60;" goto statement_identifier ;) })) (expression_statement "param_3 = appppbStack_1118;" (assignment_expression "param_3 = appppbStack_1118" identifier = identifier) ;) (expression_statement "pppppbVar2 = (byte *****)(*(int *)(puVar15 + 0x64e6c) + -0x7e78);" (assignment_expression "pppppbVar2 = (byte *****)(*(int *)(puVar15 + 0x64e6c) + -0x7e78)" identifier = (cast_expression "(byte *****)(*(int *)(puVar15 + 0x64e6c) + -0x7e78)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(*(int *)(puVar15 + 0x64e6c) + -0x7e78)" ( (binary_expression "*(int *)(puVar15 + 0x64e6c) + -0x7e78" (pointer_expression "*(int *)(puVar15 + 0x64e6c)" * (cast_expression "(int *)(puVar15 + 0x64e6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x64e6c)" ( (binary_expression "puVar15 + 0x64e6c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "auStack_78[0] = 0;" (assignment_expression "auStack_78[0] = 0" (subscript_expression "auStack_78[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "ppppbStack_1128 = (byte ****)param_3;" (assignment_expression "ppppbStack_1128 = (byte ****)param_3" identifier = (cast_expression "(byte ****)param_3" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "iVar3 = (**(code **)(puVar15 + 0x66af4))(3,pppppbVar2);" (assignment_expression "iVar3 = (**(code **)(puVar15 + 0x66af4))(3,pppppbVar2)" identifier = (call_expression "(**(code **)(puVar15 + 0x66af4))(3,pppppbVar2)" (parenthesized_expression "(**(code **)(puVar15 + 0x66af4))" ( (pointer_expression "**(code **)(puVar15 + 0x66af4)" * (pointer_expression "*(code **)(puVar15 + 0x66af4)" * (cast_expression "(code **)(puVar15 + 0x66af4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + 0x66af4)" ( (binary_expression "puVar15 + 0x66af4" identifier + number_literal) ))))) )) (argument_list "(3,pppppbVar2)" ( number_literal , identifier )))) ;) (expression_statement "puVar26 = auStack_1180;" (assignment_expression "puVar26 = auStack_1180" identifier = identifier) ;) (if_statement "if (-1 < iVar3) {\n    ppppbStack_1120 = appppbStack_1118[0];\n    pppppbVar9 = (byte *****)(*(int *)(puStack_1170 + -0x7aac) + -0x7ee8);\n    iStack_112c = iStack_1108;\n    iStack_113c = iStack_1104;\n    param_3 = (byte *****)ppppbStack_1128;\n    iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,pppppbVar9);\n    pppppbVar2 = pppppbVar9;\n    puVar26 = auStack_1180;\n    if (-1 < iVar3) {\n      ppppbStack_1158 = apppbStack_1078;\n      pppppbVar14 = (byte *****)auStack_78;\n      ppppbStack_114c = appppbStack_1118[0];\n      iStack_1160 = iStack_1108;\n      ppppbStack_1148 = (byte ****)(*(int *)(puStack_1170 + -0x7f94) + -0x34d0);\n      pppbStack_1138 = (byte ***)0x0;\n      iStack_1164 = iStack_1104;\n      ppppbStack_1140 = (byte ****)0xe0;\n      ppppbStack_1124 = (byte ****)(*(int *)(puStack_1170 + -0x7f94) + -0x33ef);\n      unaff_s1 = (byte *****)ppppbStack_1158;\n      unaff_s6 = (byte *****)0x1001;\n      puVar26 = auStack_1180;\n      ppppbStack_1168 = (byte ****)pppppbVar14;\n      ppppbStack_1134 = ppppbStack_1148;\n      while (((ppppbStack_1120 != ppppbStack_114c || (iStack_112c != iStack_1160)) ||\n             (iStack_113c != iStack_1164))) {\n        pppppbVar12 = pppppbVar13;\n        pppppbVar10 = unaff_s1;\n        if (ppppbStack_1124 == ppppbStack_1134) {\n          param_1 = (byte *****)((int)ppppbStack_1140 * 2);\n          pppppbVar2 = (byte *****)((int)param_1 + 1);\n          if (ppppbStack_1124 == ppppbStack_1148) {\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(pppppbVar2);\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb48;\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,ppppbStack_1148,ppppbStack_1140);\n          }\n          else {\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(ppppbStack_1134);\n            puVar24 = puVar26;\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb18;\n          }\n          pppppbVar12 = (byte *****)ppppbStack_1140;\n          unaff_s3 = (byte *****)((int)pppppbVar9 + (int)ppppbStack_1140);\n          ppppbStack_1124 = (byte ****)unaff_s3;\n          (**(code **)(puStack_1170 + -0x605c))(unaff_s3,pppppbVar9,ppppbStack_1140);\n          *(byte *)((int)unaff_s3 + (int)pppppbVar12) = 0;\n          ppppbStack_1140 = (byte ****)param_1;\n          ppppbStack_1134 = (byte ****)pppppbVar9;\n        }\n        param_1 = (byte *****)((int)ppppbStack_1124 + -3);\n        pppppbVar2 = param_1;\n        param_3 = (byte *****)ppppbStack_1128;\n        ppppbStack_1124 = (byte ****)param_1;\n        iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,param_1);\n        pppppbVar13 = pppppbVar12;\n        puVar17 = puVar26;\n        if (iVar3 < 0) {\nLAB_000dfb00:\n          puVar26 = puVar17;\n          if ((ppppbStack_1134 != ppppbStack_1148) &&\n             (puVar24 = puVar17, (byte *****)ppppbStack_1134 != (byte *****)0x0)) {\nLAB_000dfb18:\n            pcVar16 = *(code **)(puStack_1170 + -0x6204);\n            puVar25 = puVar24;\nLAB_000dfb1c:\n            param_1 = (byte *****)(*pcVar16)();\n            ppppbVar11 = *param_1;\n            (**(code **)(puStack_1170 + -0x6044))(ppppbStack_1134);\n            *param_1 = ppppbVar11;\n            unaff_s1 = pppppbVar10;\n            puVar26 = puVar25;\n          }\n          goto LAB_000dfb48;\n        }\n        ppppbStack_1130 = appppbStack_1118[0];\n        iStack_1150 = iStack_1108;\n        iStack_1154 = iStack_1104;\n        iStack_111c = (**(code **)(puStack_1170 + -0x633c))(param_1);\n        if (iStack_111c == 0) goto LAB_000dfb00;\n        unaff_s3 = (byte *****)\n                   ((byte *)((int)ppppbStack_1134 + (int)ppppbStack_1140) + -(int)param_1);\n        unaff_s5 = (byte *****)((int)unaff_s3 + 1);\nLAB_000df8ec:\n        do {\n          pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n          do {\n            do {\n              piVar4 = (int *)(*pcVar16)(iStack_111c);\n              while( true ) {\n                if (piVar4 == (int *)0x0) {\n                  param_1 = (byte *****)(**(code **)(puStack_1170 + -0x6204))();\n                  ppppbVar11 = (byte ****)pppbStack_1138;\n                  if (*param_1 != (byte ****)0x0) {\n                    ppppbVar11 = *param_1;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  *param_1 = ppppbVar11;\n                  pppppbVar13 = pppppbVar12;\n                  goto LAB_000dfb00;\n                }\n                if (*(char *)((int)piVar4 + 0x13) != '.') break;\n                pppppbVar2 = (byte *****)0xffff0000;\n                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;\n                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;\n                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);\n              }\n            } while ((ppppbStack_1120 == ppppbStack_1130) &&\n                    ((pcVar16 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c))));\n            param_1 = (byte *****)((int)piVar4 + 0x13);\n            pppppbVar5 = (byte *****)(**(code **)(puStack_1170 + -0x61b0))(param_1);\n            iVar3 = -((uint)((byte *)((int)unaff_s5 + (int)pppppbVar5) + 8) & 0xfffffff8);\n            puVar18 = puVar17 + iVar3;\n            puVar19 = puVar17 + iVar3;\n            puVar20 = puVar17 + iVar3;\n            puVar25 = puVar17 + iVar3;\n            puVar21 = puVar17 + iVar3;\n            puVar26 = puVar17 + iVar3;\n            puVar22 = puVar17 + iVar3;\n            puVar24 = puVar17 + iVar3;\n            puVar23 = puVar17 + iVar3;\n            pppppbVar12 = (byte *****)(puVar17 + iVar3 + 0x10);\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar12,ppppbStack_1124,unaff_s3);\n            puVar15 = puStack_1170;\n            *(byte *)((int)pppppbVar12 + (int)unaff_s3) = 0x2f;\n            (**(code **)(puVar15 + -0x605c))\n                      ((byte *)((int)pppppbVar12 + (int)unaff_s5),param_1,\n                       (byte *)((int)pppppbVar5 + 1));\n            pppppbVar2 = pppppbVar12;\n            param_3 = (byte *****)ppppbStack_1128;\n            iVar6 = (**(code **)(puStack_1170 + -0x632c))(3,pppppbVar12);\n            if (iVar6 < 0) {\n              piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))();\n              pppbStack_1138 = (byte ***)*piVar4;\n            }\n            pppppbVar13 = (byte *****)ppppbStack_1158;\n            pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n            puVar17 = puVar17 + iVar3;\n          } while ((appppbStack_1118[0] != ppppbStack_1120) ||\n                  (puVar17 = puVar18, iStack_1108 != iStack_112c));\n          puVar17 = puVar19;\n        } while (iStack_1104 != iStack_113c);\n        pppppbVar9 = param_1;\n        unaff_s3 = (byte *****)((int)pppppbVar14 - (int)unaff_s1);\n        unaff_s5 = unaff_s6;\n        while (unaff_s3 <= pppppbVar5) {\n          unaff_s6 = (byte *****)((int)unaff_s5 << 1);\n          ppppbStack_1120 = (byte ****)pppppbVar9;\n          if (pppppbVar10 == pppppbVar13) {\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pppppbVar9 = (byte *****)0x0;\n              ppppbStack_44 = (byte ****)pppppbVar2;\n              if ((ppppbStack_1134 == ppppbStack_1148) ||\n                 (pppppbVar10 = (byte *****)ppppbStack_1158, puVar26 = puVar22,\n                 (byte *****)ppppbStack_1134 == (byte *****)0x0)) goto LAB_000dfb60;\n              goto LAB_000dfb18;\n            }\n          }\n          else {\n            pppppbVar2 = unaff_s6;\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(pppppbVar10,unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar20;\n              if (ppppbStack_1134 == ppppbStack_1148) goto LAB_000dfcc0;\n              pcVar16 = *(code **)(puStack_1170 + -0x6204);\n              if ((byte *****)ppppbStack_1134 != (byte *****)0x0) goto LAB_000dfb1c;\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar21;\n              goto LAB_000dfcc0;\n            }\n            pppppbVar14 = (byte *****)((int)unaff_s1 + (int)unaff_s3);\n          }\n          param_1 = (byte *****)((int)unaff_s5 + (int)unaff_s3);\n          param_3 = (byte *****)((int)unaff_s5 - (int)unaff_s3);\n          (**(code **)(puStack_1170 + -0x605c))((byte *****)((int)unaff_s1 + (int)param_1));\n          pppppbVar9 = (byte *****)ppppbStack_1120;\n          pppppbVar12 = pppppbVar13;\n          unaff_s3 = param_1;\n          pppppbVar2 = pppppbVar14;\n          pppppbVar10 = unaff_s1;\n          unaff_s5 = unaff_s6;\n          pppppbVar14 = (byte *****)((int)unaff_s1 + (int)param_1);\n        }\n        iVar3 = (**(code **)(puStack_1170 + -0x605c))((int)pppppbVar14 - (int)pppppbVar5);\n        pppppbVar14 = (byte *****)(iVar3 + -1);\n        pcVar16 = *(code **)(puStack_1170 + -0x6338);\n        *(undefined1 *)(iVar3 + -1) = 0x2f;\n        (*pcVar16)(iStack_111c);\n        iStack_112c = iStack_1150;\n        ppppbStack_1120 = ppppbStack_1130;\n        param_3 = pppppbVar5;\n        unaff_s1 = pppppbVar10;\n        pppppbVar13 = pppppbVar12;\n        unaff_s6 = unaff_s5;\n        puVar26 = puVar23;\n        iStack_113c = iStack_1154;\n      }\n      if (pppppbVar14 == (byte *****)ppppbStack_1168) {\n        pppppbVar14 = (byte *****)&uStack_79;\n        uStack_79 = 0x2f;\n      }\n      pppppbVar2 = pppppbVar9;\n      if (ppppbStack_1134 != ppppbStack_1148) {\n        (**(code **)(puStack_1170 + -0x6044))();\n        pppppbVar2 = pppppbVar9;\n      }\n      param_1 = (byte *****)((byte *)((int)unaff_s1 + (int)unaff_s6) + -(int)pppppbVar14);\n      if ((byte *****)ppppbStack_115c == (byte *****)0x0) {\n        if ((byte *****)ppppbStack_44 == (byte *****)0x0) {\n          pcVar16 = *(code **)(puStack_1170 + -0x6158);\n          ppppbStack_44 = (byte ****)param_1;\n        }\n        else {\n          pcVar16 = *(code **)(puStack_1170 + -0x6158);\n          if (ppppbStack_44 < param_1) goto LAB_000dfda0;\n        }\n        pppppbVar9 = (byte *****)(*pcVar16)(ppppbStack_44);\n        if (pppppbVar9 != (byte *****)0x0) goto LAB_000dfc70;\n      }\n      else {\n        pppppbVar9 = (byte *****)ppppbStack_115c;\n        if (param_1 <= ppppbStack_44) {\nLAB_000dfc70:\n          param_3 = param_1;\n          (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,pppppbVar14);\n          ppppbStack_44 = (byte ****)pppppbVar14;\n          if (unaff_s1 != (byte *****)ppppbStack_1158) {\n            (**(code **)(puStack_1170 + -0x6044))(unaff_s1);\n            ppppbStack_44 = (byte ****)pppppbVar14;\n          }\n          goto LAB_000dfb60;\n        }\nLAB_000dfda0:\n        puVar7 = (undefined4 *)(**(code **)(puStack_1170 + -0x6204))();\n        *puVar7 = 0x22;\n      }\nLAB_000dfb48:\n      pppppbVar9 = (byte *****)0x0;\n      ppppbStack_44 = (byte ****)pppppbVar2;\n      if (unaff_s1 == (byte *****)ppppbStack_1158) goto LAB_000dfb60;\n      pcVar16 = *(code **)(puStack_1170 + -0x6044);\n      pppppbVar10 = unaff_s1;\n      if (unaff_s1 != (byte *****)0x0) {\nLAB_000dfcc0:\n        (*pcVar16)(pppppbVar10);\n        unaff_s1 = pppppbVar10;\n      }\n    }\n  }" if (parenthesized_expression "(-1 < iVar3)" ( (binary_expression "-1 < iVar3" number_literal < identifier) )) (compound_statement "{\n    ppppbStack_1120 = appppbStack_1118[0];\n    pppppbVar9 = (byte *****)(*(int *)(puStack_1170 + -0x7aac) + -0x7ee8);\n    iStack_112c = iStack_1108;\n    iStack_113c = iStack_1104;\n    param_3 = (byte *****)ppppbStack_1128;\n    iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,pppppbVar9);\n    pppppbVar2 = pppppbVar9;\n    puVar26 = auStack_1180;\n    if (-1 < iVar3) {\n      ppppbStack_1158 = apppbStack_1078;\n      pppppbVar14 = (byte *****)auStack_78;\n      ppppbStack_114c = appppbStack_1118[0];\n      iStack_1160 = iStack_1108;\n      ppppbStack_1148 = (byte ****)(*(int *)(puStack_1170 + -0x7f94) + -0x34d0);\n      pppbStack_1138 = (byte ***)0x0;\n      iStack_1164 = iStack_1104;\n      ppppbStack_1140 = (byte ****)0xe0;\n      ppppbStack_1124 = (byte ****)(*(int *)(puStack_1170 + -0x7f94) + -0x33ef);\n      unaff_s1 = (byte *****)ppppbStack_1158;\n      unaff_s6 = (byte *****)0x1001;\n      puVar26 = auStack_1180;\n      ppppbStack_1168 = (byte ****)pppppbVar14;\n      ppppbStack_1134 = ppppbStack_1148;\n      while (((ppppbStack_1120 != ppppbStack_114c || (iStack_112c != iStack_1160)) ||\n             (iStack_113c != iStack_1164))) {\n        pppppbVar12 = pppppbVar13;\n        pppppbVar10 = unaff_s1;\n        if (ppppbStack_1124 == ppppbStack_1134) {\n          param_1 = (byte *****)((int)ppppbStack_1140 * 2);\n          pppppbVar2 = (byte *****)((int)param_1 + 1);\n          if (ppppbStack_1124 == ppppbStack_1148) {\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(pppppbVar2);\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb48;\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,ppppbStack_1148,ppppbStack_1140);\n          }\n          else {\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(ppppbStack_1134);\n            puVar24 = puVar26;\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb18;\n          }\n          pppppbVar12 = (byte *****)ppppbStack_1140;\n          unaff_s3 = (byte *****)((int)pppppbVar9 + (int)ppppbStack_1140);\n          ppppbStack_1124 = (byte ****)unaff_s3;\n          (**(code **)(puStack_1170 + -0x605c))(unaff_s3,pppppbVar9,ppppbStack_1140);\n          *(byte *)((int)unaff_s3 + (int)pppppbVar12) = 0;\n          ppppbStack_1140 = (byte ****)param_1;\n          ppppbStack_1134 = (byte ****)pppppbVar9;\n        }\n        param_1 = (byte *****)((int)ppppbStack_1124 + -3);\n        pppppbVar2 = param_1;\n        param_3 = (byte *****)ppppbStack_1128;\n        ppppbStack_1124 = (byte ****)param_1;\n        iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,param_1);\n        pppppbVar13 = pppppbVar12;\n        puVar17 = puVar26;\n        if (iVar3 < 0) {\nLAB_000dfb00:\n          puVar26 = puVar17;\n          if ((ppppbStack_1134 != ppppbStack_1148) &&\n             (puVar24 = puVar17, (byte *****)ppppbStack_1134 != (byte *****)0x0)) {\nLAB_000dfb18:\n            pcVar16 = *(code **)(puStack_1170 + -0x6204);\n            puVar25 = puVar24;\nLAB_000dfb1c:\n            param_1 = (byte *****)(*pcVar16)();\n            ppppbVar11 = *param_1;\n            (**(code **)(puStack_1170 + -0x6044))(ppppbStack_1134);\n            *param_1 = ppppbVar11;\n            unaff_s1 = pppppbVar10;\n            puVar26 = puVar25;\n          }\n          goto LAB_000dfb48;\n        }\n        ppppbStack_1130 = appppbStack_1118[0];\n        iStack_1150 = iStack_1108;\n        iStack_1154 = iStack_1104;\n        iStack_111c = (**(code **)(puStack_1170 + -0x633c))(param_1);\n        if (iStack_111c == 0) goto LAB_000dfb00;\n        unaff_s3 = (byte *****)\n                   ((byte *)((int)ppppbStack_1134 + (int)ppppbStack_1140) + -(int)param_1);\n        unaff_s5 = (byte *****)((int)unaff_s3 + 1);\nLAB_000df8ec:\n        do {\n          pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n          do {\n            do {\n              piVar4 = (int *)(*pcVar16)(iStack_111c);\n              while( true ) {\n                if (piVar4 == (int *)0x0) {\n                  param_1 = (byte *****)(**(code **)(puStack_1170 + -0x6204))();\n                  ppppbVar11 = (byte ****)pppbStack_1138;\n                  if (*param_1 != (byte ****)0x0) {\n                    ppppbVar11 = *param_1;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  *param_1 = ppppbVar11;\n                  pppppbVar13 = pppppbVar12;\n                  goto LAB_000dfb00;\n                }\n                if (*(char *)((int)piVar4 + 0x13) != '.') break;\n                pppppbVar2 = (byte *****)0xffff0000;\n                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;\n                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;\n                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);\n              }\n            } while ((ppppbStack_1120 == ppppbStack_1130) &&\n                    ((pcVar16 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c))));\n            param_1 = (byte *****)((int)piVar4 + 0x13);\n            pppppbVar5 = (byte *****)(**(code **)(puStack_1170 + -0x61b0))(param_1);\n            iVar3 = -((uint)((byte *)((int)unaff_s5 + (int)pppppbVar5) + 8) & 0xfffffff8);\n            puVar18 = puVar17 + iVar3;\n            puVar19 = puVar17 + iVar3;\n            puVar20 = puVar17 + iVar3;\n            puVar25 = puVar17 + iVar3;\n            puVar21 = puVar17 + iVar3;\n            puVar26 = puVar17 + iVar3;\n            puVar22 = puVar17 + iVar3;\n            puVar24 = puVar17 + iVar3;\n            puVar23 = puVar17 + iVar3;\n            pppppbVar12 = (byte *****)(puVar17 + iVar3 + 0x10);\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar12,ppppbStack_1124,unaff_s3);\n            puVar15 = puStack_1170;\n            *(byte *)((int)pppppbVar12 + (int)unaff_s3) = 0x2f;\n            (**(code **)(puVar15 + -0x605c))\n                      ((byte *)((int)pppppbVar12 + (int)unaff_s5),param_1,\n                       (byte *)((int)pppppbVar5 + 1));\n            pppppbVar2 = pppppbVar12;\n            param_3 = (byte *****)ppppbStack_1128;\n            iVar6 = (**(code **)(puStack_1170 + -0x632c))(3,pppppbVar12);\n            if (iVar6 < 0) {\n              piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))();\n              pppbStack_1138 = (byte ***)*piVar4;\n            }\n            pppppbVar13 = (byte *****)ppppbStack_1158;\n            pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n            puVar17 = puVar17 + iVar3;\n          } while ((appppbStack_1118[0] != ppppbStack_1120) ||\n                  (puVar17 = puVar18, iStack_1108 != iStack_112c));\n          puVar17 = puVar19;\n        } while (iStack_1104 != iStack_113c);\n        pppppbVar9 = param_1;\n        unaff_s3 = (byte *****)((int)pppppbVar14 - (int)unaff_s1);\n        unaff_s5 = unaff_s6;\n        while (unaff_s3 <= pppppbVar5) {\n          unaff_s6 = (byte *****)((int)unaff_s5 << 1);\n          ppppbStack_1120 = (byte ****)pppppbVar9;\n          if (pppppbVar10 == pppppbVar13) {\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pppppbVar9 = (byte *****)0x0;\n              ppppbStack_44 = (byte ****)pppppbVar2;\n              if ((ppppbStack_1134 == ppppbStack_1148) ||\n                 (pppppbVar10 = (byte *****)ppppbStack_1158, puVar26 = puVar22,\n                 (byte *****)ppppbStack_1134 == (byte *****)0x0)) goto LAB_000dfb60;\n              goto LAB_000dfb18;\n            }\n          }\n          else {\n            pppppbVar2 = unaff_s6;\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(pppppbVar10,unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar20;\n              if (ppppbStack_1134 == ppppbStack_1148) goto LAB_000dfcc0;\n              pcVar16 = *(code **)(puStack_1170 + -0x6204);\n              if ((byte *****)ppppbStack_1134 != (byte *****)0x0) goto LAB_000dfb1c;\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar21;\n              goto LAB_000dfcc0;\n            }\n            pppppbVar14 = (byte *****)((int)unaff_s1 + (int)unaff_s3);\n          }\n          param_1 = (byte *****)((int)unaff_s5 + (int)unaff_s3);\n          param_3 = (byte *****)((int)unaff_s5 - (int)unaff_s3);\n          (**(code **)(puStack_1170 + -0x605c))((byte *****)((int)unaff_s1 + (int)param_1));\n          pppppbVar9 = (byte *****)ppppbStack_1120;\n          pppppbVar12 = pppppbVar13;\n          unaff_s3 = param_1;\n          pppppbVar2 = pppppbVar14;\n          pppppbVar10 = unaff_s1;\n          unaff_s5 = unaff_s6;\n          pppppbVar14 = (byte *****)((int)unaff_s1 + (int)param_1);\n        }\n        iVar3 = (**(code **)(puStack_1170 + -0x605c))((int)pppppbVar14 - (int)pppppbVar5);\n        pppppbVar14 = (byte *****)(iVar3 + -1);\n        pcVar16 = *(code **)(puStack_1170 + -0x6338);\n        *(undefined1 *)(iVar3 + -1) = 0x2f;\n        (*pcVar16)(iStack_111c);\n        iStack_112c = iStack_1150;\n        ppppbStack_1120 = ppppbStack_1130;\n        param_3 = pppppbVar5;\n        unaff_s1 = pppppbVar10;\n        pppppbVar13 = pppppbVar12;\n        unaff_s6 = unaff_s5;\n        puVar26 = puVar23;\n        iStack_113c = iStack_1154;\n      }\n      if (pppppbVar14 == (byte *****)ppppbStack_1168) {\n        pppppbVar14 = (byte *****)&uStack_79;\n        uStack_79 = 0x2f;\n      }\n      pppppbVar2 = pppppbVar9;\n      if (ppppbStack_1134 != ppppbStack_1148) {\n        (**(code **)(puStack_1170 + -0x6044))();\n        pppppbVar2 = pppppbVar9;\n      }\n      param_1 = (byte *****)((byte *)((int)unaff_s1 + (int)unaff_s6) + -(int)pppppbVar14);\n      if ((byte *****)ppppbStack_115c == (byte *****)0x0) {\n        if ((byte *****)ppppbStack_44 == (byte *****)0x0) {\n          pcVar16 = *(code **)(puStack_1170 + -0x6158);\n          ppppbStack_44 = (byte ****)param_1;\n        }\n        else {\n          pcVar16 = *(code **)(puStack_1170 + -0x6158);\n          if (ppppbStack_44 < param_1) goto LAB_000dfda0;\n        }\n        pppppbVar9 = (byte *****)(*pcVar16)(ppppbStack_44);\n        if (pppppbVar9 != (byte *****)0x0) goto LAB_000dfc70;\n      }\n      else {\n        pppppbVar9 = (byte *****)ppppbStack_115c;\n        if (param_1 <= ppppbStack_44) {\nLAB_000dfc70:\n          param_3 = param_1;\n          (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,pppppbVar14);\n          ppppbStack_44 = (byte ****)pppppbVar14;\n          if (unaff_s1 != (byte *****)ppppbStack_1158) {\n            (**(code **)(puStack_1170 + -0x6044))(unaff_s1);\n            ppppbStack_44 = (byte ****)pppppbVar14;\n          }\n          goto LAB_000dfb60;\n        }\nLAB_000dfda0:\n        puVar7 = (undefined4 *)(**(code **)(puStack_1170 + -0x6204))();\n        *puVar7 = 0x22;\n      }\nLAB_000dfb48:\n      pppppbVar9 = (byte *****)0x0;\n      ppppbStack_44 = (byte ****)pppppbVar2;\n      if (unaff_s1 == (byte *****)ppppbStack_1158) goto LAB_000dfb60;\n      pcVar16 = *(code **)(puStack_1170 + -0x6044);\n      pppppbVar10 = unaff_s1;\n      if (unaff_s1 != (byte *****)0x0) {\nLAB_000dfcc0:\n        (*pcVar16)(pppppbVar10);\n        unaff_s1 = pppppbVar10;\n      }\n    }\n  }" { (expression_statement "ppppbStack_1120 = appppbStack_1118[0];" (assignment_expression "ppppbStack_1120 = appppbStack_1118[0]" identifier = (subscript_expression "appppbStack_1118[0]" identifier [ number_literal ])) ;) (expression_statement "pppppbVar9 = (byte *****)(*(int *)(puStack_1170 + -0x7aac) + -0x7ee8);" (assignment_expression "pppppbVar9 = (byte *****)(*(int *)(puStack_1170 + -0x7aac) + -0x7ee8)" identifier = (cast_expression "(byte *****)(*(int *)(puStack_1170 + -0x7aac) + -0x7ee8)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(*(int *)(puStack_1170 + -0x7aac) + -0x7ee8)" ( (binary_expression "*(int *)(puStack_1170 + -0x7aac) + -0x7ee8" (pointer_expression "*(int *)(puStack_1170 + -0x7aac)" * (cast_expression "(int *)(puStack_1170 + -0x7aac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_1170 + -0x7aac)" ( (binary_expression "puStack_1170 + -0x7aac" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iStack_112c = iStack_1108;" (assignment_expression "iStack_112c = iStack_1108" identifier = identifier) ;) (expression_statement "iStack_113c = iStack_1104;" (assignment_expression "iStack_113c = iStack_1104" identifier = identifier) ;) (expression_statement "param_3 = (byte *****)ppppbStack_1128;" (assignment_expression "param_3 = (byte *****)ppppbStack_1128" identifier = (cast_expression "(byte *****)ppppbStack_1128" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,pppppbVar9);" (assignment_expression "iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,pppppbVar9)" identifier = (call_expression "(**(code **)(puStack_1170 + -0x630c))(3,pppppbVar9)" (parenthesized_expression "(**(code **)(puStack_1170 + -0x630c))" ( (pointer_expression "**(code **)(puStack_1170 + -0x630c)" * (pointer_expression "*(code **)(puStack_1170 + -0x630c)" * (cast_expression "(code **)(puStack_1170 + -0x630c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x630c)" ( (binary_expression "puStack_1170 + -0x630c" identifier + number_literal) ))))) )) (argument_list "(3,pppppbVar9)" ( number_literal , identifier )))) ;) (expression_statement "pppppbVar2 = pppppbVar9;" (assignment_expression "pppppbVar2 = pppppbVar9" identifier = identifier) ;) (expression_statement "puVar26 = auStack_1180;" (assignment_expression "puVar26 = auStack_1180" identifier = identifier) ;) (if_statement "if (-1 < iVar3) {\n      ppppbStack_1158 = apppbStack_1078;\n      pppppbVar14 = (byte *****)auStack_78;\n      ppppbStack_114c = appppbStack_1118[0];\n      iStack_1160 = iStack_1108;\n      ppppbStack_1148 = (byte ****)(*(int *)(puStack_1170 + -0x7f94) + -0x34d0);\n      pppbStack_1138 = (byte ***)0x0;\n      iStack_1164 = iStack_1104;\n      ppppbStack_1140 = (byte ****)0xe0;\n      ppppbStack_1124 = (byte ****)(*(int *)(puStack_1170 + -0x7f94) + -0x33ef);\n      unaff_s1 = (byte *****)ppppbStack_1158;\n      unaff_s6 = (byte *****)0x1001;\n      puVar26 = auStack_1180;\n      ppppbStack_1168 = (byte ****)pppppbVar14;\n      ppppbStack_1134 = ppppbStack_1148;\n      while (((ppppbStack_1120 != ppppbStack_114c || (iStack_112c != iStack_1160)) ||\n             (iStack_113c != iStack_1164))) {\n        pppppbVar12 = pppppbVar13;\n        pppppbVar10 = unaff_s1;\n        if (ppppbStack_1124 == ppppbStack_1134) {\n          param_1 = (byte *****)((int)ppppbStack_1140 * 2);\n          pppppbVar2 = (byte *****)((int)param_1 + 1);\n          if (ppppbStack_1124 == ppppbStack_1148) {\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(pppppbVar2);\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb48;\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,ppppbStack_1148,ppppbStack_1140);\n          }\n          else {\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(ppppbStack_1134);\n            puVar24 = puVar26;\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb18;\n          }\n          pppppbVar12 = (byte *****)ppppbStack_1140;\n          unaff_s3 = (byte *****)((int)pppppbVar9 + (int)ppppbStack_1140);\n          ppppbStack_1124 = (byte ****)unaff_s3;\n          (**(code **)(puStack_1170 + -0x605c))(unaff_s3,pppppbVar9,ppppbStack_1140);\n          *(byte *)((int)unaff_s3 + (int)pppppbVar12) = 0;\n          ppppbStack_1140 = (byte ****)param_1;\n          ppppbStack_1134 = (byte ****)pppppbVar9;\n        }\n        param_1 = (byte *****)((int)ppppbStack_1124 + -3);\n        pppppbVar2 = param_1;\n        param_3 = (byte *****)ppppbStack_1128;\n        ppppbStack_1124 = (byte ****)param_1;\n        iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,param_1);\n        pppppbVar13 = pppppbVar12;\n        puVar17 = puVar26;\n        if (iVar3 < 0) {\nLAB_000dfb00:\n          puVar26 = puVar17;\n          if ((ppppbStack_1134 != ppppbStack_1148) &&\n             (puVar24 = puVar17, (byte *****)ppppbStack_1134 != (byte *****)0x0)) {\nLAB_000dfb18:\n            pcVar16 = *(code **)(puStack_1170 + -0x6204);\n            puVar25 = puVar24;\nLAB_000dfb1c:\n            param_1 = (byte *****)(*pcVar16)();\n            ppppbVar11 = *param_1;\n            (**(code **)(puStack_1170 + -0x6044))(ppppbStack_1134);\n            *param_1 = ppppbVar11;\n            unaff_s1 = pppppbVar10;\n            puVar26 = puVar25;\n          }\n          goto LAB_000dfb48;\n        }\n        ppppbStack_1130 = appppbStack_1118[0];\n        iStack_1150 = iStack_1108;\n        iStack_1154 = iStack_1104;\n        iStack_111c = (**(code **)(puStack_1170 + -0x633c))(param_1);\n        if (iStack_111c == 0) goto LAB_000dfb00;\n        unaff_s3 = (byte *****)\n                   ((byte *)((int)ppppbStack_1134 + (int)ppppbStack_1140) + -(int)param_1);\n        unaff_s5 = (byte *****)((int)unaff_s3 + 1);\nLAB_000df8ec:\n        do {\n          pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n          do {\n            do {\n              piVar4 = (int *)(*pcVar16)(iStack_111c);\n              while( true ) {\n                if (piVar4 == (int *)0x0) {\n                  param_1 = (byte *****)(**(code **)(puStack_1170 + -0x6204))();\n                  ppppbVar11 = (byte ****)pppbStack_1138;\n                  if (*param_1 != (byte ****)0x0) {\n                    ppppbVar11 = *param_1;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  *param_1 = ppppbVar11;\n                  pppppbVar13 = pppppbVar12;\n                  goto LAB_000dfb00;\n                }\n                if (*(char *)((int)piVar4 + 0x13) != '.') break;\n                pppppbVar2 = (byte *****)0xffff0000;\n                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;\n                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;\n                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);\n              }\n            } while ((ppppbStack_1120 == ppppbStack_1130) &&\n                    ((pcVar16 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c))));\n            param_1 = (byte *****)((int)piVar4 + 0x13);\n            pppppbVar5 = (byte *****)(**(code **)(puStack_1170 + -0x61b0))(param_1);\n            iVar3 = -((uint)((byte *)((int)unaff_s5 + (int)pppppbVar5) + 8) & 0xfffffff8);\n            puVar18 = puVar17 + iVar3;\n            puVar19 = puVar17 + iVar3;\n            puVar20 = puVar17 + iVar3;\n            puVar25 = puVar17 + iVar3;\n            puVar21 = puVar17 + iVar3;\n            puVar26 = puVar17 + iVar3;\n            puVar22 = puVar17 + iVar3;\n            puVar24 = puVar17 + iVar3;\n            puVar23 = puVar17 + iVar3;\n            pppppbVar12 = (byte *****)(puVar17 + iVar3 + 0x10);\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar12,ppppbStack_1124,unaff_s3);\n            puVar15 = puStack_1170;\n            *(byte *)((int)pppppbVar12 + (int)unaff_s3) = 0x2f;\n            (**(code **)(puVar15 + -0x605c))\n                      ((byte *)((int)pppppbVar12 + (int)unaff_s5),param_1,\n                       (byte *)((int)pppppbVar5 + 1));\n            pppppbVar2 = pppppbVar12;\n            param_3 = (byte *****)ppppbStack_1128;\n            iVar6 = (**(code **)(puStack_1170 + -0x632c))(3,pppppbVar12);\n            if (iVar6 < 0) {\n              piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))();\n              pppbStack_1138 = (byte ***)*piVar4;\n            }\n            pppppbVar13 = (byte *****)ppppbStack_1158;\n            pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n            puVar17 = puVar17 + iVar3;\n          } while ((appppbStack_1118[0] != ppppbStack_1120) ||\n                  (puVar17 = puVar18, iStack_1108 != iStack_112c));\n          puVar17 = puVar19;\n        } while (iStack_1104 != iStack_113c);\n        pppppbVar9 = param_1;\n        unaff_s3 = (byte *****)((int)pppppbVar14 - (int)unaff_s1);\n        unaff_s5 = unaff_s6;\n        while (unaff_s3 <= pppppbVar5) {\n          unaff_s6 = (byte *****)((int)unaff_s5 << 1);\n          ppppbStack_1120 = (byte ****)pppppbVar9;\n          if (pppppbVar10 == pppppbVar13) {\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pppppbVar9 = (byte *****)0x0;\n              ppppbStack_44 = (byte ****)pppppbVar2;\n              if ((ppppbStack_1134 == ppppbStack_1148) ||\n                 (pppppbVar10 = (byte *****)ppppbStack_1158, puVar26 = puVar22,\n                 (byte *****)ppppbStack_1134 == (byte *****)0x0)) goto LAB_000dfb60;\n              goto LAB_000dfb18;\n            }\n          }\n          else {\n            pppppbVar2 = unaff_s6;\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(pppppbVar10,unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar20;\n              if (ppppbStack_1134 == ppppbStack_1148) goto LAB_000dfcc0;\n              pcVar16 = *(code **)(puStack_1170 + -0x6204);\n              if ((byte *****)ppppbStack_1134 != (byte *****)0x0) goto LAB_000dfb1c;\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar21;\n              goto LAB_000dfcc0;\n            }\n            pppppbVar14 = (byte *****)((int)unaff_s1 + (int)unaff_s3);\n          }\n          param_1 = (byte *****)((int)unaff_s5 + (int)unaff_s3);\n          param_3 = (byte *****)((int)unaff_s5 - (int)unaff_s3);\n          (**(code **)(puStack_1170 + -0x605c))((byte *****)((int)unaff_s1 + (int)param_1));\n          pppppbVar9 = (byte *****)ppppbStack_1120;\n          pppppbVar12 = pppppbVar13;\n          unaff_s3 = param_1;\n          pppppbVar2 = pppppbVar14;\n          pppppbVar10 = unaff_s1;\n          unaff_s5 = unaff_s6;\n          pppppbVar14 = (byte *****)((int)unaff_s1 + (int)param_1);\n        }\n        iVar3 = (**(code **)(puStack_1170 + -0x605c))((int)pppppbVar14 - (int)pppppbVar5);\n        pppppbVar14 = (byte *****)(iVar3 + -1);\n        pcVar16 = *(code **)(puStack_1170 + -0x6338);\n        *(undefined1 *)(iVar3 + -1) = 0x2f;\n        (*pcVar16)(iStack_111c);\n        iStack_112c = iStack_1150;\n        ppppbStack_1120 = ppppbStack_1130;\n        param_3 = pppppbVar5;\n        unaff_s1 = pppppbVar10;\n        pppppbVar13 = pppppbVar12;\n        unaff_s6 = unaff_s5;\n        puVar26 = puVar23;\n        iStack_113c = iStack_1154;\n      }\n      if (pppppbVar14 == (byte *****)ppppbStack_1168) {\n        pppppbVar14 = (byte *****)&uStack_79;\n        uStack_79 = 0x2f;\n      }\n      pppppbVar2 = pppppbVar9;\n      if (ppppbStack_1134 != ppppbStack_1148) {\n        (**(code **)(puStack_1170 + -0x6044))();\n        pppppbVar2 = pppppbVar9;\n      }\n      param_1 = (byte *****)((byte *)((int)unaff_s1 + (int)unaff_s6) + -(int)pppppbVar14);\n      if ((byte *****)ppppbStack_115c == (byte *****)0x0) {\n        if ((byte *****)ppppbStack_44 == (byte *****)0x0) {\n          pcVar16 = *(code **)(puStack_1170 + -0x6158);\n          ppppbStack_44 = (byte ****)param_1;\n        }\n        else {\n          pcVar16 = *(code **)(puStack_1170 + -0x6158);\n          if (ppppbStack_44 < param_1) goto LAB_000dfda0;\n        }\n        pppppbVar9 = (byte *****)(*pcVar16)(ppppbStack_44);\n        if (pppppbVar9 != (byte *****)0x0) goto LAB_000dfc70;\n      }\n      else {\n        pppppbVar9 = (byte *****)ppppbStack_115c;\n        if (param_1 <= ppppbStack_44) {\nLAB_000dfc70:\n          param_3 = param_1;\n          (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,pppppbVar14);\n          ppppbStack_44 = (byte ****)pppppbVar14;\n          if (unaff_s1 != (byte *****)ppppbStack_1158) {\n            (**(code **)(puStack_1170 + -0x6044))(unaff_s1);\n            ppppbStack_44 = (byte ****)pppppbVar14;\n          }\n          goto LAB_000dfb60;\n        }\nLAB_000dfda0:\n        puVar7 = (undefined4 *)(**(code **)(puStack_1170 + -0x6204))();\n        *puVar7 = 0x22;\n      }\nLAB_000dfb48:\n      pppppbVar9 = (byte *****)0x0;\n      ppppbStack_44 = (byte ****)pppppbVar2;\n      if (unaff_s1 == (byte *****)ppppbStack_1158) goto LAB_000dfb60;\n      pcVar16 = *(code **)(puStack_1170 + -0x6044);\n      pppppbVar10 = unaff_s1;\n      if (unaff_s1 != (byte *****)0x0) {\nLAB_000dfcc0:\n        (*pcVar16)(pppppbVar10);\n        unaff_s1 = pppppbVar10;\n      }\n    }" if (parenthesized_expression "(-1 < iVar3)" ( (binary_expression "-1 < iVar3" number_literal < identifier) )) (compound_statement "{\n      ppppbStack_1158 = apppbStack_1078;\n      pppppbVar14 = (byte *****)auStack_78;\n      ppppbStack_114c = appppbStack_1118[0];\n      iStack_1160 = iStack_1108;\n      ppppbStack_1148 = (byte ****)(*(int *)(puStack_1170 + -0x7f94) + -0x34d0);\n      pppbStack_1138 = (byte ***)0x0;\n      iStack_1164 = iStack_1104;\n      ppppbStack_1140 = (byte ****)0xe0;\n      ppppbStack_1124 = (byte ****)(*(int *)(puStack_1170 + -0x7f94) + -0x33ef);\n      unaff_s1 = (byte *****)ppppbStack_1158;\n      unaff_s6 = (byte *****)0x1001;\n      puVar26 = auStack_1180;\n      ppppbStack_1168 = (byte ****)pppppbVar14;\n      ppppbStack_1134 = ppppbStack_1148;\n      while (((ppppbStack_1120 != ppppbStack_114c || (iStack_112c != iStack_1160)) ||\n             (iStack_113c != iStack_1164))) {\n        pppppbVar12 = pppppbVar13;\n        pppppbVar10 = unaff_s1;\n        if (ppppbStack_1124 == ppppbStack_1134) {\n          param_1 = (byte *****)((int)ppppbStack_1140 * 2);\n          pppppbVar2 = (byte *****)((int)param_1 + 1);\n          if (ppppbStack_1124 == ppppbStack_1148) {\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(pppppbVar2);\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb48;\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,ppppbStack_1148,ppppbStack_1140);\n          }\n          else {\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(ppppbStack_1134);\n            puVar24 = puVar26;\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb18;\n          }\n          pppppbVar12 = (byte *****)ppppbStack_1140;\n          unaff_s3 = (byte *****)((int)pppppbVar9 + (int)ppppbStack_1140);\n          ppppbStack_1124 = (byte ****)unaff_s3;\n          (**(code **)(puStack_1170 + -0x605c))(unaff_s3,pppppbVar9,ppppbStack_1140);\n          *(byte *)((int)unaff_s3 + (int)pppppbVar12) = 0;\n          ppppbStack_1140 = (byte ****)param_1;\n          ppppbStack_1134 = (byte ****)pppppbVar9;\n        }\n        param_1 = (byte *****)((int)ppppbStack_1124 + -3);\n        pppppbVar2 = param_1;\n        param_3 = (byte *****)ppppbStack_1128;\n        ppppbStack_1124 = (byte ****)param_1;\n        iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,param_1);\n        pppppbVar13 = pppppbVar12;\n        puVar17 = puVar26;\n        if (iVar3 < 0) {\nLAB_000dfb00:\n          puVar26 = puVar17;\n          if ((ppppbStack_1134 != ppppbStack_1148) &&\n             (puVar24 = puVar17, (byte *****)ppppbStack_1134 != (byte *****)0x0)) {\nLAB_000dfb18:\n            pcVar16 = *(code **)(puStack_1170 + -0x6204);\n            puVar25 = puVar24;\nLAB_000dfb1c:\n            param_1 = (byte *****)(*pcVar16)();\n            ppppbVar11 = *param_1;\n            (**(code **)(puStack_1170 + -0x6044))(ppppbStack_1134);\n            *param_1 = ppppbVar11;\n            unaff_s1 = pppppbVar10;\n            puVar26 = puVar25;\n          }\n          goto LAB_000dfb48;\n        }\n        ppppbStack_1130 = appppbStack_1118[0];\n        iStack_1150 = iStack_1108;\n        iStack_1154 = iStack_1104;\n        iStack_111c = (**(code **)(puStack_1170 + -0x633c))(param_1);\n        if (iStack_111c == 0) goto LAB_000dfb00;\n        unaff_s3 = (byte *****)\n                   ((byte *)((int)ppppbStack_1134 + (int)ppppbStack_1140) + -(int)param_1);\n        unaff_s5 = (byte *****)((int)unaff_s3 + 1);\nLAB_000df8ec:\n        do {\n          pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n          do {\n            do {\n              piVar4 = (int *)(*pcVar16)(iStack_111c);\n              while( true ) {\n                if (piVar4 == (int *)0x0) {\n                  param_1 = (byte *****)(**(code **)(puStack_1170 + -0x6204))();\n                  ppppbVar11 = (byte ****)pppbStack_1138;\n                  if (*param_1 != (byte ****)0x0) {\n                    ppppbVar11 = *param_1;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  *param_1 = ppppbVar11;\n                  pppppbVar13 = pppppbVar12;\n                  goto LAB_000dfb00;\n                }\n                if (*(char *)((int)piVar4 + 0x13) != '.') break;\n                pppppbVar2 = (byte *****)0xffff0000;\n                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;\n                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;\n                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);\n              }\n            } while ((ppppbStack_1120 == ppppbStack_1130) &&\n                    ((pcVar16 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c))));\n            param_1 = (byte *****)((int)piVar4 + 0x13);\n            pppppbVar5 = (byte *****)(**(code **)(puStack_1170 + -0x61b0))(param_1);\n            iVar3 = -((uint)((byte *)((int)unaff_s5 + (int)pppppbVar5) + 8) & 0xfffffff8);\n            puVar18 = puVar17 + iVar3;\n            puVar19 = puVar17 + iVar3;\n            puVar20 = puVar17 + iVar3;\n            puVar25 = puVar17 + iVar3;\n            puVar21 = puVar17 + iVar3;\n            puVar26 = puVar17 + iVar3;\n            puVar22 = puVar17 + iVar3;\n            puVar24 = puVar17 + iVar3;\n            puVar23 = puVar17 + iVar3;\n            pppppbVar12 = (byte *****)(puVar17 + iVar3 + 0x10);\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar12,ppppbStack_1124,unaff_s3);\n            puVar15 = puStack_1170;\n            *(byte *)((int)pppppbVar12 + (int)unaff_s3) = 0x2f;\n            (**(code **)(puVar15 + -0x605c))\n                      ((byte *)((int)pppppbVar12 + (int)unaff_s5),param_1,\n                       (byte *)((int)pppppbVar5 + 1));\n            pppppbVar2 = pppppbVar12;\n            param_3 = (byte *****)ppppbStack_1128;\n            iVar6 = (**(code **)(puStack_1170 + -0x632c))(3,pppppbVar12);\n            if (iVar6 < 0) {\n              piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))();\n              pppbStack_1138 = (byte ***)*piVar4;\n            }\n            pppppbVar13 = (byte *****)ppppbStack_1158;\n            pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n            puVar17 = puVar17 + iVar3;\n          } while ((appppbStack_1118[0] != ppppbStack_1120) ||\n                  (puVar17 = puVar18, iStack_1108 != iStack_112c));\n          puVar17 = puVar19;\n        } while (iStack_1104 != iStack_113c);\n        pppppbVar9 = param_1;\n        unaff_s3 = (byte *****)((int)pppppbVar14 - (int)unaff_s1);\n        unaff_s5 = unaff_s6;\n        while (unaff_s3 <= pppppbVar5) {\n          unaff_s6 = (byte *****)((int)unaff_s5 << 1);\n          ppppbStack_1120 = (byte ****)pppppbVar9;\n          if (pppppbVar10 == pppppbVar13) {\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pppppbVar9 = (byte *****)0x0;\n              ppppbStack_44 = (byte ****)pppppbVar2;\n              if ((ppppbStack_1134 == ppppbStack_1148) ||\n                 (pppppbVar10 = (byte *****)ppppbStack_1158, puVar26 = puVar22,\n                 (byte *****)ppppbStack_1134 == (byte *****)0x0)) goto LAB_000dfb60;\n              goto LAB_000dfb18;\n            }\n          }\n          else {\n            pppppbVar2 = unaff_s6;\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(pppppbVar10,unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar20;\n              if (ppppbStack_1134 == ppppbStack_1148) goto LAB_000dfcc0;\n              pcVar16 = *(code **)(puStack_1170 + -0x6204);\n              if ((byte *****)ppppbStack_1134 != (byte *****)0x0) goto LAB_000dfb1c;\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar21;\n              goto LAB_000dfcc0;\n            }\n            pppppbVar14 = (byte *****)((int)unaff_s1 + (int)unaff_s3);\n          }\n          param_1 = (byte *****)((int)unaff_s5 + (int)unaff_s3);\n          param_3 = (byte *****)((int)unaff_s5 - (int)unaff_s3);\n          (**(code **)(puStack_1170 + -0x605c))((byte *****)((int)unaff_s1 + (int)param_1));\n          pppppbVar9 = (byte *****)ppppbStack_1120;\n          pppppbVar12 = pppppbVar13;\n          unaff_s3 = param_1;\n          pppppbVar2 = pppppbVar14;\n          pppppbVar10 = unaff_s1;\n          unaff_s5 = unaff_s6;\n          pppppbVar14 = (byte *****)((int)unaff_s1 + (int)param_1);\n        }\n        iVar3 = (**(code **)(puStack_1170 + -0x605c))((int)pppppbVar14 - (int)pppppbVar5);\n        pppppbVar14 = (byte *****)(iVar3 + -1);\n        pcVar16 = *(code **)(puStack_1170 + -0x6338);\n        *(undefined1 *)(iVar3 + -1) = 0x2f;\n        (*pcVar16)(iStack_111c);\n        iStack_112c = iStack_1150;\n        ppppbStack_1120 = ppppbStack_1130;\n        param_3 = pppppbVar5;\n        unaff_s1 = pppppbVar10;\n        pppppbVar13 = pppppbVar12;\n        unaff_s6 = unaff_s5;\n        puVar26 = puVar23;\n        iStack_113c = iStack_1154;\n      }\n      if (pppppbVar14 == (byte *****)ppppbStack_1168) {\n        pppppbVar14 = (byte *****)&uStack_79;\n        uStack_79 = 0x2f;\n      }\n      pppppbVar2 = pppppbVar9;\n      if (ppppbStack_1134 != ppppbStack_1148) {\n        (**(code **)(puStack_1170 + -0x6044))();\n        pppppbVar2 = pppppbVar9;\n      }\n      param_1 = (byte *****)((byte *)((int)unaff_s1 + (int)unaff_s6) + -(int)pppppbVar14);\n      if ((byte *****)ppppbStack_115c == (byte *****)0x0) {\n        if ((byte *****)ppppbStack_44 == (byte *****)0x0) {\n          pcVar16 = *(code **)(puStack_1170 + -0x6158);\n          ppppbStack_44 = (byte ****)param_1;\n        }\n        else {\n          pcVar16 = *(code **)(puStack_1170 + -0x6158);\n          if (ppppbStack_44 < param_1) goto LAB_000dfda0;\n        }\n        pppppbVar9 = (byte *****)(*pcVar16)(ppppbStack_44);\n        if (pppppbVar9 != (byte *****)0x0) goto LAB_000dfc70;\n      }\n      else {\n        pppppbVar9 = (byte *****)ppppbStack_115c;\n        if (param_1 <= ppppbStack_44) {\nLAB_000dfc70:\n          param_3 = param_1;\n          (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,pppppbVar14);\n          ppppbStack_44 = (byte ****)pppppbVar14;\n          if (unaff_s1 != (byte *****)ppppbStack_1158) {\n            (**(code **)(puStack_1170 + -0x6044))(unaff_s1);\n            ppppbStack_44 = (byte ****)pppppbVar14;\n          }\n          goto LAB_000dfb60;\n        }\nLAB_000dfda0:\n        puVar7 = (undefined4 *)(**(code **)(puStack_1170 + -0x6204))();\n        *puVar7 = 0x22;\n      }\nLAB_000dfb48:\n      pppppbVar9 = (byte *****)0x0;\n      ppppbStack_44 = (byte ****)pppppbVar2;\n      if (unaff_s1 == (byte *****)ppppbStack_1158) goto LAB_000dfb60;\n      pcVar16 = *(code **)(puStack_1170 + -0x6044);\n      pppppbVar10 = unaff_s1;\n      if (unaff_s1 != (byte *****)0x0) {\nLAB_000dfcc0:\n        (*pcVar16)(pppppbVar10);\n        unaff_s1 = pppppbVar10;\n      }\n    }" { (expression_statement "ppppbStack_1158 = apppbStack_1078;" (assignment_expression "ppppbStack_1158 = apppbStack_1078" identifier = identifier) ;) (expression_statement "pppppbVar14 = (byte *****)auStack_78;" (assignment_expression "pppppbVar14 = (byte *****)auStack_78" identifier = (cast_expression "(byte *****)auStack_78" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "ppppbStack_114c = appppbStack_1118[0];" (assignment_expression "ppppbStack_114c = appppbStack_1118[0]" identifier = (subscript_expression "appppbStack_1118[0]" identifier [ number_literal ])) ;) (expression_statement "iStack_1160 = iStack_1108;" (assignment_expression "iStack_1160 = iStack_1108" identifier = identifier) ;) (expression_statement "ppppbStack_1148 = (byte ****)(*(int *)(puStack_1170 + -0x7f94) + -0x34d0);" (assignment_expression "ppppbStack_1148 = (byte ****)(*(int *)(puStack_1170 + -0x7f94) + -0x34d0)" identifier = (cast_expression "(byte ****)(*(int *)(puStack_1170 + -0x7f94) + -0x34d0)" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(*(int *)(puStack_1170 + -0x7f94) + -0x34d0)" ( (binary_expression "*(int *)(puStack_1170 + -0x7f94) + -0x34d0" (pointer_expression "*(int *)(puStack_1170 + -0x7f94)" * (cast_expression "(int *)(puStack_1170 + -0x7f94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_1170 + -0x7f94)" ( (binary_expression "puStack_1170 + -0x7f94" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pppbStack_1138 = (byte ***)0x0;" (assignment_expression "pppbStack_1138 = (byte ***)0x0" identifier = (cast_expression "(byte ***)0x0" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "iStack_1164 = iStack_1104;" (assignment_expression "iStack_1164 = iStack_1104" identifier = identifier) ;) (expression_statement "ppppbStack_1140 = (byte ****)0xe0;" (assignment_expression "ppppbStack_1140 = (byte ****)0xe0" identifier = (cast_expression "(byte ****)0xe0" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) (expression_statement "ppppbStack_1124 = (byte ****)(*(int *)(puStack_1170 + -0x7f94) + -0x33ef);" (assignment_expression "ppppbStack_1124 = (byte ****)(*(int *)(puStack_1170 + -0x7f94) + -0x33ef)" identifier = (cast_expression "(byte ****)(*(int *)(puStack_1170 + -0x7f94) + -0x33ef)" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(*(int *)(puStack_1170 + -0x7f94) + -0x33ef)" ( (binary_expression "*(int *)(puStack_1170 + -0x7f94) + -0x33ef" (pointer_expression "*(int *)(puStack_1170 + -0x7f94)" * (cast_expression "(int *)(puStack_1170 + -0x7f94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_1170 + -0x7f94)" ( (binary_expression "puStack_1170 + -0x7f94" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "unaff_s1 = (byte *****)ppppbStack_1158;" (assignment_expression "unaff_s1 = (byte *****)ppppbStack_1158" identifier = (cast_expression "(byte *****)ppppbStack_1158" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "unaff_s6 = (byte *****)0x1001;" (assignment_expression "unaff_s6 = (byte *****)0x1001" identifier = (cast_expression "(byte *****)0x1001" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "puVar26 = auStack_1180;" (assignment_expression "puVar26 = auStack_1180" identifier = identifier) ;) (expression_statement "ppppbStack_1168 = (byte ****)pppppbVar14;" (assignment_expression "ppppbStack_1168 = (byte ****)pppppbVar14" identifier = (cast_expression "(byte ****)pppppbVar14" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "ppppbStack_1134 = ppppbStack_1148;" (assignment_expression "ppppbStack_1134 = ppppbStack_1148" identifier = identifier) ;) (while_statement "while (((ppppbStack_1120 != ppppbStack_114c || (iStack_112c != iStack_1160)) ||\n             (iStack_113c != iStack_1164))) {\n        pppppbVar12 = pppppbVar13;\n        pppppbVar10 = unaff_s1;\n        if (ppppbStack_1124 == ppppbStack_1134) {\n          param_1 = (byte *****)((int)ppppbStack_1140 * 2);\n          pppppbVar2 = (byte *****)((int)param_1 + 1);\n          if (ppppbStack_1124 == ppppbStack_1148) {\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(pppppbVar2);\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb48;\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,ppppbStack_1148,ppppbStack_1140);\n          }\n          else {\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(ppppbStack_1134);\n            puVar24 = puVar26;\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb18;\n          }\n          pppppbVar12 = (byte *****)ppppbStack_1140;\n          unaff_s3 = (byte *****)((int)pppppbVar9 + (int)ppppbStack_1140);\n          ppppbStack_1124 = (byte ****)unaff_s3;\n          (**(code **)(puStack_1170 + -0x605c))(unaff_s3,pppppbVar9,ppppbStack_1140);\n          *(byte *)((int)unaff_s3 + (int)pppppbVar12) = 0;\n          ppppbStack_1140 = (byte ****)param_1;\n          ppppbStack_1134 = (byte ****)pppppbVar9;\n        }\n        param_1 = (byte *****)((int)ppppbStack_1124 + -3);\n        pppppbVar2 = param_1;\n        param_3 = (byte *****)ppppbStack_1128;\n        ppppbStack_1124 = (byte ****)param_1;\n        iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,param_1);\n        pppppbVar13 = pppppbVar12;\n        puVar17 = puVar26;\n        if (iVar3 < 0) {\nLAB_000dfb00:\n          puVar26 = puVar17;\n          if ((ppppbStack_1134 != ppppbStack_1148) &&\n             (puVar24 = puVar17, (byte *****)ppppbStack_1134 != (byte *****)0x0)) {\nLAB_000dfb18:\n            pcVar16 = *(code **)(puStack_1170 + -0x6204);\n            puVar25 = puVar24;\nLAB_000dfb1c:\n            param_1 = (byte *****)(*pcVar16)();\n            ppppbVar11 = *param_1;\n            (**(code **)(puStack_1170 + -0x6044))(ppppbStack_1134);\n            *param_1 = ppppbVar11;\n            unaff_s1 = pppppbVar10;\n            puVar26 = puVar25;\n          }\n          goto LAB_000dfb48;\n        }\n        ppppbStack_1130 = appppbStack_1118[0];\n        iStack_1150 = iStack_1108;\n        iStack_1154 = iStack_1104;\n        iStack_111c = (**(code **)(puStack_1170 + -0x633c))(param_1);\n        if (iStack_111c == 0) goto LAB_000dfb00;\n        unaff_s3 = (byte *****)\n                   ((byte *)((int)ppppbStack_1134 + (int)ppppbStack_1140) + -(int)param_1);\n        unaff_s5 = (byte *****)((int)unaff_s3 + 1);\nLAB_000df8ec:\n        do {\n          pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n          do {\n            do {\n              piVar4 = (int *)(*pcVar16)(iStack_111c);\n              while( true ) {\n                if (piVar4 == (int *)0x0) {\n                  param_1 = (byte *****)(**(code **)(puStack_1170 + -0x6204))();\n                  ppppbVar11 = (byte ****)pppbStack_1138;\n                  if (*param_1 != (byte ****)0x0) {\n                    ppppbVar11 = *param_1;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  *param_1 = ppppbVar11;\n                  pppppbVar13 = pppppbVar12;\n                  goto LAB_000dfb00;\n                }\n                if (*(char *)((int)piVar4 + 0x13) != '.') break;\n                pppppbVar2 = (byte *****)0xffff0000;\n                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;\n                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;\n                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);\n              }\n            } while ((ppppbStack_1120 == ppppbStack_1130) &&\n                    ((pcVar16 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c))));\n            param_1 = (byte *****)((int)piVar4 + 0x13);\n            pppppbVar5 = (byte *****)(**(code **)(puStack_1170 + -0x61b0))(param_1);\n            iVar3 = -((uint)((byte *)((int)unaff_s5 + (int)pppppbVar5) + 8) & 0xfffffff8);\n            puVar18 = puVar17 + iVar3;\n            puVar19 = puVar17 + iVar3;\n            puVar20 = puVar17 + iVar3;\n            puVar25 = puVar17 + iVar3;\n            puVar21 = puVar17 + iVar3;\n            puVar26 = puVar17 + iVar3;\n            puVar22 = puVar17 + iVar3;\n            puVar24 = puVar17 + iVar3;\n            puVar23 = puVar17 + iVar3;\n            pppppbVar12 = (byte *****)(puVar17 + iVar3 + 0x10);\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar12,ppppbStack_1124,unaff_s3);\n            puVar15 = puStack_1170;\n            *(byte *)((int)pppppbVar12 + (int)unaff_s3) = 0x2f;\n            (**(code **)(puVar15 + -0x605c))\n                      ((byte *)((int)pppppbVar12 + (int)unaff_s5),param_1,\n                       (byte *)((int)pppppbVar5 + 1));\n            pppppbVar2 = pppppbVar12;\n            param_3 = (byte *****)ppppbStack_1128;\n            iVar6 = (**(code **)(puStack_1170 + -0x632c))(3,pppppbVar12);\n            if (iVar6 < 0) {\n              piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))();\n              pppbStack_1138 = (byte ***)*piVar4;\n            }\n            pppppbVar13 = (byte *****)ppppbStack_1158;\n            pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n            puVar17 = puVar17 + iVar3;\n          } while ((appppbStack_1118[0] != ppppbStack_1120) ||\n                  (puVar17 = puVar18, iStack_1108 != iStack_112c));\n          puVar17 = puVar19;\n        } while (iStack_1104 != iStack_113c);\n        pppppbVar9 = param_1;\n        unaff_s3 = (byte *****)((int)pppppbVar14 - (int)unaff_s1);\n        unaff_s5 = unaff_s6;\n        while (unaff_s3 <= pppppbVar5) {\n          unaff_s6 = (byte *****)((int)unaff_s5 << 1);\n          ppppbStack_1120 = (byte ****)pppppbVar9;\n          if (pppppbVar10 == pppppbVar13) {\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pppppbVar9 = (byte *****)0x0;\n              ppppbStack_44 = (byte ****)pppppbVar2;\n              if ((ppppbStack_1134 == ppppbStack_1148) ||\n                 (pppppbVar10 = (byte *****)ppppbStack_1158, puVar26 = puVar22,\n                 (byte *****)ppppbStack_1134 == (byte *****)0x0)) goto LAB_000dfb60;\n              goto LAB_000dfb18;\n            }\n          }\n          else {\n            pppppbVar2 = unaff_s6;\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(pppppbVar10,unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar20;\n              if (ppppbStack_1134 == ppppbStack_1148) goto LAB_000dfcc0;\n              pcVar16 = *(code **)(puStack_1170 + -0x6204);\n              if ((byte *****)ppppbStack_1134 != (byte *****)0x0) goto LAB_000dfb1c;\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar21;\n              goto LAB_000dfcc0;\n            }\n            pppppbVar14 = (byte *****)((int)unaff_s1 + (int)unaff_s3);\n          }\n          param_1 = (byte *****)((int)unaff_s5 + (int)unaff_s3);\n          param_3 = (byte *****)((int)unaff_s5 - (int)unaff_s3);\n          (**(code **)(puStack_1170 + -0x605c))((byte *****)((int)unaff_s1 + (int)param_1));\n          pppppbVar9 = (byte *****)ppppbStack_1120;\n          pppppbVar12 = pppppbVar13;\n          unaff_s3 = param_1;\n          pppppbVar2 = pppppbVar14;\n          pppppbVar10 = unaff_s1;\n          unaff_s5 = unaff_s6;\n          pppppbVar14 = (byte *****)((int)unaff_s1 + (int)param_1);\n        }\n        iVar3 = (**(code **)(puStack_1170 + -0x605c))((int)pppppbVar14 - (int)pppppbVar5);\n        pppppbVar14 = (byte *****)(iVar3 + -1);\n        pcVar16 = *(code **)(puStack_1170 + -0x6338);\n        *(undefined1 *)(iVar3 + -1) = 0x2f;\n        (*pcVar16)(iStack_111c);\n        iStack_112c = iStack_1150;\n        ppppbStack_1120 = ppppbStack_1130;\n        param_3 = pppppbVar5;\n        unaff_s1 = pppppbVar10;\n        pppppbVar13 = pppppbVar12;\n        unaff_s6 = unaff_s5;\n        puVar26 = puVar23;\n        iStack_113c = iStack_1154;\n      }" while (parenthesized_expression "(((ppppbStack_1120 != ppppbStack_114c || (iStack_112c != iStack_1160)) ||\n             (iStack_113c != iStack_1164)))" ( (parenthesized_expression "((ppppbStack_1120 != ppppbStack_114c || (iStack_112c != iStack_1160)) ||\n             (iStack_113c != iStack_1164))" ( (binary_expression "(ppppbStack_1120 != ppppbStack_114c || (iStack_112c != iStack_1160)) ||\n             (iStack_113c != iStack_1164)" (parenthesized_expression "(ppppbStack_1120 != ppppbStack_114c || (iStack_112c != iStack_1160))" ( (binary_expression "ppppbStack_1120 != ppppbStack_114c || (iStack_112c != iStack_1160)" (binary_expression "ppppbStack_1120 != ppppbStack_114c" identifier != identifier) || (parenthesized_expression "(iStack_112c != iStack_1160)" ( (binary_expression "iStack_112c != iStack_1160" identifier != identifier) ))) )) || (parenthesized_expression "(iStack_113c != iStack_1164)" ( (binary_expression "iStack_113c != iStack_1164" identifier != identifier) ))) )) )) (compound_statement "{\n        pppppbVar12 = pppppbVar13;\n        pppppbVar10 = unaff_s1;\n        if (ppppbStack_1124 == ppppbStack_1134) {\n          param_1 = (byte *****)((int)ppppbStack_1140 * 2);\n          pppppbVar2 = (byte *****)((int)param_1 + 1);\n          if (ppppbStack_1124 == ppppbStack_1148) {\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(pppppbVar2);\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb48;\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,ppppbStack_1148,ppppbStack_1140);\n          }\n          else {\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(ppppbStack_1134);\n            puVar24 = puVar26;\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb18;\n          }\n          pppppbVar12 = (byte *****)ppppbStack_1140;\n          unaff_s3 = (byte *****)((int)pppppbVar9 + (int)ppppbStack_1140);\n          ppppbStack_1124 = (byte ****)unaff_s3;\n          (**(code **)(puStack_1170 + -0x605c))(unaff_s3,pppppbVar9,ppppbStack_1140);\n          *(byte *)((int)unaff_s3 + (int)pppppbVar12) = 0;\n          ppppbStack_1140 = (byte ****)param_1;\n          ppppbStack_1134 = (byte ****)pppppbVar9;\n        }\n        param_1 = (byte *****)((int)ppppbStack_1124 + -3);\n        pppppbVar2 = param_1;\n        param_3 = (byte *****)ppppbStack_1128;\n        ppppbStack_1124 = (byte ****)param_1;\n        iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,param_1);\n        pppppbVar13 = pppppbVar12;\n        puVar17 = puVar26;\n        if (iVar3 < 0) {\nLAB_000dfb00:\n          puVar26 = puVar17;\n          if ((ppppbStack_1134 != ppppbStack_1148) &&\n             (puVar24 = puVar17, (byte *****)ppppbStack_1134 != (byte *****)0x0)) {\nLAB_000dfb18:\n            pcVar16 = *(code **)(puStack_1170 + -0x6204);\n            puVar25 = puVar24;\nLAB_000dfb1c:\n            param_1 = (byte *****)(*pcVar16)();\n            ppppbVar11 = *param_1;\n            (**(code **)(puStack_1170 + -0x6044))(ppppbStack_1134);\n            *param_1 = ppppbVar11;\n            unaff_s1 = pppppbVar10;\n            puVar26 = puVar25;\n          }\n          goto LAB_000dfb48;\n        }\n        ppppbStack_1130 = appppbStack_1118[0];\n        iStack_1150 = iStack_1108;\n        iStack_1154 = iStack_1104;\n        iStack_111c = (**(code **)(puStack_1170 + -0x633c))(param_1);\n        if (iStack_111c == 0) goto LAB_000dfb00;\n        unaff_s3 = (byte *****)\n                   ((byte *)((int)ppppbStack_1134 + (int)ppppbStack_1140) + -(int)param_1);\n        unaff_s5 = (byte *****)((int)unaff_s3 + 1);\nLAB_000df8ec:\n        do {\n          pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n          do {\n            do {\n              piVar4 = (int *)(*pcVar16)(iStack_111c);\n              while( true ) {\n                if (piVar4 == (int *)0x0) {\n                  param_1 = (byte *****)(**(code **)(puStack_1170 + -0x6204))();\n                  ppppbVar11 = (byte ****)pppbStack_1138;\n                  if (*param_1 != (byte ****)0x0) {\n                    ppppbVar11 = *param_1;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  *param_1 = ppppbVar11;\n                  pppppbVar13 = pppppbVar12;\n                  goto LAB_000dfb00;\n                }\n                if (*(char *)((int)piVar4 + 0x13) != '.') break;\n                pppppbVar2 = (byte *****)0xffff0000;\n                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;\n                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;\n                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);\n              }\n            } while ((ppppbStack_1120 == ppppbStack_1130) &&\n                    ((pcVar16 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c))));\n            param_1 = (byte *****)((int)piVar4 + 0x13);\n            pppppbVar5 = (byte *****)(**(code **)(puStack_1170 + -0x61b0))(param_1);\n            iVar3 = -((uint)((byte *)((int)unaff_s5 + (int)pppppbVar5) + 8) & 0xfffffff8);\n            puVar18 = puVar17 + iVar3;\n            puVar19 = puVar17 + iVar3;\n            puVar20 = puVar17 + iVar3;\n            puVar25 = puVar17 + iVar3;\n            puVar21 = puVar17 + iVar3;\n            puVar26 = puVar17 + iVar3;\n            puVar22 = puVar17 + iVar3;\n            puVar24 = puVar17 + iVar3;\n            puVar23 = puVar17 + iVar3;\n            pppppbVar12 = (byte *****)(puVar17 + iVar3 + 0x10);\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar12,ppppbStack_1124,unaff_s3);\n            puVar15 = puStack_1170;\n            *(byte *)((int)pppppbVar12 + (int)unaff_s3) = 0x2f;\n            (**(code **)(puVar15 + -0x605c))\n                      ((byte *)((int)pppppbVar12 + (int)unaff_s5),param_1,\n                       (byte *)((int)pppppbVar5 + 1));\n            pppppbVar2 = pppppbVar12;\n            param_3 = (byte *****)ppppbStack_1128;\n            iVar6 = (**(code **)(puStack_1170 + -0x632c))(3,pppppbVar12);\n            if (iVar6 < 0) {\n              piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))();\n              pppbStack_1138 = (byte ***)*piVar4;\n            }\n            pppppbVar13 = (byte *****)ppppbStack_1158;\n            pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n            puVar17 = puVar17 + iVar3;\n          } while ((appppbStack_1118[0] != ppppbStack_1120) ||\n                  (puVar17 = puVar18, iStack_1108 != iStack_112c));\n          puVar17 = puVar19;\n        } while (iStack_1104 != iStack_113c);\n        pppppbVar9 = param_1;\n        unaff_s3 = (byte *****)((int)pppppbVar14 - (int)unaff_s1);\n        unaff_s5 = unaff_s6;\n        while (unaff_s3 <= pppppbVar5) {\n          unaff_s6 = (byte *****)((int)unaff_s5 << 1);\n          ppppbStack_1120 = (byte ****)pppppbVar9;\n          if (pppppbVar10 == pppppbVar13) {\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pppppbVar9 = (byte *****)0x0;\n              ppppbStack_44 = (byte ****)pppppbVar2;\n              if ((ppppbStack_1134 == ppppbStack_1148) ||\n                 (pppppbVar10 = (byte *****)ppppbStack_1158, puVar26 = puVar22,\n                 (byte *****)ppppbStack_1134 == (byte *****)0x0)) goto LAB_000dfb60;\n              goto LAB_000dfb18;\n            }\n          }\n          else {\n            pppppbVar2 = unaff_s6;\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(pppppbVar10,unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar20;\n              if (ppppbStack_1134 == ppppbStack_1148) goto LAB_000dfcc0;\n              pcVar16 = *(code **)(puStack_1170 + -0x6204);\n              if ((byte *****)ppppbStack_1134 != (byte *****)0x0) goto LAB_000dfb1c;\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar21;\n              goto LAB_000dfcc0;\n            }\n            pppppbVar14 = (byte *****)((int)unaff_s1 + (int)unaff_s3);\n          }\n          param_1 = (byte *****)((int)unaff_s5 + (int)unaff_s3);\n          param_3 = (byte *****)((int)unaff_s5 - (int)unaff_s3);\n          (**(code **)(puStack_1170 + -0x605c))((byte *****)((int)unaff_s1 + (int)param_1));\n          pppppbVar9 = (byte *****)ppppbStack_1120;\n          pppppbVar12 = pppppbVar13;\n          unaff_s3 = param_1;\n          pppppbVar2 = pppppbVar14;\n          pppppbVar10 = unaff_s1;\n          unaff_s5 = unaff_s6;\n          pppppbVar14 = (byte *****)((int)unaff_s1 + (int)param_1);\n        }\n        iVar3 = (**(code **)(puStack_1170 + -0x605c))((int)pppppbVar14 - (int)pppppbVar5);\n        pppppbVar14 = (byte *****)(iVar3 + -1);\n        pcVar16 = *(code **)(puStack_1170 + -0x6338);\n        *(undefined1 *)(iVar3 + -1) = 0x2f;\n        (*pcVar16)(iStack_111c);\n        iStack_112c = iStack_1150;\n        ppppbStack_1120 = ppppbStack_1130;\n        param_3 = pppppbVar5;\n        unaff_s1 = pppppbVar10;\n        pppppbVar13 = pppppbVar12;\n        unaff_s6 = unaff_s5;\n        puVar26 = puVar23;\n        iStack_113c = iStack_1154;\n      }" { (expression_statement "pppppbVar12 = pppppbVar13;" (assignment_expression "pppppbVar12 = pppppbVar13" identifier = identifier) ;) (expression_statement "pppppbVar10 = unaff_s1;" (assignment_expression "pppppbVar10 = unaff_s1" identifier = identifier) ;) (if_statement "if (ppppbStack_1124 == ppppbStack_1134) {\n          param_1 = (byte *****)((int)ppppbStack_1140 * 2);\n          pppppbVar2 = (byte *****)((int)param_1 + 1);\n          if (ppppbStack_1124 == ppppbStack_1148) {\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(pppppbVar2);\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb48;\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,ppppbStack_1148,ppppbStack_1140);\n          }\n          else {\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(ppppbStack_1134);\n            puVar24 = puVar26;\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb18;\n          }\n          pppppbVar12 = (byte *****)ppppbStack_1140;\n          unaff_s3 = (byte *****)((int)pppppbVar9 + (int)ppppbStack_1140);\n          ppppbStack_1124 = (byte ****)unaff_s3;\n          (**(code **)(puStack_1170 + -0x605c))(unaff_s3,pppppbVar9,ppppbStack_1140);\n          *(byte *)((int)unaff_s3 + (int)pppppbVar12) = 0;\n          ppppbStack_1140 = (byte ****)param_1;\n          ppppbStack_1134 = (byte ****)pppppbVar9;\n        }" if (parenthesized_expression "(ppppbStack_1124 == ppppbStack_1134)" ( (binary_expression "ppppbStack_1124 == ppppbStack_1134" identifier == identifier) )) (compound_statement "{\n          param_1 = (byte *****)((int)ppppbStack_1140 * 2);\n          pppppbVar2 = (byte *****)((int)param_1 + 1);\n          if (ppppbStack_1124 == ppppbStack_1148) {\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(pppppbVar2);\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb48;\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,ppppbStack_1148,ppppbStack_1140);\n          }\n          else {\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(ppppbStack_1134);\n            puVar24 = puVar26;\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb18;\n          }\n          pppppbVar12 = (byte *****)ppppbStack_1140;\n          unaff_s3 = (byte *****)((int)pppppbVar9 + (int)ppppbStack_1140);\n          ppppbStack_1124 = (byte ****)unaff_s3;\n          (**(code **)(puStack_1170 + -0x605c))(unaff_s3,pppppbVar9,ppppbStack_1140);\n          *(byte *)((int)unaff_s3 + (int)pppppbVar12) = 0;\n          ppppbStack_1140 = (byte ****)param_1;\n          ppppbStack_1134 = (byte ****)pppppbVar9;\n        }" { (expression_statement "param_1 = (byte *****)((int)ppppbStack_1140 * 2);" (assignment_expression "param_1 = (byte *****)((int)ppppbStack_1140 * 2)" identifier = (cast_expression "(byte *****)((int)ppppbStack_1140 * 2)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)ppppbStack_1140 * 2)" ( (binary_expression "(int)ppppbStack_1140 * 2" (cast_expression "(int)ppppbStack_1140" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ;) (expression_statement "pppppbVar2 = (byte *****)((int)param_1 + 1);" (assignment_expression "pppppbVar2 = (byte *****)((int)param_1 + 1)" identifier = (cast_expression "(byte *****)((int)param_1 + 1)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)param_1 + 1)" ( (binary_expression "(int)param_1 + 1" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (ppppbStack_1124 == ppppbStack_1148) {\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(pppppbVar2);\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb48;\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,ppppbStack_1148,ppppbStack_1140);\n          }\n          else {\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(ppppbStack_1134);\n            puVar24 = puVar26;\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb18;\n          }" if (parenthesized_expression "(ppppbStack_1124 == ppppbStack_1148)" ( (binary_expression "ppppbStack_1124 == ppppbStack_1148" identifier == identifier) )) (compound_statement "{\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(pppppbVar2);\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb48;\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,ppppbStack_1148,ppppbStack_1140);\n          }" { (expression_statement "pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(pppppbVar2);" (assignment_expression "pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(pppppbVar2)" identifier = (cast_expression "(byte *****)(**(code **)(puStack_1170 + -0x6158))(pppppbVar2)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(**(code **)(puStack_1170 + -0x6158))(pppppbVar2)" (parenthesized_expression "(**(code **)(puStack_1170 + -0x6158))" ( (pointer_expression "**(code **)(puStack_1170 + -0x6158)" * (pointer_expression "*(code **)(puStack_1170 + -0x6158)" * (cast_expression "(code **)(puStack_1170 + -0x6158)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x6158)" ( (binary_expression "puStack_1170 + -0x6158" identifier + number_literal) ))))) )) (argument_list "(pppppbVar2)" ( identifier ))))) ;) (if_statement "if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb48;" if (parenthesized_expression "(pppppbVar9 == (byte *****)0x0)" ( (binary_expression "pppppbVar9 == (byte *****)0x0" identifier == (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (goto_statement "goto LAB_000dfb48;" goto statement_identifier ;)) (expression_statement "(**(code **)(puStack_1170 + -0x605c))(pppppbVar9,ppppbStack_1148,ppppbStack_1140);" (call_expression "(**(code **)(puStack_1170 + -0x605c))(pppppbVar9,ppppbStack_1148,ppppbStack_1140)" (parenthesized_expression "(**(code **)(puStack_1170 + -0x605c))" ( (pointer_expression "**(code **)(puStack_1170 + -0x605c)" * (pointer_expression "*(code **)(puStack_1170 + -0x605c)" * (cast_expression "(code **)(puStack_1170 + -0x605c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x605c)" ( (binary_expression "puStack_1170 + -0x605c" identifier + number_literal) ))))) )) (argument_list "(pppppbVar9,ppppbStack_1148,ppppbStack_1140)" ( identifier , identifier , identifier ))) ;) }) (else_clause "else {\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(ppppbStack_1134);\n            puVar24 = puVar26;\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb18;\n          }" else (compound_statement "{\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(ppppbStack_1134);\n            puVar24 = puVar26;\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb18;\n          }" { (expression_statement "pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(ppppbStack_1134);" (assignment_expression "pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(ppppbStack_1134)" identifier = (cast_expression "(byte *****)(**(code **)(puStack_1170 + -0x614c))(ppppbStack_1134)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(**(code **)(puStack_1170 + -0x614c))(ppppbStack_1134)" (parenthesized_expression "(**(code **)(puStack_1170 + -0x614c))" ( (pointer_expression "**(code **)(puStack_1170 + -0x614c)" * (pointer_expression "*(code **)(puStack_1170 + -0x614c)" * (cast_expression "(code **)(puStack_1170 + -0x614c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x614c)" ( (binary_expression "puStack_1170 + -0x614c" identifier + number_literal) ))))) )) (argument_list "(ppppbStack_1134)" ( identifier ))))) ;) (expression_statement "puVar24 = puVar26;" (assignment_expression "puVar24 = puVar26" identifier = identifier) ;) (if_statement "if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb18;" if (parenthesized_expression "(pppppbVar9 == (byte *****)0x0)" ( (binary_expression "pppppbVar9 == (byte *****)0x0" identifier == (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (goto_statement "goto LAB_000dfb18;" goto statement_identifier ;)) }))) (expression_statement "pppppbVar12 = (byte *****)ppppbStack_1140;" (assignment_expression "pppppbVar12 = (byte *****)ppppbStack_1140" identifier = (cast_expression "(byte *****)ppppbStack_1140" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "unaff_s3 = (byte *****)((int)pppppbVar9 + (int)ppppbStack_1140);" (assignment_expression "unaff_s3 = (byte *****)((int)pppppbVar9 + (int)ppppbStack_1140)" identifier = (cast_expression "(byte *****)((int)pppppbVar9 + (int)ppppbStack_1140)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)pppppbVar9 + (int)ppppbStack_1140)" ( (binary_expression "(int)pppppbVar9 + (int)ppppbStack_1140" (cast_expression "(int)pppppbVar9" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)ppppbStack_1140" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "ppppbStack_1124 = (byte ****)unaff_s3;" (assignment_expression "ppppbStack_1124 = (byte ****)unaff_s3" identifier = (cast_expression "(byte ****)unaff_s3" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "(**(code **)(puStack_1170 + -0x605c))(unaff_s3,pppppbVar9,ppppbStack_1140);" (call_expression "(**(code **)(puStack_1170 + -0x605c))(unaff_s3,pppppbVar9,ppppbStack_1140)" (parenthesized_expression "(**(code **)(puStack_1170 + -0x605c))" ( (pointer_expression "**(code **)(puStack_1170 + -0x605c)" * (pointer_expression "*(code **)(puStack_1170 + -0x605c)" * (cast_expression "(code **)(puStack_1170 + -0x605c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x605c)" ( (binary_expression "puStack_1170 + -0x605c" identifier + number_literal) ))))) )) (argument_list "(unaff_s3,pppppbVar9,ppppbStack_1140)" ( identifier , identifier , identifier ))) ;) (expression_statement "*(byte *)((int)unaff_s3 + (int)pppppbVar12) = 0;" (assignment_expression "*(byte *)((int)unaff_s3 + (int)pppppbVar12) = 0" (pointer_expression "*(byte *)((int)unaff_s3 + (int)pppppbVar12)" * (cast_expression "(byte *)((int)unaff_s3 + (int)pppppbVar12)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s3 + (int)pppppbVar12)" ( (binary_expression "(int)unaff_s3 + (int)pppppbVar12" (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppbVar12" ( (type_descriptor "int" primitive_type) ) identifier)) )))) = number_literal) ;) (expression_statement "ppppbStack_1140 = (byte ****)param_1;" (assignment_expression "ppppbStack_1140 = (byte ****)param_1" identifier = (cast_expression "(byte ****)param_1" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "ppppbStack_1134 = (byte ****)pppppbVar9;" (assignment_expression "ppppbStack_1134 = (byte ****)pppppbVar9" identifier = (cast_expression "(byte ****)pppppbVar9" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) })) (expression_statement "param_1 = (byte *****)((int)ppppbStack_1124 + -3);" (assignment_expression "param_1 = (byte *****)((int)ppppbStack_1124 + -3)" identifier = (cast_expression "(byte *****)((int)ppppbStack_1124 + -3)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)ppppbStack_1124 + -3)" ( (binary_expression "(int)ppppbStack_1124 + -3" (cast_expression "(int)ppppbStack_1124" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pppppbVar2 = param_1;" (assignment_expression "pppppbVar2 = param_1" identifier = identifier) ;) (expression_statement "param_3 = (byte *****)ppppbStack_1128;" (assignment_expression "param_3 = (byte *****)ppppbStack_1128" identifier = (cast_expression "(byte *****)ppppbStack_1128" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "ppppbStack_1124 = (byte ****)param_1;" (assignment_expression "ppppbStack_1124 = (byte ****)param_1" identifier = (cast_expression "(byte ****)param_1" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,param_1);" (assignment_expression "iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,param_1)" identifier = (call_expression "(**(code **)(puStack_1170 + -0x630c))(3,param_1)" (parenthesized_expression "(**(code **)(puStack_1170 + -0x630c))" ( (pointer_expression "**(code **)(puStack_1170 + -0x630c)" * (pointer_expression "*(code **)(puStack_1170 + -0x630c)" * (cast_expression "(code **)(puStack_1170 + -0x630c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x630c)" ( (binary_expression "puStack_1170 + -0x630c" identifier + number_literal) ))))) )) (argument_list "(3,param_1)" ( number_literal , identifier )))) ;) (expression_statement "pppppbVar13 = pppppbVar12;" (assignment_expression "pppppbVar13 = pppppbVar12" identifier = identifier) ;) (expression_statement "puVar17 = puVar26;" (assignment_expression "puVar17 = puVar26" identifier = identifier) ;) (if_statement "if (iVar3 < 0) {\nLAB_000dfb00:\n          puVar26 = puVar17;\n          if ((ppppbStack_1134 != ppppbStack_1148) &&\n             (puVar24 = puVar17, (byte *****)ppppbStack_1134 != (byte *****)0x0)) {\nLAB_000dfb18:\n            pcVar16 = *(code **)(puStack_1170 + -0x6204);\n            puVar25 = puVar24;\nLAB_000dfb1c:\n            param_1 = (byte *****)(*pcVar16)();\n            ppppbVar11 = *param_1;\n            (**(code **)(puStack_1170 + -0x6044))(ppppbStack_1134);\n            *param_1 = ppppbVar11;\n            unaff_s1 = pppppbVar10;\n            puVar26 = puVar25;\n          }\n          goto LAB_000dfb48;\n        }" if (parenthesized_expression "(iVar3 < 0)" ( (binary_expression "iVar3 < 0" identifier < number_literal) )) (compound_statement "{\nLAB_000dfb00:\n          puVar26 = puVar17;\n          if ((ppppbStack_1134 != ppppbStack_1148) &&\n             (puVar24 = puVar17, (byte *****)ppppbStack_1134 != (byte *****)0x0)) {\nLAB_000dfb18:\n            pcVar16 = *(code **)(puStack_1170 + -0x6204);\n            puVar25 = puVar24;\nLAB_000dfb1c:\n            param_1 = (byte *****)(*pcVar16)();\n            ppppbVar11 = *param_1;\n            (**(code **)(puStack_1170 + -0x6044))(ppppbStack_1134);\n            *param_1 = ppppbVar11;\n            unaff_s1 = pppppbVar10;\n            puVar26 = puVar25;\n          }\n          goto LAB_000dfb48;\n        }" { (labeled_statement "LAB_000dfb00:\n          puVar26 = puVar17;" statement_identifier : (expression_statement "puVar26 = puVar17;" (assignment_expression "puVar26 = puVar17" identifier = identifier) ;)) (if_statement "if ((ppppbStack_1134 != ppppbStack_1148) &&\n             (puVar24 = puVar17, (byte *****)ppppbStack_1134 != (byte *****)0x0)) {\nLAB_000dfb18:\n            pcVar16 = *(code **)(puStack_1170 + -0x6204);\n            puVar25 = puVar24;\nLAB_000dfb1c:\n            param_1 = (byte *****)(*pcVar16)();\n            ppppbVar11 = *param_1;\n            (**(code **)(puStack_1170 + -0x6044))(ppppbStack_1134);\n            *param_1 = ppppbVar11;\n            unaff_s1 = pppppbVar10;\n            puVar26 = puVar25;\n          }" if (parenthesized_expression "((ppppbStack_1134 != ppppbStack_1148) &&\n             (puVar24 = puVar17, (byte *****)ppppbStack_1134 != (byte *****)0x0))" ( (binary_expression "(ppppbStack_1134 != ppppbStack_1148) &&\n             (puVar24 = puVar17, (byte *****)ppppbStack_1134 != (byte *****)0x0)" (parenthesized_expression "(ppppbStack_1134 != ppppbStack_1148)" ( (binary_expression "ppppbStack_1134 != ppppbStack_1148" identifier != identifier) )) && (parenthesized_expression "(puVar24 = puVar17, (byte *****)ppppbStack_1134 != (byte *****)0x0)" ( (comma_expression "puVar24 = puVar17, (byte *****)ppppbStack_1134 != (byte *****)0x0" (assignment_expression "puVar24 = puVar17" identifier = identifier) , (binary_expression "(byte *****)ppppbStack_1134 != (byte *****)0x0" (cast_expression "(byte *****)ppppbStack_1134" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier) != (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal))) ))) )) (compound_statement "{\nLAB_000dfb18:\n            pcVar16 = *(code **)(puStack_1170 + -0x6204);\n            puVar25 = puVar24;\nLAB_000dfb1c:\n            param_1 = (byte *****)(*pcVar16)();\n            ppppbVar11 = *param_1;\n            (**(code **)(puStack_1170 + -0x6044))(ppppbStack_1134);\n            *param_1 = ppppbVar11;\n            unaff_s1 = pppppbVar10;\n            puVar26 = puVar25;\n          }" { (labeled_statement "LAB_000dfb18:\n            pcVar16 = *(code **)(puStack_1170 + -0x6204);" statement_identifier : (expression_statement "pcVar16 = *(code **)(puStack_1170 + -0x6204);" (assignment_expression "pcVar16 = *(code **)(puStack_1170 + -0x6204)" identifier = (pointer_expression "*(code **)(puStack_1170 + -0x6204)" * (cast_expression "(code **)(puStack_1170 + -0x6204)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x6204)" ( (binary_expression "puStack_1170 + -0x6204" identifier + number_literal) ))))) ;)) (expression_statement "puVar25 = puVar24;" (assignment_expression "puVar25 = puVar24" identifier = identifier) ;) (labeled_statement "LAB_000dfb1c:\n            param_1 = (byte *****)(*pcVar16)();" statement_identifier : (expression_statement "param_1 = (byte *****)(*pcVar16)();" (assignment_expression "param_1 = (byte *****)(*pcVar16)()" identifier = (cast_expression "(byte *****)(*pcVar16)()" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(*pcVar16)()" (parenthesized_expression "(*pcVar16)" ( (pointer_expression "*pcVar16" * identifier) )) (argument_list "()" ( ))))) ;)) (expression_statement "ppppbVar11 = *param_1;" (assignment_expression "ppppbVar11 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "(**(code **)(puStack_1170 + -0x6044))(ppppbStack_1134);" (call_expression "(**(code **)(puStack_1170 + -0x6044))(ppppbStack_1134)" (parenthesized_expression "(**(code **)(puStack_1170 + -0x6044))" ( (pointer_expression "**(code **)(puStack_1170 + -0x6044)" * (pointer_expression "*(code **)(puStack_1170 + -0x6044)" * (cast_expression "(code **)(puStack_1170 + -0x6044)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x6044)" ( (binary_expression "puStack_1170 + -0x6044" identifier + number_literal) ))))) )) (argument_list "(ppppbStack_1134)" ( identifier ))) ;) (expression_statement "*param_1 = ppppbVar11;" (assignment_expression "*param_1 = ppppbVar11" (pointer_expression "*param_1" * identifier) = identifier) ;) (expression_statement "unaff_s1 = pppppbVar10;" (assignment_expression "unaff_s1 = pppppbVar10" identifier = identifier) ;) (expression_statement "puVar26 = puVar25;" (assignment_expression "puVar26 = puVar25" identifier = identifier) ;) })) (goto_statement "goto LAB_000dfb48;" goto statement_identifier ;) })) (expression_statement "ppppbStack_1130 = appppbStack_1118[0];" (assignment_expression "ppppbStack_1130 = appppbStack_1118[0]" identifier = (subscript_expression "appppbStack_1118[0]" identifier [ number_literal ])) ;) (expression_statement "iStack_1150 = iStack_1108;" (assignment_expression "iStack_1150 = iStack_1108" identifier = identifier) ;) (expression_statement "iStack_1154 = iStack_1104;" (assignment_expression "iStack_1154 = iStack_1104" identifier = identifier) ;) (expression_statement "iStack_111c = (**(code **)(puStack_1170 + -0x633c))(param_1);" (assignment_expression "iStack_111c = (**(code **)(puStack_1170 + -0x633c))(param_1)" identifier = (call_expression "(**(code **)(puStack_1170 + -0x633c))(param_1)" (parenthesized_expression "(**(code **)(puStack_1170 + -0x633c))" ( (pointer_expression "**(code **)(puStack_1170 + -0x633c)" * (pointer_expression "*(code **)(puStack_1170 + -0x633c)" * (cast_expression "(code **)(puStack_1170 + -0x633c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x633c)" ( (binary_expression "puStack_1170 + -0x633c" identifier + number_literal) ))))) )) (argument_list "(param_1)" ( identifier )))) ;) (if_statement "if (iStack_111c == 0) goto LAB_000dfb00;" if (parenthesized_expression "(iStack_111c == 0)" ( (binary_expression "iStack_111c == 0" identifier == number_literal) )) (goto_statement "goto LAB_000dfb00;" goto statement_identifier ;)) (expression_statement "unaff_s3 = (byte *****)\n                   ((byte *)((int)ppppbStack_1134 + (int)ppppbStack_1140) + -(int)param_1);" (assignment_expression "unaff_s3 = (byte *****)\n                   ((byte *)((int)ppppbStack_1134 + (int)ppppbStack_1140) + -(int)param_1)" identifier = (cast_expression "(byte *****)\n                   ((byte *)((int)ppppbStack_1134 + (int)ppppbStack_1140) + -(int)param_1)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((byte *)((int)ppppbStack_1134 + (int)ppppbStack_1140) + -(int)param_1)" ( (binary_expression "(byte *)((int)ppppbStack_1134 + (int)ppppbStack_1140) + -(int)param_1" (cast_expression "(byte *)((int)ppppbStack_1134 + (int)ppppbStack_1140)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppbStack_1134 + (int)ppppbStack_1140)" ( (binary_expression "(int)ppppbStack_1134 + (int)ppppbStack_1140" (cast_expression "(int)ppppbStack_1134" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)ppppbStack_1140" ( (type_descriptor "int" primitive_type) ) identifier)) ))) + (unary_expression "-(int)param_1" - (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier))) )))) ;) (expression_statement "unaff_s5 = (byte *****)((int)unaff_s3 + 1);" (assignment_expression "unaff_s5 = (byte *****)((int)unaff_s3 + 1)" identifier = (cast_expression "(byte *****)((int)unaff_s3 + 1)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (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) )))) ;) (labeled_statement "LAB_000df8ec:\n        do {\n          pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n          do {\n            do {\n              piVar4 = (int *)(*pcVar16)(iStack_111c);\n              while( true ) {\n                if (piVar4 == (int *)0x0) {\n                  param_1 = (byte *****)(**(code **)(puStack_1170 + -0x6204))();\n                  ppppbVar11 = (byte ****)pppbStack_1138;\n                  if (*param_1 != (byte ****)0x0) {\n                    ppppbVar11 = *param_1;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  *param_1 = ppppbVar11;\n                  pppppbVar13 = pppppbVar12;\n                  goto LAB_000dfb00;\n                }\n                if (*(char *)((int)piVar4 + 0x13) != '.') break;\n                pppppbVar2 = (byte *****)0xffff0000;\n                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;\n                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;\n                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);\n              }\n            } while ((ppppbStack_1120 == ppppbStack_1130) &&\n                    ((pcVar16 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c))));\n            param_1 = (byte *****)((int)piVar4 + 0x13);\n            pppppbVar5 = (byte *****)(**(code **)(puStack_1170 + -0x61b0))(param_1);\n            iVar3 = -((uint)((byte *)((int)unaff_s5 + (int)pppppbVar5) + 8) & 0xfffffff8);\n            puVar18 = puVar17 + iVar3;\n            puVar19 = puVar17 + iVar3;\n            puVar20 = puVar17 + iVar3;\n            puVar25 = puVar17 + iVar3;\n            puVar21 = puVar17 + iVar3;\n            puVar26 = puVar17 + iVar3;\n            puVar22 = puVar17 + iVar3;\n            puVar24 = puVar17 + iVar3;\n            puVar23 = puVar17 + iVar3;\n            pppppbVar12 = (byte *****)(puVar17 + iVar3 + 0x10);\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar12,ppppbStack_1124,unaff_s3);\n            puVar15 = puStack_1170;\n            *(byte *)((int)pppppbVar12 + (int)unaff_s3) = 0x2f;\n            (**(code **)(puVar15 + -0x605c))\n                      ((byte *)((int)pppppbVar12 + (int)unaff_s5),param_1,\n                       (byte *)((int)pppppbVar5 + 1));\n            pppppbVar2 = pppppbVar12;\n            param_3 = (byte *****)ppppbStack_1128;\n            iVar6 = (**(code **)(puStack_1170 + -0x632c))(3,pppppbVar12);\n            if (iVar6 < 0) {\n              piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))();\n              pppbStack_1138 = (byte ***)*piVar4;\n            }\n            pppppbVar13 = (byte *****)ppppbStack_1158;\n            pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n            puVar17 = puVar17 + iVar3;\n          } while ((appppbStack_1118[0] != ppppbStack_1120) ||\n                  (puVar17 = puVar18, iStack_1108 != iStack_112c));\n          puVar17 = puVar19;\n        } while (iStack_1104 != iStack_113c);" statement_identifier : (do_statement "do {\n          pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n          do {\n            do {\n              piVar4 = (int *)(*pcVar16)(iStack_111c);\n              while( true ) {\n                if (piVar4 == (int *)0x0) {\n                  param_1 = (byte *****)(**(code **)(puStack_1170 + -0x6204))();\n                  ppppbVar11 = (byte ****)pppbStack_1138;\n                  if (*param_1 != (byte ****)0x0) {\n                    ppppbVar11 = *param_1;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  *param_1 = ppppbVar11;\n                  pppppbVar13 = pppppbVar12;\n                  goto LAB_000dfb00;\n                }\n                if (*(char *)((int)piVar4 + 0x13) != '.') break;\n                pppppbVar2 = (byte *****)0xffff0000;\n                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;\n                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;\n                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);\n              }\n            } while ((ppppbStack_1120 == ppppbStack_1130) &&\n                    ((pcVar16 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c))));\n            param_1 = (byte *****)((int)piVar4 + 0x13);\n            pppppbVar5 = (byte *****)(**(code **)(puStack_1170 + -0x61b0))(param_1);\n            iVar3 = -((uint)((byte *)((int)unaff_s5 + (int)pppppbVar5) + 8) & 0xfffffff8);\n            puVar18 = puVar17 + iVar3;\n            puVar19 = puVar17 + iVar3;\n            puVar20 = puVar17 + iVar3;\n            puVar25 = puVar17 + iVar3;\n            puVar21 = puVar17 + iVar3;\n            puVar26 = puVar17 + iVar3;\n            puVar22 = puVar17 + iVar3;\n            puVar24 = puVar17 + iVar3;\n            puVar23 = puVar17 + iVar3;\n            pppppbVar12 = (byte *****)(puVar17 + iVar3 + 0x10);\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar12,ppppbStack_1124,unaff_s3);\n            puVar15 = puStack_1170;\n            *(byte *)((int)pppppbVar12 + (int)unaff_s3) = 0x2f;\n            (**(code **)(puVar15 + -0x605c))\n                      ((byte *)((int)pppppbVar12 + (int)unaff_s5),param_1,\n                       (byte *)((int)pppppbVar5 + 1));\n            pppppbVar2 = pppppbVar12;\n            param_3 = (byte *****)ppppbStack_1128;\n            iVar6 = (**(code **)(puStack_1170 + -0x632c))(3,pppppbVar12);\n            if (iVar6 < 0) {\n              piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))();\n              pppbStack_1138 = (byte ***)*piVar4;\n            }\n            pppppbVar13 = (byte *****)ppppbStack_1158;\n            pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n            puVar17 = puVar17 + iVar3;\n          } while ((appppbStack_1118[0] != ppppbStack_1120) ||\n                  (puVar17 = puVar18, iStack_1108 != iStack_112c));\n          puVar17 = puVar19;\n        } while (iStack_1104 != iStack_113c);" do (compound_statement "{\n          pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n          do {\n            do {\n              piVar4 = (int *)(*pcVar16)(iStack_111c);\n              while( true ) {\n                if (piVar4 == (int *)0x0) {\n                  param_1 = (byte *****)(**(code **)(puStack_1170 + -0x6204))();\n                  ppppbVar11 = (byte ****)pppbStack_1138;\n                  if (*param_1 != (byte ****)0x0) {\n                    ppppbVar11 = *param_1;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  *param_1 = ppppbVar11;\n                  pppppbVar13 = pppppbVar12;\n                  goto LAB_000dfb00;\n                }\n                if (*(char *)((int)piVar4 + 0x13) != '.') break;\n                pppppbVar2 = (byte *****)0xffff0000;\n                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;\n                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;\n                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);\n              }\n            } while ((ppppbStack_1120 == ppppbStack_1130) &&\n                    ((pcVar16 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c))));\n            param_1 = (byte *****)((int)piVar4 + 0x13);\n            pppppbVar5 = (byte *****)(**(code **)(puStack_1170 + -0x61b0))(param_1);\n            iVar3 = -((uint)((byte *)((int)unaff_s5 + (int)pppppbVar5) + 8) & 0xfffffff8);\n            puVar18 = puVar17 + iVar3;\n            puVar19 = puVar17 + iVar3;\n            puVar20 = puVar17 + iVar3;\n            puVar25 = puVar17 + iVar3;\n            puVar21 = puVar17 + iVar3;\n            puVar26 = puVar17 + iVar3;\n            puVar22 = puVar17 + iVar3;\n            puVar24 = puVar17 + iVar3;\n            puVar23 = puVar17 + iVar3;\n            pppppbVar12 = (byte *****)(puVar17 + iVar3 + 0x10);\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar12,ppppbStack_1124,unaff_s3);\n            puVar15 = puStack_1170;\n            *(byte *)((int)pppppbVar12 + (int)unaff_s3) = 0x2f;\n            (**(code **)(puVar15 + -0x605c))\n                      ((byte *)((int)pppppbVar12 + (int)unaff_s5),param_1,\n                       (byte *)((int)pppppbVar5 + 1));\n            pppppbVar2 = pppppbVar12;\n            param_3 = (byte *****)ppppbStack_1128;\n            iVar6 = (**(code **)(puStack_1170 + -0x632c))(3,pppppbVar12);\n            if (iVar6 < 0) {\n              piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))();\n              pppbStack_1138 = (byte ***)*piVar4;\n            }\n            pppppbVar13 = (byte *****)ppppbStack_1158;\n            pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n            puVar17 = puVar17 + iVar3;\n          } while ((appppbStack_1118[0] != ppppbStack_1120) ||\n                  (puVar17 = puVar18, iStack_1108 != iStack_112c));\n          puVar17 = puVar19;\n        }" { (expression_statement "pcVar16 = *(code **)(puStack_1170 + -0x62c8);" (assignment_expression "pcVar16 = *(code **)(puStack_1170 + -0x62c8)" identifier = (pointer_expression "*(code **)(puStack_1170 + -0x62c8)" * (cast_expression "(code **)(puStack_1170 + -0x62c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x62c8)" ( (binary_expression "puStack_1170 + -0x62c8" identifier + number_literal) ))))) ;) (do_statement "do {\n            do {\n              piVar4 = (int *)(*pcVar16)(iStack_111c);\n              while( true ) {\n                if (piVar4 == (int *)0x0) {\n                  param_1 = (byte *****)(**(code **)(puStack_1170 + -0x6204))();\n                  ppppbVar11 = (byte ****)pppbStack_1138;\n                  if (*param_1 != (byte ****)0x0) {\n                    ppppbVar11 = *param_1;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  *param_1 = ppppbVar11;\n                  pppppbVar13 = pppppbVar12;\n                  goto LAB_000dfb00;\n                }\n                if (*(char *)((int)piVar4 + 0x13) != '.') break;\n                pppppbVar2 = (byte *****)0xffff0000;\n                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;\n                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;\n                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);\n              }\n            } while ((ppppbStack_1120 == ppppbStack_1130) &&\n                    ((pcVar16 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c))));\n            param_1 = (byte *****)((int)piVar4 + 0x13);\n            pppppbVar5 = (byte *****)(**(code **)(puStack_1170 + -0x61b0))(param_1);\n            iVar3 = -((uint)((byte *)((int)unaff_s5 + (int)pppppbVar5) + 8) & 0xfffffff8);\n            puVar18 = puVar17 + iVar3;\n            puVar19 = puVar17 + iVar3;\n            puVar20 = puVar17 + iVar3;\n            puVar25 = puVar17 + iVar3;\n            puVar21 = puVar17 + iVar3;\n            puVar26 = puVar17 + iVar3;\n            puVar22 = puVar17 + iVar3;\n            puVar24 = puVar17 + iVar3;\n            puVar23 = puVar17 + iVar3;\n            pppppbVar12 = (byte *****)(puVar17 + iVar3 + 0x10);\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar12,ppppbStack_1124,unaff_s3);\n            puVar15 = puStack_1170;\n            *(byte *)((int)pppppbVar12 + (int)unaff_s3) = 0x2f;\n            (**(code **)(puVar15 + -0x605c))\n                      ((byte *)((int)pppppbVar12 + (int)unaff_s5),param_1,\n                       (byte *)((int)pppppbVar5 + 1));\n            pppppbVar2 = pppppbVar12;\n            param_3 = (byte *****)ppppbStack_1128;\n            iVar6 = (**(code **)(puStack_1170 + -0x632c))(3,pppppbVar12);\n            if (iVar6 < 0) {\n              piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))();\n              pppbStack_1138 = (byte ***)*piVar4;\n            }\n            pppppbVar13 = (byte *****)ppppbStack_1158;\n            pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n            puVar17 = puVar17 + iVar3;\n          } while ((appppbStack_1118[0] != ppppbStack_1120) ||\n                  (puVar17 = puVar18, iStack_1108 != iStack_112c));" do (compound_statement "{\n            do {\n              piVar4 = (int *)(*pcVar16)(iStack_111c);\n              while( true ) {\n                if (piVar4 == (int *)0x0) {\n                  param_1 = (byte *****)(**(code **)(puStack_1170 + -0x6204))();\n                  ppppbVar11 = (byte ****)pppbStack_1138;\n                  if (*param_1 != (byte ****)0x0) {\n                    ppppbVar11 = *param_1;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  *param_1 = ppppbVar11;\n                  pppppbVar13 = pppppbVar12;\n                  goto LAB_000dfb00;\n                }\n                if (*(char *)((int)piVar4 + 0x13) != '.') break;\n                pppppbVar2 = (byte *****)0xffff0000;\n                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;\n                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;\n                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);\n              }\n            } while ((ppppbStack_1120 == ppppbStack_1130) &&\n                    ((pcVar16 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c))));\n            param_1 = (byte *****)((int)piVar4 + 0x13);\n            pppppbVar5 = (byte *****)(**(code **)(puStack_1170 + -0x61b0))(param_1);\n            iVar3 = -((uint)((byte *)((int)unaff_s5 + (int)pppppbVar5) + 8) & 0xfffffff8);\n            puVar18 = puVar17 + iVar3;\n            puVar19 = puVar17 + iVar3;\n            puVar20 = puVar17 + iVar3;\n            puVar25 = puVar17 + iVar3;\n            puVar21 = puVar17 + iVar3;\n            puVar26 = puVar17 + iVar3;\n            puVar22 = puVar17 + iVar3;\n            puVar24 = puVar17 + iVar3;\n            puVar23 = puVar17 + iVar3;\n            pppppbVar12 = (byte *****)(puVar17 + iVar3 + 0x10);\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar12,ppppbStack_1124,unaff_s3);\n            puVar15 = puStack_1170;\n            *(byte *)((int)pppppbVar12 + (int)unaff_s3) = 0x2f;\n            (**(code **)(puVar15 + -0x605c))\n                      ((byte *)((int)pppppbVar12 + (int)unaff_s5),param_1,\n                       (byte *)((int)pppppbVar5 + 1));\n            pppppbVar2 = pppppbVar12;\n            param_3 = (byte *****)ppppbStack_1128;\n            iVar6 = (**(code **)(puStack_1170 + -0x632c))(3,pppppbVar12);\n            if (iVar6 < 0) {\n              piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))();\n              pppbStack_1138 = (byte ***)*piVar4;\n            }\n            pppppbVar13 = (byte *****)ppppbStack_1158;\n            pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n            puVar17 = puVar17 + iVar3;\n          }" { (do_statement "do {\n              piVar4 = (int *)(*pcVar16)(iStack_111c);\n              while( true ) {\n                if (piVar4 == (int *)0x0) {\n                  param_1 = (byte *****)(**(code **)(puStack_1170 + -0x6204))();\n                  ppppbVar11 = (byte ****)pppbStack_1138;\n                  if (*param_1 != (byte ****)0x0) {\n                    ppppbVar11 = *param_1;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  *param_1 = ppppbVar11;\n                  pppppbVar13 = pppppbVar12;\n                  goto LAB_000dfb00;\n                }\n                if (*(char *)((int)piVar4 + 0x13) != '.') break;\n                pppppbVar2 = (byte *****)0xffff0000;\n                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;\n                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;\n                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);\n              }\n            } while ((ppppbStack_1120 == ppppbStack_1130) &&\n                    ((pcVar16 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c))));" do (compound_statement "{\n              piVar4 = (int *)(*pcVar16)(iStack_111c);\n              while( true ) {\n                if (piVar4 == (int *)0x0) {\n                  param_1 = (byte *****)(**(code **)(puStack_1170 + -0x6204))();\n                  ppppbVar11 = (byte ****)pppbStack_1138;\n                  if (*param_1 != (byte ****)0x0) {\n                    ppppbVar11 = *param_1;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  *param_1 = ppppbVar11;\n                  pppppbVar13 = pppppbVar12;\n                  goto LAB_000dfb00;\n                }\n                if (*(char *)((int)piVar4 + 0x13) != '.') break;\n                pppppbVar2 = (byte *****)0xffff0000;\n                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;\n                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;\n                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);\n              }\n            }" { (expression_statement "piVar4 = (int *)(*pcVar16)(iStack_111c);" (assignment_expression "piVar4 = (int *)(*pcVar16)(iStack_111c)" identifier = (cast_expression "(int *)(*pcVar16)(iStack_111c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar16)(iStack_111c)" (parenthesized_expression "(*pcVar16)" ( (pointer_expression "*pcVar16" * identifier) )) (argument_list "(iStack_111c)" ( identifier ))))) ;) (while_statement "while( true ) {\n                if (piVar4 == (int *)0x0) {\n                  param_1 = (byte *****)(**(code **)(puStack_1170 + -0x6204))();\n                  ppppbVar11 = (byte ****)pppbStack_1138;\n                  if (*param_1 != (byte ****)0x0) {\n                    ppppbVar11 = *param_1;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  *param_1 = ppppbVar11;\n                  pppppbVar13 = pppppbVar12;\n                  goto LAB_000dfb00;\n                }\n                if (*(char *)((int)piVar4 + 0x13) != '.') break;\n                pppppbVar2 = (byte *****)0xffff0000;\n                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;\n                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;\n                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);\n              }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                if (piVar4 == (int *)0x0) {\n                  param_1 = (byte *****)(**(code **)(puStack_1170 + -0x6204))();\n                  ppppbVar11 = (byte ****)pppbStack_1138;\n                  if (*param_1 != (byte ****)0x0) {\n                    ppppbVar11 = *param_1;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  *param_1 = ppppbVar11;\n                  pppppbVar13 = pppppbVar12;\n                  goto LAB_000dfb00;\n                }\n                if (*(char *)((int)piVar4 + 0x13) != '.') break;\n                pppppbVar2 = (byte *****)0xffff0000;\n                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;\n                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;\n                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);\n              }" { (if_statement "if (piVar4 == (int *)0x0) {\n                  param_1 = (byte *****)(**(code **)(puStack_1170 + -0x6204))();\n                  ppppbVar11 = (byte ****)pppbStack_1138;\n                  if (*param_1 != (byte ****)0x0) {\n                    ppppbVar11 = *param_1;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  *param_1 = ppppbVar11;\n                  pppppbVar13 = pppppbVar12;\n                  goto LAB_000dfb00;\n                }" if (parenthesized_expression "(piVar4 == (int *)0x0)" ( (binary_expression "piVar4 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  param_1 = (byte *****)(**(code **)(puStack_1170 + -0x6204))();\n                  ppppbVar11 = (byte ****)pppbStack_1138;\n                  if (*param_1 != (byte ****)0x0) {\n                    ppppbVar11 = *param_1;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  *param_1 = ppppbVar11;\n                  pppppbVar13 = pppppbVar12;\n                  goto LAB_000dfb00;\n                }" { (expression_statement "param_1 = (byte *****)(**(code **)(puStack_1170 + -0x6204))();" (assignment_expression "param_1 = (byte *****)(**(code **)(puStack_1170 + -0x6204))()" identifier = (cast_expression "(byte *****)(**(code **)(puStack_1170 + -0x6204))()" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(**(code **)(puStack_1170 + -0x6204))()" (parenthesized_expression "(**(code **)(puStack_1170 + -0x6204))" ( (pointer_expression "**(code **)(puStack_1170 + -0x6204)" * (pointer_expression "*(code **)(puStack_1170 + -0x6204)" * (cast_expression "(code **)(puStack_1170 + -0x6204)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x6204)" ( (binary_expression "puStack_1170 + -0x6204" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "ppppbVar11 = (byte ****)pppbStack_1138;" (assignment_expression "ppppbVar11 = (byte ****)pppbStack_1138" identifier = (cast_expression "(byte ****)pppbStack_1138" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (if_statement "if (*param_1 != (byte ****)0x0) {\n                    ppppbVar11 = *param_1;\n                  }" if (parenthesized_expression "(*param_1 != (byte ****)0x0)" ( (binary_expression "*param_1 != (byte ****)0x0" (pointer_expression "*param_1" * identifier) != (cast_expression "(byte ****)0x0" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n                    ppppbVar11 = *param_1;\n                  }" { (expression_statement "ppppbVar11 = *param_1;" (assignment_expression "ppppbVar11 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) })) (expression_statement "(**(code **)(puStack_1170 + -0x6338))(iStack_111c);" (call_expression "(**(code **)(puStack_1170 + -0x6338))(iStack_111c)" (parenthesized_expression "(**(code **)(puStack_1170 + -0x6338))" ( (pointer_expression "**(code **)(puStack_1170 + -0x6338)" * (pointer_expression "*(code **)(puStack_1170 + -0x6338)" * (cast_expression "(code **)(puStack_1170 + -0x6338)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x6338)" ( (binary_expression "puStack_1170 + -0x6338" identifier + number_literal) ))))) )) (argument_list "(iStack_111c)" ( identifier ))) ;) (expression_statement "*param_1 = ppppbVar11;" (assignment_expression "*param_1 = ppppbVar11" (pointer_expression "*param_1" * identifier) = identifier) ;) (expression_statement "pppppbVar13 = pppppbVar12;" (assignment_expression "pppppbVar13 = pppppbVar12" identifier = identifier) ;) (goto_statement "goto LAB_000dfb00;" goto statement_identifier ;) })) (if_statement "if (*(char *)((int)piVar4 + 0x13) != '.') break;" if (parenthesized_expression "(*(char *)((int)piVar4 + 0x13) != '.')" ( (binary_expression "*(char *)((int)piVar4 + 0x13) != '.'" (pointer_expression "*(char *)((int)piVar4 + 0x13)" * (cast_expression "(char *)((int)piVar4 + 0x13)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar4 + 0x13)" ( (binary_expression "(int)piVar4 + 0x13" (cast_expression "(int)piVar4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'.'" ' character ')) )) (break_statement "break;" break ;)) (expression_statement "pppppbVar2 = (byte *****)0xffff0000;" (assignment_expression "pppppbVar2 = (byte *****)0xffff0000" identifier = (cast_expression "(byte *****)0xffff0000" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (if_statement "if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;" if (parenthesized_expression "(*(char *)(piVar4 + 5) == '\0')" ( (binary_expression "*(char *)(piVar4 + 5) == '\0'" (pointer_expression "*(char *)(piVar4 + 5)" * (cast_expression "(char *)(piVar4 + 5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar4 + 5)" ( (binary_expression "piVar4 + 5" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000df8ec;" goto statement_identifier ;)) (if_statement "if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;" if (parenthesized_expression "((piVar4[5] & 0xffff0000U) != 0x2e000000)" ( (binary_expression "(piVar4[5] & 0xffff0000U) != 0x2e000000" (parenthesized_expression "(piVar4[5] & 0xffff0000U)" ( (binary_expression "piVar4[5] & 0xffff0000U" (subscript_expression "piVar4[5]" identifier [ number_literal ]) & number_literal) )) != number_literal) )) (break_statement "break;" break ;)) (expression_statement "piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);" (assignment_expression "piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c)" identifier = (cast_expression "(int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puStack_1170 + -0x62c8))(iStack_111c)" (parenthesized_expression "(**(code **)(puStack_1170 + -0x62c8))" ( (pointer_expression "**(code **)(puStack_1170 + -0x62c8)" * (pointer_expression "*(code **)(puStack_1170 + -0x62c8)" * (cast_expression "(code **)(puStack_1170 + -0x62c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x62c8)" ( (binary_expression "puStack_1170 + -0x62c8" identifier + number_literal) ))))) )) (argument_list "(iStack_111c)" ( identifier ))))) ;) })) }) while (parenthesized_expression "((ppppbStack_1120 == ppppbStack_1130) &&\n                    ((pcVar16 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c))))" ( (binary_expression "(ppppbStack_1120 == ppppbStack_1130) &&\n                    ((pcVar16 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c)))" (parenthesized_expression "(ppppbStack_1120 == ppppbStack_1130)" ( (binary_expression "ppppbStack_1120 == ppppbStack_1130" identifier == identifier) )) && (parenthesized_expression "((pcVar16 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c)))" ( (parenthesized_expression "(pcVar16 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c))" ( (comma_expression "pcVar16 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c)" (assignment_expression "pcVar16 = *(code **)(puStack_1170 + -0x62c8)" identifier = (pointer_expression "*(code **)(puStack_1170 + -0x62c8)" * (cast_expression "(code **)(puStack_1170 + -0x62c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x62c8)" ( (binary_expression "puStack_1170 + -0x62c8" identifier + number_literal) ))))) , (binary_expression "*piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c)" (binary_expression "*piVar4 != iStack_112c" (pointer_expression "*piVar4" * identifier) != identifier) || (parenthesized_expression "(piVar4[1] != iStack_113c)" ( (binary_expression "piVar4[1] != iStack_113c" (subscript_expression "piVar4[1]" identifier [ number_literal ]) != identifier) )))) )) ))) )) ;) (expression_statement "param_1 = (byte *****)((int)piVar4 + 0x13);" (assignment_expression "param_1 = (byte *****)((int)piVar4 + 0x13)" identifier = (cast_expression "(byte *****)((int)piVar4 + 0x13)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)piVar4 + 0x13)" ( (binary_expression "(int)piVar4 + 0x13" (cast_expression "(int)piVar4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pppppbVar5 = (byte *****)(**(code **)(puStack_1170 + -0x61b0))(param_1);" (assignment_expression "pppppbVar5 = (byte *****)(**(code **)(puStack_1170 + -0x61b0))(param_1)" identifier = (cast_expression "(byte *****)(**(code **)(puStack_1170 + -0x61b0))(param_1)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(**(code **)(puStack_1170 + -0x61b0))(param_1)" (parenthesized_expression "(**(code **)(puStack_1170 + -0x61b0))" ( (pointer_expression "**(code **)(puStack_1170 + -0x61b0)" * (pointer_expression "*(code **)(puStack_1170 + -0x61b0)" * (cast_expression "(code **)(puStack_1170 + -0x61b0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x61b0)" ( (binary_expression "puStack_1170 + -0x61b0" identifier + number_literal) ))))) )) (argument_list "(param_1)" ( identifier ))))) ;) (expression_statement "iVar3 = -((uint)((byte *)((int)unaff_s5 + (int)pppppbVar5) + 8) & 0xfffffff8);" (assignment_expression "iVar3 = -((uint)((byte *)((int)unaff_s5 + (int)pppppbVar5) + 8) & 0xfffffff8)" identifier = (unary_expression "-((uint)((byte *)((int)unaff_s5 + (int)pppppbVar5) + 8) & 0xfffffff8)" - (parenthesized_expression "((uint)((byte *)((int)unaff_s5 + (int)pppppbVar5) + 8) & 0xfffffff8)" ( (binary_expression "(uint)((byte *)((int)unaff_s5 + (int)pppppbVar5) + 8) & 0xfffffff8" (call_expression "(uint)((byte *)((int)unaff_s5 + (int)pppppbVar5) + 8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((byte *)((int)unaff_s5 + (int)pppppbVar5) + 8)" ( (binary_expression "(byte *)((int)unaff_s5 + (int)pppppbVar5) + 8" (cast_expression "(byte *)((int)unaff_s5 + (int)pppppbVar5)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s5 + (int)pppppbVar5)" ( (binary_expression "(int)unaff_s5 + (int)pppppbVar5" (cast_expression "(int)unaff_s5" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppbVar5" ( (type_descriptor "int" primitive_type) ) identifier)) ))) + number_literal) ))) & number_literal) )))) ;) (expression_statement "puVar18 = puVar17 + iVar3;" (assignment_expression "puVar18 = puVar17 + iVar3" identifier = (binary_expression "puVar17 + iVar3" identifier + identifier)) ;) (expression_statement "puVar19 = puVar17 + iVar3;" (assignment_expression "puVar19 = puVar17 + iVar3" identifier = (binary_expression "puVar17 + iVar3" identifier + identifier)) ;) (expression_statement "puVar20 = puVar17 + iVar3;" (assignment_expression "puVar20 = puVar17 + iVar3" identifier = (binary_expression "puVar17 + iVar3" identifier + identifier)) ;) (expression_statement "puVar25 = puVar17 + iVar3;" (assignment_expression "puVar25 = puVar17 + iVar3" identifier = (binary_expression "puVar17 + iVar3" identifier + identifier)) ;) (expression_statement "puVar21 = puVar17 + iVar3;" (assignment_expression "puVar21 = puVar17 + iVar3" identifier = (binary_expression "puVar17 + iVar3" identifier + identifier)) ;) (expression_statement "puVar26 = puVar17 + iVar3;" (assignment_expression "puVar26 = puVar17 + iVar3" identifier = (binary_expression "puVar17 + iVar3" identifier + identifier)) ;) (expression_statement "puVar22 = puVar17 + iVar3;" (assignment_expression "puVar22 = puVar17 + iVar3" identifier = (binary_expression "puVar17 + iVar3" identifier + identifier)) ;) (expression_statement "puVar24 = puVar17 + iVar3;" (assignment_expression "puVar24 = puVar17 + iVar3" identifier = (binary_expression "puVar17 + iVar3" identifier + identifier)) ;) (expression_statement "puVar23 = puVar17 + iVar3;" (assignment_expression "puVar23 = puVar17 + iVar3" identifier = (binary_expression "puVar17 + iVar3" identifier + identifier)) ;) (expression_statement "pppppbVar12 = (byte *****)(puVar17 + iVar3 + 0x10);" (assignment_expression "pppppbVar12 = (byte *****)(puVar17 + iVar3 + 0x10)" identifier = (cast_expression "(byte *****)(puVar17 + iVar3 + 0x10)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(puVar17 + iVar3 + 0x10)" ( (binary_expression "puVar17 + iVar3 + 0x10" (binary_expression "puVar17 + iVar3" identifier + identifier) + number_literal) )))) ;) (expression_statement "(**(code **)(puStack_1170 + -0x605c))(pppppbVar12,ppppbStack_1124,unaff_s3);" (call_expression "(**(code **)(puStack_1170 + -0x605c))(pppppbVar12,ppppbStack_1124,unaff_s3)" (parenthesized_expression "(**(code **)(puStack_1170 + -0x605c))" ( (pointer_expression "**(code **)(puStack_1170 + -0x605c)" * (pointer_expression "*(code **)(puStack_1170 + -0x605c)" * (cast_expression "(code **)(puStack_1170 + -0x605c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x605c)" ( (binary_expression "puStack_1170 + -0x605c" identifier + number_literal) ))))) )) (argument_list "(pppppbVar12,ppppbStack_1124,unaff_s3)" ( identifier , identifier , identifier ))) ;) (expression_statement "puVar15 = puStack_1170;" (assignment_expression "puVar15 = puStack_1170" identifier = identifier) ;) (expression_statement "*(byte *)((int)pppppbVar12 + (int)unaff_s3) = 0x2f;" (assignment_expression "*(byte *)((int)pppppbVar12 + (int)unaff_s3) = 0x2f" (pointer_expression "*(byte *)((int)pppppbVar12 + (int)unaff_s3)" * (cast_expression "(byte *)((int)pppppbVar12 + (int)unaff_s3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppbVar12 + (int)unaff_s3)" ( (binary_expression "(int)pppppbVar12 + (int)unaff_s3" (cast_expression "(int)pppppbVar12" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier)) )))) = number_literal) ;) (expression_statement "(**(code **)(puVar15 + -0x605c))\n                      ((byte *)((int)pppppbVar12 + (int)unaff_s5),param_1,\n                       (byte *)((int)pppppbVar5 + 1));" (call_expression "(**(code **)(puVar15 + -0x605c))\n                      ((byte *)((int)pppppbVar12 + (int)unaff_s5),param_1,\n                       (byte *)((int)pppppbVar5 + 1))" (parenthesized_expression "(**(code **)(puVar15 + -0x605c))" ( (pointer_expression "**(code **)(puVar15 + -0x605c)" * (pointer_expression "*(code **)(puVar15 + -0x605c)" * (cast_expression "(code **)(puVar15 + -0x605c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x605c)" ( (binary_expression "puVar15 + -0x605c" identifier + number_literal) ))))) )) (argument_list "((byte *)((int)pppppbVar12 + (int)unaff_s5),param_1,\n                       (byte *)((int)pppppbVar5 + 1))" ( (cast_expression "(byte *)((int)pppppbVar12 + (int)unaff_s5)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppbVar12 + (int)unaff_s5)" ( (binary_expression "(int)pppppbVar12 + (int)unaff_s5" (cast_expression "(int)pppppbVar12" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)unaff_s5" ( (type_descriptor "int" primitive_type) ) identifier)) ))) , identifier , (cast_expression "(byte *)((int)pppppbVar5 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppbVar5 + 1)" ( (binary_expression "(int)pppppbVar5 + 1" (cast_expression "(int)pppppbVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) ))) ;) (expression_statement "pppppbVar2 = pppppbVar12;" (assignment_expression "pppppbVar2 = pppppbVar12" identifier = identifier) ;) (expression_statement "param_3 = (byte *****)ppppbStack_1128;" (assignment_expression "param_3 = (byte *****)ppppbStack_1128" identifier = (cast_expression "(byte *****)ppppbStack_1128" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "iVar6 = (**(code **)(puStack_1170 + -0x632c))(3,pppppbVar12);" (assignment_expression "iVar6 = (**(code **)(puStack_1170 + -0x632c))(3,pppppbVar12)" identifier = (call_expression "(**(code **)(puStack_1170 + -0x632c))(3,pppppbVar12)" (parenthesized_expression "(**(code **)(puStack_1170 + -0x632c))" ( (pointer_expression "**(code **)(puStack_1170 + -0x632c)" * (pointer_expression "*(code **)(puStack_1170 + -0x632c)" * (cast_expression "(code **)(puStack_1170 + -0x632c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x632c)" ( (binary_expression "puStack_1170 + -0x632c" identifier + number_literal) ))))) )) (argument_list "(3,pppppbVar12)" ( number_literal , identifier )))) ;) (if_statement "if (iVar6 < 0) {\n              piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))();\n              pppbStack_1138 = (byte ***)*piVar4;\n            }" if (parenthesized_expression "(iVar6 < 0)" ( (binary_expression "iVar6 < 0" identifier < number_literal) )) (compound_statement "{\n              piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))();\n              pppbStack_1138 = (byte ***)*piVar4;\n            }" { (expression_statement "piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))();" (assignment_expression "piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))()" identifier = (cast_expression "(int *)(**(code **)(puStack_1170 + -0x6204))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puStack_1170 + -0x6204))()" (parenthesized_expression "(**(code **)(puStack_1170 + -0x6204))" ( (pointer_expression "**(code **)(puStack_1170 + -0x6204)" * (pointer_expression "*(code **)(puStack_1170 + -0x6204)" * (cast_expression "(code **)(puStack_1170 + -0x6204)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x6204)" ( (binary_expression "puStack_1170 + -0x6204" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "pppbStack_1138 = (byte ***)*piVar4;" (assignment_expression "pppbStack_1138 = (byte ***)*piVar4" identifier = (cast_expression "(byte ***)*piVar4" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (pointer_expression "*piVar4" * identifier))) ;) })) (expression_statement "pppppbVar13 = (byte *****)ppppbStack_1158;" (assignment_expression "pppppbVar13 = (byte *****)ppppbStack_1158" identifier = (cast_expression "(byte *****)ppppbStack_1158" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pcVar16 = *(code **)(puStack_1170 + -0x62c8);" (assignment_expression "pcVar16 = *(code **)(puStack_1170 + -0x62c8)" identifier = (pointer_expression "*(code **)(puStack_1170 + -0x62c8)" * (cast_expression "(code **)(puStack_1170 + -0x62c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x62c8)" ( (binary_expression "puStack_1170 + -0x62c8" identifier + number_literal) ))))) ;) (expression_statement "puVar17 = puVar17 + iVar3;" (assignment_expression "puVar17 = puVar17 + iVar3" identifier = (binary_expression "puVar17 + iVar3" identifier + identifier)) ;) }) while (parenthesized_expression "((appppbStack_1118[0] != ppppbStack_1120) ||\n                  (puVar17 = puVar18, iStack_1108 != iStack_112c))" ( (binary_expression "(appppbStack_1118[0] != ppppbStack_1120) ||\n                  (puVar17 = puVar18, iStack_1108 != iStack_112c)" (parenthesized_expression "(appppbStack_1118[0] != ppppbStack_1120)" ( (binary_expression "appppbStack_1118[0] != ppppbStack_1120" (subscript_expression "appppbStack_1118[0]" identifier [ number_literal ]) != identifier) )) || (parenthesized_expression "(puVar17 = puVar18, iStack_1108 != iStack_112c)" ( (comma_expression "puVar17 = puVar18, iStack_1108 != iStack_112c" (assignment_expression "puVar17 = puVar18" identifier = identifier) , (binary_expression "iStack_1108 != iStack_112c" identifier != identifier)) ))) )) ;) (expression_statement "puVar17 = puVar19;" (assignment_expression "puVar17 = puVar19" identifier = identifier) ;) }) while (parenthesized_expression "(iStack_1104 != iStack_113c)" ( (binary_expression "iStack_1104 != iStack_113c" identifier != identifier) )) ;)) (expression_statement "pppppbVar9 = param_1;" (assignment_expression "pppppbVar9 = param_1" identifier = identifier) ;) (expression_statement "unaff_s3 = (byte *****)((int)pppppbVar14 - (int)unaff_s1);" (assignment_expression "unaff_s3 = (byte *****)((int)pppppbVar14 - (int)unaff_s1)" identifier = (cast_expression "(byte *****)((int)pppppbVar14 - (int)unaff_s1)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)pppppbVar14 - (int)unaff_s1)" ( (binary_expression "(int)pppppbVar14 - (int)unaff_s1" (cast_expression "(int)pppppbVar14" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)unaff_s1" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "unaff_s5 = unaff_s6;" (assignment_expression "unaff_s5 = unaff_s6" identifier = identifier) ;) (while_statement "while (unaff_s3 <= pppppbVar5) {\n          unaff_s6 = (byte *****)((int)unaff_s5 << 1);\n          ppppbStack_1120 = (byte ****)pppppbVar9;\n          if (pppppbVar10 == pppppbVar13) {\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pppppbVar9 = (byte *****)0x0;\n              ppppbStack_44 = (byte ****)pppppbVar2;\n              if ((ppppbStack_1134 == ppppbStack_1148) ||\n                 (pppppbVar10 = (byte *****)ppppbStack_1158, puVar26 = puVar22,\n                 (byte *****)ppppbStack_1134 == (byte *****)0x0)) goto LAB_000dfb60;\n              goto LAB_000dfb18;\n            }\n          }\n          else {\n            pppppbVar2 = unaff_s6;\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(pppppbVar10,unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar20;\n              if (ppppbStack_1134 == ppppbStack_1148) goto LAB_000dfcc0;\n              pcVar16 = *(code **)(puStack_1170 + -0x6204);\n              if ((byte *****)ppppbStack_1134 != (byte *****)0x0) goto LAB_000dfb1c;\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar21;\n              goto LAB_000dfcc0;\n            }\n            pppppbVar14 = (byte *****)((int)unaff_s1 + (int)unaff_s3);\n          }\n          param_1 = (byte *****)((int)unaff_s5 + (int)unaff_s3);\n          param_3 = (byte *****)((int)unaff_s5 - (int)unaff_s3);\n          (**(code **)(puStack_1170 + -0x605c))((byte *****)((int)unaff_s1 + (int)param_1));\n          pppppbVar9 = (byte *****)ppppbStack_1120;\n          pppppbVar12 = pppppbVar13;\n          unaff_s3 = param_1;\n          pppppbVar2 = pppppbVar14;\n          pppppbVar10 = unaff_s1;\n          unaff_s5 = unaff_s6;\n          pppppbVar14 = (byte *****)((int)unaff_s1 + (int)param_1);\n        }" while (parenthesized_expression "(unaff_s3 <= pppppbVar5)" ( (binary_expression "unaff_s3 <= pppppbVar5" identifier <= identifier) )) (compound_statement "{\n          unaff_s6 = (byte *****)((int)unaff_s5 << 1);\n          ppppbStack_1120 = (byte ****)pppppbVar9;\n          if (pppppbVar10 == pppppbVar13) {\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pppppbVar9 = (byte *****)0x0;\n              ppppbStack_44 = (byte ****)pppppbVar2;\n              if ((ppppbStack_1134 == ppppbStack_1148) ||\n                 (pppppbVar10 = (byte *****)ppppbStack_1158, puVar26 = puVar22,\n                 (byte *****)ppppbStack_1134 == (byte *****)0x0)) goto LAB_000dfb60;\n              goto LAB_000dfb18;\n            }\n          }\n          else {\n            pppppbVar2 = unaff_s6;\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(pppppbVar10,unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar20;\n              if (ppppbStack_1134 == ppppbStack_1148) goto LAB_000dfcc0;\n              pcVar16 = *(code **)(puStack_1170 + -0x6204);\n              if ((byte *****)ppppbStack_1134 != (byte *****)0x0) goto LAB_000dfb1c;\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar21;\n              goto LAB_000dfcc0;\n            }\n            pppppbVar14 = (byte *****)((int)unaff_s1 + (int)unaff_s3);\n          }\n          param_1 = (byte *****)((int)unaff_s5 + (int)unaff_s3);\n          param_3 = (byte *****)((int)unaff_s5 - (int)unaff_s3);\n          (**(code **)(puStack_1170 + -0x605c))((byte *****)((int)unaff_s1 + (int)param_1));\n          pppppbVar9 = (byte *****)ppppbStack_1120;\n          pppppbVar12 = pppppbVar13;\n          unaff_s3 = param_1;\n          pppppbVar2 = pppppbVar14;\n          pppppbVar10 = unaff_s1;\n          unaff_s5 = unaff_s6;\n          pppppbVar14 = (byte *****)((int)unaff_s1 + (int)param_1);\n        }" { (expression_statement "unaff_s6 = (byte *****)((int)unaff_s5 << 1);" (assignment_expression "unaff_s6 = (byte *****)((int)unaff_s5 << 1)" identifier = (cast_expression "(byte *****)((int)unaff_s5 << 1)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)unaff_s5 << 1)" ( (binary_expression "(int)unaff_s5 << 1" (cast_expression "(int)unaff_s5" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal) )))) ;) (expression_statement "ppppbStack_1120 = (byte ****)pppppbVar9;" (assignment_expression "ppppbStack_1120 = (byte ****)pppppbVar9" identifier = (cast_expression "(byte ****)pppppbVar9" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (if_statement "if (pppppbVar10 == pppppbVar13) {\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pppppbVar9 = (byte *****)0x0;\n              ppppbStack_44 = (byte ****)pppppbVar2;\n              if ((ppppbStack_1134 == ppppbStack_1148) ||\n                 (pppppbVar10 = (byte *****)ppppbStack_1158, puVar26 = puVar22,\n                 (byte *****)ppppbStack_1134 == (byte *****)0x0)) goto LAB_000dfb60;\n              goto LAB_000dfb18;\n            }\n          }\n          else {\n            pppppbVar2 = unaff_s6;\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(pppppbVar10,unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar20;\n              if (ppppbStack_1134 == ppppbStack_1148) goto LAB_000dfcc0;\n              pcVar16 = *(code **)(puStack_1170 + -0x6204);\n              if ((byte *****)ppppbStack_1134 != (byte *****)0x0) goto LAB_000dfb1c;\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar21;\n              goto LAB_000dfcc0;\n            }\n            pppppbVar14 = (byte *****)((int)unaff_s1 + (int)unaff_s3);\n          }" if (parenthesized_expression "(pppppbVar10 == pppppbVar13)" ( (binary_expression "pppppbVar10 == pppppbVar13" identifier == identifier) )) (compound_statement "{\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pppppbVar9 = (byte *****)0x0;\n              ppppbStack_44 = (byte ****)pppppbVar2;\n              if ((ppppbStack_1134 == ppppbStack_1148) ||\n                 (pppppbVar10 = (byte *****)ppppbStack_1158, puVar26 = puVar22,\n                 (byte *****)ppppbStack_1134 == (byte *****)0x0)) goto LAB_000dfb60;\n              goto LAB_000dfb18;\n            }\n          }" { (expression_statement "unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(unaff_s6);" (assignment_expression "unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(unaff_s6)" identifier = (cast_expression "(byte *****)(**(code **)(puStack_1170 + -0x6158))(unaff_s6)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(**(code **)(puStack_1170 + -0x6158))(unaff_s6)" (parenthesized_expression "(**(code **)(puStack_1170 + -0x6158))" ( (pointer_expression "**(code **)(puStack_1170 + -0x6158)" * (pointer_expression "*(code **)(puStack_1170 + -0x6158)" * (cast_expression "(code **)(puStack_1170 + -0x6158)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x6158)" ( (binary_expression "puStack_1170 + -0x6158" identifier + number_literal) ))))) )) (argument_list "(unaff_s6)" ( identifier ))))) ;) (if_statement "if (unaff_s1 == (byte *****)0x0) {\n              pppppbVar9 = (byte *****)0x0;\n              ppppbStack_44 = (byte ****)pppppbVar2;\n              if ((ppppbStack_1134 == ppppbStack_1148) ||\n                 (pppppbVar10 = (byte *****)ppppbStack_1158, puVar26 = puVar22,\n                 (byte *****)ppppbStack_1134 == (byte *****)0x0)) goto LAB_000dfb60;\n              goto LAB_000dfb18;\n            }" if (parenthesized_expression "(unaff_s1 == (byte *****)0x0)" ( (binary_expression "unaff_s1 == (byte *****)0x0" identifier == (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n              pppppbVar9 = (byte *****)0x0;\n              ppppbStack_44 = (byte ****)pppppbVar2;\n              if ((ppppbStack_1134 == ppppbStack_1148) ||\n                 (pppppbVar10 = (byte *****)ppppbStack_1158, puVar26 = puVar22,\n                 (byte *****)ppppbStack_1134 == (byte *****)0x0)) goto LAB_000dfb60;\n              goto LAB_000dfb18;\n            }" { (expression_statement "pppppbVar9 = (byte *****)0x0;" (assignment_expression "pppppbVar9 = (byte *****)0x0" identifier = (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "ppppbStack_44 = (byte ****)pppppbVar2;" (assignment_expression "ppppbStack_44 = (byte ****)pppppbVar2" identifier = (cast_expression "(byte ****)pppppbVar2" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (if_statement "if ((ppppbStack_1134 == ppppbStack_1148) ||\n                 (pppppbVar10 = (byte *****)ppppbStack_1158, puVar26 = puVar22,\n                 (byte *****)ppppbStack_1134 == (byte *****)0x0)) goto LAB_000dfb60;" if (parenthesized_expression "((ppppbStack_1134 == ppppbStack_1148) ||\n                 (pppppbVar10 = (byte *****)ppppbStack_1158, puVar26 = puVar22,\n                 (byte *****)ppppbStack_1134 == (byte *****)0x0))" ( (binary_expression "(ppppbStack_1134 == ppppbStack_1148) ||\n                 (pppppbVar10 = (byte *****)ppppbStack_1158, puVar26 = puVar22,\n                 (byte *****)ppppbStack_1134 == (byte *****)0x0)" (parenthesized_expression "(ppppbStack_1134 == ppppbStack_1148)" ( (binary_expression "ppppbStack_1134 == ppppbStack_1148" identifier == identifier) )) || (parenthesized_expression "(pppppbVar10 = (byte *****)ppppbStack_1158, puVar26 = puVar22,\n                 (byte *****)ppppbStack_1134 == (byte *****)0x0)" ( (comma_expression "pppppbVar10 = (byte *****)ppppbStack_1158, puVar26 = puVar22,\n                 (byte *****)ppppbStack_1134 == (byte *****)0x0" (assignment_expression "pppppbVar10 = (byte *****)ppppbStack_1158" identifier = (cast_expression "(byte *****)ppppbStack_1158" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) , (comma_expression "puVar26 = puVar22,\n                 (byte *****)ppppbStack_1134 == (byte *****)0x0" (assignment_expression "puVar26 = puVar22" identifier = identifier) , (binary_expression "(byte *****)ppppbStack_1134 == (byte *****)0x0" (cast_expression "(byte *****)ppppbStack_1134" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier) == (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)))) ))) )) (goto_statement "goto LAB_000dfb60;" goto statement_identifier ;)) (goto_statement "goto LAB_000dfb18;" goto statement_identifier ;) })) }) (else_clause "else {\n            pppppbVar2 = unaff_s6;\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(pppppbVar10,unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar20;\n              if (ppppbStack_1134 == ppppbStack_1148) goto LAB_000dfcc0;\n              pcVar16 = *(code **)(puStack_1170 + -0x6204);\n              if ((byte *****)ppppbStack_1134 != (byte *****)0x0) goto LAB_000dfb1c;\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar21;\n              goto LAB_000dfcc0;\n            }\n            pppppbVar14 = (byte *****)((int)unaff_s1 + (int)unaff_s3);\n          }" else (compound_statement "{\n            pppppbVar2 = unaff_s6;\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(pppppbVar10,unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar20;\n              if (ppppbStack_1134 == ppppbStack_1148) goto LAB_000dfcc0;\n              pcVar16 = *(code **)(puStack_1170 + -0x6204);\n              if ((byte *****)ppppbStack_1134 != (byte *****)0x0) goto LAB_000dfb1c;\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar21;\n              goto LAB_000dfcc0;\n            }\n            pppppbVar14 = (byte *****)((int)unaff_s1 + (int)unaff_s3);\n          }" { (expression_statement "pppppbVar2 = unaff_s6;" (assignment_expression "pppppbVar2 = unaff_s6" identifier = identifier) ;) (expression_statement "unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(pppppbVar10,unaff_s6);" (assignment_expression "unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(pppppbVar10,unaff_s6)" identifier = (cast_expression "(byte *****)(**(code **)(puStack_1170 + -0x614c))(pppppbVar10,unaff_s6)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(**(code **)(puStack_1170 + -0x614c))(pppppbVar10,unaff_s6)" (parenthesized_expression "(**(code **)(puStack_1170 + -0x614c))" ( (pointer_expression "**(code **)(puStack_1170 + -0x614c)" * (pointer_expression "*(code **)(puStack_1170 + -0x614c)" * (cast_expression "(code **)(puStack_1170 + -0x614c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x614c)" ( (binary_expression "puStack_1170 + -0x614c" identifier + number_literal) ))))) )) (argument_list "(pppppbVar10,unaff_s6)" ( identifier , identifier ))))) ;) (if_statement "if (unaff_s1 == (byte *****)0x0) {\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar20;\n              if (ppppbStack_1134 == ppppbStack_1148) goto LAB_000dfcc0;\n              pcVar16 = *(code **)(puStack_1170 + -0x6204);\n              if ((byte *****)ppppbStack_1134 != (byte *****)0x0) goto LAB_000dfb1c;\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar21;\n              goto LAB_000dfcc0;\n            }" if (parenthesized_expression "(unaff_s1 == (byte *****)0x0)" ( (binary_expression "unaff_s1 == (byte *****)0x0" identifier == (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar20;\n              if (ppppbStack_1134 == ppppbStack_1148) goto LAB_000dfcc0;\n              pcVar16 = *(code **)(puStack_1170 + -0x6204);\n              if ((byte *****)ppppbStack_1134 != (byte *****)0x0) goto LAB_000dfb1c;\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar21;\n              goto LAB_000dfcc0;\n            }" { (expression_statement "pcVar16 = *(code **)(puStack_1170 + -0x6044);" (assignment_expression "pcVar16 = *(code **)(puStack_1170 + -0x6044)" identifier = (pointer_expression "*(code **)(puStack_1170 + -0x6044)" * (cast_expression "(code **)(puStack_1170 + -0x6044)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x6044)" ( (binary_expression "puStack_1170 + -0x6044" identifier + number_literal) ))))) ;) (expression_statement "puVar26 = puVar20;" (assignment_expression "puVar26 = puVar20" identifier = identifier) ;) (if_statement "if (ppppbStack_1134 == ppppbStack_1148) goto LAB_000dfcc0;" if (parenthesized_expression "(ppppbStack_1134 == ppppbStack_1148)" ( (binary_expression "ppppbStack_1134 == ppppbStack_1148" identifier == identifier) )) (goto_statement "goto LAB_000dfcc0;" goto statement_identifier ;)) (expression_statement "pcVar16 = *(code **)(puStack_1170 + -0x6204);" (assignment_expression "pcVar16 = *(code **)(puStack_1170 + -0x6204)" identifier = (pointer_expression "*(code **)(puStack_1170 + -0x6204)" * (cast_expression "(code **)(puStack_1170 + -0x6204)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x6204)" ( (binary_expression "puStack_1170 + -0x6204" identifier + number_literal) ))))) ;) (if_statement "if ((byte *****)ppppbStack_1134 != (byte *****)0x0) goto LAB_000dfb1c;" if (parenthesized_expression "((byte *****)ppppbStack_1134 != (byte *****)0x0)" ( (binary_expression "(byte *****)ppppbStack_1134 != (byte *****)0x0" (cast_expression "(byte *****)ppppbStack_1134" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier) != (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (goto_statement "goto LAB_000dfb1c;" goto statement_identifier ;)) (expression_statement "pcVar16 = *(code **)(puStack_1170 + -0x6044);" (assignment_expression "pcVar16 = *(code **)(puStack_1170 + -0x6044)" identifier = (pointer_expression "*(code **)(puStack_1170 + -0x6044)" * (cast_expression "(code **)(puStack_1170 + -0x6044)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x6044)" ( (binary_expression "puStack_1170 + -0x6044" identifier + number_literal) ))))) ;) (expression_statement "puVar26 = puVar21;" (assignment_expression "puVar26 = puVar21" identifier = identifier) ;) (goto_statement "goto LAB_000dfcc0;" goto statement_identifier ;) })) (expression_statement "pppppbVar14 = (byte *****)((int)unaff_s1 + (int)unaff_s3);" (assignment_expression "pppppbVar14 = (byte *****)((int)unaff_s1 + (int)unaff_s3)" identifier = (cast_expression "(byte *****)((int)unaff_s1 + (int)unaff_s3)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)unaff_s1 + (int)unaff_s3)" ( (binary_expression "(int)unaff_s1 + (int)unaff_s3" (cast_expression "(int)unaff_s1" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) }))) (expression_statement "param_1 = (byte *****)((int)unaff_s5 + (int)unaff_s3);" (assignment_expression "param_1 = (byte *****)((int)unaff_s5 + (int)unaff_s3)" identifier = (cast_expression "(byte *****)((int)unaff_s5 + (int)unaff_s3)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)unaff_s5 + (int)unaff_s3)" ( (binary_expression "(int)unaff_s5 + (int)unaff_s3" (cast_expression "(int)unaff_s5" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "param_3 = (byte *****)((int)unaff_s5 - (int)unaff_s3);" (assignment_expression "param_3 = (byte *****)((int)unaff_s5 - (int)unaff_s3)" identifier = (cast_expression "(byte *****)((int)unaff_s5 - (int)unaff_s3)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)unaff_s5 - (int)unaff_s3)" ( (binary_expression "(int)unaff_s5 - (int)unaff_s3" (cast_expression "(int)unaff_s5" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "(**(code **)(puStack_1170 + -0x605c))((byte *****)((int)unaff_s1 + (int)param_1));" (call_expression "(**(code **)(puStack_1170 + -0x605c))((byte *****)((int)unaff_s1 + (int)param_1))" (parenthesized_expression "(**(code **)(puStack_1170 + -0x605c))" ( (pointer_expression "**(code **)(puStack_1170 + -0x605c)" * (pointer_expression "*(code **)(puStack_1170 + -0x605c)" * (cast_expression "(code **)(puStack_1170 + -0x605c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x605c)" ( (binary_expression "puStack_1170 + -0x605c" identifier + number_literal) ))))) )) (argument_list "((byte *****)((int)unaff_s1 + (int)param_1))" ( (cast_expression "(byte *****)((int)unaff_s1 + (int)param_1)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)unaff_s1 + (int)param_1)" ( (binary_expression "(int)unaff_s1 + (int)param_1" (cast_expression "(int)unaff_s1" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ))) ;) (expression_statement "pppppbVar9 = (byte *****)ppppbStack_1120;" (assignment_expression "pppppbVar9 = (byte *****)ppppbStack_1120" identifier = (cast_expression "(byte *****)ppppbStack_1120" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppbVar12 = pppppbVar13;" (assignment_expression "pppppbVar12 = pppppbVar13" identifier = identifier) ;) (expression_statement "unaff_s3 = param_1;" (assignment_expression "unaff_s3 = param_1" identifier = identifier) ;) (expression_statement "pppppbVar2 = pppppbVar14;" (assignment_expression "pppppbVar2 = pppppbVar14" identifier = identifier) ;) (expression_statement "pppppbVar10 = unaff_s1;" (assignment_expression "pppppbVar10 = unaff_s1" identifier = identifier) ;) (expression_statement "unaff_s5 = unaff_s6;" (assignment_expression "unaff_s5 = unaff_s6" identifier = identifier) ;) (expression_statement "pppppbVar14 = (byte *****)((int)unaff_s1 + (int)param_1);" (assignment_expression "pppppbVar14 = (byte *****)((int)unaff_s1 + (int)param_1)" identifier = (cast_expression "(byte *****)((int)unaff_s1 + (int)param_1)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)unaff_s1 + (int)param_1)" ( (binary_expression "(int)unaff_s1 + (int)param_1" (cast_expression "(int)unaff_s1" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) })) (expression_statement "iVar3 = (**(code **)(puStack_1170 + -0x605c))((int)pppppbVar14 - (int)pppppbVar5);" (assignment_expression "iVar3 = (**(code **)(puStack_1170 + -0x605c))((int)pppppbVar14 - (int)pppppbVar5)" identifier = (call_expression "(**(code **)(puStack_1170 + -0x605c))((int)pppppbVar14 - (int)pppppbVar5)" (parenthesized_expression "(**(code **)(puStack_1170 + -0x605c))" ( (pointer_expression "**(code **)(puStack_1170 + -0x605c)" * (pointer_expression "*(code **)(puStack_1170 + -0x605c)" * (cast_expression "(code **)(puStack_1170 + -0x605c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x605c)" ( (binary_expression "puStack_1170 + -0x605c" identifier + number_literal) ))))) )) (argument_list "((int)pppppbVar14 - (int)pppppbVar5)" ( (binary_expression "(int)pppppbVar14 - (int)pppppbVar5" (cast_expression "(int)pppppbVar14" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppppbVar5" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pppppbVar14 = (byte *****)(iVar3 + -1);" (assignment_expression "pppppbVar14 = (byte *****)(iVar3 + -1)" identifier = (cast_expression "(byte *****)(iVar3 + -1)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(iVar3 + -1)" ( (binary_expression "iVar3 + -1" identifier + number_literal) )))) ;) (expression_statement "pcVar16 = *(code **)(puStack_1170 + -0x6338);" (assignment_expression "pcVar16 = *(code **)(puStack_1170 + -0x6338)" identifier = (pointer_expression "*(code **)(puStack_1170 + -0x6338)" * (cast_expression "(code **)(puStack_1170 + -0x6338)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x6338)" ( (binary_expression "puStack_1170 + -0x6338" identifier + number_literal) ))))) ;) (expression_statement "*(undefined1 *)(iVar3 + -1) = 0x2f;" (assignment_expression "*(undefined1 *)(iVar3 + -1) = 0x2f" (pointer_expression "*(undefined1 *)(iVar3 + -1)" * (cast_expression "(undefined1 *)(iVar3 + -1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + -1)" ( (binary_expression "iVar3 + -1" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar16)(iStack_111c);" (call_expression "(*pcVar16)(iStack_111c)" (parenthesized_expression "(*pcVar16)" ( (pointer_expression "*pcVar16" * identifier) )) (argument_list "(iStack_111c)" ( identifier ))) ;) (expression_statement "iStack_112c = iStack_1150;" (assignment_expression "iStack_112c = iStack_1150" identifier = identifier) ;) (expression_statement "ppppbStack_1120 = ppppbStack_1130;" (assignment_expression "ppppbStack_1120 = ppppbStack_1130" identifier = identifier) ;) (expression_statement "param_3 = pppppbVar5;" (assignment_expression "param_3 = pppppbVar5" identifier = identifier) ;) (expression_statement "unaff_s1 = pppppbVar10;" (assignment_expression "unaff_s1 = pppppbVar10" identifier = identifier) ;) (expression_statement "pppppbVar13 = pppppbVar12;" (assignment_expression "pppppbVar13 = pppppbVar12" identifier = identifier) ;) (expression_statement "unaff_s6 = unaff_s5;" (assignment_expression "unaff_s6 = unaff_s5" identifier = identifier) ;) (expression_statement "puVar26 = puVar23;" (assignment_expression "puVar26 = puVar23" identifier = identifier) ;) (expression_statement "iStack_113c = iStack_1154;" (assignment_expression "iStack_113c = iStack_1154" identifier = identifier) ;) })) (if_statement "if (pppppbVar14 == (byte *****)ppppbStack_1168) {\n        pppppbVar14 = (byte *****)&uStack_79;\n        uStack_79 = 0x2f;\n      }" if (parenthesized_expression "(pppppbVar14 == (byte *****)ppppbStack_1168)" ( (binary_expression "pppppbVar14 == (byte *****)ppppbStack_1168" identifier == (cast_expression "(byte *****)ppppbStack_1168" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) )) (compound_statement "{\n        pppppbVar14 = (byte *****)&uStack_79;\n        uStack_79 = 0x2f;\n      }" { (expression_statement "pppppbVar14 = (byte *****)&uStack_79;" (assignment_expression "pppppbVar14 = (byte *****)&uStack_79" identifier = (cast_expression "(byte *****)&uStack_79" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (pointer_expression "&uStack_79" & identifier))) ;) (expression_statement "uStack_79 = 0x2f;" (assignment_expression "uStack_79 = 0x2f" identifier = number_literal) ;) })) (expression_statement "pppppbVar2 = pppppbVar9;" (assignment_expression "pppppbVar2 = pppppbVar9" identifier = identifier) ;) (if_statement "if (ppppbStack_1134 != ppppbStack_1148) {\n        (**(code **)(puStack_1170 + -0x6044))();\n        pppppbVar2 = pppppbVar9;\n      }" if (parenthesized_expression "(ppppbStack_1134 != ppppbStack_1148)" ( (binary_expression "ppppbStack_1134 != ppppbStack_1148" identifier != identifier) )) (compound_statement "{\n        (**(code **)(puStack_1170 + -0x6044))();\n        pppppbVar2 = pppppbVar9;\n      }" { (expression_statement "(**(code **)(puStack_1170 + -0x6044))();" (call_expression "(**(code **)(puStack_1170 + -0x6044))()" (parenthesized_expression "(**(code **)(puStack_1170 + -0x6044))" ( (pointer_expression "**(code **)(puStack_1170 + -0x6044)" * (pointer_expression "*(code **)(puStack_1170 + -0x6044)" * (cast_expression "(code **)(puStack_1170 + -0x6044)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x6044)" ( (binary_expression "puStack_1170 + -0x6044" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "pppppbVar2 = pppppbVar9;" (assignment_expression "pppppbVar2 = pppppbVar9" identifier = identifier) ;) })) (expression_statement "param_1 = (byte *****)((byte *)((int)unaff_s1 + (int)unaff_s6) + -(int)pppppbVar14);" (assignment_expression "param_1 = (byte *****)((byte *)((int)unaff_s1 + (int)unaff_s6) + -(int)pppppbVar14)" identifier = (cast_expression "(byte *****)((byte *)((int)unaff_s1 + (int)unaff_s6) + -(int)pppppbVar14)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((byte *)((int)unaff_s1 + (int)unaff_s6) + -(int)pppppbVar14)" ( (binary_expression "(byte *)((int)unaff_s1 + (int)unaff_s6) + -(int)pppppbVar14" (cast_expression "(byte *)((int)unaff_s1 + (int)unaff_s6)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s1 + (int)unaff_s6)" ( (binary_expression "(int)unaff_s1 + (int)unaff_s6" (cast_expression "(int)unaff_s1" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier)) ))) + (unary_expression "-(int)pppppbVar14" - (cast_expression "(int)pppppbVar14" ( (type_descriptor "int" primitive_type) ) identifier))) )))) ;) (if_statement "if ((byte *****)ppppbStack_115c == (byte *****)0x0) {\n        if ((byte *****)ppppbStack_44 == (byte *****)0x0) {\n          pcVar16 = *(code **)(puStack_1170 + -0x6158);\n          ppppbStack_44 = (byte ****)param_1;\n        }\n        else {\n          pcVar16 = *(code **)(puStack_1170 + -0x6158);\n          if (ppppbStack_44 < param_1) goto LAB_000dfda0;\n        }\n        pppppbVar9 = (byte *****)(*pcVar16)(ppppbStack_44);\n        if (pppppbVar9 != (byte *****)0x0) goto LAB_000dfc70;\n      }\n      else {\n        pppppbVar9 = (byte *****)ppppbStack_115c;\n        if (param_1 <= ppppbStack_44) {\nLAB_000dfc70:\n          param_3 = param_1;\n          (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,pppppbVar14);\n          ppppbStack_44 = (byte ****)pppppbVar14;\n          if (unaff_s1 != (byte *****)ppppbStack_1158) {\n            (**(code **)(puStack_1170 + -0x6044))(unaff_s1);\n            ppppbStack_44 = (byte ****)pppppbVar14;\n          }\n          goto LAB_000dfb60;\n        }\nLAB_000dfda0:\n        puVar7 = (undefined4 *)(**(code **)(puStack_1170 + -0x6204))();\n        *puVar7 = 0x22;\n      }" if (parenthesized_expression "((byte *****)ppppbStack_115c == (byte *****)0x0)" ( (binary_expression "(byte *****)ppppbStack_115c == (byte *****)0x0" (cast_expression "(byte *****)ppppbStack_115c" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier) == (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n        if ((byte *****)ppppbStack_44 == (byte *****)0x0) {\n          pcVar16 = *(code **)(puStack_1170 + -0x6158);\n          ppppbStack_44 = (byte ****)param_1;\n        }\n        else {\n          pcVar16 = *(code **)(puStack_1170 + -0x6158);\n          if (ppppbStack_44 < param_1) goto LAB_000dfda0;\n        }\n        pppppbVar9 = (byte *****)(*pcVar16)(ppppbStack_44);\n        if (pppppbVar9 != (byte *****)0x0) goto LAB_000dfc70;\n      }" { (if_statement "if ((byte *****)ppppbStack_44 == (byte *****)0x0) {\n          pcVar16 = *(code **)(puStack_1170 + -0x6158);\n          ppppbStack_44 = (byte ****)param_1;\n        }\n        else {\n          pcVar16 = *(code **)(puStack_1170 + -0x6158);\n          if (ppppbStack_44 < param_1) goto LAB_000dfda0;\n        }" if (parenthesized_expression "((byte *****)ppppbStack_44 == (byte *****)0x0)" ( (binary_expression "(byte *****)ppppbStack_44 == (byte *****)0x0" (cast_expression "(byte *****)ppppbStack_44" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier) == (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n          pcVar16 = *(code **)(puStack_1170 + -0x6158);\n          ppppbStack_44 = (byte ****)param_1;\n        }" { (expression_statement "pcVar16 = *(code **)(puStack_1170 + -0x6158);" (assignment_expression "pcVar16 = *(code **)(puStack_1170 + -0x6158)" identifier = (pointer_expression "*(code **)(puStack_1170 + -0x6158)" * (cast_expression "(code **)(puStack_1170 + -0x6158)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x6158)" ( (binary_expression "puStack_1170 + -0x6158" identifier + number_literal) ))))) ;) (expression_statement "ppppbStack_44 = (byte ****)param_1;" (assignment_expression "ppppbStack_44 = (byte ****)param_1" identifier = (cast_expression "(byte ****)param_1" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) }) (else_clause "else {\n          pcVar16 = *(code **)(puStack_1170 + -0x6158);\n          if (ppppbStack_44 < param_1) goto LAB_000dfda0;\n        }" else (compound_statement "{\n          pcVar16 = *(code **)(puStack_1170 + -0x6158);\n          if (ppppbStack_44 < param_1) goto LAB_000dfda0;\n        }" { (expression_statement "pcVar16 = *(code **)(puStack_1170 + -0x6158);" (assignment_expression "pcVar16 = *(code **)(puStack_1170 + -0x6158)" identifier = (pointer_expression "*(code **)(puStack_1170 + -0x6158)" * (cast_expression "(code **)(puStack_1170 + -0x6158)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x6158)" ( (binary_expression "puStack_1170 + -0x6158" identifier + number_literal) ))))) ;) (if_statement "if (ppppbStack_44 < param_1) goto LAB_000dfda0;" if (parenthesized_expression "(ppppbStack_44 < param_1)" ( (binary_expression "ppppbStack_44 < param_1" identifier < identifier) )) (goto_statement "goto LAB_000dfda0;" goto statement_identifier ;)) }))) (expression_statement "pppppbVar9 = (byte *****)(*pcVar16)(ppppbStack_44);" (assignment_expression "pppppbVar9 = (byte *****)(*pcVar16)(ppppbStack_44)" identifier = (cast_expression "(byte *****)(*pcVar16)(ppppbStack_44)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(*pcVar16)(ppppbStack_44)" (parenthesized_expression "(*pcVar16)" ( (pointer_expression "*pcVar16" * identifier) )) (argument_list "(ppppbStack_44)" ( identifier ))))) ;) (if_statement "if (pppppbVar9 != (byte *****)0x0) goto LAB_000dfc70;" if (parenthesized_expression "(pppppbVar9 != (byte *****)0x0)" ( (binary_expression "pppppbVar9 != (byte *****)0x0" identifier != (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (goto_statement "goto LAB_000dfc70;" goto statement_identifier ;)) }) (else_clause "else {\n        pppppbVar9 = (byte *****)ppppbStack_115c;\n        if (param_1 <= ppppbStack_44) {\nLAB_000dfc70:\n          param_3 = param_1;\n          (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,pppppbVar14);\n          ppppbStack_44 = (byte ****)pppppbVar14;\n          if (unaff_s1 != (byte *****)ppppbStack_1158) {\n            (**(code **)(puStack_1170 + -0x6044))(unaff_s1);\n            ppppbStack_44 = (byte ****)pppppbVar14;\n          }\n          goto LAB_000dfb60;\n        }\nLAB_000dfda0:\n        puVar7 = (undefined4 *)(**(code **)(puStack_1170 + -0x6204))();\n        *puVar7 = 0x22;\n      }" else (compound_statement "{\n        pppppbVar9 = (byte *****)ppppbStack_115c;\n        if (param_1 <= ppppbStack_44) {\nLAB_000dfc70:\n          param_3 = param_1;\n          (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,pppppbVar14);\n          ppppbStack_44 = (byte ****)pppppbVar14;\n          if (unaff_s1 != (byte *****)ppppbStack_1158) {\n            (**(code **)(puStack_1170 + -0x6044))(unaff_s1);\n            ppppbStack_44 = (byte ****)pppppbVar14;\n          }\n          goto LAB_000dfb60;\n        }\nLAB_000dfda0:\n        puVar7 = (undefined4 *)(**(code **)(puStack_1170 + -0x6204))();\n        *puVar7 = 0x22;\n      }" { (expression_statement "pppppbVar9 = (byte *****)ppppbStack_115c;" (assignment_expression "pppppbVar9 = (byte *****)ppppbStack_115c" identifier = (cast_expression "(byte *****)ppppbStack_115c" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (if_statement "if (param_1 <= ppppbStack_44) {\nLAB_000dfc70:\n          param_3 = param_1;\n          (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,pppppbVar14);\n          ppppbStack_44 = (byte ****)pppppbVar14;\n          if (unaff_s1 != (byte *****)ppppbStack_1158) {\n            (**(code **)(puStack_1170 + -0x6044))(unaff_s1);\n            ppppbStack_44 = (byte ****)pppppbVar14;\n          }\n          goto LAB_000dfb60;\n        }" if (parenthesized_expression "(param_1 <= ppppbStack_44)" ( (binary_expression "param_1 <= ppppbStack_44" identifier <= identifier) )) (compound_statement "{\nLAB_000dfc70:\n          param_3 = param_1;\n          (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,pppppbVar14);\n          ppppbStack_44 = (byte ****)pppppbVar14;\n          if (unaff_s1 != (byte *****)ppppbStack_1158) {\n            (**(code **)(puStack_1170 + -0x6044))(unaff_s1);\n            ppppbStack_44 = (byte ****)pppppbVar14;\n          }\n          goto LAB_000dfb60;\n        }" { (labeled_statement "LAB_000dfc70:\n          param_3 = param_1;" statement_identifier : (expression_statement "param_3 = param_1;" (assignment_expression "param_3 = param_1" identifier = identifier) ;)) (expression_statement "(**(code **)(puStack_1170 + -0x605c))(pppppbVar9,pppppbVar14);" (call_expression "(**(code **)(puStack_1170 + -0x605c))(pppppbVar9,pppppbVar14)" (parenthesized_expression "(**(code **)(puStack_1170 + -0x605c))" ( (pointer_expression "**(code **)(puStack_1170 + -0x605c)" * (pointer_expression "*(code **)(puStack_1170 + -0x605c)" * (cast_expression "(code **)(puStack_1170 + -0x605c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x605c)" ( (binary_expression "puStack_1170 + -0x605c" identifier + number_literal) ))))) )) (argument_list "(pppppbVar9,pppppbVar14)" ( identifier , identifier ))) ;) (expression_statement "ppppbStack_44 = (byte ****)pppppbVar14;" (assignment_expression "ppppbStack_44 = (byte ****)pppppbVar14" identifier = (cast_expression "(byte ****)pppppbVar14" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (if_statement "if (unaff_s1 != (byte *****)ppppbStack_1158) {\n            (**(code **)(puStack_1170 + -0x6044))(unaff_s1);\n            ppppbStack_44 = (byte ****)pppppbVar14;\n          }" if (parenthesized_expression "(unaff_s1 != (byte *****)ppppbStack_1158)" ( (binary_expression "unaff_s1 != (byte *****)ppppbStack_1158" identifier != (cast_expression "(byte *****)ppppbStack_1158" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) )) (compound_statement "{\n            (**(code **)(puStack_1170 + -0x6044))(unaff_s1);\n            ppppbStack_44 = (byte ****)pppppbVar14;\n          }" { (expression_statement "(**(code **)(puStack_1170 + -0x6044))(unaff_s1);" (call_expression "(**(code **)(puStack_1170 + -0x6044))(unaff_s1)" (parenthesized_expression "(**(code **)(puStack_1170 + -0x6044))" ( (pointer_expression "**(code **)(puStack_1170 + -0x6044)" * (pointer_expression "*(code **)(puStack_1170 + -0x6044)" * (cast_expression "(code **)(puStack_1170 + -0x6044)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x6044)" ( (binary_expression "puStack_1170 + -0x6044" identifier + number_literal) ))))) )) (argument_list "(unaff_s1)" ( identifier ))) ;) (expression_statement "ppppbStack_44 = (byte ****)pppppbVar14;" (assignment_expression "ppppbStack_44 = (byte ****)pppppbVar14" identifier = (cast_expression "(byte ****)pppppbVar14" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) })) (goto_statement "goto LAB_000dfb60;" goto statement_identifier ;) })) (labeled_statement "LAB_000dfda0:\n        puVar7 = (undefined4 *)(**(code **)(puStack_1170 + -0x6204))();" statement_identifier : (expression_statement "puVar7 = (undefined4 *)(**(code **)(puStack_1170 + -0x6204))();" (assignment_expression "puVar7 = (undefined4 *)(**(code **)(puStack_1170 + -0x6204))()" identifier = (cast_expression "(undefined4 *)(**(code **)(puStack_1170 + -0x6204))()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puStack_1170 + -0x6204))()" (parenthesized_expression "(**(code **)(puStack_1170 + -0x6204))" ( (pointer_expression "**(code **)(puStack_1170 + -0x6204)" * (pointer_expression "*(code **)(puStack_1170 + -0x6204)" * (cast_expression "(code **)(puStack_1170 + -0x6204)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x6204)" ( (binary_expression "puStack_1170 + -0x6204" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;)) (expression_statement "*puVar7 = 0x22;" (assignment_expression "*puVar7 = 0x22" (pointer_expression "*puVar7" * identifier) = number_literal) ;) }))) (labeled_statement "LAB_000dfb48:\n      pppppbVar9 = (byte *****)0x0;" statement_identifier : (expression_statement "pppppbVar9 = (byte *****)0x0;" (assignment_expression "pppppbVar9 = (byte *****)0x0" identifier = (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;)) (expression_statement "ppppbStack_44 = (byte ****)pppppbVar2;" (assignment_expression "ppppbStack_44 = (byte ****)pppppbVar2" identifier = (cast_expression "(byte ****)pppppbVar2" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (if_statement "if (unaff_s1 == (byte *****)ppppbStack_1158) goto LAB_000dfb60;" if (parenthesized_expression "(unaff_s1 == (byte *****)ppppbStack_1158)" ( (binary_expression "unaff_s1 == (byte *****)ppppbStack_1158" identifier == (cast_expression "(byte *****)ppppbStack_1158" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) )) (goto_statement "goto LAB_000dfb60;" goto statement_identifier ;)) (expression_statement "pcVar16 = *(code **)(puStack_1170 + -0x6044);" (assignment_expression "pcVar16 = *(code **)(puStack_1170 + -0x6044)" identifier = (pointer_expression "*(code **)(puStack_1170 + -0x6044)" * (cast_expression "(code **)(puStack_1170 + -0x6044)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x6044)" ( (binary_expression "puStack_1170 + -0x6044" identifier + number_literal) ))))) ;) (expression_statement "pppppbVar10 = unaff_s1;" (assignment_expression "pppppbVar10 = unaff_s1" identifier = identifier) ;) (if_statement "if (unaff_s1 != (byte *****)0x0) {\nLAB_000dfcc0:\n        (*pcVar16)(pppppbVar10);\n        unaff_s1 = pppppbVar10;\n      }" if (parenthesized_expression "(unaff_s1 != (byte *****)0x0)" ( (binary_expression "unaff_s1 != (byte *****)0x0" identifier != (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\nLAB_000dfcc0:\n        (*pcVar16)(pppppbVar10);\n        unaff_s1 = pppppbVar10;\n      }" { (labeled_statement "LAB_000dfcc0:\n        (*pcVar16)(pppppbVar10);" statement_identifier : (expression_statement "(*pcVar16)(pppppbVar10);" (call_expression "(*pcVar16)(pppppbVar10)" (parenthesized_expression "(*pcVar16)" ( (pointer_expression "*pcVar16" * identifier) )) (argument_list "(pppppbVar10)" ( identifier ))) ;)) (expression_statement "unaff_s1 = pppppbVar10;" (assignment_expression "unaff_s1 = pppppbVar10" identifier = identifier) ;) })) })) })) (expression_statement "pppppbVar9 = (byte *****)0x0;" (assignment_expression "pppppbVar9 = (byte *****)0x0" identifier = (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "ppppbStack_44 = (byte ****)pppppbVar2;" (assignment_expression "ppppbStack_44 = (byte ****)pppppbVar2" identifier = (cast_expression "(byte ****)pppppbVar2" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (labeled_statement "LAB_000dfb60:\n  pcVar16 = *(code **)(puStack_1170 + -0x60b8);" statement_identifier : (expression_statement "pcVar16 = *(code **)(puStack_1170 + -0x60b8);" (assignment_expression "pcVar16 = *(code **)(puStack_1170 + -0x60b8)" identifier = (pointer_expression "*(code **)(puStack_1170 + -0x60b8)" * (cast_expression "(code **)(puStack_1170 + -0x60b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x60b8)" ( (binary_expression "puStack_1170 + -0x60b8" identifier + number_literal) ))))) ;)) (if_statement "if (iStack_74 == *piStack_1144) {\n    return pppppbVar9;\n  }" if (parenthesized_expression "(iStack_74 == *piStack_1144)" ( (binary_expression "iStack_74 == *piStack_1144" identifier == (pointer_expression "*piStack_1144" * identifier)) )) (compound_statement "{\n    return pppppbVar9;\n  }" { (return_statement "return pppppbVar9;" return identifier ;) })) (expression_statement "pcVar27 = zwrite;" (assignment_expression "pcVar27 = zwrite" identifier = identifier) ;) (expression_statement "iVar3 = iStack_74;" (assignment_expression "iVar3 = iStack_74" identifier = identifier) ;) (expression_statement "(*pcVar16)();" (call_expression "(*pcVar16)()" (parenthesized_expression "(*pcVar16)" ( (pointer_expression "*pcVar16" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcVar16 = pcVar16 + 0x6c740;" (assignment_expression "pcVar16 = pcVar16 + 0x6c740" identifier = (binary_expression "pcVar16 + 0x6c740" identifier + number_literal)) ;) (expression_statement "*(byte ******)(puVar26 + -0x10) = pppppbVar13;" (assignment_expression "*(byte ******)(puVar26 + -0x10) = pppppbVar13" (pointer_expression "*(byte ******)(puVar26 + -0x10)" * (cast_expression "(byte ******)(puVar26 + -0x10)" ( (type_descriptor "byte ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(puVar26 + -0x10)" ( (binary_expression "puVar26 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(byte ******)(puVar26 + -0x14) = unaff_s3;" (assignment_expression "*(byte ******)(puVar26 + -0x14) = unaff_s3" (pointer_expression "*(byte ******)(puVar26 + -0x14)" * (cast_expression "(byte ******)(puVar26 + -0x14)" ( (type_descriptor "byte ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(puVar26 + -0x14)" ( (binary_expression "puVar26 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (expression_statement "*(byte ******)(puVar26 + -8) = unaff_s6;" (assignment_expression "*(byte ******)(puVar26 + -8) = unaff_s6" (pointer_expression "*(byte ******)(puVar26 + -8)" * (cast_expression "(byte ******)(puVar26 + -8)" ( (type_descriptor "byte ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(puVar26 + -8)" ( (binary_expression "puVar26 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(byte ******)(puVar26 + -0xc) = unaff_s5;" (assignment_expression "*(byte ******)(puVar26 + -0xc) = unaff_s5" (pointer_expression "*(byte ******)(puVar26 + -0xc)" * (cast_expression "(byte ******)(puVar26 + -0xc)" ( (type_descriptor "byte ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(puVar26 + -0xc)" ( (binary_expression "puVar26 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(byte ******)(puVar26 + -0x18) = pppppbVar9;" (assignment_expression "*(byte ******)(puVar26 + -0x18) = pppppbVar9" (pointer_expression "*(byte ******)(puVar26 + -0x18)" * (cast_expression "(byte ******)(puVar26 + -0x18)" ( (type_descriptor "byte ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(puVar26 + -0x18)" ( (binary_expression "puVar26 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(byte ******)(puVar26 + -0x1c) = unaff_s1;" (assignment_expression "*(byte ******)(puVar26 + -0x1c) = unaff_s1" (pointer_expression "*(byte ******)(puVar26 + -0x1c)" * (cast_expression "(byte ******)(puVar26 + -0x1c)" ( (type_descriptor "byte ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(puVar26 + -0x1c)" ( (binary_expression "puVar26 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(byte ******)(puVar26 + -0x20) = param_1;" (assignment_expression "*(byte ******)(puVar26 + -0x20) = param_1" (pointer_expression "*(byte ******)(puVar26 + -0x20)" * (cast_expression "(byte ******)(puVar26 + -0x20)" ( (type_descriptor "byte ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(puVar26 + -0x20)" ( (binary_expression "puVar26 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(code **)(puVar26 + -0x28) = pcVar16;" (assignment_expression "*(code **)(puVar26 + -0x28) = pcVar16" (pointer_expression "*(code **)(puVar26 + -0x28)" * (cast_expression "(code **)(puVar26 + -0x28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + -0x28)" ( (binary_expression "puVar26 + -0x28" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(code **)(puVar26 + -4) = pcVar27;" (assignment_expression "*(code **)(puVar26 + -4) = pcVar27" (pointer_expression "*(code **)(puVar26 + -4)" * (cast_expression "(code **)(puVar26 + -4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + -4)" ( (binary_expression "puVar26 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "pppppbVar9 = param_3;" (assignment_expression "pppppbVar9 = param_3" identifier = identifier) ;) (do_statement "do {\n    while( true ) {\n      while( true ) {\n        iVar8 = (**(code **)(pcVar16 + -0x61c0))(iVar3,ppppbStack_44,pppppbVar9);\n        pcVar16 = *(code **)(puVar26 + -0x28);\n        if (iVar8 < 1) break;\n        pppppbVar9 = (byte *****)((int)pppppbVar9 - iVar8);\n        ppppbStack_44 = (byte ****)((int)ppppbStack_44 + iVar8);\n        if ((int)pppppbVar9 < 1) {\n          return param_3;\n        }\n      }\n      if (iVar8 != 0) break;\n      iVar6 = iVar6 + 1;\n      if (3 < iVar6) {\n        return (byte *****)((int)param_3 - (int)pppppbVar9);\n      }\n    }\n    piVar4 = (int *)(**(code **)(pcVar16 + -0x6204))();\n    pcVar16 = *(code **)(puVar26 + -0x28);\n  } while (*piVar4 == 4);" do (compound_statement "{\n    while( true ) {\n      while( true ) {\n        iVar8 = (**(code **)(pcVar16 + -0x61c0))(iVar3,ppppbStack_44,pppppbVar9);\n        pcVar16 = *(code **)(puVar26 + -0x28);\n        if (iVar8 < 1) break;\n        pppppbVar9 = (byte *****)((int)pppppbVar9 - iVar8);\n        ppppbStack_44 = (byte ****)((int)ppppbStack_44 + iVar8);\n        if ((int)pppppbVar9 < 1) {\n          return param_3;\n        }\n      }\n      if (iVar8 != 0) break;\n      iVar6 = iVar6 + 1;\n      if (3 < iVar6) {\n        return (byte *****)((int)param_3 - (int)pppppbVar9);\n      }\n    }\n    piVar4 = (int *)(**(code **)(pcVar16 + -0x6204))();\n    pcVar16 = *(code **)(puVar26 + -0x28);\n  }" { (while_statement "while( true ) {\n      while( true ) {\n        iVar8 = (**(code **)(pcVar16 + -0x61c0))(iVar3,ppppbStack_44,pppppbVar9);\n        pcVar16 = *(code **)(puVar26 + -0x28);\n        if (iVar8 < 1) break;\n        pppppbVar9 = (byte *****)((int)pppppbVar9 - iVar8);\n        ppppbStack_44 = (byte ****)((int)ppppbStack_44 + iVar8);\n        if ((int)pppppbVar9 < 1) {\n          return param_3;\n        }\n      }\n      if (iVar8 != 0) break;\n      iVar6 = iVar6 + 1;\n      if (3 < iVar6) {\n        return (byte *****)((int)param_3 - (int)pppppbVar9);\n      }\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      while( true ) {\n        iVar8 = (**(code **)(pcVar16 + -0x61c0))(iVar3,ppppbStack_44,pppppbVar9);\n        pcVar16 = *(code **)(puVar26 + -0x28);\n        if (iVar8 < 1) break;\n        pppppbVar9 = (byte *****)((int)pppppbVar9 - iVar8);\n        ppppbStack_44 = (byte ****)((int)ppppbStack_44 + iVar8);\n        if ((int)pppppbVar9 < 1) {\n          return param_3;\n        }\n      }\n      if (iVar8 != 0) break;\n      iVar6 = iVar6 + 1;\n      if (3 < iVar6) {\n        return (byte *****)((int)param_3 - (int)pppppbVar9);\n      }\n    }" { (while_statement "while( true ) {\n        iVar8 = (**(code **)(pcVar16 + -0x61c0))(iVar3,ppppbStack_44,pppppbVar9);\n        pcVar16 = *(code **)(puVar26 + -0x28);\n        if (iVar8 < 1) break;\n        pppppbVar9 = (byte *****)((int)pppppbVar9 - iVar8);\n        ppppbStack_44 = (byte ****)((int)ppppbStack_44 + iVar8);\n        if ((int)pppppbVar9 < 1) {\n          return param_3;\n        }\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        iVar8 = (**(code **)(pcVar16 + -0x61c0))(iVar3,ppppbStack_44,pppppbVar9);\n        pcVar16 = *(code **)(puVar26 + -0x28);\n        if (iVar8 < 1) break;\n        pppppbVar9 = (byte *****)((int)pppppbVar9 - iVar8);\n        ppppbStack_44 = (byte ****)((int)ppppbStack_44 + iVar8);\n        if ((int)pppppbVar9 < 1) {\n          return param_3;\n        }\n      }" { (expression_statement "iVar8 = (**(code **)(pcVar16 + -0x61c0))(iVar3,ppppbStack_44,pppppbVar9);" (assignment_expression "iVar8 = (**(code **)(pcVar16 + -0x61c0))(iVar3,ppppbStack_44,pppppbVar9)" identifier = (call_expression "(**(code **)(pcVar16 + -0x61c0))(iVar3,ppppbStack_44,pppppbVar9)" (parenthesized_expression "(**(code **)(pcVar16 + -0x61c0))" ( (pointer_expression "**(code **)(pcVar16 + -0x61c0)" * (pointer_expression "*(code **)(pcVar16 + -0x61c0)" * (cast_expression "(code **)(pcVar16 + -0x61c0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + -0x61c0)" ( (binary_expression "pcVar16 + -0x61c0" identifier + number_literal) ))))) )) (argument_list "(iVar3,ppppbStack_44,pppppbVar9)" ( identifier , identifier , identifier )))) ;) (expression_statement "pcVar16 = *(code **)(puVar26 + -0x28);" (assignment_expression "pcVar16 = *(code **)(puVar26 + -0x28)" identifier = (pointer_expression "*(code **)(puVar26 + -0x28)" * (cast_expression "(code **)(puVar26 + -0x28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + -0x28)" ( (binary_expression "puVar26 + -0x28" identifier + number_literal) ))))) ;) (if_statement "if (iVar8 < 1) break;" if (parenthesized_expression "(iVar8 < 1)" ( (binary_expression "iVar8 < 1" identifier < number_literal) )) (break_statement "break;" break ;)) (expression_statement "pppppbVar9 = (byte *****)((int)pppppbVar9 - iVar8);" (assignment_expression "pppppbVar9 = (byte *****)((int)pppppbVar9 - iVar8)" identifier = (cast_expression "(byte *****)((int)pppppbVar9 - iVar8)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)pppppbVar9 - iVar8)" ( (binary_expression "(int)pppppbVar9 - iVar8" (cast_expression "(int)pppppbVar9" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) )))) ;) (expression_statement "ppppbStack_44 = (byte ****)((int)ppppbStack_44 + iVar8);" (assignment_expression "ppppbStack_44 = (byte ****)((int)ppppbStack_44 + iVar8)" identifier = (cast_expression "(byte ****)((int)ppppbStack_44 + iVar8)" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)ppppbStack_44 + iVar8)" ( (binary_expression "(int)ppppbStack_44 + iVar8" (cast_expression "(int)ppppbStack_44" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (if_statement "if ((int)pppppbVar9 < 1) {\n          return param_3;\n        }" if (parenthesized_expression "((int)pppppbVar9 < 1)" ( (binary_expression "(int)pppppbVar9 < 1" (cast_expression "(int)pppppbVar9" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n          return param_3;\n        }" { (return_statement "return param_3;" return identifier ;) })) })) (if_statement "if (iVar8 != 0) break;" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (if_statement "if (3 < iVar6) {\n        return (byte *****)((int)param_3 - (int)pppppbVar9);\n      }" if (parenthesized_expression "(3 < iVar6)" ( (binary_expression "3 < iVar6" number_literal < identifier) )) (compound_statement "{\n        return (byte *****)((int)param_3 - (int)pppppbVar9);\n      }" { (return_statement "return (byte *****)((int)param_3 - (int)pppppbVar9);" return (cast_expression "(byte *****)((int)param_3 - (int)pppppbVar9)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)param_3 - (int)pppppbVar9)" ( (binary_expression "(int)param_3 - (int)pppppbVar9" (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppppbVar9" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ;) })) })) (expression_statement "piVar4 = (int *)(**(code **)(pcVar16 + -0x6204))();" (assignment_expression "piVar4 = (int *)(**(code **)(pcVar16 + -0x6204))()" identifier = (cast_expression "(int *)(**(code **)(pcVar16 + -0x6204))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar16 + -0x6204))()" (parenthesized_expression "(**(code **)(pcVar16 + -0x6204))" ( (pointer_expression "**(code **)(pcVar16 + -0x6204)" * (pointer_expression "*(code **)(pcVar16 + -0x6204)" * (cast_expression "(code **)(pcVar16 + -0x6204)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + -0x6204)" ( (binary_expression "pcVar16 + -0x6204" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "pcVar16 = *(code **)(puVar26 + -0x28);" (assignment_expression "pcVar16 = *(code **)(puVar26 + -0x28)" identifier = (pointer_expression "*(code **)(puVar26 + -0x28)" * (cast_expression "(code **)(puVar26 + -0x28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + -0x28)" ( (binary_expression "puVar26 + -0x28" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(*piVar4 == 4)" ( (binary_expression "*piVar4 == 4" (pointer_expression "*piVar4" * identifier) == number_literal) )) ;) (return_statement "return (byte *****)0xffffffff;" return (cast_expression "(byte *****)0xffffffff" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal) ;) })))
(translation_unit "char * mbschr(char *s,int c)\n\n{\n  byte bVar1;\n  mbstate_t *pmVar2;\n  int iVar3;\n  int *piVar4;\n  mbstate_t *pmVar5;\n  int iVar6;\n  undefined4 *puVar7;\n  int iVar8;\n  char *pcVar9;\n  mbstate_t *pmVar10;\n  mbstate_t *in_a2;\n  mbstate_t *pmVar11;\n  mbstate_t *unaff_s1;\n  mbstate_t *pmVar12;\n  mbstate_t *unaff_s3;\n  mbstate_t *pmVar13;\n  mbstate_t *pmVar14;\n  mbstate_t *unaff_s5;\n  mbstate_t *unaff_s6;\n  mbstate_t *pmVar15;\n  mbstate_t *pmVar16;\n  undefined *puVar17;\n  code *pcVar18;\n  undefined1 *puVar19;\n  undefined1 *puVar20;\n  undefined1 *puVar26;\n  undefined1 *puVar27;\n  undefined1 *puVar28;\n  code *pcVar29;\n  undefined1 auStack_1180 [16];\n  undefined *puStack_1170;\n  mbstate_t *pmStack_1168;\n  int iStack_1164;\n  int iStack_1160;\n  char *pcStack_115c;\n  mbstate_t *pmStack_1158;\n  int iStack_1154;\n  int iStack_1150;\n  mbstate_t *pmStack_114c;\n  mbstate_t *pmStack_1148;\n  int *piStack_1144;\n  mbstate_t *pmStack_1140;\n  int iStack_113c;\n  int iStack_1138;\n  mbstate_t *pmStack_1134;\n  mbstate_t *pmStack_1130;\n  int iStack_112c;\n  mbstate_t *pmStack_1128;\n  mbstate_t *pmStack_1124;\n  mbstate_t *pmStack_1120;\n  int iStack_111c;\n  mbstate_t amStack_1118 [2];\n  int iStack_1108;\n  int iStack_1104;\n  mbstate_t amStack_1078 [511];\n  undefined1 auStack_79 [5];\n  int iStack_74;\n  mbstate_t *pmStack_70;\n  mbstate_t *pmStack_6c;\n  int iStack_68;\n  mbstate_t *pmStack_64;\n  undefined *puStack_60;\n  mbstate_t *pmStack_5c;\n  mbstate_t *pmStack_44;\n  mbstate_t state;\n  undefined1 *puVar21;\n  undefined1 *puVar22;\n  undefined1 *puVar23;\n  undefined1 *puVar24;\n  undefined1 *puVar25;\n  \n  pmVar14 = (mbstate_t *)PTR___stack_chk_guard_001464dc;\n  pmVar10 = (mbstate_t *)PTR_is_basic_table_00144b04;\n  pcVar9 = *(char **)PTR___stack_chk_guard_001464dc;\n  pmStack_44 = (mbstate_t *)c;\n  pmVar11 = (mbstate_t *)s;\n  if ((*(int *)PTR_locale_utf8locale_00144afc == 0) || (0x7f < c)) {\n    if ((0x2f < (c & 0xffU)) && (unaff_s5 = &state, 1 < *(int *)PTR_locale_mb_cur_max_00144b00)) {\n      state.__count = 0;\n      state.__value.__wch = 0;\n      unaff_s1 = (mbstate_t *)(*(code *)PTR_strlen_00146390)(s);\n      pmVar2 = (mbstate_t *)s;\n      if (unaff_s1 == (mbstate_t *)0x0) {\n        pmVar2 = (mbstate_t *)0x0;\n      }\n      else {\n        do {\n          bVar1 = *(byte *)&pmVar2->__count;\n          pmVar11 = pmVar2;\n          if ((*(uint *)((int)pmVar10 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n            pmStack_44 = pmVar2;\n            in_a2 = unaff_s1;\n            iVar3 = (*(code *)PTR_mbrtowc_00146408)(0,pmVar2,unaff_s1,unaff_s5);\n            if (0xfffffffb < iVar3 - 2U) {\n              if ((uint)*(byte *)&pmVar2->__count != c) goto LAB_000df640;\n              goto LAB_000df6f8;\n            }\n          }\n          else {\n            if ((uint)bVar1 == c) goto LAB_000df6f8;\nLAB_000df640:\n            iVar3 = 1;\n          }\n          unaff_s1 = (mbstate_t *)((int)unaff_s1 - iVar3);\n          pmVar11 = (mbstate_t *)((int)&pmVar2->__count + iVar3);\n          pmVar2 = pmVar11;\n        } while (unaff_s1 != (mbstate_t *)0x0);\n        pmVar2 = (mbstate_t *)0x0;\n      }\n      goto LAB_000df6f8;\n    }\n    if (pcVar9 == *(char **)PTR___stack_chk_guard_001464dc) {\n                    /* WARNING: Could not recover jumptable at 0x000df6e0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      pcVar9 = (char *)(*(code *)PTR_strchr_00146398)(s,c);\n      return pcVar9;\n    }\n  }\n  else {\n    pmVar2 = (mbstate_t *)utf8_mbschr(s,c);\n    pmVar10 = unaff_s3;\nLAB_000df6f8:\n    s = pcVar9;\n    unaff_s3 = pmVar10;\n    if (pcVar9 == *(char **)pmVar14) {\n      return (char *)pmVar2;\n    }\n  }\n  puVar17 = PTR___stack_chk_fail_00146488;\n  (*(code *)PTR___stack_chk_fail_00146488)();\n  puStack_1170 = puVar17 + 0x6ce00;\n  puVar28 = auStack_1180;\n  piStack_1144 = *(int **)(puVar17 + 0x66d9c);\n  puStack_60 = (undefined *)pmVar14;\n  iStack_74 = *piStack_1144;\n  pcStack_115c = s;\n  pmStack_70 = pmVar11;\n  pmStack_6c = unaff_s1;\n  iStack_68 = c;\n  pmStack_64 = unaff_s3;\n  pmStack_5c = unaff_s5;\n  if ((s != (char *)0x0) && (pmStack_44 == (mbstate_t *)0x0)) {\n    pcVar9 = (char *)0x0;\n    puVar7 = (undefined4 *)(**(code **)(puVar17 + 0x66bfc))();\n    *puVar7 = 0x16;\n    goto LAB_000dfb60;\n  }\n  in_a2 = amStack_1118;\n  pmVar10 = (mbstate_t *)(*(int *)(puVar17 + 0x64e6c) - 0x7e78);\n  auStack_79[1] = 0;\n  pmStack_1128 = in_a2;\n  iVar3 = (**(code **)(puVar17 + 0x66af4))(3,pmVar10);\n  puVar28 = auStack_1180;\n  if (-1 < iVar3) {\n    pmStack_1120 = (mbstate_t *)amStack_1118[0].__count;\n    pmVar2 = (mbstate_t *)(*(int *)(puStack_1170 + -0x7aac) - 0x7ee8);\n    iStack_112c = iStack_1108;\n    iStack_113c = iStack_1104;\n    in_a2 = pmStack_1128;\n    iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,pmVar2);\n    pmVar10 = pmVar2;\n    puVar28 = auStack_1180;\n    if (-1 < iVar3) {\n      pmStack_1158 = amStack_1078;\n      pmVar16 = (mbstate_t *)(auStack_79 + 1);\n      pmStack_114c = (mbstate_t *)amStack_1118[0].__count;\n      iStack_1160 = iStack_1108;\n      pmStack_1148 = (mbstate_t *)(*(int *)(puStack_1170 + -0x7f94) - 0x34d0);\n      iStack_1138 = 0;\n      iStack_1164 = iStack_1104;\n      pmStack_1140 = (mbstate_t *)0xe0;\n      pmStack_1124 = (mbstate_t *)(*(int *)(puStack_1170 + -0x7f94) - 0x33ef);\n      unaff_s1 = pmStack_1158;\n      unaff_s6 = (mbstate_t *)0x1001;\n      puVar28 = auStack_1180;\n      pmStack_1168 = pmVar16;\n      pmStack_1134 = pmStack_1148;\n      while (((pmStack_1120 != pmStack_114c || (iStack_112c != iStack_1160)) ||\n             (iStack_113c != iStack_1164))) {\n        pmVar13 = pmVar14;\n        pmVar12 = unaff_s1;\n        if (pmStack_1124 == pmStack_1134) {\n          pmVar11 = (mbstate_t *)((int)pmStack_1140 * 2);\n          pmVar10 = (mbstate_t *)((int)&pmVar11->__count + 1);\n          if (pmStack_1124 == pmStack_1148) {\n            pmVar2 = (mbstate_t *)(**(code **)(puStack_1170 + -0x6158))(pmVar10);\n            if (pmVar2 == (mbstate_t *)0x0) goto LAB_000dfb48;\n            (**(code **)(puStack_1170 + -0x605c))(pmVar2,pmStack_1148,pmStack_1140);\n          }\n          else {\n            pmVar2 = (mbstate_t *)(**(code **)(puStack_1170 + -0x614c))(pmStack_1134);\n            puVar26 = puVar28;\n            if (pmVar2 == (mbstate_t *)0x0) goto LAB_000dfb18;\n          }\n          pmVar13 = pmStack_1140;\n          unaff_s3 = (mbstate_t *)((int)&pmStack_1140->__count + (int)&pmVar2->__count);\n          pmStack_1124 = unaff_s3;\n          (**(code **)(puStack_1170 + -0x605c))(unaff_s3,pmVar2,pmStack_1140);\n          *(char *)((int)&pmVar13->__count + (int)&unaff_s3->__count) = '\0';\n          pmStack_1140 = pmVar11;\n          pmStack_1134 = pmVar2;\n        }\n        pmVar11 = (mbstate_t *)((int)&pmStack_1124[-1].__value + 1);\n        pmVar10 = pmVar11;\n        in_a2 = pmStack_1128;\n        pmStack_1124 = pmVar11;\n        iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,pmVar11);\n        pmVar14 = pmVar13;\n        puVar19 = puVar28;\n        if (iVar3 < 0) {\nLAB_000dfb00:\n          puVar28 = puVar19;\n          if ((pmStack_1134 != pmStack_1148) &&\n             (puVar26 = puVar19, pmStack_1134 != (mbstate_t *)0x0)) {\nLAB_000dfb18:\n            pcVar18 = *(code **)(puStack_1170 + -0x6204);\n            puVar27 = puVar26;\nLAB_000dfb1c:\n            pmVar11 = (mbstate_t *)(*pcVar18)();\n            iVar3 = pmVar11->__count;\n            (**(code **)(puStack_1170 + -0x6044))(pmStack_1134);\n            pmVar11->__count = iVar3;\n            unaff_s1 = pmVar12;\n            puVar28 = puVar27;\n          }\n          goto LAB_000dfb48;\n        }\n        pmStack_1130 = (mbstate_t *)amStack_1118[0].__count;\n        iStack_1150 = iStack_1108;\n        iStack_1154 = iStack_1104;\n        iStack_111c = (**(code **)(puStack_1170 + -0x633c))(pmVar11);\n        if (iStack_111c == 0) goto LAB_000dfb00;\n        unaff_s3 = (mbstate_t *)((int)pmStack_1140 + ((int)pmStack_1134 - (int)pmVar11));\n        unaff_s5 = (mbstate_t *)((int)&unaff_s3->__count + 1);\nLAB_000df8ec:\n        do {\n          pcVar18 = *(code **)(puStack_1170 + -0x62c8);\n          do {\n            do {\n              piVar4 = (int *)(*pcVar18)(iStack_111c);\n              while( true ) {\n                if (piVar4 == (int *)0x0) {\n                  pmVar11 = (mbstate_t *)(**(code **)(puStack_1170 + -0x6204))();\n                  iVar3 = iStack_1138;\n                  if (pmVar11->__count != 0) {\n                    iVar3 = pmVar11->__count;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  pmVar11->__count = iVar3;\n                  pmVar14 = pmVar13;\n                  goto LAB_000dfb00;\n                }\n                if (*(char *)((int)piVar4 + 0x13) != '.') break;\n                pmVar10 = (mbstate_t *)0xffff0000;\n                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;\n                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;\n                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);\n              }\n            } while ((pmStack_1120 == pmStack_1130) &&\n                    ((pcVar18 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c))));\n            pmVar11 = (mbstate_t *)((int)piVar4 + 0x13);\n            pmVar5 = (mbstate_t *)(**(code **)(puStack_1170 + -0x61b0))(pmVar11);\n            iVar3 = -((uint)((int)&pmVar5[1].__count + (int)&unaff_s5->__count) & 0xfffffff8);\n            puVar20 = puVar19 + iVar3;\n            puVar21 = puVar19 + iVar3;\n            puVar22 = puVar19 + iVar3;\n            puVar27 = puVar19 + iVar3;\n            puVar23 = puVar19 + iVar3;\n            puVar28 = puVar19 + iVar3;\n            puVar24 = puVar19 + iVar3;\n            puVar26 = puVar19 + iVar3;\n            puVar25 = puVar19 + iVar3;\n            pmVar13 = (mbstate_t *)(puVar19 + iVar3 + 0x10);\n            (**(code **)(puStack_1170 + -0x605c))(pmVar13,pmStack_1124,unaff_s3);\n            puVar17 = puStack_1170;\n            *(char *)((int)pmVar13 + (int)unaff_s3) = '/';\n            (**(code **)(puVar17 + -0x605c))\n                      ((char *)((int)&unaff_s5->__count + (int)&pmVar13->__count),pmVar11,\n                       (char *)((int)&pmVar5->__count + 1));\n            pmVar10 = pmVar13;\n            in_a2 = pmStack_1128;\n            iVar6 = (**(code **)(puStack_1170 + -0x632c))(3,pmVar13);\n            if (iVar6 < 0) {\n              piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))();\n              iStack_1138 = *piVar4;\n            }\n            pmVar14 = pmStack_1158;\n            pcVar18 = *(code **)(puStack_1170 + -0x62c8);\n            puVar19 = puVar19 + iVar3;\n          } while (((mbstate_t *)amStack_1118[0].__count != pmStack_1120) ||\n                  (puVar19 = puVar20, iStack_1108 != iStack_112c));\n          puVar19 = puVar21;\n        } while (iStack_1104 != iStack_113c);\n        pmVar2 = pmVar11;\n        unaff_s3 = (mbstate_t *)((int)pmVar16 - (int)unaff_s1);\n        unaff_s5 = unaff_s6;\n        while (unaff_s3 <= pmVar5) {\n          unaff_s6 = (mbstate_t *)((int)unaff_s5 << 1);\n          pmStack_1120 = pmVar2;\n          if (pmVar12 == pmVar14) {\n            unaff_s1 = (mbstate_t *)(**(code **)(puStack_1170 + -0x6158))(unaff_s6);\n            if (unaff_s1 == (mbstate_t *)0x0) {\n              pcVar9 = (char *)0x0;\n              pmStack_44 = pmVar10;\n              if ((pmStack_1134 == pmStack_1148) ||\n                 (pmVar12 = pmStack_1158, puVar28 = puVar24, pmStack_1134 == (mbstate_t *)0x0))\n              goto LAB_000dfb60;\n              goto LAB_000dfb18;\n            }\n          }\n          else {\n            pmVar10 = unaff_s6;\n            unaff_s1 = (mbstate_t *)(**(code **)(puStack_1170 + -0x614c))(pmVar12,unaff_s6);\n            if (unaff_s1 == (mbstate_t *)0x0) {\n              pcVar18 = *(code **)(puStack_1170 + -0x6044);\n              puVar28 = puVar22;\n              if (pmStack_1134 == pmStack_1148) goto LAB_000dfcc0;\n              pcVar18 = *(code **)(puStack_1170 + -0x6204);\n              if (pmStack_1134 != (mbstate_t *)0x0) goto LAB_000dfb1c;\n              pcVar18 = *(code **)(puStack_1170 + -0x6044);\n              puVar28 = puVar23;\n              goto LAB_000dfcc0;\n            }\n            pmVar16 = (mbstate_t *)((int)&unaff_s3->__count + (int)&unaff_s1->__count);\n          }\n          pmVar11 = (mbstate_t *)((int)&unaff_s3->__count + (int)&unaff_s5->__count);\n          in_a2 = (mbstate_t *)((int)unaff_s5 - (int)unaff_s3);\n          pmVar15 = (mbstate_t *)((int)&pmVar11->__count + (int)&unaff_s1->__count);\n          (**(code **)(puStack_1170 + -0x605c))(pmVar15);\n          pmVar2 = pmStack_1120;\n          pmVar13 = pmVar14;\n          unaff_s3 = pmVar11;\n          pmVar10 = pmVar16;\n          pmVar12 = unaff_s1;\n          unaff_s5 = unaff_s6;\n          pmVar16 = pmVar15;\n        }\n        iVar3 = (**(code **)(puStack_1170 + -0x605c))((int)pmVar16 - (int)pmVar5);\n        pmVar16 = (mbstate_t *)(iVar3 - 1);\n        pcVar18 = *(code **)(puStack_1170 + -0x6338);\n        *(undefined1 *)(iVar3 + -1) = 0x2f;\n        (*pcVar18)(iStack_111c);\n        iStack_112c = iStack_1150;\n        pmStack_1120 = pmStack_1130;\n        in_a2 = pmVar5;\n        unaff_s1 = pmVar12;\n        pmVar14 = pmVar13;\n        unaff_s6 = unaff_s5;\n        puVar28 = puVar25;\n        iStack_113c = iStack_1154;\n      }\n      if (pmVar16 == pmStack_1168) {\n        pmVar16 = (mbstate_t *)auStack_79;\n        auStack_79[0] = 0x2f;\n      }\n      pmVar10 = pmVar2;\n      if (pmStack_1134 != pmStack_1148) {\n        (**(code **)(puStack_1170 + -0x6044))();\n        pmVar10 = pmVar2;\n      }\n      pmVar11 = (mbstate_t *)((int)unaff_s6 + ((int)unaff_s1 - (int)pmVar16));\n      if (pcStack_115c == (char *)0x0) {\n        if (pmStack_44 == (mbstate_t *)0x0) {\n          pcVar18 = *(code **)(puStack_1170 + -0x6158);\n          pmStack_44 = pmVar11;\n        }\n        else {\n          pcVar18 = *(code **)(puStack_1170 + -0x6158);\n          if (pmStack_44 < pmVar11) goto LAB_000dfda0;\n        }\n        pcVar9 = (char *)(*pcVar18)(pmStack_44);\n        if (pcVar9 != (char *)0x0) goto LAB_000dfc70;\n      }\n      else {\n        pcVar9 = pcStack_115c;\n        if (pmVar11 <= pmStack_44) {\nLAB_000dfc70:\n          in_a2 = pmVar11;\n          (**(code **)(puStack_1170 + -0x605c))(pcVar9,pmVar16);\n          pmStack_44 = pmVar16;\n          if (unaff_s1 != pmStack_1158) {\n            (**(code **)(puStack_1170 + -0x6044))(unaff_s1);\n            pmStack_44 = pmVar16;\n          }\n          goto LAB_000dfb60;\n        }\nLAB_000dfda0:\n        puVar7 = (undefined4 *)(**(code **)(puStack_1170 + -0x6204))();\n        *puVar7 = 0x22;\n      }\nLAB_000dfb48:\n      pcVar9 = (char *)0x0;\n      pmStack_44 = pmVar10;\n      if (unaff_s1 == pmStack_1158) goto LAB_000dfb60;\n      pcVar18 = *(code **)(puStack_1170 + -0x6044);\n      pmVar12 = unaff_s1;\n      if (unaff_s1 != (mbstate_t *)0x0) {\nLAB_000dfcc0:\n        (*pcVar18)(pmVar12);\n        unaff_s1 = pmVar12;\n      }\n    }\n  }\n  pcVar9 = (char *)0x0;\n  pmStack_44 = pmVar10;\nLAB_000dfb60:\n  pcVar18 = *(code **)(puStack_1170 + -0x60b8);\n  if (iStack_74 == *piStack_1144) {\n    return pcVar9;\n  }\n  pcVar29 = zwrite;\n  iVar3 = iStack_74;\n  (*pcVar18)();\n  pcVar18 = pcVar18 + 0x6c740;\n  *(mbstate_t **)(puVar28 + -0x10) = pmVar14;\n  *(mbstate_t **)(puVar28 + -0x14) = unaff_s3;\n  iVar6 = 0;\n  *(mbstate_t **)(puVar28 + -8) = unaff_s6;\n  *(mbstate_t **)(puVar28 + -0xc) = unaff_s5;\n  *(char **)(puVar28 + -0x18) = pcVar9;\n  *(mbstate_t **)(puVar28 + -0x1c) = unaff_s1;\n  *(mbstate_t **)(puVar28 + -0x20) = pmVar11;\n  *(code **)(puVar28 + -0x28) = pcVar18;\n  *(code **)(puVar28 + -4) = pcVar29;\n  pmVar11 = in_a2;\n  do {\n    while( true ) {\n      while( true ) {\n        iVar8 = (**(code **)(pcVar18 + -0x61c0))(iVar3,pmStack_44,pmVar11);\n        pcVar18 = *(code **)(puVar28 + -0x28);\n        if (iVar8 < 1) break;\n        pmVar11 = (mbstate_t *)((int)pmVar11 - iVar8);\n        pmStack_44 = (mbstate_t *)((int)&pmStack_44->__count + iVar8);\n        if ((int)pmVar11 < 1) {\n          return (char *)in_a2;\n        }\n      }\n      if (iVar8 != 0) break;\n      iVar6 = iVar6 + 1;\n      if (3 < iVar6) {\n        return (char *)((int)in_a2 - (int)pmVar11);\n      }\n    }\n    piVar4 = (int *)(**(code **)(pcVar18 + -0x6204))();\n    pcVar18 = *(code **)(puVar28 + -0x28);\n  } while (*piVar4 == 4);\n  return (char *)0xffffffff;\n}\n\n" (function_definition "char * mbschr(char *s,int c)\n\n{\n  byte bVar1;\n  mbstate_t *pmVar2;\n  int iVar3;\n  int *piVar4;\n  mbstate_t *pmVar5;\n  int iVar6;\n  undefined4 *puVar7;\n  int iVar8;\n  char *pcVar9;\n  mbstate_t *pmVar10;\n  mbstate_t *in_a2;\n  mbstate_t *pmVar11;\n  mbstate_t *unaff_s1;\n  mbstate_t *pmVar12;\n  mbstate_t *unaff_s3;\n  mbstate_t *pmVar13;\n  mbstate_t *pmVar14;\n  mbstate_t *unaff_s5;\n  mbstate_t *unaff_s6;\n  mbstate_t *pmVar15;\n  mbstate_t *pmVar16;\n  undefined *puVar17;\n  code *pcVar18;\n  undefined1 *puVar19;\n  undefined1 *puVar20;\n  undefined1 *puVar26;\n  undefined1 *puVar27;\n  undefined1 *puVar28;\n  code *pcVar29;\n  undefined1 auStack_1180 [16];\n  undefined *puStack_1170;\n  mbstate_t *pmStack_1168;\n  int iStack_1164;\n  int iStack_1160;\n  char *pcStack_115c;\n  mbstate_t *pmStack_1158;\n  int iStack_1154;\n  int iStack_1150;\n  mbstate_t *pmStack_114c;\n  mbstate_t *pmStack_1148;\n  int *piStack_1144;\n  mbstate_t *pmStack_1140;\n  int iStack_113c;\n  int iStack_1138;\n  mbstate_t *pmStack_1134;\n  mbstate_t *pmStack_1130;\n  int iStack_112c;\n  mbstate_t *pmStack_1128;\n  mbstate_t *pmStack_1124;\n  mbstate_t *pmStack_1120;\n  int iStack_111c;\n  mbstate_t amStack_1118 [2];\n  int iStack_1108;\n  int iStack_1104;\n  mbstate_t amStack_1078 [511];\n  undefined1 auStack_79 [5];\n  int iStack_74;\n  mbstate_t *pmStack_70;\n  mbstate_t *pmStack_6c;\n  int iStack_68;\n  mbstate_t *pmStack_64;\n  undefined *puStack_60;\n  mbstate_t *pmStack_5c;\n  mbstate_t *pmStack_44;\n  mbstate_t state;\n  undefined1 *puVar21;\n  undefined1 *puVar22;\n  undefined1 *puVar23;\n  undefined1 *puVar24;\n  undefined1 *puVar25;\n  \n  pmVar14 = (mbstate_t *)PTR___stack_chk_guard_001464dc;\n  pmVar10 = (mbstate_t *)PTR_is_basic_table_00144b04;\n  pcVar9 = *(char **)PTR___stack_chk_guard_001464dc;\n  pmStack_44 = (mbstate_t *)c;\n  pmVar11 = (mbstate_t *)s;\n  if ((*(int *)PTR_locale_utf8locale_00144afc == 0) || (0x7f < c)) {\n    if ((0x2f < (c & 0xffU)) && (unaff_s5 = &state, 1 < *(int *)PTR_locale_mb_cur_max_00144b00)) {\n      state.__count = 0;\n      state.__value.__wch = 0;\n      unaff_s1 = (mbstate_t *)(*(code *)PTR_strlen_00146390)(s);\n      pmVar2 = (mbstate_t *)s;\n      if (unaff_s1 == (mbstate_t *)0x0) {\n        pmVar2 = (mbstate_t *)0x0;\n      }\n      else {\n        do {\n          bVar1 = *(byte *)&pmVar2->__count;\n          pmVar11 = pmVar2;\n          if ((*(uint *)((int)pmVar10 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n            pmStack_44 = pmVar2;\n            in_a2 = unaff_s1;\n            iVar3 = (*(code *)PTR_mbrtowc_00146408)(0,pmVar2,unaff_s1,unaff_s5);\n            if (0xfffffffb < iVar3 - 2U) {\n              if ((uint)*(byte *)&pmVar2->__count != c) goto LAB_000df640;\n              goto LAB_000df6f8;\n            }\n          }\n          else {\n            if ((uint)bVar1 == c) goto LAB_000df6f8;\nLAB_000df640:\n            iVar3 = 1;\n          }\n          unaff_s1 = (mbstate_t *)((int)unaff_s1 - iVar3);\n          pmVar11 = (mbstate_t *)((int)&pmVar2->__count + iVar3);\n          pmVar2 = pmVar11;\n        } while (unaff_s1 != (mbstate_t *)0x0);\n        pmVar2 = (mbstate_t *)0x0;\n      }\n      goto LAB_000df6f8;\n    }\n    if (pcVar9 == *(char **)PTR___stack_chk_guard_001464dc) {\n                    /* WARNING: Could not recover jumptable at 0x000df6e0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      pcVar9 = (char *)(*(code *)PTR_strchr_00146398)(s,c);\n      return pcVar9;\n    }\n  }\n  else {\n    pmVar2 = (mbstate_t *)utf8_mbschr(s,c);\n    pmVar10 = unaff_s3;\nLAB_000df6f8:\n    s = pcVar9;\n    unaff_s3 = pmVar10;\n    if (pcVar9 == *(char **)pmVar14) {\n      return (char *)pmVar2;\n    }\n  }\n  puVar17 = PTR___stack_chk_fail_00146488;\n  (*(code *)PTR___stack_chk_fail_00146488)();\n  puStack_1170 = puVar17 + 0x6ce00;\n  puVar28 = auStack_1180;\n  piStack_1144 = *(int **)(puVar17 + 0x66d9c);\n  puStack_60 = (undefined *)pmVar14;\n  iStack_74 = *piStack_1144;\n  pcStack_115c = s;\n  pmStack_70 = pmVar11;\n  pmStack_6c = unaff_s1;\n  iStack_68 = c;\n  pmStack_64 = unaff_s3;\n  pmStack_5c = unaff_s5;\n  if ((s != (char *)0x0) && (pmStack_44 == (mbstate_t *)0x0)) {\n    pcVar9 = (char *)0x0;\n    puVar7 = (undefined4 *)(**(code **)(puVar17 + 0x66bfc))();\n    *puVar7 = 0x16;\n    goto LAB_000dfb60;\n  }\n  in_a2 = amStack_1118;\n  pmVar10 = (mbstate_t *)(*(int *)(puVar17 + 0x64e6c) - 0x7e78);\n  auStack_79[1] = 0;\n  pmStack_1128 = in_a2;\n  iVar3 = (**(code **)(puVar17 + 0x66af4))(3,pmVar10);\n  puVar28 = auStack_1180;\n  if (-1 < iVar3) {\n    pmStack_1120 = (mbstate_t *)amStack_1118[0].__count;\n    pmVar2 = (mbstate_t *)(*(int *)(puStack_1170 + -0x7aac) - 0x7ee8);\n    iStack_112c = iStack_1108;\n    iStack_113c = iStack_1104;\n    in_a2 = pmStack_1128;\n    iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,pmVar2);\n    pmVar10 = pmVar2;\n    puVar28 = auStack_1180;\n    if (-1 < iVar3) {\n      pmStack_1158 = amStack_1078;\n      pmVar16 = (mbstate_t *)(auStack_79 + 1);\n      pmStack_114c = (mbstate_t *)amStack_1118[0].__count;\n      iStack_1160 = iStack_1108;\n      pmStack_1148 = (mbstate_t *)(*(int *)(puStack_1170 + -0x7f94) - 0x34d0);\n      iStack_1138 = 0;\n      iStack_1164 = iStack_1104;\n      pmStack_1140 = (mbstate_t *)0xe0;\n      pmStack_1124 = (mbstate_t *)(*(int *)(puStack_1170 + -0x7f94) - 0x33ef);\n      unaff_s1 = pmStack_1158;\n      unaff_s6 = (mbstate_t *)0x1001;\n      puVar28 = auStack_1180;\n      pmStack_1168 = pmVar16;\n      pmStack_1134 = pmStack_1148;\n      while (((pmStack_1120 != pmStack_114c || (iStack_112c != iStack_1160)) ||\n             (iStack_113c != iStack_1164))) {\n        pmVar13 = pmVar14;\n        pmVar12 = unaff_s1;\n        if (pmStack_1124 == pmStack_1134) {\n          pmVar11 = (mbstate_t *)((int)pmStack_1140 * 2);\n          pmVar10 = (mbstate_t *)((int)&pmVar11->__count + 1);\n          if (pmStack_1124 == pmStack_1148) {\n            pmVar2 = (mbstate_t *)(**(code **)(puStack_1170 + -0x6158))(pmVar10);\n            if (pmVar2 == (mbstate_t *)0x0) goto LAB_000dfb48;\n            (**(code **)(puStack_1170 + -0x605c))(pmVar2,pmStack_1148,pmStack_1140);\n          }\n          else {\n            pmVar2 = (mbstate_t *)(**(code **)(puStack_1170 + -0x614c))(pmStack_1134);\n            puVar26 = puVar28;\n            if (pmVar2 == (mbstate_t *)0x0) goto LAB_000dfb18;\n          }\n          pmVar13 = pmStack_1140;\n          unaff_s3 = (mbstate_t *)((int)&pmStack_1140->__count + (int)&pmVar2->__count);\n          pmStack_1124 = unaff_s3;\n          (**(code **)(puStack_1170 + -0x605c))(unaff_s3,pmVar2,pmStack_1140);\n          *(char *)((int)&pmVar13->__count + (int)&unaff_s3->__count) = '\0';\n          pmStack_1140 = pmVar11;\n          pmStack_1134 = pmVar2;\n        }\n        pmVar11 = (mbstate_t *)((int)&pmStack_1124[-1].__value + 1);\n        pmVar10 = pmVar11;\n        in_a2 = pmStack_1128;\n        pmStack_1124 = pmVar11;\n        iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,pmVar11);\n        pmVar14 = pmVar13;\n        puVar19 = puVar28;\n        if (iVar3 < 0) {\nLAB_000dfb00:\n          puVar28 = puVar19;\n          if ((pmStack_1134 != pmStack_1148) &&\n             (puVar26 = puVar19, pmStack_1134 != (mbstate_t *)0x0)) {\nLAB_000dfb18:\n            pcVar18 = *(code **)(puStack_1170 + -0x6204);\n            puVar27 = puVar26;\nLAB_000dfb1c:\n            pmVar11 = (mbstate_t *)(*pcVar18)();\n            iVar3 = pmVar11->__count;\n            (**(code **)(puStack_1170 + -0x6044))(pmStack_1134);\n            pmVar11->__count = iVar3;\n            unaff_s1 = pmVar12;\n            puVar28 = puVar27;\n          }\n          goto LAB_000dfb48;\n        }\n        pmStack_1130 = (mbstate_t *)amStack_1118[0].__count;\n        iStack_1150 = iStack_1108;\n        iStack_1154 = iStack_1104;\n        iStack_111c = (**(code **)(puStack_1170 + -0x633c))(pmVar11);\n        if (iStack_111c == 0) goto LAB_000dfb00;\n        unaff_s3 = (mbstate_t *)((int)pmStack_1140 + ((int)pmStack_1134 - (int)pmVar11));\n        unaff_s5 = (mbstate_t *)((int)&unaff_s3->__count + 1);\nLAB_000df8ec:\n        do {\n          pcVar18 = *(code **)(puStack_1170 + -0x62c8);\n          do {\n            do {\n              piVar4 = (int *)(*pcVar18)(iStack_111c);\n              while( true ) {\n                if (piVar4 == (int *)0x0) {\n                  pmVar11 = (mbstate_t *)(**(code **)(puStack_1170 + -0x6204))();\n                  iVar3 = iStack_1138;\n                  if (pmVar11->__count != 0) {\n                    iVar3 = pmVar11->__count;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  pmVar11->__count = iVar3;\n                  pmVar14 = pmVar13;\n                  goto LAB_000dfb00;\n                }\n                if (*(char *)((int)piVar4 + 0x13) != '.') break;\n                pmVar10 = (mbstate_t *)0xffff0000;\n                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;\n                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;\n                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);\n              }\n            } while ((pmStack_1120 == pmStack_1130) &&\n                    ((pcVar18 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c))));\n            pmVar11 = (mbstate_t *)((int)piVar4 + 0x13);\n            pmVar5 = (mbstate_t *)(**(code **)(puStack_1170 + -0x61b0))(pmVar11);\n            iVar3 = -((uint)((int)&pmVar5[1].__count + (int)&unaff_s5->__count) & 0xfffffff8);\n            puVar20 = puVar19 + iVar3;\n            puVar21 = puVar19 + iVar3;\n            puVar22 = puVar19 + iVar3;\n            puVar27 = puVar19 + iVar3;\n            puVar23 = puVar19 + iVar3;\n            puVar28 = puVar19 + iVar3;\n            puVar24 = puVar19 + iVar3;\n            puVar26 = puVar19 + iVar3;\n            puVar25 = puVar19 + iVar3;\n            pmVar13 = (mbstate_t *)(puVar19 + iVar3 + 0x10);\n            (**(code **)(puStack_1170 + -0x605c))(pmVar13,pmStack_1124,unaff_s3);\n            puVar17 = puStack_1170;\n            *(char *)((int)pmVar13 + (int)unaff_s3) = '/';\n            (**(code **)(puVar17 + -0x605c))\n                      ((char *)((int)&unaff_s5->__count + (int)&pmVar13->__count),pmVar11,\n                       (char *)((int)&pmVar5->__count + 1));\n            pmVar10 = pmVar13;\n            in_a2 = pmStack_1128;\n            iVar6 = (**(code **)(puStack_1170 + -0x632c))(3,pmVar13);\n            if (iVar6 < 0) {\n              piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))();\n              iStack_1138 = *piVar4;\n            }\n            pmVar14 = pmStack_1158;\n            pcVar18 = *(code **)(puStack_1170 + -0x62c8);\n            puVar19 = puVar19 + iVar3;\n          } while (((mbstate_t *)amStack_1118[0].__count != pmStack_1120) ||\n                  (puVar19 = puVar20, iStack_1108 != iStack_112c));\n          puVar19 = puVar21;\n        } while (iStack_1104 != iStack_113c);\n        pmVar2 = pmVar11;\n        unaff_s3 = (mbstate_t *)((int)pmVar16 - (int)unaff_s1);\n        unaff_s5 = unaff_s6;\n        while (unaff_s3 <= pmVar5) {\n          unaff_s6 = (mbstate_t *)((int)unaff_s5 << 1);\n          pmStack_1120 = pmVar2;\n          if (pmVar12 == pmVar14) {\n            unaff_s1 = (mbstate_t *)(**(code **)(puStack_1170 + -0x6158))(unaff_s6);\n            if (unaff_s1 == (mbstate_t *)0x0) {\n              pcVar9 = (char *)0x0;\n              pmStack_44 = pmVar10;\n              if ((pmStack_1134 == pmStack_1148) ||\n                 (pmVar12 = pmStack_1158, puVar28 = puVar24, pmStack_1134 == (mbstate_t *)0x0))\n              goto LAB_000dfb60;\n              goto LAB_000dfb18;\n            }\n          }\n          else {\n            pmVar10 = unaff_s6;\n            unaff_s1 = (mbstate_t *)(**(code **)(puStack_1170 + -0x614c))(pmVar12,unaff_s6);\n            if (unaff_s1 == (mbstate_t *)0x0) {\n              pcVar18 = *(code **)(puStack_1170 + -0x6044);\n              puVar28 = puVar22;\n              if (pmStack_1134 == pmStack_1148) goto LAB_000dfcc0;\n              pcVar18 = *(code **)(puStack_1170 + -0x6204);\n              if (pmStack_1134 != (mbstate_t *)0x0) goto LAB_000dfb1c;\n              pcVar18 = *(code **)(puStack_1170 + -0x6044);\n              puVar28 = puVar23;\n              goto LAB_000dfcc0;\n            }\n            pmVar16 = (mbstate_t *)((int)&unaff_s3->__count + (int)&unaff_s1->__count);\n          }\n          pmVar11 = (mbstate_t *)((int)&unaff_s3->__count + (int)&unaff_s5->__count);\n          in_a2 = (mbstate_t *)((int)unaff_s5 - (int)unaff_s3);\n          pmVar15 = (mbstate_t *)((int)&pmVar11->__count + (int)&unaff_s1->__count);\n          (**(code **)(puStack_1170 + -0x605c))(pmVar15);\n          pmVar2 = pmStack_1120;\n          pmVar13 = pmVar14;\n          unaff_s3 = pmVar11;\n          pmVar10 = pmVar16;\n          pmVar12 = unaff_s1;\n          unaff_s5 = unaff_s6;\n          pmVar16 = pmVar15;\n        }\n        iVar3 = (**(code **)(puStack_1170 + -0x605c))((int)pmVar16 - (int)pmVar5);\n        pmVar16 = (mbstate_t *)(iVar3 - 1);\n        pcVar18 = *(code **)(puStack_1170 + -0x6338);\n        *(undefined1 *)(iVar3 + -1) = 0x2f;\n        (*pcVar18)(iStack_111c);\n        iStack_112c = iStack_1150;\n        pmStack_1120 = pmStack_1130;\n        in_a2 = pmVar5;\n        unaff_s1 = pmVar12;\n        pmVar14 = pmVar13;\n        unaff_s6 = unaff_s5;\n        puVar28 = puVar25;\n        iStack_113c = iStack_1154;\n      }\n      if (pmVar16 == pmStack_1168) {\n        pmVar16 = (mbstate_t *)auStack_79;\n        auStack_79[0] = 0x2f;\n      }\n      pmVar10 = pmVar2;\n      if (pmStack_1134 != pmStack_1148) {\n        (**(code **)(puStack_1170 + -0x6044))();\n        pmVar10 = pmVar2;\n      }\n      pmVar11 = (mbstate_t *)((int)unaff_s6 + ((int)unaff_s1 - (int)pmVar16));\n      if (pcStack_115c == (char *)0x0) {\n        if (pmStack_44 == (mbstate_t *)0x0) {\n          pcVar18 = *(code **)(puStack_1170 + -0x6158);\n          pmStack_44 = pmVar11;\n        }\n        else {\n          pcVar18 = *(code **)(puStack_1170 + -0x6158);\n          if (pmStack_44 < pmVar11) goto LAB_000dfda0;\n        }\n        pcVar9 = (char *)(*pcVar18)(pmStack_44);\n        if (pcVar9 != (char *)0x0) goto LAB_000dfc70;\n      }\n      else {\n        pcVar9 = pcStack_115c;\n        if (pmVar11 <= pmStack_44) {\nLAB_000dfc70:\n          in_a2 = pmVar11;\n          (**(code **)(puStack_1170 + -0x605c))(pcVar9,pmVar16);\n          pmStack_44 = pmVar16;\n          if (unaff_s1 != pmStack_1158) {\n            (**(code **)(puStack_1170 + -0x6044))(unaff_s1);\n            pmStack_44 = pmVar16;\n          }\n          goto LAB_000dfb60;\n        }\nLAB_000dfda0:\n        puVar7 = (undefined4 *)(**(code **)(puStack_1170 + -0x6204))();\n        *puVar7 = 0x22;\n      }\nLAB_000dfb48:\n      pcVar9 = (char *)0x0;\n      pmStack_44 = pmVar10;\n      if (unaff_s1 == pmStack_1158) goto LAB_000dfb60;\n      pcVar18 = *(code **)(puStack_1170 + -0x6044);\n      pmVar12 = unaff_s1;\n      if (unaff_s1 != (mbstate_t *)0x0) {\nLAB_000dfcc0:\n        (*pcVar18)(pmVar12);\n        unaff_s1 = pmVar12;\n      }\n    }\n  }\n  pcVar9 = (char *)0x0;\n  pmStack_44 = pmVar10;\nLAB_000dfb60:\n  pcVar18 = *(code **)(puStack_1170 + -0x60b8);\n  if (iStack_74 == *piStack_1144) {\n    return pcVar9;\n  }\n  pcVar29 = zwrite;\n  iVar3 = iStack_74;\n  (*pcVar18)();\n  pcVar18 = pcVar18 + 0x6c740;\n  *(mbstate_t **)(puVar28 + -0x10) = pmVar14;\n  *(mbstate_t **)(puVar28 + -0x14) = unaff_s3;\n  iVar6 = 0;\n  *(mbstate_t **)(puVar28 + -8) = unaff_s6;\n  *(mbstate_t **)(puVar28 + -0xc) = unaff_s5;\n  *(char **)(puVar28 + -0x18) = pcVar9;\n  *(mbstate_t **)(puVar28 + -0x1c) = unaff_s1;\n  *(mbstate_t **)(puVar28 + -0x20) = pmVar11;\n  *(code **)(puVar28 + -0x28) = pcVar18;\n  *(code **)(puVar28 + -4) = pcVar29;\n  pmVar11 = in_a2;\n  do {\n    while( true ) {\n      while( true ) {\n        iVar8 = (**(code **)(pcVar18 + -0x61c0))(iVar3,pmStack_44,pmVar11);\n        pcVar18 = *(code **)(puVar28 + -0x28);\n        if (iVar8 < 1) break;\n        pmVar11 = (mbstate_t *)((int)pmVar11 - iVar8);\n        pmStack_44 = (mbstate_t *)((int)&pmStack_44->__count + iVar8);\n        if ((int)pmVar11 < 1) {\n          return (char *)in_a2;\n        }\n      }\n      if (iVar8 != 0) break;\n      iVar6 = iVar6 + 1;\n      if (3 < iVar6) {\n        return (char *)((int)in_a2 - (int)pmVar11);\n      }\n    }\n    piVar4 = (int *)(**(code **)(pcVar18 + -0x6204))();\n    pcVar18 = *(code **)(puVar28 + -0x28);\n  } while (*piVar4 == 4);\n  return (char *)0xffffffff;\n}" primitive_type (pointer_declarator "* mbschr(char *s,int c)" * (function_declarator "mbschr(char *s,int c)" identifier (parameter_list "(char *s,int c)" ( (parameter_declaration "char *s" primitive_type (pointer_declarator "*s" * identifier)) , (parameter_declaration "int c" primitive_type identifier) )))) (compound_statement "{\n  byte bVar1;\n  mbstate_t *pmVar2;\n  int iVar3;\n  int *piVar4;\n  mbstate_t *pmVar5;\n  int iVar6;\n  undefined4 *puVar7;\n  int iVar8;\n  char *pcVar9;\n  mbstate_t *pmVar10;\n  mbstate_t *in_a2;\n  mbstate_t *pmVar11;\n  mbstate_t *unaff_s1;\n  mbstate_t *pmVar12;\n  mbstate_t *unaff_s3;\n  mbstate_t *pmVar13;\n  mbstate_t *pmVar14;\n  mbstate_t *unaff_s5;\n  mbstate_t *unaff_s6;\n  mbstate_t *pmVar15;\n  mbstate_t *pmVar16;\n  undefined *puVar17;\n  code *pcVar18;\n  undefined1 *puVar19;\n  undefined1 *puVar20;\n  undefined1 *puVar26;\n  undefined1 *puVar27;\n  undefined1 *puVar28;\n  code *pcVar29;\n  undefined1 auStack_1180 [16];\n  undefined *puStack_1170;\n  mbstate_t *pmStack_1168;\n  int iStack_1164;\n  int iStack_1160;\n  char *pcStack_115c;\n  mbstate_t *pmStack_1158;\n  int iStack_1154;\n  int iStack_1150;\n  mbstate_t *pmStack_114c;\n  mbstate_t *pmStack_1148;\n  int *piStack_1144;\n  mbstate_t *pmStack_1140;\n  int iStack_113c;\n  int iStack_1138;\n  mbstate_t *pmStack_1134;\n  mbstate_t *pmStack_1130;\n  int iStack_112c;\n  mbstate_t *pmStack_1128;\n  mbstate_t *pmStack_1124;\n  mbstate_t *pmStack_1120;\n  int iStack_111c;\n  mbstate_t amStack_1118 [2];\n  int iStack_1108;\n  int iStack_1104;\n  mbstate_t amStack_1078 [511];\n  undefined1 auStack_79 [5];\n  int iStack_74;\n  mbstate_t *pmStack_70;\n  mbstate_t *pmStack_6c;\n  int iStack_68;\n  mbstate_t *pmStack_64;\n  undefined *puStack_60;\n  mbstate_t *pmStack_5c;\n  mbstate_t *pmStack_44;\n  mbstate_t state;\n  undefined1 *puVar21;\n  undefined1 *puVar22;\n  undefined1 *puVar23;\n  undefined1 *puVar24;\n  undefined1 *puVar25;\n  \n  pmVar14 = (mbstate_t *)PTR___stack_chk_guard_001464dc;\n  pmVar10 = (mbstate_t *)PTR_is_basic_table_00144b04;\n  pcVar9 = *(char **)PTR___stack_chk_guard_001464dc;\n  pmStack_44 = (mbstate_t *)c;\n  pmVar11 = (mbstate_t *)s;\n  if ((*(int *)PTR_locale_utf8locale_00144afc == 0) || (0x7f < c)) {\n    if ((0x2f < (c & 0xffU)) && (unaff_s5 = &state, 1 < *(int *)PTR_locale_mb_cur_max_00144b00)) {\n      state.__count = 0;\n      state.__value.__wch = 0;\n      unaff_s1 = (mbstate_t *)(*(code *)PTR_strlen_00146390)(s);\n      pmVar2 = (mbstate_t *)s;\n      if (unaff_s1 == (mbstate_t *)0x0) {\n        pmVar2 = (mbstate_t *)0x0;\n      }\n      else {\n        do {\n          bVar1 = *(byte *)&pmVar2->__count;\n          pmVar11 = pmVar2;\n          if ((*(uint *)((int)pmVar10 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n            pmStack_44 = pmVar2;\n            in_a2 = unaff_s1;\n            iVar3 = (*(code *)PTR_mbrtowc_00146408)(0,pmVar2,unaff_s1,unaff_s5);\n            if (0xfffffffb < iVar3 - 2U) {\n              if ((uint)*(byte *)&pmVar2->__count != c) goto LAB_000df640;\n              goto LAB_000df6f8;\n            }\n          }\n          else {\n            if ((uint)bVar1 == c) goto LAB_000df6f8;\nLAB_000df640:\n            iVar3 = 1;\n          }\n          unaff_s1 = (mbstate_t *)((int)unaff_s1 - iVar3);\n          pmVar11 = (mbstate_t *)((int)&pmVar2->__count + iVar3);\n          pmVar2 = pmVar11;\n        } while (unaff_s1 != (mbstate_t *)0x0);\n        pmVar2 = (mbstate_t *)0x0;\n      }\n      goto LAB_000df6f8;\n    }\n    if (pcVar9 == *(char **)PTR___stack_chk_guard_001464dc) {\n                    /* WARNING: Could not recover jumptable at 0x000df6e0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      pcVar9 = (char *)(*(code *)PTR_strchr_00146398)(s,c);\n      return pcVar9;\n    }\n  }\n  else {\n    pmVar2 = (mbstate_t *)utf8_mbschr(s,c);\n    pmVar10 = unaff_s3;\nLAB_000df6f8:\n    s = pcVar9;\n    unaff_s3 = pmVar10;\n    if (pcVar9 == *(char **)pmVar14) {\n      return (char *)pmVar2;\n    }\n  }\n  puVar17 = PTR___stack_chk_fail_00146488;\n  (*(code *)PTR___stack_chk_fail_00146488)();\n  puStack_1170 = puVar17 + 0x6ce00;\n  puVar28 = auStack_1180;\n  piStack_1144 = *(int **)(puVar17 + 0x66d9c);\n  puStack_60 = (undefined *)pmVar14;\n  iStack_74 = *piStack_1144;\n  pcStack_115c = s;\n  pmStack_70 = pmVar11;\n  pmStack_6c = unaff_s1;\n  iStack_68 = c;\n  pmStack_64 = unaff_s3;\n  pmStack_5c = unaff_s5;\n  if ((s != (char *)0x0) && (pmStack_44 == (mbstate_t *)0x0)) {\n    pcVar9 = (char *)0x0;\n    puVar7 = (undefined4 *)(**(code **)(puVar17 + 0x66bfc))();\n    *puVar7 = 0x16;\n    goto LAB_000dfb60;\n  }\n  in_a2 = amStack_1118;\n  pmVar10 = (mbstate_t *)(*(int *)(puVar17 + 0x64e6c) - 0x7e78);\n  auStack_79[1] = 0;\n  pmStack_1128 = in_a2;\n  iVar3 = (**(code **)(puVar17 + 0x66af4))(3,pmVar10);\n  puVar28 = auStack_1180;\n  if (-1 < iVar3) {\n    pmStack_1120 = (mbstate_t *)amStack_1118[0].__count;\n    pmVar2 = (mbstate_t *)(*(int *)(puStack_1170 + -0x7aac) - 0x7ee8);\n    iStack_112c = iStack_1108;\n    iStack_113c = iStack_1104;\n    in_a2 = pmStack_1128;\n    iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,pmVar2);\n    pmVar10 = pmVar2;\n    puVar28 = auStack_1180;\n    if (-1 < iVar3) {\n      pmStack_1158 = amStack_1078;\n      pmVar16 = (mbstate_t *)(auStack_79 + 1);\n      pmStack_114c = (mbstate_t *)amStack_1118[0].__count;\n      iStack_1160 = iStack_1108;\n      pmStack_1148 = (mbstate_t *)(*(int *)(puStack_1170 + -0x7f94) - 0x34d0);\n      iStack_1138 = 0;\n      iStack_1164 = iStack_1104;\n      pmStack_1140 = (mbstate_t *)0xe0;\n      pmStack_1124 = (mbstate_t *)(*(int *)(puStack_1170 + -0x7f94) - 0x33ef);\n      unaff_s1 = pmStack_1158;\n      unaff_s6 = (mbstate_t *)0x1001;\n      puVar28 = auStack_1180;\n      pmStack_1168 = pmVar16;\n      pmStack_1134 = pmStack_1148;\n      while (((pmStack_1120 != pmStack_114c || (iStack_112c != iStack_1160)) ||\n             (iStack_113c != iStack_1164))) {\n        pmVar13 = pmVar14;\n        pmVar12 = unaff_s1;\n        if (pmStack_1124 == pmStack_1134) {\n          pmVar11 = (mbstate_t *)((int)pmStack_1140 * 2);\n          pmVar10 = (mbstate_t *)((int)&pmVar11->__count + 1);\n          if (pmStack_1124 == pmStack_1148) {\n            pmVar2 = (mbstate_t *)(**(code **)(puStack_1170 + -0x6158))(pmVar10);\n            if (pmVar2 == (mbstate_t *)0x0) goto LAB_000dfb48;\n            (**(code **)(puStack_1170 + -0x605c))(pmVar2,pmStack_1148,pmStack_1140);\n          }\n          else {\n            pmVar2 = (mbstate_t *)(**(code **)(puStack_1170 + -0x614c))(pmStack_1134);\n            puVar26 = puVar28;\n            if (pmVar2 == (mbstate_t *)0x0) goto LAB_000dfb18;\n          }\n          pmVar13 = pmStack_1140;\n          unaff_s3 = (mbstate_t *)((int)&pmStack_1140->__count + (int)&pmVar2->__count);\n          pmStack_1124 = unaff_s3;\n          (**(code **)(puStack_1170 + -0x605c))(unaff_s3,pmVar2,pmStack_1140);\n          *(char *)((int)&pmVar13->__count + (int)&unaff_s3->__count) = '\0';\n          pmStack_1140 = pmVar11;\n          pmStack_1134 = pmVar2;\n        }\n        pmVar11 = (mbstate_t *)((int)&pmStack_1124[-1].__value + 1);\n        pmVar10 = pmVar11;\n        in_a2 = pmStack_1128;\n        pmStack_1124 = pmVar11;\n        iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,pmVar11);\n        pmVar14 = pmVar13;\n        puVar19 = puVar28;\n        if (iVar3 < 0) {\nLAB_000dfb00:\n          puVar28 = puVar19;\n          if ((pmStack_1134 != pmStack_1148) &&\n             (puVar26 = puVar19, pmStack_1134 != (mbstate_t *)0x0)) {\nLAB_000dfb18:\n            pcVar18 = *(code **)(puStack_1170 + -0x6204);\n            puVar27 = puVar26;\nLAB_000dfb1c:\n            pmVar11 = (mbstate_t *)(*pcVar18)();\n            iVar3 = pmVar11->__count;\n            (**(code **)(puStack_1170 + -0x6044))(pmStack_1134);\n            pmVar11->__count = iVar3;\n            unaff_s1 = pmVar12;\n            puVar28 = puVar27;\n          }\n          goto LAB_000dfb48;\n        }\n        pmStack_1130 = (mbstate_t *)amStack_1118[0].__count;\n        iStack_1150 = iStack_1108;\n        iStack_1154 = iStack_1104;\n        iStack_111c = (**(code **)(puStack_1170 + -0x633c))(pmVar11);\n        if (iStack_111c == 0) goto LAB_000dfb00;\n        unaff_s3 = (mbstate_t *)((int)pmStack_1140 + ((int)pmStack_1134 - (int)pmVar11));\n        unaff_s5 = (mbstate_t *)((int)&unaff_s3->__count + 1);\nLAB_000df8ec:\n        do {\n          pcVar18 = *(code **)(puStack_1170 + -0x62c8);\n          do {\n            do {\n              piVar4 = (int *)(*pcVar18)(iStack_111c);\n              while( true ) {\n                if (piVar4 == (int *)0x0) {\n                  pmVar11 = (mbstate_t *)(**(code **)(puStack_1170 + -0x6204))();\n                  iVar3 = iStack_1138;\n                  if (pmVar11->__count != 0) {\n                    iVar3 = pmVar11->__count;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  pmVar11->__count = iVar3;\n                  pmVar14 = pmVar13;\n                  goto LAB_000dfb00;\n                }\n                if (*(char *)((int)piVar4 + 0x13) != '.') break;\n                pmVar10 = (mbstate_t *)0xffff0000;\n                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;\n                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;\n                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);\n              }\n            } while ((pmStack_1120 == pmStack_1130) &&\n                    ((pcVar18 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c))));\n            pmVar11 = (mbstate_t *)((int)piVar4 + 0x13);\n            pmVar5 = (mbstate_t *)(**(code **)(puStack_1170 + -0x61b0))(pmVar11);\n            iVar3 = -((uint)((int)&pmVar5[1].__count + (int)&unaff_s5->__count) & 0xfffffff8);\n            puVar20 = puVar19 + iVar3;\n            puVar21 = puVar19 + iVar3;\n            puVar22 = puVar19 + iVar3;\n            puVar27 = puVar19 + iVar3;\n            puVar23 = puVar19 + iVar3;\n            puVar28 = puVar19 + iVar3;\n            puVar24 = puVar19 + iVar3;\n            puVar26 = puVar19 + iVar3;\n            puVar25 = puVar19 + iVar3;\n            pmVar13 = (mbstate_t *)(puVar19 + iVar3 + 0x10);\n            (**(code **)(puStack_1170 + -0x605c))(pmVar13,pmStack_1124,unaff_s3);\n            puVar17 = puStack_1170;\n            *(char *)((int)pmVar13 + (int)unaff_s3) = '/';\n            (**(code **)(puVar17 + -0x605c))\n                      ((char *)((int)&unaff_s5->__count + (int)&pmVar13->__count),pmVar11,\n                       (char *)((int)&pmVar5->__count + 1));\n            pmVar10 = pmVar13;\n            in_a2 = pmStack_1128;\n            iVar6 = (**(code **)(puStack_1170 + -0x632c))(3,pmVar13);\n            if (iVar6 < 0) {\n              piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))();\n              iStack_1138 = *piVar4;\n            }\n            pmVar14 = pmStack_1158;\n            pcVar18 = *(code **)(puStack_1170 + -0x62c8);\n            puVar19 = puVar19 + iVar3;\n          } while (((mbstate_t *)amStack_1118[0].__count != pmStack_1120) ||\n                  (puVar19 = puVar20, iStack_1108 != iStack_112c));\n          puVar19 = puVar21;\n        } while (iStack_1104 != iStack_113c);\n        pmVar2 = pmVar11;\n        unaff_s3 = (mbstate_t *)((int)pmVar16 - (int)unaff_s1);\n        unaff_s5 = unaff_s6;\n        while (unaff_s3 <= pmVar5) {\n          unaff_s6 = (mbstate_t *)((int)unaff_s5 << 1);\n          pmStack_1120 = pmVar2;\n          if (pmVar12 == pmVar14) {\n            unaff_s1 = (mbstate_t *)(**(code **)(puStack_1170 + -0x6158))(unaff_s6);\n            if (unaff_s1 == (mbstate_t *)0x0) {\n              pcVar9 = (char *)0x0;\n              pmStack_44 = pmVar10;\n              if ((pmStack_1134 == pmStack_1148) ||\n                 (pmVar12 = pmStack_1158, puVar28 = puVar24, pmStack_1134 == (mbstate_t *)0x0))\n              goto LAB_000dfb60;\n              goto LAB_000dfb18;\n            }\n          }\n          else {\n            pmVar10 = unaff_s6;\n            unaff_s1 = (mbstate_t *)(**(code **)(puStack_1170 + -0x614c))(pmVar12,unaff_s6);\n            if (unaff_s1 == (mbstate_t *)0x0) {\n              pcVar18 = *(code **)(puStack_1170 + -0x6044);\n              puVar28 = puVar22;\n              if (pmStack_1134 == pmStack_1148) goto LAB_000dfcc0;\n              pcVar18 = *(code **)(puStack_1170 + -0x6204);\n              if (pmStack_1134 != (mbstate_t *)0x0) goto LAB_000dfb1c;\n              pcVar18 = *(code **)(puStack_1170 + -0x6044);\n              puVar28 = puVar23;\n              goto LAB_000dfcc0;\n            }\n            pmVar16 = (mbstate_t *)((int)&unaff_s3->__count + (int)&unaff_s1->__count);\n          }\n          pmVar11 = (mbstate_t *)((int)&unaff_s3->__count + (int)&unaff_s5->__count);\n          in_a2 = (mbstate_t *)((int)unaff_s5 - (int)unaff_s3);\n          pmVar15 = (mbstate_t *)((int)&pmVar11->__count + (int)&unaff_s1->__count);\n          (**(code **)(puStack_1170 + -0x605c))(pmVar15);\n          pmVar2 = pmStack_1120;\n          pmVar13 = pmVar14;\n          unaff_s3 = pmVar11;\n          pmVar10 = pmVar16;\n          pmVar12 = unaff_s1;\n          unaff_s5 = unaff_s6;\n          pmVar16 = pmVar15;\n        }\n        iVar3 = (**(code **)(puStack_1170 + -0x605c))((int)pmVar16 - (int)pmVar5);\n        pmVar16 = (mbstate_t *)(iVar3 - 1);\n        pcVar18 = *(code **)(puStack_1170 + -0x6338);\n        *(undefined1 *)(iVar3 + -1) = 0x2f;\n        (*pcVar18)(iStack_111c);\n        iStack_112c = iStack_1150;\n        pmStack_1120 = pmStack_1130;\n        in_a2 = pmVar5;\n        unaff_s1 = pmVar12;\n        pmVar14 = pmVar13;\n        unaff_s6 = unaff_s5;\n        puVar28 = puVar25;\n        iStack_113c = iStack_1154;\n      }\n      if (pmVar16 == pmStack_1168) {\n        pmVar16 = (mbstate_t *)auStack_79;\n        auStack_79[0] = 0x2f;\n      }\n      pmVar10 = pmVar2;\n      if (pmStack_1134 != pmStack_1148) {\n        (**(code **)(puStack_1170 + -0x6044))();\n        pmVar10 = pmVar2;\n      }\n      pmVar11 = (mbstate_t *)((int)unaff_s6 + ((int)unaff_s1 - (int)pmVar16));\n      if (pcStack_115c == (char *)0x0) {\n        if (pmStack_44 == (mbstate_t *)0x0) {\n          pcVar18 = *(code **)(puStack_1170 + -0x6158);\n          pmStack_44 = pmVar11;\n        }\n        else {\n          pcVar18 = *(code **)(puStack_1170 + -0x6158);\n          if (pmStack_44 < pmVar11) goto LAB_000dfda0;\n        }\n        pcVar9 = (char *)(*pcVar18)(pmStack_44);\n        if (pcVar9 != (char *)0x0) goto LAB_000dfc70;\n      }\n      else {\n        pcVar9 = pcStack_115c;\n        if (pmVar11 <= pmStack_44) {\nLAB_000dfc70:\n          in_a2 = pmVar11;\n          (**(code **)(puStack_1170 + -0x605c))(pcVar9,pmVar16);\n          pmStack_44 = pmVar16;\n          if (unaff_s1 != pmStack_1158) {\n            (**(code **)(puStack_1170 + -0x6044))(unaff_s1);\n            pmStack_44 = pmVar16;\n          }\n          goto LAB_000dfb60;\n        }\nLAB_000dfda0:\n        puVar7 = (undefined4 *)(**(code **)(puStack_1170 + -0x6204))();\n        *puVar7 = 0x22;\n      }\nLAB_000dfb48:\n      pcVar9 = (char *)0x0;\n      pmStack_44 = pmVar10;\n      if (unaff_s1 == pmStack_1158) goto LAB_000dfb60;\n      pcVar18 = *(code **)(puStack_1170 + -0x6044);\n      pmVar12 = unaff_s1;\n      if (unaff_s1 != (mbstate_t *)0x0) {\nLAB_000dfcc0:\n        (*pcVar18)(pmVar12);\n        unaff_s1 = pmVar12;\n      }\n    }\n  }\n  pcVar9 = (char *)0x0;\n  pmStack_44 = pmVar10;\nLAB_000dfb60:\n  pcVar18 = *(code **)(puStack_1170 + -0x60b8);\n  if (iStack_74 == *piStack_1144) {\n    return pcVar9;\n  }\n  pcVar29 = zwrite;\n  iVar3 = iStack_74;\n  (*pcVar18)();\n  pcVar18 = pcVar18 + 0x6c740;\n  *(mbstate_t **)(puVar28 + -0x10) = pmVar14;\n  *(mbstate_t **)(puVar28 + -0x14) = unaff_s3;\n  iVar6 = 0;\n  *(mbstate_t **)(puVar28 + -8) = unaff_s6;\n  *(mbstate_t **)(puVar28 + -0xc) = unaff_s5;\n  *(char **)(puVar28 + -0x18) = pcVar9;\n  *(mbstate_t **)(puVar28 + -0x1c) = unaff_s1;\n  *(mbstate_t **)(puVar28 + -0x20) = pmVar11;\n  *(code **)(puVar28 + -0x28) = pcVar18;\n  *(code **)(puVar28 + -4) = pcVar29;\n  pmVar11 = in_a2;\n  do {\n    while( true ) {\n      while( true ) {\n        iVar8 = (**(code **)(pcVar18 + -0x61c0))(iVar3,pmStack_44,pmVar11);\n        pcVar18 = *(code **)(puVar28 + -0x28);\n        if (iVar8 < 1) break;\n        pmVar11 = (mbstate_t *)((int)pmVar11 - iVar8);\n        pmStack_44 = (mbstate_t *)((int)&pmStack_44->__count + iVar8);\n        if ((int)pmVar11 < 1) {\n          return (char *)in_a2;\n        }\n      }\n      if (iVar8 != 0) break;\n      iVar6 = iVar6 + 1;\n      if (3 < iVar6) {\n        return (char *)((int)in_a2 - (int)pmVar11);\n      }\n    }\n    piVar4 = (int *)(**(code **)(pcVar18 + -0x6204))();\n    pcVar18 = *(code **)(puVar28 + -0x28);\n  } while (*piVar4 == 4);\n  return (char *)0xffffffff;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "mbstate_t *pmVar2;" type_identifier (pointer_declarator "*pmVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "mbstate_t *pmVar5;" type_identifier (pointer_declarator "*pmVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "undefined4 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "char *pcVar9;" primitive_type (pointer_declarator "*pcVar9" * identifier) ;) (declaration "mbstate_t *pmVar10;" type_identifier (pointer_declarator "*pmVar10" * identifier) ;) (declaration "mbstate_t *in_a2;" type_identifier (pointer_declarator "*in_a2" * identifier) ;) (declaration "mbstate_t *pmVar11;" type_identifier (pointer_declarator "*pmVar11" * identifier) ;) (declaration "mbstate_t *unaff_s1;" type_identifier (pointer_declarator "*unaff_s1" * identifier) ;) (declaration "mbstate_t *pmVar12;" type_identifier (pointer_declarator "*pmVar12" * identifier) ;) (declaration "mbstate_t *unaff_s3;" type_identifier (pointer_declarator "*unaff_s3" * identifier) ;) (declaration "mbstate_t *pmVar13;" type_identifier (pointer_declarator "*pmVar13" * identifier) ;) (declaration "mbstate_t *pmVar14;" type_identifier (pointer_declarator "*pmVar14" * identifier) ;) (declaration "mbstate_t *unaff_s5;" type_identifier (pointer_declarator "*unaff_s5" * identifier) ;) (declaration "mbstate_t *unaff_s6;" type_identifier (pointer_declarator "*unaff_s6" * identifier) ;) (declaration "mbstate_t *pmVar15;" type_identifier (pointer_declarator "*pmVar15" * identifier) ;) (declaration "mbstate_t *pmVar16;" type_identifier (pointer_declarator "*pmVar16" * identifier) ;) (declaration "undefined *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "code *pcVar18;" type_identifier (pointer_declarator "*pcVar18" * identifier) ;) (declaration "undefined1 *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "undefined1 *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "undefined1 *puVar26;" type_identifier (pointer_declarator "*puVar26" * identifier) ;) (declaration "undefined1 *puVar27;" type_identifier (pointer_declarator "*puVar27" * identifier) ;) (declaration "undefined1 *puVar28;" type_identifier (pointer_declarator "*puVar28" * identifier) ;) (declaration "code *pcVar29;" type_identifier (pointer_declarator "*pcVar29" * identifier) ;) (declaration "undefined1 auStack_1180 [16];" type_identifier (array_declarator "auStack_1180 [16]" identifier [ number_literal ]) ;) (declaration "undefined *puStack_1170;" type_identifier (pointer_declarator "*puStack_1170" * identifier) ;) (declaration "mbstate_t *pmStack_1168;" type_identifier (pointer_declarator "*pmStack_1168" * identifier) ;) (declaration "int iStack_1164;" primitive_type identifier ;) (declaration "int iStack_1160;" primitive_type identifier ;) (declaration "char *pcStack_115c;" primitive_type (pointer_declarator "*pcStack_115c" * identifier) ;) (declaration "mbstate_t *pmStack_1158;" type_identifier (pointer_declarator "*pmStack_1158" * identifier) ;) (declaration "int iStack_1154;" primitive_type identifier ;) (declaration "int iStack_1150;" primitive_type identifier ;) (declaration "mbstate_t *pmStack_114c;" type_identifier (pointer_declarator "*pmStack_114c" * identifier) ;) (declaration "mbstate_t *pmStack_1148;" type_identifier (pointer_declarator "*pmStack_1148" * identifier) ;) (declaration "int *piStack_1144;" primitive_type (pointer_declarator "*piStack_1144" * identifier) ;) (declaration "mbstate_t *pmStack_1140;" type_identifier (pointer_declarator "*pmStack_1140" * identifier) ;) (declaration "int iStack_113c;" primitive_type identifier ;) (declaration "int iStack_1138;" primitive_type identifier ;) (declaration "mbstate_t *pmStack_1134;" type_identifier (pointer_declarator "*pmStack_1134" * identifier) ;) (declaration "mbstate_t *pmStack_1130;" type_identifier (pointer_declarator "*pmStack_1130" * identifier) ;) (declaration "int iStack_112c;" primitive_type identifier ;) (declaration "mbstate_t *pmStack_1128;" type_identifier (pointer_declarator "*pmStack_1128" * identifier) ;) (declaration "mbstate_t *pmStack_1124;" type_identifier (pointer_declarator "*pmStack_1124" * identifier) ;) (declaration "mbstate_t *pmStack_1120;" type_identifier (pointer_declarator "*pmStack_1120" * identifier) ;) (declaration "int iStack_111c;" primitive_type identifier ;) (declaration "mbstate_t amStack_1118 [2];" type_identifier (array_declarator "amStack_1118 [2]" identifier [ number_literal ]) ;) (declaration "int iStack_1108;" primitive_type identifier ;) (declaration "int iStack_1104;" primitive_type identifier ;) (declaration "mbstate_t amStack_1078 [511];" type_identifier (array_declarator "amStack_1078 [511]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_79 [5];" type_identifier (array_declarator "auStack_79 [5]" identifier [ number_literal ]) ;) (declaration "int iStack_74;" primitive_type identifier ;) (declaration "mbstate_t *pmStack_70;" type_identifier (pointer_declarator "*pmStack_70" * identifier) ;) (declaration "mbstate_t *pmStack_6c;" type_identifier (pointer_declarator "*pmStack_6c" * identifier) ;) (declaration "int iStack_68;" primitive_type identifier ;) (declaration "mbstate_t *pmStack_64;" type_identifier (pointer_declarator "*pmStack_64" * identifier) ;) (declaration "undefined *puStack_60;" type_identifier (pointer_declarator "*puStack_60" * identifier) ;) (declaration "mbstate_t *pmStack_5c;" type_identifier (pointer_declarator "*pmStack_5c" * identifier) ;) (declaration "mbstate_t *pmStack_44;" type_identifier (pointer_declarator "*pmStack_44" * identifier) ;) (declaration "mbstate_t state;" type_identifier identifier ;) (declaration "undefined1 *puVar21;" type_identifier (pointer_declarator "*puVar21" * identifier) ;) (declaration "undefined1 *puVar22;" type_identifier (pointer_declarator "*puVar22" * identifier) ;) (declaration "undefined1 *puVar23;" type_identifier (pointer_declarator "*puVar23" * identifier) ;) (declaration "undefined1 *puVar24;" type_identifier (pointer_declarator "*puVar24" * identifier) ;) (declaration "undefined1 *puVar25;" type_identifier (pointer_declarator "*puVar25" * identifier) ;) (expression_statement "pmVar14 = (mbstate_t *)PTR___stack_chk_guard_001464dc;" (assignment_expression "pmVar14 = (mbstate_t *)PTR___stack_chk_guard_001464dc" identifier = (cast_expression "(mbstate_t *)PTR___stack_chk_guard_001464dc" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pmVar10 = (mbstate_t *)PTR_is_basic_table_00144b04;" (assignment_expression "pmVar10 = (mbstate_t *)PTR_is_basic_table_00144b04" identifier = (cast_expression "(mbstate_t *)PTR_is_basic_table_00144b04" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pcVar9 = *(char **)PTR___stack_chk_guard_001464dc;" (assignment_expression "pcVar9 = *(char **)PTR___stack_chk_guard_001464dc" identifier = (pointer_expression "*(char **)PTR___stack_chk_guard_001464dc" * (cast_expression "(char **)PTR___stack_chk_guard_001464dc" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "pmStack_44 = (mbstate_t *)c;" (assignment_expression "pmStack_44 = (mbstate_t *)c" identifier = (cast_expression "(mbstate_t *)c" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pmVar11 = (mbstate_t *)s;" (assignment_expression "pmVar11 = (mbstate_t *)s" identifier = (cast_expression "(mbstate_t *)s" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if ((*(int *)PTR_locale_utf8locale_00144afc == 0) || (0x7f < c)) {\n    if ((0x2f < (c & 0xffU)) && (unaff_s5 = &state, 1 < *(int *)PTR_locale_mb_cur_max_00144b00)) {\n      state.__count = 0;\n      state.__value.__wch = 0;\n      unaff_s1 = (mbstate_t *)(*(code *)PTR_strlen_00146390)(s);\n      pmVar2 = (mbstate_t *)s;\n      if (unaff_s1 == (mbstate_t *)0x0) {\n        pmVar2 = (mbstate_t *)0x0;\n      }\n      else {\n        do {\n          bVar1 = *(byte *)&pmVar2->__count;\n          pmVar11 = pmVar2;\n          if ((*(uint *)((int)pmVar10 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n            pmStack_44 = pmVar2;\n            in_a2 = unaff_s1;\n            iVar3 = (*(code *)PTR_mbrtowc_00146408)(0,pmVar2,unaff_s1,unaff_s5);\n            if (0xfffffffb < iVar3 - 2U) {\n              if ((uint)*(byte *)&pmVar2->__count != c) goto LAB_000df640;\n              goto LAB_000df6f8;\n            }\n          }\n          else {\n            if ((uint)bVar1 == c) goto LAB_000df6f8;\nLAB_000df640:\n            iVar3 = 1;\n          }\n          unaff_s1 = (mbstate_t *)((int)unaff_s1 - iVar3);\n          pmVar11 = (mbstate_t *)((int)&pmVar2->__count + iVar3);\n          pmVar2 = pmVar11;\n        } while (unaff_s1 != (mbstate_t *)0x0);\n        pmVar2 = (mbstate_t *)0x0;\n      }\n      goto LAB_000df6f8;\n    }\n    if (pcVar9 == *(char **)PTR___stack_chk_guard_001464dc) {\n                    /* WARNING: Could not recover jumptable at 0x000df6e0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      pcVar9 = (char *)(*(code *)PTR_strchr_00146398)(s,c);\n      return pcVar9;\n    }\n  }\n  else {\n    pmVar2 = (mbstate_t *)utf8_mbschr(s,c);\n    pmVar10 = unaff_s3;\nLAB_000df6f8:\n    s = pcVar9;\n    unaff_s3 = pmVar10;\n    if (pcVar9 == *(char **)pmVar14) {\n      return (char *)pmVar2;\n    }\n  }" if (parenthesized_expression "((*(int *)PTR_locale_utf8locale_00144afc == 0) || (0x7f < c))" ( (binary_expression "(*(int *)PTR_locale_utf8locale_00144afc == 0) || (0x7f < c)" (parenthesized_expression "(*(int *)PTR_locale_utf8locale_00144afc == 0)" ( (binary_expression "*(int *)PTR_locale_utf8locale_00144afc == 0" (pointer_expression "*(int *)PTR_locale_utf8locale_00144afc" * (cast_expression "(int *)PTR_locale_utf8locale_00144afc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal) )) || (parenthesized_expression "(0x7f < c)" ( (binary_expression "0x7f < c" number_literal < identifier) ))) )) (compound_statement "{\n    if ((0x2f < (c & 0xffU)) && (unaff_s5 = &state, 1 < *(int *)PTR_locale_mb_cur_max_00144b00)) {\n      state.__count = 0;\n      state.__value.__wch = 0;\n      unaff_s1 = (mbstate_t *)(*(code *)PTR_strlen_00146390)(s);\n      pmVar2 = (mbstate_t *)s;\n      if (unaff_s1 == (mbstate_t *)0x0) {\n        pmVar2 = (mbstate_t *)0x0;\n      }\n      else {\n        do {\n          bVar1 = *(byte *)&pmVar2->__count;\n          pmVar11 = pmVar2;\n          if ((*(uint *)((int)pmVar10 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n            pmStack_44 = pmVar2;\n            in_a2 = unaff_s1;\n            iVar3 = (*(code *)PTR_mbrtowc_00146408)(0,pmVar2,unaff_s1,unaff_s5);\n            if (0xfffffffb < iVar3 - 2U) {\n              if ((uint)*(byte *)&pmVar2->__count != c) goto LAB_000df640;\n              goto LAB_000df6f8;\n            }\n          }\n          else {\n            if ((uint)bVar1 == c) goto LAB_000df6f8;\nLAB_000df640:\n            iVar3 = 1;\n          }\n          unaff_s1 = (mbstate_t *)((int)unaff_s1 - iVar3);\n          pmVar11 = (mbstate_t *)((int)&pmVar2->__count + iVar3);\n          pmVar2 = pmVar11;\n        } while (unaff_s1 != (mbstate_t *)0x0);\n        pmVar2 = (mbstate_t *)0x0;\n      }\n      goto LAB_000df6f8;\n    }\n    if (pcVar9 == *(char **)PTR___stack_chk_guard_001464dc) {\n                    /* WARNING: Could not recover jumptable at 0x000df6e0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      pcVar9 = (char *)(*(code *)PTR_strchr_00146398)(s,c);\n      return pcVar9;\n    }\n  }" { (if_statement "if ((0x2f < (c & 0xffU)) && (unaff_s5 = &state, 1 < *(int *)PTR_locale_mb_cur_max_00144b00)) {\n      state.__count = 0;\n      state.__value.__wch = 0;\n      unaff_s1 = (mbstate_t *)(*(code *)PTR_strlen_00146390)(s);\n      pmVar2 = (mbstate_t *)s;\n      if (unaff_s1 == (mbstate_t *)0x0) {\n        pmVar2 = (mbstate_t *)0x0;\n      }\n      else {\n        do {\n          bVar1 = *(byte *)&pmVar2->__count;\n          pmVar11 = pmVar2;\n          if ((*(uint *)((int)pmVar10 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n            pmStack_44 = pmVar2;\n            in_a2 = unaff_s1;\n            iVar3 = (*(code *)PTR_mbrtowc_00146408)(0,pmVar2,unaff_s1,unaff_s5);\n            if (0xfffffffb < iVar3 - 2U) {\n              if ((uint)*(byte *)&pmVar2->__count != c) goto LAB_000df640;\n              goto LAB_000df6f8;\n            }\n          }\n          else {\n            if ((uint)bVar1 == c) goto LAB_000df6f8;\nLAB_000df640:\n            iVar3 = 1;\n          }\n          unaff_s1 = (mbstate_t *)((int)unaff_s1 - iVar3);\n          pmVar11 = (mbstate_t *)((int)&pmVar2->__count + iVar3);\n          pmVar2 = pmVar11;\n        } while (unaff_s1 != (mbstate_t *)0x0);\n        pmVar2 = (mbstate_t *)0x0;\n      }\n      goto LAB_000df6f8;\n    }" if (parenthesized_expression "((0x2f < (c & 0xffU)) && (unaff_s5 = &state, 1 < *(int *)PTR_locale_mb_cur_max_00144b00))" ( (binary_expression "(0x2f < (c & 0xffU)) && (unaff_s5 = &state, 1 < *(int *)PTR_locale_mb_cur_max_00144b00)" (parenthesized_expression "(0x2f < (c & 0xffU))" ( (binary_expression "0x2f < (c & 0xffU)" number_literal < (parenthesized_expression "(c & 0xffU)" ( (binary_expression "c & 0xffU" identifier & number_literal) ))) )) && (parenthesized_expression "(unaff_s5 = &state, 1 < *(int *)PTR_locale_mb_cur_max_00144b00)" ( (comma_expression "unaff_s5 = &state, 1 < *(int *)PTR_locale_mb_cur_max_00144b00" (assignment_expression "unaff_s5 = &state" identifier = (pointer_expression "&state" & identifier)) , (binary_expression "1 < *(int *)PTR_locale_mb_cur_max_00144b00" number_literal < (pointer_expression "*(int *)PTR_locale_mb_cur_max_00144b00" * (cast_expression "(int *)PTR_locale_mb_cur_max_00144b00" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)))) ))) )) (compound_statement "{\n      state.__count = 0;\n      state.__value.__wch = 0;\n      unaff_s1 = (mbstate_t *)(*(code *)PTR_strlen_00146390)(s);\n      pmVar2 = (mbstate_t *)s;\n      if (unaff_s1 == (mbstate_t *)0x0) {\n        pmVar2 = (mbstate_t *)0x0;\n      }\n      else {\n        do {\n          bVar1 = *(byte *)&pmVar2->__count;\n          pmVar11 = pmVar2;\n          if ((*(uint *)((int)pmVar10 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n            pmStack_44 = pmVar2;\n            in_a2 = unaff_s1;\n            iVar3 = (*(code *)PTR_mbrtowc_00146408)(0,pmVar2,unaff_s1,unaff_s5);\n            if (0xfffffffb < iVar3 - 2U) {\n              if ((uint)*(byte *)&pmVar2->__count != c) goto LAB_000df640;\n              goto LAB_000df6f8;\n            }\n          }\n          else {\n            if ((uint)bVar1 == c) goto LAB_000df6f8;\nLAB_000df640:\n            iVar3 = 1;\n          }\n          unaff_s1 = (mbstate_t *)((int)unaff_s1 - iVar3);\n          pmVar11 = (mbstate_t *)((int)&pmVar2->__count + iVar3);\n          pmVar2 = pmVar11;\n        } while (unaff_s1 != (mbstate_t *)0x0);\n        pmVar2 = (mbstate_t *)0x0;\n      }\n      goto LAB_000df6f8;\n    }" { (expression_statement "state.__count = 0;" (assignment_expression "state.__count = 0" (field_expression "state.__count" identifier . field_identifier) = number_literal) ;) (expression_statement "state.__value.__wch = 0;" (assignment_expression "state.__value.__wch = 0" (field_expression "state.__value.__wch" (field_expression "state.__value" identifier . field_identifier) . field_identifier) = number_literal) ;) (expression_statement "unaff_s1 = (mbstate_t *)(*(code *)PTR_strlen_00146390)(s);" (assignment_expression "unaff_s1 = (mbstate_t *)(*(code *)PTR_strlen_00146390)(s)" identifier = (cast_expression "(mbstate_t *)(*(code *)PTR_strlen_00146390)(s)" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_strlen_00146390)(s)" (parenthesized_expression "(*(code *)PTR_strlen_00146390)" ( (pointer_expression "*(code *)PTR_strlen_00146390" * (cast_expression "(code *)PTR_strlen_00146390" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(s)" ( identifier ))))) ;) (expression_statement "pmVar2 = (mbstate_t *)s;" (assignment_expression "pmVar2 = (mbstate_t *)s" identifier = (cast_expression "(mbstate_t *)s" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (unaff_s1 == (mbstate_t *)0x0) {\n        pmVar2 = (mbstate_t *)0x0;\n      }\n      else {\n        do {\n          bVar1 = *(byte *)&pmVar2->__count;\n          pmVar11 = pmVar2;\n          if ((*(uint *)((int)pmVar10 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n            pmStack_44 = pmVar2;\n            in_a2 = unaff_s1;\n            iVar3 = (*(code *)PTR_mbrtowc_00146408)(0,pmVar2,unaff_s1,unaff_s5);\n            if (0xfffffffb < iVar3 - 2U) {\n              if ((uint)*(byte *)&pmVar2->__count != c) goto LAB_000df640;\n              goto LAB_000df6f8;\n            }\n          }\n          else {\n            if ((uint)bVar1 == c) goto LAB_000df6f8;\nLAB_000df640:\n            iVar3 = 1;\n          }\n          unaff_s1 = (mbstate_t *)((int)unaff_s1 - iVar3);\n          pmVar11 = (mbstate_t *)((int)&pmVar2->__count + iVar3);\n          pmVar2 = pmVar11;\n        } while (unaff_s1 != (mbstate_t *)0x0);\n        pmVar2 = (mbstate_t *)0x0;\n      }" if (parenthesized_expression "(unaff_s1 == (mbstate_t *)0x0)" ( (binary_expression "unaff_s1 == (mbstate_t *)0x0" identifier == (cast_expression "(mbstate_t *)0x0" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pmVar2 = (mbstate_t *)0x0;\n      }" { (expression_statement "pmVar2 = (mbstate_t *)0x0;" (assignment_expression "pmVar2 = (mbstate_t *)0x0" identifier = (cast_expression "(mbstate_t *)0x0" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n        do {\n          bVar1 = *(byte *)&pmVar2->__count;\n          pmVar11 = pmVar2;\n          if ((*(uint *)((int)pmVar10 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n            pmStack_44 = pmVar2;\n            in_a2 = unaff_s1;\n            iVar3 = (*(code *)PTR_mbrtowc_00146408)(0,pmVar2,unaff_s1,unaff_s5);\n            if (0xfffffffb < iVar3 - 2U) {\n              if ((uint)*(byte *)&pmVar2->__count != c) goto LAB_000df640;\n              goto LAB_000df6f8;\n            }\n          }\n          else {\n            if ((uint)bVar1 == c) goto LAB_000df6f8;\nLAB_000df640:\n            iVar3 = 1;\n          }\n          unaff_s1 = (mbstate_t *)((int)unaff_s1 - iVar3);\n          pmVar11 = (mbstate_t *)((int)&pmVar2->__count + iVar3);\n          pmVar2 = pmVar11;\n        } while (unaff_s1 != (mbstate_t *)0x0);\n        pmVar2 = (mbstate_t *)0x0;\n      }" else (compound_statement "{\n        do {\n          bVar1 = *(byte *)&pmVar2->__count;\n          pmVar11 = pmVar2;\n          if ((*(uint *)((int)pmVar10 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n            pmStack_44 = pmVar2;\n            in_a2 = unaff_s1;\n            iVar3 = (*(code *)PTR_mbrtowc_00146408)(0,pmVar2,unaff_s1,unaff_s5);\n            if (0xfffffffb < iVar3 - 2U) {\n              if ((uint)*(byte *)&pmVar2->__count != c) goto LAB_000df640;\n              goto LAB_000df6f8;\n            }\n          }\n          else {\n            if ((uint)bVar1 == c) goto LAB_000df6f8;\nLAB_000df640:\n            iVar3 = 1;\n          }\n          unaff_s1 = (mbstate_t *)((int)unaff_s1 - iVar3);\n          pmVar11 = (mbstate_t *)((int)&pmVar2->__count + iVar3);\n          pmVar2 = pmVar11;\n        } while (unaff_s1 != (mbstate_t *)0x0);\n        pmVar2 = (mbstate_t *)0x0;\n      }" { (do_statement "do {\n          bVar1 = *(byte *)&pmVar2->__count;\n          pmVar11 = pmVar2;\n          if ((*(uint *)((int)pmVar10 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n            pmStack_44 = pmVar2;\n            in_a2 = unaff_s1;\n            iVar3 = (*(code *)PTR_mbrtowc_00146408)(0,pmVar2,unaff_s1,unaff_s5);\n            if (0xfffffffb < iVar3 - 2U) {\n              if ((uint)*(byte *)&pmVar2->__count != c) goto LAB_000df640;\n              goto LAB_000df6f8;\n            }\n          }\n          else {\n            if ((uint)bVar1 == c) goto LAB_000df6f8;\nLAB_000df640:\n            iVar3 = 1;\n          }\n          unaff_s1 = (mbstate_t *)((int)unaff_s1 - iVar3);\n          pmVar11 = (mbstate_t *)((int)&pmVar2->__count + iVar3);\n          pmVar2 = pmVar11;\n        } while (unaff_s1 != (mbstate_t *)0x0);" do (compound_statement "{\n          bVar1 = *(byte *)&pmVar2->__count;\n          pmVar11 = pmVar2;\n          if ((*(uint *)((int)pmVar10 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n            pmStack_44 = pmVar2;\n            in_a2 = unaff_s1;\n            iVar3 = (*(code *)PTR_mbrtowc_00146408)(0,pmVar2,unaff_s1,unaff_s5);\n            if (0xfffffffb < iVar3 - 2U) {\n              if ((uint)*(byte *)&pmVar2->__count != c) goto LAB_000df640;\n              goto LAB_000df6f8;\n            }\n          }\n          else {\n            if ((uint)bVar1 == c) goto LAB_000df6f8;\nLAB_000df640:\n            iVar3 = 1;\n          }\n          unaff_s1 = (mbstate_t *)((int)unaff_s1 - iVar3);\n          pmVar11 = (mbstate_t *)((int)&pmVar2->__count + iVar3);\n          pmVar2 = pmVar11;\n        }" { (expression_statement "bVar1 = *(byte *)&pmVar2->__count;" (assignment_expression "bVar1 = *(byte *)&pmVar2->__count" identifier = (pointer_expression "*(byte *)&pmVar2->__count" * (cast_expression "(byte *)&pmVar2->__count" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pmVar2->__count" & (field_expression "pmVar2->__count" identifier -> field_identifier))))) ;) (expression_statement "pmVar11 = pmVar2;" (assignment_expression "pmVar11 = pmVar2" identifier = identifier) ;) (if_statement "if ((*(uint *)((int)pmVar10 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n            pmStack_44 = pmVar2;\n            in_a2 = unaff_s1;\n            iVar3 = (*(code *)PTR_mbrtowc_00146408)(0,pmVar2,unaff_s1,unaff_s5);\n            if (0xfffffffb < iVar3 - 2U) {\n              if ((uint)*(byte *)&pmVar2->__count != c) goto LAB_000df640;\n              goto LAB_000df6f8;\n            }\n          }\n          else {\n            if ((uint)bVar1 == c) goto LAB_000df6f8;\nLAB_000df640:\n            iVar3 = 1;\n          }" if (parenthesized_expression "((*(uint *)((int)pmVar10 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0)" ( (binary_expression "(*(uint *)((int)pmVar10 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0" (parenthesized_expression "(*(uint *)((int)pmVar10 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1)" ( (binary_expression "*(uint *)((int)pmVar10 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1" (binary_expression "*(uint *)((int)pmVar10 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f)" (pointer_expression "*(uint *)((int)pmVar10 + (uint)(bVar1 >> 5) * 4)" * (cast_expression "(uint *)((int)pmVar10 + (uint)(bVar1 >> 5) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pmVar10 + (uint)(bVar1 >> 5) * 4)" ( (binary_expression "(int)pmVar10 + (uint)(bVar1 >> 5) * 4" (cast_expression "(int)pmVar10" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)(bVar1 >> 5) * 4" (call_expression "(uint)(bVar1 >> 5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(bVar1 >> 5)" ( (binary_expression "bVar1 >> 5" identifier >> number_literal) ))) * number_literal)) )))) >> (parenthesized_expression "(bVar1 & 0x1f)" ( (binary_expression "bVar1 & 0x1f" identifier & number_literal) ))) & number_literal) )) == number_literal) )) (compound_statement "{\n            pmStack_44 = pmVar2;\n            in_a2 = unaff_s1;\n            iVar3 = (*(code *)PTR_mbrtowc_00146408)(0,pmVar2,unaff_s1,unaff_s5);\n            if (0xfffffffb < iVar3 - 2U) {\n              if ((uint)*(byte *)&pmVar2->__count != c) goto LAB_000df640;\n              goto LAB_000df6f8;\n            }\n          }" { (expression_statement "pmStack_44 = pmVar2;" (assignment_expression "pmStack_44 = pmVar2" identifier = identifier) ;) (expression_statement "in_a2 = unaff_s1;" (assignment_expression "in_a2 = unaff_s1" identifier = identifier) ;) (expression_statement "iVar3 = (*(code *)PTR_mbrtowc_00146408)(0,pmVar2,unaff_s1,unaff_s5);" (assignment_expression "iVar3 = (*(code *)PTR_mbrtowc_00146408)(0,pmVar2,unaff_s1,unaff_s5)" identifier = (call_expression "(*(code *)PTR_mbrtowc_00146408)(0,pmVar2,unaff_s1,unaff_s5)" (parenthesized_expression "(*(code *)PTR_mbrtowc_00146408)" ( (pointer_expression "*(code *)PTR_mbrtowc_00146408" * (cast_expression "(code *)PTR_mbrtowc_00146408" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,pmVar2,unaff_s1,unaff_s5)" ( number_literal , identifier , identifier , identifier )))) ;) (if_statement "if (0xfffffffb < iVar3 - 2U) {\n              if ((uint)*(byte *)&pmVar2->__count != c) goto LAB_000df640;\n              goto LAB_000df6f8;\n            }" if (parenthesized_expression "(0xfffffffb < iVar3 - 2U)" ( (binary_expression "0xfffffffb < iVar3 - 2U" number_literal < (binary_expression "iVar3 - 2U" identifier - number_literal)) )) (compound_statement "{\n              if ((uint)*(byte *)&pmVar2->__count != c) goto LAB_000df640;\n              goto LAB_000df6f8;\n            }" { (if_statement "if ((uint)*(byte *)&pmVar2->__count != c) goto LAB_000df640;" if (parenthesized_expression "((uint)*(byte *)&pmVar2->__count != c)" ( (binary_expression "(uint)*(byte *)&pmVar2->__count != c" (binary_expression "(uint)*(byte *)&pmVar2->__count" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)&pmVar2->__count" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pmVar2->__count" & (field_expression "pmVar2->__count" identifier -> field_identifier)))) != identifier) )) (goto_statement "goto LAB_000df640;" goto statement_identifier ;)) (goto_statement "goto LAB_000df6f8;" goto statement_identifier ;) })) }) (else_clause "else {\n            if ((uint)bVar1 == c) goto LAB_000df6f8;\nLAB_000df640:\n            iVar3 = 1;\n          }" else (compound_statement "{\n            if ((uint)bVar1 == c) goto LAB_000df6f8;\nLAB_000df640:\n            iVar3 = 1;\n          }" { (if_statement "if ((uint)bVar1 == c) goto LAB_000df6f8;" if (parenthesized_expression "((uint)bVar1 == c)" ( (binary_expression "(uint)bVar1 == c" (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier) == identifier) )) (goto_statement "goto LAB_000df6f8;" goto statement_identifier ;)) (labeled_statement "LAB_000df640:\n            iVar3 = 1;" statement_identifier : (expression_statement "iVar3 = 1;" (assignment_expression "iVar3 = 1" identifier = number_literal) ;)) }))) (expression_statement "unaff_s1 = (mbstate_t *)((int)unaff_s1 - iVar3);" (assignment_expression "unaff_s1 = (mbstate_t *)((int)unaff_s1 - iVar3)" identifier = (cast_expression "(mbstate_t *)((int)unaff_s1 - iVar3)" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s1 - iVar3)" ( (binary_expression "(int)unaff_s1 - iVar3" (cast_expression "(int)unaff_s1" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) )))) ;) (expression_statement "pmVar11 = (mbstate_t *)((int)&pmVar2->__count + iVar3);" (assignment_expression "pmVar11 = (mbstate_t *)((int)&pmVar2->__count + iVar3)" identifier = (cast_expression "(mbstate_t *)((int)&pmVar2->__count + iVar3)" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pmVar2->__count + iVar3)" ( (binary_expression "(int)&pmVar2->__count + iVar3" (cast_expression "(int)&pmVar2->__count" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pmVar2->__count" & (field_expression "pmVar2->__count" identifier -> field_identifier))) + identifier) )))) ;) (expression_statement "pmVar2 = pmVar11;" (assignment_expression "pmVar2 = pmVar11" identifier = identifier) ;) }) while (parenthesized_expression "(unaff_s1 != (mbstate_t *)0x0)" ( (binary_expression "unaff_s1 != (mbstate_t *)0x0" identifier != (cast_expression "(mbstate_t *)0x0" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (expression_statement "pmVar2 = (mbstate_t *)0x0;" (assignment_expression "pmVar2 = (mbstate_t *)0x0" identifier = (cast_expression "(mbstate_t *)0x0" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (goto_statement "goto LAB_000df6f8;" goto statement_identifier ;) })) (if_statement "if (pcVar9 == *(char **)PTR___stack_chk_guard_001464dc) {\n                    /* WARNING: Could not recover jumptable at 0x000df6e0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      pcVar9 = (char *)(*(code *)PTR_strchr_00146398)(s,c);\n      return pcVar9;\n    }" if (parenthesized_expression "(pcVar9 == *(char **)PTR___stack_chk_guard_001464dc)" ( (binary_expression "pcVar9 == *(char **)PTR___stack_chk_guard_001464dc" identifier == (pointer_expression "*(char **)PTR___stack_chk_guard_001464dc" * (cast_expression "(char **)PTR___stack_chk_guard_001464dc" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n                    /* WARNING: Could not recover jumptable at 0x000df6e0. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n      pcVar9 = (char *)(*(code *)PTR_strchr_00146398)(s,c);\n      return pcVar9;\n    }" { comment comment (expression_statement "pcVar9 = (char *)(*(code *)PTR_strchr_00146398)(s,c);" (assignment_expression "pcVar9 = (char *)(*(code *)PTR_strchr_00146398)(s,c)" identifier = (cast_expression "(char *)(*(code *)PTR_strchr_00146398)(s,c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_strchr_00146398)(s,c)" (parenthesized_expression "(*(code *)PTR_strchr_00146398)" ( (pointer_expression "*(code *)PTR_strchr_00146398" * (cast_expression "(code *)PTR_strchr_00146398" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(s,c)" ( identifier , identifier ))))) ;) (return_statement "return pcVar9;" return identifier ;) })) }) (else_clause "else {\n    pmVar2 = (mbstate_t *)utf8_mbschr(s,c);\n    pmVar10 = unaff_s3;\nLAB_000df6f8:\n    s = pcVar9;\n    unaff_s3 = pmVar10;\n    if (pcVar9 == *(char **)pmVar14) {\n      return (char *)pmVar2;\n    }\n  }" else (compound_statement "{\n    pmVar2 = (mbstate_t *)utf8_mbschr(s,c);\n    pmVar10 = unaff_s3;\nLAB_000df6f8:\n    s = pcVar9;\n    unaff_s3 = pmVar10;\n    if (pcVar9 == *(char **)pmVar14) {\n      return (char *)pmVar2;\n    }\n  }" { (expression_statement "pmVar2 = (mbstate_t *)utf8_mbschr(s,c);" (assignment_expression "pmVar2 = (mbstate_t *)utf8_mbschr(s,c)" identifier = (cast_expression "(mbstate_t *)utf8_mbschr(s,c)" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "utf8_mbschr(s,c)" identifier (argument_list "(s,c)" ( identifier , identifier ))))) ;) (expression_statement "pmVar10 = unaff_s3;" (assignment_expression "pmVar10 = unaff_s3" identifier = identifier) ;) (labeled_statement "LAB_000df6f8:\n    s = pcVar9;" statement_identifier : (expression_statement "s = pcVar9;" (assignment_expression "s = pcVar9" identifier = identifier) ;)) (expression_statement "unaff_s3 = pmVar10;" (assignment_expression "unaff_s3 = pmVar10" identifier = identifier) ;) (if_statement "if (pcVar9 == *(char **)pmVar14) {\n      return (char *)pmVar2;\n    }" if (parenthesized_expression "(pcVar9 == *(char **)pmVar14)" ( (binary_expression "pcVar9 == *(char **)pmVar14" identifier == (pointer_expression "*(char **)pmVar14" * (cast_expression "(char **)pmVar14" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n      return (char *)pmVar2;\n    }" { (return_statement "return (char *)pmVar2;" return (cast_expression "(char *)pmVar2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) ;) })) }))) (expression_statement "puVar17 = PTR___stack_chk_fail_00146488;" (assignment_expression "puVar17 = PTR___stack_chk_fail_00146488" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_00146488)();" (call_expression "(*(code *)PTR___stack_chk_fail_00146488)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00146488)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_00146488" * (cast_expression "(code *)PTR___stack_chk_fail_00146488" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "puStack_1170 = puVar17 + 0x6ce00;" (assignment_expression "puStack_1170 = puVar17 + 0x6ce00" identifier = (binary_expression "puVar17 + 0x6ce00" identifier + number_literal)) ;) (expression_statement "puVar28 = auStack_1180;" (assignment_expression "puVar28 = auStack_1180" identifier = identifier) ;) (expression_statement "piStack_1144 = *(int **)(puVar17 + 0x66d9c);" (assignment_expression "piStack_1144 = *(int **)(puVar17 + 0x66d9c)" identifier = (pointer_expression "*(int **)(puVar17 + 0x66d9c)" * (cast_expression "(int **)(puVar17 + 0x66d9c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 0x66d9c)" ( (binary_expression "puVar17 + 0x66d9c" identifier + number_literal) ))))) ;) (expression_statement "puStack_60 = (undefined *)pmVar14;" (assignment_expression "puStack_60 = (undefined *)pmVar14" identifier = (cast_expression "(undefined *)pmVar14" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "iStack_74 = *piStack_1144;" (assignment_expression "iStack_74 = *piStack_1144" identifier = (pointer_expression "*piStack_1144" * identifier)) ;) (expression_statement "pcStack_115c = s;" (assignment_expression "pcStack_115c = s" identifier = identifier) ;) (expression_statement "pmStack_70 = pmVar11;" (assignment_expression "pmStack_70 = pmVar11" identifier = identifier) ;) (expression_statement "pmStack_6c = unaff_s1;" (assignment_expression "pmStack_6c = unaff_s1" identifier = identifier) ;) (expression_statement "iStack_68 = c;" (assignment_expression "iStack_68 = c" identifier = identifier) ;) (expression_statement "pmStack_64 = unaff_s3;" (assignment_expression "pmStack_64 = unaff_s3" identifier = identifier) ;) (expression_statement "pmStack_5c = unaff_s5;" (assignment_expression "pmStack_5c = unaff_s5" identifier = identifier) ;) (if_statement "if ((s != (char *)0x0) && (pmStack_44 == (mbstate_t *)0x0)) {\n    pcVar9 = (char *)0x0;\n    puVar7 = (undefined4 *)(**(code **)(puVar17 + 0x66bfc))();\n    *puVar7 = 0x16;\n    goto LAB_000dfb60;\n  }" if (parenthesized_expression "((s != (char *)0x0) && (pmStack_44 == (mbstate_t *)0x0))" ( (binary_expression "(s != (char *)0x0) && (pmStack_44 == (mbstate_t *)0x0)" (parenthesized_expression "(s != (char *)0x0)" ( (binary_expression "s != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(pmStack_44 == (mbstate_t *)0x0)" ( (binary_expression "pmStack_44 == (mbstate_t *)0x0" identifier == (cast_expression "(mbstate_t *)0x0" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n    pcVar9 = (char *)0x0;\n    puVar7 = (undefined4 *)(**(code **)(puVar17 + 0x66bfc))();\n    *puVar7 = 0x16;\n    goto LAB_000dfb60;\n  }" { (expression_statement "pcVar9 = (char *)0x0;" (assignment_expression "pcVar9 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar7 = (undefined4 *)(**(code **)(puVar17 + 0x66bfc))();" (assignment_expression "puVar7 = (undefined4 *)(**(code **)(puVar17 + 0x66bfc))()" identifier = (cast_expression "(undefined4 *)(**(code **)(puVar17 + 0x66bfc))()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar17 + 0x66bfc))()" (parenthesized_expression "(**(code **)(puVar17 + 0x66bfc))" ( (pointer_expression "**(code **)(puVar17 + 0x66bfc)" * (pointer_expression "*(code **)(puVar17 + 0x66bfc)" * (cast_expression "(code **)(puVar17 + 0x66bfc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 0x66bfc)" ( (binary_expression "puVar17 + 0x66bfc" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "*puVar7 = 0x16;" (assignment_expression "*puVar7 = 0x16" (pointer_expression "*puVar7" * identifier) = number_literal) ;) (goto_statement "goto LAB_000dfb60;" goto statement_identifier ;) })) (expression_statement "in_a2 = amStack_1118;" (assignment_expression "in_a2 = amStack_1118" identifier = identifier) ;) (expression_statement "pmVar10 = (mbstate_t *)(*(int *)(puVar17 + 0x64e6c) - 0x7e78);" (assignment_expression "pmVar10 = (mbstate_t *)(*(int *)(puVar17 + 0x64e6c) - 0x7e78)" identifier = (cast_expression "(mbstate_t *)(*(int *)(puVar17 + 0x64e6c) - 0x7e78)" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar17 + 0x64e6c) - 0x7e78)" ( (binary_expression "*(int *)(puVar17 + 0x64e6c) - 0x7e78" (pointer_expression "*(int *)(puVar17 + 0x64e6c)" * (cast_expression "(int *)(puVar17 + 0x64e6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + 0x64e6c)" ( (binary_expression "puVar17 + 0x64e6c" identifier + number_literal) )))) - number_literal) )))) ;) (expression_statement "auStack_79[1] = 0;" (assignment_expression "auStack_79[1] = 0" (subscript_expression "auStack_79[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pmStack_1128 = in_a2;" (assignment_expression "pmStack_1128 = in_a2" identifier = identifier) ;) (expression_statement "iVar3 = (**(code **)(puVar17 + 0x66af4))(3,pmVar10);" (assignment_expression "iVar3 = (**(code **)(puVar17 + 0x66af4))(3,pmVar10)" identifier = (call_expression "(**(code **)(puVar17 + 0x66af4))(3,pmVar10)" (parenthesized_expression "(**(code **)(puVar17 + 0x66af4))" ( (pointer_expression "**(code **)(puVar17 + 0x66af4)" * (pointer_expression "*(code **)(puVar17 + 0x66af4)" * (cast_expression "(code **)(puVar17 + 0x66af4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + 0x66af4)" ( (binary_expression "puVar17 + 0x66af4" identifier + number_literal) ))))) )) (argument_list "(3,pmVar10)" ( number_literal , identifier )))) ;) (expression_statement "puVar28 = auStack_1180;" (assignment_expression "puVar28 = auStack_1180" identifier = identifier) ;) (if_statement "if (-1 < iVar3) {\n    pmStack_1120 = (mbstate_t *)amStack_1118[0].__count;\n    pmVar2 = (mbstate_t *)(*(int *)(puStack_1170 + -0x7aac) - 0x7ee8);\n    iStack_112c = iStack_1108;\n    iStack_113c = iStack_1104;\n    in_a2 = pmStack_1128;\n    iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,pmVar2);\n    pmVar10 = pmVar2;\n    puVar28 = auStack_1180;\n    if (-1 < iVar3) {\n      pmStack_1158 = amStack_1078;\n      pmVar16 = (mbstate_t *)(auStack_79 + 1);\n      pmStack_114c = (mbstate_t *)amStack_1118[0].__count;\n      iStack_1160 = iStack_1108;\n      pmStack_1148 = (mbstate_t *)(*(int *)(puStack_1170 + -0x7f94) - 0x34d0);\n      iStack_1138 = 0;\n      iStack_1164 = iStack_1104;\n      pmStack_1140 = (mbstate_t *)0xe0;\n      pmStack_1124 = (mbstate_t *)(*(int *)(puStack_1170 + -0x7f94) - 0x33ef);\n      unaff_s1 = pmStack_1158;\n      unaff_s6 = (mbstate_t *)0x1001;\n      puVar28 = auStack_1180;\n      pmStack_1168 = pmVar16;\n      pmStack_1134 = pmStack_1148;\n      while (((pmStack_1120 != pmStack_114c || (iStack_112c != iStack_1160)) ||\n             (iStack_113c != iStack_1164))) {\n        pmVar13 = pmVar14;\n        pmVar12 = unaff_s1;\n        if (pmStack_1124 == pmStack_1134) {\n          pmVar11 = (mbstate_t *)((int)pmStack_1140 * 2);\n          pmVar10 = (mbstate_t *)((int)&pmVar11->__count + 1);\n          if (pmStack_1124 == pmStack_1148) {\n            pmVar2 = (mbstate_t *)(**(code **)(puStack_1170 + -0x6158))(pmVar10);\n            if (pmVar2 == (mbstate_t *)0x0) goto LAB_000dfb48;\n            (**(code **)(puStack_1170 + -0x605c))(pmVar2,pmStack_1148,pmStack_1140);\n          }\n          else {\n            pmVar2 = (mbstate_t *)(**(code **)(puStack_1170 + -0x614c))(pmStack_1134);\n            puVar26 = puVar28;\n            if (pmVar2 == (mbstate_t *)0x0) goto LAB_000dfb18;\n          }\n          pmVar13 = pmStack_1140;\n          unaff_s3 = (mbstate_t *)((int)&pmStack_1140->__count + (int)&pmVar2->__count);\n          pmStack_1124 = unaff_s3;\n          (**(code **)(puStack_1170 + -0x605c))(unaff_s3,pmVar2,pmStack_1140);\n          *(char *)((int)&pmVar13->__count + (int)&unaff_s3->__count) = '\0';\n          pmStack_1140 = pmVar11;\n          pmStack_1134 = pmVar2;\n        }\n        pmVar11 = (mbstate_t *)((int)&pmStack_1124[-1].__value + 1);\n        pmVar10 = pmVar11;\n        in_a2 = pmStack_1128;\n        pmStack_1124 = pmVar11;\n        iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,pmVar11);\n        pmVar14 = pmVar13;\n        puVar19 = puVar28;\n        if (iVar3 < 0) {\nLAB_000dfb00:\n          puVar28 = puVar19;\n          if ((pmStack_1134 != pmStack_1148) &&\n             (puVar26 = puVar19, pmStack_1134 != (mbstate_t *)0x0)) {\nLAB_000dfb18:\n            pcVar18 = *(code **)(puStack_1170 + -0x6204);\n            puVar27 = puVar26;\nLAB_000dfb1c:\n            pmVar11 = (mbstate_t *)(*pcVar18)();\n            iVar3 = pmVar11->__count;\n            (**(code **)(puStack_1170 + -0x6044))(pmStack_1134);\n            pmVar11->__count = iVar3;\n            unaff_s1 = pmVar12;\n            puVar28 = puVar27;\n          }\n          goto LAB_000dfb48;\n        }\n        pmStack_1130 = (mbstate_t *)amStack_1118[0].__count;\n        iStack_1150 = iStack_1108;\n        iStack_1154 = iStack_1104;\n        iStack_111c = (**(code **)(puStack_1170 + -0x633c))(pmVar11);\n        if (iStack_111c == 0) goto LAB_000dfb00;\n        unaff_s3 = (mbstate_t *)((int)pmStack_1140 + ((int)pmStack_1134 - (int)pmVar11));\n        unaff_s5 = (mbstate_t *)((int)&unaff_s3->__count + 1);\nLAB_000df8ec:\n        do {\n          pcVar18 = *(code **)(puStack_1170 + -0x62c8);\n          do {\n            do {\n              piVar4 = (int *)(*pcVar18)(iStack_111c);\n              while( true ) {\n                if (piVar4 == (int *)0x0) {\n                  pmVar11 = (mbstate_t *)(**(code **)(puStack_1170 + -0x6204))();\n                  iVar3 = iStack_1138;\n                  if (pmVar11->__count != 0) {\n                    iVar3 = pmVar11->__count;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  pmVar11->__count = iVar3;\n                  pmVar14 = pmVar13;\n                  goto LAB_000dfb00;\n                }\n                if (*(char *)((int)piVar4 + 0x13) != '.') break;\n                pmVar10 = (mbstate_t *)0xffff0000;\n                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;\n                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;\n                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);\n              }\n            } while ((pmStack_1120 == pmStack_1130) &&\n                    ((pcVar18 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c))));\n            pmVar11 = (mbstate_t *)((int)piVar4 + 0x13);\n            pmVar5 = (mbstate_t *)(**(code **)(puStack_1170 + -0x61b0))(pmVar11);\n            iVar3 = -((uint)((int)&pmVar5[1].__count + (int)&unaff_s5->__count) & 0xfffffff8);\n            puVar20 = puVar19 + iVar3;\n            puVar21 = puVar19 + iVar3;\n            puVar22 = puVar19 + iVar3;\n            puVar27 = puVar19 + iVar3;\n            puVar23 = puVar19 + iVar3;\n            puVar28 = puVar19 + iVar3;\n            puVar24 = puVar19 + iVar3;\n            puVar26 = puVar19 + iVar3;\n            puVar25 = puVar19 + iVar3;\n            pmVar13 = (mbstate_t *)(puVar19 + iVar3 + 0x10);\n            (**(code **)(puStack_1170 + -0x605c))(pmVar13,pmStack_1124,unaff_s3);\n            puVar17 = puStack_1170;\n            *(char *)((int)pmVar13 + (int)unaff_s3) = '/';\n            (**(code **)(puVar17 + -0x605c))\n                      ((char *)((int)&unaff_s5->__count + (int)&pmVar13->__count),pmVar11,\n                       (char *)((int)&pmVar5->__count + 1));\n            pmVar10 = pmVar13;\n            in_a2 = pmStack_1128;\n            iVar6 = (**(code **)(puStack_1170 + -0x632c))(3,pmVar13);\n            if (iVar6 < 0) {\n              piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))();\n              iStack_1138 = *piVar4;\n            }\n            pmVar14 = pmStack_1158;\n            pcVar18 = *(code **)(puStack_1170 + -0x62c8);\n            puVar19 = puVar19 + iVar3;\n          } while (((mbstate_t *)amStack_1118[0].__count != pmStack_1120) ||\n                  (puVar19 = puVar20, iStack_1108 != iStack_112c));\n          puVar19 = puVar21;\n        } while (iStack_1104 != iStack_113c);\n        pmVar2 = pmVar11;\n        unaff_s3 = (mbstate_t *)((int)pmVar16 - (int)unaff_s1);\n        unaff_s5 = unaff_s6;\n        while (unaff_s3 <= pmVar5) {\n          unaff_s6 = (mbstate_t *)((int)unaff_s5 << 1);\n          pmStack_1120 = pmVar2;\n          if (pmVar12 == pmVar14) {\n            unaff_s1 = (mbstate_t *)(**(code **)(puStack_1170 + -0x6158))(unaff_s6);\n            if (unaff_s1 == (mbstate_t *)0x0) {\n              pcVar9 = (char *)0x0;\n              pmStack_44 = pmVar10;\n              if ((pmStack_1134 == pmStack_1148) ||\n                 (pmVar12 = pmStack_1158, puVar28 = puVar24, pmStack_1134 == (mbstate_t *)0x0))\n              goto LAB_000dfb60;\n              goto LAB_000dfb18;\n            }\n          }\n          else {\n            pmVar10 = unaff_s6;\n            unaff_s1 = (mbstate_t *)(**(code **)(puStack_1170 + -0x614c))(pmVar12,unaff_s6);\n            if (unaff_s1 == (mbstate_t *)0x0) {\n              pcVar18 = *(code **)(puStack_1170 + -0x6044);\n              puVar28 = puVar22;\n              if (pmStack_1134 == pmStack_1148) goto LAB_000dfcc0;\n              pcVar18 = *(code **)(puStack_1170 + -0x6204);\n              if (pmStack_1134 != (mbstate_t *)0x0) goto LAB_000dfb1c;\n              pcVar18 = *(code **)(puStack_1170 + -0x6044);\n              puVar28 = puVar23;\n              goto LAB_000dfcc0;\n            }\n            pmVar16 = (mbstate_t *)((int)&unaff_s3->__count + (int)&unaff_s1->__count);\n          }\n          pmVar11 = (mbstate_t *)((int)&unaff_s3->__count + (int)&unaff_s5->__count);\n          in_a2 = (mbstate_t *)((int)unaff_s5 - (int)unaff_s3);\n          pmVar15 = (mbstate_t *)((int)&pmVar11->__count + (int)&unaff_s1->__count);\n          (**(code **)(puStack_1170 + -0x605c))(pmVar15);\n          pmVar2 = pmStack_1120;\n          pmVar13 = pmVar14;\n          unaff_s3 = pmVar11;\n          pmVar10 = pmVar16;\n          pmVar12 = unaff_s1;\n          unaff_s5 = unaff_s6;\n          pmVar16 = pmVar15;\n        }\n        iVar3 = (**(code **)(puStack_1170 + -0x605c))((int)pmVar16 - (int)pmVar5);\n        pmVar16 = (mbstate_t *)(iVar3 - 1);\n        pcVar18 = *(code **)(puStack_1170 + -0x6338);\n        *(undefined1 *)(iVar3 + -1) = 0x2f;\n        (*pcVar18)(iStack_111c);\n        iStack_112c = iStack_1150;\n        pmStack_1120 = pmStack_1130;\n        in_a2 = pmVar5;\n        unaff_s1 = pmVar12;\n        pmVar14 = pmVar13;\n        unaff_s6 = unaff_s5;\n        puVar28 = puVar25;\n        iStack_113c = iStack_1154;\n      }\n      if (pmVar16 == pmStack_1168) {\n        pmVar16 = (mbstate_t *)auStack_79;\n        auStack_79[0] = 0x2f;\n      }\n      pmVar10 = pmVar2;\n      if (pmStack_1134 != pmStack_1148) {\n        (**(code **)(puStack_1170 + -0x6044))();\n        pmVar10 = pmVar2;\n      }\n      pmVar11 = (mbstate_t *)((int)unaff_s6 + ((int)unaff_s1 - (int)pmVar16));\n      if (pcStack_115c == (char *)0x0) {\n        if (pmStack_44 == (mbstate_t *)0x0) {\n          pcVar18 = *(code **)(puStack_1170 + -0x6158);\n          pmStack_44 = pmVar11;\n        }\n        else {\n          pcVar18 = *(code **)(puStack_1170 + -0x6158);\n          if (pmStack_44 < pmVar11) goto LAB_000dfda0;\n        }\n        pcVar9 = (char *)(*pcVar18)(pmStack_44);\n        if (pcVar9 != (char *)0x0) goto LAB_000dfc70;\n      }\n      else {\n        pcVar9 = pcStack_115c;\n        if (pmVar11 <= pmStack_44) {\nLAB_000dfc70:\n          in_a2 = pmVar11;\n          (**(code **)(puStack_1170 + -0x605c))(pcVar9,pmVar16);\n          pmStack_44 = pmVar16;\n          if (unaff_s1 != pmStack_1158) {\n            (**(code **)(puStack_1170 + -0x6044))(unaff_s1);\n            pmStack_44 = pmVar16;\n          }\n          goto LAB_000dfb60;\n        }\nLAB_000dfda0:\n        puVar7 = (undefined4 *)(**(code **)(puStack_1170 + -0x6204))();\n        *puVar7 = 0x22;\n      }\nLAB_000dfb48:\n      pcVar9 = (char *)0x0;\n      pmStack_44 = pmVar10;\n      if (unaff_s1 == pmStack_1158) goto LAB_000dfb60;\n      pcVar18 = *(code **)(puStack_1170 + -0x6044);\n      pmVar12 = unaff_s1;\n      if (unaff_s1 != (mbstate_t *)0x0) {\nLAB_000dfcc0:\n        (*pcVar18)(pmVar12);\n        unaff_s1 = pmVar12;\n      }\n    }\n  }" if (parenthesized_expression "(-1 < iVar3)" ( (binary_expression "-1 < iVar3" number_literal < identifier) )) (compound_statement "{\n    pmStack_1120 = (mbstate_t *)amStack_1118[0].__count;\n    pmVar2 = (mbstate_t *)(*(int *)(puStack_1170 + -0x7aac) - 0x7ee8);\n    iStack_112c = iStack_1108;\n    iStack_113c = iStack_1104;\n    in_a2 = pmStack_1128;\n    iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,pmVar2);\n    pmVar10 = pmVar2;\n    puVar28 = auStack_1180;\n    if (-1 < iVar3) {\n      pmStack_1158 = amStack_1078;\n      pmVar16 = (mbstate_t *)(auStack_79 + 1);\n      pmStack_114c = (mbstate_t *)amStack_1118[0].__count;\n      iStack_1160 = iStack_1108;\n      pmStack_1148 = (mbstate_t *)(*(int *)(puStack_1170 + -0x7f94) - 0x34d0);\n      iStack_1138 = 0;\n      iStack_1164 = iStack_1104;\n      pmStack_1140 = (mbstate_t *)0xe0;\n      pmStack_1124 = (mbstate_t *)(*(int *)(puStack_1170 + -0x7f94) - 0x33ef);\n      unaff_s1 = pmStack_1158;\n      unaff_s6 = (mbstate_t *)0x1001;\n      puVar28 = auStack_1180;\n      pmStack_1168 = pmVar16;\n      pmStack_1134 = pmStack_1148;\n      while (((pmStack_1120 != pmStack_114c || (iStack_112c != iStack_1160)) ||\n             (iStack_113c != iStack_1164))) {\n        pmVar13 = pmVar14;\n        pmVar12 = unaff_s1;\n        if (pmStack_1124 == pmStack_1134) {\n          pmVar11 = (mbstate_t *)((int)pmStack_1140 * 2);\n          pmVar10 = (mbstate_t *)((int)&pmVar11->__count + 1);\n          if (pmStack_1124 == pmStack_1148) {\n            pmVar2 = (mbstate_t *)(**(code **)(puStack_1170 + -0x6158))(pmVar10);\n            if (pmVar2 == (mbstate_t *)0x0) goto LAB_000dfb48;\n            (**(code **)(puStack_1170 + -0x605c))(pmVar2,pmStack_1148,pmStack_1140);\n          }\n          else {\n            pmVar2 = (mbstate_t *)(**(code **)(puStack_1170 + -0x614c))(pmStack_1134);\n            puVar26 = puVar28;\n            if (pmVar2 == (mbstate_t *)0x0) goto LAB_000dfb18;\n          }\n          pmVar13 = pmStack_1140;\n          unaff_s3 = (mbstate_t *)((int)&pmStack_1140->__count + (int)&pmVar2->__count);\n          pmStack_1124 = unaff_s3;\n          (**(code **)(puStack_1170 + -0x605c))(unaff_s3,pmVar2,pmStack_1140);\n          *(char *)((int)&pmVar13->__count + (int)&unaff_s3->__count) = '\0';\n          pmStack_1140 = pmVar11;\n          pmStack_1134 = pmVar2;\n        }\n        pmVar11 = (mbstate_t *)((int)&pmStack_1124[-1].__value + 1);\n        pmVar10 = pmVar11;\n        in_a2 = pmStack_1128;\n        pmStack_1124 = pmVar11;\n        iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,pmVar11);\n        pmVar14 = pmVar13;\n        puVar19 = puVar28;\n        if (iVar3 < 0) {\nLAB_000dfb00:\n          puVar28 = puVar19;\n          if ((pmStack_1134 != pmStack_1148) &&\n             (puVar26 = puVar19, pmStack_1134 != (mbstate_t *)0x0)) {\nLAB_000dfb18:\n            pcVar18 = *(code **)(puStack_1170 + -0x6204);\n            puVar27 = puVar26;\nLAB_000dfb1c:\n            pmVar11 = (mbstate_t *)(*pcVar18)();\n            iVar3 = pmVar11->__count;\n            (**(code **)(puStack_1170 + -0x6044))(pmStack_1134);\n            pmVar11->__count = iVar3;\n            unaff_s1 = pmVar12;\n            puVar28 = puVar27;\n          }\n          goto LAB_000dfb48;\n        }\n        pmStack_1130 = (mbstate_t *)amStack_1118[0].__count;\n        iStack_1150 = iStack_1108;\n        iStack_1154 = iStack_1104;\n        iStack_111c = (**(code **)(puStack_1170 + -0x633c))(pmVar11);\n        if (iStack_111c == 0) goto LAB_000dfb00;\n        unaff_s3 = (mbstate_t *)((int)pmStack_1140 + ((int)pmStack_1134 - (int)pmVar11));\n        unaff_s5 = (mbstate_t *)((int)&unaff_s3->__count + 1);\nLAB_000df8ec:\n        do {\n          pcVar18 = *(code **)(puStack_1170 + -0x62c8);\n          do {\n            do {\n              piVar4 = (int *)(*pcVar18)(iStack_111c);\n              while( true ) {\n                if (piVar4 == (int *)0x0) {\n                  pmVar11 = (mbstate_t *)(**(code **)(puStack_1170 + -0x6204))();\n                  iVar3 = iStack_1138;\n                  if (pmVar11->__count != 0) {\n                    iVar3 = pmVar11->__count;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  pmVar11->__count = iVar3;\n                  pmVar14 = pmVar13;\n                  goto LAB_000dfb00;\n                }\n                if (*(char *)((int)piVar4 + 0x13) != '.') break;\n                pmVar10 = (mbstate_t *)0xffff0000;\n                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;\n                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;\n                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);\n              }\n            } while ((pmStack_1120 == pmStack_1130) &&\n                    ((pcVar18 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c))));\n            pmVar11 = (mbstate_t *)((int)piVar4 + 0x13);\n            pmVar5 = (mbstate_t *)(**(code **)(puStack_1170 + -0x61b0))(pmVar11);\n            iVar3 = -((uint)((int)&pmVar5[1].__count + (int)&unaff_s5->__count) & 0xfffffff8);\n            puVar20 = puVar19 + iVar3;\n            puVar21 = puVar19 + iVar3;\n            puVar22 = puVar19 + iVar3;\n            puVar27 = puVar19 + iVar3;\n            puVar23 = puVar19 + iVar3;\n            puVar28 = puVar19 + iVar3;\n            puVar24 = puVar19 + iVar3;\n            puVar26 = puVar19 + iVar3;\n            puVar25 = puVar19 + iVar3;\n            pmVar13 = (mbstate_t *)(puVar19 + iVar3 + 0x10);\n            (**(code **)(puStack_1170 + -0x605c))(pmVar13,pmStack_1124,unaff_s3);\n            puVar17 = puStack_1170;\n            *(char *)((int)pmVar13 + (int)unaff_s3) = '/';\n            (**(code **)(puVar17 + -0x605c))\n                      ((char *)((int)&unaff_s5->__count + (int)&pmVar13->__count),pmVar11,\n                       (char *)((int)&pmVar5->__count + 1));\n            pmVar10 = pmVar13;\n            in_a2 = pmStack_1128;\n            iVar6 = (**(code **)(puStack_1170 + -0x632c))(3,pmVar13);\n            if (iVar6 < 0) {\n              piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))();\n              iStack_1138 = *piVar4;\n            }\n            pmVar14 = pmStack_1158;\n            pcVar18 = *(code **)(puStack_1170 + -0x62c8);\n            puVar19 = puVar19 + iVar3;\n          } while (((mbstate_t *)amStack_1118[0].__count != pmStack_1120) ||\n                  (puVar19 = puVar20, iStack_1108 != iStack_112c));\n          puVar19 = puVar21;\n        } while (iStack_1104 != iStack_113c);\n        pmVar2 = pmVar11;\n        unaff_s3 = (mbstate_t *)((int)pmVar16 - (int)unaff_s1);\n        unaff_s5 = unaff_s6;\n        while (unaff_s3 <= pmVar5) {\n          unaff_s6 = (mbstate_t *)((int)unaff_s5 << 1);\n          pmStack_1120 = pmVar2;\n          if (pmVar12 == pmVar14) {\n            unaff_s1 = (mbstate_t *)(**(code **)(puStack_1170 + -0x6158))(unaff_s6);\n            if (unaff_s1 == (mbstate_t *)0x0) {\n              pcVar9 = (char *)0x0;\n              pmStack_44 = pmVar10;\n              if ((pmStack_1134 == pmStack_1148) ||\n                 (pmVar12 = pmStack_1158, puVar28 = puVar24, pmStack_1134 == (mbstate_t *)0x0))\n              goto LAB_000dfb60;\n              goto LAB_000dfb18;\n            }\n          }\n          else {\n            pmVar10 = unaff_s6;\n            unaff_s1 = (mbstate_t *)(**(code **)(puStack_1170 + -0x614c))(pmVar12,unaff_s6);\n            if (unaff_s1 == (mbstate_t *)0x0) {\n              pcVar18 = *(code **)(puStack_1170 + -0x6044);\n              puVar28 = puVar22;\n              if (pmStack_1134 == pmStack_1148) goto LAB_000dfcc0;\n              pcVar18 = *(code **)(puStack_1170 + -0x6204);\n              if (pmStack_1134 != (mbstate_t *)0x0) goto LAB_000dfb1c;\n              pcVar18 = *(code **)(puStack_1170 + -0x6044);\n              puVar28 = puVar23;\n              goto LAB_000dfcc0;\n            }\n            pmVar16 = (mbstate_t *)((int)&unaff_s3->__count + (int)&unaff_s1->__count);\n          }\n          pmVar11 = (mbstate_t *)((int)&unaff_s3->__count + (int)&unaff_s5->__count);\n          in_a2 = (mbstate_t *)((int)unaff_s5 - (int)unaff_s3);\n          pmVar15 = (mbstate_t *)((int)&pmVar11->__count + (int)&unaff_s1->__count);\n          (**(code **)(puStack_1170 + -0x605c))(pmVar15);\n          pmVar2 = pmStack_1120;\n          pmVar13 = pmVar14;\n          unaff_s3 = pmVar11;\n          pmVar10 = pmVar16;\n          pmVar12 = unaff_s1;\n          unaff_s5 = unaff_s6;\n          pmVar16 = pmVar15;\n        }\n        iVar3 = (**(code **)(puStack_1170 + -0x605c))((int)pmVar16 - (int)pmVar5);\n        pmVar16 = (mbstate_t *)(iVar3 - 1);\n        pcVar18 = *(code **)(puStack_1170 + -0x6338);\n        *(undefined1 *)(iVar3 + -1) = 0x2f;\n        (*pcVar18)(iStack_111c);\n        iStack_112c = iStack_1150;\n        pmStack_1120 = pmStack_1130;\n        in_a2 = pmVar5;\n        unaff_s1 = pmVar12;\n        pmVar14 = pmVar13;\n        unaff_s6 = unaff_s5;\n        puVar28 = puVar25;\n        iStack_113c = iStack_1154;\n      }\n      if (pmVar16 == pmStack_1168) {\n        pmVar16 = (mbstate_t *)auStack_79;\n        auStack_79[0] = 0x2f;\n      }\n      pmVar10 = pmVar2;\n      if (pmStack_1134 != pmStack_1148) {\n        (**(code **)(puStack_1170 + -0x6044))();\n        pmVar10 = pmVar2;\n      }\n      pmVar11 = (mbstate_t *)((int)unaff_s6 + ((int)unaff_s1 - (int)pmVar16));\n      if (pcStack_115c == (char *)0x0) {\n        if (pmStack_44 == (mbstate_t *)0x0) {\n          pcVar18 = *(code **)(puStack_1170 + -0x6158);\n          pmStack_44 = pmVar11;\n        }\n        else {\n          pcVar18 = *(code **)(puStack_1170 + -0x6158);\n          if (pmStack_44 < pmVar11) goto LAB_000dfda0;\n        }\n        pcVar9 = (char *)(*pcVar18)(pmStack_44);\n        if (pcVar9 != (char *)0x0) goto LAB_000dfc70;\n      }\n      else {\n        pcVar9 = pcStack_115c;\n        if (pmVar11 <= pmStack_44) {\nLAB_000dfc70:\n          in_a2 = pmVar11;\n          (**(code **)(puStack_1170 + -0x605c))(pcVar9,pmVar16);\n          pmStack_44 = pmVar16;\n          if (unaff_s1 != pmStack_1158) {\n            (**(code **)(puStack_1170 + -0x6044))(unaff_s1);\n            pmStack_44 = pmVar16;\n          }\n          goto LAB_000dfb60;\n        }\nLAB_000dfda0:\n        puVar7 = (undefined4 *)(**(code **)(puStack_1170 + -0x6204))();\n        *puVar7 = 0x22;\n      }\nLAB_000dfb48:\n      pcVar9 = (char *)0x0;\n      pmStack_44 = pmVar10;\n      if (unaff_s1 == pmStack_1158) goto LAB_000dfb60;\n      pcVar18 = *(code **)(puStack_1170 + -0x6044);\n      pmVar12 = unaff_s1;\n      if (unaff_s1 != (mbstate_t *)0x0) {\nLAB_000dfcc0:\n        (*pcVar18)(pmVar12);\n        unaff_s1 = pmVar12;\n      }\n    }\n  }" { (expression_statement "pmStack_1120 = (mbstate_t *)amStack_1118[0].__count;" (assignment_expression "pmStack_1120 = (mbstate_t *)amStack_1118[0].__count" identifier = (cast_expression "(mbstate_t *)amStack_1118[0].__count" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "amStack_1118[0].__count" (subscript_expression "amStack_1118[0]" identifier [ number_literal ]) . field_identifier))) ;) (expression_statement "pmVar2 = (mbstate_t *)(*(int *)(puStack_1170 + -0x7aac) - 0x7ee8);" (assignment_expression "pmVar2 = (mbstate_t *)(*(int *)(puStack_1170 + -0x7aac) - 0x7ee8)" identifier = (cast_expression "(mbstate_t *)(*(int *)(puStack_1170 + -0x7aac) - 0x7ee8)" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_1170 + -0x7aac) - 0x7ee8)" ( (binary_expression "*(int *)(puStack_1170 + -0x7aac) - 0x7ee8" (pointer_expression "*(int *)(puStack_1170 + -0x7aac)" * (cast_expression "(int *)(puStack_1170 + -0x7aac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_1170 + -0x7aac)" ( (binary_expression "puStack_1170 + -0x7aac" identifier + number_literal) )))) - number_literal) )))) ;) (expression_statement "iStack_112c = iStack_1108;" (assignment_expression "iStack_112c = iStack_1108" identifier = identifier) ;) (expression_statement "iStack_113c = iStack_1104;" (assignment_expression "iStack_113c = iStack_1104" identifier = identifier) ;) (expression_statement "in_a2 = pmStack_1128;" (assignment_expression "in_a2 = pmStack_1128" identifier = identifier) ;) (expression_statement "iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,pmVar2);" (assignment_expression "iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,pmVar2)" identifier = (call_expression "(**(code **)(puStack_1170 + -0x630c))(3,pmVar2)" (parenthesized_expression "(**(code **)(puStack_1170 + -0x630c))" ( (pointer_expression "**(code **)(puStack_1170 + -0x630c)" * (pointer_expression "*(code **)(puStack_1170 + -0x630c)" * (cast_expression "(code **)(puStack_1170 + -0x630c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x630c)" ( (binary_expression "puStack_1170 + -0x630c" identifier + number_literal) ))))) )) (argument_list "(3,pmVar2)" ( number_literal , identifier )))) ;) (expression_statement "pmVar10 = pmVar2;" (assignment_expression "pmVar10 = pmVar2" identifier = identifier) ;) (expression_statement "puVar28 = auStack_1180;" (assignment_expression "puVar28 = auStack_1180" identifier = identifier) ;) (if_statement "if (-1 < iVar3) {\n      pmStack_1158 = amStack_1078;\n      pmVar16 = (mbstate_t *)(auStack_79 + 1);\n      pmStack_114c = (mbstate_t *)amStack_1118[0].__count;\n      iStack_1160 = iStack_1108;\n      pmStack_1148 = (mbstate_t *)(*(int *)(puStack_1170 + -0x7f94) - 0x34d0);\n      iStack_1138 = 0;\n      iStack_1164 = iStack_1104;\n      pmStack_1140 = (mbstate_t *)0xe0;\n      pmStack_1124 = (mbstate_t *)(*(int *)(puStack_1170 + -0x7f94) - 0x33ef);\n      unaff_s1 = pmStack_1158;\n      unaff_s6 = (mbstate_t *)0x1001;\n      puVar28 = auStack_1180;\n      pmStack_1168 = pmVar16;\n      pmStack_1134 = pmStack_1148;\n      while (((pmStack_1120 != pmStack_114c || (iStack_112c != iStack_1160)) ||\n             (iStack_113c != iStack_1164))) {\n        pmVar13 = pmVar14;\n        pmVar12 = unaff_s1;\n        if (pmStack_1124 == pmStack_1134) {\n          pmVar11 = (mbstate_t *)((int)pmStack_1140 * 2);\n          pmVar10 = (mbstate_t *)((int)&pmVar11->__count + 1);\n          if (pmStack_1124 == pmStack_1148) {\n            pmVar2 = (mbstate_t *)(**(code **)(puStack_1170 + -0x6158))(pmVar10);\n            if (pmVar2 == (mbstate_t *)0x0) goto LAB_000dfb48;\n            (**(code **)(puStack_1170 + -0x605c))(pmVar2,pmStack_1148,pmStack_1140);\n          }\n          else {\n            pmVar2 = (mbstate_t *)(**(code **)(puStack_1170 + -0x614c))(pmStack_1134);\n            puVar26 = puVar28;\n            if (pmVar2 == (mbstate_t *)0x0) goto LAB_000dfb18;\n          }\n          pmVar13 = pmStack_1140;\n          unaff_s3 = (mbstate_t *)((int)&pmStack_1140->__count + (int)&pmVar2->__count);\n          pmStack_1124 = unaff_s3;\n          (**(code **)(puStack_1170 + -0x605c))(unaff_s3,pmVar2,pmStack_1140);\n          *(char *)((int)&pmVar13->__count + (int)&unaff_s3->__count) = '\0';\n          pmStack_1140 = pmVar11;\n          pmStack_1134 = pmVar2;\n        }\n        pmVar11 = (mbstate_t *)((int)&pmStack_1124[-1].__value + 1);\n        pmVar10 = pmVar11;\n        in_a2 = pmStack_1128;\n        pmStack_1124 = pmVar11;\n        iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,pmVar11);\n        pmVar14 = pmVar13;\n        puVar19 = puVar28;\n        if (iVar3 < 0) {\nLAB_000dfb00:\n          puVar28 = puVar19;\n          if ((pmStack_1134 != pmStack_1148) &&\n             (puVar26 = puVar19, pmStack_1134 != (mbstate_t *)0x0)) {\nLAB_000dfb18:\n            pcVar18 = *(code **)(puStack_1170 + -0x6204);\n            puVar27 = puVar26;\nLAB_000dfb1c:\n            pmVar11 = (mbstate_t *)(*pcVar18)();\n            iVar3 = pmVar11->__count;\n            (**(code **)(puStack_1170 + -0x6044))(pmStack_1134);\n            pmVar11->__count = iVar3;\n            unaff_s1 = pmVar12;\n            puVar28 = puVar27;\n          }\n          goto LAB_000dfb48;\n        }\n        pmStack_1130 = (mbstate_t *)amStack_1118[0].__count;\n        iStack_1150 = iStack_1108;\n        iStack_1154 = iStack_1104;\n        iStack_111c = (**(code **)(puStack_1170 + -0x633c))(pmVar11);\n        if (iStack_111c == 0) goto LAB_000dfb00;\n        unaff_s3 = (mbstate_t *)((int)pmStack_1140 + ((int)pmStack_1134 - (int)pmVar11));\n        unaff_s5 = (mbstate_t *)((int)&unaff_s3->__count + 1);\nLAB_000df8ec:\n        do {\n          pcVar18 = *(code **)(puStack_1170 + -0x62c8);\n          do {\n            do {\n              piVar4 = (int *)(*pcVar18)(iStack_111c);\n              while( true ) {\n                if (piVar4 == (int *)0x0) {\n                  pmVar11 = (mbstate_t *)(**(code **)(puStack_1170 + -0x6204))();\n                  iVar3 = iStack_1138;\n                  if (pmVar11->__count != 0) {\n                    iVar3 = pmVar11->__count;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  pmVar11->__count = iVar3;\n                  pmVar14 = pmVar13;\n                  goto LAB_000dfb00;\n                }\n                if (*(char *)((int)piVar4 + 0x13) != '.') break;\n                pmVar10 = (mbstate_t *)0xffff0000;\n                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;\n                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;\n                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);\n              }\n            } while ((pmStack_1120 == pmStack_1130) &&\n                    ((pcVar18 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c))));\n            pmVar11 = (mbstate_t *)((int)piVar4 + 0x13);\n            pmVar5 = (mbstate_t *)(**(code **)(puStack_1170 + -0x61b0))(pmVar11);\n            iVar3 = -((uint)((int)&pmVar5[1].__count + (int)&unaff_s5->__count) & 0xfffffff8);\n            puVar20 = puVar19 + iVar3;\n            puVar21 = puVar19 + iVar3;\n            puVar22 = puVar19 + iVar3;\n            puVar27 = puVar19 + iVar3;\n            puVar23 = puVar19 + iVar3;\n            puVar28 = puVar19 + iVar3;\n            puVar24 = puVar19 + iVar3;\n            puVar26 = puVar19 + iVar3;\n            puVar25 = puVar19 + iVar3;\n            pmVar13 = (mbstate_t *)(puVar19 + iVar3 + 0x10);\n            (**(code **)(puStack_1170 + -0x605c))(pmVar13,pmStack_1124,unaff_s3);\n            puVar17 = puStack_1170;\n            *(char *)((int)pmVar13 + (int)unaff_s3) = '/';\n            (**(code **)(puVar17 + -0x605c))\n                      ((char *)((int)&unaff_s5->__count + (int)&pmVar13->__count),pmVar11,\n                       (char *)((int)&pmVar5->__count + 1));\n            pmVar10 = pmVar13;\n            in_a2 = pmStack_1128;\n            iVar6 = (**(code **)(puStack_1170 + -0x632c))(3,pmVar13);\n            if (iVar6 < 0) {\n              piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))();\n              iStack_1138 = *piVar4;\n            }\n            pmVar14 = pmStack_1158;\n            pcVar18 = *(code **)(puStack_1170 + -0x62c8);\n            puVar19 = puVar19 + iVar3;\n          } while (((mbstate_t *)amStack_1118[0].__count != pmStack_1120) ||\n                  (puVar19 = puVar20, iStack_1108 != iStack_112c));\n          puVar19 = puVar21;\n        } while (iStack_1104 != iStack_113c);\n        pmVar2 = pmVar11;\n        unaff_s3 = (mbstate_t *)((int)pmVar16 - (int)unaff_s1);\n        unaff_s5 = unaff_s6;\n        while (unaff_s3 <= pmVar5) {\n          unaff_s6 = (mbstate_t *)((int)unaff_s5 << 1);\n          pmStack_1120 = pmVar2;\n          if (pmVar12 == pmVar14) {\n            unaff_s1 = (mbstate_t *)(**(code **)(puStack_1170 + -0x6158))(unaff_s6);\n            if (unaff_s1 == (mbstate_t *)0x0) {\n              pcVar9 = (char *)0x0;\n              pmStack_44 = pmVar10;\n              if ((pmStack_1134 == pmStack_1148) ||\n                 (pmVar12 = pmStack_1158, puVar28 = puVar24, pmStack_1134 == (mbstate_t *)0x0))\n              goto LAB_000dfb60;\n              goto LAB_000dfb18;\n            }\n          }\n          else {\n            pmVar10 = unaff_s6;\n            unaff_s1 = (mbstate_t *)(**(code **)(puStack_1170 + -0x614c))(pmVar12,unaff_s6);\n            if (unaff_s1 == (mbstate_t *)0x0) {\n              pcVar18 = *(code **)(puStack_1170 + -0x6044);\n              puVar28 = puVar22;\n              if (pmStack_1134 == pmStack_1148) goto LAB_000dfcc0;\n              pcVar18 = *(code **)(puStack_1170 + -0x6204);\n              if (pmStack_1134 != (mbstate_t *)0x0) goto LAB_000dfb1c;\n              pcVar18 = *(code **)(puStack_1170 + -0x6044);\n              puVar28 = puVar23;\n              goto LAB_000dfcc0;\n            }\n            pmVar16 = (mbstate_t *)((int)&unaff_s3->__count + (int)&unaff_s1->__count);\n          }\n          pmVar11 = (mbstate_t *)((int)&unaff_s3->__count + (int)&unaff_s5->__count);\n          in_a2 = (mbstate_t *)((int)unaff_s5 - (int)unaff_s3);\n          pmVar15 = (mbstate_t *)((int)&pmVar11->__count + (int)&unaff_s1->__count);\n          (**(code **)(puStack_1170 + -0x605c))(pmVar15);\n          pmVar2 = pmStack_1120;\n          pmVar13 = pmVar14;\n          unaff_s3 = pmVar11;\n          pmVar10 = pmVar16;\n          pmVar12 = unaff_s1;\n          unaff_s5 = unaff_s6;\n          pmVar16 = pmVar15;\n        }\n        iVar3 = (**(code **)(puStack_1170 + -0x605c))((int)pmVar16 - (int)pmVar5);\n        pmVar16 = (mbstate_t *)(iVar3 - 1);\n        pcVar18 = *(code **)(puStack_1170 + -0x6338);\n        *(undefined1 *)(iVar3 + -1) = 0x2f;\n        (*pcVar18)(iStack_111c);\n        iStack_112c = iStack_1150;\n        pmStack_1120 = pmStack_1130;\n        in_a2 = pmVar5;\n        unaff_s1 = pmVar12;\n        pmVar14 = pmVar13;\n        unaff_s6 = unaff_s5;\n        puVar28 = puVar25;\n        iStack_113c = iStack_1154;\n      }\n      if (pmVar16 == pmStack_1168) {\n        pmVar16 = (mbstate_t *)auStack_79;\n        auStack_79[0] = 0x2f;\n      }\n      pmVar10 = pmVar2;\n      if (pmStack_1134 != pmStack_1148) {\n        (**(code **)(puStack_1170 + -0x6044))();\n        pmVar10 = pmVar2;\n      }\n      pmVar11 = (mbstate_t *)((int)unaff_s6 + ((int)unaff_s1 - (int)pmVar16));\n      if (pcStack_115c == (char *)0x0) {\n        if (pmStack_44 == (mbstate_t *)0x0) {\n          pcVar18 = *(code **)(puStack_1170 + -0x6158);\n          pmStack_44 = pmVar11;\n        }\n        else {\n          pcVar18 = *(code **)(puStack_1170 + -0x6158);\n          if (pmStack_44 < pmVar11) goto LAB_000dfda0;\n        }\n        pcVar9 = (char *)(*pcVar18)(pmStack_44);\n        if (pcVar9 != (char *)0x0) goto LAB_000dfc70;\n      }\n      else {\n        pcVar9 = pcStack_115c;\n        if (pmVar11 <= pmStack_44) {\nLAB_000dfc70:\n          in_a2 = pmVar11;\n          (**(code **)(puStack_1170 + -0x605c))(pcVar9,pmVar16);\n          pmStack_44 = pmVar16;\n          if (unaff_s1 != pmStack_1158) {\n            (**(code **)(puStack_1170 + -0x6044))(unaff_s1);\n            pmStack_44 = pmVar16;\n          }\n          goto LAB_000dfb60;\n        }\nLAB_000dfda0:\n        puVar7 = (undefined4 *)(**(code **)(puStack_1170 + -0x6204))();\n        *puVar7 = 0x22;\n      }\nLAB_000dfb48:\n      pcVar9 = (char *)0x0;\n      pmStack_44 = pmVar10;\n      if (unaff_s1 == pmStack_1158) goto LAB_000dfb60;\n      pcVar18 = *(code **)(puStack_1170 + -0x6044);\n      pmVar12 = unaff_s1;\n      if (unaff_s1 != (mbstate_t *)0x0) {\nLAB_000dfcc0:\n        (*pcVar18)(pmVar12);\n        unaff_s1 = pmVar12;\n      }\n    }" if (parenthesized_expression "(-1 < iVar3)" ( (binary_expression "-1 < iVar3" number_literal < identifier) )) (compound_statement "{\n      pmStack_1158 = amStack_1078;\n      pmVar16 = (mbstate_t *)(auStack_79 + 1);\n      pmStack_114c = (mbstate_t *)amStack_1118[0].__count;\n      iStack_1160 = iStack_1108;\n      pmStack_1148 = (mbstate_t *)(*(int *)(puStack_1170 + -0x7f94) - 0x34d0);\n      iStack_1138 = 0;\n      iStack_1164 = iStack_1104;\n      pmStack_1140 = (mbstate_t *)0xe0;\n      pmStack_1124 = (mbstate_t *)(*(int *)(puStack_1170 + -0x7f94) - 0x33ef);\n      unaff_s1 = pmStack_1158;\n      unaff_s6 = (mbstate_t *)0x1001;\n      puVar28 = auStack_1180;\n      pmStack_1168 = pmVar16;\n      pmStack_1134 = pmStack_1148;\n      while (((pmStack_1120 != pmStack_114c || (iStack_112c != iStack_1160)) ||\n             (iStack_113c != iStack_1164))) {\n        pmVar13 = pmVar14;\n        pmVar12 = unaff_s1;\n        if (pmStack_1124 == pmStack_1134) {\n          pmVar11 = (mbstate_t *)((int)pmStack_1140 * 2);\n          pmVar10 = (mbstate_t *)((int)&pmVar11->__count + 1);\n          if (pmStack_1124 == pmStack_1148) {\n            pmVar2 = (mbstate_t *)(**(code **)(puStack_1170 + -0x6158))(pmVar10);\n            if (pmVar2 == (mbstate_t *)0x0) goto LAB_000dfb48;\n            (**(code **)(puStack_1170 + -0x605c))(pmVar2,pmStack_1148,pmStack_1140);\n          }\n          else {\n            pmVar2 = (mbstate_t *)(**(code **)(puStack_1170 + -0x614c))(pmStack_1134);\n            puVar26 = puVar28;\n            if (pmVar2 == (mbstate_t *)0x0) goto LAB_000dfb18;\n          }\n          pmVar13 = pmStack_1140;\n          unaff_s3 = (mbstate_t *)((int)&pmStack_1140->__count + (int)&pmVar2->__count);\n          pmStack_1124 = unaff_s3;\n          (**(code **)(puStack_1170 + -0x605c))(unaff_s3,pmVar2,pmStack_1140);\n          *(char *)((int)&pmVar13->__count + (int)&unaff_s3->__count) = '\0';\n          pmStack_1140 = pmVar11;\n          pmStack_1134 = pmVar2;\n        }\n        pmVar11 = (mbstate_t *)((int)&pmStack_1124[-1].__value + 1);\n        pmVar10 = pmVar11;\n        in_a2 = pmStack_1128;\n        pmStack_1124 = pmVar11;\n        iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,pmVar11);\n        pmVar14 = pmVar13;\n        puVar19 = puVar28;\n        if (iVar3 < 0) {\nLAB_000dfb00:\n          puVar28 = puVar19;\n          if ((pmStack_1134 != pmStack_1148) &&\n             (puVar26 = puVar19, pmStack_1134 != (mbstate_t *)0x0)) {\nLAB_000dfb18:\n            pcVar18 = *(code **)(puStack_1170 + -0x6204);\n            puVar27 = puVar26;\nLAB_000dfb1c:\n            pmVar11 = (mbstate_t *)(*pcVar18)();\n            iVar3 = pmVar11->__count;\n            (**(code **)(puStack_1170 + -0x6044))(pmStack_1134);\n            pmVar11->__count = iVar3;\n            unaff_s1 = pmVar12;\n            puVar28 = puVar27;\n          }\n          goto LAB_000dfb48;\n        }\n        pmStack_1130 = (mbstate_t *)amStack_1118[0].__count;\n        iStack_1150 = iStack_1108;\n        iStack_1154 = iStack_1104;\n        iStack_111c = (**(code **)(puStack_1170 + -0x633c))(pmVar11);\n        if (iStack_111c == 0) goto LAB_000dfb00;\n        unaff_s3 = (mbstate_t *)((int)pmStack_1140 + ((int)pmStack_1134 - (int)pmVar11));\n        unaff_s5 = (mbstate_t *)((int)&unaff_s3->__count + 1);\nLAB_000df8ec:\n        do {\n          pcVar18 = *(code **)(puStack_1170 + -0x62c8);\n          do {\n            do {\n              piVar4 = (int *)(*pcVar18)(iStack_111c);\n              while( true ) {\n                if (piVar4 == (int *)0x0) {\n                  pmVar11 = (mbstate_t *)(**(code **)(puStack_1170 + -0x6204))();\n                  iVar3 = iStack_1138;\n                  if (pmVar11->__count != 0) {\n                    iVar3 = pmVar11->__count;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  pmVar11->__count = iVar3;\n                  pmVar14 = pmVar13;\n                  goto LAB_000dfb00;\n                }\n                if (*(char *)((int)piVar4 + 0x13) != '.') break;\n                pmVar10 = (mbstate_t *)0xffff0000;\n                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;\n                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;\n                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);\n              }\n            } while ((pmStack_1120 == pmStack_1130) &&\n                    ((pcVar18 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c))));\n            pmVar11 = (mbstate_t *)((int)piVar4 + 0x13);\n            pmVar5 = (mbstate_t *)(**(code **)(puStack_1170 + -0x61b0))(pmVar11);\n            iVar3 = -((uint)((int)&pmVar5[1].__count + (int)&unaff_s5->__count) & 0xfffffff8);\n            puVar20 = puVar19 + iVar3;\n            puVar21 = puVar19 + iVar3;\n            puVar22 = puVar19 + iVar3;\n            puVar27 = puVar19 + iVar3;\n            puVar23 = puVar19 + iVar3;\n            puVar28 = puVar19 + iVar3;\n            puVar24 = puVar19 + iVar3;\n            puVar26 = puVar19 + iVar3;\n            puVar25 = puVar19 + iVar3;\n            pmVar13 = (mbstate_t *)(puVar19 + iVar3 + 0x10);\n            (**(code **)(puStack_1170 + -0x605c))(pmVar13,pmStack_1124,unaff_s3);\n            puVar17 = puStack_1170;\n            *(char *)((int)pmVar13 + (int)unaff_s3) = '/';\n            (**(code **)(puVar17 + -0x605c))\n                      ((char *)((int)&unaff_s5->__count + (int)&pmVar13->__count),pmVar11,\n                       (char *)((int)&pmVar5->__count + 1));\n            pmVar10 = pmVar13;\n            in_a2 = pmStack_1128;\n            iVar6 = (**(code **)(puStack_1170 + -0x632c))(3,pmVar13);\n            if (iVar6 < 0) {\n              piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))();\n              iStack_1138 = *piVar4;\n            }\n            pmVar14 = pmStack_1158;\n            pcVar18 = *(code **)(puStack_1170 + -0x62c8);\n            puVar19 = puVar19 + iVar3;\n          } while (((mbstate_t *)amStack_1118[0].__count != pmStack_1120) ||\n                  (puVar19 = puVar20, iStack_1108 != iStack_112c));\n          puVar19 = puVar21;\n        } while (iStack_1104 != iStack_113c);\n        pmVar2 = pmVar11;\n        unaff_s3 = (mbstate_t *)((int)pmVar16 - (int)unaff_s1);\n        unaff_s5 = unaff_s6;\n        while (unaff_s3 <= pmVar5) {\n          unaff_s6 = (mbstate_t *)((int)unaff_s5 << 1);\n          pmStack_1120 = pmVar2;\n          if (pmVar12 == pmVar14) {\n            unaff_s1 = (mbstate_t *)(**(code **)(puStack_1170 + -0x6158))(unaff_s6);\n            if (unaff_s1 == (mbstate_t *)0x0) {\n              pcVar9 = (char *)0x0;\n              pmStack_44 = pmVar10;\n              if ((pmStack_1134 == pmStack_1148) ||\n                 (pmVar12 = pmStack_1158, puVar28 = puVar24, pmStack_1134 == (mbstate_t *)0x0))\n              goto LAB_000dfb60;\n              goto LAB_000dfb18;\n            }\n          }\n          else {\n            pmVar10 = unaff_s6;\n            unaff_s1 = (mbstate_t *)(**(code **)(puStack_1170 + -0x614c))(pmVar12,unaff_s6);\n            if (unaff_s1 == (mbstate_t *)0x0) {\n              pcVar18 = *(code **)(puStack_1170 + -0x6044);\n              puVar28 = puVar22;\n              if (pmStack_1134 == pmStack_1148) goto LAB_000dfcc0;\n              pcVar18 = *(code **)(puStack_1170 + -0x6204);\n              if (pmStack_1134 != (mbstate_t *)0x0) goto LAB_000dfb1c;\n              pcVar18 = *(code **)(puStack_1170 + -0x6044);\n              puVar28 = puVar23;\n              goto LAB_000dfcc0;\n            }\n            pmVar16 = (mbstate_t *)((int)&unaff_s3->__count + (int)&unaff_s1->__count);\n          }\n          pmVar11 = (mbstate_t *)((int)&unaff_s3->__count + (int)&unaff_s5->__count);\n          in_a2 = (mbstate_t *)((int)unaff_s5 - (int)unaff_s3);\n          pmVar15 = (mbstate_t *)((int)&pmVar11->__count + (int)&unaff_s1->__count);\n          (**(code **)(puStack_1170 + -0x605c))(pmVar15);\n          pmVar2 = pmStack_1120;\n          pmVar13 = pmVar14;\n          unaff_s3 = pmVar11;\n          pmVar10 = pmVar16;\n          pmVar12 = unaff_s1;\n          unaff_s5 = unaff_s6;\n          pmVar16 = pmVar15;\n        }\n        iVar3 = (**(code **)(puStack_1170 + -0x605c))((int)pmVar16 - (int)pmVar5);\n        pmVar16 = (mbstate_t *)(iVar3 - 1);\n        pcVar18 = *(code **)(puStack_1170 + -0x6338);\n        *(undefined1 *)(iVar3 + -1) = 0x2f;\n        (*pcVar18)(iStack_111c);\n        iStack_112c = iStack_1150;\n        pmStack_1120 = pmStack_1130;\n        in_a2 = pmVar5;\n        unaff_s1 = pmVar12;\n        pmVar14 = pmVar13;\n        unaff_s6 = unaff_s5;\n        puVar28 = puVar25;\n        iStack_113c = iStack_1154;\n      }\n      if (pmVar16 == pmStack_1168) {\n        pmVar16 = (mbstate_t *)auStack_79;\n        auStack_79[0] = 0x2f;\n      }\n      pmVar10 = pmVar2;\n      if (pmStack_1134 != pmStack_1148) {\n        (**(code **)(puStack_1170 + -0x6044))();\n        pmVar10 = pmVar2;\n      }\n      pmVar11 = (mbstate_t *)((int)unaff_s6 + ((int)unaff_s1 - (int)pmVar16));\n      if (pcStack_115c == (char *)0x0) {\n        if (pmStack_44 == (mbstate_t *)0x0) {\n          pcVar18 = *(code **)(puStack_1170 + -0x6158);\n          pmStack_44 = pmVar11;\n        }\n        else {\n          pcVar18 = *(code **)(puStack_1170 + -0x6158);\n          if (pmStack_44 < pmVar11) goto LAB_000dfda0;\n        }\n        pcVar9 = (char *)(*pcVar18)(pmStack_44);\n        if (pcVar9 != (char *)0x0) goto LAB_000dfc70;\n      }\n      else {\n        pcVar9 = pcStack_115c;\n        if (pmVar11 <= pmStack_44) {\nLAB_000dfc70:\n          in_a2 = pmVar11;\n          (**(code **)(puStack_1170 + -0x605c))(pcVar9,pmVar16);\n          pmStack_44 = pmVar16;\n          if (unaff_s1 != pmStack_1158) {\n            (**(code **)(puStack_1170 + -0x6044))(unaff_s1);\n            pmStack_44 = pmVar16;\n          }\n          goto LAB_000dfb60;\n        }\nLAB_000dfda0:\n        puVar7 = (undefined4 *)(**(code **)(puStack_1170 + -0x6204))();\n        *puVar7 = 0x22;\n      }\nLAB_000dfb48:\n      pcVar9 = (char *)0x0;\n      pmStack_44 = pmVar10;\n      if (unaff_s1 == pmStack_1158) goto LAB_000dfb60;\n      pcVar18 = *(code **)(puStack_1170 + -0x6044);\n      pmVar12 = unaff_s1;\n      if (unaff_s1 != (mbstate_t *)0x0) {\nLAB_000dfcc0:\n        (*pcVar18)(pmVar12);\n        unaff_s1 = pmVar12;\n      }\n    }" { (expression_statement "pmStack_1158 = amStack_1078;" (assignment_expression "pmStack_1158 = amStack_1078" identifier = identifier) ;) (expression_statement "pmVar16 = (mbstate_t *)(auStack_79 + 1);" (assignment_expression "pmVar16 = (mbstate_t *)(auStack_79 + 1)" identifier = (cast_expression "(mbstate_t *)(auStack_79 + 1)" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_79 + 1)" ( (binary_expression "auStack_79 + 1" identifier + number_literal) )))) ;) (expression_statement "pmStack_114c = (mbstate_t *)amStack_1118[0].__count;" (assignment_expression "pmStack_114c = (mbstate_t *)amStack_1118[0].__count" identifier = (cast_expression "(mbstate_t *)amStack_1118[0].__count" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "amStack_1118[0].__count" (subscript_expression "amStack_1118[0]" identifier [ number_literal ]) . field_identifier))) ;) (expression_statement "iStack_1160 = iStack_1108;" (assignment_expression "iStack_1160 = iStack_1108" identifier = identifier) ;) (expression_statement "pmStack_1148 = (mbstate_t *)(*(int *)(puStack_1170 + -0x7f94) - 0x34d0);" (assignment_expression "pmStack_1148 = (mbstate_t *)(*(int *)(puStack_1170 + -0x7f94) - 0x34d0)" identifier = (cast_expression "(mbstate_t *)(*(int *)(puStack_1170 + -0x7f94) - 0x34d0)" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_1170 + -0x7f94) - 0x34d0)" ( (binary_expression "*(int *)(puStack_1170 + -0x7f94) - 0x34d0" (pointer_expression "*(int *)(puStack_1170 + -0x7f94)" * (cast_expression "(int *)(puStack_1170 + -0x7f94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_1170 + -0x7f94)" ( (binary_expression "puStack_1170 + -0x7f94" identifier + number_literal) )))) - number_literal) )))) ;) (expression_statement "iStack_1138 = 0;" (assignment_expression "iStack_1138 = 0" identifier = number_literal) ;) (expression_statement "iStack_1164 = iStack_1104;" (assignment_expression "iStack_1164 = iStack_1104" identifier = identifier) ;) (expression_statement "pmStack_1140 = (mbstate_t *)0xe0;" (assignment_expression "pmStack_1140 = (mbstate_t *)0xe0" identifier = (cast_expression "(mbstate_t *)0xe0" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pmStack_1124 = (mbstate_t *)(*(int *)(puStack_1170 + -0x7f94) - 0x33ef);" (assignment_expression "pmStack_1124 = (mbstate_t *)(*(int *)(puStack_1170 + -0x7f94) - 0x33ef)" identifier = (cast_expression "(mbstate_t *)(*(int *)(puStack_1170 + -0x7f94) - 0x33ef)" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puStack_1170 + -0x7f94) - 0x33ef)" ( (binary_expression "*(int *)(puStack_1170 + -0x7f94) - 0x33ef" (pointer_expression "*(int *)(puStack_1170 + -0x7f94)" * (cast_expression "(int *)(puStack_1170 + -0x7f94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_1170 + -0x7f94)" ( (binary_expression "puStack_1170 + -0x7f94" identifier + number_literal) )))) - number_literal) )))) ;) (expression_statement "unaff_s1 = pmStack_1158;" (assignment_expression "unaff_s1 = pmStack_1158" identifier = identifier) ;) (expression_statement "unaff_s6 = (mbstate_t *)0x1001;" (assignment_expression "unaff_s6 = (mbstate_t *)0x1001" identifier = (cast_expression "(mbstate_t *)0x1001" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar28 = auStack_1180;" (assignment_expression "puVar28 = auStack_1180" identifier = identifier) ;) (expression_statement "pmStack_1168 = pmVar16;" (assignment_expression "pmStack_1168 = pmVar16" identifier = identifier) ;) (expression_statement "pmStack_1134 = pmStack_1148;" (assignment_expression "pmStack_1134 = pmStack_1148" identifier = identifier) ;) (while_statement "while (((pmStack_1120 != pmStack_114c || (iStack_112c != iStack_1160)) ||\n             (iStack_113c != iStack_1164))) {\n        pmVar13 = pmVar14;\n        pmVar12 = unaff_s1;\n        if (pmStack_1124 == pmStack_1134) {\n          pmVar11 = (mbstate_t *)((int)pmStack_1140 * 2);\n          pmVar10 = (mbstate_t *)((int)&pmVar11->__count + 1);\n          if (pmStack_1124 == pmStack_1148) {\n            pmVar2 = (mbstate_t *)(**(code **)(puStack_1170 + -0x6158))(pmVar10);\n            if (pmVar2 == (mbstate_t *)0x0) goto LAB_000dfb48;\n            (**(code **)(puStack_1170 + -0x605c))(pmVar2,pmStack_1148,pmStack_1140);\n          }\n          else {\n            pmVar2 = (mbstate_t *)(**(code **)(puStack_1170 + -0x614c))(pmStack_1134);\n            puVar26 = puVar28;\n            if (pmVar2 == (mbstate_t *)0x0) goto LAB_000dfb18;\n          }\n          pmVar13 = pmStack_1140;\n          unaff_s3 = (mbstate_t *)((int)&pmStack_1140->__count + (int)&pmVar2->__count);\n          pmStack_1124 = unaff_s3;\n          (**(code **)(puStack_1170 + -0x605c))(unaff_s3,pmVar2,pmStack_1140);\n          *(char *)((int)&pmVar13->__count + (int)&unaff_s3->__count) = '\0';\n          pmStack_1140 = pmVar11;\n          pmStack_1134 = pmVar2;\n        }\n        pmVar11 = (mbstate_t *)((int)&pmStack_1124[-1].__value + 1);\n        pmVar10 = pmVar11;\n        in_a2 = pmStack_1128;\n        pmStack_1124 = pmVar11;\n        iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,pmVar11);\n        pmVar14 = pmVar13;\n        puVar19 = puVar28;\n        if (iVar3 < 0) {\nLAB_000dfb00:\n          puVar28 = puVar19;\n          if ((pmStack_1134 != pmStack_1148) &&\n             (puVar26 = puVar19, pmStack_1134 != (mbstate_t *)0x0)) {\nLAB_000dfb18:\n            pcVar18 = *(code **)(puStack_1170 + -0x6204);\n            puVar27 = puVar26;\nLAB_000dfb1c:\n            pmVar11 = (mbstate_t *)(*pcVar18)();\n            iVar3 = pmVar11->__count;\n            (**(code **)(puStack_1170 + -0x6044))(pmStack_1134);\n            pmVar11->__count = iVar3;\n            unaff_s1 = pmVar12;\n            puVar28 = puVar27;\n          }\n          goto LAB_000dfb48;\n        }\n        pmStack_1130 = (mbstate_t *)amStack_1118[0].__count;\n        iStack_1150 = iStack_1108;\n        iStack_1154 = iStack_1104;\n        iStack_111c = (**(code **)(puStack_1170 + -0x633c))(pmVar11);\n        if (iStack_111c == 0) goto LAB_000dfb00;\n        unaff_s3 = (mbstate_t *)((int)pmStack_1140 + ((int)pmStack_1134 - (int)pmVar11));\n        unaff_s5 = (mbstate_t *)((int)&unaff_s3->__count + 1);\nLAB_000df8ec:\n        do {\n          pcVar18 = *(code **)(puStack_1170 + -0x62c8);\n          do {\n            do {\n              piVar4 = (int *)(*pcVar18)(iStack_111c);\n              while( true ) {\n                if (piVar4 == (int *)0x0) {\n                  pmVar11 = (mbstate_t *)(**(code **)(puStack_1170 + -0x6204))();\n                  iVar3 = iStack_1138;\n                  if (pmVar11->__count != 0) {\n                    iVar3 = pmVar11->__count;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  pmVar11->__count = iVar3;\n                  pmVar14 = pmVar13;\n                  goto LAB_000dfb00;\n                }\n                if (*(char *)((int)piVar4 + 0x13) != '.') break;\n                pmVar10 = (mbstate_t *)0xffff0000;\n                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;\n                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;\n                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);\n              }\n            } while ((pmStack_1120 == pmStack_1130) &&\n                    ((pcVar18 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c))));\n            pmVar11 = (mbstate_t *)((int)piVar4 + 0x13);\n            pmVar5 = (mbstate_t *)(**(code **)(puStack_1170 + -0x61b0))(pmVar11);\n            iVar3 = -((uint)((int)&pmVar5[1].__count + (int)&unaff_s5->__count) & 0xfffffff8);\n            puVar20 = puVar19 + iVar3;\n            puVar21 = puVar19 + iVar3;\n            puVar22 = puVar19 + iVar3;\n            puVar27 = puVar19 + iVar3;\n            puVar23 = puVar19 + iVar3;\n            puVar28 = puVar19 + iVar3;\n            puVar24 = puVar19 + iVar3;\n            puVar26 = puVar19 + iVar3;\n            puVar25 = puVar19 + iVar3;\n            pmVar13 = (mbstate_t *)(puVar19 + iVar3 + 0x10);\n            (**(code **)(puStack_1170 + -0x605c))(pmVar13,pmStack_1124,unaff_s3);\n            puVar17 = puStack_1170;\n            *(char *)((int)pmVar13 + (int)unaff_s3) = '/';\n            (**(code **)(puVar17 + -0x605c))\n                      ((char *)((int)&unaff_s5->__count + (int)&pmVar13->__count),pmVar11,\n                       (char *)((int)&pmVar5->__count + 1));\n            pmVar10 = pmVar13;\n            in_a2 = pmStack_1128;\n            iVar6 = (**(code **)(puStack_1170 + -0x632c))(3,pmVar13);\n            if (iVar6 < 0) {\n              piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))();\n              iStack_1138 = *piVar4;\n            }\n            pmVar14 = pmStack_1158;\n            pcVar18 = *(code **)(puStack_1170 + -0x62c8);\n            puVar19 = puVar19 + iVar3;\n          } while (((mbstate_t *)amStack_1118[0].__count != pmStack_1120) ||\n                  (puVar19 = puVar20, iStack_1108 != iStack_112c));\n          puVar19 = puVar21;\n        } while (iStack_1104 != iStack_113c);\n        pmVar2 = pmVar11;\n        unaff_s3 = (mbstate_t *)((int)pmVar16 - (int)unaff_s1);\n        unaff_s5 = unaff_s6;\n        while (unaff_s3 <= pmVar5) {\n          unaff_s6 = (mbstate_t *)((int)unaff_s5 << 1);\n          pmStack_1120 = pmVar2;\n          if (pmVar12 == pmVar14) {\n            unaff_s1 = (mbstate_t *)(**(code **)(puStack_1170 + -0x6158))(unaff_s6);\n            if (unaff_s1 == (mbstate_t *)0x0) {\n              pcVar9 = (char *)0x0;\n              pmStack_44 = pmVar10;\n              if ((pmStack_1134 == pmStack_1148) ||\n                 (pmVar12 = pmStack_1158, puVar28 = puVar24, pmStack_1134 == (mbstate_t *)0x0))\n              goto LAB_000dfb60;\n              goto LAB_000dfb18;\n            }\n          }\n          else {\n            pmVar10 = unaff_s6;\n            unaff_s1 = (mbstate_t *)(**(code **)(puStack_1170 + -0x614c))(pmVar12,unaff_s6);\n            if (unaff_s1 == (mbstate_t *)0x0) {\n              pcVar18 = *(code **)(puStack_1170 + -0x6044);\n              puVar28 = puVar22;\n              if (pmStack_1134 == pmStack_1148) goto LAB_000dfcc0;\n              pcVar18 = *(code **)(puStack_1170 + -0x6204);\n              if (pmStack_1134 != (mbstate_t *)0x0) goto LAB_000dfb1c;\n              pcVar18 = *(code **)(puStack_1170 + -0x6044);\n              puVar28 = puVar23;\n              goto LAB_000dfcc0;\n            }\n            pmVar16 = (mbstate_t *)((int)&unaff_s3->__count + (int)&unaff_s1->__count);\n          }\n          pmVar11 = (mbstate_t *)((int)&unaff_s3->__count + (int)&unaff_s5->__count);\n          in_a2 = (mbstate_t *)((int)unaff_s5 - (int)unaff_s3);\n          pmVar15 = (mbstate_t *)((int)&pmVar11->__count + (int)&unaff_s1->__count);\n          (**(code **)(puStack_1170 + -0x605c))(pmVar15);\n          pmVar2 = pmStack_1120;\n          pmVar13 = pmVar14;\n          unaff_s3 = pmVar11;\n          pmVar10 = pmVar16;\n          pmVar12 = unaff_s1;\n          unaff_s5 = unaff_s6;\n          pmVar16 = pmVar15;\n        }\n        iVar3 = (**(code **)(puStack_1170 + -0x605c))((int)pmVar16 - (int)pmVar5);\n        pmVar16 = (mbstate_t *)(iVar3 - 1);\n        pcVar18 = *(code **)(puStack_1170 + -0x6338);\n        *(undefined1 *)(iVar3 + -1) = 0x2f;\n        (*pcVar18)(iStack_111c);\n        iStack_112c = iStack_1150;\n        pmStack_1120 = pmStack_1130;\n        in_a2 = pmVar5;\n        unaff_s1 = pmVar12;\n        pmVar14 = pmVar13;\n        unaff_s6 = unaff_s5;\n        puVar28 = puVar25;\n        iStack_113c = iStack_1154;\n      }" while (parenthesized_expression "(((pmStack_1120 != pmStack_114c || (iStack_112c != iStack_1160)) ||\n             (iStack_113c != iStack_1164)))" ( (parenthesized_expression "((pmStack_1120 != pmStack_114c || (iStack_112c != iStack_1160)) ||\n             (iStack_113c != iStack_1164))" ( (binary_expression "(pmStack_1120 != pmStack_114c || (iStack_112c != iStack_1160)) ||\n             (iStack_113c != iStack_1164)" (parenthesized_expression "(pmStack_1120 != pmStack_114c || (iStack_112c != iStack_1160))" ( (binary_expression "pmStack_1120 != pmStack_114c || (iStack_112c != iStack_1160)" (binary_expression "pmStack_1120 != pmStack_114c" identifier != identifier) || (parenthesized_expression "(iStack_112c != iStack_1160)" ( (binary_expression "iStack_112c != iStack_1160" identifier != identifier) ))) )) || (parenthesized_expression "(iStack_113c != iStack_1164)" ( (binary_expression "iStack_113c != iStack_1164" identifier != identifier) ))) )) )) (compound_statement "{\n        pmVar13 = pmVar14;\n        pmVar12 = unaff_s1;\n        if (pmStack_1124 == pmStack_1134) {\n          pmVar11 = (mbstate_t *)((int)pmStack_1140 * 2);\n          pmVar10 = (mbstate_t *)((int)&pmVar11->__count + 1);\n          if (pmStack_1124 == pmStack_1148) {\n            pmVar2 = (mbstate_t *)(**(code **)(puStack_1170 + -0x6158))(pmVar10);\n            if (pmVar2 == (mbstate_t *)0x0) goto LAB_000dfb48;\n            (**(code **)(puStack_1170 + -0x605c))(pmVar2,pmStack_1148,pmStack_1140);\n          }\n          else {\n            pmVar2 = (mbstate_t *)(**(code **)(puStack_1170 + -0x614c))(pmStack_1134);\n            puVar26 = puVar28;\n            if (pmVar2 == (mbstate_t *)0x0) goto LAB_000dfb18;\n          }\n          pmVar13 = pmStack_1140;\n          unaff_s3 = (mbstate_t *)((int)&pmStack_1140->__count + (int)&pmVar2->__count);\n          pmStack_1124 = unaff_s3;\n          (**(code **)(puStack_1170 + -0x605c))(unaff_s3,pmVar2,pmStack_1140);\n          *(char *)((int)&pmVar13->__count + (int)&unaff_s3->__count) = '\0';\n          pmStack_1140 = pmVar11;\n          pmStack_1134 = pmVar2;\n        }\n        pmVar11 = (mbstate_t *)((int)&pmStack_1124[-1].__value + 1);\n        pmVar10 = pmVar11;\n        in_a2 = pmStack_1128;\n        pmStack_1124 = pmVar11;\n        iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,pmVar11);\n        pmVar14 = pmVar13;\n        puVar19 = puVar28;\n        if (iVar3 < 0) {\nLAB_000dfb00:\n          puVar28 = puVar19;\n          if ((pmStack_1134 != pmStack_1148) &&\n             (puVar26 = puVar19, pmStack_1134 != (mbstate_t *)0x0)) {\nLAB_000dfb18:\n            pcVar18 = *(code **)(puStack_1170 + -0x6204);\n            puVar27 = puVar26;\nLAB_000dfb1c:\n            pmVar11 = (mbstate_t *)(*pcVar18)();\n            iVar3 = pmVar11->__count;\n            (**(code **)(puStack_1170 + -0x6044))(pmStack_1134);\n            pmVar11->__count = iVar3;\n            unaff_s1 = pmVar12;\n            puVar28 = puVar27;\n          }\n          goto LAB_000dfb48;\n        }\n        pmStack_1130 = (mbstate_t *)amStack_1118[0].__count;\n        iStack_1150 = iStack_1108;\n        iStack_1154 = iStack_1104;\n        iStack_111c = (**(code **)(puStack_1170 + -0x633c))(pmVar11);\n        if (iStack_111c == 0) goto LAB_000dfb00;\n        unaff_s3 = (mbstate_t *)((int)pmStack_1140 + ((int)pmStack_1134 - (int)pmVar11));\n        unaff_s5 = (mbstate_t *)((int)&unaff_s3->__count + 1);\nLAB_000df8ec:\n        do {\n          pcVar18 = *(code **)(puStack_1170 + -0x62c8);\n          do {\n            do {\n              piVar4 = (int *)(*pcVar18)(iStack_111c);\n              while( true ) {\n                if (piVar4 == (int *)0x0) {\n                  pmVar11 = (mbstate_t *)(**(code **)(puStack_1170 + -0x6204))();\n                  iVar3 = iStack_1138;\n                  if (pmVar11->__count != 0) {\n                    iVar3 = pmVar11->__count;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  pmVar11->__count = iVar3;\n                  pmVar14 = pmVar13;\n                  goto LAB_000dfb00;\n                }\n                if (*(char *)((int)piVar4 + 0x13) != '.') break;\n                pmVar10 = (mbstate_t *)0xffff0000;\n                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;\n                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;\n                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);\n              }\n            } while ((pmStack_1120 == pmStack_1130) &&\n                    ((pcVar18 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c))));\n            pmVar11 = (mbstate_t *)((int)piVar4 + 0x13);\n            pmVar5 = (mbstate_t *)(**(code **)(puStack_1170 + -0x61b0))(pmVar11);\n            iVar3 = -((uint)((int)&pmVar5[1].__count + (int)&unaff_s5->__count) & 0xfffffff8);\n            puVar20 = puVar19 + iVar3;\n            puVar21 = puVar19 + iVar3;\n            puVar22 = puVar19 + iVar3;\n            puVar27 = puVar19 + iVar3;\n            puVar23 = puVar19 + iVar3;\n            puVar28 = puVar19 + iVar3;\n            puVar24 = puVar19 + iVar3;\n            puVar26 = puVar19 + iVar3;\n            puVar25 = puVar19 + iVar3;\n            pmVar13 = (mbstate_t *)(puVar19 + iVar3 + 0x10);\n            (**(code **)(puStack_1170 + -0x605c))(pmVar13,pmStack_1124,unaff_s3);\n            puVar17 = puStack_1170;\n            *(char *)((int)pmVar13 + (int)unaff_s3) = '/';\n            (**(code **)(puVar17 + -0x605c))\n                      ((char *)((int)&unaff_s5->__count + (int)&pmVar13->__count),pmVar11,\n                       (char *)((int)&pmVar5->__count + 1));\n            pmVar10 = pmVar13;\n            in_a2 = pmStack_1128;\n            iVar6 = (**(code **)(puStack_1170 + -0x632c))(3,pmVar13);\n            if (iVar6 < 0) {\n              piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))();\n              iStack_1138 = *piVar4;\n            }\n            pmVar14 = pmStack_1158;\n            pcVar18 = *(code **)(puStack_1170 + -0x62c8);\n            puVar19 = puVar19 + iVar3;\n          } while (((mbstate_t *)amStack_1118[0].__count != pmStack_1120) ||\n                  (puVar19 = puVar20, iStack_1108 != iStack_112c));\n          puVar19 = puVar21;\n        } while (iStack_1104 != iStack_113c);\n        pmVar2 = pmVar11;\n        unaff_s3 = (mbstate_t *)((int)pmVar16 - (int)unaff_s1);\n        unaff_s5 = unaff_s6;\n        while (unaff_s3 <= pmVar5) {\n          unaff_s6 = (mbstate_t *)((int)unaff_s5 << 1);\n          pmStack_1120 = pmVar2;\n          if (pmVar12 == pmVar14) {\n            unaff_s1 = (mbstate_t *)(**(code **)(puStack_1170 + -0x6158))(unaff_s6);\n            if (unaff_s1 == (mbstate_t *)0x0) {\n              pcVar9 = (char *)0x0;\n              pmStack_44 = pmVar10;\n              if ((pmStack_1134 == pmStack_1148) ||\n                 (pmVar12 = pmStack_1158, puVar28 = puVar24, pmStack_1134 == (mbstate_t *)0x0))\n              goto LAB_000dfb60;\n              goto LAB_000dfb18;\n            }\n          }\n          else {\n            pmVar10 = unaff_s6;\n            unaff_s1 = (mbstate_t *)(**(code **)(puStack_1170 + -0x614c))(pmVar12,unaff_s6);\n            if (unaff_s1 == (mbstate_t *)0x0) {\n              pcVar18 = *(code **)(puStack_1170 + -0x6044);\n              puVar28 = puVar22;\n              if (pmStack_1134 == pmStack_1148) goto LAB_000dfcc0;\n              pcVar18 = *(code **)(puStack_1170 + -0x6204);\n              if (pmStack_1134 != (mbstate_t *)0x0) goto LAB_000dfb1c;\n              pcVar18 = *(code **)(puStack_1170 + -0x6044);\n              puVar28 = puVar23;\n              goto LAB_000dfcc0;\n            }\n            pmVar16 = (mbstate_t *)((int)&unaff_s3->__count + (int)&unaff_s1->__count);\n          }\n          pmVar11 = (mbstate_t *)((int)&unaff_s3->__count + (int)&unaff_s5->__count);\n          in_a2 = (mbstate_t *)((int)unaff_s5 - (int)unaff_s3);\n          pmVar15 = (mbstate_t *)((int)&pmVar11->__count + (int)&unaff_s1->__count);\n          (**(code **)(puStack_1170 + -0x605c))(pmVar15);\n          pmVar2 = pmStack_1120;\n          pmVar13 = pmVar14;\n          unaff_s3 = pmVar11;\n          pmVar10 = pmVar16;\n          pmVar12 = unaff_s1;\n          unaff_s5 = unaff_s6;\n          pmVar16 = pmVar15;\n        }\n        iVar3 = (**(code **)(puStack_1170 + -0x605c))((int)pmVar16 - (int)pmVar5);\n        pmVar16 = (mbstate_t *)(iVar3 - 1);\n        pcVar18 = *(code **)(puStack_1170 + -0x6338);\n        *(undefined1 *)(iVar3 + -1) = 0x2f;\n        (*pcVar18)(iStack_111c);\n        iStack_112c = iStack_1150;\n        pmStack_1120 = pmStack_1130;\n        in_a2 = pmVar5;\n        unaff_s1 = pmVar12;\n        pmVar14 = pmVar13;\n        unaff_s6 = unaff_s5;\n        puVar28 = puVar25;\n        iStack_113c = iStack_1154;\n      }" { (expression_statement "pmVar13 = pmVar14;" (assignment_expression "pmVar13 = pmVar14" identifier = identifier) ;) (expression_statement "pmVar12 = unaff_s1;" (assignment_expression "pmVar12 = unaff_s1" identifier = identifier) ;) (if_statement "if (pmStack_1124 == pmStack_1134) {\n          pmVar11 = (mbstate_t *)((int)pmStack_1140 * 2);\n          pmVar10 = (mbstate_t *)((int)&pmVar11->__count + 1);\n          if (pmStack_1124 == pmStack_1148) {\n            pmVar2 = (mbstate_t *)(**(code **)(puStack_1170 + -0x6158))(pmVar10);\n            if (pmVar2 == (mbstate_t *)0x0) goto LAB_000dfb48;\n            (**(code **)(puStack_1170 + -0x605c))(pmVar2,pmStack_1148,pmStack_1140);\n          }\n          else {\n            pmVar2 = (mbstate_t *)(**(code **)(puStack_1170 + -0x614c))(pmStack_1134);\n            puVar26 = puVar28;\n            if (pmVar2 == (mbstate_t *)0x0) goto LAB_000dfb18;\n          }\n          pmVar13 = pmStack_1140;\n          unaff_s3 = (mbstate_t *)((int)&pmStack_1140->__count + (int)&pmVar2->__count);\n          pmStack_1124 = unaff_s3;\n          (**(code **)(puStack_1170 + -0x605c))(unaff_s3,pmVar2,pmStack_1140);\n          *(char *)((int)&pmVar13->__count + (int)&unaff_s3->__count) = '\0';\n          pmStack_1140 = pmVar11;\n          pmStack_1134 = pmVar2;\n        }" if (parenthesized_expression "(pmStack_1124 == pmStack_1134)" ( (binary_expression "pmStack_1124 == pmStack_1134" identifier == identifier) )) (compound_statement "{\n          pmVar11 = (mbstate_t *)((int)pmStack_1140 * 2);\n          pmVar10 = (mbstate_t *)((int)&pmVar11->__count + 1);\n          if (pmStack_1124 == pmStack_1148) {\n            pmVar2 = (mbstate_t *)(**(code **)(puStack_1170 + -0x6158))(pmVar10);\n            if (pmVar2 == (mbstate_t *)0x0) goto LAB_000dfb48;\n            (**(code **)(puStack_1170 + -0x605c))(pmVar2,pmStack_1148,pmStack_1140);\n          }\n          else {\n            pmVar2 = (mbstate_t *)(**(code **)(puStack_1170 + -0x614c))(pmStack_1134);\n            puVar26 = puVar28;\n            if (pmVar2 == (mbstate_t *)0x0) goto LAB_000dfb18;\n          }\n          pmVar13 = pmStack_1140;\n          unaff_s3 = (mbstate_t *)((int)&pmStack_1140->__count + (int)&pmVar2->__count);\n          pmStack_1124 = unaff_s3;\n          (**(code **)(puStack_1170 + -0x605c))(unaff_s3,pmVar2,pmStack_1140);\n          *(char *)((int)&pmVar13->__count + (int)&unaff_s3->__count) = '\0';\n          pmStack_1140 = pmVar11;\n          pmStack_1134 = pmVar2;\n        }" { (expression_statement "pmVar11 = (mbstate_t *)((int)pmStack_1140 * 2);" (assignment_expression "pmVar11 = (mbstate_t *)((int)pmStack_1140 * 2)" identifier = (cast_expression "(mbstate_t *)((int)pmStack_1140 * 2)" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pmStack_1140 * 2)" ( (binary_expression "(int)pmStack_1140 * 2" (cast_expression "(int)pmStack_1140" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ;) (expression_statement "pmVar10 = (mbstate_t *)((int)&pmVar11->__count + 1);" (assignment_expression "pmVar10 = (mbstate_t *)((int)&pmVar11->__count + 1)" identifier = (cast_expression "(mbstate_t *)((int)&pmVar11->__count + 1)" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pmVar11->__count + 1)" ( (binary_expression "(int)&pmVar11->__count + 1" (cast_expression "(int)&pmVar11->__count" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pmVar11->__count" & (field_expression "pmVar11->__count" identifier -> field_identifier))) + number_literal) )))) ;) (if_statement "if (pmStack_1124 == pmStack_1148) {\n            pmVar2 = (mbstate_t *)(**(code **)(puStack_1170 + -0x6158))(pmVar10);\n            if (pmVar2 == (mbstate_t *)0x0) goto LAB_000dfb48;\n            (**(code **)(puStack_1170 + -0x605c))(pmVar2,pmStack_1148,pmStack_1140);\n          }\n          else {\n            pmVar2 = (mbstate_t *)(**(code **)(puStack_1170 + -0x614c))(pmStack_1134);\n            puVar26 = puVar28;\n            if (pmVar2 == (mbstate_t *)0x0) goto LAB_000dfb18;\n          }" if (parenthesized_expression "(pmStack_1124 == pmStack_1148)" ( (binary_expression "pmStack_1124 == pmStack_1148" identifier == identifier) )) (compound_statement "{\n            pmVar2 = (mbstate_t *)(**(code **)(puStack_1170 + -0x6158))(pmVar10);\n            if (pmVar2 == (mbstate_t *)0x0) goto LAB_000dfb48;\n            (**(code **)(puStack_1170 + -0x605c))(pmVar2,pmStack_1148,pmStack_1140);\n          }" { (expression_statement "pmVar2 = (mbstate_t *)(**(code **)(puStack_1170 + -0x6158))(pmVar10);" (assignment_expression "pmVar2 = (mbstate_t *)(**(code **)(puStack_1170 + -0x6158))(pmVar10)" identifier = (cast_expression "(mbstate_t *)(**(code **)(puStack_1170 + -0x6158))(pmVar10)" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puStack_1170 + -0x6158))(pmVar10)" (parenthesized_expression "(**(code **)(puStack_1170 + -0x6158))" ( (pointer_expression "**(code **)(puStack_1170 + -0x6158)" * (pointer_expression "*(code **)(puStack_1170 + -0x6158)" * (cast_expression "(code **)(puStack_1170 + -0x6158)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x6158)" ( (binary_expression "puStack_1170 + -0x6158" identifier + number_literal) ))))) )) (argument_list "(pmVar10)" ( identifier ))))) ;) (if_statement "if (pmVar2 == (mbstate_t *)0x0) goto LAB_000dfb48;" if (parenthesized_expression "(pmVar2 == (mbstate_t *)0x0)" ( (binary_expression "pmVar2 == (mbstate_t *)0x0" identifier == (cast_expression "(mbstate_t *)0x0" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000dfb48;" goto statement_identifier ;)) (expression_statement "(**(code **)(puStack_1170 + -0x605c))(pmVar2,pmStack_1148,pmStack_1140);" (call_expression "(**(code **)(puStack_1170 + -0x605c))(pmVar2,pmStack_1148,pmStack_1140)" (parenthesized_expression "(**(code **)(puStack_1170 + -0x605c))" ( (pointer_expression "**(code **)(puStack_1170 + -0x605c)" * (pointer_expression "*(code **)(puStack_1170 + -0x605c)" * (cast_expression "(code **)(puStack_1170 + -0x605c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x605c)" ( (binary_expression "puStack_1170 + -0x605c" identifier + number_literal) ))))) )) (argument_list "(pmVar2,pmStack_1148,pmStack_1140)" ( identifier , identifier , identifier ))) ;) }) (else_clause "else {\n            pmVar2 = (mbstate_t *)(**(code **)(puStack_1170 + -0x614c))(pmStack_1134);\n            puVar26 = puVar28;\n            if (pmVar2 == (mbstate_t *)0x0) goto LAB_000dfb18;\n          }" else (compound_statement "{\n            pmVar2 = (mbstate_t *)(**(code **)(puStack_1170 + -0x614c))(pmStack_1134);\n            puVar26 = puVar28;\n            if (pmVar2 == (mbstate_t *)0x0) goto LAB_000dfb18;\n          }" { (expression_statement "pmVar2 = (mbstate_t *)(**(code **)(puStack_1170 + -0x614c))(pmStack_1134);" (assignment_expression "pmVar2 = (mbstate_t *)(**(code **)(puStack_1170 + -0x614c))(pmStack_1134)" identifier = (cast_expression "(mbstate_t *)(**(code **)(puStack_1170 + -0x614c))(pmStack_1134)" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puStack_1170 + -0x614c))(pmStack_1134)" (parenthesized_expression "(**(code **)(puStack_1170 + -0x614c))" ( (pointer_expression "**(code **)(puStack_1170 + -0x614c)" * (pointer_expression "*(code **)(puStack_1170 + -0x614c)" * (cast_expression "(code **)(puStack_1170 + -0x614c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x614c)" ( (binary_expression "puStack_1170 + -0x614c" identifier + number_literal) ))))) )) (argument_list "(pmStack_1134)" ( identifier ))))) ;) (expression_statement "puVar26 = puVar28;" (assignment_expression "puVar26 = puVar28" identifier = identifier) ;) (if_statement "if (pmVar2 == (mbstate_t *)0x0) goto LAB_000dfb18;" if (parenthesized_expression "(pmVar2 == (mbstate_t *)0x0)" ( (binary_expression "pmVar2 == (mbstate_t *)0x0" identifier == (cast_expression "(mbstate_t *)0x0" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000dfb18;" goto statement_identifier ;)) }))) (expression_statement "pmVar13 = pmStack_1140;" (assignment_expression "pmVar13 = pmStack_1140" identifier = identifier) ;) (expression_statement "unaff_s3 = (mbstate_t *)((int)&pmStack_1140->__count + (int)&pmVar2->__count);" (assignment_expression "unaff_s3 = (mbstate_t *)((int)&pmStack_1140->__count + (int)&pmVar2->__count)" identifier = (cast_expression "(mbstate_t *)((int)&pmStack_1140->__count + (int)&pmVar2->__count)" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pmStack_1140->__count + (int)&pmVar2->__count)" ( (binary_expression "(int)&pmStack_1140->__count + (int)&pmVar2->__count" (cast_expression "(int)&pmStack_1140->__count" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pmStack_1140->__count" & (field_expression "pmStack_1140->__count" identifier -> field_identifier))) + (cast_expression "(int)&pmVar2->__count" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pmVar2->__count" & (field_expression "pmVar2->__count" identifier -> field_identifier)))) )))) ;) (expression_statement "pmStack_1124 = unaff_s3;" (assignment_expression "pmStack_1124 = unaff_s3" identifier = identifier) ;) (expression_statement "(**(code **)(puStack_1170 + -0x605c))(unaff_s3,pmVar2,pmStack_1140);" (call_expression "(**(code **)(puStack_1170 + -0x605c))(unaff_s3,pmVar2,pmStack_1140)" (parenthesized_expression "(**(code **)(puStack_1170 + -0x605c))" ( (pointer_expression "**(code **)(puStack_1170 + -0x605c)" * (pointer_expression "*(code **)(puStack_1170 + -0x605c)" * (cast_expression "(code **)(puStack_1170 + -0x605c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x605c)" ( (binary_expression "puStack_1170 + -0x605c" identifier + number_literal) ))))) )) (argument_list "(unaff_s3,pmVar2,pmStack_1140)" ( identifier , identifier , identifier ))) ;) (expression_statement "*(char *)((int)&pmVar13->__count + (int)&unaff_s3->__count) = '\0';" (assignment_expression "*(char *)((int)&pmVar13->__count + (int)&unaff_s3->__count) = '\0'" (pointer_expression "*(char *)((int)&pmVar13->__count + (int)&unaff_s3->__count)" * (cast_expression "(char *)((int)&pmVar13->__count + (int)&unaff_s3->__count)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pmVar13->__count + (int)&unaff_s3->__count)" ( (binary_expression "(int)&pmVar13->__count + (int)&unaff_s3->__count" (cast_expression "(int)&pmVar13->__count" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pmVar13->__count" & (field_expression "pmVar13->__count" identifier -> field_identifier))) + (cast_expression "(int)&unaff_s3->__count" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&unaff_s3->__count" & (field_expression "unaff_s3->__count" identifier -> field_identifier)))) )))) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pmStack_1140 = pmVar11;" (assignment_expression "pmStack_1140 = pmVar11" identifier = identifier) ;) (expression_statement "pmStack_1134 = pmVar2;" (assignment_expression "pmStack_1134 = pmVar2" identifier = identifier) ;) })) (expression_statement "pmVar11 = (mbstate_t *)((int)&pmStack_1124[-1].__value + 1);" (assignment_expression "pmVar11 = (mbstate_t *)((int)&pmStack_1124[-1].__value + 1)" identifier = (cast_expression "(mbstate_t *)((int)&pmStack_1124[-1].__value + 1)" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pmStack_1124[-1].__value + 1)" ( (binary_expression "(int)&pmStack_1124[-1].__value + 1" (cast_expression "(int)&pmStack_1124[-1].__value" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pmStack_1124[-1].__value" & (field_expression "pmStack_1124[-1].__value" (subscript_expression "pmStack_1124[-1]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) ;) (expression_statement "pmVar10 = pmVar11;" (assignment_expression "pmVar10 = pmVar11" identifier = identifier) ;) (expression_statement "in_a2 = pmStack_1128;" (assignment_expression "in_a2 = pmStack_1128" identifier = identifier) ;) (expression_statement "pmStack_1124 = pmVar11;" (assignment_expression "pmStack_1124 = pmVar11" identifier = identifier) ;) (expression_statement "iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,pmVar11);" (assignment_expression "iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,pmVar11)" identifier = (call_expression "(**(code **)(puStack_1170 + -0x630c))(3,pmVar11)" (parenthesized_expression "(**(code **)(puStack_1170 + -0x630c))" ( (pointer_expression "**(code **)(puStack_1170 + -0x630c)" * (pointer_expression "*(code **)(puStack_1170 + -0x630c)" * (cast_expression "(code **)(puStack_1170 + -0x630c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x630c)" ( (binary_expression "puStack_1170 + -0x630c" identifier + number_literal) ))))) )) (argument_list "(3,pmVar11)" ( number_literal , identifier )))) ;) (expression_statement "pmVar14 = pmVar13;" (assignment_expression "pmVar14 = pmVar13" identifier = identifier) ;) (expression_statement "puVar19 = puVar28;" (assignment_expression "puVar19 = puVar28" identifier = identifier) ;) (if_statement "if (iVar3 < 0) {\nLAB_000dfb00:\n          puVar28 = puVar19;\n          if ((pmStack_1134 != pmStack_1148) &&\n             (puVar26 = puVar19, pmStack_1134 != (mbstate_t *)0x0)) {\nLAB_000dfb18:\n            pcVar18 = *(code **)(puStack_1170 + -0x6204);\n            puVar27 = puVar26;\nLAB_000dfb1c:\n            pmVar11 = (mbstate_t *)(*pcVar18)();\n            iVar3 = pmVar11->__count;\n            (**(code **)(puStack_1170 + -0x6044))(pmStack_1134);\n            pmVar11->__count = iVar3;\n            unaff_s1 = pmVar12;\n            puVar28 = puVar27;\n          }\n          goto LAB_000dfb48;\n        }" if (parenthesized_expression "(iVar3 < 0)" ( (binary_expression "iVar3 < 0" identifier < number_literal) )) (compound_statement "{\nLAB_000dfb00:\n          puVar28 = puVar19;\n          if ((pmStack_1134 != pmStack_1148) &&\n             (puVar26 = puVar19, pmStack_1134 != (mbstate_t *)0x0)) {\nLAB_000dfb18:\n            pcVar18 = *(code **)(puStack_1170 + -0x6204);\n            puVar27 = puVar26;\nLAB_000dfb1c:\n            pmVar11 = (mbstate_t *)(*pcVar18)();\n            iVar3 = pmVar11->__count;\n            (**(code **)(puStack_1170 + -0x6044))(pmStack_1134);\n            pmVar11->__count = iVar3;\n            unaff_s1 = pmVar12;\n            puVar28 = puVar27;\n          }\n          goto LAB_000dfb48;\n        }" { (labeled_statement "LAB_000dfb00:\n          puVar28 = puVar19;" statement_identifier : (expression_statement "puVar28 = puVar19;" (assignment_expression "puVar28 = puVar19" identifier = identifier) ;)) (if_statement "if ((pmStack_1134 != pmStack_1148) &&\n             (puVar26 = puVar19, pmStack_1134 != (mbstate_t *)0x0)) {\nLAB_000dfb18:\n            pcVar18 = *(code **)(puStack_1170 + -0x6204);\n            puVar27 = puVar26;\nLAB_000dfb1c:\n            pmVar11 = (mbstate_t *)(*pcVar18)();\n            iVar3 = pmVar11->__count;\n            (**(code **)(puStack_1170 + -0x6044))(pmStack_1134);\n            pmVar11->__count = iVar3;\n            unaff_s1 = pmVar12;\n            puVar28 = puVar27;\n          }" if (parenthesized_expression "((pmStack_1134 != pmStack_1148) &&\n             (puVar26 = puVar19, pmStack_1134 != (mbstate_t *)0x0))" ( (binary_expression "(pmStack_1134 != pmStack_1148) &&\n             (puVar26 = puVar19, pmStack_1134 != (mbstate_t *)0x0)" (parenthesized_expression "(pmStack_1134 != pmStack_1148)" ( (binary_expression "pmStack_1134 != pmStack_1148" identifier != identifier) )) && (parenthesized_expression "(puVar26 = puVar19, pmStack_1134 != (mbstate_t *)0x0)" ( (comma_expression "puVar26 = puVar19, pmStack_1134 != (mbstate_t *)0x0" (assignment_expression "puVar26 = puVar19" identifier = identifier) , (binary_expression "pmStack_1134 != (mbstate_t *)0x0" identifier != (cast_expression "(mbstate_t *)0x0" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\nLAB_000dfb18:\n            pcVar18 = *(code **)(puStack_1170 + -0x6204);\n            puVar27 = puVar26;\nLAB_000dfb1c:\n            pmVar11 = (mbstate_t *)(*pcVar18)();\n            iVar3 = pmVar11->__count;\n            (**(code **)(puStack_1170 + -0x6044))(pmStack_1134);\n            pmVar11->__count = iVar3;\n            unaff_s1 = pmVar12;\n            puVar28 = puVar27;\n          }" { (labeled_statement "LAB_000dfb18:\n            pcVar18 = *(code **)(puStack_1170 + -0x6204);" statement_identifier : (expression_statement "pcVar18 = *(code **)(puStack_1170 + -0x6204);" (assignment_expression "pcVar18 = *(code **)(puStack_1170 + -0x6204)" identifier = (pointer_expression "*(code **)(puStack_1170 + -0x6204)" * (cast_expression "(code **)(puStack_1170 + -0x6204)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x6204)" ( (binary_expression "puStack_1170 + -0x6204" identifier + number_literal) ))))) ;)) (expression_statement "puVar27 = puVar26;" (assignment_expression "puVar27 = puVar26" identifier = identifier) ;) (labeled_statement "LAB_000dfb1c:\n            pmVar11 = (mbstate_t *)(*pcVar18)();" statement_identifier : (expression_statement "pmVar11 = (mbstate_t *)(*pcVar18)();" (assignment_expression "pmVar11 = (mbstate_t *)(*pcVar18)()" identifier = (cast_expression "(mbstate_t *)(*pcVar18)()" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar18)()" (parenthesized_expression "(*pcVar18)" ( (pointer_expression "*pcVar18" * identifier) )) (argument_list "()" ( ))))) ;)) (expression_statement "iVar3 = pmVar11->__count;" (assignment_expression "iVar3 = pmVar11->__count" identifier = (field_expression "pmVar11->__count" identifier -> field_identifier)) ;) (expression_statement "(**(code **)(puStack_1170 + -0x6044))(pmStack_1134);" (call_expression "(**(code **)(puStack_1170 + -0x6044))(pmStack_1134)" (parenthesized_expression "(**(code **)(puStack_1170 + -0x6044))" ( (pointer_expression "**(code **)(puStack_1170 + -0x6044)" * (pointer_expression "*(code **)(puStack_1170 + -0x6044)" * (cast_expression "(code **)(puStack_1170 + -0x6044)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x6044)" ( (binary_expression "puStack_1170 + -0x6044" identifier + number_literal) ))))) )) (argument_list "(pmStack_1134)" ( identifier ))) ;) (expression_statement "pmVar11->__count = iVar3;" (assignment_expression "pmVar11->__count = iVar3" (field_expression "pmVar11->__count" identifier -> field_identifier) = identifier) ;) (expression_statement "unaff_s1 = pmVar12;" (assignment_expression "unaff_s1 = pmVar12" identifier = identifier) ;) (expression_statement "puVar28 = puVar27;" (assignment_expression "puVar28 = puVar27" identifier = identifier) ;) })) (goto_statement "goto LAB_000dfb48;" goto statement_identifier ;) })) (expression_statement "pmStack_1130 = (mbstate_t *)amStack_1118[0].__count;" (assignment_expression "pmStack_1130 = (mbstate_t *)amStack_1118[0].__count" identifier = (cast_expression "(mbstate_t *)amStack_1118[0].__count" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "amStack_1118[0].__count" (subscript_expression "amStack_1118[0]" identifier [ number_literal ]) . field_identifier))) ;) (expression_statement "iStack_1150 = iStack_1108;" (assignment_expression "iStack_1150 = iStack_1108" identifier = identifier) ;) (expression_statement "iStack_1154 = iStack_1104;" (assignment_expression "iStack_1154 = iStack_1104" identifier = identifier) ;) (expression_statement "iStack_111c = (**(code **)(puStack_1170 + -0x633c))(pmVar11);" (assignment_expression "iStack_111c = (**(code **)(puStack_1170 + -0x633c))(pmVar11)" identifier = (call_expression "(**(code **)(puStack_1170 + -0x633c))(pmVar11)" (parenthesized_expression "(**(code **)(puStack_1170 + -0x633c))" ( (pointer_expression "**(code **)(puStack_1170 + -0x633c)" * (pointer_expression "*(code **)(puStack_1170 + -0x633c)" * (cast_expression "(code **)(puStack_1170 + -0x633c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x633c)" ( (binary_expression "puStack_1170 + -0x633c" identifier + number_literal) ))))) )) (argument_list "(pmVar11)" ( identifier )))) ;) (if_statement "if (iStack_111c == 0) goto LAB_000dfb00;" if (parenthesized_expression "(iStack_111c == 0)" ( (binary_expression "iStack_111c == 0" identifier == number_literal) )) (goto_statement "goto LAB_000dfb00;" goto statement_identifier ;)) (expression_statement "unaff_s3 = (mbstate_t *)((int)pmStack_1140 + ((int)pmStack_1134 - (int)pmVar11));" (assignment_expression "unaff_s3 = (mbstate_t *)((int)pmStack_1140 + ((int)pmStack_1134 - (int)pmVar11))" identifier = (cast_expression "(mbstate_t *)((int)pmStack_1140 + ((int)pmStack_1134 - (int)pmVar11))" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pmStack_1140 + ((int)pmStack_1134 - (int)pmVar11))" ( (binary_expression "(int)pmStack_1140 + ((int)pmStack_1134 - (int)pmVar11)" (cast_expression "(int)pmStack_1140" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "((int)pmStack_1134 - (int)pmVar11)" ( (binary_expression "(int)pmStack_1134 - (int)pmVar11" (cast_expression "(int)pmStack_1134" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pmVar11" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) ;) (expression_statement "unaff_s5 = (mbstate_t *)((int)&unaff_s3->__count + 1);" (assignment_expression "unaff_s5 = (mbstate_t *)((int)&unaff_s3->__count + 1)" identifier = (cast_expression "(mbstate_t *)((int)&unaff_s3->__count + 1)" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&unaff_s3->__count + 1)" ( (binary_expression "(int)&unaff_s3->__count + 1" (cast_expression "(int)&unaff_s3->__count" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&unaff_s3->__count" & (field_expression "unaff_s3->__count" identifier -> field_identifier))) + number_literal) )))) ;) (labeled_statement "LAB_000df8ec:\n        do {\n          pcVar18 = *(code **)(puStack_1170 + -0x62c8);\n          do {\n            do {\n              piVar4 = (int *)(*pcVar18)(iStack_111c);\n              while( true ) {\n                if (piVar4 == (int *)0x0) {\n                  pmVar11 = (mbstate_t *)(**(code **)(puStack_1170 + -0x6204))();\n                  iVar3 = iStack_1138;\n                  if (pmVar11->__count != 0) {\n                    iVar3 = pmVar11->__count;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  pmVar11->__count = iVar3;\n                  pmVar14 = pmVar13;\n                  goto LAB_000dfb00;\n                }\n                if (*(char *)((int)piVar4 + 0x13) != '.') break;\n                pmVar10 = (mbstate_t *)0xffff0000;\n                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;\n                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;\n                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);\n              }\n            } while ((pmStack_1120 == pmStack_1130) &&\n                    ((pcVar18 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c))));\n            pmVar11 = (mbstate_t *)((int)piVar4 + 0x13);\n            pmVar5 = (mbstate_t *)(**(code **)(puStack_1170 + -0x61b0))(pmVar11);\n            iVar3 = -((uint)((int)&pmVar5[1].__count + (int)&unaff_s5->__count) & 0xfffffff8);\n            puVar20 = puVar19 + iVar3;\n            puVar21 = puVar19 + iVar3;\n            puVar22 = puVar19 + iVar3;\n            puVar27 = puVar19 + iVar3;\n            puVar23 = puVar19 + iVar3;\n            puVar28 = puVar19 + iVar3;\n            puVar24 = puVar19 + iVar3;\n            puVar26 = puVar19 + iVar3;\n            puVar25 = puVar19 + iVar3;\n            pmVar13 = (mbstate_t *)(puVar19 + iVar3 + 0x10);\n            (**(code **)(puStack_1170 + -0x605c))(pmVar13,pmStack_1124,unaff_s3);\n            puVar17 = puStack_1170;\n            *(char *)((int)pmVar13 + (int)unaff_s3) = '/';\n            (**(code **)(puVar17 + -0x605c))\n                      ((char *)((int)&unaff_s5->__count + (int)&pmVar13->__count),pmVar11,\n                       (char *)((int)&pmVar5->__count + 1));\n            pmVar10 = pmVar13;\n            in_a2 = pmStack_1128;\n            iVar6 = (**(code **)(puStack_1170 + -0x632c))(3,pmVar13);\n            if (iVar6 < 0) {\n              piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))();\n              iStack_1138 = *piVar4;\n            }\n            pmVar14 = pmStack_1158;\n            pcVar18 = *(code **)(puStack_1170 + -0x62c8);\n            puVar19 = puVar19 + iVar3;\n          } while (((mbstate_t *)amStack_1118[0].__count != pmStack_1120) ||\n                  (puVar19 = puVar20, iStack_1108 != iStack_112c));\n          puVar19 = puVar21;\n        } while (iStack_1104 != iStack_113c);" statement_identifier : (do_statement "do {\n          pcVar18 = *(code **)(puStack_1170 + -0x62c8);\n          do {\n            do {\n              piVar4 = (int *)(*pcVar18)(iStack_111c);\n              while( true ) {\n                if (piVar4 == (int *)0x0) {\n                  pmVar11 = (mbstate_t *)(**(code **)(puStack_1170 + -0x6204))();\n                  iVar3 = iStack_1138;\n                  if (pmVar11->__count != 0) {\n                    iVar3 = pmVar11->__count;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  pmVar11->__count = iVar3;\n                  pmVar14 = pmVar13;\n                  goto LAB_000dfb00;\n                }\n                if (*(char *)((int)piVar4 + 0x13) != '.') break;\n                pmVar10 = (mbstate_t *)0xffff0000;\n                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;\n                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;\n                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);\n              }\n            } while ((pmStack_1120 == pmStack_1130) &&\n                    ((pcVar18 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c))));\n            pmVar11 = (mbstate_t *)((int)piVar4 + 0x13);\n            pmVar5 = (mbstate_t *)(**(code **)(puStack_1170 + -0x61b0))(pmVar11);\n            iVar3 = -((uint)((int)&pmVar5[1].__count + (int)&unaff_s5->__count) & 0xfffffff8);\n            puVar20 = puVar19 + iVar3;\n            puVar21 = puVar19 + iVar3;\n            puVar22 = puVar19 + iVar3;\n            puVar27 = puVar19 + iVar3;\n            puVar23 = puVar19 + iVar3;\n            puVar28 = puVar19 + iVar3;\n            puVar24 = puVar19 + iVar3;\n            puVar26 = puVar19 + iVar3;\n            puVar25 = puVar19 + iVar3;\n            pmVar13 = (mbstate_t *)(puVar19 + iVar3 + 0x10);\n            (**(code **)(puStack_1170 + -0x605c))(pmVar13,pmStack_1124,unaff_s3);\n            puVar17 = puStack_1170;\n            *(char *)((int)pmVar13 + (int)unaff_s3) = '/';\n            (**(code **)(puVar17 + -0x605c))\n                      ((char *)((int)&unaff_s5->__count + (int)&pmVar13->__count),pmVar11,\n                       (char *)((int)&pmVar5->__count + 1));\n            pmVar10 = pmVar13;\n            in_a2 = pmStack_1128;\n            iVar6 = (**(code **)(puStack_1170 + -0x632c))(3,pmVar13);\n            if (iVar6 < 0) {\n              piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))();\n              iStack_1138 = *piVar4;\n            }\n            pmVar14 = pmStack_1158;\n            pcVar18 = *(code **)(puStack_1170 + -0x62c8);\n            puVar19 = puVar19 + iVar3;\n          } while (((mbstate_t *)amStack_1118[0].__count != pmStack_1120) ||\n                  (puVar19 = puVar20, iStack_1108 != iStack_112c));\n          puVar19 = puVar21;\n        } while (iStack_1104 != iStack_113c);" do (compound_statement "{\n          pcVar18 = *(code **)(puStack_1170 + -0x62c8);\n          do {\n            do {\n              piVar4 = (int *)(*pcVar18)(iStack_111c);\n              while( true ) {\n                if (piVar4 == (int *)0x0) {\n                  pmVar11 = (mbstate_t *)(**(code **)(puStack_1170 + -0x6204))();\n                  iVar3 = iStack_1138;\n                  if (pmVar11->__count != 0) {\n                    iVar3 = pmVar11->__count;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  pmVar11->__count = iVar3;\n                  pmVar14 = pmVar13;\n                  goto LAB_000dfb00;\n                }\n                if (*(char *)((int)piVar4 + 0x13) != '.') break;\n                pmVar10 = (mbstate_t *)0xffff0000;\n                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;\n                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;\n                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);\n              }\n            } while ((pmStack_1120 == pmStack_1130) &&\n                    ((pcVar18 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c))));\n            pmVar11 = (mbstate_t *)((int)piVar4 + 0x13);\n            pmVar5 = (mbstate_t *)(**(code **)(puStack_1170 + -0x61b0))(pmVar11);\n            iVar3 = -((uint)((int)&pmVar5[1].__count + (int)&unaff_s5->__count) & 0xfffffff8);\n            puVar20 = puVar19 + iVar3;\n            puVar21 = puVar19 + iVar3;\n            puVar22 = puVar19 + iVar3;\n            puVar27 = puVar19 + iVar3;\n            puVar23 = puVar19 + iVar3;\n            puVar28 = puVar19 + iVar3;\n            puVar24 = puVar19 + iVar3;\n            puVar26 = puVar19 + iVar3;\n            puVar25 = puVar19 + iVar3;\n            pmVar13 = (mbstate_t *)(puVar19 + iVar3 + 0x10);\n            (**(code **)(puStack_1170 + -0x605c))(pmVar13,pmStack_1124,unaff_s3);\n            puVar17 = puStack_1170;\n            *(char *)((int)pmVar13 + (int)unaff_s3) = '/';\n            (**(code **)(puVar17 + -0x605c))\n                      ((char *)((int)&unaff_s5->__count + (int)&pmVar13->__count),pmVar11,\n                       (char *)((int)&pmVar5->__count + 1));\n            pmVar10 = pmVar13;\n            in_a2 = pmStack_1128;\n            iVar6 = (**(code **)(puStack_1170 + -0x632c))(3,pmVar13);\n            if (iVar6 < 0) {\n              piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))();\n              iStack_1138 = *piVar4;\n            }\n            pmVar14 = pmStack_1158;\n            pcVar18 = *(code **)(puStack_1170 + -0x62c8);\n            puVar19 = puVar19 + iVar3;\n          } while (((mbstate_t *)amStack_1118[0].__count != pmStack_1120) ||\n                  (puVar19 = puVar20, iStack_1108 != iStack_112c));\n          puVar19 = puVar21;\n        }" { (expression_statement "pcVar18 = *(code **)(puStack_1170 + -0x62c8);" (assignment_expression "pcVar18 = *(code **)(puStack_1170 + -0x62c8)" identifier = (pointer_expression "*(code **)(puStack_1170 + -0x62c8)" * (cast_expression "(code **)(puStack_1170 + -0x62c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x62c8)" ( (binary_expression "puStack_1170 + -0x62c8" identifier + number_literal) ))))) ;) (do_statement "do {\n            do {\n              piVar4 = (int *)(*pcVar18)(iStack_111c);\n              while( true ) {\n                if (piVar4 == (int *)0x0) {\n                  pmVar11 = (mbstate_t *)(**(code **)(puStack_1170 + -0x6204))();\n                  iVar3 = iStack_1138;\n                  if (pmVar11->__count != 0) {\n                    iVar3 = pmVar11->__count;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  pmVar11->__count = iVar3;\n                  pmVar14 = pmVar13;\n                  goto LAB_000dfb00;\n                }\n                if (*(char *)((int)piVar4 + 0x13) != '.') break;\n                pmVar10 = (mbstate_t *)0xffff0000;\n                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;\n                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;\n                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);\n              }\n            } while ((pmStack_1120 == pmStack_1130) &&\n                    ((pcVar18 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c))));\n            pmVar11 = (mbstate_t *)((int)piVar4 + 0x13);\n            pmVar5 = (mbstate_t *)(**(code **)(puStack_1170 + -0x61b0))(pmVar11);\n            iVar3 = -((uint)((int)&pmVar5[1].__count + (int)&unaff_s5->__count) & 0xfffffff8);\n            puVar20 = puVar19 + iVar3;\n            puVar21 = puVar19 + iVar3;\n            puVar22 = puVar19 + iVar3;\n            puVar27 = puVar19 + iVar3;\n            puVar23 = puVar19 + iVar3;\n            puVar28 = puVar19 + iVar3;\n            puVar24 = puVar19 + iVar3;\n            puVar26 = puVar19 + iVar3;\n            puVar25 = puVar19 + iVar3;\n            pmVar13 = (mbstate_t *)(puVar19 + iVar3 + 0x10);\n            (**(code **)(puStack_1170 + -0x605c))(pmVar13,pmStack_1124,unaff_s3);\n            puVar17 = puStack_1170;\n            *(char *)((int)pmVar13 + (int)unaff_s3) = '/';\n            (**(code **)(puVar17 + -0x605c))\n                      ((char *)((int)&unaff_s5->__count + (int)&pmVar13->__count),pmVar11,\n                       (char *)((int)&pmVar5->__count + 1));\n            pmVar10 = pmVar13;\n            in_a2 = pmStack_1128;\n            iVar6 = (**(code **)(puStack_1170 + -0x632c))(3,pmVar13);\n            if (iVar6 < 0) {\n              piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))();\n              iStack_1138 = *piVar4;\n            }\n            pmVar14 = pmStack_1158;\n            pcVar18 = *(code **)(puStack_1170 + -0x62c8);\n            puVar19 = puVar19 + iVar3;\n          } while (((mbstate_t *)amStack_1118[0].__count != pmStack_1120) ||\n                  (puVar19 = puVar20, iStack_1108 != iStack_112c));" do (compound_statement "{\n            do {\n              piVar4 = (int *)(*pcVar18)(iStack_111c);\n              while( true ) {\n                if (piVar4 == (int *)0x0) {\n                  pmVar11 = (mbstate_t *)(**(code **)(puStack_1170 + -0x6204))();\n                  iVar3 = iStack_1138;\n                  if (pmVar11->__count != 0) {\n                    iVar3 = pmVar11->__count;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  pmVar11->__count = iVar3;\n                  pmVar14 = pmVar13;\n                  goto LAB_000dfb00;\n                }\n                if (*(char *)((int)piVar4 + 0x13) != '.') break;\n                pmVar10 = (mbstate_t *)0xffff0000;\n                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;\n                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;\n                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);\n              }\n            } while ((pmStack_1120 == pmStack_1130) &&\n                    ((pcVar18 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c))));\n            pmVar11 = (mbstate_t *)((int)piVar4 + 0x13);\n            pmVar5 = (mbstate_t *)(**(code **)(puStack_1170 + -0x61b0))(pmVar11);\n            iVar3 = -((uint)((int)&pmVar5[1].__count + (int)&unaff_s5->__count) & 0xfffffff8);\n            puVar20 = puVar19 + iVar3;\n            puVar21 = puVar19 + iVar3;\n            puVar22 = puVar19 + iVar3;\n            puVar27 = puVar19 + iVar3;\n            puVar23 = puVar19 + iVar3;\n            puVar28 = puVar19 + iVar3;\n            puVar24 = puVar19 + iVar3;\n            puVar26 = puVar19 + iVar3;\n            puVar25 = puVar19 + iVar3;\n            pmVar13 = (mbstate_t *)(puVar19 + iVar3 + 0x10);\n            (**(code **)(puStack_1170 + -0x605c))(pmVar13,pmStack_1124,unaff_s3);\n            puVar17 = puStack_1170;\n            *(char *)((int)pmVar13 + (int)unaff_s3) = '/';\n            (**(code **)(puVar17 + -0x605c))\n                      ((char *)((int)&unaff_s5->__count + (int)&pmVar13->__count),pmVar11,\n                       (char *)((int)&pmVar5->__count + 1));\n            pmVar10 = pmVar13;\n            in_a2 = pmStack_1128;\n            iVar6 = (**(code **)(puStack_1170 + -0x632c))(3,pmVar13);\n            if (iVar6 < 0) {\n              piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))();\n              iStack_1138 = *piVar4;\n            }\n            pmVar14 = pmStack_1158;\n            pcVar18 = *(code **)(puStack_1170 + -0x62c8);\n            puVar19 = puVar19 + iVar3;\n          }" { (do_statement "do {\n              piVar4 = (int *)(*pcVar18)(iStack_111c);\n              while( true ) {\n                if (piVar4 == (int *)0x0) {\n                  pmVar11 = (mbstate_t *)(**(code **)(puStack_1170 + -0x6204))();\n                  iVar3 = iStack_1138;\n                  if (pmVar11->__count != 0) {\n                    iVar3 = pmVar11->__count;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  pmVar11->__count = iVar3;\n                  pmVar14 = pmVar13;\n                  goto LAB_000dfb00;\n                }\n                if (*(char *)((int)piVar4 + 0x13) != '.') break;\n                pmVar10 = (mbstate_t *)0xffff0000;\n                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;\n                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;\n                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);\n              }\n            } while ((pmStack_1120 == pmStack_1130) &&\n                    ((pcVar18 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c))));" do (compound_statement "{\n              piVar4 = (int *)(*pcVar18)(iStack_111c);\n              while( true ) {\n                if (piVar4 == (int *)0x0) {\n                  pmVar11 = (mbstate_t *)(**(code **)(puStack_1170 + -0x6204))();\n                  iVar3 = iStack_1138;\n                  if (pmVar11->__count != 0) {\n                    iVar3 = pmVar11->__count;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  pmVar11->__count = iVar3;\n                  pmVar14 = pmVar13;\n                  goto LAB_000dfb00;\n                }\n                if (*(char *)((int)piVar4 + 0x13) != '.') break;\n                pmVar10 = (mbstate_t *)0xffff0000;\n                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;\n                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;\n                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);\n              }\n            }" { (expression_statement "piVar4 = (int *)(*pcVar18)(iStack_111c);" (assignment_expression "piVar4 = (int *)(*pcVar18)(iStack_111c)" identifier = (cast_expression "(int *)(*pcVar18)(iStack_111c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar18)(iStack_111c)" (parenthesized_expression "(*pcVar18)" ( (pointer_expression "*pcVar18" * identifier) )) (argument_list "(iStack_111c)" ( identifier ))))) ;) (while_statement "while( true ) {\n                if (piVar4 == (int *)0x0) {\n                  pmVar11 = (mbstate_t *)(**(code **)(puStack_1170 + -0x6204))();\n                  iVar3 = iStack_1138;\n                  if (pmVar11->__count != 0) {\n                    iVar3 = pmVar11->__count;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  pmVar11->__count = iVar3;\n                  pmVar14 = pmVar13;\n                  goto LAB_000dfb00;\n                }\n                if (*(char *)((int)piVar4 + 0x13) != '.') break;\n                pmVar10 = (mbstate_t *)0xffff0000;\n                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;\n                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;\n                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);\n              }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                if (piVar4 == (int *)0x0) {\n                  pmVar11 = (mbstate_t *)(**(code **)(puStack_1170 + -0x6204))();\n                  iVar3 = iStack_1138;\n                  if (pmVar11->__count != 0) {\n                    iVar3 = pmVar11->__count;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  pmVar11->__count = iVar3;\n                  pmVar14 = pmVar13;\n                  goto LAB_000dfb00;\n                }\n                if (*(char *)((int)piVar4 + 0x13) != '.') break;\n                pmVar10 = (mbstate_t *)0xffff0000;\n                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;\n                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;\n                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);\n              }" { (if_statement "if (piVar4 == (int *)0x0) {\n                  pmVar11 = (mbstate_t *)(**(code **)(puStack_1170 + -0x6204))();\n                  iVar3 = iStack_1138;\n                  if (pmVar11->__count != 0) {\n                    iVar3 = pmVar11->__count;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  pmVar11->__count = iVar3;\n                  pmVar14 = pmVar13;\n                  goto LAB_000dfb00;\n                }" if (parenthesized_expression "(piVar4 == (int *)0x0)" ( (binary_expression "piVar4 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  pmVar11 = (mbstate_t *)(**(code **)(puStack_1170 + -0x6204))();\n                  iVar3 = iStack_1138;\n                  if (pmVar11->__count != 0) {\n                    iVar3 = pmVar11->__count;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  pmVar11->__count = iVar3;\n                  pmVar14 = pmVar13;\n                  goto LAB_000dfb00;\n                }" { (expression_statement "pmVar11 = (mbstate_t *)(**(code **)(puStack_1170 + -0x6204))();" (assignment_expression "pmVar11 = (mbstate_t *)(**(code **)(puStack_1170 + -0x6204))()" identifier = (cast_expression "(mbstate_t *)(**(code **)(puStack_1170 + -0x6204))()" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puStack_1170 + -0x6204))()" (parenthesized_expression "(**(code **)(puStack_1170 + -0x6204))" ( (pointer_expression "**(code **)(puStack_1170 + -0x6204)" * (pointer_expression "*(code **)(puStack_1170 + -0x6204)" * (cast_expression "(code **)(puStack_1170 + -0x6204)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x6204)" ( (binary_expression "puStack_1170 + -0x6204" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "iVar3 = iStack_1138;" (assignment_expression "iVar3 = iStack_1138" identifier = identifier) ;) (if_statement "if (pmVar11->__count != 0) {\n                    iVar3 = pmVar11->__count;\n                  }" if (parenthesized_expression "(pmVar11->__count != 0)" ( (binary_expression "pmVar11->__count != 0" (field_expression "pmVar11->__count" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n                    iVar3 = pmVar11->__count;\n                  }" { (expression_statement "iVar3 = pmVar11->__count;" (assignment_expression "iVar3 = pmVar11->__count" identifier = (field_expression "pmVar11->__count" identifier -> field_identifier)) ;) })) (expression_statement "(**(code **)(puStack_1170 + -0x6338))(iStack_111c);" (call_expression "(**(code **)(puStack_1170 + -0x6338))(iStack_111c)" (parenthesized_expression "(**(code **)(puStack_1170 + -0x6338))" ( (pointer_expression "**(code **)(puStack_1170 + -0x6338)" * (pointer_expression "*(code **)(puStack_1170 + -0x6338)" * (cast_expression "(code **)(puStack_1170 + -0x6338)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x6338)" ( (binary_expression "puStack_1170 + -0x6338" identifier + number_literal) ))))) )) (argument_list "(iStack_111c)" ( identifier ))) ;) (expression_statement "pmVar11->__count = iVar3;" (assignment_expression "pmVar11->__count = iVar3" (field_expression "pmVar11->__count" identifier -> field_identifier) = identifier) ;) (expression_statement "pmVar14 = pmVar13;" (assignment_expression "pmVar14 = pmVar13" identifier = identifier) ;) (goto_statement "goto LAB_000dfb00;" goto statement_identifier ;) })) (if_statement "if (*(char *)((int)piVar4 + 0x13) != '.') break;" if (parenthesized_expression "(*(char *)((int)piVar4 + 0x13) != '.')" ( (binary_expression "*(char *)((int)piVar4 + 0x13) != '.'" (pointer_expression "*(char *)((int)piVar4 + 0x13)" * (cast_expression "(char *)((int)piVar4 + 0x13)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar4 + 0x13)" ( (binary_expression "(int)piVar4 + 0x13" (cast_expression "(int)piVar4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'.'" ' character ')) )) (break_statement "break;" break ;)) (expression_statement "pmVar10 = (mbstate_t *)0xffff0000;" (assignment_expression "pmVar10 = (mbstate_t *)0xffff0000" identifier = (cast_expression "(mbstate_t *)0xffff0000" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;" if (parenthesized_expression "(*(char *)(piVar4 + 5) == '\0')" ( (binary_expression "*(char *)(piVar4 + 5) == '\0'" (pointer_expression "*(char *)(piVar4 + 5)" * (cast_expression "(char *)(piVar4 + 5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar4 + 5)" ( (binary_expression "piVar4 + 5" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000df8ec;" goto statement_identifier ;)) (if_statement "if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;" if (parenthesized_expression "((piVar4[5] & 0xffff0000U) != 0x2e000000)" ( (binary_expression "(piVar4[5] & 0xffff0000U) != 0x2e000000" (parenthesized_expression "(piVar4[5] & 0xffff0000U)" ( (binary_expression "piVar4[5] & 0xffff0000U" (subscript_expression "piVar4[5]" identifier [ number_literal ]) & number_literal) )) != number_literal) )) (break_statement "break;" break ;)) (expression_statement "piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);" (assignment_expression "piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c)" identifier = (cast_expression "(int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puStack_1170 + -0x62c8))(iStack_111c)" (parenthesized_expression "(**(code **)(puStack_1170 + -0x62c8))" ( (pointer_expression "**(code **)(puStack_1170 + -0x62c8)" * (pointer_expression "*(code **)(puStack_1170 + -0x62c8)" * (cast_expression "(code **)(puStack_1170 + -0x62c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x62c8)" ( (binary_expression "puStack_1170 + -0x62c8" identifier + number_literal) ))))) )) (argument_list "(iStack_111c)" ( identifier ))))) ;) })) }) while (parenthesized_expression "((pmStack_1120 == pmStack_1130) &&\n                    ((pcVar18 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c))))" ( (binary_expression "(pmStack_1120 == pmStack_1130) &&\n                    ((pcVar18 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c)))" (parenthesized_expression "(pmStack_1120 == pmStack_1130)" ( (binary_expression "pmStack_1120 == pmStack_1130" identifier == identifier) )) && (parenthesized_expression "((pcVar18 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c)))" ( (parenthesized_expression "(pcVar18 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c))" ( (comma_expression "pcVar18 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c)" (assignment_expression "pcVar18 = *(code **)(puStack_1170 + -0x62c8)" identifier = (pointer_expression "*(code **)(puStack_1170 + -0x62c8)" * (cast_expression "(code **)(puStack_1170 + -0x62c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x62c8)" ( (binary_expression "puStack_1170 + -0x62c8" identifier + number_literal) ))))) , (binary_expression "*piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c)" (binary_expression "*piVar4 != iStack_112c" (pointer_expression "*piVar4" * identifier) != identifier) || (parenthesized_expression "(piVar4[1] != iStack_113c)" ( (binary_expression "piVar4[1] != iStack_113c" (subscript_expression "piVar4[1]" identifier [ number_literal ]) != identifier) )))) )) ))) )) ;) (expression_statement "pmVar11 = (mbstate_t *)((int)piVar4 + 0x13);" (assignment_expression "pmVar11 = (mbstate_t *)((int)piVar4 + 0x13)" identifier = (cast_expression "(mbstate_t *)((int)piVar4 + 0x13)" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar4 + 0x13)" ( (binary_expression "(int)piVar4 + 0x13" (cast_expression "(int)piVar4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pmVar5 = (mbstate_t *)(**(code **)(puStack_1170 + -0x61b0))(pmVar11);" (assignment_expression "pmVar5 = (mbstate_t *)(**(code **)(puStack_1170 + -0x61b0))(pmVar11)" identifier = (cast_expression "(mbstate_t *)(**(code **)(puStack_1170 + -0x61b0))(pmVar11)" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puStack_1170 + -0x61b0))(pmVar11)" (parenthesized_expression "(**(code **)(puStack_1170 + -0x61b0))" ( (pointer_expression "**(code **)(puStack_1170 + -0x61b0)" * (pointer_expression "*(code **)(puStack_1170 + -0x61b0)" * (cast_expression "(code **)(puStack_1170 + -0x61b0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x61b0)" ( (binary_expression "puStack_1170 + -0x61b0" identifier + number_literal) ))))) )) (argument_list "(pmVar11)" ( identifier ))))) ;) (expression_statement "iVar3 = -((uint)((int)&pmVar5[1].__count + (int)&unaff_s5->__count) & 0xfffffff8);" (assignment_expression "iVar3 = -((uint)((int)&pmVar5[1].__count + (int)&unaff_s5->__count) & 0xfffffff8)" identifier = (unary_expression "-((uint)((int)&pmVar5[1].__count + (int)&unaff_s5->__count) & 0xfffffff8)" - (parenthesized_expression "((uint)((int)&pmVar5[1].__count + (int)&unaff_s5->__count) & 0xfffffff8)" ( (binary_expression "(uint)((int)&pmVar5[1].__count + (int)&unaff_s5->__count) & 0xfffffff8" (call_expression "(uint)((int)&pmVar5[1].__count + (int)&unaff_s5->__count)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)&pmVar5[1].__count + (int)&unaff_s5->__count)" ( (binary_expression "(int)&pmVar5[1].__count + (int)&unaff_s5->__count" (cast_expression "(int)&pmVar5[1].__count" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pmVar5[1].__count" & (field_expression "pmVar5[1].__count" (subscript_expression "pmVar5[1]" identifier [ number_literal ]) . field_identifier))) + (cast_expression "(int)&unaff_s5->__count" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&unaff_s5->__count" & (field_expression "unaff_s5->__count" identifier -> field_identifier)))) ))) & number_literal) )))) ;) (expression_statement "puVar20 = puVar19 + iVar3;" (assignment_expression "puVar20 = puVar19 + iVar3" identifier = (binary_expression "puVar19 + iVar3" identifier + identifier)) ;) (expression_statement "puVar21 = puVar19 + iVar3;" (assignment_expression "puVar21 = puVar19 + iVar3" identifier = (binary_expression "puVar19 + iVar3" identifier + identifier)) ;) (expression_statement "puVar22 = puVar19 + iVar3;" (assignment_expression "puVar22 = puVar19 + iVar3" identifier = (binary_expression "puVar19 + iVar3" identifier + identifier)) ;) (expression_statement "puVar27 = puVar19 + iVar3;" (assignment_expression "puVar27 = puVar19 + iVar3" identifier = (binary_expression "puVar19 + iVar3" identifier + identifier)) ;) (expression_statement "puVar23 = puVar19 + iVar3;" (assignment_expression "puVar23 = puVar19 + iVar3" identifier = (binary_expression "puVar19 + iVar3" identifier + identifier)) ;) (expression_statement "puVar28 = puVar19 + iVar3;" (assignment_expression "puVar28 = puVar19 + iVar3" identifier = (binary_expression "puVar19 + iVar3" identifier + identifier)) ;) (expression_statement "puVar24 = puVar19 + iVar3;" (assignment_expression "puVar24 = puVar19 + iVar3" identifier = (binary_expression "puVar19 + iVar3" identifier + identifier)) ;) (expression_statement "puVar26 = puVar19 + iVar3;" (assignment_expression "puVar26 = puVar19 + iVar3" identifier = (binary_expression "puVar19 + iVar3" identifier + identifier)) ;) (expression_statement "puVar25 = puVar19 + iVar3;" (assignment_expression "puVar25 = puVar19 + iVar3" identifier = (binary_expression "puVar19 + iVar3" identifier + identifier)) ;) (expression_statement "pmVar13 = (mbstate_t *)(puVar19 + iVar3 + 0x10);" (assignment_expression "pmVar13 = (mbstate_t *)(puVar19 + iVar3 + 0x10)" identifier = (cast_expression "(mbstate_t *)(puVar19 + iVar3 + 0x10)" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + iVar3 + 0x10)" ( (binary_expression "puVar19 + iVar3 + 0x10" (binary_expression "puVar19 + iVar3" identifier + identifier) + number_literal) )))) ;) (expression_statement "(**(code **)(puStack_1170 + -0x605c))(pmVar13,pmStack_1124,unaff_s3);" (call_expression "(**(code **)(puStack_1170 + -0x605c))(pmVar13,pmStack_1124,unaff_s3)" (parenthesized_expression "(**(code **)(puStack_1170 + -0x605c))" ( (pointer_expression "**(code **)(puStack_1170 + -0x605c)" * (pointer_expression "*(code **)(puStack_1170 + -0x605c)" * (cast_expression "(code **)(puStack_1170 + -0x605c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x605c)" ( (binary_expression "puStack_1170 + -0x605c" identifier + number_literal) ))))) )) (argument_list "(pmVar13,pmStack_1124,unaff_s3)" ( identifier , identifier , identifier ))) ;) (expression_statement "puVar17 = puStack_1170;" (assignment_expression "puVar17 = puStack_1170" identifier = identifier) ;) (expression_statement "*(char *)((int)pmVar13 + (int)unaff_s3) = '/';" (assignment_expression "*(char *)((int)pmVar13 + (int)unaff_s3) = '/'" (pointer_expression "*(char *)((int)pmVar13 + (int)unaff_s3)" * (cast_expression "(char *)((int)pmVar13 + (int)unaff_s3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pmVar13 + (int)unaff_s3)" ( (binary_expression "(int)pmVar13 + (int)unaff_s3" (cast_expression "(int)pmVar13" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier)) )))) = (char_literal "'/'" ' character ')) ;) (expression_statement "(**(code **)(puVar17 + -0x605c))\n                      ((char *)((int)&unaff_s5->__count + (int)&pmVar13->__count),pmVar11,\n                       (char *)((int)&pmVar5->__count + 1));" (call_expression "(**(code **)(puVar17 + -0x605c))\n                      ((char *)((int)&unaff_s5->__count + (int)&pmVar13->__count),pmVar11,\n                       (char *)((int)&pmVar5->__count + 1))" (parenthesized_expression "(**(code **)(puVar17 + -0x605c))" ( (pointer_expression "**(code **)(puVar17 + -0x605c)" * (pointer_expression "*(code **)(puVar17 + -0x605c)" * (cast_expression "(code **)(puVar17 + -0x605c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x605c)" ( (binary_expression "puVar17 + -0x605c" identifier + number_literal) ))))) )) (argument_list "((char *)((int)&unaff_s5->__count + (int)&pmVar13->__count),pmVar11,\n                       (char *)((int)&pmVar5->__count + 1))" ( (cast_expression "(char *)((int)&unaff_s5->__count + (int)&pmVar13->__count)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&unaff_s5->__count + (int)&pmVar13->__count)" ( (binary_expression "(int)&unaff_s5->__count + (int)&pmVar13->__count" (cast_expression "(int)&unaff_s5->__count" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&unaff_s5->__count" & (field_expression "unaff_s5->__count" identifier -> field_identifier))) + (cast_expression "(int)&pmVar13->__count" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pmVar13->__count" & (field_expression "pmVar13->__count" identifier -> field_identifier)))) ))) , identifier , (cast_expression "(char *)((int)&pmVar5->__count + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pmVar5->__count + 1)" ( (binary_expression "(int)&pmVar5->__count + 1" (cast_expression "(int)&pmVar5->__count" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pmVar5->__count" & (field_expression "pmVar5->__count" identifier -> field_identifier))) + number_literal) ))) ))) ;) (expression_statement "pmVar10 = pmVar13;" (assignment_expression "pmVar10 = pmVar13" identifier = identifier) ;) (expression_statement "in_a2 = pmStack_1128;" (assignment_expression "in_a2 = pmStack_1128" identifier = identifier) ;) (expression_statement "iVar6 = (**(code **)(puStack_1170 + -0x632c))(3,pmVar13);" (assignment_expression "iVar6 = (**(code **)(puStack_1170 + -0x632c))(3,pmVar13)" identifier = (call_expression "(**(code **)(puStack_1170 + -0x632c))(3,pmVar13)" (parenthesized_expression "(**(code **)(puStack_1170 + -0x632c))" ( (pointer_expression "**(code **)(puStack_1170 + -0x632c)" * (pointer_expression "*(code **)(puStack_1170 + -0x632c)" * (cast_expression "(code **)(puStack_1170 + -0x632c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x632c)" ( (binary_expression "puStack_1170 + -0x632c" identifier + number_literal) ))))) )) (argument_list "(3,pmVar13)" ( number_literal , identifier )))) ;) (if_statement "if (iVar6 < 0) {\n              piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))();\n              iStack_1138 = *piVar4;\n            }" if (parenthesized_expression "(iVar6 < 0)" ( (binary_expression "iVar6 < 0" identifier < number_literal) )) (compound_statement "{\n              piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))();\n              iStack_1138 = *piVar4;\n            }" { (expression_statement "piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))();" (assignment_expression "piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))()" identifier = (cast_expression "(int *)(**(code **)(puStack_1170 + -0x6204))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puStack_1170 + -0x6204))()" (parenthesized_expression "(**(code **)(puStack_1170 + -0x6204))" ( (pointer_expression "**(code **)(puStack_1170 + -0x6204)" * (pointer_expression "*(code **)(puStack_1170 + -0x6204)" * (cast_expression "(code **)(puStack_1170 + -0x6204)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x6204)" ( (binary_expression "puStack_1170 + -0x6204" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "iStack_1138 = *piVar4;" (assignment_expression "iStack_1138 = *piVar4" identifier = (pointer_expression "*piVar4" * identifier)) ;) })) (expression_statement "pmVar14 = pmStack_1158;" (assignment_expression "pmVar14 = pmStack_1158" identifier = identifier) ;) (expression_statement "pcVar18 = *(code **)(puStack_1170 + -0x62c8);" (assignment_expression "pcVar18 = *(code **)(puStack_1170 + -0x62c8)" identifier = (pointer_expression "*(code **)(puStack_1170 + -0x62c8)" * (cast_expression "(code **)(puStack_1170 + -0x62c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x62c8)" ( (binary_expression "puStack_1170 + -0x62c8" identifier + number_literal) ))))) ;) (expression_statement "puVar19 = puVar19 + iVar3;" (assignment_expression "puVar19 = puVar19 + iVar3" identifier = (binary_expression "puVar19 + iVar3" identifier + identifier)) ;) }) while (parenthesized_expression "(((mbstate_t *)amStack_1118[0].__count != pmStack_1120) ||\n                  (puVar19 = puVar20, iStack_1108 != iStack_112c))" ( (binary_expression "((mbstate_t *)amStack_1118[0].__count != pmStack_1120) ||\n                  (puVar19 = puVar20, iStack_1108 != iStack_112c)" (parenthesized_expression "((mbstate_t *)amStack_1118[0].__count != pmStack_1120)" ( (binary_expression "(mbstate_t *)amStack_1118[0].__count != pmStack_1120" (cast_expression "(mbstate_t *)amStack_1118[0].__count" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "amStack_1118[0].__count" (subscript_expression "amStack_1118[0]" identifier [ number_literal ]) . field_identifier)) != identifier) )) || (parenthesized_expression "(puVar19 = puVar20, iStack_1108 != iStack_112c)" ( (comma_expression "puVar19 = puVar20, iStack_1108 != iStack_112c" (assignment_expression "puVar19 = puVar20" identifier = identifier) , (binary_expression "iStack_1108 != iStack_112c" identifier != identifier)) ))) )) ;) (expression_statement "puVar19 = puVar21;" (assignment_expression "puVar19 = puVar21" identifier = identifier) ;) }) while (parenthesized_expression "(iStack_1104 != iStack_113c)" ( (binary_expression "iStack_1104 != iStack_113c" identifier != identifier) )) ;)) (expression_statement "pmVar2 = pmVar11;" (assignment_expression "pmVar2 = pmVar11" identifier = identifier) ;) (expression_statement "unaff_s3 = (mbstate_t *)((int)pmVar16 - (int)unaff_s1);" (assignment_expression "unaff_s3 = (mbstate_t *)((int)pmVar16 - (int)unaff_s1)" identifier = (cast_expression "(mbstate_t *)((int)pmVar16 - (int)unaff_s1)" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pmVar16 - (int)unaff_s1)" ( (binary_expression "(int)pmVar16 - (int)unaff_s1" (cast_expression "(int)pmVar16" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)unaff_s1" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "unaff_s5 = unaff_s6;" (assignment_expression "unaff_s5 = unaff_s6" identifier = identifier) ;) (while_statement "while (unaff_s3 <= pmVar5) {\n          unaff_s6 = (mbstate_t *)((int)unaff_s5 << 1);\n          pmStack_1120 = pmVar2;\n          if (pmVar12 == pmVar14) {\n            unaff_s1 = (mbstate_t *)(**(code **)(puStack_1170 + -0x6158))(unaff_s6);\n            if (unaff_s1 == (mbstate_t *)0x0) {\n              pcVar9 = (char *)0x0;\n              pmStack_44 = pmVar10;\n              if ((pmStack_1134 == pmStack_1148) ||\n                 (pmVar12 = pmStack_1158, puVar28 = puVar24, pmStack_1134 == (mbstate_t *)0x0))\n              goto LAB_000dfb60;\n              goto LAB_000dfb18;\n            }\n          }\n          else {\n            pmVar10 = unaff_s6;\n            unaff_s1 = (mbstate_t *)(**(code **)(puStack_1170 + -0x614c))(pmVar12,unaff_s6);\n            if (unaff_s1 == (mbstate_t *)0x0) {\n              pcVar18 = *(code **)(puStack_1170 + -0x6044);\n              puVar28 = puVar22;\n              if (pmStack_1134 == pmStack_1148) goto LAB_000dfcc0;\n              pcVar18 = *(code **)(puStack_1170 + -0x6204);\n              if (pmStack_1134 != (mbstate_t *)0x0) goto LAB_000dfb1c;\n              pcVar18 = *(code **)(puStack_1170 + -0x6044);\n              puVar28 = puVar23;\n              goto LAB_000dfcc0;\n            }\n            pmVar16 = (mbstate_t *)((int)&unaff_s3->__count + (int)&unaff_s1->__count);\n          }\n          pmVar11 = (mbstate_t *)((int)&unaff_s3->__count + (int)&unaff_s5->__count);\n          in_a2 = (mbstate_t *)((int)unaff_s5 - (int)unaff_s3);\n          pmVar15 = (mbstate_t *)((int)&pmVar11->__count + (int)&unaff_s1->__count);\n          (**(code **)(puStack_1170 + -0x605c))(pmVar15);\n          pmVar2 = pmStack_1120;\n          pmVar13 = pmVar14;\n          unaff_s3 = pmVar11;\n          pmVar10 = pmVar16;\n          pmVar12 = unaff_s1;\n          unaff_s5 = unaff_s6;\n          pmVar16 = pmVar15;\n        }" while (parenthesized_expression "(unaff_s3 <= pmVar5)" ( (binary_expression "unaff_s3 <= pmVar5" identifier <= identifier) )) (compound_statement "{\n          unaff_s6 = (mbstate_t *)((int)unaff_s5 << 1);\n          pmStack_1120 = pmVar2;\n          if (pmVar12 == pmVar14) {\n            unaff_s1 = (mbstate_t *)(**(code **)(puStack_1170 + -0x6158))(unaff_s6);\n            if (unaff_s1 == (mbstate_t *)0x0) {\n              pcVar9 = (char *)0x0;\n              pmStack_44 = pmVar10;\n              if ((pmStack_1134 == pmStack_1148) ||\n                 (pmVar12 = pmStack_1158, puVar28 = puVar24, pmStack_1134 == (mbstate_t *)0x0))\n              goto LAB_000dfb60;\n              goto LAB_000dfb18;\n            }\n          }\n          else {\n            pmVar10 = unaff_s6;\n            unaff_s1 = (mbstate_t *)(**(code **)(puStack_1170 + -0x614c))(pmVar12,unaff_s6);\n            if (unaff_s1 == (mbstate_t *)0x0) {\n              pcVar18 = *(code **)(puStack_1170 + -0x6044);\n              puVar28 = puVar22;\n              if (pmStack_1134 == pmStack_1148) goto LAB_000dfcc0;\n              pcVar18 = *(code **)(puStack_1170 + -0x6204);\n              if (pmStack_1134 != (mbstate_t *)0x0) goto LAB_000dfb1c;\n              pcVar18 = *(code **)(puStack_1170 + -0x6044);\n              puVar28 = puVar23;\n              goto LAB_000dfcc0;\n            }\n            pmVar16 = (mbstate_t *)((int)&unaff_s3->__count + (int)&unaff_s1->__count);\n          }\n          pmVar11 = (mbstate_t *)((int)&unaff_s3->__count + (int)&unaff_s5->__count);\n          in_a2 = (mbstate_t *)((int)unaff_s5 - (int)unaff_s3);\n          pmVar15 = (mbstate_t *)((int)&pmVar11->__count + (int)&unaff_s1->__count);\n          (**(code **)(puStack_1170 + -0x605c))(pmVar15);\n          pmVar2 = pmStack_1120;\n          pmVar13 = pmVar14;\n          unaff_s3 = pmVar11;\n          pmVar10 = pmVar16;\n          pmVar12 = unaff_s1;\n          unaff_s5 = unaff_s6;\n          pmVar16 = pmVar15;\n        }" { (expression_statement "unaff_s6 = (mbstate_t *)((int)unaff_s5 << 1);" (assignment_expression "unaff_s6 = (mbstate_t *)((int)unaff_s5 << 1)" identifier = (cast_expression "(mbstate_t *)((int)unaff_s5 << 1)" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s5 << 1)" ( (binary_expression "(int)unaff_s5 << 1" (cast_expression "(int)unaff_s5" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal) )))) ;) (expression_statement "pmStack_1120 = pmVar2;" (assignment_expression "pmStack_1120 = pmVar2" identifier = identifier) ;) (if_statement "if (pmVar12 == pmVar14) {\n            unaff_s1 = (mbstate_t *)(**(code **)(puStack_1170 + -0x6158))(unaff_s6);\n            if (unaff_s1 == (mbstate_t *)0x0) {\n              pcVar9 = (char *)0x0;\n              pmStack_44 = pmVar10;\n              if ((pmStack_1134 == pmStack_1148) ||\n                 (pmVar12 = pmStack_1158, puVar28 = puVar24, pmStack_1134 == (mbstate_t *)0x0))\n              goto LAB_000dfb60;\n              goto LAB_000dfb18;\n            }\n          }\n          else {\n            pmVar10 = unaff_s6;\n            unaff_s1 = (mbstate_t *)(**(code **)(puStack_1170 + -0x614c))(pmVar12,unaff_s6);\n            if (unaff_s1 == (mbstate_t *)0x0) {\n              pcVar18 = *(code **)(puStack_1170 + -0x6044);\n              puVar28 = puVar22;\n              if (pmStack_1134 == pmStack_1148) goto LAB_000dfcc0;\n              pcVar18 = *(code **)(puStack_1170 + -0x6204);\n              if (pmStack_1134 != (mbstate_t *)0x0) goto LAB_000dfb1c;\n              pcVar18 = *(code **)(puStack_1170 + -0x6044);\n              puVar28 = puVar23;\n              goto LAB_000dfcc0;\n            }\n            pmVar16 = (mbstate_t *)((int)&unaff_s3->__count + (int)&unaff_s1->__count);\n          }" if (parenthesized_expression "(pmVar12 == pmVar14)" ( (binary_expression "pmVar12 == pmVar14" identifier == identifier) )) (compound_statement "{\n            unaff_s1 = (mbstate_t *)(**(code **)(puStack_1170 + -0x6158))(unaff_s6);\n            if (unaff_s1 == (mbstate_t *)0x0) {\n              pcVar9 = (char *)0x0;\n              pmStack_44 = pmVar10;\n              if ((pmStack_1134 == pmStack_1148) ||\n                 (pmVar12 = pmStack_1158, puVar28 = puVar24, pmStack_1134 == (mbstate_t *)0x0))\n              goto LAB_000dfb60;\n              goto LAB_000dfb18;\n            }\n          }" { (expression_statement "unaff_s1 = (mbstate_t *)(**(code **)(puStack_1170 + -0x6158))(unaff_s6);" (assignment_expression "unaff_s1 = (mbstate_t *)(**(code **)(puStack_1170 + -0x6158))(unaff_s6)" identifier = (cast_expression "(mbstate_t *)(**(code **)(puStack_1170 + -0x6158))(unaff_s6)" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puStack_1170 + -0x6158))(unaff_s6)" (parenthesized_expression "(**(code **)(puStack_1170 + -0x6158))" ( (pointer_expression "**(code **)(puStack_1170 + -0x6158)" * (pointer_expression "*(code **)(puStack_1170 + -0x6158)" * (cast_expression "(code **)(puStack_1170 + -0x6158)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x6158)" ( (binary_expression "puStack_1170 + -0x6158" identifier + number_literal) ))))) )) (argument_list "(unaff_s6)" ( identifier ))))) ;) (if_statement "if (unaff_s1 == (mbstate_t *)0x0) {\n              pcVar9 = (char *)0x0;\n              pmStack_44 = pmVar10;\n              if ((pmStack_1134 == pmStack_1148) ||\n                 (pmVar12 = pmStack_1158, puVar28 = puVar24, pmStack_1134 == (mbstate_t *)0x0))\n              goto LAB_000dfb60;\n              goto LAB_000dfb18;\n            }" if (parenthesized_expression "(unaff_s1 == (mbstate_t *)0x0)" ( (binary_expression "unaff_s1 == (mbstate_t *)0x0" identifier == (cast_expression "(mbstate_t *)0x0" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              pcVar9 = (char *)0x0;\n              pmStack_44 = pmVar10;\n              if ((pmStack_1134 == pmStack_1148) ||\n                 (pmVar12 = pmStack_1158, puVar28 = puVar24, pmStack_1134 == (mbstate_t *)0x0))\n              goto LAB_000dfb60;\n              goto LAB_000dfb18;\n            }" { (expression_statement "pcVar9 = (char *)0x0;" (assignment_expression "pcVar9 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pmStack_44 = pmVar10;" (assignment_expression "pmStack_44 = pmVar10" identifier = identifier) ;) (if_statement "if ((pmStack_1134 == pmStack_1148) ||\n                 (pmVar12 = pmStack_1158, puVar28 = puVar24, pmStack_1134 == (mbstate_t *)0x0))\n              goto LAB_000dfb60;" if (parenthesized_expression "((pmStack_1134 == pmStack_1148) ||\n                 (pmVar12 = pmStack_1158, puVar28 = puVar24, pmStack_1134 == (mbstate_t *)0x0))" ( (binary_expression "(pmStack_1134 == pmStack_1148) ||\n                 (pmVar12 = pmStack_1158, puVar28 = puVar24, pmStack_1134 == (mbstate_t *)0x0)" (parenthesized_expression "(pmStack_1134 == pmStack_1148)" ( (binary_expression "pmStack_1134 == pmStack_1148" identifier == identifier) )) || (parenthesized_expression "(pmVar12 = pmStack_1158, puVar28 = puVar24, pmStack_1134 == (mbstate_t *)0x0)" ( (comma_expression "pmVar12 = pmStack_1158, puVar28 = puVar24, pmStack_1134 == (mbstate_t *)0x0" (assignment_expression "pmVar12 = pmStack_1158" identifier = identifier) , (comma_expression "puVar28 = puVar24, pmStack_1134 == (mbstate_t *)0x0" (assignment_expression "puVar28 = puVar24" identifier = identifier) , (binary_expression "pmStack_1134 == (mbstate_t *)0x0" identifier == (cast_expression "(mbstate_t *)0x0" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)))) ))) )) (goto_statement "goto LAB_000dfb60;" goto statement_identifier ;)) (goto_statement "goto LAB_000dfb18;" goto statement_identifier ;) })) }) (else_clause "else {\n            pmVar10 = unaff_s6;\n            unaff_s1 = (mbstate_t *)(**(code **)(puStack_1170 + -0x614c))(pmVar12,unaff_s6);\n            if (unaff_s1 == (mbstate_t *)0x0) {\n              pcVar18 = *(code **)(puStack_1170 + -0x6044);\n              puVar28 = puVar22;\n              if (pmStack_1134 == pmStack_1148) goto LAB_000dfcc0;\n              pcVar18 = *(code **)(puStack_1170 + -0x6204);\n              if (pmStack_1134 != (mbstate_t *)0x0) goto LAB_000dfb1c;\n              pcVar18 = *(code **)(puStack_1170 + -0x6044);\n              puVar28 = puVar23;\n              goto LAB_000dfcc0;\n            }\n            pmVar16 = (mbstate_t *)((int)&unaff_s3->__count + (int)&unaff_s1->__count);\n          }" else (compound_statement "{\n            pmVar10 = unaff_s6;\n            unaff_s1 = (mbstate_t *)(**(code **)(puStack_1170 + -0x614c))(pmVar12,unaff_s6);\n            if (unaff_s1 == (mbstate_t *)0x0) {\n              pcVar18 = *(code **)(puStack_1170 + -0x6044);\n              puVar28 = puVar22;\n              if (pmStack_1134 == pmStack_1148) goto LAB_000dfcc0;\n              pcVar18 = *(code **)(puStack_1170 + -0x6204);\n              if (pmStack_1134 != (mbstate_t *)0x0) goto LAB_000dfb1c;\n              pcVar18 = *(code **)(puStack_1170 + -0x6044);\n              puVar28 = puVar23;\n              goto LAB_000dfcc0;\n            }\n            pmVar16 = (mbstate_t *)((int)&unaff_s3->__count + (int)&unaff_s1->__count);\n          }" { (expression_statement "pmVar10 = unaff_s6;" (assignment_expression "pmVar10 = unaff_s6" identifier = identifier) ;) (expression_statement "unaff_s1 = (mbstate_t *)(**(code **)(puStack_1170 + -0x614c))(pmVar12,unaff_s6);" (assignment_expression "unaff_s1 = (mbstate_t *)(**(code **)(puStack_1170 + -0x614c))(pmVar12,unaff_s6)" identifier = (cast_expression "(mbstate_t *)(**(code **)(puStack_1170 + -0x614c))(pmVar12,unaff_s6)" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puStack_1170 + -0x614c))(pmVar12,unaff_s6)" (parenthesized_expression "(**(code **)(puStack_1170 + -0x614c))" ( (pointer_expression "**(code **)(puStack_1170 + -0x614c)" * (pointer_expression "*(code **)(puStack_1170 + -0x614c)" * (cast_expression "(code **)(puStack_1170 + -0x614c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x614c)" ( (binary_expression "puStack_1170 + -0x614c" identifier + number_literal) ))))) )) (argument_list "(pmVar12,unaff_s6)" ( identifier , identifier ))))) ;) (if_statement "if (unaff_s1 == (mbstate_t *)0x0) {\n              pcVar18 = *(code **)(puStack_1170 + -0x6044);\n              puVar28 = puVar22;\n              if (pmStack_1134 == pmStack_1148) goto LAB_000dfcc0;\n              pcVar18 = *(code **)(puStack_1170 + -0x6204);\n              if (pmStack_1134 != (mbstate_t *)0x0) goto LAB_000dfb1c;\n              pcVar18 = *(code **)(puStack_1170 + -0x6044);\n              puVar28 = puVar23;\n              goto LAB_000dfcc0;\n            }" if (parenthesized_expression "(unaff_s1 == (mbstate_t *)0x0)" ( (binary_expression "unaff_s1 == (mbstate_t *)0x0" identifier == (cast_expression "(mbstate_t *)0x0" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              pcVar18 = *(code **)(puStack_1170 + -0x6044);\n              puVar28 = puVar22;\n              if (pmStack_1134 == pmStack_1148) goto LAB_000dfcc0;\n              pcVar18 = *(code **)(puStack_1170 + -0x6204);\n              if (pmStack_1134 != (mbstate_t *)0x0) goto LAB_000dfb1c;\n              pcVar18 = *(code **)(puStack_1170 + -0x6044);\n              puVar28 = puVar23;\n              goto LAB_000dfcc0;\n            }" { (expression_statement "pcVar18 = *(code **)(puStack_1170 + -0x6044);" (assignment_expression "pcVar18 = *(code **)(puStack_1170 + -0x6044)" identifier = (pointer_expression "*(code **)(puStack_1170 + -0x6044)" * (cast_expression "(code **)(puStack_1170 + -0x6044)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x6044)" ( (binary_expression "puStack_1170 + -0x6044" identifier + number_literal) ))))) ;) (expression_statement "puVar28 = puVar22;" (assignment_expression "puVar28 = puVar22" identifier = identifier) ;) (if_statement "if (pmStack_1134 == pmStack_1148) goto LAB_000dfcc0;" if (parenthesized_expression "(pmStack_1134 == pmStack_1148)" ( (binary_expression "pmStack_1134 == pmStack_1148" identifier == identifier) )) (goto_statement "goto LAB_000dfcc0;" goto statement_identifier ;)) (expression_statement "pcVar18 = *(code **)(puStack_1170 + -0x6204);" (assignment_expression "pcVar18 = *(code **)(puStack_1170 + -0x6204)" identifier = (pointer_expression "*(code **)(puStack_1170 + -0x6204)" * (cast_expression "(code **)(puStack_1170 + -0x6204)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x6204)" ( (binary_expression "puStack_1170 + -0x6204" identifier + number_literal) ))))) ;) (if_statement "if (pmStack_1134 != (mbstate_t *)0x0) goto LAB_000dfb1c;" if (parenthesized_expression "(pmStack_1134 != (mbstate_t *)0x0)" ( (binary_expression "pmStack_1134 != (mbstate_t *)0x0" identifier != (cast_expression "(mbstate_t *)0x0" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000dfb1c;" goto statement_identifier ;)) (expression_statement "pcVar18 = *(code **)(puStack_1170 + -0x6044);" (assignment_expression "pcVar18 = *(code **)(puStack_1170 + -0x6044)" identifier = (pointer_expression "*(code **)(puStack_1170 + -0x6044)" * (cast_expression "(code **)(puStack_1170 + -0x6044)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x6044)" ( (binary_expression "puStack_1170 + -0x6044" identifier + number_literal) ))))) ;) (expression_statement "puVar28 = puVar23;" (assignment_expression "puVar28 = puVar23" identifier = identifier) ;) (goto_statement "goto LAB_000dfcc0;" goto statement_identifier ;) })) (expression_statement "pmVar16 = (mbstate_t *)((int)&unaff_s3->__count + (int)&unaff_s1->__count);" (assignment_expression "pmVar16 = (mbstate_t *)((int)&unaff_s3->__count + (int)&unaff_s1->__count)" identifier = (cast_expression "(mbstate_t *)((int)&unaff_s3->__count + (int)&unaff_s1->__count)" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&unaff_s3->__count + (int)&unaff_s1->__count)" ( (binary_expression "(int)&unaff_s3->__count + (int)&unaff_s1->__count" (cast_expression "(int)&unaff_s3->__count" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&unaff_s3->__count" & (field_expression "unaff_s3->__count" identifier -> field_identifier))) + (cast_expression "(int)&unaff_s1->__count" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&unaff_s1->__count" & (field_expression "unaff_s1->__count" identifier -> field_identifier)))) )))) ;) }))) (expression_statement "pmVar11 = (mbstate_t *)((int)&unaff_s3->__count + (int)&unaff_s5->__count);" (assignment_expression "pmVar11 = (mbstate_t *)((int)&unaff_s3->__count + (int)&unaff_s5->__count)" identifier = (cast_expression "(mbstate_t *)((int)&unaff_s3->__count + (int)&unaff_s5->__count)" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&unaff_s3->__count + (int)&unaff_s5->__count)" ( (binary_expression "(int)&unaff_s3->__count + (int)&unaff_s5->__count" (cast_expression "(int)&unaff_s3->__count" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&unaff_s3->__count" & (field_expression "unaff_s3->__count" identifier -> field_identifier))) + (cast_expression "(int)&unaff_s5->__count" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&unaff_s5->__count" & (field_expression "unaff_s5->__count" identifier -> field_identifier)))) )))) ;) (expression_statement "in_a2 = (mbstate_t *)((int)unaff_s5 - (int)unaff_s3);" (assignment_expression "in_a2 = (mbstate_t *)((int)unaff_s5 - (int)unaff_s3)" identifier = (cast_expression "(mbstate_t *)((int)unaff_s5 - (int)unaff_s3)" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s5 - (int)unaff_s3)" ( (binary_expression "(int)unaff_s5 - (int)unaff_s3" (cast_expression "(int)unaff_s5" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pmVar15 = (mbstate_t *)((int)&pmVar11->__count + (int)&unaff_s1->__count);" (assignment_expression "pmVar15 = (mbstate_t *)((int)&pmVar11->__count + (int)&unaff_s1->__count)" identifier = (cast_expression "(mbstate_t *)((int)&pmVar11->__count + (int)&unaff_s1->__count)" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pmVar11->__count + (int)&unaff_s1->__count)" ( (binary_expression "(int)&pmVar11->__count + (int)&unaff_s1->__count" (cast_expression "(int)&pmVar11->__count" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pmVar11->__count" & (field_expression "pmVar11->__count" identifier -> field_identifier))) + (cast_expression "(int)&unaff_s1->__count" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&unaff_s1->__count" & (field_expression "unaff_s1->__count" identifier -> field_identifier)))) )))) ;) (expression_statement "(**(code **)(puStack_1170 + -0x605c))(pmVar15);" (call_expression "(**(code **)(puStack_1170 + -0x605c))(pmVar15)" (parenthesized_expression "(**(code **)(puStack_1170 + -0x605c))" ( (pointer_expression "**(code **)(puStack_1170 + -0x605c)" * (pointer_expression "*(code **)(puStack_1170 + -0x605c)" * (cast_expression "(code **)(puStack_1170 + -0x605c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x605c)" ( (binary_expression "puStack_1170 + -0x605c" identifier + number_literal) ))))) )) (argument_list "(pmVar15)" ( identifier ))) ;) (expression_statement "pmVar2 = pmStack_1120;" (assignment_expression "pmVar2 = pmStack_1120" identifier = identifier) ;) (expression_statement "pmVar13 = pmVar14;" (assignment_expression "pmVar13 = pmVar14" identifier = identifier) ;) (expression_statement "unaff_s3 = pmVar11;" (assignment_expression "unaff_s3 = pmVar11" identifier = identifier) ;) (expression_statement "pmVar10 = pmVar16;" (assignment_expression "pmVar10 = pmVar16" identifier = identifier) ;) (expression_statement "pmVar12 = unaff_s1;" (assignment_expression "pmVar12 = unaff_s1" identifier = identifier) ;) (expression_statement "unaff_s5 = unaff_s6;" (assignment_expression "unaff_s5 = unaff_s6" identifier = identifier) ;) (expression_statement "pmVar16 = pmVar15;" (assignment_expression "pmVar16 = pmVar15" identifier = identifier) ;) })) (expression_statement "iVar3 = (**(code **)(puStack_1170 + -0x605c))((int)pmVar16 - (int)pmVar5);" (assignment_expression "iVar3 = (**(code **)(puStack_1170 + -0x605c))((int)pmVar16 - (int)pmVar5)" identifier = (call_expression "(**(code **)(puStack_1170 + -0x605c))((int)pmVar16 - (int)pmVar5)" (parenthesized_expression "(**(code **)(puStack_1170 + -0x605c))" ( (pointer_expression "**(code **)(puStack_1170 + -0x605c)" * (pointer_expression "*(code **)(puStack_1170 + -0x605c)" * (cast_expression "(code **)(puStack_1170 + -0x605c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x605c)" ( (binary_expression "puStack_1170 + -0x605c" identifier + number_literal) ))))) )) (argument_list "((int)pmVar16 - (int)pmVar5)" ( (binary_expression "(int)pmVar16 - (int)pmVar5" (cast_expression "(int)pmVar16" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pmVar5" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pmVar16 = (mbstate_t *)(iVar3 - 1);" (assignment_expression "pmVar16 = (mbstate_t *)(iVar3 - 1)" identifier = (cast_expression "(mbstate_t *)(iVar3 - 1)" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 - 1)" ( (binary_expression "iVar3 - 1" identifier - number_literal) )))) ;) (expression_statement "pcVar18 = *(code **)(puStack_1170 + -0x6338);" (assignment_expression "pcVar18 = *(code **)(puStack_1170 + -0x6338)" identifier = (pointer_expression "*(code **)(puStack_1170 + -0x6338)" * (cast_expression "(code **)(puStack_1170 + -0x6338)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x6338)" ( (binary_expression "puStack_1170 + -0x6338" identifier + number_literal) ))))) ;) (expression_statement "*(undefined1 *)(iVar3 + -1) = 0x2f;" (assignment_expression "*(undefined1 *)(iVar3 + -1) = 0x2f" (pointer_expression "*(undefined1 *)(iVar3 + -1)" * (cast_expression "(undefined1 *)(iVar3 + -1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + -1)" ( (binary_expression "iVar3 + -1" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar18)(iStack_111c);" (call_expression "(*pcVar18)(iStack_111c)" (parenthesized_expression "(*pcVar18)" ( (pointer_expression "*pcVar18" * identifier) )) (argument_list "(iStack_111c)" ( identifier ))) ;) (expression_statement "iStack_112c = iStack_1150;" (assignment_expression "iStack_112c = iStack_1150" identifier = identifier) ;) (expression_statement "pmStack_1120 = pmStack_1130;" (assignment_expression "pmStack_1120 = pmStack_1130" identifier = identifier) ;) (expression_statement "in_a2 = pmVar5;" (assignment_expression "in_a2 = pmVar5" identifier = identifier) ;) (expression_statement "unaff_s1 = pmVar12;" (assignment_expression "unaff_s1 = pmVar12" identifier = identifier) ;) (expression_statement "pmVar14 = pmVar13;" (assignment_expression "pmVar14 = pmVar13" identifier = identifier) ;) (expression_statement "unaff_s6 = unaff_s5;" (assignment_expression "unaff_s6 = unaff_s5" identifier = identifier) ;) (expression_statement "puVar28 = puVar25;" (assignment_expression "puVar28 = puVar25" identifier = identifier) ;) (expression_statement "iStack_113c = iStack_1154;" (assignment_expression "iStack_113c = iStack_1154" identifier = identifier) ;) })) (if_statement "if (pmVar16 == pmStack_1168) {\n        pmVar16 = (mbstate_t *)auStack_79;\n        auStack_79[0] = 0x2f;\n      }" if (parenthesized_expression "(pmVar16 == pmStack_1168)" ( (binary_expression "pmVar16 == pmStack_1168" identifier == identifier) )) (compound_statement "{\n        pmVar16 = (mbstate_t *)auStack_79;\n        auStack_79[0] = 0x2f;\n      }" { (expression_statement "pmVar16 = (mbstate_t *)auStack_79;" (assignment_expression "pmVar16 = (mbstate_t *)auStack_79" identifier = (cast_expression "(mbstate_t *)auStack_79" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "auStack_79[0] = 0x2f;" (assignment_expression "auStack_79[0] = 0x2f" (subscript_expression "auStack_79[0]" identifier [ number_literal ]) = number_literal) ;) })) (expression_statement "pmVar10 = pmVar2;" (assignment_expression "pmVar10 = pmVar2" identifier = identifier) ;) (if_statement "if (pmStack_1134 != pmStack_1148) {\n        (**(code **)(puStack_1170 + -0x6044))();\n        pmVar10 = pmVar2;\n      }" if (parenthesized_expression "(pmStack_1134 != pmStack_1148)" ( (binary_expression "pmStack_1134 != pmStack_1148" identifier != identifier) )) (compound_statement "{\n        (**(code **)(puStack_1170 + -0x6044))();\n        pmVar10 = pmVar2;\n      }" { (expression_statement "(**(code **)(puStack_1170 + -0x6044))();" (call_expression "(**(code **)(puStack_1170 + -0x6044))()" (parenthesized_expression "(**(code **)(puStack_1170 + -0x6044))" ( (pointer_expression "**(code **)(puStack_1170 + -0x6044)" * (pointer_expression "*(code **)(puStack_1170 + -0x6044)" * (cast_expression "(code **)(puStack_1170 + -0x6044)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x6044)" ( (binary_expression "puStack_1170 + -0x6044" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "pmVar10 = pmVar2;" (assignment_expression "pmVar10 = pmVar2" identifier = identifier) ;) })) (expression_statement "pmVar11 = (mbstate_t *)((int)unaff_s6 + ((int)unaff_s1 - (int)pmVar16));" (assignment_expression "pmVar11 = (mbstate_t *)((int)unaff_s6 + ((int)unaff_s1 - (int)pmVar16))" identifier = (cast_expression "(mbstate_t *)((int)unaff_s6 + ((int)unaff_s1 - (int)pmVar16))" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s6 + ((int)unaff_s1 - (int)pmVar16))" ( (binary_expression "(int)unaff_s6 + ((int)unaff_s1 - (int)pmVar16)" (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "((int)unaff_s1 - (int)pmVar16)" ( (binary_expression "(int)unaff_s1 - (int)pmVar16" (cast_expression "(int)unaff_s1" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pmVar16" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) ;) (if_statement "if (pcStack_115c == (char *)0x0) {\n        if (pmStack_44 == (mbstate_t *)0x0) {\n          pcVar18 = *(code **)(puStack_1170 + -0x6158);\n          pmStack_44 = pmVar11;\n        }\n        else {\n          pcVar18 = *(code **)(puStack_1170 + -0x6158);\n          if (pmStack_44 < pmVar11) goto LAB_000dfda0;\n        }\n        pcVar9 = (char *)(*pcVar18)(pmStack_44);\n        if (pcVar9 != (char *)0x0) goto LAB_000dfc70;\n      }\n      else {\n        pcVar9 = pcStack_115c;\n        if (pmVar11 <= pmStack_44) {\nLAB_000dfc70:\n          in_a2 = pmVar11;\n          (**(code **)(puStack_1170 + -0x605c))(pcVar9,pmVar16);\n          pmStack_44 = pmVar16;\n          if (unaff_s1 != pmStack_1158) {\n            (**(code **)(puStack_1170 + -0x6044))(unaff_s1);\n            pmStack_44 = pmVar16;\n          }\n          goto LAB_000dfb60;\n        }\nLAB_000dfda0:\n        puVar7 = (undefined4 *)(**(code **)(puStack_1170 + -0x6204))();\n        *puVar7 = 0x22;\n      }" if (parenthesized_expression "(pcStack_115c == (char *)0x0)" ( (binary_expression "pcStack_115c == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if (pmStack_44 == (mbstate_t *)0x0) {\n          pcVar18 = *(code **)(puStack_1170 + -0x6158);\n          pmStack_44 = pmVar11;\n        }\n        else {\n          pcVar18 = *(code **)(puStack_1170 + -0x6158);\n          if (pmStack_44 < pmVar11) goto LAB_000dfda0;\n        }\n        pcVar9 = (char *)(*pcVar18)(pmStack_44);\n        if (pcVar9 != (char *)0x0) goto LAB_000dfc70;\n      }" { (if_statement "if (pmStack_44 == (mbstate_t *)0x0) {\n          pcVar18 = *(code **)(puStack_1170 + -0x6158);\n          pmStack_44 = pmVar11;\n        }\n        else {\n          pcVar18 = *(code **)(puStack_1170 + -0x6158);\n          if (pmStack_44 < pmVar11) goto LAB_000dfda0;\n        }" if (parenthesized_expression "(pmStack_44 == (mbstate_t *)0x0)" ( (binary_expression "pmStack_44 == (mbstate_t *)0x0" identifier == (cast_expression "(mbstate_t *)0x0" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          pcVar18 = *(code **)(puStack_1170 + -0x6158);\n          pmStack_44 = pmVar11;\n        }" { (expression_statement "pcVar18 = *(code **)(puStack_1170 + -0x6158);" (assignment_expression "pcVar18 = *(code **)(puStack_1170 + -0x6158)" identifier = (pointer_expression "*(code **)(puStack_1170 + -0x6158)" * (cast_expression "(code **)(puStack_1170 + -0x6158)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x6158)" ( (binary_expression "puStack_1170 + -0x6158" identifier + number_literal) ))))) ;) (expression_statement "pmStack_44 = pmVar11;" (assignment_expression "pmStack_44 = pmVar11" identifier = identifier) ;) }) (else_clause "else {\n          pcVar18 = *(code **)(puStack_1170 + -0x6158);\n          if (pmStack_44 < pmVar11) goto LAB_000dfda0;\n        }" else (compound_statement "{\n          pcVar18 = *(code **)(puStack_1170 + -0x6158);\n          if (pmStack_44 < pmVar11) goto LAB_000dfda0;\n        }" { (expression_statement "pcVar18 = *(code **)(puStack_1170 + -0x6158);" (assignment_expression "pcVar18 = *(code **)(puStack_1170 + -0x6158)" identifier = (pointer_expression "*(code **)(puStack_1170 + -0x6158)" * (cast_expression "(code **)(puStack_1170 + -0x6158)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x6158)" ( (binary_expression "puStack_1170 + -0x6158" identifier + number_literal) ))))) ;) (if_statement "if (pmStack_44 < pmVar11) goto LAB_000dfda0;" if (parenthesized_expression "(pmStack_44 < pmVar11)" ( (binary_expression "pmStack_44 < pmVar11" identifier < identifier) )) (goto_statement "goto LAB_000dfda0;" goto statement_identifier ;)) }))) (expression_statement "pcVar9 = (char *)(*pcVar18)(pmStack_44);" (assignment_expression "pcVar9 = (char *)(*pcVar18)(pmStack_44)" identifier = (cast_expression "(char *)(*pcVar18)(pmStack_44)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar18)(pmStack_44)" (parenthesized_expression "(*pcVar18)" ( (pointer_expression "*pcVar18" * identifier) )) (argument_list "(pmStack_44)" ( identifier ))))) ;) (if_statement "if (pcVar9 != (char *)0x0) goto LAB_000dfc70;" if (parenthesized_expression "(pcVar9 != (char *)0x0)" ( (binary_expression "pcVar9 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000dfc70;" goto statement_identifier ;)) }) (else_clause "else {\n        pcVar9 = pcStack_115c;\n        if (pmVar11 <= pmStack_44) {\nLAB_000dfc70:\n          in_a2 = pmVar11;\n          (**(code **)(puStack_1170 + -0x605c))(pcVar9,pmVar16);\n          pmStack_44 = pmVar16;\n          if (unaff_s1 != pmStack_1158) {\n            (**(code **)(puStack_1170 + -0x6044))(unaff_s1);\n            pmStack_44 = pmVar16;\n          }\n          goto LAB_000dfb60;\n        }\nLAB_000dfda0:\n        puVar7 = (undefined4 *)(**(code **)(puStack_1170 + -0x6204))();\n        *puVar7 = 0x22;\n      }" else (compound_statement "{\n        pcVar9 = pcStack_115c;\n        if (pmVar11 <= pmStack_44) {\nLAB_000dfc70:\n          in_a2 = pmVar11;\n          (**(code **)(puStack_1170 + -0x605c))(pcVar9,pmVar16);\n          pmStack_44 = pmVar16;\n          if (unaff_s1 != pmStack_1158) {\n            (**(code **)(puStack_1170 + -0x6044))(unaff_s1);\n            pmStack_44 = pmVar16;\n          }\n          goto LAB_000dfb60;\n        }\nLAB_000dfda0:\n        puVar7 = (undefined4 *)(**(code **)(puStack_1170 + -0x6204))();\n        *puVar7 = 0x22;\n      }" { (expression_statement "pcVar9 = pcStack_115c;" (assignment_expression "pcVar9 = pcStack_115c" identifier = identifier) ;) (if_statement "if (pmVar11 <= pmStack_44) {\nLAB_000dfc70:\n          in_a2 = pmVar11;\n          (**(code **)(puStack_1170 + -0x605c))(pcVar9,pmVar16);\n          pmStack_44 = pmVar16;\n          if (unaff_s1 != pmStack_1158) {\n            (**(code **)(puStack_1170 + -0x6044))(unaff_s1);\n            pmStack_44 = pmVar16;\n          }\n          goto LAB_000dfb60;\n        }" if (parenthesized_expression "(pmVar11 <= pmStack_44)" ( (binary_expression "pmVar11 <= pmStack_44" identifier <= identifier) )) (compound_statement "{\nLAB_000dfc70:\n          in_a2 = pmVar11;\n          (**(code **)(puStack_1170 + -0x605c))(pcVar9,pmVar16);\n          pmStack_44 = pmVar16;\n          if (unaff_s1 != pmStack_1158) {\n            (**(code **)(puStack_1170 + -0x6044))(unaff_s1);\n            pmStack_44 = pmVar16;\n          }\n          goto LAB_000dfb60;\n        }" { (labeled_statement "LAB_000dfc70:\n          in_a2 = pmVar11;" statement_identifier : (expression_statement "in_a2 = pmVar11;" (assignment_expression "in_a2 = pmVar11" identifier = identifier) ;)) (expression_statement "(**(code **)(puStack_1170 + -0x605c))(pcVar9,pmVar16);" (call_expression "(**(code **)(puStack_1170 + -0x605c))(pcVar9,pmVar16)" (parenthesized_expression "(**(code **)(puStack_1170 + -0x605c))" ( (pointer_expression "**(code **)(puStack_1170 + -0x605c)" * (pointer_expression "*(code **)(puStack_1170 + -0x605c)" * (cast_expression "(code **)(puStack_1170 + -0x605c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x605c)" ( (binary_expression "puStack_1170 + -0x605c" identifier + number_literal) ))))) )) (argument_list "(pcVar9,pmVar16)" ( identifier , identifier ))) ;) (expression_statement "pmStack_44 = pmVar16;" (assignment_expression "pmStack_44 = pmVar16" identifier = identifier) ;) (if_statement "if (unaff_s1 != pmStack_1158) {\n            (**(code **)(puStack_1170 + -0x6044))(unaff_s1);\n            pmStack_44 = pmVar16;\n          }" if (parenthesized_expression "(unaff_s1 != pmStack_1158)" ( (binary_expression "unaff_s1 != pmStack_1158" identifier != identifier) )) (compound_statement "{\n            (**(code **)(puStack_1170 + -0x6044))(unaff_s1);\n            pmStack_44 = pmVar16;\n          }" { (expression_statement "(**(code **)(puStack_1170 + -0x6044))(unaff_s1);" (call_expression "(**(code **)(puStack_1170 + -0x6044))(unaff_s1)" (parenthesized_expression "(**(code **)(puStack_1170 + -0x6044))" ( (pointer_expression "**(code **)(puStack_1170 + -0x6044)" * (pointer_expression "*(code **)(puStack_1170 + -0x6044)" * (cast_expression "(code **)(puStack_1170 + -0x6044)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x6044)" ( (binary_expression "puStack_1170 + -0x6044" identifier + number_literal) ))))) )) (argument_list "(unaff_s1)" ( identifier ))) ;) (expression_statement "pmStack_44 = pmVar16;" (assignment_expression "pmStack_44 = pmVar16" identifier = identifier) ;) })) (goto_statement "goto LAB_000dfb60;" goto statement_identifier ;) })) (labeled_statement "LAB_000dfda0:\n        puVar7 = (undefined4 *)(**(code **)(puStack_1170 + -0x6204))();" statement_identifier : (expression_statement "puVar7 = (undefined4 *)(**(code **)(puStack_1170 + -0x6204))();" (assignment_expression "puVar7 = (undefined4 *)(**(code **)(puStack_1170 + -0x6204))()" identifier = (cast_expression "(undefined4 *)(**(code **)(puStack_1170 + -0x6204))()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puStack_1170 + -0x6204))()" (parenthesized_expression "(**(code **)(puStack_1170 + -0x6204))" ( (pointer_expression "**(code **)(puStack_1170 + -0x6204)" * (pointer_expression "*(code **)(puStack_1170 + -0x6204)" * (cast_expression "(code **)(puStack_1170 + -0x6204)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x6204)" ( (binary_expression "puStack_1170 + -0x6204" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;)) (expression_statement "*puVar7 = 0x22;" (assignment_expression "*puVar7 = 0x22" (pointer_expression "*puVar7" * identifier) = number_literal) ;) }))) (labeled_statement "LAB_000dfb48:\n      pcVar9 = (char *)0x0;" statement_identifier : (expression_statement "pcVar9 = (char *)0x0;" (assignment_expression "pcVar9 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "pmStack_44 = pmVar10;" (assignment_expression "pmStack_44 = pmVar10" identifier = identifier) ;) (if_statement "if (unaff_s1 == pmStack_1158) goto LAB_000dfb60;" if (parenthesized_expression "(unaff_s1 == pmStack_1158)" ( (binary_expression "unaff_s1 == pmStack_1158" identifier == identifier) )) (goto_statement "goto LAB_000dfb60;" goto statement_identifier ;)) (expression_statement "pcVar18 = *(code **)(puStack_1170 + -0x6044);" (assignment_expression "pcVar18 = *(code **)(puStack_1170 + -0x6044)" identifier = (pointer_expression "*(code **)(puStack_1170 + -0x6044)" * (cast_expression "(code **)(puStack_1170 + -0x6044)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x6044)" ( (binary_expression "puStack_1170 + -0x6044" identifier + number_literal) ))))) ;) (expression_statement "pmVar12 = unaff_s1;" (assignment_expression "pmVar12 = unaff_s1" identifier = identifier) ;) (if_statement "if (unaff_s1 != (mbstate_t *)0x0) {\nLAB_000dfcc0:\n        (*pcVar18)(pmVar12);\n        unaff_s1 = pmVar12;\n      }" if (parenthesized_expression "(unaff_s1 != (mbstate_t *)0x0)" ( (binary_expression "unaff_s1 != (mbstate_t *)0x0" identifier != (cast_expression "(mbstate_t *)0x0" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_000dfcc0:\n        (*pcVar18)(pmVar12);\n        unaff_s1 = pmVar12;\n      }" { (labeled_statement "LAB_000dfcc0:\n        (*pcVar18)(pmVar12);" statement_identifier : (expression_statement "(*pcVar18)(pmVar12);" (call_expression "(*pcVar18)(pmVar12)" (parenthesized_expression "(*pcVar18)" ( (pointer_expression "*pcVar18" * identifier) )) (argument_list "(pmVar12)" ( identifier ))) ;)) (expression_statement "unaff_s1 = pmVar12;" (assignment_expression "unaff_s1 = pmVar12" identifier = identifier) ;) })) })) })) (expression_statement "pcVar9 = (char *)0x0;" (assignment_expression "pcVar9 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pmStack_44 = pmVar10;" (assignment_expression "pmStack_44 = pmVar10" identifier = identifier) ;) (labeled_statement "LAB_000dfb60:\n  pcVar18 = *(code **)(puStack_1170 + -0x60b8);" statement_identifier : (expression_statement "pcVar18 = *(code **)(puStack_1170 + -0x60b8);" (assignment_expression "pcVar18 = *(code **)(puStack_1170 + -0x60b8)" identifier = (pointer_expression "*(code **)(puStack_1170 + -0x60b8)" * (cast_expression "(code **)(puStack_1170 + -0x60b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x60b8)" ( (binary_expression "puStack_1170 + -0x60b8" identifier + number_literal) ))))) ;)) (if_statement "if (iStack_74 == *piStack_1144) {\n    return pcVar9;\n  }" if (parenthesized_expression "(iStack_74 == *piStack_1144)" ( (binary_expression "iStack_74 == *piStack_1144" identifier == (pointer_expression "*piStack_1144" * identifier)) )) (compound_statement "{\n    return pcVar9;\n  }" { (return_statement "return pcVar9;" return identifier ;) })) (expression_statement "pcVar29 = zwrite;" (assignment_expression "pcVar29 = zwrite" identifier = identifier) ;) (expression_statement "iVar3 = iStack_74;" (assignment_expression "iVar3 = iStack_74" identifier = identifier) ;) (expression_statement "(*pcVar18)();" (call_expression "(*pcVar18)()" (parenthesized_expression "(*pcVar18)" ( (pointer_expression "*pcVar18" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcVar18 = pcVar18 + 0x6c740;" (assignment_expression "pcVar18 = pcVar18 + 0x6c740" identifier = (binary_expression "pcVar18 + 0x6c740" identifier + number_literal)) ;) (expression_statement "*(mbstate_t **)(puVar28 + -0x10) = pmVar14;" (assignment_expression "*(mbstate_t **)(puVar28 + -0x10) = pmVar14" (pointer_expression "*(mbstate_t **)(puVar28 + -0x10)" * (cast_expression "(mbstate_t **)(puVar28 + -0x10)" ( (type_descriptor "mbstate_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + -0x10)" ( (binary_expression "puVar28 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(mbstate_t **)(puVar28 + -0x14) = unaff_s3;" (assignment_expression "*(mbstate_t **)(puVar28 + -0x14) = unaff_s3" (pointer_expression "*(mbstate_t **)(puVar28 + -0x14)" * (cast_expression "(mbstate_t **)(puVar28 + -0x14)" ( (type_descriptor "mbstate_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + -0x14)" ( (binary_expression "puVar28 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (expression_statement "*(mbstate_t **)(puVar28 + -8) = unaff_s6;" (assignment_expression "*(mbstate_t **)(puVar28 + -8) = unaff_s6" (pointer_expression "*(mbstate_t **)(puVar28 + -8)" * (cast_expression "(mbstate_t **)(puVar28 + -8)" ( (type_descriptor "mbstate_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + -8)" ( (binary_expression "puVar28 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(mbstate_t **)(puVar28 + -0xc) = unaff_s5;" (assignment_expression "*(mbstate_t **)(puVar28 + -0xc) = unaff_s5" (pointer_expression "*(mbstate_t **)(puVar28 + -0xc)" * (cast_expression "(mbstate_t **)(puVar28 + -0xc)" ( (type_descriptor "mbstate_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + -0xc)" ( (binary_expression "puVar28 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char **)(puVar28 + -0x18) = pcVar9;" (assignment_expression "*(char **)(puVar28 + -0x18) = pcVar9" (pointer_expression "*(char **)(puVar28 + -0x18)" * (cast_expression "(char **)(puVar28 + -0x18)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + -0x18)" ( (binary_expression "puVar28 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(mbstate_t **)(puVar28 + -0x1c) = unaff_s1;" (assignment_expression "*(mbstate_t **)(puVar28 + -0x1c) = unaff_s1" (pointer_expression "*(mbstate_t **)(puVar28 + -0x1c)" * (cast_expression "(mbstate_t **)(puVar28 + -0x1c)" ( (type_descriptor "mbstate_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + -0x1c)" ( (binary_expression "puVar28 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(mbstate_t **)(puVar28 + -0x20) = pmVar11;" (assignment_expression "*(mbstate_t **)(puVar28 + -0x20) = pmVar11" (pointer_expression "*(mbstate_t **)(puVar28 + -0x20)" * (cast_expression "(mbstate_t **)(puVar28 + -0x20)" ( (type_descriptor "mbstate_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + -0x20)" ( (binary_expression "puVar28 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(code **)(puVar28 + -0x28) = pcVar18;" (assignment_expression "*(code **)(puVar28 + -0x28) = pcVar18" (pointer_expression "*(code **)(puVar28 + -0x28)" * (cast_expression "(code **)(puVar28 + -0x28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + -0x28)" ( (binary_expression "puVar28 + -0x28" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(code **)(puVar28 + -4) = pcVar29;" (assignment_expression "*(code **)(puVar28 + -4) = pcVar29" (pointer_expression "*(code **)(puVar28 + -4)" * (cast_expression "(code **)(puVar28 + -4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + -4)" ( (binary_expression "puVar28 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "pmVar11 = in_a2;" (assignment_expression "pmVar11 = in_a2" identifier = identifier) ;) (do_statement "do {\n    while( true ) {\n      while( true ) {\n        iVar8 = (**(code **)(pcVar18 + -0x61c0))(iVar3,pmStack_44,pmVar11);\n        pcVar18 = *(code **)(puVar28 + -0x28);\n        if (iVar8 < 1) break;\n        pmVar11 = (mbstate_t *)((int)pmVar11 - iVar8);\n        pmStack_44 = (mbstate_t *)((int)&pmStack_44->__count + iVar8);\n        if ((int)pmVar11 < 1) {\n          return (char *)in_a2;\n        }\n      }\n      if (iVar8 != 0) break;\n      iVar6 = iVar6 + 1;\n      if (3 < iVar6) {\n        return (char *)((int)in_a2 - (int)pmVar11);\n      }\n    }\n    piVar4 = (int *)(**(code **)(pcVar18 + -0x6204))();\n    pcVar18 = *(code **)(puVar28 + -0x28);\n  } while (*piVar4 == 4);" do (compound_statement "{\n    while( true ) {\n      while( true ) {\n        iVar8 = (**(code **)(pcVar18 + -0x61c0))(iVar3,pmStack_44,pmVar11);\n        pcVar18 = *(code **)(puVar28 + -0x28);\n        if (iVar8 < 1) break;\n        pmVar11 = (mbstate_t *)((int)pmVar11 - iVar8);\n        pmStack_44 = (mbstate_t *)((int)&pmStack_44->__count + iVar8);\n        if ((int)pmVar11 < 1) {\n          return (char *)in_a2;\n        }\n      }\n      if (iVar8 != 0) break;\n      iVar6 = iVar6 + 1;\n      if (3 < iVar6) {\n        return (char *)((int)in_a2 - (int)pmVar11);\n      }\n    }\n    piVar4 = (int *)(**(code **)(pcVar18 + -0x6204))();\n    pcVar18 = *(code **)(puVar28 + -0x28);\n  }" { (while_statement "while( true ) {\n      while( true ) {\n        iVar8 = (**(code **)(pcVar18 + -0x61c0))(iVar3,pmStack_44,pmVar11);\n        pcVar18 = *(code **)(puVar28 + -0x28);\n        if (iVar8 < 1) break;\n        pmVar11 = (mbstate_t *)((int)pmVar11 - iVar8);\n        pmStack_44 = (mbstate_t *)((int)&pmStack_44->__count + iVar8);\n        if ((int)pmVar11 < 1) {\n          return (char *)in_a2;\n        }\n      }\n      if (iVar8 != 0) break;\n      iVar6 = iVar6 + 1;\n      if (3 < iVar6) {\n        return (char *)((int)in_a2 - (int)pmVar11);\n      }\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      while( true ) {\n        iVar8 = (**(code **)(pcVar18 + -0x61c0))(iVar3,pmStack_44,pmVar11);\n        pcVar18 = *(code **)(puVar28 + -0x28);\n        if (iVar8 < 1) break;\n        pmVar11 = (mbstate_t *)((int)pmVar11 - iVar8);\n        pmStack_44 = (mbstate_t *)((int)&pmStack_44->__count + iVar8);\n        if ((int)pmVar11 < 1) {\n          return (char *)in_a2;\n        }\n      }\n      if (iVar8 != 0) break;\n      iVar6 = iVar6 + 1;\n      if (3 < iVar6) {\n        return (char *)((int)in_a2 - (int)pmVar11);\n      }\n    }" { (while_statement "while( true ) {\n        iVar8 = (**(code **)(pcVar18 + -0x61c0))(iVar3,pmStack_44,pmVar11);\n        pcVar18 = *(code **)(puVar28 + -0x28);\n        if (iVar8 < 1) break;\n        pmVar11 = (mbstate_t *)((int)pmVar11 - iVar8);\n        pmStack_44 = (mbstate_t *)((int)&pmStack_44->__count + iVar8);\n        if ((int)pmVar11 < 1) {\n          return (char *)in_a2;\n        }\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        iVar8 = (**(code **)(pcVar18 + -0x61c0))(iVar3,pmStack_44,pmVar11);\n        pcVar18 = *(code **)(puVar28 + -0x28);\n        if (iVar8 < 1) break;\n        pmVar11 = (mbstate_t *)((int)pmVar11 - iVar8);\n        pmStack_44 = (mbstate_t *)((int)&pmStack_44->__count + iVar8);\n        if ((int)pmVar11 < 1) {\n          return (char *)in_a2;\n        }\n      }" { (expression_statement "iVar8 = (**(code **)(pcVar18 + -0x61c0))(iVar3,pmStack_44,pmVar11);" (assignment_expression "iVar8 = (**(code **)(pcVar18 + -0x61c0))(iVar3,pmStack_44,pmVar11)" identifier = (call_expression "(**(code **)(pcVar18 + -0x61c0))(iVar3,pmStack_44,pmVar11)" (parenthesized_expression "(**(code **)(pcVar18 + -0x61c0))" ( (pointer_expression "**(code **)(pcVar18 + -0x61c0)" * (pointer_expression "*(code **)(pcVar18 + -0x61c0)" * (cast_expression "(code **)(pcVar18 + -0x61c0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar18 + -0x61c0)" ( (binary_expression "pcVar18 + -0x61c0" identifier + number_literal) ))))) )) (argument_list "(iVar3,pmStack_44,pmVar11)" ( identifier , identifier , identifier )))) ;) (expression_statement "pcVar18 = *(code **)(puVar28 + -0x28);" (assignment_expression "pcVar18 = *(code **)(puVar28 + -0x28)" identifier = (pointer_expression "*(code **)(puVar28 + -0x28)" * (cast_expression "(code **)(puVar28 + -0x28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + -0x28)" ( (binary_expression "puVar28 + -0x28" identifier + number_literal) ))))) ;) (if_statement "if (iVar8 < 1) break;" if (parenthesized_expression "(iVar8 < 1)" ( (binary_expression "iVar8 < 1" identifier < number_literal) )) (break_statement "break;" break ;)) (expression_statement "pmVar11 = (mbstate_t *)((int)pmVar11 - iVar8);" (assignment_expression "pmVar11 = (mbstate_t *)((int)pmVar11 - iVar8)" identifier = (cast_expression "(mbstate_t *)((int)pmVar11 - iVar8)" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pmVar11 - iVar8)" ( (binary_expression "(int)pmVar11 - iVar8" (cast_expression "(int)pmVar11" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) )))) ;) (expression_statement "pmStack_44 = (mbstate_t *)((int)&pmStack_44->__count + iVar8);" (assignment_expression "pmStack_44 = (mbstate_t *)((int)&pmStack_44->__count + iVar8)" identifier = (cast_expression "(mbstate_t *)((int)&pmStack_44->__count + iVar8)" ( (type_descriptor "mbstate_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pmStack_44->__count + iVar8)" ( (binary_expression "(int)&pmStack_44->__count + iVar8" (cast_expression "(int)&pmStack_44->__count" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pmStack_44->__count" & (field_expression "pmStack_44->__count" identifier -> field_identifier))) + identifier) )))) ;) (if_statement "if ((int)pmVar11 < 1) {\n          return (char *)in_a2;\n        }" if (parenthesized_expression "((int)pmVar11 < 1)" ( (binary_expression "(int)pmVar11 < 1" (cast_expression "(int)pmVar11" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n          return (char *)in_a2;\n        }" { (return_statement "return (char *)in_a2;" return (cast_expression "(char *)in_a2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) ;) })) })) (if_statement "if (iVar8 != 0) break;" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (if_statement "if (3 < iVar6) {\n        return (char *)((int)in_a2 - (int)pmVar11);\n      }" if (parenthesized_expression "(3 < iVar6)" ( (binary_expression "3 < iVar6" number_literal < identifier) )) (compound_statement "{\n        return (char *)((int)in_a2 - (int)pmVar11);\n      }" { (return_statement "return (char *)((int)in_a2 - (int)pmVar11);" return (cast_expression "(char *)((int)in_a2 - (int)pmVar11)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)in_a2 - (int)pmVar11)" ( (binary_expression "(int)in_a2 - (int)pmVar11" (cast_expression "(int)in_a2" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pmVar11" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ;) })) })) (expression_statement "piVar4 = (int *)(**(code **)(pcVar18 + -0x6204))();" (assignment_expression "piVar4 = (int *)(**(code **)(pcVar18 + -0x6204))()" identifier = (cast_expression "(int *)(**(code **)(pcVar18 + -0x6204))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar18 + -0x6204))()" (parenthesized_expression "(**(code **)(pcVar18 + -0x6204))" ( (pointer_expression "**(code **)(pcVar18 + -0x6204)" * (pointer_expression "*(code **)(pcVar18 + -0x6204)" * (cast_expression "(code **)(pcVar18 + -0x6204)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar18 + -0x6204)" ( (binary_expression "pcVar18 + -0x6204" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "pcVar18 = *(code **)(puVar28 + -0x28);" (assignment_expression "pcVar18 = *(code **)(puVar28 + -0x28)" identifier = (pointer_expression "*(code **)(puVar28 + -0x28)" * (cast_expression "(code **)(puVar28 + -0x28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar28 + -0x28)" ( (binary_expression "puVar28 + -0x28" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(*piVar4 == 4)" ( (binary_expression "*piVar4 == 4" (pointer_expression "*piVar4" * identifier) == number_literal) )) ;) (return_statement "return (char *)0xffffffff;" return (cast_expression "(char *)0xffffffff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })))
(translation_unit "byte ***** mbschr(byte *****param_1,byte *****param_2,byte *****param_3)\n\n{\n  byte bVar1;\n  byte *****pppppbVar2;\n  int iVar3;\n  int *piVar4;\n  byte *****pppppbVar5;\n  int iVar6;\n  undefined4 *puVar7;\n  int iVar8;\n  byte *****pppppbVar9;\n  byte *****unaff_s1;\n  byte *****pppppbVar10;\n  byte ****ppppbVar11;\n  byte *****unaff_s3;\n  byte *****pppppbVar12;\n  byte *****pppppbVar13;\n  byte *****unaff_s5;\n  byte *****unaff_s6;\n  byte *****pppppbVar14;\n  undefined *puVar15;\n  code *pcVar16;\n  undefined1 *puVar17;\n  undefined1 *puVar18;\n  undefined1 *puVar24;\n  undefined1 *puVar25;\n  undefined1 *puVar26;\n  code *pcVar27;\n  undefined1 auStack_1180 [16];\n  undefined *puStack_1170;\n  byte ****ppppbStack_1168;\n  int iStack_1164;\n  int iStack_1160;\n  byte ****ppppbStack_115c;\n  byte ****ppppbStack_1158;\n  int iStack_1154;\n  int iStack_1150;\n  byte ****ppppbStack_114c;\n  byte ****ppppbStack_1148;\n  int *piStack_1144;\n  byte ****ppppbStack_1140;\n  int iStack_113c;\n  byte ***pppbStack_1138;\n  byte ****ppppbStack_1134;\n  byte ****ppppbStack_1130;\n  int iStack_112c;\n  byte ****ppppbStack_1128;\n  byte ****ppppbStack_1124;\n  byte ****ppppbStack_1120;\n  int iStack_111c;\n  byte ****appppbStack_1118 [4];\n  int iStack_1108;\n  int iStack_1104;\n  byte ***apppbStack_1078 [1023];\n  undefined1 uStack_79;\n  undefined1 auStack_78 [4];\n  int iStack_74;\n  byte ****ppppbStack_70;\n  byte ****ppppbStack_6c;\n  byte ****ppppbStack_68;\n  byte ****ppppbStack_64;\n  undefined *puStack_60;\n  byte ****ppppbStack_5c;\n  byte ****ppppbStack_44;\n  byte ***local_2c;\n  undefined4 local_28;\n  byte ****local_24;\n  undefined1 *puVar19;\n  undefined1 *puVar20;\n  undefined1 *puVar21;\n  undefined1 *puVar22;\n  undefined1 *puVar23;\n  \n  pppppbVar13 = (byte *****)PTR___stack_chk_guard_001464dc;\n  pppppbVar9 = (byte *****)PTR_is_basic_table_00144b04;\n  local_24 = *(byte *****)PTR___stack_chk_guard_001464dc;\n  ppppbStack_44 = (byte ****)param_2;\n  if ((*(int *)PTR_locale_utf8locale_00144afc == 0) || (0x7f < (int)param_2)) {\n    if ((0x2f < ((uint)param_2 & 0xff)) &&\n       (unaff_s5 = (byte *****)&local_2c, 1 < *(int *)PTR_locale_mb_cur_max_00144b00)) {\n      local_2c = (byte ***)0x0;\n      local_28 = 0;\n      unaff_s1 = (byte *****)(*(code *)PTR_strlen_00146390)(param_1);\n      pppppbVar2 = param_1;\n      if (unaff_s1 == (byte *****)0x0) {\n        pppppbVar2 = (byte *****)0x0;\n      }\n      else {\n        do {\n          bVar1 = *(byte *)pppppbVar2;\n          param_1 = pppppbVar2;\n          if ((*(uint *)((int)pppppbVar9 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n            ppppbStack_44 = (byte ****)pppppbVar2;\n            param_3 = unaff_s1;\n            iVar3 = (*(code *)PTR_mbrtowc_00146408)(0,pppppbVar2,unaff_s1,unaff_s5);\n            if (0xfffffffb < iVar3 - 2U) {\n              if ((byte *****)(uint)*(byte *)pppppbVar2 != param_2) goto LAB_000df640;\n              goto LAB_000df6f8;\n            }\n          }\n          else {\n            if ((byte *****)(uint)bVar1 == param_2) goto LAB_000df6f8;\nLAB_000df640:\n            iVar3 = 1;\n          }\n          unaff_s1 = (byte *****)((int)unaff_s1 - iVar3);\n          param_1 = (byte *****)((int)pppppbVar2 + iVar3);\n          pppppbVar2 = param_1;\n        } while (unaff_s1 != (byte *****)0x0);\n        pppppbVar2 = (byte *****)0x0;\n      }\n      goto LAB_000df6f8;\n    }\n    pppppbVar14 = param_1;\n    if ((byte *****)local_24 == *(byte ******)PTR___stack_chk_guard_001464dc) {\n                    \n                    \n      pppppbVar9 = (byte *****)(*(code *)PTR_strchr_00146398)(param_1,param_2);\n      return pppppbVar9;\n    }\n  }\n  else {\n    pppppbVar2 = (byte *****)utf8_mbschr((char *)param_1,(int)param_2);\n    pppppbVar9 = unaff_s3;\nLAB_000df6f8:\n    pppppbVar14 = (byte *****)local_24;\n    unaff_s3 = pppppbVar9;\n    if (local_24 == *pppppbVar13) {\n      return pppppbVar2;\n    }\n  }\n  puVar15 = PTR___stack_chk_fail_00146488;\n  (*(code *)PTR___stack_chk_fail_00146488)();\n  puStack_1170 = puVar15 + 0x6ce00;\n  puVar26 = auStack_1180;\n  piStack_1144 = *(int **)(puVar15 + 0x66d9c);\n  puStack_60 = (undefined *)pppppbVar13;\n  iStack_74 = *piStack_1144;\n  ppppbStack_115c = (byte ****)pppppbVar14;\n  ppppbStack_70 = (byte ****)param_1;\n  ppppbStack_6c = (byte ****)unaff_s1;\n  ppppbStack_68 = (byte ****)param_2;\n  ppppbStack_64 = (byte ****)unaff_s3;\n  ppppbStack_5c = (byte ****)unaff_s5;\n  if ((pppppbVar14 != (byte *****)0x0) && ((byte *****)ppppbStack_44 == (byte *****)0x0)) {\n    pppppbVar9 = (byte *****)0x0;\n    puVar7 = (undefined4 *)(**(code **)(puVar15 + 0x66bfc))();\n    *puVar7 = 0x16;\n    goto LAB_000dfb60;\n  }\n  param_3 = appppbStack_1118;\n  pppppbVar2 = (byte *****)(*(int *)(puVar15 + 0x64e6c) + -0x7e78);\n  auStack_78[0] = 0;\n  ppppbStack_1128 = (byte ****)param_3;\n  iVar3 = (**(code **)(puVar15 + 0x66af4))(3,pppppbVar2);\n  puVar26 = auStack_1180;\n  if (-1 < iVar3) {\n    ppppbStack_1120 = appppbStack_1118[0];\n    pppppbVar9 = (byte *****)(*(int *)(puStack_1170 + -0x7aac) + -0x7ee8);\n    iStack_112c = iStack_1108;\n    iStack_113c = iStack_1104;\n    param_3 = (byte *****)ppppbStack_1128;\n    iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,pppppbVar9);\n    pppppbVar2 = pppppbVar9;\n    puVar26 = auStack_1180;\n    if (-1 < iVar3) {\n      ppppbStack_1158 = apppbStack_1078;\n      pppppbVar14 = (byte *****)auStack_78;\n      ppppbStack_114c = appppbStack_1118[0];\n      iStack_1160 = iStack_1108;\n      ppppbStack_1148 = (byte ****)(*(int *)(puStack_1170 + -0x7f94) + -0x34d0);\n      pppbStack_1138 = (byte ***)0x0;\n      iStack_1164 = iStack_1104;\n      ppppbStack_1140 = (byte ****)0xe0;\n      ppppbStack_1124 = (byte ****)(*(int *)(puStack_1170 + -0x7f94) + -0x33ef);\n      unaff_s1 = (byte *****)ppppbStack_1158;\n      unaff_s6 = (byte *****)0x1001;\n      puVar26 = auStack_1180;\n      ppppbStack_1168 = (byte ****)pppppbVar14;\n      ppppbStack_1134 = ppppbStack_1148;\n      while (((ppppbStack_1120 != ppppbStack_114c || (iStack_112c != iStack_1160)) ||\n             (iStack_113c != iStack_1164))) {\n        pppppbVar12 = pppppbVar13;\n        pppppbVar10 = unaff_s1;\n        if (ppppbStack_1124 == ppppbStack_1134) {\n          param_1 = (byte *****)((int)ppppbStack_1140 * 2);\n          pppppbVar2 = (byte *****)((int)param_1 + 1);\n          if (ppppbStack_1124 == ppppbStack_1148) {\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(pppppbVar2);\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb48;\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,ppppbStack_1148,ppppbStack_1140);\n          }\n          else {\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(ppppbStack_1134);\n            puVar24 = puVar26;\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb18;\n          }\n          pppppbVar12 = (byte *****)ppppbStack_1140;\n          unaff_s3 = (byte *****)((int)pppppbVar9 + (int)ppppbStack_1140);\n          ppppbStack_1124 = (byte ****)unaff_s3;\n          (**(code **)(puStack_1170 + -0x605c))(unaff_s3,pppppbVar9,ppppbStack_1140);\n          *(byte *)((int)unaff_s3 + (int)pppppbVar12) = 0;\n          ppppbStack_1140 = (byte ****)param_1;\n          ppppbStack_1134 = (byte ****)pppppbVar9;\n        }\n        param_1 = (byte *****)((int)ppppbStack_1124 + -3);\n        pppppbVar2 = param_1;\n        param_3 = (byte *****)ppppbStack_1128;\n        ppppbStack_1124 = (byte ****)param_1;\n        iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,param_1);\n        pppppbVar13 = pppppbVar12;\n        puVar17 = puVar26;\n        if (iVar3 < 0) {\nLAB_000dfb00:\n          puVar26 = puVar17;\n          if ((ppppbStack_1134 != ppppbStack_1148) &&\n             (puVar24 = puVar17, (byte *****)ppppbStack_1134 != (byte *****)0x0)) {\nLAB_000dfb18:\n            pcVar16 = *(code **)(puStack_1170 + -0x6204);\n            puVar25 = puVar24;\nLAB_000dfb1c:\n            param_1 = (byte *****)(*pcVar16)();\n            ppppbVar11 = *param_1;\n            (**(code **)(puStack_1170 + -0x6044))(ppppbStack_1134);\n            *param_1 = ppppbVar11;\n            unaff_s1 = pppppbVar10;\n            puVar26 = puVar25;\n          }\n          goto LAB_000dfb48;\n        }\n        ppppbStack_1130 = appppbStack_1118[0];\n        iStack_1150 = iStack_1108;\n        iStack_1154 = iStack_1104;\n        iStack_111c = (**(code **)(puStack_1170 + -0x633c))(param_1);\n        if (iStack_111c == 0) goto LAB_000dfb00;\n        unaff_s3 = (byte *****)\n                   ((byte *)((int)ppppbStack_1134 + (int)ppppbStack_1140) + -(int)param_1);\n        unaff_s5 = (byte *****)((int)unaff_s3 + 1);\nLAB_000df8ec:\n        do {\n          pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n          do {\n            do {\n              piVar4 = (int *)(*pcVar16)(iStack_111c);\n              while( true ) {\n                if (piVar4 == (int *)0x0) {\n                  param_1 = (byte *****)(**(code **)(puStack_1170 + -0x6204))();\n                  ppppbVar11 = (byte ****)pppbStack_1138;\n                  if (*param_1 != (byte ****)0x0) {\n                    ppppbVar11 = *param_1;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  *param_1 = ppppbVar11;\n                  pppppbVar13 = pppppbVar12;\n                  goto LAB_000dfb00;\n                }\n                if (*(char *)((int)piVar4 + 0x13) != '.') break;\n                pppppbVar2 = (byte *****)0xffff0000;\n                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;\n                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;\n                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);\n              }\n            } while ((ppppbStack_1120 == ppppbStack_1130) &&\n                    ((pcVar16 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c))));\n            param_1 = (byte *****)((int)piVar4 + 0x13);\n            pppppbVar5 = (byte *****)(**(code **)(puStack_1170 + -0x61b0))(param_1);\n            iVar3 = -((uint)((byte *)((int)unaff_s5 + (int)pppppbVar5) + 8) & 0xfffffff8);\n            puVar18 = puVar17 + iVar3;\n            puVar19 = puVar17 + iVar3;\n            puVar20 = puVar17 + iVar3;\n            puVar25 = puVar17 + iVar3;\n            puVar21 = puVar17 + iVar3;\n            puVar26 = puVar17 + iVar3;\n            puVar22 = puVar17 + iVar3;\n            puVar24 = puVar17 + iVar3;\n            puVar23 = puVar17 + iVar3;\n            pppppbVar12 = (byte *****)(puVar17 + iVar3 + 0x10);\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar12,ppppbStack_1124,unaff_s3);\n            puVar15 = puStack_1170;\n            *(byte *)((int)pppppbVar12 + (int)unaff_s3) = 0x2f;\n            (**(code **)(puVar15 + -0x605c))\n                      ((byte *)((int)pppppbVar12 + (int)unaff_s5),param_1,\n                       (byte *)((int)pppppbVar5 + 1));\n            pppppbVar2 = pppppbVar12;\n            param_3 = (byte *****)ppppbStack_1128;\n            iVar6 = (**(code **)(puStack_1170 + -0x632c))(3,pppppbVar12);\n            if (iVar6 < 0) {\n              piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))();\n              pppbStack_1138 = (byte ***)*piVar4;\n            }\n            pppppbVar13 = (byte *****)ppppbStack_1158;\n            pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n            puVar17 = puVar17 + iVar3;\n          } while ((appppbStack_1118[0] != ppppbStack_1120) ||\n                  (puVar17 = puVar18, iStack_1108 != iStack_112c));\n          puVar17 = puVar19;\n        } while (iStack_1104 != iStack_113c);\n        pppppbVar9 = param_1;\n        unaff_s3 = (byte *****)((int)pppppbVar14 - (int)unaff_s1);\n        unaff_s5 = unaff_s6;\n        while (unaff_s3 <= pppppbVar5) {\n          unaff_s6 = (byte *****)((int)unaff_s5 << 1);\n          ppppbStack_1120 = (byte ****)pppppbVar9;\n          if (pppppbVar10 == pppppbVar13) {\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pppppbVar9 = (byte *****)0x0;\n              ppppbStack_44 = (byte ****)pppppbVar2;\n              if ((ppppbStack_1134 == ppppbStack_1148) ||\n                 (pppppbVar10 = (byte *****)ppppbStack_1158, puVar26 = puVar22,\n                 (byte *****)ppppbStack_1134 == (byte *****)0x0)) goto LAB_000dfb60;\n              goto LAB_000dfb18;\n            }\n          }\n          else {\n            pppppbVar2 = unaff_s6;\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(pppppbVar10,unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar20;\n              if (ppppbStack_1134 == ppppbStack_1148) goto LAB_000dfcc0;\n              pcVar16 = *(code **)(puStack_1170 + -0x6204);\n              if ((byte *****)ppppbStack_1134 != (byte *****)0x0) goto LAB_000dfb1c;\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar21;\n              goto LAB_000dfcc0;\n            }\n            pppppbVar14 = (byte *****)((int)unaff_s1 + (int)unaff_s3);\n          }\n          param_1 = (byte *****)((int)unaff_s5 + (int)unaff_s3);\n          param_3 = (byte *****)((int)unaff_s5 - (int)unaff_s3);\n          (**(code **)(puStack_1170 + -0x605c))((byte *****)((int)unaff_s1 + (int)param_1));\n          pppppbVar9 = (byte *****)ppppbStack_1120;\n          pppppbVar12 = pppppbVar13;\n          unaff_s3 = param_1;\n          pppppbVar2 = pppppbVar14;\n          pppppbVar10 = unaff_s1;\n          unaff_s5 = unaff_s6;\n          pppppbVar14 = (byte *****)((int)unaff_s1 + (int)param_1);\n        }\n        iVar3 = (**(code **)(puStack_1170 + -0x605c))((int)pppppbVar14 - (int)pppppbVar5);\n        pppppbVar14 = (byte *****)(iVar3 + -1);\n        pcVar16 = *(code **)(puStack_1170 + -0x6338);\n        *(undefined1 *)(iVar3 + -1) = 0x2f;\n        (*pcVar16)(iStack_111c);\n        iStack_112c = iStack_1150;\n        ppppbStack_1120 = ppppbStack_1130;\n        param_3 = pppppbVar5;\n        unaff_s1 = pppppbVar10;\n        pppppbVar13 = pppppbVar12;\n        unaff_s6 = unaff_s5;\n        puVar26 = puVar23;\n        iStack_113c = iStack_1154;\n      }\n      if (pppppbVar14 == (byte *****)ppppbStack_1168) {\n        pppppbVar14 = (byte *****)&uStack_79;\n        uStack_79 = 0x2f;\n      }\n      pppppbVar2 = pppppbVar9;\n      if (ppppbStack_1134 != ppppbStack_1148) {\n        (**(code **)(puStack_1170 + -0x6044))();\n        pppppbVar2 = pppppbVar9;\n      }\n      param_1 = (byte *****)((byte *)((int)unaff_s1 + (int)unaff_s6) + -(int)pppppbVar14);\n      if ((byte *****)ppppbStack_115c == (byte *****)0x0) {\n        if ((byte *****)ppppbStack_44 == (byte *****)0x0) {\n          pcVar16 = *(code **)(puStack_1170 + -0x6158);\n          ppppbStack_44 = (byte ****)param_1;\n        }\n        else {\n          pcVar16 = *(code **)(puStack_1170 + -0x6158);\n          if (ppppbStack_44 < param_1) goto LAB_000dfda0;\n        }\n        pppppbVar9 = (byte *****)(*pcVar16)(ppppbStack_44);\n        if (pppppbVar9 != (byte *****)0x0) goto LAB_000dfc70;\n      }\n      else {\n        pppppbVar9 = (byte *****)ppppbStack_115c;\n        if (param_1 <= ppppbStack_44) {\nLAB_000dfc70:\n          param_3 = param_1;\n          (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,pppppbVar14);\n          ppppbStack_44 = (byte ****)pppppbVar14;\n          if (unaff_s1 != (byte *****)ppppbStack_1158) {\n            (**(code **)(puStack_1170 + -0x6044))(unaff_s1);\n            ppppbStack_44 = (byte ****)pppppbVar14;\n          }\n          goto LAB_000dfb60;\n        }\nLAB_000dfda0:\n        puVar7 = (undefined4 *)(**(code **)(puStack_1170 + -0x6204))();\n        *puVar7 = 0x22;\n      }\nLAB_000dfb48:\n      pppppbVar9 = (byte *****)0x0;\n      ppppbStack_44 = (byte ****)pppppbVar2;\n      if (unaff_s1 == (byte *****)ppppbStack_1158) goto LAB_000dfb60;\n      pcVar16 = *(code **)(puStack_1170 + -0x6044);\n      pppppbVar10 = unaff_s1;\n      if (unaff_s1 != (byte *****)0x0) {\nLAB_000dfcc0:\n        (*pcVar16)(pppppbVar10);\n        unaff_s1 = pppppbVar10;\n      }\n    }\n  }\n  pppppbVar9 = (byte *****)0x0;\n  ppppbStack_44 = (byte ****)pppppbVar2;\nLAB_000dfb60:\n  pcVar16 = *(code **)(puStack_1170 + -0x60b8);\n  if (iStack_74 == *piStack_1144) {\n    return pppppbVar9;\n  }\n  pcVar27 = zwrite;\n  iVar3 = iStack_74;\n  (*pcVar16)();\n  pcVar16 = pcVar16 + 0x6c740;\n  *(byte ******)(puVar26 + -0x10) = pppppbVar13;\n  *(byte ******)(puVar26 + -0x14) = unaff_s3;\n  iVar6 = 0;\n  *(byte ******)(puVar26 + -8) = unaff_s6;\n  *(byte ******)(puVar26 + -0xc) = unaff_s5;\n  *(byte ******)(puVar26 + -0x18) = pppppbVar9;\n  *(byte ******)(puVar26 + -0x1c) = unaff_s1;\n  *(byte ******)(puVar26 + -0x20) = param_1;\n  *(code **)(puVar26 + -0x28) = pcVar16;\n  *(code **)(puVar26 + -4) = pcVar27;\n  pppppbVar9 = param_3;\n  do {\n    while( true ) {\n      while( true ) {\n        iVar8 = (**(code **)(pcVar16 + -0x61c0))(iVar3,ppppbStack_44,pppppbVar9);\n        pcVar16 = *(code **)(puVar26 + -0x28);\n        if (iVar8 < 1) break;\n        pppppbVar9 = (byte *****)((int)pppppbVar9 - iVar8);\n        ppppbStack_44 = (byte ****)((int)ppppbStack_44 + iVar8);\n        if ((int)pppppbVar9 < 1) {\n          return param_3;\n        }\n      }\n      if (iVar8 != 0) break;\n      iVar6 = iVar6 + 1;\n      if (3 < iVar6) {\n        return (byte *****)((int)param_3 - (int)pppppbVar9);\n      }\n    }\n    piVar4 = (int *)(**(code **)(pcVar16 + -0x6204))();\n    pcVar16 = *(code **)(puVar26 + -0x28);\n  } while (*piVar4 == 4);\n  return (byte *****)0xffffffff;\n}\n\n" (function_definition "byte ***** mbschr(byte *****param_1,byte *****param_2,byte *****param_3)\n\n{\n  byte bVar1;\n  byte *****pppppbVar2;\n  int iVar3;\n  int *piVar4;\n  byte *****pppppbVar5;\n  int iVar6;\n  undefined4 *puVar7;\n  int iVar8;\n  byte *****pppppbVar9;\n  byte *****unaff_s1;\n  byte *****pppppbVar10;\n  byte ****ppppbVar11;\n  byte *****unaff_s3;\n  byte *****pppppbVar12;\n  byte *****pppppbVar13;\n  byte *****unaff_s5;\n  byte *****unaff_s6;\n  byte *****pppppbVar14;\n  undefined *puVar15;\n  code *pcVar16;\n  undefined1 *puVar17;\n  undefined1 *puVar18;\n  undefined1 *puVar24;\n  undefined1 *puVar25;\n  undefined1 *puVar26;\n  code *pcVar27;\n  undefined1 auStack_1180 [16];\n  undefined *puStack_1170;\n  byte ****ppppbStack_1168;\n  int iStack_1164;\n  int iStack_1160;\n  byte ****ppppbStack_115c;\n  byte ****ppppbStack_1158;\n  int iStack_1154;\n  int iStack_1150;\n  byte ****ppppbStack_114c;\n  byte ****ppppbStack_1148;\n  int *piStack_1144;\n  byte ****ppppbStack_1140;\n  int iStack_113c;\n  byte ***pppbStack_1138;\n  byte ****ppppbStack_1134;\n  byte ****ppppbStack_1130;\n  int iStack_112c;\n  byte ****ppppbStack_1128;\n  byte ****ppppbStack_1124;\n  byte ****ppppbStack_1120;\n  int iStack_111c;\n  byte ****appppbStack_1118 [4];\n  int iStack_1108;\n  int iStack_1104;\n  byte ***apppbStack_1078 [1023];\n  undefined1 uStack_79;\n  undefined1 auStack_78 [4];\n  int iStack_74;\n  byte ****ppppbStack_70;\n  byte ****ppppbStack_6c;\n  byte ****ppppbStack_68;\n  byte ****ppppbStack_64;\n  undefined *puStack_60;\n  byte ****ppppbStack_5c;\n  byte ****ppppbStack_44;\n  byte ***local_2c;\n  undefined4 local_28;\n  byte ****local_24;\n  undefined1 *puVar19;\n  undefined1 *puVar20;\n  undefined1 *puVar21;\n  undefined1 *puVar22;\n  undefined1 *puVar23;\n  \n  pppppbVar13 = (byte *****)PTR___stack_chk_guard_001464dc;\n  pppppbVar9 = (byte *****)PTR_is_basic_table_00144b04;\n  local_24 = *(byte *****)PTR___stack_chk_guard_001464dc;\n  ppppbStack_44 = (byte ****)param_2;\n  if ((*(int *)PTR_locale_utf8locale_00144afc == 0) || (0x7f < (int)param_2)) {\n    if ((0x2f < ((uint)param_2 & 0xff)) &&\n       (unaff_s5 = (byte *****)&local_2c, 1 < *(int *)PTR_locale_mb_cur_max_00144b00)) {\n      local_2c = (byte ***)0x0;\n      local_28 = 0;\n      unaff_s1 = (byte *****)(*(code *)PTR_strlen_00146390)(param_1);\n      pppppbVar2 = param_1;\n      if (unaff_s1 == (byte *****)0x0) {\n        pppppbVar2 = (byte *****)0x0;\n      }\n      else {\n        do {\n          bVar1 = *(byte *)pppppbVar2;\n          param_1 = pppppbVar2;\n          if ((*(uint *)((int)pppppbVar9 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n            ppppbStack_44 = (byte ****)pppppbVar2;\n            param_3 = unaff_s1;\n            iVar3 = (*(code *)PTR_mbrtowc_00146408)(0,pppppbVar2,unaff_s1,unaff_s5);\n            if (0xfffffffb < iVar3 - 2U) {\n              if ((byte *****)(uint)*(byte *)pppppbVar2 != param_2) goto LAB_000df640;\n              goto LAB_000df6f8;\n            }\n          }\n          else {\n            if ((byte *****)(uint)bVar1 == param_2) goto LAB_000df6f8;\nLAB_000df640:\n            iVar3 = 1;\n          }\n          unaff_s1 = (byte *****)((int)unaff_s1 - iVar3);\n          param_1 = (byte *****)((int)pppppbVar2 + iVar3);\n          pppppbVar2 = param_1;\n        } while (unaff_s1 != (byte *****)0x0);\n        pppppbVar2 = (byte *****)0x0;\n      }\n      goto LAB_000df6f8;\n    }\n    pppppbVar14 = param_1;\n    if ((byte *****)local_24 == *(byte ******)PTR___stack_chk_guard_001464dc) {\n                    \n                    \n      pppppbVar9 = (byte *****)(*(code *)PTR_strchr_00146398)(param_1,param_2);\n      return pppppbVar9;\n    }\n  }\n  else {\n    pppppbVar2 = (byte *****)utf8_mbschr((char *)param_1,(int)param_2);\n    pppppbVar9 = unaff_s3;\nLAB_000df6f8:\n    pppppbVar14 = (byte *****)local_24;\n    unaff_s3 = pppppbVar9;\n    if (local_24 == *pppppbVar13) {\n      return pppppbVar2;\n    }\n  }\n  puVar15 = PTR___stack_chk_fail_00146488;\n  (*(code *)PTR___stack_chk_fail_00146488)();\n  puStack_1170 = puVar15 + 0x6ce00;\n  puVar26 = auStack_1180;\n  piStack_1144 = *(int **)(puVar15 + 0x66d9c);\n  puStack_60 = (undefined *)pppppbVar13;\n  iStack_74 = *piStack_1144;\n  ppppbStack_115c = (byte ****)pppppbVar14;\n  ppppbStack_70 = (byte ****)param_1;\n  ppppbStack_6c = (byte ****)unaff_s1;\n  ppppbStack_68 = (byte ****)param_2;\n  ppppbStack_64 = (byte ****)unaff_s3;\n  ppppbStack_5c = (byte ****)unaff_s5;\n  if ((pppppbVar14 != (byte *****)0x0) && ((byte *****)ppppbStack_44 == (byte *****)0x0)) {\n    pppppbVar9 = (byte *****)0x0;\n    puVar7 = (undefined4 *)(**(code **)(puVar15 + 0x66bfc))();\n    *puVar7 = 0x16;\n    goto LAB_000dfb60;\n  }\n  param_3 = appppbStack_1118;\n  pppppbVar2 = (byte *****)(*(int *)(puVar15 + 0x64e6c) + -0x7e78);\n  auStack_78[0] = 0;\n  ppppbStack_1128 = (byte ****)param_3;\n  iVar3 = (**(code **)(puVar15 + 0x66af4))(3,pppppbVar2);\n  puVar26 = auStack_1180;\n  if (-1 < iVar3) {\n    ppppbStack_1120 = appppbStack_1118[0];\n    pppppbVar9 = (byte *****)(*(int *)(puStack_1170 + -0x7aac) + -0x7ee8);\n    iStack_112c = iStack_1108;\n    iStack_113c = iStack_1104;\n    param_3 = (byte *****)ppppbStack_1128;\n    iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,pppppbVar9);\n    pppppbVar2 = pppppbVar9;\n    puVar26 = auStack_1180;\n    if (-1 < iVar3) {\n      ppppbStack_1158 = apppbStack_1078;\n      pppppbVar14 = (byte *****)auStack_78;\n      ppppbStack_114c = appppbStack_1118[0];\n      iStack_1160 = iStack_1108;\n      ppppbStack_1148 = (byte ****)(*(int *)(puStack_1170 + -0x7f94) + -0x34d0);\n      pppbStack_1138 = (byte ***)0x0;\n      iStack_1164 = iStack_1104;\n      ppppbStack_1140 = (byte ****)0xe0;\n      ppppbStack_1124 = (byte ****)(*(int *)(puStack_1170 + -0x7f94) + -0x33ef);\n      unaff_s1 = (byte *****)ppppbStack_1158;\n      unaff_s6 = (byte *****)0x1001;\n      puVar26 = auStack_1180;\n      ppppbStack_1168 = (byte ****)pppppbVar14;\n      ppppbStack_1134 = ppppbStack_1148;\n      while (((ppppbStack_1120 != ppppbStack_114c || (iStack_112c != iStack_1160)) ||\n             (iStack_113c != iStack_1164))) {\n        pppppbVar12 = pppppbVar13;\n        pppppbVar10 = unaff_s1;\n        if (ppppbStack_1124 == ppppbStack_1134) {\n          param_1 = (byte *****)((int)ppppbStack_1140 * 2);\n          pppppbVar2 = (byte *****)((int)param_1 + 1);\n          if (ppppbStack_1124 == ppppbStack_1148) {\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(pppppbVar2);\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb48;\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,ppppbStack_1148,ppppbStack_1140);\n          }\n          else {\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(ppppbStack_1134);\n            puVar24 = puVar26;\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb18;\n          }\n          pppppbVar12 = (byte *****)ppppbStack_1140;\n          unaff_s3 = (byte *****)((int)pppppbVar9 + (int)ppppbStack_1140);\n          ppppbStack_1124 = (byte ****)unaff_s3;\n          (**(code **)(puStack_1170 + -0x605c))(unaff_s3,pppppbVar9,ppppbStack_1140);\n          *(byte *)((int)unaff_s3 + (int)pppppbVar12) = 0;\n          ppppbStack_1140 = (byte ****)param_1;\n          ppppbStack_1134 = (byte ****)pppppbVar9;\n        }\n        param_1 = (byte *****)((int)ppppbStack_1124 + -3);\n        pppppbVar2 = param_1;\n        param_3 = (byte *****)ppppbStack_1128;\n        ppppbStack_1124 = (byte ****)param_1;\n        iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,param_1);\n        pppppbVar13 = pppppbVar12;\n        puVar17 = puVar26;\n        if (iVar3 < 0) {\nLAB_000dfb00:\n          puVar26 = puVar17;\n          if ((ppppbStack_1134 != ppppbStack_1148) &&\n             (puVar24 = puVar17, (byte *****)ppppbStack_1134 != (byte *****)0x0)) {\nLAB_000dfb18:\n            pcVar16 = *(code **)(puStack_1170 + -0x6204);\n            puVar25 = puVar24;\nLAB_000dfb1c:\n            param_1 = (byte *****)(*pcVar16)();\n            ppppbVar11 = *param_1;\n            (**(code **)(puStack_1170 + -0x6044))(ppppbStack_1134);\n            *param_1 = ppppbVar11;\n            unaff_s1 = pppppbVar10;\n            puVar26 = puVar25;\n          }\n          goto LAB_000dfb48;\n        }\n        ppppbStack_1130 = appppbStack_1118[0];\n        iStack_1150 = iStack_1108;\n        iStack_1154 = iStack_1104;\n        iStack_111c = (**(code **)(puStack_1170 + -0x633c))(param_1);\n        if (iStack_111c == 0) goto LAB_000dfb00;\n        unaff_s3 = (byte *****)\n                   ((byte *)((int)ppppbStack_1134 + (int)ppppbStack_1140) + -(int)param_1);\n        unaff_s5 = (byte *****)((int)unaff_s3 + 1);\nLAB_000df8ec:\n        do {\n          pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n          do {\n            do {\n              piVar4 = (int *)(*pcVar16)(iStack_111c);\n              while( true ) {\n                if (piVar4 == (int *)0x0) {\n                  param_1 = (byte *****)(**(code **)(puStack_1170 + -0x6204))();\n                  ppppbVar11 = (byte ****)pppbStack_1138;\n                  if (*param_1 != (byte ****)0x0) {\n                    ppppbVar11 = *param_1;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  *param_1 = ppppbVar11;\n                  pppppbVar13 = pppppbVar12;\n                  goto LAB_000dfb00;\n                }\n                if (*(char *)((int)piVar4 + 0x13) != '.') break;\n                pppppbVar2 = (byte *****)0xffff0000;\n                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;\n                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;\n                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);\n              }\n            } while ((ppppbStack_1120 == ppppbStack_1130) &&\n                    ((pcVar16 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c))));\n            param_1 = (byte *****)((int)piVar4 + 0x13);\n            pppppbVar5 = (byte *****)(**(code **)(puStack_1170 + -0x61b0))(param_1);\n            iVar3 = -((uint)((byte *)((int)unaff_s5 + (int)pppppbVar5) + 8) & 0xfffffff8);\n            puVar18 = puVar17 + iVar3;\n            puVar19 = puVar17 + iVar3;\n            puVar20 = puVar17 + iVar3;\n            puVar25 = puVar17 + iVar3;\n            puVar21 = puVar17 + iVar3;\n            puVar26 = puVar17 + iVar3;\n            puVar22 = puVar17 + iVar3;\n            puVar24 = puVar17 + iVar3;\n            puVar23 = puVar17 + iVar3;\n            pppppbVar12 = (byte *****)(puVar17 + iVar3 + 0x10);\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar12,ppppbStack_1124,unaff_s3);\n            puVar15 = puStack_1170;\n            *(byte *)((int)pppppbVar12 + (int)unaff_s3) = 0x2f;\n            (**(code **)(puVar15 + -0x605c))\n                      ((byte *)((int)pppppbVar12 + (int)unaff_s5),param_1,\n                       (byte *)((int)pppppbVar5 + 1));\n            pppppbVar2 = pppppbVar12;\n            param_3 = (byte *****)ppppbStack_1128;\n            iVar6 = (**(code **)(puStack_1170 + -0x632c))(3,pppppbVar12);\n            if (iVar6 < 0) {\n              piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))();\n              pppbStack_1138 = (byte ***)*piVar4;\n            }\n            pppppbVar13 = (byte *****)ppppbStack_1158;\n            pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n            puVar17 = puVar17 + iVar3;\n          } while ((appppbStack_1118[0] != ppppbStack_1120) ||\n                  (puVar17 = puVar18, iStack_1108 != iStack_112c));\n          puVar17 = puVar19;\n        } while (iStack_1104 != iStack_113c);\n        pppppbVar9 = param_1;\n        unaff_s3 = (byte *****)((int)pppppbVar14 - (int)unaff_s1);\n        unaff_s5 = unaff_s6;\n        while (unaff_s3 <= pppppbVar5) {\n          unaff_s6 = (byte *****)((int)unaff_s5 << 1);\n          ppppbStack_1120 = (byte ****)pppppbVar9;\n          if (pppppbVar10 == pppppbVar13) {\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pppppbVar9 = (byte *****)0x0;\n              ppppbStack_44 = (byte ****)pppppbVar2;\n              if ((ppppbStack_1134 == ppppbStack_1148) ||\n                 (pppppbVar10 = (byte *****)ppppbStack_1158, puVar26 = puVar22,\n                 (byte *****)ppppbStack_1134 == (byte *****)0x0)) goto LAB_000dfb60;\n              goto LAB_000dfb18;\n            }\n          }\n          else {\n            pppppbVar2 = unaff_s6;\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(pppppbVar10,unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar20;\n              if (ppppbStack_1134 == ppppbStack_1148) goto LAB_000dfcc0;\n              pcVar16 = *(code **)(puStack_1170 + -0x6204);\n              if ((byte *****)ppppbStack_1134 != (byte *****)0x0) goto LAB_000dfb1c;\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar21;\n              goto LAB_000dfcc0;\n            }\n            pppppbVar14 = (byte *****)((int)unaff_s1 + (int)unaff_s3);\n          }\n          param_1 = (byte *****)((int)unaff_s5 + (int)unaff_s3);\n          param_3 = (byte *****)((int)unaff_s5 - (int)unaff_s3);\n          (**(code **)(puStack_1170 + -0x605c))((byte *****)((int)unaff_s1 + (int)param_1));\n          pppppbVar9 = (byte *****)ppppbStack_1120;\n          pppppbVar12 = pppppbVar13;\n          unaff_s3 = param_1;\n          pppppbVar2 = pppppbVar14;\n          pppppbVar10 = unaff_s1;\n          unaff_s5 = unaff_s6;\n          pppppbVar14 = (byte *****)((int)unaff_s1 + (int)param_1);\n        }\n        iVar3 = (**(code **)(puStack_1170 + -0x605c))((int)pppppbVar14 - (int)pppppbVar5);\n        pppppbVar14 = (byte *****)(iVar3 + -1);\n        pcVar16 = *(code **)(puStack_1170 + -0x6338);\n        *(undefined1 *)(iVar3 + -1) = 0x2f;\n        (*pcVar16)(iStack_111c);\n        iStack_112c = iStack_1150;\n        ppppbStack_1120 = ppppbStack_1130;\n        param_3 = pppppbVar5;\n        unaff_s1 = pppppbVar10;\n        pppppbVar13 = pppppbVar12;\n        unaff_s6 = unaff_s5;\n        puVar26 = puVar23;\n        iStack_113c = iStack_1154;\n      }\n      if (pppppbVar14 == (byte *****)ppppbStack_1168) {\n        pppppbVar14 = (byte *****)&uStack_79;\n        uStack_79 = 0x2f;\n      }\n      pppppbVar2 = pppppbVar9;\n      if (ppppbStack_1134 != ppppbStack_1148) {\n        (**(code **)(puStack_1170 + -0x6044))();\n        pppppbVar2 = pppppbVar9;\n      }\n      param_1 = (byte *****)((byte *)((int)unaff_s1 + (int)unaff_s6) + -(int)pppppbVar14);\n      if ((byte *****)ppppbStack_115c == (byte *****)0x0) {\n        if ((byte *****)ppppbStack_44 == (byte *****)0x0) {\n          pcVar16 = *(code **)(puStack_1170 + -0x6158);\n          ppppbStack_44 = (byte ****)param_1;\n        }\n        else {\n          pcVar16 = *(code **)(puStack_1170 + -0x6158);\n          if (ppppbStack_44 < param_1) goto LAB_000dfda0;\n        }\n        pppppbVar9 = (byte *****)(*pcVar16)(ppppbStack_44);\n        if (pppppbVar9 != (byte *****)0x0) goto LAB_000dfc70;\n      }\n      else {\n        pppppbVar9 = (byte *****)ppppbStack_115c;\n        if (param_1 <= ppppbStack_44) {\nLAB_000dfc70:\n          param_3 = param_1;\n          (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,pppppbVar14);\n          ppppbStack_44 = (byte ****)pppppbVar14;\n          if (unaff_s1 != (byte *****)ppppbStack_1158) {\n            (**(code **)(puStack_1170 + -0x6044))(unaff_s1);\n            ppppbStack_44 = (byte ****)pppppbVar14;\n          }\n          goto LAB_000dfb60;\n        }\nLAB_000dfda0:\n        puVar7 = (undefined4 *)(**(code **)(puStack_1170 + -0x6204))();\n        *puVar7 = 0x22;\n      }\nLAB_000dfb48:\n      pppppbVar9 = (byte *****)0x0;\n      ppppbStack_44 = (byte ****)pppppbVar2;\n      if (unaff_s1 == (byte *****)ppppbStack_1158) goto LAB_000dfb60;\n      pcVar16 = *(code **)(puStack_1170 + -0x6044);\n      pppppbVar10 = unaff_s1;\n      if (unaff_s1 != (byte *****)0x0) {\nLAB_000dfcc0:\n        (*pcVar16)(pppppbVar10);\n        unaff_s1 = pppppbVar10;\n      }\n    }\n  }\n  pppppbVar9 = (byte *****)0x0;\n  ppppbStack_44 = (byte ****)pppppbVar2;\nLAB_000dfb60:\n  pcVar16 = *(code **)(puStack_1170 + -0x60b8);\n  if (iStack_74 == *piStack_1144) {\n    return pppppbVar9;\n  }\n  pcVar27 = zwrite;\n  iVar3 = iStack_74;\n  (*pcVar16)();\n  pcVar16 = pcVar16 + 0x6c740;\n  *(byte ******)(puVar26 + -0x10) = pppppbVar13;\n  *(byte ******)(puVar26 + -0x14) = unaff_s3;\n  iVar6 = 0;\n  *(byte ******)(puVar26 + -8) = unaff_s6;\n  *(byte ******)(puVar26 + -0xc) = unaff_s5;\n  *(byte ******)(puVar26 + -0x18) = pppppbVar9;\n  *(byte ******)(puVar26 + -0x1c) = unaff_s1;\n  *(byte ******)(puVar26 + -0x20) = param_1;\n  *(code **)(puVar26 + -0x28) = pcVar16;\n  *(code **)(puVar26 + -4) = pcVar27;\n  pppppbVar9 = param_3;\n  do {\n    while( true ) {\n      while( true ) {\n        iVar8 = (**(code **)(pcVar16 + -0x61c0))(iVar3,ppppbStack_44,pppppbVar9);\n        pcVar16 = *(code **)(puVar26 + -0x28);\n        if (iVar8 < 1) break;\n        pppppbVar9 = (byte *****)((int)pppppbVar9 - iVar8);\n        ppppbStack_44 = (byte ****)((int)ppppbStack_44 + iVar8);\n        if ((int)pppppbVar9 < 1) {\n          return param_3;\n        }\n      }\n      if (iVar8 != 0) break;\n      iVar6 = iVar6 + 1;\n      if (3 < iVar6) {\n        return (byte *****)((int)param_3 - (int)pppppbVar9);\n      }\n    }\n    piVar4 = (int *)(**(code **)(pcVar16 + -0x6204))();\n    pcVar16 = *(code **)(puVar26 + -0x28);\n  } while (*piVar4 == 4);\n  return (byte *****)0xffffffff;\n}" type_identifier (pointer_declarator "***** mbschr(byte *****param_1,byte *****param_2,byte *****param_3)" * (pointer_declarator "**** mbschr(byte *****param_1,byte *****param_2,byte *****param_3)" * (pointer_declarator "*** mbschr(byte *****param_1,byte *****param_2,byte *****param_3)" * (pointer_declarator "** mbschr(byte *****param_1,byte *****param_2,byte *****param_3)" * (pointer_declarator "* mbschr(byte *****param_1,byte *****param_2,byte *****param_3)" * (function_declarator "mbschr(byte *****param_1,byte *****param_2,byte *****param_3)" identifier (parameter_list "(byte *****param_1,byte *****param_2,byte *****param_3)" ( (parameter_declaration "byte *****param_1" type_identifier (pointer_declarator "*****param_1" * (pointer_declarator "****param_1" * (pointer_declarator "***param_1" * (pointer_declarator "**param_1" * (pointer_declarator "*param_1" * identifier)))))) , (parameter_declaration "byte *****param_2" type_identifier (pointer_declarator "*****param_2" * (pointer_declarator "****param_2" * (pointer_declarator "***param_2" * (pointer_declarator "**param_2" * (pointer_declarator "*param_2" * identifier)))))) , (parameter_declaration "byte *****param_3" type_identifier (pointer_declarator "*****param_3" * (pointer_declarator "****param_3" * (pointer_declarator "***param_3" * (pointer_declarator "**param_3" * (pointer_declarator "*param_3" * identifier)))))) )))))))) (compound_statement "{\n  byte bVar1;\n  byte *****pppppbVar2;\n  int iVar3;\n  int *piVar4;\n  byte *****pppppbVar5;\n  int iVar6;\n  undefined4 *puVar7;\n  int iVar8;\n  byte *****pppppbVar9;\n  byte *****unaff_s1;\n  byte *****pppppbVar10;\n  byte ****ppppbVar11;\n  byte *****unaff_s3;\n  byte *****pppppbVar12;\n  byte *****pppppbVar13;\n  byte *****unaff_s5;\n  byte *****unaff_s6;\n  byte *****pppppbVar14;\n  undefined *puVar15;\n  code *pcVar16;\n  undefined1 *puVar17;\n  undefined1 *puVar18;\n  undefined1 *puVar24;\n  undefined1 *puVar25;\n  undefined1 *puVar26;\n  code *pcVar27;\n  undefined1 auStack_1180 [16];\n  undefined *puStack_1170;\n  byte ****ppppbStack_1168;\n  int iStack_1164;\n  int iStack_1160;\n  byte ****ppppbStack_115c;\n  byte ****ppppbStack_1158;\n  int iStack_1154;\n  int iStack_1150;\n  byte ****ppppbStack_114c;\n  byte ****ppppbStack_1148;\n  int *piStack_1144;\n  byte ****ppppbStack_1140;\n  int iStack_113c;\n  byte ***pppbStack_1138;\n  byte ****ppppbStack_1134;\n  byte ****ppppbStack_1130;\n  int iStack_112c;\n  byte ****ppppbStack_1128;\n  byte ****ppppbStack_1124;\n  byte ****ppppbStack_1120;\n  int iStack_111c;\n  byte ****appppbStack_1118 [4];\n  int iStack_1108;\n  int iStack_1104;\n  byte ***apppbStack_1078 [1023];\n  undefined1 uStack_79;\n  undefined1 auStack_78 [4];\n  int iStack_74;\n  byte ****ppppbStack_70;\n  byte ****ppppbStack_6c;\n  byte ****ppppbStack_68;\n  byte ****ppppbStack_64;\n  undefined *puStack_60;\n  byte ****ppppbStack_5c;\n  byte ****ppppbStack_44;\n  byte ***local_2c;\n  undefined4 local_28;\n  byte ****local_24;\n  undefined1 *puVar19;\n  undefined1 *puVar20;\n  undefined1 *puVar21;\n  undefined1 *puVar22;\n  undefined1 *puVar23;\n  \n  pppppbVar13 = (byte *****)PTR___stack_chk_guard_001464dc;\n  pppppbVar9 = (byte *****)PTR_is_basic_table_00144b04;\n  local_24 = *(byte *****)PTR___stack_chk_guard_001464dc;\n  ppppbStack_44 = (byte ****)param_2;\n  if ((*(int *)PTR_locale_utf8locale_00144afc == 0) || (0x7f < (int)param_2)) {\n    if ((0x2f < ((uint)param_2 & 0xff)) &&\n       (unaff_s5 = (byte *****)&local_2c, 1 < *(int *)PTR_locale_mb_cur_max_00144b00)) {\n      local_2c = (byte ***)0x0;\n      local_28 = 0;\n      unaff_s1 = (byte *****)(*(code *)PTR_strlen_00146390)(param_1);\n      pppppbVar2 = param_1;\n      if (unaff_s1 == (byte *****)0x0) {\n        pppppbVar2 = (byte *****)0x0;\n      }\n      else {\n        do {\n          bVar1 = *(byte *)pppppbVar2;\n          param_1 = pppppbVar2;\n          if ((*(uint *)((int)pppppbVar9 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n            ppppbStack_44 = (byte ****)pppppbVar2;\n            param_3 = unaff_s1;\n            iVar3 = (*(code *)PTR_mbrtowc_00146408)(0,pppppbVar2,unaff_s1,unaff_s5);\n            if (0xfffffffb < iVar3 - 2U) {\n              if ((byte *****)(uint)*(byte *)pppppbVar2 != param_2) goto LAB_000df640;\n              goto LAB_000df6f8;\n            }\n          }\n          else {\n            if ((byte *****)(uint)bVar1 == param_2) goto LAB_000df6f8;\nLAB_000df640:\n            iVar3 = 1;\n          }\n          unaff_s1 = (byte *****)((int)unaff_s1 - iVar3);\n          param_1 = (byte *****)((int)pppppbVar2 + iVar3);\n          pppppbVar2 = param_1;\n        } while (unaff_s1 != (byte *****)0x0);\n        pppppbVar2 = (byte *****)0x0;\n      }\n      goto LAB_000df6f8;\n    }\n    pppppbVar14 = param_1;\n    if ((byte *****)local_24 == *(byte ******)PTR___stack_chk_guard_001464dc) {\n                    \n                    \n      pppppbVar9 = (byte *****)(*(code *)PTR_strchr_00146398)(param_1,param_2);\n      return pppppbVar9;\n    }\n  }\n  else {\n    pppppbVar2 = (byte *****)utf8_mbschr((char *)param_1,(int)param_2);\n    pppppbVar9 = unaff_s3;\nLAB_000df6f8:\n    pppppbVar14 = (byte *****)local_24;\n    unaff_s3 = pppppbVar9;\n    if (local_24 == *pppppbVar13) {\n      return pppppbVar2;\n    }\n  }\n  puVar15 = PTR___stack_chk_fail_00146488;\n  (*(code *)PTR___stack_chk_fail_00146488)();\n  puStack_1170 = puVar15 + 0x6ce00;\n  puVar26 = auStack_1180;\n  piStack_1144 = *(int **)(puVar15 + 0x66d9c);\n  puStack_60 = (undefined *)pppppbVar13;\n  iStack_74 = *piStack_1144;\n  ppppbStack_115c = (byte ****)pppppbVar14;\n  ppppbStack_70 = (byte ****)param_1;\n  ppppbStack_6c = (byte ****)unaff_s1;\n  ppppbStack_68 = (byte ****)param_2;\n  ppppbStack_64 = (byte ****)unaff_s3;\n  ppppbStack_5c = (byte ****)unaff_s5;\n  if ((pppppbVar14 != (byte *****)0x0) && ((byte *****)ppppbStack_44 == (byte *****)0x0)) {\n    pppppbVar9 = (byte *****)0x0;\n    puVar7 = (undefined4 *)(**(code **)(puVar15 + 0x66bfc))();\n    *puVar7 = 0x16;\n    goto LAB_000dfb60;\n  }\n  param_3 = appppbStack_1118;\n  pppppbVar2 = (byte *****)(*(int *)(puVar15 + 0x64e6c) + -0x7e78);\n  auStack_78[0] = 0;\n  ppppbStack_1128 = (byte ****)param_3;\n  iVar3 = (**(code **)(puVar15 + 0x66af4))(3,pppppbVar2);\n  puVar26 = auStack_1180;\n  if (-1 < iVar3) {\n    ppppbStack_1120 = appppbStack_1118[0];\n    pppppbVar9 = (byte *****)(*(int *)(puStack_1170 + -0x7aac) + -0x7ee8);\n    iStack_112c = iStack_1108;\n    iStack_113c = iStack_1104;\n    param_3 = (byte *****)ppppbStack_1128;\n    iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,pppppbVar9);\n    pppppbVar2 = pppppbVar9;\n    puVar26 = auStack_1180;\n    if (-1 < iVar3) {\n      ppppbStack_1158 = apppbStack_1078;\n      pppppbVar14 = (byte *****)auStack_78;\n      ppppbStack_114c = appppbStack_1118[0];\n      iStack_1160 = iStack_1108;\n      ppppbStack_1148 = (byte ****)(*(int *)(puStack_1170 + -0x7f94) + -0x34d0);\n      pppbStack_1138 = (byte ***)0x0;\n      iStack_1164 = iStack_1104;\n      ppppbStack_1140 = (byte ****)0xe0;\n      ppppbStack_1124 = (byte ****)(*(int *)(puStack_1170 + -0x7f94) + -0x33ef);\n      unaff_s1 = (byte *****)ppppbStack_1158;\n      unaff_s6 = (byte *****)0x1001;\n      puVar26 = auStack_1180;\n      ppppbStack_1168 = (byte ****)pppppbVar14;\n      ppppbStack_1134 = ppppbStack_1148;\n      while (((ppppbStack_1120 != ppppbStack_114c || (iStack_112c != iStack_1160)) ||\n             (iStack_113c != iStack_1164))) {\n        pppppbVar12 = pppppbVar13;\n        pppppbVar10 = unaff_s1;\n        if (ppppbStack_1124 == ppppbStack_1134) {\n          param_1 = (byte *****)((int)ppppbStack_1140 * 2);\n          pppppbVar2 = (byte *****)((int)param_1 + 1);\n          if (ppppbStack_1124 == ppppbStack_1148) {\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(pppppbVar2);\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb48;\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,ppppbStack_1148,ppppbStack_1140);\n          }\n          else {\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(ppppbStack_1134);\n            puVar24 = puVar26;\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb18;\n          }\n          pppppbVar12 = (byte *****)ppppbStack_1140;\n          unaff_s3 = (byte *****)((int)pppppbVar9 + (int)ppppbStack_1140);\n          ppppbStack_1124 = (byte ****)unaff_s3;\n          (**(code **)(puStack_1170 + -0x605c))(unaff_s3,pppppbVar9,ppppbStack_1140);\n          *(byte *)((int)unaff_s3 + (int)pppppbVar12) = 0;\n          ppppbStack_1140 = (byte ****)param_1;\n          ppppbStack_1134 = (byte ****)pppppbVar9;\n        }\n        param_1 = (byte *****)((int)ppppbStack_1124 + -3);\n        pppppbVar2 = param_1;\n        param_3 = (byte *****)ppppbStack_1128;\n        ppppbStack_1124 = (byte ****)param_1;\n        iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,param_1);\n        pppppbVar13 = pppppbVar12;\n        puVar17 = puVar26;\n        if (iVar3 < 0) {\nLAB_000dfb00:\n          puVar26 = puVar17;\n          if ((ppppbStack_1134 != ppppbStack_1148) &&\n             (puVar24 = puVar17, (byte *****)ppppbStack_1134 != (byte *****)0x0)) {\nLAB_000dfb18:\n            pcVar16 = *(code **)(puStack_1170 + -0x6204);\n            puVar25 = puVar24;\nLAB_000dfb1c:\n            param_1 = (byte *****)(*pcVar16)();\n            ppppbVar11 = *param_1;\n            (**(code **)(puStack_1170 + -0x6044))(ppppbStack_1134);\n            *param_1 = ppppbVar11;\n            unaff_s1 = pppppbVar10;\n            puVar26 = puVar25;\n          }\n          goto LAB_000dfb48;\n        }\n        ppppbStack_1130 = appppbStack_1118[0];\n        iStack_1150 = iStack_1108;\n        iStack_1154 = iStack_1104;\n        iStack_111c = (**(code **)(puStack_1170 + -0x633c))(param_1);\n        if (iStack_111c == 0) goto LAB_000dfb00;\n        unaff_s3 = (byte *****)\n                   ((byte *)((int)ppppbStack_1134 + (int)ppppbStack_1140) + -(int)param_1);\n        unaff_s5 = (byte *****)((int)unaff_s3 + 1);\nLAB_000df8ec:\n        do {\n          pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n          do {\n            do {\n              piVar4 = (int *)(*pcVar16)(iStack_111c);\n              while( true ) {\n                if (piVar4 == (int *)0x0) {\n                  param_1 = (byte *****)(**(code **)(puStack_1170 + -0x6204))();\n                  ppppbVar11 = (byte ****)pppbStack_1138;\n                  if (*param_1 != (byte ****)0x0) {\n                    ppppbVar11 = *param_1;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  *param_1 = ppppbVar11;\n                  pppppbVar13 = pppppbVar12;\n                  goto LAB_000dfb00;\n                }\n                if (*(char *)((int)piVar4 + 0x13) != '.') break;\n                pppppbVar2 = (byte *****)0xffff0000;\n                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;\n                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;\n                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);\n              }\n            } while ((ppppbStack_1120 == ppppbStack_1130) &&\n                    ((pcVar16 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c))));\n            param_1 = (byte *****)((int)piVar4 + 0x13);\n            pppppbVar5 = (byte *****)(**(code **)(puStack_1170 + -0x61b0))(param_1);\n            iVar3 = -((uint)((byte *)((int)unaff_s5 + (int)pppppbVar5) + 8) & 0xfffffff8);\n            puVar18 = puVar17 + iVar3;\n            puVar19 = puVar17 + iVar3;\n            puVar20 = puVar17 + iVar3;\n            puVar25 = puVar17 + iVar3;\n            puVar21 = puVar17 + iVar3;\n            puVar26 = puVar17 + iVar3;\n            puVar22 = puVar17 + iVar3;\n            puVar24 = puVar17 + iVar3;\n            puVar23 = puVar17 + iVar3;\n            pppppbVar12 = (byte *****)(puVar17 + iVar3 + 0x10);\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar12,ppppbStack_1124,unaff_s3);\n            puVar15 = puStack_1170;\n            *(byte *)((int)pppppbVar12 + (int)unaff_s3) = 0x2f;\n            (**(code **)(puVar15 + -0x605c))\n                      ((byte *)((int)pppppbVar12 + (int)unaff_s5),param_1,\n                       (byte *)((int)pppppbVar5 + 1));\n            pppppbVar2 = pppppbVar12;\n            param_3 = (byte *****)ppppbStack_1128;\n            iVar6 = (**(code **)(puStack_1170 + -0x632c))(3,pppppbVar12);\n            if (iVar6 < 0) {\n              piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))();\n              pppbStack_1138 = (byte ***)*piVar4;\n            }\n            pppppbVar13 = (byte *****)ppppbStack_1158;\n            pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n            puVar17 = puVar17 + iVar3;\n          } while ((appppbStack_1118[0] != ppppbStack_1120) ||\n                  (puVar17 = puVar18, iStack_1108 != iStack_112c));\n          puVar17 = puVar19;\n        } while (iStack_1104 != iStack_113c);\n        pppppbVar9 = param_1;\n        unaff_s3 = (byte *****)((int)pppppbVar14 - (int)unaff_s1);\n        unaff_s5 = unaff_s6;\n        while (unaff_s3 <= pppppbVar5) {\n          unaff_s6 = (byte *****)((int)unaff_s5 << 1);\n          ppppbStack_1120 = (byte ****)pppppbVar9;\n          if (pppppbVar10 == pppppbVar13) {\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pppppbVar9 = (byte *****)0x0;\n              ppppbStack_44 = (byte ****)pppppbVar2;\n              if ((ppppbStack_1134 == ppppbStack_1148) ||\n                 (pppppbVar10 = (byte *****)ppppbStack_1158, puVar26 = puVar22,\n                 (byte *****)ppppbStack_1134 == (byte *****)0x0)) goto LAB_000dfb60;\n              goto LAB_000dfb18;\n            }\n          }\n          else {\n            pppppbVar2 = unaff_s6;\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(pppppbVar10,unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar20;\n              if (ppppbStack_1134 == ppppbStack_1148) goto LAB_000dfcc0;\n              pcVar16 = *(code **)(puStack_1170 + -0x6204);\n              if ((byte *****)ppppbStack_1134 != (byte *****)0x0) goto LAB_000dfb1c;\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar21;\n              goto LAB_000dfcc0;\n            }\n            pppppbVar14 = (byte *****)((int)unaff_s1 + (int)unaff_s3);\n          }\n          param_1 = (byte *****)((int)unaff_s5 + (int)unaff_s3);\n          param_3 = (byte *****)((int)unaff_s5 - (int)unaff_s3);\n          (**(code **)(puStack_1170 + -0x605c))((byte *****)((int)unaff_s1 + (int)param_1));\n          pppppbVar9 = (byte *****)ppppbStack_1120;\n          pppppbVar12 = pppppbVar13;\n          unaff_s3 = param_1;\n          pppppbVar2 = pppppbVar14;\n          pppppbVar10 = unaff_s1;\n          unaff_s5 = unaff_s6;\n          pppppbVar14 = (byte *****)((int)unaff_s1 + (int)param_1);\n        }\n        iVar3 = (**(code **)(puStack_1170 + -0x605c))((int)pppppbVar14 - (int)pppppbVar5);\n        pppppbVar14 = (byte *****)(iVar3 + -1);\n        pcVar16 = *(code **)(puStack_1170 + -0x6338);\n        *(undefined1 *)(iVar3 + -1) = 0x2f;\n        (*pcVar16)(iStack_111c);\n        iStack_112c = iStack_1150;\n        ppppbStack_1120 = ppppbStack_1130;\n        param_3 = pppppbVar5;\n        unaff_s1 = pppppbVar10;\n        pppppbVar13 = pppppbVar12;\n        unaff_s6 = unaff_s5;\n        puVar26 = puVar23;\n        iStack_113c = iStack_1154;\n      }\n      if (pppppbVar14 == (byte *****)ppppbStack_1168) {\n        pppppbVar14 = (byte *****)&uStack_79;\n        uStack_79 = 0x2f;\n      }\n      pppppbVar2 = pppppbVar9;\n      if (ppppbStack_1134 != ppppbStack_1148) {\n        (**(code **)(puStack_1170 + -0x6044))();\n        pppppbVar2 = pppppbVar9;\n      }\n      param_1 = (byte *****)((byte *)((int)unaff_s1 + (int)unaff_s6) + -(int)pppppbVar14);\n      if ((byte *****)ppppbStack_115c == (byte *****)0x0) {\n        if ((byte *****)ppppbStack_44 == (byte *****)0x0) {\n          pcVar16 = *(code **)(puStack_1170 + -0x6158);\n          ppppbStack_44 = (byte ****)param_1;\n        }\n        else {\n          pcVar16 = *(code **)(puStack_1170 + -0x6158);\n          if (ppppbStack_44 < param_1) goto LAB_000dfda0;\n        }\n        pppppbVar9 = (byte *****)(*pcVar16)(ppppbStack_44);\n        if (pppppbVar9 != (byte *****)0x0) goto LAB_000dfc70;\n      }\n      else {\n        pppppbVar9 = (byte *****)ppppbStack_115c;\n        if (param_1 <= ppppbStack_44) {\nLAB_000dfc70:\n          param_3 = param_1;\n          (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,pppppbVar14);\n          ppppbStack_44 = (byte ****)pppppbVar14;\n          if (unaff_s1 != (byte *****)ppppbStack_1158) {\n            (**(code **)(puStack_1170 + -0x6044))(unaff_s1);\n            ppppbStack_44 = (byte ****)pppppbVar14;\n          }\n          goto LAB_000dfb60;\n        }\nLAB_000dfda0:\n        puVar7 = (undefined4 *)(**(code **)(puStack_1170 + -0x6204))();\n        *puVar7 = 0x22;\n      }\nLAB_000dfb48:\n      pppppbVar9 = (byte *****)0x0;\n      ppppbStack_44 = (byte ****)pppppbVar2;\n      if (unaff_s1 == (byte *****)ppppbStack_1158) goto LAB_000dfb60;\n      pcVar16 = *(code **)(puStack_1170 + -0x6044);\n      pppppbVar10 = unaff_s1;\n      if (unaff_s1 != (byte *****)0x0) {\nLAB_000dfcc0:\n        (*pcVar16)(pppppbVar10);\n        unaff_s1 = pppppbVar10;\n      }\n    }\n  }\n  pppppbVar9 = (byte *****)0x0;\n  ppppbStack_44 = (byte ****)pppppbVar2;\nLAB_000dfb60:\n  pcVar16 = *(code **)(puStack_1170 + -0x60b8);\n  if (iStack_74 == *piStack_1144) {\n    return pppppbVar9;\n  }\n  pcVar27 = zwrite;\n  iVar3 = iStack_74;\n  (*pcVar16)();\n  pcVar16 = pcVar16 + 0x6c740;\n  *(byte ******)(puVar26 + -0x10) = pppppbVar13;\n  *(byte ******)(puVar26 + -0x14) = unaff_s3;\n  iVar6 = 0;\n  *(byte ******)(puVar26 + -8) = unaff_s6;\n  *(byte ******)(puVar26 + -0xc) = unaff_s5;\n  *(byte ******)(puVar26 + -0x18) = pppppbVar9;\n  *(byte ******)(puVar26 + -0x1c) = unaff_s1;\n  *(byte ******)(puVar26 + -0x20) = param_1;\n  *(code **)(puVar26 + -0x28) = pcVar16;\n  *(code **)(puVar26 + -4) = pcVar27;\n  pppppbVar9 = param_3;\n  do {\n    while( true ) {\n      while( true ) {\n        iVar8 = (**(code **)(pcVar16 + -0x61c0))(iVar3,ppppbStack_44,pppppbVar9);\n        pcVar16 = *(code **)(puVar26 + -0x28);\n        if (iVar8 < 1) break;\n        pppppbVar9 = (byte *****)((int)pppppbVar9 - iVar8);\n        ppppbStack_44 = (byte ****)((int)ppppbStack_44 + iVar8);\n        if ((int)pppppbVar9 < 1) {\n          return param_3;\n        }\n      }\n      if (iVar8 != 0) break;\n      iVar6 = iVar6 + 1;\n      if (3 < iVar6) {\n        return (byte *****)((int)param_3 - (int)pppppbVar9);\n      }\n    }\n    piVar4 = (int *)(**(code **)(pcVar16 + -0x6204))();\n    pcVar16 = *(code **)(puVar26 + -0x28);\n  } while (*piVar4 == 4);\n  return (byte *****)0xffffffff;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "byte *****pppppbVar2;" type_identifier (pointer_declarator "*****pppppbVar2" * (pointer_declarator "****pppppbVar2" * (pointer_declarator "***pppppbVar2" * (pointer_declarator "**pppppbVar2" * (pointer_declarator "*pppppbVar2" * identifier))))) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "byte *****pppppbVar5;" type_identifier (pointer_declarator "*****pppppbVar5" * (pointer_declarator "****pppppbVar5" * (pointer_declarator "***pppppbVar5" * (pointer_declarator "**pppppbVar5" * (pointer_declarator "*pppppbVar5" * identifier))))) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "undefined4 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "byte *****pppppbVar9;" type_identifier (pointer_declarator "*****pppppbVar9" * (pointer_declarator "****pppppbVar9" * (pointer_declarator "***pppppbVar9" * (pointer_declarator "**pppppbVar9" * (pointer_declarator "*pppppbVar9" * identifier))))) ;) (declaration "byte *****unaff_s1;" type_identifier (pointer_declarator "*****unaff_s1" * (pointer_declarator "****unaff_s1" * (pointer_declarator "***unaff_s1" * (pointer_declarator "**unaff_s1" * (pointer_declarator "*unaff_s1" * identifier))))) ;) (declaration "byte *****pppppbVar10;" type_identifier (pointer_declarator "*****pppppbVar10" * (pointer_declarator "****pppppbVar10" * (pointer_declarator "***pppppbVar10" * (pointer_declarator "**pppppbVar10" * (pointer_declarator "*pppppbVar10" * identifier))))) ;) (declaration "byte ****ppppbVar11;" type_identifier (pointer_declarator "****ppppbVar11" * (pointer_declarator "***ppppbVar11" * (pointer_declarator "**ppppbVar11" * (pointer_declarator "*ppppbVar11" * identifier)))) ;) (declaration "byte *****unaff_s3;" type_identifier (pointer_declarator "*****unaff_s3" * (pointer_declarator "****unaff_s3" * (pointer_declarator "***unaff_s3" * (pointer_declarator "**unaff_s3" * (pointer_declarator "*unaff_s3" * identifier))))) ;) (declaration "byte *****pppppbVar12;" type_identifier (pointer_declarator "*****pppppbVar12" * (pointer_declarator "****pppppbVar12" * (pointer_declarator "***pppppbVar12" * (pointer_declarator "**pppppbVar12" * (pointer_declarator "*pppppbVar12" * identifier))))) ;) (declaration "byte *****pppppbVar13;" type_identifier (pointer_declarator "*****pppppbVar13" * (pointer_declarator "****pppppbVar13" * (pointer_declarator "***pppppbVar13" * (pointer_declarator "**pppppbVar13" * (pointer_declarator "*pppppbVar13" * identifier))))) ;) (declaration "byte *****unaff_s5;" type_identifier (pointer_declarator "*****unaff_s5" * (pointer_declarator "****unaff_s5" * (pointer_declarator "***unaff_s5" * (pointer_declarator "**unaff_s5" * (pointer_declarator "*unaff_s5" * identifier))))) ;) (declaration "byte *****unaff_s6;" type_identifier (pointer_declarator "*****unaff_s6" * (pointer_declarator "****unaff_s6" * (pointer_declarator "***unaff_s6" * (pointer_declarator "**unaff_s6" * (pointer_declarator "*unaff_s6" * identifier))))) ;) (declaration "byte *****pppppbVar14;" type_identifier (pointer_declarator "*****pppppbVar14" * (pointer_declarator "****pppppbVar14" * (pointer_declarator "***pppppbVar14" * (pointer_declarator "**pppppbVar14" * (pointer_declarator "*pppppbVar14" * identifier))))) ;) (declaration "undefined *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "code *pcVar16;" type_identifier (pointer_declarator "*pcVar16" * identifier) ;) (declaration "undefined1 *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "undefined1 *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "undefined1 *puVar24;" type_identifier (pointer_declarator "*puVar24" * identifier) ;) (declaration "undefined1 *puVar25;" type_identifier (pointer_declarator "*puVar25" * identifier) ;) (declaration "undefined1 *puVar26;" type_identifier (pointer_declarator "*puVar26" * identifier) ;) (declaration "code *pcVar27;" type_identifier (pointer_declarator "*pcVar27" * identifier) ;) (declaration "undefined1 auStack_1180 [16];" type_identifier (array_declarator "auStack_1180 [16]" identifier [ number_literal ]) ;) (declaration "undefined *puStack_1170;" type_identifier (pointer_declarator "*puStack_1170" * identifier) ;) (declaration "byte ****ppppbStack_1168;" type_identifier (pointer_declarator "****ppppbStack_1168" * (pointer_declarator "***ppppbStack_1168" * (pointer_declarator "**ppppbStack_1168" * (pointer_declarator "*ppppbStack_1168" * identifier)))) ;) (declaration "int iStack_1164;" primitive_type identifier ;) (declaration "int iStack_1160;" primitive_type identifier ;) (declaration "byte ****ppppbStack_115c;" type_identifier (pointer_declarator "****ppppbStack_115c" * (pointer_declarator "***ppppbStack_115c" * (pointer_declarator "**ppppbStack_115c" * (pointer_declarator "*ppppbStack_115c" * identifier)))) ;) (declaration "byte ****ppppbStack_1158;" type_identifier (pointer_declarator "****ppppbStack_1158" * (pointer_declarator "***ppppbStack_1158" * (pointer_declarator "**ppppbStack_1158" * (pointer_declarator "*ppppbStack_1158" * identifier)))) ;) (declaration "int iStack_1154;" primitive_type identifier ;) (declaration "int iStack_1150;" primitive_type identifier ;) (declaration "byte ****ppppbStack_114c;" type_identifier (pointer_declarator "****ppppbStack_114c" * (pointer_declarator "***ppppbStack_114c" * (pointer_declarator "**ppppbStack_114c" * (pointer_declarator "*ppppbStack_114c" * identifier)))) ;) (declaration "byte ****ppppbStack_1148;" type_identifier (pointer_declarator "****ppppbStack_1148" * (pointer_declarator "***ppppbStack_1148" * (pointer_declarator "**ppppbStack_1148" * (pointer_declarator "*ppppbStack_1148" * identifier)))) ;) (declaration "int *piStack_1144;" primitive_type (pointer_declarator "*piStack_1144" * identifier) ;) (declaration "byte ****ppppbStack_1140;" type_identifier (pointer_declarator "****ppppbStack_1140" * (pointer_declarator "***ppppbStack_1140" * (pointer_declarator "**ppppbStack_1140" * (pointer_declarator "*ppppbStack_1140" * identifier)))) ;) (declaration "int iStack_113c;" primitive_type identifier ;) (declaration "byte ***pppbStack_1138;" type_identifier (pointer_declarator "***pppbStack_1138" * (pointer_declarator "**pppbStack_1138" * (pointer_declarator "*pppbStack_1138" * identifier))) ;) (declaration "byte ****ppppbStack_1134;" type_identifier (pointer_declarator "****ppppbStack_1134" * (pointer_declarator "***ppppbStack_1134" * (pointer_declarator "**ppppbStack_1134" * (pointer_declarator "*ppppbStack_1134" * identifier)))) ;) (declaration "byte ****ppppbStack_1130;" type_identifier (pointer_declarator "****ppppbStack_1130" * (pointer_declarator "***ppppbStack_1130" * (pointer_declarator "**ppppbStack_1130" * (pointer_declarator "*ppppbStack_1130" * identifier)))) ;) (declaration "int iStack_112c;" primitive_type identifier ;) (declaration "byte ****ppppbStack_1128;" type_identifier (pointer_declarator "****ppppbStack_1128" * (pointer_declarator "***ppppbStack_1128" * (pointer_declarator "**ppppbStack_1128" * (pointer_declarator "*ppppbStack_1128" * identifier)))) ;) (declaration "byte ****ppppbStack_1124;" type_identifier (pointer_declarator "****ppppbStack_1124" * (pointer_declarator "***ppppbStack_1124" * (pointer_declarator "**ppppbStack_1124" * (pointer_declarator "*ppppbStack_1124" * identifier)))) ;) (declaration "byte ****ppppbStack_1120;" type_identifier (pointer_declarator "****ppppbStack_1120" * (pointer_declarator "***ppppbStack_1120" * (pointer_declarator "**ppppbStack_1120" * (pointer_declarator "*ppppbStack_1120" * identifier)))) ;) (declaration "int iStack_111c;" primitive_type identifier ;) (declaration "byte ****appppbStack_1118 [4];" type_identifier (pointer_declarator "****appppbStack_1118 [4]" * (pointer_declarator "***appppbStack_1118 [4]" * (pointer_declarator "**appppbStack_1118 [4]" * (pointer_declarator "*appppbStack_1118 [4]" * (array_declarator "appppbStack_1118 [4]" identifier [ number_literal ]))))) ;) (declaration "int iStack_1108;" primitive_type identifier ;) (declaration "int iStack_1104;" primitive_type identifier ;) (declaration "byte ***apppbStack_1078 [1023];" type_identifier (pointer_declarator "***apppbStack_1078 [1023]" * (pointer_declarator "**apppbStack_1078 [1023]" * (pointer_declarator "*apppbStack_1078 [1023]" * (array_declarator "apppbStack_1078 [1023]" identifier [ number_literal ])))) ;) (declaration "undefined1 uStack_79;" type_identifier identifier ;) (declaration "undefined1 auStack_78 [4];" type_identifier (array_declarator "auStack_78 [4]" identifier [ number_literal ]) ;) (declaration "int iStack_74;" primitive_type identifier ;) (declaration "byte ****ppppbStack_70;" type_identifier (pointer_declarator "****ppppbStack_70" * (pointer_declarator "***ppppbStack_70" * (pointer_declarator "**ppppbStack_70" * (pointer_declarator "*ppppbStack_70" * identifier)))) ;) (declaration "byte ****ppppbStack_6c;" type_identifier (pointer_declarator "****ppppbStack_6c" * (pointer_declarator "***ppppbStack_6c" * (pointer_declarator "**ppppbStack_6c" * (pointer_declarator "*ppppbStack_6c" * identifier)))) ;) (declaration "byte ****ppppbStack_68;" type_identifier (pointer_declarator "****ppppbStack_68" * (pointer_declarator "***ppppbStack_68" * (pointer_declarator "**ppppbStack_68" * (pointer_declarator "*ppppbStack_68" * identifier)))) ;) (declaration "byte ****ppppbStack_64;" type_identifier (pointer_declarator "****ppppbStack_64" * (pointer_declarator "***ppppbStack_64" * (pointer_declarator "**ppppbStack_64" * (pointer_declarator "*ppppbStack_64" * identifier)))) ;) (declaration "undefined *puStack_60;" type_identifier (pointer_declarator "*puStack_60" * identifier) ;) (declaration "byte ****ppppbStack_5c;" type_identifier (pointer_declarator "****ppppbStack_5c" * (pointer_declarator "***ppppbStack_5c" * (pointer_declarator "**ppppbStack_5c" * (pointer_declarator "*ppppbStack_5c" * identifier)))) ;) (declaration "byte ****ppppbStack_44;" type_identifier (pointer_declarator "****ppppbStack_44" * (pointer_declarator "***ppppbStack_44" * (pointer_declarator "**ppppbStack_44" * (pointer_declarator "*ppppbStack_44" * identifier)))) ;) (declaration "byte ***local_2c;" type_identifier (pointer_declarator "***local_2c" * (pointer_declarator "**local_2c" * (pointer_declarator "*local_2c" * identifier))) ;) (declaration "undefined4 local_28;" type_identifier identifier ;) (declaration "byte ****local_24;" type_identifier (pointer_declarator "****local_24" * (pointer_declarator "***local_24" * (pointer_declarator "**local_24" * (pointer_declarator "*local_24" * identifier)))) ;) (declaration "undefined1 *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "undefined1 *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "undefined1 *puVar21;" type_identifier (pointer_declarator "*puVar21" * identifier) ;) (declaration "undefined1 *puVar22;" type_identifier (pointer_declarator "*puVar22" * identifier) ;) (declaration "undefined1 *puVar23;" type_identifier (pointer_declarator "*puVar23" * identifier) ;) (expression_statement "pppppbVar13 = (byte *****)PTR___stack_chk_guard_001464dc;" (assignment_expression "pppppbVar13 = (byte *****)PTR___stack_chk_guard_001464dc" identifier = (cast_expression "(byte *****)PTR___stack_chk_guard_001464dc" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppbVar9 = (byte *****)PTR_is_basic_table_00144b04;" (assignment_expression "pppppbVar9 = (byte *****)PTR_is_basic_table_00144b04" identifier = (cast_expression "(byte *****)PTR_is_basic_table_00144b04" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "local_24 = *(byte *****)PTR___stack_chk_guard_001464dc;" (assignment_expression "local_24 = *(byte *****)PTR___stack_chk_guard_001464dc" identifier = (pointer_expression "*(byte *****)PTR___stack_chk_guard_001464dc" * (cast_expression "(byte *****)PTR___stack_chk_guard_001464dc" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier))) ;) (expression_statement "ppppbStack_44 = (byte ****)param_2;" (assignment_expression "ppppbStack_44 = (byte ****)param_2" identifier = (cast_expression "(byte ****)param_2" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (if_statement "if ((*(int *)PTR_locale_utf8locale_00144afc == 0) || (0x7f < (int)param_2)) {\n    if ((0x2f < ((uint)param_2 & 0xff)) &&\n       (unaff_s5 = (byte *****)&local_2c, 1 < *(int *)PTR_locale_mb_cur_max_00144b00)) {\n      local_2c = (byte ***)0x0;\n      local_28 = 0;\n      unaff_s1 = (byte *****)(*(code *)PTR_strlen_00146390)(param_1);\n      pppppbVar2 = param_1;\n      if (unaff_s1 == (byte *****)0x0) {\n        pppppbVar2 = (byte *****)0x0;\n      }\n      else {\n        do {\n          bVar1 = *(byte *)pppppbVar2;\n          param_1 = pppppbVar2;\n          if ((*(uint *)((int)pppppbVar9 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n            ppppbStack_44 = (byte ****)pppppbVar2;\n            param_3 = unaff_s1;\n            iVar3 = (*(code *)PTR_mbrtowc_00146408)(0,pppppbVar2,unaff_s1,unaff_s5);\n            if (0xfffffffb < iVar3 - 2U) {\n              if ((byte *****)(uint)*(byte *)pppppbVar2 != param_2) goto LAB_000df640;\n              goto LAB_000df6f8;\n            }\n          }\n          else {\n            if ((byte *****)(uint)bVar1 == param_2) goto LAB_000df6f8;\nLAB_000df640:\n            iVar3 = 1;\n          }\n          unaff_s1 = (byte *****)((int)unaff_s1 - iVar3);\n          param_1 = (byte *****)((int)pppppbVar2 + iVar3);\n          pppppbVar2 = param_1;\n        } while (unaff_s1 != (byte *****)0x0);\n        pppppbVar2 = (byte *****)0x0;\n      }\n      goto LAB_000df6f8;\n    }\n    pppppbVar14 = param_1;\n    if ((byte *****)local_24 == *(byte ******)PTR___stack_chk_guard_001464dc) {\n                    \n                    \n      pppppbVar9 = (byte *****)(*(code *)PTR_strchr_00146398)(param_1,param_2);\n      return pppppbVar9;\n    }\n  }\n  else {\n    pppppbVar2 = (byte *****)utf8_mbschr((char *)param_1,(int)param_2);\n    pppppbVar9 = unaff_s3;\nLAB_000df6f8:\n    pppppbVar14 = (byte *****)local_24;\n    unaff_s3 = pppppbVar9;\n    if (local_24 == *pppppbVar13) {\n      return pppppbVar2;\n    }\n  }" if (parenthesized_expression "((*(int *)PTR_locale_utf8locale_00144afc == 0) || (0x7f < (int)param_2))" ( (binary_expression "(*(int *)PTR_locale_utf8locale_00144afc == 0) || (0x7f < (int)param_2)" (parenthesized_expression "(*(int *)PTR_locale_utf8locale_00144afc == 0)" ( (binary_expression "*(int *)PTR_locale_utf8locale_00144afc == 0" (pointer_expression "*(int *)PTR_locale_utf8locale_00144afc" * (cast_expression "(int *)PTR_locale_utf8locale_00144afc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal) )) || (parenthesized_expression "(0x7f < (int)param_2)" ( (binary_expression "0x7f < (int)param_2" number_literal < (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )) (compound_statement "{\n    if ((0x2f < ((uint)param_2 & 0xff)) &&\n       (unaff_s5 = (byte *****)&local_2c, 1 < *(int *)PTR_locale_mb_cur_max_00144b00)) {\n      local_2c = (byte ***)0x0;\n      local_28 = 0;\n      unaff_s1 = (byte *****)(*(code *)PTR_strlen_00146390)(param_1);\n      pppppbVar2 = param_1;\n      if (unaff_s1 == (byte *****)0x0) {\n        pppppbVar2 = (byte *****)0x0;\n      }\n      else {\n        do {\n          bVar1 = *(byte *)pppppbVar2;\n          param_1 = pppppbVar2;\n          if ((*(uint *)((int)pppppbVar9 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n            ppppbStack_44 = (byte ****)pppppbVar2;\n            param_3 = unaff_s1;\n            iVar3 = (*(code *)PTR_mbrtowc_00146408)(0,pppppbVar2,unaff_s1,unaff_s5);\n            if (0xfffffffb < iVar3 - 2U) {\n              if ((byte *****)(uint)*(byte *)pppppbVar2 != param_2) goto LAB_000df640;\n              goto LAB_000df6f8;\n            }\n          }\n          else {\n            if ((byte *****)(uint)bVar1 == param_2) goto LAB_000df6f8;\nLAB_000df640:\n            iVar3 = 1;\n          }\n          unaff_s1 = (byte *****)((int)unaff_s1 - iVar3);\n          param_1 = (byte *****)((int)pppppbVar2 + iVar3);\n          pppppbVar2 = param_1;\n        } while (unaff_s1 != (byte *****)0x0);\n        pppppbVar2 = (byte *****)0x0;\n      }\n      goto LAB_000df6f8;\n    }\n    pppppbVar14 = param_1;\n    if ((byte *****)local_24 == *(byte ******)PTR___stack_chk_guard_001464dc) {\n                    \n                    \n      pppppbVar9 = (byte *****)(*(code *)PTR_strchr_00146398)(param_1,param_2);\n      return pppppbVar9;\n    }\n  }" { (if_statement "if ((0x2f < ((uint)param_2 & 0xff)) &&\n       (unaff_s5 = (byte *****)&local_2c, 1 < *(int *)PTR_locale_mb_cur_max_00144b00)) {\n      local_2c = (byte ***)0x0;\n      local_28 = 0;\n      unaff_s1 = (byte *****)(*(code *)PTR_strlen_00146390)(param_1);\n      pppppbVar2 = param_1;\n      if (unaff_s1 == (byte *****)0x0) {\n        pppppbVar2 = (byte *****)0x0;\n      }\n      else {\n        do {\n          bVar1 = *(byte *)pppppbVar2;\n          param_1 = pppppbVar2;\n          if ((*(uint *)((int)pppppbVar9 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n            ppppbStack_44 = (byte ****)pppppbVar2;\n            param_3 = unaff_s1;\n            iVar3 = (*(code *)PTR_mbrtowc_00146408)(0,pppppbVar2,unaff_s1,unaff_s5);\n            if (0xfffffffb < iVar3 - 2U) {\n              if ((byte *****)(uint)*(byte *)pppppbVar2 != param_2) goto LAB_000df640;\n              goto LAB_000df6f8;\n            }\n          }\n          else {\n            if ((byte *****)(uint)bVar1 == param_2) goto LAB_000df6f8;\nLAB_000df640:\n            iVar3 = 1;\n          }\n          unaff_s1 = (byte *****)((int)unaff_s1 - iVar3);\n          param_1 = (byte *****)((int)pppppbVar2 + iVar3);\n          pppppbVar2 = param_1;\n        } while (unaff_s1 != (byte *****)0x0);\n        pppppbVar2 = (byte *****)0x0;\n      }\n      goto LAB_000df6f8;\n    }" if (parenthesized_expression "((0x2f < ((uint)param_2 & 0xff)) &&\n       (unaff_s5 = (byte *****)&local_2c, 1 < *(int *)PTR_locale_mb_cur_max_00144b00))" ( (binary_expression "(0x2f < ((uint)param_2 & 0xff)) &&\n       (unaff_s5 = (byte *****)&local_2c, 1 < *(int *)PTR_locale_mb_cur_max_00144b00)" (parenthesized_expression "(0x2f < ((uint)param_2 & 0xff))" ( (binary_expression "0x2f < ((uint)param_2 & 0xff)" number_literal < (parenthesized_expression "((uint)param_2 & 0xff)" ( (binary_expression "(uint)param_2 & 0xff" (cast_expression "(uint)param_2" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) ))) )) && (parenthesized_expression "(unaff_s5 = (byte *****)&local_2c, 1 < *(int *)PTR_locale_mb_cur_max_00144b00)" ( (comma_expression "unaff_s5 = (byte *****)&local_2c, 1 < *(int *)PTR_locale_mb_cur_max_00144b00" (assignment_expression "unaff_s5 = (byte *****)&local_2c" identifier = (cast_expression "(byte *****)&local_2c" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (pointer_expression "&local_2c" & identifier))) , (binary_expression "1 < *(int *)PTR_locale_mb_cur_max_00144b00" number_literal < (pointer_expression "*(int *)PTR_locale_mb_cur_max_00144b00" * (cast_expression "(int *)PTR_locale_mb_cur_max_00144b00" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)))) ))) )) (compound_statement "{\n      local_2c = (byte ***)0x0;\n      local_28 = 0;\n      unaff_s1 = (byte *****)(*(code *)PTR_strlen_00146390)(param_1);\n      pppppbVar2 = param_1;\n      if (unaff_s1 == (byte *****)0x0) {\n        pppppbVar2 = (byte *****)0x0;\n      }\n      else {\n        do {\n          bVar1 = *(byte *)pppppbVar2;\n          param_1 = pppppbVar2;\n          if ((*(uint *)((int)pppppbVar9 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n            ppppbStack_44 = (byte ****)pppppbVar2;\n            param_3 = unaff_s1;\n            iVar3 = (*(code *)PTR_mbrtowc_00146408)(0,pppppbVar2,unaff_s1,unaff_s5);\n            if (0xfffffffb < iVar3 - 2U) {\n              if ((byte *****)(uint)*(byte *)pppppbVar2 != param_2) goto LAB_000df640;\n              goto LAB_000df6f8;\n            }\n          }\n          else {\n            if ((byte *****)(uint)bVar1 == param_2) goto LAB_000df6f8;\nLAB_000df640:\n            iVar3 = 1;\n          }\n          unaff_s1 = (byte *****)((int)unaff_s1 - iVar3);\n          param_1 = (byte *****)((int)pppppbVar2 + iVar3);\n          pppppbVar2 = param_1;\n        } while (unaff_s1 != (byte *****)0x0);\n        pppppbVar2 = (byte *****)0x0;\n      }\n      goto LAB_000df6f8;\n    }" { (expression_statement "local_2c = (byte ***)0x0;" (assignment_expression "local_2c = (byte ***)0x0" identifier = (cast_expression "(byte ***)0x0" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" identifier = number_literal) ;) (expression_statement "unaff_s1 = (byte *****)(*(code *)PTR_strlen_00146390)(param_1);" (assignment_expression "unaff_s1 = (byte *****)(*(code *)PTR_strlen_00146390)(param_1)" identifier = (cast_expression "(byte *****)(*(code *)PTR_strlen_00146390)(param_1)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(*(code *)PTR_strlen_00146390)(param_1)" (parenthesized_expression "(*(code *)PTR_strlen_00146390)" ( (pointer_expression "*(code *)PTR_strlen_00146390" * (cast_expression "(code *)PTR_strlen_00146390" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1)" ( identifier ))))) ;) (expression_statement "pppppbVar2 = param_1;" (assignment_expression "pppppbVar2 = param_1" identifier = identifier) ;) (if_statement "if (unaff_s1 == (byte *****)0x0) {\n        pppppbVar2 = (byte *****)0x0;\n      }\n      else {\n        do {\n          bVar1 = *(byte *)pppppbVar2;\n          param_1 = pppppbVar2;\n          if ((*(uint *)((int)pppppbVar9 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n            ppppbStack_44 = (byte ****)pppppbVar2;\n            param_3 = unaff_s1;\n            iVar3 = (*(code *)PTR_mbrtowc_00146408)(0,pppppbVar2,unaff_s1,unaff_s5);\n            if (0xfffffffb < iVar3 - 2U) {\n              if ((byte *****)(uint)*(byte *)pppppbVar2 != param_2) goto LAB_000df640;\n              goto LAB_000df6f8;\n            }\n          }\n          else {\n            if ((byte *****)(uint)bVar1 == param_2) goto LAB_000df6f8;\nLAB_000df640:\n            iVar3 = 1;\n          }\n          unaff_s1 = (byte *****)((int)unaff_s1 - iVar3);\n          param_1 = (byte *****)((int)pppppbVar2 + iVar3);\n          pppppbVar2 = param_1;\n        } while (unaff_s1 != (byte *****)0x0);\n        pppppbVar2 = (byte *****)0x0;\n      }" if (parenthesized_expression "(unaff_s1 == (byte *****)0x0)" ( (binary_expression "unaff_s1 == (byte *****)0x0" identifier == (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n        pppppbVar2 = (byte *****)0x0;\n      }" { (expression_statement "pppppbVar2 = (byte *****)0x0;" (assignment_expression "pppppbVar2 = (byte *****)0x0" identifier = (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) }) (else_clause "else {\n        do {\n          bVar1 = *(byte *)pppppbVar2;\n          param_1 = pppppbVar2;\n          if ((*(uint *)((int)pppppbVar9 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n            ppppbStack_44 = (byte ****)pppppbVar2;\n            param_3 = unaff_s1;\n            iVar3 = (*(code *)PTR_mbrtowc_00146408)(0,pppppbVar2,unaff_s1,unaff_s5);\n            if (0xfffffffb < iVar3 - 2U) {\n              if ((byte *****)(uint)*(byte *)pppppbVar2 != param_2) goto LAB_000df640;\n              goto LAB_000df6f8;\n            }\n          }\n          else {\n            if ((byte *****)(uint)bVar1 == param_2) goto LAB_000df6f8;\nLAB_000df640:\n            iVar3 = 1;\n          }\n          unaff_s1 = (byte *****)((int)unaff_s1 - iVar3);\n          param_1 = (byte *****)((int)pppppbVar2 + iVar3);\n          pppppbVar2 = param_1;\n        } while (unaff_s1 != (byte *****)0x0);\n        pppppbVar2 = (byte *****)0x0;\n      }" else (compound_statement "{\n        do {\n          bVar1 = *(byte *)pppppbVar2;\n          param_1 = pppppbVar2;\n          if ((*(uint *)((int)pppppbVar9 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n            ppppbStack_44 = (byte ****)pppppbVar2;\n            param_3 = unaff_s1;\n            iVar3 = (*(code *)PTR_mbrtowc_00146408)(0,pppppbVar2,unaff_s1,unaff_s5);\n            if (0xfffffffb < iVar3 - 2U) {\n              if ((byte *****)(uint)*(byte *)pppppbVar2 != param_2) goto LAB_000df640;\n              goto LAB_000df6f8;\n            }\n          }\n          else {\n            if ((byte *****)(uint)bVar1 == param_2) goto LAB_000df6f8;\nLAB_000df640:\n            iVar3 = 1;\n          }\n          unaff_s1 = (byte *****)((int)unaff_s1 - iVar3);\n          param_1 = (byte *****)((int)pppppbVar2 + iVar3);\n          pppppbVar2 = param_1;\n        } while (unaff_s1 != (byte *****)0x0);\n        pppppbVar2 = (byte *****)0x0;\n      }" { (do_statement "do {\n          bVar1 = *(byte *)pppppbVar2;\n          param_1 = pppppbVar2;\n          if ((*(uint *)((int)pppppbVar9 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n            ppppbStack_44 = (byte ****)pppppbVar2;\n            param_3 = unaff_s1;\n            iVar3 = (*(code *)PTR_mbrtowc_00146408)(0,pppppbVar2,unaff_s1,unaff_s5);\n            if (0xfffffffb < iVar3 - 2U) {\n              if ((byte *****)(uint)*(byte *)pppppbVar2 != param_2) goto LAB_000df640;\n              goto LAB_000df6f8;\n            }\n          }\n          else {\n            if ((byte *****)(uint)bVar1 == param_2) goto LAB_000df6f8;\nLAB_000df640:\n            iVar3 = 1;\n          }\n          unaff_s1 = (byte *****)((int)unaff_s1 - iVar3);\n          param_1 = (byte *****)((int)pppppbVar2 + iVar3);\n          pppppbVar2 = param_1;\n        } while (unaff_s1 != (byte *****)0x0);" do (compound_statement "{\n          bVar1 = *(byte *)pppppbVar2;\n          param_1 = pppppbVar2;\n          if ((*(uint *)((int)pppppbVar9 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n            ppppbStack_44 = (byte ****)pppppbVar2;\n            param_3 = unaff_s1;\n            iVar3 = (*(code *)PTR_mbrtowc_00146408)(0,pppppbVar2,unaff_s1,unaff_s5);\n            if (0xfffffffb < iVar3 - 2U) {\n              if ((byte *****)(uint)*(byte *)pppppbVar2 != param_2) goto LAB_000df640;\n              goto LAB_000df6f8;\n            }\n          }\n          else {\n            if ((byte *****)(uint)bVar1 == param_2) goto LAB_000df6f8;\nLAB_000df640:\n            iVar3 = 1;\n          }\n          unaff_s1 = (byte *****)((int)unaff_s1 - iVar3);\n          param_1 = (byte *****)((int)pppppbVar2 + iVar3);\n          pppppbVar2 = param_1;\n        }" { (expression_statement "bVar1 = *(byte *)pppppbVar2;" (assignment_expression "bVar1 = *(byte *)pppppbVar2" identifier = (pointer_expression "*(byte *)pppppbVar2" * (cast_expression "(byte *)pppppbVar2" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "param_1 = pppppbVar2;" (assignment_expression "param_1 = pppppbVar2" identifier = identifier) ;) (if_statement "if ((*(uint *)((int)pppppbVar9 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n            ppppbStack_44 = (byte ****)pppppbVar2;\n            param_3 = unaff_s1;\n            iVar3 = (*(code *)PTR_mbrtowc_00146408)(0,pppppbVar2,unaff_s1,unaff_s5);\n            if (0xfffffffb < iVar3 - 2U) {\n              if ((byte *****)(uint)*(byte *)pppppbVar2 != param_2) goto LAB_000df640;\n              goto LAB_000df6f8;\n            }\n          }\n          else {\n            if ((byte *****)(uint)bVar1 == param_2) goto LAB_000df6f8;\nLAB_000df640:\n            iVar3 = 1;\n          }" if (parenthesized_expression "((*(uint *)((int)pppppbVar9 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0)" ( (binary_expression "(*(uint *)((int)pppppbVar9 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0" (parenthesized_expression "(*(uint *)((int)pppppbVar9 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1)" ( (binary_expression "*(uint *)((int)pppppbVar9 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1" (binary_expression "*(uint *)((int)pppppbVar9 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f)" (pointer_expression "*(uint *)((int)pppppbVar9 + (uint)(bVar1 >> 5) * 4)" * (cast_expression "(uint *)((int)pppppbVar9 + (uint)(bVar1 >> 5) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppbVar9 + (uint)(bVar1 >> 5) * 4)" ( (binary_expression "(int)pppppbVar9 + (uint)(bVar1 >> 5) * 4" (cast_expression "(int)pppppbVar9" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(uint)(bVar1 >> 5) * 4" (call_expression "(uint)(bVar1 >> 5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(bVar1 >> 5)" ( (binary_expression "bVar1 >> 5" identifier >> number_literal) ))) * number_literal)) )))) >> (parenthesized_expression "(bVar1 & 0x1f)" ( (binary_expression "bVar1 & 0x1f" identifier & number_literal) ))) & number_literal) )) == number_literal) )) (compound_statement "{\n            ppppbStack_44 = (byte ****)pppppbVar2;\n            param_3 = unaff_s1;\n            iVar3 = (*(code *)PTR_mbrtowc_00146408)(0,pppppbVar2,unaff_s1,unaff_s5);\n            if (0xfffffffb < iVar3 - 2U) {\n              if ((byte *****)(uint)*(byte *)pppppbVar2 != param_2) goto LAB_000df640;\n              goto LAB_000df6f8;\n            }\n          }" { (expression_statement "ppppbStack_44 = (byte ****)pppppbVar2;" (assignment_expression "ppppbStack_44 = (byte ****)pppppbVar2" identifier = (cast_expression "(byte ****)pppppbVar2" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "param_3 = unaff_s1;" (assignment_expression "param_3 = unaff_s1" identifier = identifier) ;) (expression_statement "iVar3 = (*(code *)PTR_mbrtowc_00146408)(0,pppppbVar2,unaff_s1,unaff_s5);" (assignment_expression "iVar3 = (*(code *)PTR_mbrtowc_00146408)(0,pppppbVar2,unaff_s1,unaff_s5)" identifier = (call_expression "(*(code *)PTR_mbrtowc_00146408)(0,pppppbVar2,unaff_s1,unaff_s5)" (parenthesized_expression "(*(code *)PTR_mbrtowc_00146408)" ( (pointer_expression "*(code *)PTR_mbrtowc_00146408" * (cast_expression "(code *)PTR_mbrtowc_00146408" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,pppppbVar2,unaff_s1,unaff_s5)" ( number_literal , identifier , identifier , identifier )))) ;) (if_statement "if (0xfffffffb < iVar3 - 2U) {\n              if ((byte *****)(uint)*(byte *)pppppbVar2 != param_2) goto LAB_000df640;\n              goto LAB_000df6f8;\n            }" if (parenthesized_expression "(0xfffffffb < iVar3 - 2U)" ( (binary_expression "0xfffffffb < iVar3 - 2U" number_literal < (binary_expression "iVar3 - 2U" identifier - number_literal)) )) (compound_statement "{\n              if ((byte *****)(uint)*(byte *)pppppbVar2 != param_2) goto LAB_000df640;\n              goto LAB_000df6f8;\n            }" { (if_statement "if ((byte *****)(uint)*(byte *)pppppbVar2 != param_2) goto LAB_000df640;" if (parenthesized_expression "((byte *****)(uint)*(byte *)pppppbVar2 != param_2)" ( (binary_expression "(byte *****)(uint)*(byte *)pppppbVar2 != param_2" (binary_expression "(byte *****)(uint)*(byte *)pppppbVar2" (cast_expression "(byte *****)(uint)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(byte *)pppppbVar2" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) != identifier) )) (goto_statement "goto LAB_000df640;" goto statement_identifier ;)) (goto_statement "goto LAB_000df6f8;" goto statement_identifier ;) })) }) (else_clause "else {\n            if ((byte *****)(uint)bVar1 == param_2) goto LAB_000df6f8;\nLAB_000df640:\n            iVar3 = 1;\n          }" else (compound_statement "{\n            if ((byte *****)(uint)bVar1 == param_2) goto LAB_000df6f8;\nLAB_000df640:\n            iVar3 = 1;\n          }" { (if_statement "if ((byte *****)(uint)bVar1 == param_2) goto LAB_000df6f8;" if (parenthesized_expression "((byte *****)(uint)bVar1 == param_2)" ( (binary_expression "(byte *****)(uint)bVar1 == param_2" (cast_expression "(byte *****)(uint)bVar1" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier)) == identifier) )) (goto_statement "goto LAB_000df6f8;" goto statement_identifier ;)) (labeled_statement "LAB_000df640:\n            iVar3 = 1;" statement_identifier : (expression_statement "iVar3 = 1;" (assignment_expression "iVar3 = 1" identifier = number_literal) ;)) }))) (expression_statement "unaff_s1 = (byte *****)((int)unaff_s1 - iVar3);" (assignment_expression "unaff_s1 = (byte *****)((int)unaff_s1 - iVar3)" identifier = (cast_expression "(byte *****)((int)unaff_s1 - iVar3)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)unaff_s1 - iVar3)" ( (binary_expression "(int)unaff_s1 - iVar3" (cast_expression "(int)unaff_s1" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) )))) ;) (expression_statement "param_1 = (byte *****)((int)pppppbVar2 + iVar3);" (assignment_expression "param_1 = (byte *****)((int)pppppbVar2 + iVar3)" identifier = (cast_expression "(byte *****)((int)pppppbVar2 + iVar3)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)pppppbVar2 + iVar3)" ( (binary_expression "(int)pppppbVar2 + iVar3" (cast_expression "(int)pppppbVar2" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (expression_statement "pppppbVar2 = param_1;" (assignment_expression "pppppbVar2 = param_1" identifier = identifier) ;) }) while (parenthesized_expression "(unaff_s1 != (byte *****)0x0)" ( (binary_expression "unaff_s1 != (byte *****)0x0" identifier != (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) ;) (expression_statement "pppppbVar2 = (byte *****)0x0;" (assignment_expression "pppppbVar2 = (byte *****)0x0" identifier = (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) }))) (goto_statement "goto LAB_000df6f8;" goto statement_identifier ;) })) (expression_statement "pppppbVar14 = param_1;" (assignment_expression "pppppbVar14 = param_1" identifier = identifier) ;) (if_statement "if ((byte *****)local_24 == *(byte ******)PTR___stack_chk_guard_001464dc) {\n                    \n                    \n      pppppbVar9 = (byte *****)(*(code *)PTR_strchr_00146398)(param_1,param_2);\n      return pppppbVar9;\n    }" if (parenthesized_expression "((byte *****)local_24 == *(byte ******)PTR___stack_chk_guard_001464dc)" ( (binary_expression "(byte *****)local_24 == *(byte ******)PTR___stack_chk_guard_001464dc" (cast_expression "(byte *****)local_24" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier) == (pointer_expression "*(byte ******)PTR___stack_chk_guard_001464dc" * (cast_expression "(byte ******)PTR___stack_chk_guard_001464dc" ( (type_descriptor "byte ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) identifier))) )) (compound_statement "{\n                    \n                    \n      pppppbVar9 = (byte *****)(*(code *)PTR_strchr_00146398)(param_1,param_2);\n      return pppppbVar9;\n    }" { (expression_statement "pppppbVar9 = (byte *****)(*(code *)PTR_strchr_00146398)(param_1,param_2);" (assignment_expression "pppppbVar9 = (byte *****)(*(code *)PTR_strchr_00146398)(param_1,param_2)" identifier = (cast_expression "(byte *****)(*(code *)PTR_strchr_00146398)(param_1,param_2)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(*(code *)PTR_strchr_00146398)(param_1,param_2)" (parenthesized_expression "(*(code *)PTR_strchr_00146398)" ( (pointer_expression "*(code *)PTR_strchr_00146398" * (cast_expression "(code *)PTR_strchr_00146398" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,param_2)" ( identifier , identifier ))))) ;) (return_statement "return pppppbVar9;" return identifier ;) })) }) (else_clause "else {\n    pppppbVar2 = (byte *****)utf8_mbschr((char *)param_1,(int)param_2);\n    pppppbVar9 = unaff_s3;\nLAB_000df6f8:\n    pppppbVar14 = (byte *****)local_24;\n    unaff_s3 = pppppbVar9;\n    if (local_24 == *pppppbVar13) {\n      return pppppbVar2;\n    }\n  }" else (compound_statement "{\n    pppppbVar2 = (byte *****)utf8_mbschr((char *)param_1,(int)param_2);\n    pppppbVar9 = unaff_s3;\nLAB_000df6f8:\n    pppppbVar14 = (byte *****)local_24;\n    unaff_s3 = pppppbVar9;\n    if (local_24 == *pppppbVar13) {\n      return pppppbVar2;\n    }\n  }" { (expression_statement "pppppbVar2 = (byte *****)utf8_mbschr((char *)param_1,(int)param_2);" (assignment_expression "pppppbVar2 = (byte *****)utf8_mbschr((char *)param_1,(int)param_2)" identifier = (cast_expression "(byte *****)utf8_mbschr((char *)param_1,(int)param_2)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "utf8_mbschr((char *)param_1,(int)param_2)" identifier (argument_list "((char *)param_1,(int)param_2)" ( (cast_expression "(char *)param_1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) ))))) ;) (expression_statement "pppppbVar9 = unaff_s3;" (assignment_expression "pppppbVar9 = unaff_s3" identifier = identifier) ;) (labeled_statement "LAB_000df6f8:\n    pppppbVar14 = (byte *****)local_24;" statement_identifier : (expression_statement "pppppbVar14 = (byte *****)local_24;" (assignment_expression "pppppbVar14 = (byte *****)local_24" identifier = (cast_expression "(byte *****)local_24" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;)) (expression_statement "unaff_s3 = pppppbVar9;" (assignment_expression "unaff_s3 = pppppbVar9" identifier = identifier) ;) (if_statement "if (local_24 == *pppppbVar13) {\n      return pppppbVar2;\n    }" if (parenthesized_expression "(local_24 == *pppppbVar13)" ( (binary_expression "local_24 == *pppppbVar13" identifier == (pointer_expression "*pppppbVar13" * identifier)) )) (compound_statement "{\n      return pppppbVar2;\n    }" { (return_statement "return pppppbVar2;" return identifier ;) })) }))) (expression_statement "puVar15 = PTR___stack_chk_fail_00146488;" (assignment_expression "puVar15 = PTR___stack_chk_fail_00146488" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_00146488)();" (call_expression "(*(code *)PTR___stack_chk_fail_00146488)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00146488)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_00146488" * (cast_expression "(code *)PTR___stack_chk_fail_00146488" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "puStack_1170 = puVar15 + 0x6ce00;" (assignment_expression "puStack_1170 = puVar15 + 0x6ce00" identifier = (binary_expression "puVar15 + 0x6ce00" identifier + number_literal)) ;) (expression_statement "puVar26 = auStack_1180;" (assignment_expression "puVar26 = auStack_1180" identifier = identifier) ;) (expression_statement "piStack_1144 = *(int **)(puVar15 + 0x66d9c);" (assignment_expression "piStack_1144 = *(int **)(puVar15 + 0x66d9c)" identifier = (pointer_expression "*(int **)(puVar15 + 0x66d9c)" * (cast_expression "(int **)(puVar15 + 0x66d9c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + 0x66d9c)" ( (binary_expression "puVar15 + 0x66d9c" identifier + number_literal) ))))) ;) (expression_statement "puStack_60 = (undefined *)pppppbVar13;" (assignment_expression "puStack_60 = (undefined *)pppppbVar13" identifier = (cast_expression "(undefined *)pppppbVar13" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "iStack_74 = *piStack_1144;" (assignment_expression "iStack_74 = *piStack_1144" identifier = (pointer_expression "*piStack_1144" * identifier)) ;) (expression_statement "ppppbStack_115c = (byte ****)pppppbVar14;" (assignment_expression "ppppbStack_115c = (byte ****)pppppbVar14" identifier = (cast_expression "(byte ****)pppppbVar14" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "ppppbStack_70 = (byte ****)param_1;" (assignment_expression "ppppbStack_70 = (byte ****)param_1" identifier = (cast_expression "(byte ****)param_1" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "ppppbStack_6c = (byte ****)unaff_s1;" (assignment_expression "ppppbStack_6c = (byte ****)unaff_s1" identifier = (cast_expression "(byte ****)unaff_s1" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "ppppbStack_68 = (byte ****)param_2;" (assignment_expression "ppppbStack_68 = (byte ****)param_2" identifier = (cast_expression "(byte ****)param_2" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "ppppbStack_64 = (byte ****)unaff_s3;" (assignment_expression "ppppbStack_64 = (byte ****)unaff_s3" identifier = (cast_expression "(byte ****)unaff_s3" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "ppppbStack_5c = (byte ****)unaff_s5;" (assignment_expression "ppppbStack_5c = (byte ****)unaff_s5" identifier = (cast_expression "(byte ****)unaff_s5" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (if_statement "if ((pppppbVar14 != (byte *****)0x0) && ((byte *****)ppppbStack_44 == (byte *****)0x0)) {\n    pppppbVar9 = (byte *****)0x0;\n    puVar7 = (undefined4 *)(**(code **)(puVar15 + 0x66bfc))();\n    *puVar7 = 0x16;\n    goto LAB_000dfb60;\n  }" if (parenthesized_expression "((pppppbVar14 != (byte *****)0x0) && ((byte *****)ppppbStack_44 == (byte *****)0x0))" ( (binary_expression "(pppppbVar14 != (byte *****)0x0) && ((byte *****)ppppbStack_44 == (byte *****)0x0)" (parenthesized_expression "(pppppbVar14 != (byte *****)0x0)" ( (binary_expression "pppppbVar14 != (byte *****)0x0" identifier != (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) && (parenthesized_expression "((byte *****)ppppbStack_44 == (byte *****)0x0)" ( (binary_expression "(byte *****)ppppbStack_44 == (byte *****)0x0" (cast_expression "(byte *****)ppppbStack_44" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier) == (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ))) )) (compound_statement "{\n    pppppbVar9 = (byte *****)0x0;\n    puVar7 = (undefined4 *)(**(code **)(puVar15 + 0x66bfc))();\n    *puVar7 = 0x16;\n    goto LAB_000dfb60;\n  }" { (expression_statement "pppppbVar9 = (byte *****)0x0;" (assignment_expression "pppppbVar9 = (byte *****)0x0" identifier = (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "puVar7 = (undefined4 *)(**(code **)(puVar15 + 0x66bfc))();" (assignment_expression "puVar7 = (undefined4 *)(**(code **)(puVar15 + 0x66bfc))()" identifier = (cast_expression "(undefined4 *)(**(code **)(puVar15 + 0x66bfc))()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar15 + 0x66bfc))()" (parenthesized_expression "(**(code **)(puVar15 + 0x66bfc))" ( (pointer_expression "**(code **)(puVar15 + 0x66bfc)" * (pointer_expression "*(code **)(puVar15 + 0x66bfc)" * (cast_expression "(code **)(puVar15 + 0x66bfc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + 0x66bfc)" ( (binary_expression "puVar15 + 0x66bfc" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "*puVar7 = 0x16;" (assignment_expression "*puVar7 = 0x16" (pointer_expression "*puVar7" * identifier) = number_literal) ;) (goto_statement "goto LAB_000dfb60;" goto statement_identifier ;) })) (expression_statement "param_3 = appppbStack_1118;" (assignment_expression "param_3 = appppbStack_1118" identifier = identifier) ;) (expression_statement "pppppbVar2 = (byte *****)(*(int *)(puVar15 + 0x64e6c) + -0x7e78);" (assignment_expression "pppppbVar2 = (byte *****)(*(int *)(puVar15 + 0x64e6c) + -0x7e78)" identifier = (cast_expression "(byte *****)(*(int *)(puVar15 + 0x64e6c) + -0x7e78)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(*(int *)(puVar15 + 0x64e6c) + -0x7e78)" ( (binary_expression "*(int *)(puVar15 + 0x64e6c) + -0x7e78" (pointer_expression "*(int *)(puVar15 + 0x64e6c)" * (cast_expression "(int *)(puVar15 + 0x64e6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar15 + 0x64e6c)" ( (binary_expression "puVar15 + 0x64e6c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "auStack_78[0] = 0;" (assignment_expression "auStack_78[0] = 0" (subscript_expression "auStack_78[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "ppppbStack_1128 = (byte ****)param_3;" (assignment_expression "ppppbStack_1128 = (byte ****)param_3" identifier = (cast_expression "(byte ****)param_3" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "iVar3 = (**(code **)(puVar15 + 0x66af4))(3,pppppbVar2);" (assignment_expression "iVar3 = (**(code **)(puVar15 + 0x66af4))(3,pppppbVar2)" identifier = (call_expression "(**(code **)(puVar15 + 0x66af4))(3,pppppbVar2)" (parenthesized_expression "(**(code **)(puVar15 + 0x66af4))" ( (pointer_expression "**(code **)(puVar15 + 0x66af4)" * (pointer_expression "*(code **)(puVar15 + 0x66af4)" * (cast_expression "(code **)(puVar15 + 0x66af4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + 0x66af4)" ( (binary_expression "puVar15 + 0x66af4" identifier + number_literal) ))))) )) (argument_list "(3,pppppbVar2)" ( number_literal , identifier )))) ;) (expression_statement "puVar26 = auStack_1180;" (assignment_expression "puVar26 = auStack_1180" identifier = identifier) ;) (if_statement "if (-1 < iVar3) {\n    ppppbStack_1120 = appppbStack_1118[0];\n    pppppbVar9 = (byte *****)(*(int *)(puStack_1170 + -0x7aac) + -0x7ee8);\n    iStack_112c = iStack_1108;\n    iStack_113c = iStack_1104;\n    param_3 = (byte *****)ppppbStack_1128;\n    iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,pppppbVar9);\n    pppppbVar2 = pppppbVar9;\n    puVar26 = auStack_1180;\n    if (-1 < iVar3) {\n      ppppbStack_1158 = apppbStack_1078;\n      pppppbVar14 = (byte *****)auStack_78;\n      ppppbStack_114c = appppbStack_1118[0];\n      iStack_1160 = iStack_1108;\n      ppppbStack_1148 = (byte ****)(*(int *)(puStack_1170 + -0x7f94) + -0x34d0);\n      pppbStack_1138 = (byte ***)0x0;\n      iStack_1164 = iStack_1104;\n      ppppbStack_1140 = (byte ****)0xe0;\n      ppppbStack_1124 = (byte ****)(*(int *)(puStack_1170 + -0x7f94) + -0x33ef);\n      unaff_s1 = (byte *****)ppppbStack_1158;\n      unaff_s6 = (byte *****)0x1001;\n      puVar26 = auStack_1180;\n      ppppbStack_1168 = (byte ****)pppppbVar14;\n      ppppbStack_1134 = ppppbStack_1148;\n      while (((ppppbStack_1120 != ppppbStack_114c || (iStack_112c != iStack_1160)) ||\n             (iStack_113c != iStack_1164))) {\n        pppppbVar12 = pppppbVar13;\n        pppppbVar10 = unaff_s1;\n        if (ppppbStack_1124 == ppppbStack_1134) {\n          param_1 = (byte *****)((int)ppppbStack_1140 * 2);\n          pppppbVar2 = (byte *****)((int)param_1 + 1);\n          if (ppppbStack_1124 == ppppbStack_1148) {\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(pppppbVar2);\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb48;\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,ppppbStack_1148,ppppbStack_1140);\n          }\n          else {\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(ppppbStack_1134);\n            puVar24 = puVar26;\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb18;\n          }\n          pppppbVar12 = (byte *****)ppppbStack_1140;\n          unaff_s3 = (byte *****)((int)pppppbVar9 + (int)ppppbStack_1140);\n          ppppbStack_1124 = (byte ****)unaff_s3;\n          (**(code **)(puStack_1170 + -0x605c))(unaff_s3,pppppbVar9,ppppbStack_1140);\n          *(byte *)((int)unaff_s3 + (int)pppppbVar12) = 0;\n          ppppbStack_1140 = (byte ****)param_1;\n          ppppbStack_1134 = (byte ****)pppppbVar9;\n        }\n        param_1 = (byte *****)((int)ppppbStack_1124 + -3);\n        pppppbVar2 = param_1;\n        param_3 = (byte *****)ppppbStack_1128;\n        ppppbStack_1124 = (byte ****)param_1;\n        iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,param_1);\n        pppppbVar13 = pppppbVar12;\n        puVar17 = puVar26;\n        if (iVar3 < 0) {\nLAB_000dfb00:\n          puVar26 = puVar17;\n          if ((ppppbStack_1134 != ppppbStack_1148) &&\n             (puVar24 = puVar17, (byte *****)ppppbStack_1134 != (byte *****)0x0)) {\nLAB_000dfb18:\n            pcVar16 = *(code **)(puStack_1170 + -0x6204);\n            puVar25 = puVar24;\nLAB_000dfb1c:\n            param_1 = (byte *****)(*pcVar16)();\n            ppppbVar11 = *param_1;\n            (**(code **)(puStack_1170 + -0x6044))(ppppbStack_1134);\n            *param_1 = ppppbVar11;\n            unaff_s1 = pppppbVar10;\n            puVar26 = puVar25;\n          }\n          goto LAB_000dfb48;\n        }\n        ppppbStack_1130 = appppbStack_1118[0];\n        iStack_1150 = iStack_1108;\n        iStack_1154 = iStack_1104;\n        iStack_111c = (**(code **)(puStack_1170 + -0x633c))(param_1);\n        if (iStack_111c == 0) goto LAB_000dfb00;\n        unaff_s3 = (byte *****)\n                   ((byte *)((int)ppppbStack_1134 + (int)ppppbStack_1140) + -(int)param_1);\n        unaff_s5 = (byte *****)((int)unaff_s3 + 1);\nLAB_000df8ec:\n        do {\n          pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n          do {\n            do {\n              piVar4 = (int *)(*pcVar16)(iStack_111c);\n              while( true ) {\n                if (piVar4 == (int *)0x0) {\n                  param_1 = (byte *****)(**(code **)(puStack_1170 + -0x6204))();\n                  ppppbVar11 = (byte ****)pppbStack_1138;\n                  if (*param_1 != (byte ****)0x0) {\n                    ppppbVar11 = *param_1;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  *param_1 = ppppbVar11;\n                  pppppbVar13 = pppppbVar12;\n                  goto LAB_000dfb00;\n                }\n                if (*(char *)((int)piVar4 + 0x13) != '.') break;\n                pppppbVar2 = (byte *****)0xffff0000;\n                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;\n                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;\n                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);\n              }\n            } while ((ppppbStack_1120 == ppppbStack_1130) &&\n                    ((pcVar16 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c))));\n            param_1 = (byte *****)((int)piVar4 + 0x13);\n            pppppbVar5 = (byte *****)(**(code **)(puStack_1170 + -0x61b0))(param_1);\n            iVar3 = -((uint)((byte *)((int)unaff_s5 + (int)pppppbVar5) + 8) & 0xfffffff8);\n            puVar18 = puVar17 + iVar3;\n            puVar19 = puVar17 + iVar3;\n            puVar20 = puVar17 + iVar3;\n            puVar25 = puVar17 + iVar3;\n            puVar21 = puVar17 + iVar3;\n            puVar26 = puVar17 + iVar3;\n            puVar22 = puVar17 + iVar3;\n            puVar24 = puVar17 + iVar3;\n            puVar23 = puVar17 + iVar3;\n            pppppbVar12 = (byte *****)(puVar17 + iVar3 + 0x10);\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar12,ppppbStack_1124,unaff_s3);\n            puVar15 = puStack_1170;\n            *(byte *)((int)pppppbVar12 + (int)unaff_s3) = 0x2f;\n            (**(code **)(puVar15 + -0x605c))\n                      ((byte *)((int)pppppbVar12 + (int)unaff_s5),param_1,\n                       (byte *)((int)pppppbVar5 + 1));\n            pppppbVar2 = pppppbVar12;\n            param_3 = (byte *****)ppppbStack_1128;\n            iVar6 = (**(code **)(puStack_1170 + -0x632c))(3,pppppbVar12);\n            if (iVar6 < 0) {\n              piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))();\n              pppbStack_1138 = (byte ***)*piVar4;\n            }\n            pppppbVar13 = (byte *****)ppppbStack_1158;\n            pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n            puVar17 = puVar17 + iVar3;\n          } while ((appppbStack_1118[0] != ppppbStack_1120) ||\n                  (puVar17 = puVar18, iStack_1108 != iStack_112c));\n          puVar17 = puVar19;\n        } while (iStack_1104 != iStack_113c);\n        pppppbVar9 = param_1;\n        unaff_s3 = (byte *****)((int)pppppbVar14 - (int)unaff_s1);\n        unaff_s5 = unaff_s6;\n        while (unaff_s3 <= pppppbVar5) {\n          unaff_s6 = (byte *****)((int)unaff_s5 << 1);\n          ppppbStack_1120 = (byte ****)pppppbVar9;\n          if (pppppbVar10 == pppppbVar13) {\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pppppbVar9 = (byte *****)0x0;\n              ppppbStack_44 = (byte ****)pppppbVar2;\n              if ((ppppbStack_1134 == ppppbStack_1148) ||\n                 (pppppbVar10 = (byte *****)ppppbStack_1158, puVar26 = puVar22,\n                 (byte *****)ppppbStack_1134 == (byte *****)0x0)) goto LAB_000dfb60;\n              goto LAB_000dfb18;\n            }\n          }\n          else {\n            pppppbVar2 = unaff_s6;\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(pppppbVar10,unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar20;\n              if (ppppbStack_1134 == ppppbStack_1148) goto LAB_000dfcc0;\n              pcVar16 = *(code **)(puStack_1170 + -0x6204);\n              if ((byte *****)ppppbStack_1134 != (byte *****)0x0) goto LAB_000dfb1c;\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar21;\n              goto LAB_000dfcc0;\n            }\n            pppppbVar14 = (byte *****)((int)unaff_s1 + (int)unaff_s3);\n          }\n          param_1 = (byte *****)((int)unaff_s5 + (int)unaff_s3);\n          param_3 = (byte *****)((int)unaff_s5 - (int)unaff_s3);\n          (**(code **)(puStack_1170 + -0x605c))((byte *****)((int)unaff_s1 + (int)param_1));\n          pppppbVar9 = (byte *****)ppppbStack_1120;\n          pppppbVar12 = pppppbVar13;\n          unaff_s3 = param_1;\n          pppppbVar2 = pppppbVar14;\n          pppppbVar10 = unaff_s1;\n          unaff_s5 = unaff_s6;\n          pppppbVar14 = (byte *****)((int)unaff_s1 + (int)param_1);\n        }\n        iVar3 = (**(code **)(puStack_1170 + -0x605c))((int)pppppbVar14 - (int)pppppbVar5);\n        pppppbVar14 = (byte *****)(iVar3 + -1);\n        pcVar16 = *(code **)(puStack_1170 + -0x6338);\n        *(undefined1 *)(iVar3 + -1) = 0x2f;\n        (*pcVar16)(iStack_111c);\n        iStack_112c = iStack_1150;\n        ppppbStack_1120 = ppppbStack_1130;\n        param_3 = pppppbVar5;\n        unaff_s1 = pppppbVar10;\n        pppppbVar13 = pppppbVar12;\n        unaff_s6 = unaff_s5;\n        puVar26 = puVar23;\n        iStack_113c = iStack_1154;\n      }\n      if (pppppbVar14 == (byte *****)ppppbStack_1168) {\n        pppppbVar14 = (byte *****)&uStack_79;\n        uStack_79 = 0x2f;\n      }\n      pppppbVar2 = pppppbVar9;\n      if (ppppbStack_1134 != ppppbStack_1148) {\n        (**(code **)(puStack_1170 + -0x6044))();\n        pppppbVar2 = pppppbVar9;\n      }\n      param_1 = (byte *****)((byte *)((int)unaff_s1 + (int)unaff_s6) + -(int)pppppbVar14);\n      if ((byte *****)ppppbStack_115c == (byte *****)0x0) {\n        if ((byte *****)ppppbStack_44 == (byte *****)0x0) {\n          pcVar16 = *(code **)(puStack_1170 + -0x6158);\n          ppppbStack_44 = (byte ****)param_1;\n        }\n        else {\n          pcVar16 = *(code **)(puStack_1170 + -0x6158);\n          if (ppppbStack_44 < param_1) goto LAB_000dfda0;\n        }\n        pppppbVar9 = (byte *****)(*pcVar16)(ppppbStack_44);\n        if (pppppbVar9 != (byte *****)0x0) goto LAB_000dfc70;\n      }\n      else {\n        pppppbVar9 = (byte *****)ppppbStack_115c;\n        if (param_1 <= ppppbStack_44) {\nLAB_000dfc70:\n          param_3 = param_1;\n          (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,pppppbVar14);\n          ppppbStack_44 = (byte ****)pppppbVar14;\n          if (unaff_s1 != (byte *****)ppppbStack_1158) {\n            (**(code **)(puStack_1170 + -0x6044))(unaff_s1);\n            ppppbStack_44 = (byte ****)pppppbVar14;\n          }\n          goto LAB_000dfb60;\n        }\nLAB_000dfda0:\n        puVar7 = (undefined4 *)(**(code **)(puStack_1170 + -0x6204))();\n        *puVar7 = 0x22;\n      }\nLAB_000dfb48:\n      pppppbVar9 = (byte *****)0x0;\n      ppppbStack_44 = (byte ****)pppppbVar2;\n      if (unaff_s1 == (byte *****)ppppbStack_1158) goto LAB_000dfb60;\n      pcVar16 = *(code **)(puStack_1170 + -0x6044);\n      pppppbVar10 = unaff_s1;\n      if (unaff_s1 != (byte *****)0x0) {\nLAB_000dfcc0:\n        (*pcVar16)(pppppbVar10);\n        unaff_s1 = pppppbVar10;\n      }\n    }\n  }" if (parenthesized_expression "(-1 < iVar3)" ( (binary_expression "-1 < iVar3" number_literal < identifier) )) (compound_statement "{\n    ppppbStack_1120 = appppbStack_1118[0];\n    pppppbVar9 = (byte *****)(*(int *)(puStack_1170 + -0x7aac) + -0x7ee8);\n    iStack_112c = iStack_1108;\n    iStack_113c = iStack_1104;\n    param_3 = (byte *****)ppppbStack_1128;\n    iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,pppppbVar9);\n    pppppbVar2 = pppppbVar9;\n    puVar26 = auStack_1180;\n    if (-1 < iVar3) {\n      ppppbStack_1158 = apppbStack_1078;\n      pppppbVar14 = (byte *****)auStack_78;\n      ppppbStack_114c = appppbStack_1118[0];\n      iStack_1160 = iStack_1108;\n      ppppbStack_1148 = (byte ****)(*(int *)(puStack_1170 + -0x7f94) + -0x34d0);\n      pppbStack_1138 = (byte ***)0x0;\n      iStack_1164 = iStack_1104;\n      ppppbStack_1140 = (byte ****)0xe0;\n      ppppbStack_1124 = (byte ****)(*(int *)(puStack_1170 + -0x7f94) + -0x33ef);\n      unaff_s1 = (byte *****)ppppbStack_1158;\n      unaff_s6 = (byte *****)0x1001;\n      puVar26 = auStack_1180;\n      ppppbStack_1168 = (byte ****)pppppbVar14;\n      ppppbStack_1134 = ppppbStack_1148;\n      while (((ppppbStack_1120 != ppppbStack_114c || (iStack_112c != iStack_1160)) ||\n             (iStack_113c != iStack_1164))) {\n        pppppbVar12 = pppppbVar13;\n        pppppbVar10 = unaff_s1;\n        if (ppppbStack_1124 == ppppbStack_1134) {\n          param_1 = (byte *****)((int)ppppbStack_1140 * 2);\n          pppppbVar2 = (byte *****)((int)param_1 + 1);\n          if (ppppbStack_1124 == ppppbStack_1148) {\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(pppppbVar2);\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb48;\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,ppppbStack_1148,ppppbStack_1140);\n          }\n          else {\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(ppppbStack_1134);\n            puVar24 = puVar26;\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb18;\n          }\n          pppppbVar12 = (byte *****)ppppbStack_1140;\n          unaff_s3 = (byte *****)((int)pppppbVar9 + (int)ppppbStack_1140);\n          ppppbStack_1124 = (byte ****)unaff_s3;\n          (**(code **)(puStack_1170 + -0x605c))(unaff_s3,pppppbVar9,ppppbStack_1140);\n          *(byte *)((int)unaff_s3 + (int)pppppbVar12) = 0;\n          ppppbStack_1140 = (byte ****)param_1;\n          ppppbStack_1134 = (byte ****)pppppbVar9;\n        }\n        param_1 = (byte *****)((int)ppppbStack_1124 + -3);\n        pppppbVar2 = param_1;\n        param_3 = (byte *****)ppppbStack_1128;\n        ppppbStack_1124 = (byte ****)param_1;\n        iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,param_1);\n        pppppbVar13 = pppppbVar12;\n        puVar17 = puVar26;\n        if (iVar3 < 0) {\nLAB_000dfb00:\n          puVar26 = puVar17;\n          if ((ppppbStack_1134 != ppppbStack_1148) &&\n             (puVar24 = puVar17, (byte *****)ppppbStack_1134 != (byte *****)0x0)) {\nLAB_000dfb18:\n            pcVar16 = *(code **)(puStack_1170 + -0x6204);\n            puVar25 = puVar24;\nLAB_000dfb1c:\n            param_1 = (byte *****)(*pcVar16)();\n            ppppbVar11 = *param_1;\n            (**(code **)(puStack_1170 + -0x6044))(ppppbStack_1134);\n            *param_1 = ppppbVar11;\n            unaff_s1 = pppppbVar10;\n            puVar26 = puVar25;\n          }\n          goto LAB_000dfb48;\n        }\n        ppppbStack_1130 = appppbStack_1118[0];\n        iStack_1150 = iStack_1108;\n        iStack_1154 = iStack_1104;\n        iStack_111c = (**(code **)(puStack_1170 + -0x633c))(param_1);\n        if (iStack_111c == 0) goto LAB_000dfb00;\n        unaff_s3 = (byte *****)\n                   ((byte *)((int)ppppbStack_1134 + (int)ppppbStack_1140) + -(int)param_1);\n        unaff_s5 = (byte *****)((int)unaff_s3 + 1);\nLAB_000df8ec:\n        do {\n          pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n          do {\n            do {\n              piVar4 = (int *)(*pcVar16)(iStack_111c);\n              while( true ) {\n                if (piVar4 == (int *)0x0) {\n                  param_1 = (byte *****)(**(code **)(puStack_1170 + -0x6204))();\n                  ppppbVar11 = (byte ****)pppbStack_1138;\n                  if (*param_1 != (byte ****)0x0) {\n                    ppppbVar11 = *param_1;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  *param_1 = ppppbVar11;\n                  pppppbVar13 = pppppbVar12;\n                  goto LAB_000dfb00;\n                }\n                if (*(char *)((int)piVar4 + 0x13) != '.') break;\n                pppppbVar2 = (byte *****)0xffff0000;\n                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;\n                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;\n                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);\n              }\n            } while ((ppppbStack_1120 == ppppbStack_1130) &&\n                    ((pcVar16 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c))));\n            param_1 = (byte *****)((int)piVar4 + 0x13);\n            pppppbVar5 = (byte *****)(**(code **)(puStack_1170 + -0x61b0))(param_1);\n            iVar3 = -((uint)((byte *)((int)unaff_s5 + (int)pppppbVar5) + 8) & 0xfffffff8);\n            puVar18 = puVar17 + iVar3;\n            puVar19 = puVar17 + iVar3;\n            puVar20 = puVar17 + iVar3;\n            puVar25 = puVar17 + iVar3;\n            puVar21 = puVar17 + iVar3;\n            puVar26 = puVar17 + iVar3;\n            puVar22 = puVar17 + iVar3;\n            puVar24 = puVar17 + iVar3;\n            puVar23 = puVar17 + iVar3;\n            pppppbVar12 = (byte *****)(puVar17 + iVar3 + 0x10);\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar12,ppppbStack_1124,unaff_s3);\n            puVar15 = puStack_1170;\n            *(byte *)((int)pppppbVar12 + (int)unaff_s3) = 0x2f;\n            (**(code **)(puVar15 + -0x605c))\n                      ((byte *)((int)pppppbVar12 + (int)unaff_s5),param_1,\n                       (byte *)((int)pppppbVar5 + 1));\n            pppppbVar2 = pppppbVar12;\n            param_3 = (byte *****)ppppbStack_1128;\n            iVar6 = (**(code **)(puStack_1170 + -0x632c))(3,pppppbVar12);\n            if (iVar6 < 0) {\n              piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))();\n              pppbStack_1138 = (byte ***)*piVar4;\n            }\n            pppppbVar13 = (byte *****)ppppbStack_1158;\n            pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n            puVar17 = puVar17 + iVar3;\n          } while ((appppbStack_1118[0] != ppppbStack_1120) ||\n                  (puVar17 = puVar18, iStack_1108 != iStack_112c));\n          puVar17 = puVar19;\n        } while (iStack_1104 != iStack_113c);\n        pppppbVar9 = param_1;\n        unaff_s3 = (byte *****)((int)pppppbVar14 - (int)unaff_s1);\n        unaff_s5 = unaff_s6;\n        while (unaff_s3 <= pppppbVar5) {\n          unaff_s6 = (byte *****)((int)unaff_s5 << 1);\n          ppppbStack_1120 = (byte ****)pppppbVar9;\n          if (pppppbVar10 == pppppbVar13) {\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pppppbVar9 = (byte *****)0x0;\n              ppppbStack_44 = (byte ****)pppppbVar2;\n              if ((ppppbStack_1134 == ppppbStack_1148) ||\n                 (pppppbVar10 = (byte *****)ppppbStack_1158, puVar26 = puVar22,\n                 (byte *****)ppppbStack_1134 == (byte *****)0x0)) goto LAB_000dfb60;\n              goto LAB_000dfb18;\n            }\n          }\n          else {\n            pppppbVar2 = unaff_s6;\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(pppppbVar10,unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar20;\n              if (ppppbStack_1134 == ppppbStack_1148) goto LAB_000dfcc0;\n              pcVar16 = *(code **)(puStack_1170 + -0x6204);\n              if ((byte *****)ppppbStack_1134 != (byte *****)0x0) goto LAB_000dfb1c;\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar21;\n              goto LAB_000dfcc0;\n            }\n            pppppbVar14 = (byte *****)((int)unaff_s1 + (int)unaff_s3);\n          }\n          param_1 = (byte *****)((int)unaff_s5 + (int)unaff_s3);\n          param_3 = (byte *****)((int)unaff_s5 - (int)unaff_s3);\n          (**(code **)(puStack_1170 + -0x605c))((byte *****)((int)unaff_s1 + (int)param_1));\n          pppppbVar9 = (byte *****)ppppbStack_1120;\n          pppppbVar12 = pppppbVar13;\n          unaff_s3 = param_1;\n          pppppbVar2 = pppppbVar14;\n          pppppbVar10 = unaff_s1;\n          unaff_s5 = unaff_s6;\n          pppppbVar14 = (byte *****)((int)unaff_s1 + (int)param_1);\n        }\n        iVar3 = (**(code **)(puStack_1170 + -0x605c))((int)pppppbVar14 - (int)pppppbVar5);\n        pppppbVar14 = (byte *****)(iVar3 + -1);\n        pcVar16 = *(code **)(puStack_1170 + -0x6338);\n        *(undefined1 *)(iVar3 + -1) = 0x2f;\n        (*pcVar16)(iStack_111c);\n        iStack_112c = iStack_1150;\n        ppppbStack_1120 = ppppbStack_1130;\n        param_3 = pppppbVar5;\n        unaff_s1 = pppppbVar10;\n        pppppbVar13 = pppppbVar12;\n        unaff_s6 = unaff_s5;\n        puVar26 = puVar23;\n        iStack_113c = iStack_1154;\n      }\n      if (pppppbVar14 == (byte *****)ppppbStack_1168) {\n        pppppbVar14 = (byte *****)&uStack_79;\n        uStack_79 = 0x2f;\n      }\n      pppppbVar2 = pppppbVar9;\n      if (ppppbStack_1134 != ppppbStack_1148) {\n        (**(code **)(puStack_1170 + -0x6044))();\n        pppppbVar2 = pppppbVar9;\n      }\n      param_1 = (byte *****)((byte *)((int)unaff_s1 + (int)unaff_s6) + -(int)pppppbVar14);\n      if ((byte *****)ppppbStack_115c == (byte *****)0x0) {\n        if ((byte *****)ppppbStack_44 == (byte *****)0x0) {\n          pcVar16 = *(code **)(puStack_1170 + -0x6158);\n          ppppbStack_44 = (byte ****)param_1;\n        }\n        else {\n          pcVar16 = *(code **)(puStack_1170 + -0x6158);\n          if (ppppbStack_44 < param_1) goto LAB_000dfda0;\n        }\n        pppppbVar9 = (byte *****)(*pcVar16)(ppppbStack_44);\n        if (pppppbVar9 != (byte *****)0x0) goto LAB_000dfc70;\n      }\n      else {\n        pppppbVar9 = (byte *****)ppppbStack_115c;\n        if (param_1 <= ppppbStack_44) {\nLAB_000dfc70:\n          param_3 = param_1;\n          (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,pppppbVar14);\n          ppppbStack_44 = (byte ****)pppppbVar14;\n          if (unaff_s1 != (byte *****)ppppbStack_1158) {\n            (**(code **)(puStack_1170 + -0x6044))(unaff_s1);\n            ppppbStack_44 = (byte ****)pppppbVar14;\n          }\n          goto LAB_000dfb60;\n        }\nLAB_000dfda0:\n        puVar7 = (undefined4 *)(**(code **)(puStack_1170 + -0x6204))();\n        *puVar7 = 0x22;\n      }\nLAB_000dfb48:\n      pppppbVar9 = (byte *****)0x0;\n      ppppbStack_44 = (byte ****)pppppbVar2;\n      if (unaff_s1 == (byte *****)ppppbStack_1158) goto LAB_000dfb60;\n      pcVar16 = *(code **)(puStack_1170 + -0x6044);\n      pppppbVar10 = unaff_s1;\n      if (unaff_s1 != (byte *****)0x0) {\nLAB_000dfcc0:\n        (*pcVar16)(pppppbVar10);\n        unaff_s1 = pppppbVar10;\n      }\n    }\n  }" { (expression_statement "ppppbStack_1120 = appppbStack_1118[0];" (assignment_expression "ppppbStack_1120 = appppbStack_1118[0]" identifier = (subscript_expression "appppbStack_1118[0]" identifier [ number_literal ])) ;) (expression_statement "pppppbVar9 = (byte *****)(*(int *)(puStack_1170 + -0x7aac) + -0x7ee8);" (assignment_expression "pppppbVar9 = (byte *****)(*(int *)(puStack_1170 + -0x7aac) + -0x7ee8)" identifier = (cast_expression "(byte *****)(*(int *)(puStack_1170 + -0x7aac) + -0x7ee8)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(*(int *)(puStack_1170 + -0x7aac) + -0x7ee8)" ( (binary_expression "*(int *)(puStack_1170 + -0x7aac) + -0x7ee8" (pointer_expression "*(int *)(puStack_1170 + -0x7aac)" * (cast_expression "(int *)(puStack_1170 + -0x7aac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_1170 + -0x7aac)" ( (binary_expression "puStack_1170 + -0x7aac" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "iStack_112c = iStack_1108;" (assignment_expression "iStack_112c = iStack_1108" identifier = identifier) ;) (expression_statement "iStack_113c = iStack_1104;" (assignment_expression "iStack_113c = iStack_1104" identifier = identifier) ;) (expression_statement "param_3 = (byte *****)ppppbStack_1128;" (assignment_expression "param_3 = (byte *****)ppppbStack_1128" identifier = (cast_expression "(byte *****)ppppbStack_1128" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,pppppbVar9);" (assignment_expression "iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,pppppbVar9)" identifier = (call_expression "(**(code **)(puStack_1170 + -0x630c))(3,pppppbVar9)" (parenthesized_expression "(**(code **)(puStack_1170 + -0x630c))" ( (pointer_expression "**(code **)(puStack_1170 + -0x630c)" * (pointer_expression "*(code **)(puStack_1170 + -0x630c)" * (cast_expression "(code **)(puStack_1170 + -0x630c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x630c)" ( (binary_expression "puStack_1170 + -0x630c" identifier + number_literal) ))))) )) (argument_list "(3,pppppbVar9)" ( number_literal , identifier )))) ;) (expression_statement "pppppbVar2 = pppppbVar9;" (assignment_expression "pppppbVar2 = pppppbVar9" identifier = identifier) ;) (expression_statement "puVar26 = auStack_1180;" (assignment_expression "puVar26 = auStack_1180" identifier = identifier) ;) (if_statement "if (-1 < iVar3) {\n      ppppbStack_1158 = apppbStack_1078;\n      pppppbVar14 = (byte *****)auStack_78;\n      ppppbStack_114c = appppbStack_1118[0];\n      iStack_1160 = iStack_1108;\n      ppppbStack_1148 = (byte ****)(*(int *)(puStack_1170 + -0x7f94) + -0x34d0);\n      pppbStack_1138 = (byte ***)0x0;\n      iStack_1164 = iStack_1104;\n      ppppbStack_1140 = (byte ****)0xe0;\n      ppppbStack_1124 = (byte ****)(*(int *)(puStack_1170 + -0x7f94) + -0x33ef);\n      unaff_s1 = (byte *****)ppppbStack_1158;\n      unaff_s6 = (byte *****)0x1001;\n      puVar26 = auStack_1180;\n      ppppbStack_1168 = (byte ****)pppppbVar14;\n      ppppbStack_1134 = ppppbStack_1148;\n      while (((ppppbStack_1120 != ppppbStack_114c || (iStack_112c != iStack_1160)) ||\n             (iStack_113c != iStack_1164))) {\n        pppppbVar12 = pppppbVar13;\n        pppppbVar10 = unaff_s1;\n        if (ppppbStack_1124 == ppppbStack_1134) {\n          param_1 = (byte *****)((int)ppppbStack_1140 * 2);\n          pppppbVar2 = (byte *****)((int)param_1 + 1);\n          if (ppppbStack_1124 == ppppbStack_1148) {\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(pppppbVar2);\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb48;\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,ppppbStack_1148,ppppbStack_1140);\n          }\n          else {\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(ppppbStack_1134);\n            puVar24 = puVar26;\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb18;\n          }\n          pppppbVar12 = (byte *****)ppppbStack_1140;\n          unaff_s3 = (byte *****)((int)pppppbVar9 + (int)ppppbStack_1140);\n          ppppbStack_1124 = (byte ****)unaff_s3;\n          (**(code **)(puStack_1170 + -0x605c))(unaff_s3,pppppbVar9,ppppbStack_1140);\n          *(byte *)((int)unaff_s3 + (int)pppppbVar12) = 0;\n          ppppbStack_1140 = (byte ****)param_1;\n          ppppbStack_1134 = (byte ****)pppppbVar9;\n        }\n        param_1 = (byte *****)((int)ppppbStack_1124 + -3);\n        pppppbVar2 = param_1;\n        param_3 = (byte *****)ppppbStack_1128;\n        ppppbStack_1124 = (byte ****)param_1;\n        iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,param_1);\n        pppppbVar13 = pppppbVar12;\n        puVar17 = puVar26;\n        if (iVar3 < 0) {\nLAB_000dfb00:\n          puVar26 = puVar17;\n          if ((ppppbStack_1134 != ppppbStack_1148) &&\n             (puVar24 = puVar17, (byte *****)ppppbStack_1134 != (byte *****)0x0)) {\nLAB_000dfb18:\n            pcVar16 = *(code **)(puStack_1170 + -0x6204);\n            puVar25 = puVar24;\nLAB_000dfb1c:\n            param_1 = (byte *****)(*pcVar16)();\n            ppppbVar11 = *param_1;\n            (**(code **)(puStack_1170 + -0x6044))(ppppbStack_1134);\n            *param_1 = ppppbVar11;\n            unaff_s1 = pppppbVar10;\n            puVar26 = puVar25;\n          }\n          goto LAB_000dfb48;\n        }\n        ppppbStack_1130 = appppbStack_1118[0];\n        iStack_1150 = iStack_1108;\n        iStack_1154 = iStack_1104;\n        iStack_111c = (**(code **)(puStack_1170 + -0x633c))(param_1);\n        if (iStack_111c == 0) goto LAB_000dfb00;\n        unaff_s3 = (byte *****)\n                   ((byte *)((int)ppppbStack_1134 + (int)ppppbStack_1140) + -(int)param_1);\n        unaff_s5 = (byte *****)((int)unaff_s3 + 1);\nLAB_000df8ec:\n        do {\n          pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n          do {\n            do {\n              piVar4 = (int *)(*pcVar16)(iStack_111c);\n              while( true ) {\n                if (piVar4 == (int *)0x0) {\n                  param_1 = (byte *****)(**(code **)(puStack_1170 + -0x6204))();\n                  ppppbVar11 = (byte ****)pppbStack_1138;\n                  if (*param_1 != (byte ****)0x0) {\n                    ppppbVar11 = *param_1;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  *param_1 = ppppbVar11;\n                  pppppbVar13 = pppppbVar12;\n                  goto LAB_000dfb00;\n                }\n                if (*(char *)((int)piVar4 + 0x13) != '.') break;\n                pppppbVar2 = (byte *****)0xffff0000;\n                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;\n                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;\n                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);\n              }\n            } while ((ppppbStack_1120 == ppppbStack_1130) &&\n                    ((pcVar16 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c))));\n            param_1 = (byte *****)((int)piVar4 + 0x13);\n            pppppbVar5 = (byte *****)(**(code **)(puStack_1170 + -0x61b0))(param_1);\n            iVar3 = -((uint)((byte *)((int)unaff_s5 + (int)pppppbVar5) + 8) & 0xfffffff8);\n            puVar18 = puVar17 + iVar3;\n            puVar19 = puVar17 + iVar3;\n            puVar20 = puVar17 + iVar3;\n            puVar25 = puVar17 + iVar3;\n            puVar21 = puVar17 + iVar3;\n            puVar26 = puVar17 + iVar3;\n            puVar22 = puVar17 + iVar3;\n            puVar24 = puVar17 + iVar3;\n            puVar23 = puVar17 + iVar3;\n            pppppbVar12 = (byte *****)(puVar17 + iVar3 + 0x10);\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar12,ppppbStack_1124,unaff_s3);\n            puVar15 = puStack_1170;\n            *(byte *)((int)pppppbVar12 + (int)unaff_s3) = 0x2f;\n            (**(code **)(puVar15 + -0x605c))\n                      ((byte *)((int)pppppbVar12 + (int)unaff_s5),param_1,\n                       (byte *)((int)pppppbVar5 + 1));\n            pppppbVar2 = pppppbVar12;\n            param_3 = (byte *****)ppppbStack_1128;\n            iVar6 = (**(code **)(puStack_1170 + -0x632c))(3,pppppbVar12);\n            if (iVar6 < 0) {\n              piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))();\n              pppbStack_1138 = (byte ***)*piVar4;\n            }\n            pppppbVar13 = (byte *****)ppppbStack_1158;\n            pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n            puVar17 = puVar17 + iVar3;\n          } while ((appppbStack_1118[0] != ppppbStack_1120) ||\n                  (puVar17 = puVar18, iStack_1108 != iStack_112c));\n          puVar17 = puVar19;\n        } while (iStack_1104 != iStack_113c);\n        pppppbVar9 = param_1;\n        unaff_s3 = (byte *****)((int)pppppbVar14 - (int)unaff_s1);\n        unaff_s5 = unaff_s6;\n        while (unaff_s3 <= pppppbVar5) {\n          unaff_s6 = (byte *****)((int)unaff_s5 << 1);\n          ppppbStack_1120 = (byte ****)pppppbVar9;\n          if (pppppbVar10 == pppppbVar13) {\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pppppbVar9 = (byte *****)0x0;\n              ppppbStack_44 = (byte ****)pppppbVar2;\n              if ((ppppbStack_1134 == ppppbStack_1148) ||\n                 (pppppbVar10 = (byte *****)ppppbStack_1158, puVar26 = puVar22,\n                 (byte *****)ppppbStack_1134 == (byte *****)0x0)) goto LAB_000dfb60;\n              goto LAB_000dfb18;\n            }\n          }\n          else {\n            pppppbVar2 = unaff_s6;\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(pppppbVar10,unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar20;\n              if (ppppbStack_1134 == ppppbStack_1148) goto LAB_000dfcc0;\n              pcVar16 = *(code **)(puStack_1170 + -0x6204);\n              if ((byte *****)ppppbStack_1134 != (byte *****)0x0) goto LAB_000dfb1c;\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar21;\n              goto LAB_000dfcc0;\n            }\n            pppppbVar14 = (byte *****)((int)unaff_s1 + (int)unaff_s3);\n          }\n          param_1 = (byte *****)((int)unaff_s5 + (int)unaff_s3);\n          param_3 = (byte *****)((int)unaff_s5 - (int)unaff_s3);\n          (**(code **)(puStack_1170 + -0x605c))((byte *****)((int)unaff_s1 + (int)param_1));\n          pppppbVar9 = (byte *****)ppppbStack_1120;\n          pppppbVar12 = pppppbVar13;\n          unaff_s3 = param_1;\n          pppppbVar2 = pppppbVar14;\n          pppppbVar10 = unaff_s1;\n          unaff_s5 = unaff_s6;\n          pppppbVar14 = (byte *****)((int)unaff_s1 + (int)param_1);\n        }\n        iVar3 = (**(code **)(puStack_1170 + -0x605c))((int)pppppbVar14 - (int)pppppbVar5);\n        pppppbVar14 = (byte *****)(iVar3 + -1);\n        pcVar16 = *(code **)(puStack_1170 + -0x6338);\n        *(undefined1 *)(iVar3 + -1) = 0x2f;\n        (*pcVar16)(iStack_111c);\n        iStack_112c = iStack_1150;\n        ppppbStack_1120 = ppppbStack_1130;\n        param_3 = pppppbVar5;\n        unaff_s1 = pppppbVar10;\n        pppppbVar13 = pppppbVar12;\n        unaff_s6 = unaff_s5;\n        puVar26 = puVar23;\n        iStack_113c = iStack_1154;\n      }\n      if (pppppbVar14 == (byte *****)ppppbStack_1168) {\n        pppppbVar14 = (byte *****)&uStack_79;\n        uStack_79 = 0x2f;\n      }\n      pppppbVar2 = pppppbVar9;\n      if (ppppbStack_1134 != ppppbStack_1148) {\n        (**(code **)(puStack_1170 + -0x6044))();\n        pppppbVar2 = pppppbVar9;\n      }\n      param_1 = (byte *****)((byte *)((int)unaff_s1 + (int)unaff_s6) + -(int)pppppbVar14);\n      if ((byte *****)ppppbStack_115c == (byte *****)0x0) {\n        if ((byte *****)ppppbStack_44 == (byte *****)0x0) {\n          pcVar16 = *(code **)(puStack_1170 + -0x6158);\n          ppppbStack_44 = (byte ****)param_1;\n        }\n        else {\n          pcVar16 = *(code **)(puStack_1170 + -0x6158);\n          if (ppppbStack_44 < param_1) goto LAB_000dfda0;\n        }\n        pppppbVar9 = (byte *****)(*pcVar16)(ppppbStack_44);\n        if (pppppbVar9 != (byte *****)0x0) goto LAB_000dfc70;\n      }\n      else {\n        pppppbVar9 = (byte *****)ppppbStack_115c;\n        if (param_1 <= ppppbStack_44) {\nLAB_000dfc70:\n          param_3 = param_1;\n          (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,pppppbVar14);\n          ppppbStack_44 = (byte ****)pppppbVar14;\n          if (unaff_s1 != (byte *****)ppppbStack_1158) {\n            (**(code **)(puStack_1170 + -0x6044))(unaff_s1);\n            ppppbStack_44 = (byte ****)pppppbVar14;\n          }\n          goto LAB_000dfb60;\n        }\nLAB_000dfda0:\n        puVar7 = (undefined4 *)(**(code **)(puStack_1170 + -0x6204))();\n        *puVar7 = 0x22;\n      }\nLAB_000dfb48:\n      pppppbVar9 = (byte *****)0x0;\n      ppppbStack_44 = (byte ****)pppppbVar2;\n      if (unaff_s1 == (byte *****)ppppbStack_1158) goto LAB_000dfb60;\n      pcVar16 = *(code **)(puStack_1170 + -0x6044);\n      pppppbVar10 = unaff_s1;\n      if (unaff_s1 != (byte *****)0x0) {\nLAB_000dfcc0:\n        (*pcVar16)(pppppbVar10);\n        unaff_s1 = pppppbVar10;\n      }\n    }" if (parenthesized_expression "(-1 < iVar3)" ( (binary_expression "-1 < iVar3" number_literal < identifier) )) (compound_statement "{\n      ppppbStack_1158 = apppbStack_1078;\n      pppppbVar14 = (byte *****)auStack_78;\n      ppppbStack_114c = appppbStack_1118[0];\n      iStack_1160 = iStack_1108;\n      ppppbStack_1148 = (byte ****)(*(int *)(puStack_1170 + -0x7f94) + -0x34d0);\n      pppbStack_1138 = (byte ***)0x0;\n      iStack_1164 = iStack_1104;\n      ppppbStack_1140 = (byte ****)0xe0;\n      ppppbStack_1124 = (byte ****)(*(int *)(puStack_1170 + -0x7f94) + -0x33ef);\n      unaff_s1 = (byte *****)ppppbStack_1158;\n      unaff_s6 = (byte *****)0x1001;\n      puVar26 = auStack_1180;\n      ppppbStack_1168 = (byte ****)pppppbVar14;\n      ppppbStack_1134 = ppppbStack_1148;\n      while (((ppppbStack_1120 != ppppbStack_114c || (iStack_112c != iStack_1160)) ||\n             (iStack_113c != iStack_1164))) {\n        pppppbVar12 = pppppbVar13;\n        pppppbVar10 = unaff_s1;\n        if (ppppbStack_1124 == ppppbStack_1134) {\n          param_1 = (byte *****)((int)ppppbStack_1140 * 2);\n          pppppbVar2 = (byte *****)((int)param_1 + 1);\n          if (ppppbStack_1124 == ppppbStack_1148) {\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(pppppbVar2);\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb48;\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,ppppbStack_1148,ppppbStack_1140);\n          }\n          else {\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(ppppbStack_1134);\n            puVar24 = puVar26;\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb18;\n          }\n          pppppbVar12 = (byte *****)ppppbStack_1140;\n          unaff_s3 = (byte *****)((int)pppppbVar9 + (int)ppppbStack_1140);\n          ppppbStack_1124 = (byte ****)unaff_s3;\n          (**(code **)(puStack_1170 + -0x605c))(unaff_s3,pppppbVar9,ppppbStack_1140);\n          *(byte *)((int)unaff_s3 + (int)pppppbVar12) = 0;\n          ppppbStack_1140 = (byte ****)param_1;\n          ppppbStack_1134 = (byte ****)pppppbVar9;\n        }\n        param_1 = (byte *****)((int)ppppbStack_1124 + -3);\n        pppppbVar2 = param_1;\n        param_3 = (byte *****)ppppbStack_1128;\n        ppppbStack_1124 = (byte ****)param_1;\n        iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,param_1);\n        pppppbVar13 = pppppbVar12;\n        puVar17 = puVar26;\n        if (iVar3 < 0) {\nLAB_000dfb00:\n          puVar26 = puVar17;\n          if ((ppppbStack_1134 != ppppbStack_1148) &&\n             (puVar24 = puVar17, (byte *****)ppppbStack_1134 != (byte *****)0x0)) {\nLAB_000dfb18:\n            pcVar16 = *(code **)(puStack_1170 + -0x6204);\n            puVar25 = puVar24;\nLAB_000dfb1c:\n            param_1 = (byte *****)(*pcVar16)();\n            ppppbVar11 = *param_1;\n            (**(code **)(puStack_1170 + -0x6044))(ppppbStack_1134);\n            *param_1 = ppppbVar11;\n            unaff_s1 = pppppbVar10;\n            puVar26 = puVar25;\n          }\n          goto LAB_000dfb48;\n        }\n        ppppbStack_1130 = appppbStack_1118[0];\n        iStack_1150 = iStack_1108;\n        iStack_1154 = iStack_1104;\n        iStack_111c = (**(code **)(puStack_1170 + -0x633c))(param_1);\n        if (iStack_111c == 0) goto LAB_000dfb00;\n        unaff_s3 = (byte *****)\n                   ((byte *)((int)ppppbStack_1134 + (int)ppppbStack_1140) + -(int)param_1);\n        unaff_s5 = (byte *****)((int)unaff_s3 + 1);\nLAB_000df8ec:\n        do {\n          pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n          do {\n            do {\n              piVar4 = (int *)(*pcVar16)(iStack_111c);\n              while( true ) {\n                if (piVar4 == (int *)0x0) {\n                  param_1 = (byte *****)(**(code **)(puStack_1170 + -0x6204))();\n                  ppppbVar11 = (byte ****)pppbStack_1138;\n                  if (*param_1 != (byte ****)0x0) {\n                    ppppbVar11 = *param_1;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  *param_1 = ppppbVar11;\n                  pppppbVar13 = pppppbVar12;\n                  goto LAB_000dfb00;\n                }\n                if (*(char *)((int)piVar4 + 0x13) != '.') break;\n                pppppbVar2 = (byte *****)0xffff0000;\n                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;\n                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;\n                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);\n              }\n            } while ((ppppbStack_1120 == ppppbStack_1130) &&\n                    ((pcVar16 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c))));\n            param_1 = (byte *****)((int)piVar4 + 0x13);\n            pppppbVar5 = (byte *****)(**(code **)(puStack_1170 + -0x61b0))(param_1);\n            iVar3 = -((uint)((byte *)((int)unaff_s5 + (int)pppppbVar5) + 8) & 0xfffffff8);\n            puVar18 = puVar17 + iVar3;\n            puVar19 = puVar17 + iVar3;\n            puVar20 = puVar17 + iVar3;\n            puVar25 = puVar17 + iVar3;\n            puVar21 = puVar17 + iVar3;\n            puVar26 = puVar17 + iVar3;\n            puVar22 = puVar17 + iVar3;\n            puVar24 = puVar17 + iVar3;\n            puVar23 = puVar17 + iVar3;\n            pppppbVar12 = (byte *****)(puVar17 + iVar3 + 0x10);\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar12,ppppbStack_1124,unaff_s3);\n            puVar15 = puStack_1170;\n            *(byte *)((int)pppppbVar12 + (int)unaff_s3) = 0x2f;\n            (**(code **)(puVar15 + -0x605c))\n                      ((byte *)((int)pppppbVar12 + (int)unaff_s5),param_1,\n                       (byte *)((int)pppppbVar5 + 1));\n            pppppbVar2 = pppppbVar12;\n            param_3 = (byte *****)ppppbStack_1128;\n            iVar6 = (**(code **)(puStack_1170 + -0x632c))(3,pppppbVar12);\n            if (iVar6 < 0) {\n              piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))();\n              pppbStack_1138 = (byte ***)*piVar4;\n            }\n            pppppbVar13 = (byte *****)ppppbStack_1158;\n            pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n            puVar17 = puVar17 + iVar3;\n          } while ((appppbStack_1118[0] != ppppbStack_1120) ||\n                  (puVar17 = puVar18, iStack_1108 != iStack_112c));\n          puVar17 = puVar19;\n        } while (iStack_1104 != iStack_113c);\n        pppppbVar9 = param_1;\n        unaff_s3 = (byte *****)((int)pppppbVar14 - (int)unaff_s1);\n        unaff_s5 = unaff_s6;\n        while (unaff_s3 <= pppppbVar5) {\n          unaff_s6 = (byte *****)((int)unaff_s5 << 1);\n          ppppbStack_1120 = (byte ****)pppppbVar9;\n          if (pppppbVar10 == pppppbVar13) {\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pppppbVar9 = (byte *****)0x0;\n              ppppbStack_44 = (byte ****)pppppbVar2;\n              if ((ppppbStack_1134 == ppppbStack_1148) ||\n                 (pppppbVar10 = (byte *****)ppppbStack_1158, puVar26 = puVar22,\n                 (byte *****)ppppbStack_1134 == (byte *****)0x0)) goto LAB_000dfb60;\n              goto LAB_000dfb18;\n            }\n          }\n          else {\n            pppppbVar2 = unaff_s6;\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(pppppbVar10,unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar20;\n              if (ppppbStack_1134 == ppppbStack_1148) goto LAB_000dfcc0;\n              pcVar16 = *(code **)(puStack_1170 + -0x6204);\n              if ((byte *****)ppppbStack_1134 != (byte *****)0x0) goto LAB_000dfb1c;\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar21;\n              goto LAB_000dfcc0;\n            }\n            pppppbVar14 = (byte *****)((int)unaff_s1 + (int)unaff_s3);\n          }\n          param_1 = (byte *****)((int)unaff_s5 + (int)unaff_s3);\n          param_3 = (byte *****)((int)unaff_s5 - (int)unaff_s3);\n          (**(code **)(puStack_1170 + -0x605c))((byte *****)((int)unaff_s1 + (int)param_1));\n          pppppbVar9 = (byte *****)ppppbStack_1120;\n          pppppbVar12 = pppppbVar13;\n          unaff_s3 = param_1;\n          pppppbVar2 = pppppbVar14;\n          pppppbVar10 = unaff_s1;\n          unaff_s5 = unaff_s6;\n          pppppbVar14 = (byte *****)((int)unaff_s1 + (int)param_1);\n        }\n        iVar3 = (**(code **)(puStack_1170 + -0x605c))((int)pppppbVar14 - (int)pppppbVar5);\n        pppppbVar14 = (byte *****)(iVar3 + -1);\n        pcVar16 = *(code **)(puStack_1170 + -0x6338);\n        *(undefined1 *)(iVar3 + -1) = 0x2f;\n        (*pcVar16)(iStack_111c);\n        iStack_112c = iStack_1150;\n        ppppbStack_1120 = ppppbStack_1130;\n        param_3 = pppppbVar5;\n        unaff_s1 = pppppbVar10;\n        pppppbVar13 = pppppbVar12;\n        unaff_s6 = unaff_s5;\n        puVar26 = puVar23;\n        iStack_113c = iStack_1154;\n      }\n      if (pppppbVar14 == (byte *****)ppppbStack_1168) {\n        pppppbVar14 = (byte *****)&uStack_79;\n        uStack_79 = 0x2f;\n      }\n      pppppbVar2 = pppppbVar9;\n      if (ppppbStack_1134 != ppppbStack_1148) {\n        (**(code **)(puStack_1170 + -0x6044))();\n        pppppbVar2 = pppppbVar9;\n      }\n      param_1 = (byte *****)((byte *)((int)unaff_s1 + (int)unaff_s6) + -(int)pppppbVar14);\n      if ((byte *****)ppppbStack_115c == (byte *****)0x0) {\n        if ((byte *****)ppppbStack_44 == (byte *****)0x0) {\n          pcVar16 = *(code **)(puStack_1170 + -0x6158);\n          ppppbStack_44 = (byte ****)param_1;\n        }\n        else {\n          pcVar16 = *(code **)(puStack_1170 + -0x6158);\n          if (ppppbStack_44 < param_1) goto LAB_000dfda0;\n        }\n        pppppbVar9 = (byte *****)(*pcVar16)(ppppbStack_44);\n        if (pppppbVar9 != (byte *****)0x0) goto LAB_000dfc70;\n      }\n      else {\n        pppppbVar9 = (byte *****)ppppbStack_115c;\n        if (param_1 <= ppppbStack_44) {\nLAB_000dfc70:\n          param_3 = param_1;\n          (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,pppppbVar14);\n          ppppbStack_44 = (byte ****)pppppbVar14;\n          if (unaff_s1 != (byte *****)ppppbStack_1158) {\n            (**(code **)(puStack_1170 + -0x6044))(unaff_s1);\n            ppppbStack_44 = (byte ****)pppppbVar14;\n          }\n          goto LAB_000dfb60;\n        }\nLAB_000dfda0:\n        puVar7 = (undefined4 *)(**(code **)(puStack_1170 + -0x6204))();\n        *puVar7 = 0x22;\n      }\nLAB_000dfb48:\n      pppppbVar9 = (byte *****)0x0;\n      ppppbStack_44 = (byte ****)pppppbVar2;\n      if (unaff_s1 == (byte *****)ppppbStack_1158) goto LAB_000dfb60;\n      pcVar16 = *(code **)(puStack_1170 + -0x6044);\n      pppppbVar10 = unaff_s1;\n      if (unaff_s1 != (byte *****)0x0) {\nLAB_000dfcc0:\n        (*pcVar16)(pppppbVar10);\n        unaff_s1 = pppppbVar10;\n      }\n    }" { (expression_statement "ppppbStack_1158 = apppbStack_1078;" (assignment_expression "ppppbStack_1158 = apppbStack_1078" identifier = identifier) ;) (expression_statement "pppppbVar14 = (byte *****)auStack_78;" (assignment_expression "pppppbVar14 = (byte *****)auStack_78" identifier = (cast_expression "(byte *****)auStack_78" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "ppppbStack_114c = appppbStack_1118[0];" (assignment_expression "ppppbStack_114c = appppbStack_1118[0]" identifier = (subscript_expression "appppbStack_1118[0]" identifier [ number_literal ])) ;) (expression_statement "iStack_1160 = iStack_1108;" (assignment_expression "iStack_1160 = iStack_1108" identifier = identifier) ;) (expression_statement "ppppbStack_1148 = (byte ****)(*(int *)(puStack_1170 + -0x7f94) + -0x34d0);" (assignment_expression "ppppbStack_1148 = (byte ****)(*(int *)(puStack_1170 + -0x7f94) + -0x34d0)" identifier = (cast_expression "(byte ****)(*(int *)(puStack_1170 + -0x7f94) + -0x34d0)" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(*(int *)(puStack_1170 + -0x7f94) + -0x34d0)" ( (binary_expression "*(int *)(puStack_1170 + -0x7f94) + -0x34d0" (pointer_expression "*(int *)(puStack_1170 + -0x7f94)" * (cast_expression "(int *)(puStack_1170 + -0x7f94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_1170 + -0x7f94)" ( (binary_expression "puStack_1170 + -0x7f94" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pppbStack_1138 = (byte ***)0x0;" (assignment_expression "pppbStack_1138 = (byte ***)0x0" identifier = (cast_expression "(byte ***)0x0" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) number_literal)) ;) (expression_statement "iStack_1164 = iStack_1104;" (assignment_expression "iStack_1164 = iStack_1104" identifier = identifier) ;) (expression_statement "ppppbStack_1140 = (byte ****)0xe0;" (assignment_expression "ppppbStack_1140 = (byte ****)0xe0" identifier = (cast_expression "(byte ****)0xe0" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) ;) (expression_statement "ppppbStack_1124 = (byte ****)(*(int *)(puStack_1170 + -0x7f94) + -0x33ef);" (assignment_expression "ppppbStack_1124 = (byte ****)(*(int *)(puStack_1170 + -0x7f94) + -0x33ef)" identifier = (cast_expression "(byte ****)(*(int *)(puStack_1170 + -0x7f94) + -0x33ef)" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(*(int *)(puStack_1170 + -0x7f94) + -0x33ef)" ( (binary_expression "*(int *)(puStack_1170 + -0x7f94) + -0x33ef" (pointer_expression "*(int *)(puStack_1170 + -0x7f94)" * (cast_expression "(int *)(puStack_1170 + -0x7f94)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puStack_1170 + -0x7f94)" ( (binary_expression "puStack_1170 + -0x7f94" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "unaff_s1 = (byte *****)ppppbStack_1158;" (assignment_expression "unaff_s1 = (byte *****)ppppbStack_1158" identifier = (cast_expression "(byte *****)ppppbStack_1158" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "unaff_s6 = (byte *****)0x1001;" (assignment_expression "unaff_s6 = (byte *****)0x1001" identifier = (cast_expression "(byte *****)0x1001" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "puVar26 = auStack_1180;" (assignment_expression "puVar26 = auStack_1180" identifier = identifier) ;) (expression_statement "ppppbStack_1168 = (byte ****)pppppbVar14;" (assignment_expression "ppppbStack_1168 = (byte ****)pppppbVar14" identifier = (cast_expression "(byte ****)pppppbVar14" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "ppppbStack_1134 = ppppbStack_1148;" (assignment_expression "ppppbStack_1134 = ppppbStack_1148" identifier = identifier) ;) (while_statement "while (((ppppbStack_1120 != ppppbStack_114c || (iStack_112c != iStack_1160)) ||\n             (iStack_113c != iStack_1164))) {\n        pppppbVar12 = pppppbVar13;\n        pppppbVar10 = unaff_s1;\n        if (ppppbStack_1124 == ppppbStack_1134) {\n          param_1 = (byte *****)((int)ppppbStack_1140 * 2);\n          pppppbVar2 = (byte *****)((int)param_1 + 1);\n          if (ppppbStack_1124 == ppppbStack_1148) {\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(pppppbVar2);\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb48;\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,ppppbStack_1148,ppppbStack_1140);\n          }\n          else {\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(ppppbStack_1134);\n            puVar24 = puVar26;\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb18;\n          }\n          pppppbVar12 = (byte *****)ppppbStack_1140;\n          unaff_s3 = (byte *****)((int)pppppbVar9 + (int)ppppbStack_1140);\n          ppppbStack_1124 = (byte ****)unaff_s3;\n          (**(code **)(puStack_1170 + -0x605c))(unaff_s3,pppppbVar9,ppppbStack_1140);\n          *(byte *)((int)unaff_s3 + (int)pppppbVar12) = 0;\n          ppppbStack_1140 = (byte ****)param_1;\n          ppppbStack_1134 = (byte ****)pppppbVar9;\n        }\n        param_1 = (byte *****)((int)ppppbStack_1124 + -3);\n        pppppbVar2 = param_1;\n        param_3 = (byte *****)ppppbStack_1128;\n        ppppbStack_1124 = (byte ****)param_1;\n        iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,param_1);\n        pppppbVar13 = pppppbVar12;\n        puVar17 = puVar26;\n        if (iVar3 < 0) {\nLAB_000dfb00:\n          puVar26 = puVar17;\n          if ((ppppbStack_1134 != ppppbStack_1148) &&\n             (puVar24 = puVar17, (byte *****)ppppbStack_1134 != (byte *****)0x0)) {\nLAB_000dfb18:\n            pcVar16 = *(code **)(puStack_1170 + -0x6204);\n            puVar25 = puVar24;\nLAB_000dfb1c:\n            param_1 = (byte *****)(*pcVar16)();\n            ppppbVar11 = *param_1;\n            (**(code **)(puStack_1170 + -0x6044))(ppppbStack_1134);\n            *param_1 = ppppbVar11;\n            unaff_s1 = pppppbVar10;\n            puVar26 = puVar25;\n          }\n          goto LAB_000dfb48;\n        }\n        ppppbStack_1130 = appppbStack_1118[0];\n        iStack_1150 = iStack_1108;\n        iStack_1154 = iStack_1104;\n        iStack_111c = (**(code **)(puStack_1170 + -0x633c))(param_1);\n        if (iStack_111c == 0) goto LAB_000dfb00;\n        unaff_s3 = (byte *****)\n                   ((byte *)((int)ppppbStack_1134 + (int)ppppbStack_1140) + -(int)param_1);\n        unaff_s5 = (byte *****)((int)unaff_s3 + 1);\nLAB_000df8ec:\n        do {\n          pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n          do {\n            do {\n              piVar4 = (int *)(*pcVar16)(iStack_111c);\n              while( true ) {\n                if (piVar4 == (int *)0x0) {\n                  param_1 = (byte *****)(**(code **)(puStack_1170 + -0x6204))();\n                  ppppbVar11 = (byte ****)pppbStack_1138;\n                  if (*param_1 != (byte ****)0x0) {\n                    ppppbVar11 = *param_1;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  *param_1 = ppppbVar11;\n                  pppppbVar13 = pppppbVar12;\n                  goto LAB_000dfb00;\n                }\n                if (*(char *)((int)piVar4 + 0x13) != '.') break;\n                pppppbVar2 = (byte *****)0xffff0000;\n                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;\n                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;\n                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);\n              }\n            } while ((ppppbStack_1120 == ppppbStack_1130) &&\n                    ((pcVar16 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c))));\n            param_1 = (byte *****)((int)piVar4 + 0x13);\n            pppppbVar5 = (byte *****)(**(code **)(puStack_1170 + -0x61b0))(param_1);\n            iVar3 = -((uint)((byte *)((int)unaff_s5 + (int)pppppbVar5) + 8) & 0xfffffff8);\n            puVar18 = puVar17 + iVar3;\n            puVar19 = puVar17 + iVar3;\n            puVar20 = puVar17 + iVar3;\n            puVar25 = puVar17 + iVar3;\n            puVar21 = puVar17 + iVar3;\n            puVar26 = puVar17 + iVar3;\n            puVar22 = puVar17 + iVar3;\n            puVar24 = puVar17 + iVar3;\n            puVar23 = puVar17 + iVar3;\n            pppppbVar12 = (byte *****)(puVar17 + iVar3 + 0x10);\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar12,ppppbStack_1124,unaff_s3);\n            puVar15 = puStack_1170;\n            *(byte *)((int)pppppbVar12 + (int)unaff_s3) = 0x2f;\n            (**(code **)(puVar15 + -0x605c))\n                      ((byte *)((int)pppppbVar12 + (int)unaff_s5),param_1,\n                       (byte *)((int)pppppbVar5 + 1));\n            pppppbVar2 = pppppbVar12;\n            param_3 = (byte *****)ppppbStack_1128;\n            iVar6 = (**(code **)(puStack_1170 + -0x632c))(3,pppppbVar12);\n            if (iVar6 < 0) {\n              piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))();\n              pppbStack_1138 = (byte ***)*piVar4;\n            }\n            pppppbVar13 = (byte *****)ppppbStack_1158;\n            pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n            puVar17 = puVar17 + iVar3;\n          } while ((appppbStack_1118[0] != ppppbStack_1120) ||\n                  (puVar17 = puVar18, iStack_1108 != iStack_112c));\n          puVar17 = puVar19;\n        } while (iStack_1104 != iStack_113c);\n        pppppbVar9 = param_1;\n        unaff_s3 = (byte *****)((int)pppppbVar14 - (int)unaff_s1);\n        unaff_s5 = unaff_s6;\n        while (unaff_s3 <= pppppbVar5) {\n          unaff_s6 = (byte *****)((int)unaff_s5 << 1);\n          ppppbStack_1120 = (byte ****)pppppbVar9;\n          if (pppppbVar10 == pppppbVar13) {\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pppppbVar9 = (byte *****)0x0;\n              ppppbStack_44 = (byte ****)pppppbVar2;\n              if ((ppppbStack_1134 == ppppbStack_1148) ||\n                 (pppppbVar10 = (byte *****)ppppbStack_1158, puVar26 = puVar22,\n                 (byte *****)ppppbStack_1134 == (byte *****)0x0)) goto LAB_000dfb60;\n              goto LAB_000dfb18;\n            }\n          }\n          else {\n            pppppbVar2 = unaff_s6;\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(pppppbVar10,unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar20;\n              if (ppppbStack_1134 == ppppbStack_1148) goto LAB_000dfcc0;\n              pcVar16 = *(code **)(puStack_1170 + -0x6204);\n              if ((byte *****)ppppbStack_1134 != (byte *****)0x0) goto LAB_000dfb1c;\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar21;\n              goto LAB_000dfcc0;\n            }\n            pppppbVar14 = (byte *****)((int)unaff_s1 + (int)unaff_s3);\n          }\n          param_1 = (byte *****)((int)unaff_s5 + (int)unaff_s3);\n          param_3 = (byte *****)((int)unaff_s5 - (int)unaff_s3);\n          (**(code **)(puStack_1170 + -0x605c))((byte *****)((int)unaff_s1 + (int)param_1));\n          pppppbVar9 = (byte *****)ppppbStack_1120;\n          pppppbVar12 = pppppbVar13;\n          unaff_s3 = param_1;\n          pppppbVar2 = pppppbVar14;\n          pppppbVar10 = unaff_s1;\n          unaff_s5 = unaff_s6;\n          pppppbVar14 = (byte *****)((int)unaff_s1 + (int)param_1);\n        }\n        iVar3 = (**(code **)(puStack_1170 + -0x605c))((int)pppppbVar14 - (int)pppppbVar5);\n        pppppbVar14 = (byte *****)(iVar3 + -1);\n        pcVar16 = *(code **)(puStack_1170 + -0x6338);\n        *(undefined1 *)(iVar3 + -1) = 0x2f;\n        (*pcVar16)(iStack_111c);\n        iStack_112c = iStack_1150;\n        ppppbStack_1120 = ppppbStack_1130;\n        param_3 = pppppbVar5;\n        unaff_s1 = pppppbVar10;\n        pppppbVar13 = pppppbVar12;\n        unaff_s6 = unaff_s5;\n        puVar26 = puVar23;\n        iStack_113c = iStack_1154;\n      }" while (parenthesized_expression "(((ppppbStack_1120 != ppppbStack_114c || (iStack_112c != iStack_1160)) ||\n             (iStack_113c != iStack_1164)))" ( (parenthesized_expression "((ppppbStack_1120 != ppppbStack_114c || (iStack_112c != iStack_1160)) ||\n             (iStack_113c != iStack_1164))" ( (binary_expression "(ppppbStack_1120 != ppppbStack_114c || (iStack_112c != iStack_1160)) ||\n             (iStack_113c != iStack_1164)" (parenthesized_expression "(ppppbStack_1120 != ppppbStack_114c || (iStack_112c != iStack_1160))" ( (binary_expression "ppppbStack_1120 != ppppbStack_114c || (iStack_112c != iStack_1160)" (binary_expression "ppppbStack_1120 != ppppbStack_114c" identifier != identifier) || (parenthesized_expression "(iStack_112c != iStack_1160)" ( (binary_expression "iStack_112c != iStack_1160" identifier != identifier) ))) )) || (parenthesized_expression "(iStack_113c != iStack_1164)" ( (binary_expression "iStack_113c != iStack_1164" identifier != identifier) ))) )) )) (compound_statement "{\n        pppppbVar12 = pppppbVar13;\n        pppppbVar10 = unaff_s1;\n        if (ppppbStack_1124 == ppppbStack_1134) {\n          param_1 = (byte *****)((int)ppppbStack_1140 * 2);\n          pppppbVar2 = (byte *****)((int)param_1 + 1);\n          if (ppppbStack_1124 == ppppbStack_1148) {\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(pppppbVar2);\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb48;\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,ppppbStack_1148,ppppbStack_1140);\n          }\n          else {\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(ppppbStack_1134);\n            puVar24 = puVar26;\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb18;\n          }\n          pppppbVar12 = (byte *****)ppppbStack_1140;\n          unaff_s3 = (byte *****)((int)pppppbVar9 + (int)ppppbStack_1140);\n          ppppbStack_1124 = (byte ****)unaff_s3;\n          (**(code **)(puStack_1170 + -0x605c))(unaff_s3,pppppbVar9,ppppbStack_1140);\n          *(byte *)((int)unaff_s3 + (int)pppppbVar12) = 0;\n          ppppbStack_1140 = (byte ****)param_1;\n          ppppbStack_1134 = (byte ****)pppppbVar9;\n        }\n        param_1 = (byte *****)((int)ppppbStack_1124 + -3);\n        pppppbVar2 = param_1;\n        param_3 = (byte *****)ppppbStack_1128;\n        ppppbStack_1124 = (byte ****)param_1;\n        iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,param_1);\n        pppppbVar13 = pppppbVar12;\n        puVar17 = puVar26;\n        if (iVar3 < 0) {\nLAB_000dfb00:\n          puVar26 = puVar17;\n          if ((ppppbStack_1134 != ppppbStack_1148) &&\n             (puVar24 = puVar17, (byte *****)ppppbStack_1134 != (byte *****)0x0)) {\nLAB_000dfb18:\n            pcVar16 = *(code **)(puStack_1170 + -0x6204);\n            puVar25 = puVar24;\nLAB_000dfb1c:\n            param_1 = (byte *****)(*pcVar16)();\n            ppppbVar11 = *param_1;\n            (**(code **)(puStack_1170 + -0x6044))(ppppbStack_1134);\n            *param_1 = ppppbVar11;\n            unaff_s1 = pppppbVar10;\n            puVar26 = puVar25;\n          }\n          goto LAB_000dfb48;\n        }\n        ppppbStack_1130 = appppbStack_1118[0];\n        iStack_1150 = iStack_1108;\n        iStack_1154 = iStack_1104;\n        iStack_111c = (**(code **)(puStack_1170 + -0x633c))(param_1);\n        if (iStack_111c == 0) goto LAB_000dfb00;\n        unaff_s3 = (byte *****)\n                   ((byte *)((int)ppppbStack_1134 + (int)ppppbStack_1140) + -(int)param_1);\n        unaff_s5 = (byte *****)((int)unaff_s3 + 1);\nLAB_000df8ec:\n        do {\n          pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n          do {\n            do {\n              piVar4 = (int *)(*pcVar16)(iStack_111c);\n              while( true ) {\n                if (piVar4 == (int *)0x0) {\n                  param_1 = (byte *****)(**(code **)(puStack_1170 + -0x6204))();\n                  ppppbVar11 = (byte ****)pppbStack_1138;\n                  if (*param_1 != (byte ****)0x0) {\n                    ppppbVar11 = *param_1;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  *param_1 = ppppbVar11;\n                  pppppbVar13 = pppppbVar12;\n                  goto LAB_000dfb00;\n                }\n                if (*(char *)((int)piVar4 + 0x13) != '.') break;\n                pppppbVar2 = (byte *****)0xffff0000;\n                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;\n                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;\n                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);\n              }\n            } while ((ppppbStack_1120 == ppppbStack_1130) &&\n                    ((pcVar16 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c))));\n            param_1 = (byte *****)((int)piVar4 + 0x13);\n            pppppbVar5 = (byte *****)(**(code **)(puStack_1170 + -0x61b0))(param_1);\n            iVar3 = -((uint)((byte *)((int)unaff_s5 + (int)pppppbVar5) + 8) & 0xfffffff8);\n            puVar18 = puVar17 + iVar3;\n            puVar19 = puVar17 + iVar3;\n            puVar20 = puVar17 + iVar3;\n            puVar25 = puVar17 + iVar3;\n            puVar21 = puVar17 + iVar3;\n            puVar26 = puVar17 + iVar3;\n            puVar22 = puVar17 + iVar3;\n            puVar24 = puVar17 + iVar3;\n            puVar23 = puVar17 + iVar3;\n            pppppbVar12 = (byte *****)(puVar17 + iVar3 + 0x10);\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar12,ppppbStack_1124,unaff_s3);\n            puVar15 = puStack_1170;\n            *(byte *)((int)pppppbVar12 + (int)unaff_s3) = 0x2f;\n            (**(code **)(puVar15 + -0x605c))\n                      ((byte *)((int)pppppbVar12 + (int)unaff_s5),param_1,\n                       (byte *)((int)pppppbVar5 + 1));\n            pppppbVar2 = pppppbVar12;\n            param_3 = (byte *****)ppppbStack_1128;\n            iVar6 = (**(code **)(puStack_1170 + -0x632c))(3,pppppbVar12);\n            if (iVar6 < 0) {\n              piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))();\n              pppbStack_1138 = (byte ***)*piVar4;\n            }\n            pppppbVar13 = (byte *****)ppppbStack_1158;\n            pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n            puVar17 = puVar17 + iVar3;\n          } while ((appppbStack_1118[0] != ppppbStack_1120) ||\n                  (puVar17 = puVar18, iStack_1108 != iStack_112c));\n          puVar17 = puVar19;\n        } while (iStack_1104 != iStack_113c);\n        pppppbVar9 = param_1;\n        unaff_s3 = (byte *****)((int)pppppbVar14 - (int)unaff_s1);\n        unaff_s5 = unaff_s6;\n        while (unaff_s3 <= pppppbVar5) {\n          unaff_s6 = (byte *****)((int)unaff_s5 << 1);\n          ppppbStack_1120 = (byte ****)pppppbVar9;\n          if (pppppbVar10 == pppppbVar13) {\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pppppbVar9 = (byte *****)0x0;\n              ppppbStack_44 = (byte ****)pppppbVar2;\n              if ((ppppbStack_1134 == ppppbStack_1148) ||\n                 (pppppbVar10 = (byte *****)ppppbStack_1158, puVar26 = puVar22,\n                 (byte *****)ppppbStack_1134 == (byte *****)0x0)) goto LAB_000dfb60;\n              goto LAB_000dfb18;\n            }\n          }\n          else {\n            pppppbVar2 = unaff_s6;\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(pppppbVar10,unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar20;\n              if (ppppbStack_1134 == ppppbStack_1148) goto LAB_000dfcc0;\n              pcVar16 = *(code **)(puStack_1170 + -0x6204);\n              if ((byte *****)ppppbStack_1134 != (byte *****)0x0) goto LAB_000dfb1c;\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar21;\n              goto LAB_000dfcc0;\n            }\n            pppppbVar14 = (byte *****)((int)unaff_s1 + (int)unaff_s3);\n          }\n          param_1 = (byte *****)((int)unaff_s5 + (int)unaff_s3);\n          param_3 = (byte *****)((int)unaff_s5 - (int)unaff_s3);\n          (**(code **)(puStack_1170 + -0x605c))((byte *****)((int)unaff_s1 + (int)param_1));\n          pppppbVar9 = (byte *****)ppppbStack_1120;\n          pppppbVar12 = pppppbVar13;\n          unaff_s3 = param_1;\n          pppppbVar2 = pppppbVar14;\n          pppppbVar10 = unaff_s1;\n          unaff_s5 = unaff_s6;\n          pppppbVar14 = (byte *****)((int)unaff_s1 + (int)param_1);\n        }\n        iVar3 = (**(code **)(puStack_1170 + -0x605c))((int)pppppbVar14 - (int)pppppbVar5);\n        pppppbVar14 = (byte *****)(iVar3 + -1);\n        pcVar16 = *(code **)(puStack_1170 + -0x6338);\n        *(undefined1 *)(iVar3 + -1) = 0x2f;\n        (*pcVar16)(iStack_111c);\n        iStack_112c = iStack_1150;\n        ppppbStack_1120 = ppppbStack_1130;\n        param_3 = pppppbVar5;\n        unaff_s1 = pppppbVar10;\n        pppppbVar13 = pppppbVar12;\n        unaff_s6 = unaff_s5;\n        puVar26 = puVar23;\n        iStack_113c = iStack_1154;\n      }" { (expression_statement "pppppbVar12 = pppppbVar13;" (assignment_expression "pppppbVar12 = pppppbVar13" identifier = identifier) ;) (expression_statement "pppppbVar10 = unaff_s1;" (assignment_expression "pppppbVar10 = unaff_s1" identifier = identifier) ;) (if_statement "if (ppppbStack_1124 == ppppbStack_1134) {\n          param_1 = (byte *****)((int)ppppbStack_1140 * 2);\n          pppppbVar2 = (byte *****)((int)param_1 + 1);\n          if (ppppbStack_1124 == ppppbStack_1148) {\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(pppppbVar2);\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb48;\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,ppppbStack_1148,ppppbStack_1140);\n          }\n          else {\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(ppppbStack_1134);\n            puVar24 = puVar26;\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb18;\n          }\n          pppppbVar12 = (byte *****)ppppbStack_1140;\n          unaff_s3 = (byte *****)((int)pppppbVar9 + (int)ppppbStack_1140);\n          ppppbStack_1124 = (byte ****)unaff_s3;\n          (**(code **)(puStack_1170 + -0x605c))(unaff_s3,pppppbVar9,ppppbStack_1140);\n          *(byte *)((int)unaff_s3 + (int)pppppbVar12) = 0;\n          ppppbStack_1140 = (byte ****)param_1;\n          ppppbStack_1134 = (byte ****)pppppbVar9;\n        }" if (parenthesized_expression "(ppppbStack_1124 == ppppbStack_1134)" ( (binary_expression "ppppbStack_1124 == ppppbStack_1134" identifier == identifier) )) (compound_statement "{\n          param_1 = (byte *****)((int)ppppbStack_1140 * 2);\n          pppppbVar2 = (byte *****)((int)param_1 + 1);\n          if (ppppbStack_1124 == ppppbStack_1148) {\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(pppppbVar2);\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb48;\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,ppppbStack_1148,ppppbStack_1140);\n          }\n          else {\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(ppppbStack_1134);\n            puVar24 = puVar26;\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb18;\n          }\n          pppppbVar12 = (byte *****)ppppbStack_1140;\n          unaff_s3 = (byte *****)((int)pppppbVar9 + (int)ppppbStack_1140);\n          ppppbStack_1124 = (byte ****)unaff_s3;\n          (**(code **)(puStack_1170 + -0x605c))(unaff_s3,pppppbVar9,ppppbStack_1140);\n          *(byte *)((int)unaff_s3 + (int)pppppbVar12) = 0;\n          ppppbStack_1140 = (byte ****)param_1;\n          ppppbStack_1134 = (byte ****)pppppbVar9;\n        }" { (expression_statement "param_1 = (byte *****)((int)ppppbStack_1140 * 2);" (assignment_expression "param_1 = (byte *****)((int)ppppbStack_1140 * 2)" identifier = (cast_expression "(byte *****)((int)ppppbStack_1140 * 2)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)ppppbStack_1140 * 2)" ( (binary_expression "(int)ppppbStack_1140 * 2" (cast_expression "(int)ppppbStack_1140" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ;) (expression_statement "pppppbVar2 = (byte *****)((int)param_1 + 1);" (assignment_expression "pppppbVar2 = (byte *****)((int)param_1 + 1)" identifier = (cast_expression "(byte *****)((int)param_1 + 1)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)param_1 + 1)" ( (binary_expression "(int)param_1 + 1" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (ppppbStack_1124 == ppppbStack_1148) {\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(pppppbVar2);\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb48;\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,ppppbStack_1148,ppppbStack_1140);\n          }\n          else {\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(ppppbStack_1134);\n            puVar24 = puVar26;\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb18;\n          }" if (parenthesized_expression "(ppppbStack_1124 == ppppbStack_1148)" ( (binary_expression "ppppbStack_1124 == ppppbStack_1148" identifier == identifier) )) (compound_statement "{\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(pppppbVar2);\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb48;\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,ppppbStack_1148,ppppbStack_1140);\n          }" { (expression_statement "pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(pppppbVar2);" (assignment_expression "pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(pppppbVar2)" identifier = (cast_expression "(byte *****)(**(code **)(puStack_1170 + -0x6158))(pppppbVar2)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(**(code **)(puStack_1170 + -0x6158))(pppppbVar2)" (parenthesized_expression "(**(code **)(puStack_1170 + -0x6158))" ( (pointer_expression "**(code **)(puStack_1170 + -0x6158)" * (pointer_expression "*(code **)(puStack_1170 + -0x6158)" * (cast_expression "(code **)(puStack_1170 + -0x6158)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x6158)" ( (binary_expression "puStack_1170 + -0x6158" identifier + number_literal) ))))) )) (argument_list "(pppppbVar2)" ( identifier ))))) ;) (if_statement "if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb48;" if (parenthesized_expression "(pppppbVar9 == (byte *****)0x0)" ( (binary_expression "pppppbVar9 == (byte *****)0x0" identifier == (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (goto_statement "goto LAB_000dfb48;" goto statement_identifier ;)) (expression_statement "(**(code **)(puStack_1170 + -0x605c))(pppppbVar9,ppppbStack_1148,ppppbStack_1140);" (call_expression "(**(code **)(puStack_1170 + -0x605c))(pppppbVar9,ppppbStack_1148,ppppbStack_1140)" (parenthesized_expression "(**(code **)(puStack_1170 + -0x605c))" ( (pointer_expression "**(code **)(puStack_1170 + -0x605c)" * (pointer_expression "*(code **)(puStack_1170 + -0x605c)" * (cast_expression "(code **)(puStack_1170 + -0x605c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x605c)" ( (binary_expression "puStack_1170 + -0x605c" identifier + number_literal) ))))) )) (argument_list "(pppppbVar9,ppppbStack_1148,ppppbStack_1140)" ( identifier , identifier , identifier ))) ;) }) (else_clause "else {\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(ppppbStack_1134);\n            puVar24 = puVar26;\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb18;\n          }" else (compound_statement "{\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(ppppbStack_1134);\n            puVar24 = puVar26;\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb18;\n          }" { (expression_statement "pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(ppppbStack_1134);" (assignment_expression "pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(ppppbStack_1134)" identifier = (cast_expression "(byte *****)(**(code **)(puStack_1170 + -0x614c))(ppppbStack_1134)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(**(code **)(puStack_1170 + -0x614c))(ppppbStack_1134)" (parenthesized_expression "(**(code **)(puStack_1170 + -0x614c))" ( (pointer_expression "**(code **)(puStack_1170 + -0x614c)" * (pointer_expression "*(code **)(puStack_1170 + -0x614c)" * (cast_expression "(code **)(puStack_1170 + -0x614c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x614c)" ( (binary_expression "puStack_1170 + -0x614c" identifier + number_literal) ))))) )) (argument_list "(ppppbStack_1134)" ( identifier ))))) ;) (expression_statement "puVar24 = puVar26;" (assignment_expression "puVar24 = puVar26" identifier = identifier) ;) (if_statement "if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb18;" if (parenthesized_expression "(pppppbVar9 == (byte *****)0x0)" ( (binary_expression "pppppbVar9 == (byte *****)0x0" identifier == (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (goto_statement "goto LAB_000dfb18;" goto statement_identifier ;)) }))) (expression_statement "pppppbVar12 = (byte *****)ppppbStack_1140;" (assignment_expression "pppppbVar12 = (byte *****)ppppbStack_1140" identifier = (cast_expression "(byte *****)ppppbStack_1140" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "unaff_s3 = (byte *****)((int)pppppbVar9 + (int)ppppbStack_1140);" (assignment_expression "unaff_s3 = (byte *****)((int)pppppbVar9 + (int)ppppbStack_1140)" identifier = (cast_expression "(byte *****)((int)pppppbVar9 + (int)ppppbStack_1140)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)pppppbVar9 + (int)ppppbStack_1140)" ( (binary_expression "(int)pppppbVar9 + (int)ppppbStack_1140" (cast_expression "(int)pppppbVar9" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)ppppbStack_1140" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "ppppbStack_1124 = (byte ****)unaff_s3;" (assignment_expression "ppppbStack_1124 = (byte ****)unaff_s3" identifier = (cast_expression "(byte ****)unaff_s3" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "(**(code **)(puStack_1170 + -0x605c))(unaff_s3,pppppbVar9,ppppbStack_1140);" (call_expression "(**(code **)(puStack_1170 + -0x605c))(unaff_s3,pppppbVar9,ppppbStack_1140)" (parenthesized_expression "(**(code **)(puStack_1170 + -0x605c))" ( (pointer_expression "**(code **)(puStack_1170 + -0x605c)" * (pointer_expression "*(code **)(puStack_1170 + -0x605c)" * (cast_expression "(code **)(puStack_1170 + -0x605c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x605c)" ( (binary_expression "puStack_1170 + -0x605c" identifier + number_literal) ))))) )) (argument_list "(unaff_s3,pppppbVar9,ppppbStack_1140)" ( identifier , identifier , identifier ))) ;) (expression_statement "*(byte *)((int)unaff_s3 + (int)pppppbVar12) = 0;" (assignment_expression "*(byte *)((int)unaff_s3 + (int)pppppbVar12) = 0" (pointer_expression "*(byte *)((int)unaff_s3 + (int)pppppbVar12)" * (cast_expression "(byte *)((int)unaff_s3 + (int)pppppbVar12)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s3 + (int)pppppbVar12)" ( (binary_expression "(int)unaff_s3 + (int)pppppbVar12" (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppbVar12" ( (type_descriptor "int" primitive_type) ) identifier)) )))) = number_literal) ;) (expression_statement "ppppbStack_1140 = (byte ****)param_1;" (assignment_expression "ppppbStack_1140 = (byte ****)param_1" identifier = (cast_expression "(byte ****)param_1" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "ppppbStack_1134 = (byte ****)pppppbVar9;" (assignment_expression "ppppbStack_1134 = (byte ****)pppppbVar9" identifier = (cast_expression "(byte ****)pppppbVar9" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) })) (expression_statement "param_1 = (byte *****)((int)ppppbStack_1124 + -3);" (assignment_expression "param_1 = (byte *****)((int)ppppbStack_1124 + -3)" identifier = (cast_expression "(byte *****)((int)ppppbStack_1124 + -3)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)ppppbStack_1124 + -3)" ( (binary_expression "(int)ppppbStack_1124 + -3" (cast_expression "(int)ppppbStack_1124" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pppppbVar2 = param_1;" (assignment_expression "pppppbVar2 = param_1" identifier = identifier) ;) (expression_statement "param_3 = (byte *****)ppppbStack_1128;" (assignment_expression "param_3 = (byte *****)ppppbStack_1128" identifier = (cast_expression "(byte *****)ppppbStack_1128" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "ppppbStack_1124 = (byte ****)param_1;" (assignment_expression "ppppbStack_1124 = (byte ****)param_1" identifier = (cast_expression "(byte ****)param_1" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (expression_statement "iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,param_1);" (assignment_expression "iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,param_1)" identifier = (call_expression "(**(code **)(puStack_1170 + -0x630c))(3,param_1)" (parenthesized_expression "(**(code **)(puStack_1170 + -0x630c))" ( (pointer_expression "**(code **)(puStack_1170 + -0x630c)" * (pointer_expression "*(code **)(puStack_1170 + -0x630c)" * (cast_expression "(code **)(puStack_1170 + -0x630c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x630c)" ( (binary_expression "puStack_1170 + -0x630c" identifier + number_literal) ))))) )) (argument_list "(3,param_1)" ( number_literal , identifier )))) ;) (expression_statement "pppppbVar13 = pppppbVar12;" (assignment_expression "pppppbVar13 = pppppbVar12" identifier = identifier) ;) (expression_statement "puVar17 = puVar26;" (assignment_expression "puVar17 = puVar26" identifier = identifier) ;) (if_statement "if (iVar3 < 0) {\nLAB_000dfb00:\n          puVar26 = puVar17;\n          if ((ppppbStack_1134 != ppppbStack_1148) &&\n             (puVar24 = puVar17, (byte *****)ppppbStack_1134 != (byte *****)0x0)) {\nLAB_000dfb18:\n            pcVar16 = *(code **)(puStack_1170 + -0x6204);\n            puVar25 = puVar24;\nLAB_000dfb1c:\n            param_1 = (byte *****)(*pcVar16)();\n            ppppbVar11 = *param_1;\n            (**(code **)(puStack_1170 + -0x6044))(ppppbStack_1134);\n            *param_1 = ppppbVar11;\n            unaff_s1 = pppppbVar10;\n            puVar26 = puVar25;\n          }\n          goto LAB_000dfb48;\n        }" if (parenthesized_expression "(iVar3 < 0)" ( (binary_expression "iVar3 < 0" identifier < number_literal) )) (compound_statement "{\nLAB_000dfb00:\n          puVar26 = puVar17;\n          if ((ppppbStack_1134 != ppppbStack_1148) &&\n             (puVar24 = puVar17, (byte *****)ppppbStack_1134 != (byte *****)0x0)) {\nLAB_000dfb18:\n            pcVar16 = *(code **)(puStack_1170 + -0x6204);\n            puVar25 = puVar24;\nLAB_000dfb1c:\n            param_1 = (byte *****)(*pcVar16)();\n            ppppbVar11 = *param_1;\n            (**(code **)(puStack_1170 + -0x6044))(ppppbStack_1134);\n            *param_1 = ppppbVar11;\n            unaff_s1 = pppppbVar10;\n            puVar26 = puVar25;\n          }\n          goto LAB_000dfb48;\n        }" { (labeled_statement "LAB_000dfb00:\n          puVar26 = puVar17;" statement_identifier : (expression_statement "puVar26 = puVar17;" (assignment_expression "puVar26 = puVar17" identifier = identifier) ;)) (if_statement "if ((ppppbStack_1134 != ppppbStack_1148) &&\n             (puVar24 = puVar17, (byte *****)ppppbStack_1134 != (byte *****)0x0)) {\nLAB_000dfb18:\n            pcVar16 = *(code **)(puStack_1170 + -0x6204);\n            puVar25 = puVar24;\nLAB_000dfb1c:\n            param_1 = (byte *****)(*pcVar16)();\n            ppppbVar11 = *param_1;\n            (**(code **)(puStack_1170 + -0x6044))(ppppbStack_1134);\n            *param_1 = ppppbVar11;\n            unaff_s1 = pppppbVar10;\n            puVar26 = puVar25;\n          }" if (parenthesized_expression "((ppppbStack_1134 != ppppbStack_1148) &&\n             (puVar24 = puVar17, (byte *****)ppppbStack_1134 != (byte *****)0x0))" ( (binary_expression "(ppppbStack_1134 != ppppbStack_1148) &&\n             (puVar24 = puVar17, (byte *****)ppppbStack_1134 != (byte *****)0x0)" (parenthesized_expression "(ppppbStack_1134 != ppppbStack_1148)" ( (binary_expression "ppppbStack_1134 != ppppbStack_1148" identifier != identifier) )) && (parenthesized_expression "(puVar24 = puVar17, (byte *****)ppppbStack_1134 != (byte *****)0x0)" ( (comma_expression "puVar24 = puVar17, (byte *****)ppppbStack_1134 != (byte *****)0x0" (assignment_expression "puVar24 = puVar17" identifier = identifier) , (binary_expression "(byte *****)ppppbStack_1134 != (byte *****)0x0" (cast_expression "(byte *****)ppppbStack_1134" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier) != (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal))) ))) )) (compound_statement "{\nLAB_000dfb18:\n            pcVar16 = *(code **)(puStack_1170 + -0x6204);\n            puVar25 = puVar24;\nLAB_000dfb1c:\n            param_1 = (byte *****)(*pcVar16)();\n            ppppbVar11 = *param_1;\n            (**(code **)(puStack_1170 + -0x6044))(ppppbStack_1134);\n            *param_1 = ppppbVar11;\n            unaff_s1 = pppppbVar10;\n            puVar26 = puVar25;\n          }" { (labeled_statement "LAB_000dfb18:\n            pcVar16 = *(code **)(puStack_1170 + -0x6204);" statement_identifier : (expression_statement "pcVar16 = *(code **)(puStack_1170 + -0x6204);" (assignment_expression "pcVar16 = *(code **)(puStack_1170 + -0x6204)" identifier = (pointer_expression "*(code **)(puStack_1170 + -0x6204)" * (cast_expression "(code **)(puStack_1170 + -0x6204)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x6204)" ( (binary_expression "puStack_1170 + -0x6204" identifier + number_literal) ))))) ;)) (expression_statement "puVar25 = puVar24;" (assignment_expression "puVar25 = puVar24" identifier = identifier) ;) (labeled_statement "LAB_000dfb1c:\n            param_1 = (byte *****)(*pcVar16)();" statement_identifier : (expression_statement "param_1 = (byte *****)(*pcVar16)();" (assignment_expression "param_1 = (byte *****)(*pcVar16)()" identifier = (cast_expression "(byte *****)(*pcVar16)()" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(*pcVar16)()" (parenthesized_expression "(*pcVar16)" ( (pointer_expression "*pcVar16" * identifier) )) (argument_list "()" ( ))))) ;)) (expression_statement "ppppbVar11 = *param_1;" (assignment_expression "ppppbVar11 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) (expression_statement "(**(code **)(puStack_1170 + -0x6044))(ppppbStack_1134);" (call_expression "(**(code **)(puStack_1170 + -0x6044))(ppppbStack_1134)" (parenthesized_expression "(**(code **)(puStack_1170 + -0x6044))" ( (pointer_expression "**(code **)(puStack_1170 + -0x6044)" * (pointer_expression "*(code **)(puStack_1170 + -0x6044)" * (cast_expression "(code **)(puStack_1170 + -0x6044)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x6044)" ( (binary_expression "puStack_1170 + -0x6044" identifier + number_literal) ))))) )) (argument_list "(ppppbStack_1134)" ( identifier ))) ;) (expression_statement "*param_1 = ppppbVar11;" (assignment_expression "*param_1 = ppppbVar11" (pointer_expression "*param_1" * identifier) = identifier) ;) (expression_statement "unaff_s1 = pppppbVar10;" (assignment_expression "unaff_s1 = pppppbVar10" identifier = identifier) ;) (expression_statement "puVar26 = puVar25;" (assignment_expression "puVar26 = puVar25" identifier = identifier) ;) })) (goto_statement "goto LAB_000dfb48;" goto statement_identifier ;) })) (expression_statement "ppppbStack_1130 = appppbStack_1118[0];" (assignment_expression "ppppbStack_1130 = appppbStack_1118[0]" identifier = (subscript_expression "appppbStack_1118[0]" identifier [ number_literal ])) ;) (expression_statement "iStack_1150 = iStack_1108;" (assignment_expression "iStack_1150 = iStack_1108" identifier = identifier) ;) (expression_statement "iStack_1154 = iStack_1104;" (assignment_expression "iStack_1154 = iStack_1104" identifier = identifier) ;) (expression_statement "iStack_111c = (**(code **)(puStack_1170 + -0x633c))(param_1);" (assignment_expression "iStack_111c = (**(code **)(puStack_1170 + -0x633c))(param_1)" identifier = (call_expression "(**(code **)(puStack_1170 + -0x633c))(param_1)" (parenthesized_expression "(**(code **)(puStack_1170 + -0x633c))" ( (pointer_expression "**(code **)(puStack_1170 + -0x633c)" * (pointer_expression "*(code **)(puStack_1170 + -0x633c)" * (cast_expression "(code **)(puStack_1170 + -0x633c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x633c)" ( (binary_expression "puStack_1170 + -0x633c" identifier + number_literal) ))))) )) (argument_list "(param_1)" ( identifier )))) ;) (if_statement "if (iStack_111c == 0) goto LAB_000dfb00;" if (parenthesized_expression "(iStack_111c == 0)" ( (binary_expression "iStack_111c == 0" identifier == number_literal) )) (goto_statement "goto LAB_000dfb00;" goto statement_identifier ;)) (expression_statement "unaff_s3 = (byte *****)\n                   ((byte *)((int)ppppbStack_1134 + (int)ppppbStack_1140) + -(int)param_1);" (assignment_expression "unaff_s3 = (byte *****)\n                   ((byte *)((int)ppppbStack_1134 + (int)ppppbStack_1140) + -(int)param_1)" identifier = (cast_expression "(byte *****)\n                   ((byte *)((int)ppppbStack_1134 + (int)ppppbStack_1140) + -(int)param_1)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((byte *)((int)ppppbStack_1134 + (int)ppppbStack_1140) + -(int)param_1)" ( (binary_expression "(byte *)((int)ppppbStack_1134 + (int)ppppbStack_1140) + -(int)param_1" (cast_expression "(byte *)((int)ppppbStack_1134 + (int)ppppbStack_1140)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppbStack_1134 + (int)ppppbStack_1140)" ( (binary_expression "(int)ppppbStack_1134 + (int)ppppbStack_1140" (cast_expression "(int)ppppbStack_1134" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)ppppbStack_1140" ( (type_descriptor "int" primitive_type) ) identifier)) ))) + (unary_expression "-(int)param_1" - (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier))) )))) ;) (expression_statement "unaff_s5 = (byte *****)((int)unaff_s3 + 1);" (assignment_expression "unaff_s5 = (byte *****)((int)unaff_s3 + 1)" identifier = (cast_expression "(byte *****)((int)unaff_s3 + 1)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (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) )))) ;) (labeled_statement "LAB_000df8ec:\n        do {\n          pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n          do {\n            do {\n              piVar4 = (int *)(*pcVar16)(iStack_111c);\n              while( true ) {\n                if (piVar4 == (int *)0x0) {\n                  param_1 = (byte *****)(**(code **)(puStack_1170 + -0x6204))();\n                  ppppbVar11 = (byte ****)pppbStack_1138;\n                  if (*param_1 != (byte ****)0x0) {\n                    ppppbVar11 = *param_1;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  *param_1 = ppppbVar11;\n                  pppppbVar13 = pppppbVar12;\n                  goto LAB_000dfb00;\n                }\n                if (*(char *)((int)piVar4 + 0x13) != '.') break;\n                pppppbVar2 = (byte *****)0xffff0000;\n                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;\n                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;\n                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);\n              }\n            } while ((ppppbStack_1120 == ppppbStack_1130) &&\n                    ((pcVar16 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c))));\n            param_1 = (byte *****)((int)piVar4 + 0x13);\n            pppppbVar5 = (byte *****)(**(code **)(puStack_1170 + -0x61b0))(param_1);\n            iVar3 = -((uint)((byte *)((int)unaff_s5 + (int)pppppbVar5) + 8) & 0xfffffff8);\n            puVar18 = puVar17 + iVar3;\n            puVar19 = puVar17 + iVar3;\n            puVar20 = puVar17 + iVar3;\n            puVar25 = puVar17 + iVar3;\n            puVar21 = puVar17 + iVar3;\n            puVar26 = puVar17 + iVar3;\n            puVar22 = puVar17 + iVar3;\n            puVar24 = puVar17 + iVar3;\n            puVar23 = puVar17 + iVar3;\n            pppppbVar12 = (byte *****)(puVar17 + iVar3 + 0x10);\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar12,ppppbStack_1124,unaff_s3);\n            puVar15 = puStack_1170;\n            *(byte *)((int)pppppbVar12 + (int)unaff_s3) = 0x2f;\n            (**(code **)(puVar15 + -0x605c))\n                      ((byte *)((int)pppppbVar12 + (int)unaff_s5),param_1,\n                       (byte *)((int)pppppbVar5 + 1));\n            pppppbVar2 = pppppbVar12;\n            param_3 = (byte *****)ppppbStack_1128;\n            iVar6 = (**(code **)(puStack_1170 + -0x632c))(3,pppppbVar12);\n            if (iVar6 < 0) {\n              piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))();\n              pppbStack_1138 = (byte ***)*piVar4;\n            }\n            pppppbVar13 = (byte *****)ppppbStack_1158;\n            pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n            puVar17 = puVar17 + iVar3;\n          } while ((appppbStack_1118[0] != ppppbStack_1120) ||\n                  (puVar17 = puVar18, iStack_1108 != iStack_112c));\n          puVar17 = puVar19;\n        } while (iStack_1104 != iStack_113c);" statement_identifier : (do_statement "do {\n          pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n          do {\n            do {\n              piVar4 = (int *)(*pcVar16)(iStack_111c);\n              while( true ) {\n                if (piVar4 == (int *)0x0) {\n                  param_1 = (byte *****)(**(code **)(puStack_1170 + -0x6204))();\n                  ppppbVar11 = (byte ****)pppbStack_1138;\n                  if (*param_1 != (byte ****)0x0) {\n                    ppppbVar11 = *param_1;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  *param_1 = ppppbVar11;\n                  pppppbVar13 = pppppbVar12;\n                  goto LAB_000dfb00;\n                }\n                if (*(char *)((int)piVar4 + 0x13) != '.') break;\n                pppppbVar2 = (byte *****)0xffff0000;\n                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;\n                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;\n                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);\n              }\n            } while ((ppppbStack_1120 == ppppbStack_1130) &&\n                    ((pcVar16 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c))));\n            param_1 = (byte *****)((int)piVar4 + 0x13);\n            pppppbVar5 = (byte *****)(**(code **)(puStack_1170 + -0x61b0))(param_1);\n            iVar3 = -((uint)((byte *)((int)unaff_s5 + (int)pppppbVar5) + 8) & 0xfffffff8);\n            puVar18 = puVar17 + iVar3;\n            puVar19 = puVar17 + iVar3;\n            puVar20 = puVar17 + iVar3;\n            puVar25 = puVar17 + iVar3;\n            puVar21 = puVar17 + iVar3;\n            puVar26 = puVar17 + iVar3;\n            puVar22 = puVar17 + iVar3;\n            puVar24 = puVar17 + iVar3;\n            puVar23 = puVar17 + iVar3;\n            pppppbVar12 = (byte *****)(puVar17 + iVar3 + 0x10);\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar12,ppppbStack_1124,unaff_s3);\n            puVar15 = puStack_1170;\n            *(byte *)((int)pppppbVar12 + (int)unaff_s3) = 0x2f;\n            (**(code **)(puVar15 + -0x605c))\n                      ((byte *)((int)pppppbVar12 + (int)unaff_s5),param_1,\n                       (byte *)((int)pppppbVar5 + 1));\n            pppppbVar2 = pppppbVar12;\n            param_3 = (byte *****)ppppbStack_1128;\n            iVar6 = (**(code **)(puStack_1170 + -0x632c))(3,pppppbVar12);\n            if (iVar6 < 0) {\n              piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))();\n              pppbStack_1138 = (byte ***)*piVar4;\n            }\n            pppppbVar13 = (byte *****)ppppbStack_1158;\n            pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n            puVar17 = puVar17 + iVar3;\n          } while ((appppbStack_1118[0] != ppppbStack_1120) ||\n                  (puVar17 = puVar18, iStack_1108 != iStack_112c));\n          puVar17 = puVar19;\n        } while (iStack_1104 != iStack_113c);" do (compound_statement "{\n          pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n          do {\n            do {\n              piVar4 = (int *)(*pcVar16)(iStack_111c);\n              while( true ) {\n                if (piVar4 == (int *)0x0) {\n                  param_1 = (byte *****)(**(code **)(puStack_1170 + -0x6204))();\n                  ppppbVar11 = (byte ****)pppbStack_1138;\n                  if (*param_1 != (byte ****)0x0) {\n                    ppppbVar11 = *param_1;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  *param_1 = ppppbVar11;\n                  pppppbVar13 = pppppbVar12;\n                  goto LAB_000dfb00;\n                }\n                if (*(char *)((int)piVar4 + 0x13) != '.') break;\n                pppppbVar2 = (byte *****)0xffff0000;\n                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;\n                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;\n                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);\n              }\n            } while ((ppppbStack_1120 == ppppbStack_1130) &&\n                    ((pcVar16 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c))));\n            param_1 = (byte *****)((int)piVar4 + 0x13);\n            pppppbVar5 = (byte *****)(**(code **)(puStack_1170 + -0x61b0))(param_1);\n            iVar3 = -((uint)((byte *)((int)unaff_s5 + (int)pppppbVar5) + 8) & 0xfffffff8);\n            puVar18 = puVar17 + iVar3;\n            puVar19 = puVar17 + iVar3;\n            puVar20 = puVar17 + iVar3;\n            puVar25 = puVar17 + iVar3;\n            puVar21 = puVar17 + iVar3;\n            puVar26 = puVar17 + iVar3;\n            puVar22 = puVar17 + iVar3;\n            puVar24 = puVar17 + iVar3;\n            puVar23 = puVar17 + iVar3;\n            pppppbVar12 = (byte *****)(puVar17 + iVar3 + 0x10);\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar12,ppppbStack_1124,unaff_s3);\n            puVar15 = puStack_1170;\n            *(byte *)((int)pppppbVar12 + (int)unaff_s3) = 0x2f;\n            (**(code **)(puVar15 + -0x605c))\n                      ((byte *)((int)pppppbVar12 + (int)unaff_s5),param_1,\n                       (byte *)((int)pppppbVar5 + 1));\n            pppppbVar2 = pppppbVar12;\n            param_3 = (byte *****)ppppbStack_1128;\n            iVar6 = (**(code **)(puStack_1170 + -0x632c))(3,pppppbVar12);\n            if (iVar6 < 0) {\n              piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))();\n              pppbStack_1138 = (byte ***)*piVar4;\n            }\n            pppppbVar13 = (byte *****)ppppbStack_1158;\n            pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n            puVar17 = puVar17 + iVar3;\n          } while ((appppbStack_1118[0] != ppppbStack_1120) ||\n                  (puVar17 = puVar18, iStack_1108 != iStack_112c));\n          puVar17 = puVar19;\n        }" { (expression_statement "pcVar16 = *(code **)(puStack_1170 + -0x62c8);" (assignment_expression "pcVar16 = *(code **)(puStack_1170 + -0x62c8)" identifier = (pointer_expression "*(code **)(puStack_1170 + -0x62c8)" * (cast_expression "(code **)(puStack_1170 + -0x62c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x62c8)" ( (binary_expression "puStack_1170 + -0x62c8" identifier + number_literal) ))))) ;) (do_statement "do {\n            do {\n              piVar4 = (int *)(*pcVar16)(iStack_111c);\n              while( true ) {\n                if (piVar4 == (int *)0x0) {\n                  param_1 = (byte *****)(**(code **)(puStack_1170 + -0x6204))();\n                  ppppbVar11 = (byte ****)pppbStack_1138;\n                  if (*param_1 != (byte ****)0x0) {\n                    ppppbVar11 = *param_1;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  *param_1 = ppppbVar11;\n                  pppppbVar13 = pppppbVar12;\n                  goto LAB_000dfb00;\n                }\n                if (*(char *)((int)piVar4 + 0x13) != '.') break;\n                pppppbVar2 = (byte *****)0xffff0000;\n                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;\n                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;\n                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);\n              }\n            } while ((ppppbStack_1120 == ppppbStack_1130) &&\n                    ((pcVar16 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c))));\n            param_1 = (byte *****)((int)piVar4 + 0x13);\n            pppppbVar5 = (byte *****)(**(code **)(puStack_1170 + -0x61b0))(param_1);\n            iVar3 = -((uint)((byte *)((int)unaff_s5 + (int)pppppbVar5) + 8) & 0xfffffff8);\n            puVar18 = puVar17 + iVar3;\n            puVar19 = puVar17 + iVar3;\n            puVar20 = puVar17 + iVar3;\n            puVar25 = puVar17 + iVar3;\n            puVar21 = puVar17 + iVar3;\n            puVar26 = puVar17 + iVar3;\n            puVar22 = puVar17 + iVar3;\n            puVar24 = puVar17 + iVar3;\n            puVar23 = puVar17 + iVar3;\n            pppppbVar12 = (byte *****)(puVar17 + iVar3 + 0x10);\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar12,ppppbStack_1124,unaff_s3);\n            puVar15 = puStack_1170;\n            *(byte *)((int)pppppbVar12 + (int)unaff_s3) = 0x2f;\n            (**(code **)(puVar15 + -0x605c))\n                      ((byte *)((int)pppppbVar12 + (int)unaff_s5),param_1,\n                       (byte *)((int)pppppbVar5 + 1));\n            pppppbVar2 = pppppbVar12;\n            param_3 = (byte *****)ppppbStack_1128;\n            iVar6 = (**(code **)(puStack_1170 + -0x632c))(3,pppppbVar12);\n            if (iVar6 < 0) {\n              piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))();\n              pppbStack_1138 = (byte ***)*piVar4;\n            }\n            pppppbVar13 = (byte *****)ppppbStack_1158;\n            pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n            puVar17 = puVar17 + iVar3;\n          } while ((appppbStack_1118[0] != ppppbStack_1120) ||\n                  (puVar17 = puVar18, iStack_1108 != iStack_112c));" do (compound_statement "{\n            do {\n              piVar4 = (int *)(*pcVar16)(iStack_111c);\n              while( true ) {\n                if (piVar4 == (int *)0x0) {\n                  param_1 = (byte *****)(**(code **)(puStack_1170 + -0x6204))();\n                  ppppbVar11 = (byte ****)pppbStack_1138;\n                  if (*param_1 != (byte ****)0x0) {\n                    ppppbVar11 = *param_1;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  *param_1 = ppppbVar11;\n                  pppppbVar13 = pppppbVar12;\n                  goto LAB_000dfb00;\n                }\n                if (*(char *)((int)piVar4 + 0x13) != '.') break;\n                pppppbVar2 = (byte *****)0xffff0000;\n                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;\n                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;\n                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);\n              }\n            } while ((ppppbStack_1120 == ppppbStack_1130) &&\n                    ((pcVar16 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c))));\n            param_1 = (byte *****)((int)piVar4 + 0x13);\n            pppppbVar5 = (byte *****)(**(code **)(puStack_1170 + -0x61b0))(param_1);\n            iVar3 = -((uint)((byte *)((int)unaff_s5 + (int)pppppbVar5) + 8) & 0xfffffff8);\n            puVar18 = puVar17 + iVar3;\n            puVar19 = puVar17 + iVar3;\n            puVar20 = puVar17 + iVar3;\n            puVar25 = puVar17 + iVar3;\n            puVar21 = puVar17 + iVar3;\n            puVar26 = puVar17 + iVar3;\n            puVar22 = puVar17 + iVar3;\n            puVar24 = puVar17 + iVar3;\n            puVar23 = puVar17 + iVar3;\n            pppppbVar12 = (byte *****)(puVar17 + iVar3 + 0x10);\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar12,ppppbStack_1124,unaff_s3);\n            puVar15 = puStack_1170;\n            *(byte *)((int)pppppbVar12 + (int)unaff_s3) = 0x2f;\n            (**(code **)(puVar15 + -0x605c))\n                      ((byte *)((int)pppppbVar12 + (int)unaff_s5),param_1,\n                       (byte *)((int)pppppbVar5 + 1));\n            pppppbVar2 = pppppbVar12;\n            param_3 = (byte *****)ppppbStack_1128;\n            iVar6 = (**(code **)(puStack_1170 + -0x632c))(3,pppppbVar12);\n            if (iVar6 < 0) {\n              piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))();\n              pppbStack_1138 = (byte ***)*piVar4;\n            }\n            pppppbVar13 = (byte *****)ppppbStack_1158;\n            pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n            puVar17 = puVar17 + iVar3;\n          }" { (do_statement "do {\n              piVar4 = (int *)(*pcVar16)(iStack_111c);\n              while( true ) {\n                if (piVar4 == (int *)0x0) {\n                  param_1 = (byte *****)(**(code **)(puStack_1170 + -0x6204))();\n                  ppppbVar11 = (byte ****)pppbStack_1138;\n                  if (*param_1 != (byte ****)0x0) {\n                    ppppbVar11 = *param_1;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  *param_1 = ppppbVar11;\n                  pppppbVar13 = pppppbVar12;\n                  goto LAB_000dfb00;\n                }\n                if (*(char *)((int)piVar4 + 0x13) != '.') break;\n                pppppbVar2 = (byte *****)0xffff0000;\n                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;\n                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;\n                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);\n              }\n            } while ((ppppbStack_1120 == ppppbStack_1130) &&\n                    ((pcVar16 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c))));" do (compound_statement "{\n              piVar4 = (int *)(*pcVar16)(iStack_111c);\n              while( true ) {\n                if (piVar4 == (int *)0x0) {\n                  param_1 = (byte *****)(**(code **)(puStack_1170 + -0x6204))();\n                  ppppbVar11 = (byte ****)pppbStack_1138;\n                  if (*param_1 != (byte ****)0x0) {\n                    ppppbVar11 = *param_1;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  *param_1 = ppppbVar11;\n                  pppppbVar13 = pppppbVar12;\n                  goto LAB_000dfb00;\n                }\n                if (*(char *)((int)piVar4 + 0x13) != '.') break;\n                pppppbVar2 = (byte *****)0xffff0000;\n                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;\n                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;\n                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);\n              }\n            }" { (expression_statement "piVar4 = (int *)(*pcVar16)(iStack_111c);" (assignment_expression "piVar4 = (int *)(*pcVar16)(iStack_111c)" identifier = (cast_expression "(int *)(*pcVar16)(iStack_111c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*pcVar16)(iStack_111c)" (parenthesized_expression "(*pcVar16)" ( (pointer_expression "*pcVar16" * identifier) )) (argument_list "(iStack_111c)" ( identifier ))))) ;) (while_statement "while( true ) {\n                if (piVar4 == (int *)0x0) {\n                  param_1 = (byte *****)(**(code **)(puStack_1170 + -0x6204))();\n                  ppppbVar11 = (byte ****)pppbStack_1138;\n                  if (*param_1 != (byte ****)0x0) {\n                    ppppbVar11 = *param_1;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  *param_1 = ppppbVar11;\n                  pppppbVar13 = pppppbVar12;\n                  goto LAB_000dfb00;\n                }\n                if (*(char *)((int)piVar4 + 0x13) != '.') break;\n                pppppbVar2 = (byte *****)0xffff0000;\n                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;\n                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;\n                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);\n              }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                if (piVar4 == (int *)0x0) {\n                  param_1 = (byte *****)(**(code **)(puStack_1170 + -0x6204))();\n                  ppppbVar11 = (byte ****)pppbStack_1138;\n                  if (*param_1 != (byte ****)0x0) {\n                    ppppbVar11 = *param_1;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  *param_1 = ppppbVar11;\n                  pppppbVar13 = pppppbVar12;\n                  goto LAB_000dfb00;\n                }\n                if (*(char *)((int)piVar4 + 0x13) != '.') break;\n                pppppbVar2 = (byte *****)0xffff0000;\n                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;\n                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;\n                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);\n              }" { (if_statement "if (piVar4 == (int *)0x0) {\n                  param_1 = (byte *****)(**(code **)(puStack_1170 + -0x6204))();\n                  ppppbVar11 = (byte ****)pppbStack_1138;\n                  if (*param_1 != (byte ****)0x0) {\n                    ppppbVar11 = *param_1;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  *param_1 = ppppbVar11;\n                  pppppbVar13 = pppppbVar12;\n                  goto LAB_000dfb00;\n                }" if (parenthesized_expression "(piVar4 == (int *)0x0)" ( (binary_expression "piVar4 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                  param_1 = (byte *****)(**(code **)(puStack_1170 + -0x6204))();\n                  ppppbVar11 = (byte ****)pppbStack_1138;\n                  if (*param_1 != (byte ****)0x0) {\n                    ppppbVar11 = *param_1;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  *param_1 = ppppbVar11;\n                  pppppbVar13 = pppppbVar12;\n                  goto LAB_000dfb00;\n                }" { (expression_statement "param_1 = (byte *****)(**(code **)(puStack_1170 + -0x6204))();" (assignment_expression "param_1 = (byte *****)(**(code **)(puStack_1170 + -0x6204))()" identifier = (cast_expression "(byte *****)(**(code **)(puStack_1170 + -0x6204))()" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(**(code **)(puStack_1170 + -0x6204))()" (parenthesized_expression "(**(code **)(puStack_1170 + -0x6204))" ( (pointer_expression "**(code **)(puStack_1170 + -0x6204)" * (pointer_expression "*(code **)(puStack_1170 + -0x6204)" * (cast_expression "(code **)(puStack_1170 + -0x6204)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x6204)" ( (binary_expression "puStack_1170 + -0x6204" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "ppppbVar11 = (byte ****)pppbStack_1138;" (assignment_expression "ppppbVar11 = (byte ****)pppbStack_1138" identifier = (cast_expression "(byte ****)pppbStack_1138" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (if_statement "if (*param_1 != (byte ****)0x0) {\n                    ppppbVar11 = *param_1;\n                  }" if (parenthesized_expression "(*param_1 != (byte ****)0x0)" ( (binary_expression "*param_1 != (byte ****)0x0" (pointer_expression "*param_1" * identifier) != (cast_expression "(byte ****)0x0" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) number_literal)) )) (compound_statement "{\n                    ppppbVar11 = *param_1;\n                  }" { (expression_statement "ppppbVar11 = *param_1;" (assignment_expression "ppppbVar11 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;) })) (expression_statement "(**(code **)(puStack_1170 + -0x6338))(iStack_111c);" (call_expression "(**(code **)(puStack_1170 + -0x6338))(iStack_111c)" (parenthesized_expression "(**(code **)(puStack_1170 + -0x6338))" ( (pointer_expression "**(code **)(puStack_1170 + -0x6338)" * (pointer_expression "*(code **)(puStack_1170 + -0x6338)" * (cast_expression "(code **)(puStack_1170 + -0x6338)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x6338)" ( (binary_expression "puStack_1170 + -0x6338" identifier + number_literal) ))))) )) (argument_list "(iStack_111c)" ( identifier ))) ;) (expression_statement "*param_1 = ppppbVar11;" (assignment_expression "*param_1 = ppppbVar11" (pointer_expression "*param_1" * identifier) = identifier) ;) (expression_statement "pppppbVar13 = pppppbVar12;" (assignment_expression "pppppbVar13 = pppppbVar12" identifier = identifier) ;) (goto_statement "goto LAB_000dfb00;" goto statement_identifier ;) })) (if_statement "if (*(char *)((int)piVar4 + 0x13) != '.') break;" if (parenthesized_expression "(*(char *)((int)piVar4 + 0x13) != '.')" ( (binary_expression "*(char *)((int)piVar4 + 0x13) != '.'" (pointer_expression "*(char *)((int)piVar4 + 0x13)" * (cast_expression "(char *)((int)piVar4 + 0x13)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar4 + 0x13)" ( (binary_expression "(int)piVar4 + 0x13" (cast_expression "(int)piVar4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'.'" ' character ')) )) (break_statement "break;" break ;)) (expression_statement "pppppbVar2 = (byte *****)0xffff0000;" (assignment_expression "pppppbVar2 = (byte *****)0xffff0000" identifier = (cast_expression "(byte *****)0xffff0000" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (if_statement "if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;" if (parenthesized_expression "(*(char *)(piVar4 + 5) == '\0')" ( (binary_expression "*(char *)(piVar4 + 5) == '\0'" (pointer_expression "*(char *)(piVar4 + 5)" * (cast_expression "(char *)(piVar4 + 5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar4 + 5)" ( (binary_expression "piVar4 + 5" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000df8ec;" goto statement_identifier ;)) (if_statement "if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;" if (parenthesized_expression "((piVar4[5] & 0xffff0000U) != 0x2e000000)" ( (binary_expression "(piVar4[5] & 0xffff0000U) != 0x2e000000" (parenthesized_expression "(piVar4[5] & 0xffff0000U)" ( (binary_expression "piVar4[5] & 0xffff0000U" (subscript_expression "piVar4[5]" identifier [ number_literal ]) & number_literal) )) != number_literal) )) (break_statement "break;" break ;)) (expression_statement "piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);" (assignment_expression "piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c)" identifier = (cast_expression "(int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puStack_1170 + -0x62c8))(iStack_111c)" (parenthesized_expression "(**(code **)(puStack_1170 + -0x62c8))" ( (pointer_expression "**(code **)(puStack_1170 + -0x62c8)" * (pointer_expression "*(code **)(puStack_1170 + -0x62c8)" * (cast_expression "(code **)(puStack_1170 + -0x62c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x62c8)" ( (binary_expression "puStack_1170 + -0x62c8" identifier + number_literal) ))))) )) (argument_list "(iStack_111c)" ( identifier ))))) ;) })) }) while (parenthesized_expression "((ppppbStack_1120 == ppppbStack_1130) &&\n                    ((pcVar16 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c))))" ( (binary_expression "(ppppbStack_1120 == ppppbStack_1130) &&\n                    ((pcVar16 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c)))" (parenthesized_expression "(ppppbStack_1120 == ppppbStack_1130)" ( (binary_expression "ppppbStack_1120 == ppppbStack_1130" identifier == identifier) )) && (parenthesized_expression "((pcVar16 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c)))" ( (parenthesized_expression "(pcVar16 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c))" ( (comma_expression "pcVar16 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c)" (assignment_expression "pcVar16 = *(code **)(puStack_1170 + -0x62c8)" identifier = (pointer_expression "*(code **)(puStack_1170 + -0x62c8)" * (cast_expression "(code **)(puStack_1170 + -0x62c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x62c8)" ( (binary_expression "puStack_1170 + -0x62c8" identifier + number_literal) ))))) , (binary_expression "*piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c)" (binary_expression "*piVar4 != iStack_112c" (pointer_expression "*piVar4" * identifier) != identifier) || (parenthesized_expression "(piVar4[1] != iStack_113c)" ( (binary_expression "piVar4[1] != iStack_113c" (subscript_expression "piVar4[1]" identifier [ number_literal ]) != identifier) )))) )) ))) )) ;) (expression_statement "param_1 = (byte *****)((int)piVar4 + 0x13);" (assignment_expression "param_1 = (byte *****)((int)piVar4 + 0x13)" identifier = (cast_expression "(byte *****)((int)piVar4 + 0x13)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)piVar4 + 0x13)" ( (binary_expression "(int)piVar4 + 0x13" (cast_expression "(int)piVar4" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "pppppbVar5 = (byte *****)(**(code **)(puStack_1170 + -0x61b0))(param_1);" (assignment_expression "pppppbVar5 = (byte *****)(**(code **)(puStack_1170 + -0x61b0))(param_1)" identifier = (cast_expression "(byte *****)(**(code **)(puStack_1170 + -0x61b0))(param_1)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(**(code **)(puStack_1170 + -0x61b0))(param_1)" (parenthesized_expression "(**(code **)(puStack_1170 + -0x61b0))" ( (pointer_expression "**(code **)(puStack_1170 + -0x61b0)" * (pointer_expression "*(code **)(puStack_1170 + -0x61b0)" * (cast_expression "(code **)(puStack_1170 + -0x61b0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x61b0)" ( (binary_expression "puStack_1170 + -0x61b0" identifier + number_literal) ))))) )) (argument_list "(param_1)" ( identifier ))))) ;) (expression_statement "iVar3 = -((uint)((byte *)((int)unaff_s5 + (int)pppppbVar5) + 8) & 0xfffffff8);" (assignment_expression "iVar3 = -((uint)((byte *)((int)unaff_s5 + (int)pppppbVar5) + 8) & 0xfffffff8)" identifier = (unary_expression "-((uint)((byte *)((int)unaff_s5 + (int)pppppbVar5) + 8) & 0xfffffff8)" - (parenthesized_expression "((uint)((byte *)((int)unaff_s5 + (int)pppppbVar5) + 8) & 0xfffffff8)" ( (binary_expression "(uint)((byte *)((int)unaff_s5 + (int)pppppbVar5) + 8) & 0xfffffff8" (call_expression "(uint)((byte *)((int)unaff_s5 + (int)pppppbVar5) + 8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((byte *)((int)unaff_s5 + (int)pppppbVar5) + 8)" ( (binary_expression "(byte *)((int)unaff_s5 + (int)pppppbVar5) + 8" (cast_expression "(byte *)((int)unaff_s5 + (int)pppppbVar5)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s5 + (int)pppppbVar5)" ( (binary_expression "(int)unaff_s5 + (int)pppppbVar5" (cast_expression "(int)unaff_s5" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppbVar5" ( (type_descriptor "int" primitive_type) ) identifier)) ))) + number_literal) ))) & number_literal) )))) ;) (expression_statement "puVar18 = puVar17 + iVar3;" (assignment_expression "puVar18 = puVar17 + iVar3" identifier = (binary_expression "puVar17 + iVar3" identifier + identifier)) ;) (expression_statement "puVar19 = puVar17 + iVar3;" (assignment_expression "puVar19 = puVar17 + iVar3" identifier = (binary_expression "puVar17 + iVar3" identifier + identifier)) ;) (expression_statement "puVar20 = puVar17 + iVar3;" (assignment_expression "puVar20 = puVar17 + iVar3" identifier = (binary_expression "puVar17 + iVar3" identifier + identifier)) ;) (expression_statement "puVar25 = puVar17 + iVar3;" (assignment_expression "puVar25 = puVar17 + iVar3" identifier = (binary_expression "puVar17 + iVar3" identifier + identifier)) ;) (expression_statement "puVar21 = puVar17 + iVar3;" (assignment_expression "puVar21 = puVar17 + iVar3" identifier = (binary_expression "puVar17 + iVar3" identifier + identifier)) ;) (expression_statement "puVar26 = puVar17 + iVar3;" (assignment_expression "puVar26 = puVar17 + iVar3" identifier = (binary_expression "puVar17 + iVar3" identifier + identifier)) ;) (expression_statement "puVar22 = puVar17 + iVar3;" (assignment_expression "puVar22 = puVar17 + iVar3" identifier = (binary_expression "puVar17 + iVar3" identifier + identifier)) ;) (expression_statement "puVar24 = puVar17 + iVar3;" (assignment_expression "puVar24 = puVar17 + iVar3" identifier = (binary_expression "puVar17 + iVar3" identifier + identifier)) ;) (expression_statement "puVar23 = puVar17 + iVar3;" (assignment_expression "puVar23 = puVar17 + iVar3" identifier = (binary_expression "puVar17 + iVar3" identifier + identifier)) ;) (expression_statement "pppppbVar12 = (byte *****)(puVar17 + iVar3 + 0x10);" (assignment_expression "pppppbVar12 = (byte *****)(puVar17 + iVar3 + 0x10)" identifier = (cast_expression "(byte *****)(puVar17 + iVar3 + 0x10)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(puVar17 + iVar3 + 0x10)" ( (binary_expression "puVar17 + iVar3 + 0x10" (binary_expression "puVar17 + iVar3" identifier + identifier) + number_literal) )))) ;) (expression_statement "(**(code **)(puStack_1170 + -0x605c))(pppppbVar12,ppppbStack_1124,unaff_s3);" (call_expression "(**(code **)(puStack_1170 + -0x605c))(pppppbVar12,ppppbStack_1124,unaff_s3)" (parenthesized_expression "(**(code **)(puStack_1170 + -0x605c))" ( (pointer_expression "**(code **)(puStack_1170 + -0x605c)" * (pointer_expression "*(code **)(puStack_1170 + -0x605c)" * (cast_expression "(code **)(puStack_1170 + -0x605c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x605c)" ( (binary_expression "puStack_1170 + -0x605c" identifier + number_literal) ))))) )) (argument_list "(pppppbVar12,ppppbStack_1124,unaff_s3)" ( identifier , identifier , identifier ))) ;) (expression_statement "puVar15 = puStack_1170;" (assignment_expression "puVar15 = puStack_1170" identifier = identifier) ;) (expression_statement "*(byte *)((int)pppppbVar12 + (int)unaff_s3) = 0x2f;" (assignment_expression "*(byte *)((int)pppppbVar12 + (int)unaff_s3) = 0x2f" (pointer_expression "*(byte *)((int)pppppbVar12 + (int)unaff_s3)" * (cast_expression "(byte *)((int)pppppbVar12 + (int)unaff_s3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppbVar12 + (int)unaff_s3)" ( (binary_expression "(int)pppppbVar12 + (int)unaff_s3" (cast_expression "(int)pppppbVar12" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier)) )))) = number_literal) ;) (expression_statement "(**(code **)(puVar15 + -0x605c))\n                      ((byte *)((int)pppppbVar12 + (int)unaff_s5),param_1,\n                       (byte *)((int)pppppbVar5 + 1));" (call_expression "(**(code **)(puVar15 + -0x605c))\n                      ((byte *)((int)pppppbVar12 + (int)unaff_s5),param_1,\n                       (byte *)((int)pppppbVar5 + 1))" (parenthesized_expression "(**(code **)(puVar15 + -0x605c))" ( (pointer_expression "**(code **)(puVar15 + -0x605c)" * (pointer_expression "*(code **)(puVar15 + -0x605c)" * (cast_expression "(code **)(puVar15 + -0x605c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar15 + -0x605c)" ( (binary_expression "puVar15 + -0x605c" identifier + number_literal) ))))) )) (argument_list "((byte *)((int)pppppbVar12 + (int)unaff_s5),param_1,\n                       (byte *)((int)pppppbVar5 + 1))" ( (cast_expression "(byte *)((int)pppppbVar12 + (int)unaff_s5)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppbVar12 + (int)unaff_s5)" ( (binary_expression "(int)pppppbVar12 + (int)unaff_s5" (cast_expression "(int)pppppbVar12" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)unaff_s5" ( (type_descriptor "int" primitive_type) ) identifier)) ))) , identifier , (cast_expression "(byte *)((int)pppppbVar5 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppppbVar5 + 1)" ( (binary_expression "(int)pppppbVar5 + 1" (cast_expression "(int)pppppbVar5" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) ))) ;) (expression_statement "pppppbVar2 = pppppbVar12;" (assignment_expression "pppppbVar2 = pppppbVar12" identifier = identifier) ;) (expression_statement "param_3 = (byte *****)ppppbStack_1128;" (assignment_expression "param_3 = (byte *****)ppppbStack_1128" identifier = (cast_expression "(byte *****)ppppbStack_1128" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "iVar6 = (**(code **)(puStack_1170 + -0x632c))(3,pppppbVar12);" (assignment_expression "iVar6 = (**(code **)(puStack_1170 + -0x632c))(3,pppppbVar12)" identifier = (call_expression "(**(code **)(puStack_1170 + -0x632c))(3,pppppbVar12)" (parenthesized_expression "(**(code **)(puStack_1170 + -0x632c))" ( (pointer_expression "**(code **)(puStack_1170 + -0x632c)" * (pointer_expression "*(code **)(puStack_1170 + -0x632c)" * (cast_expression "(code **)(puStack_1170 + -0x632c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x632c)" ( (binary_expression "puStack_1170 + -0x632c" identifier + number_literal) ))))) )) (argument_list "(3,pppppbVar12)" ( number_literal , identifier )))) ;) (if_statement "if (iVar6 < 0) {\n              piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))();\n              pppbStack_1138 = (byte ***)*piVar4;\n            }" if (parenthesized_expression "(iVar6 < 0)" ( (binary_expression "iVar6 < 0" identifier < number_literal) )) (compound_statement "{\n              piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))();\n              pppbStack_1138 = (byte ***)*piVar4;\n            }" { (expression_statement "piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))();" (assignment_expression "piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))()" identifier = (cast_expression "(int *)(**(code **)(puStack_1170 + -0x6204))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puStack_1170 + -0x6204))()" (parenthesized_expression "(**(code **)(puStack_1170 + -0x6204))" ( (pointer_expression "**(code **)(puStack_1170 + -0x6204)" * (pointer_expression "*(code **)(puStack_1170 + -0x6204)" * (cast_expression "(code **)(puStack_1170 + -0x6204)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x6204)" ( (binary_expression "puStack_1170 + -0x6204" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "pppbStack_1138 = (byte ***)*piVar4;" (assignment_expression "pppbStack_1138 = (byte ***)*piVar4" identifier = (cast_expression "(byte ***)*piVar4" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (pointer_expression "*piVar4" * identifier))) ;) })) (expression_statement "pppppbVar13 = (byte *****)ppppbStack_1158;" (assignment_expression "pppppbVar13 = (byte *****)ppppbStack_1158" identifier = (cast_expression "(byte *****)ppppbStack_1158" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pcVar16 = *(code **)(puStack_1170 + -0x62c8);" (assignment_expression "pcVar16 = *(code **)(puStack_1170 + -0x62c8)" identifier = (pointer_expression "*(code **)(puStack_1170 + -0x62c8)" * (cast_expression "(code **)(puStack_1170 + -0x62c8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x62c8)" ( (binary_expression "puStack_1170 + -0x62c8" identifier + number_literal) ))))) ;) (expression_statement "puVar17 = puVar17 + iVar3;" (assignment_expression "puVar17 = puVar17 + iVar3" identifier = (binary_expression "puVar17 + iVar3" identifier + identifier)) ;) }) while (parenthesized_expression "((appppbStack_1118[0] != ppppbStack_1120) ||\n                  (puVar17 = puVar18, iStack_1108 != iStack_112c))" ( (binary_expression "(appppbStack_1118[0] != ppppbStack_1120) ||\n                  (puVar17 = puVar18, iStack_1108 != iStack_112c)" (parenthesized_expression "(appppbStack_1118[0] != ppppbStack_1120)" ( (binary_expression "appppbStack_1118[0] != ppppbStack_1120" (subscript_expression "appppbStack_1118[0]" identifier [ number_literal ]) != identifier) )) || (parenthesized_expression "(puVar17 = puVar18, iStack_1108 != iStack_112c)" ( (comma_expression "puVar17 = puVar18, iStack_1108 != iStack_112c" (assignment_expression "puVar17 = puVar18" identifier = identifier) , (binary_expression "iStack_1108 != iStack_112c" identifier != identifier)) ))) )) ;) (expression_statement "puVar17 = puVar19;" (assignment_expression "puVar17 = puVar19" identifier = identifier) ;) }) while (parenthesized_expression "(iStack_1104 != iStack_113c)" ( (binary_expression "iStack_1104 != iStack_113c" identifier != identifier) )) ;)) (expression_statement "pppppbVar9 = param_1;" (assignment_expression "pppppbVar9 = param_1" identifier = identifier) ;) (expression_statement "unaff_s3 = (byte *****)((int)pppppbVar14 - (int)unaff_s1);" (assignment_expression "unaff_s3 = (byte *****)((int)pppppbVar14 - (int)unaff_s1)" identifier = (cast_expression "(byte *****)((int)pppppbVar14 - (int)unaff_s1)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)pppppbVar14 - (int)unaff_s1)" ( (binary_expression "(int)pppppbVar14 - (int)unaff_s1" (cast_expression "(int)pppppbVar14" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)unaff_s1" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "unaff_s5 = unaff_s6;" (assignment_expression "unaff_s5 = unaff_s6" identifier = identifier) ;) (while_statement "while (unaff_s3 <= pppppbVar5) {\n          unaff_s6 = (byte *****)((int)unaff_s5 << 1);\n          ppppbStack_1120 = (byte ****)pppppbVar9;\n          if (pppppbVar10 == pppppbVar13) {\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pppppbVar9 = (byte *****)0x0;\n              ppppbStack_44 = (byte ****)pppppbVar2;\n              if ((ppppbStack_1134 == ppppbStack_1148) ||\n                 (pppppbVar10 = (byte *****)ppppbStack_1158, puVar26 = puVar22,\n                 (byte *****)ppppbStack_1134 == (byte *****)0x0)) goto LAB_000dfb60;\n              goto LAB_000dfb18;\n            }\n          }\n          else {\n            pppppbVar2 = unaff_s6;\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(pppppbVar10,unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar20;\n              if (ppppbStack_1134 == ppppbStack_1148) goto LAB_000dfcc0;\n              pcVar16 = *(code **)(puStack_1170 + -0x6204);\n              if ((byte *****)ppppbStack_1134 != (byte *****)0x0) goto LAB_000dfb1c;\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar21;\n              goto LAB_000dfcc0;\n            }\n            pppppbVar14 = (byte *****)((int)unaff_s1 + (int)unaff_s3);\n          }\n          param_1 = (byte *****)((int)unaff_s5 + (int)unaff_s3);\n          param_3 = (byte *****)((int)unaff_s5 - (int)unaff_s3);\n          (**(code **)(puStack_1170 + -0x605c))((byte *****)((int)unaff_s1 + (int)param_1));\n          pppppbVar9 = (byte *****)ppppbStack_1120;\n          pppppbVar12 = pppppbVar13;\n          unaff_s3 = param_1;\n          pppppbVar2 = pppppbVar14;\n          pppppbVar10 = unaff_s1;\n          unaff_s5 = unaff_s6;\n          pppppbVar14 = (byte *****)((int)unaff_s1 + (int)param_1);\n        }" while (parenthesized_expression "(unaff_s3 <= pppppbVar5)" ( (binary_expression "unaff_s3 <= pppppbVar5" identifier <= identifier) )) (compound_statement "{\n          unaff_s6 = (byte *****)((int)unaff_s5 << 1);\n          ppppbStack_1120 = (byte ****)pppppbVar9;\n          if (pppppbVar10 == pppppbVar13) {\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pppppbVar9 = (byte *****)0x0;\n              ppppbStack_44 = (byte ****)pppppbVar2;\n              if ((ppppbStack_1134 == ppppbStack_1148) ||\n                 (pppppbVar10 = (byte *****)ppppbStack_1158, puVar26 = puVar22,\n                 (byte *****)ppppbStack_1134 == (byte *****)0x0)) goto LAB_000dfb60;\n              goto LAB_000dfb18;\n            }\n          }\n          else {\n            pppppbVar2 = unaff_s6;\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(pppppbVar10,unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar20;\n              if (ppppbStack_1134 == ppppbStack_1148) goto LAB_000dfcc0;\n              pcVar16 = *(code **)(puStack_1170 + -0x6204);\n              if ((byte *****)ppppbStack_1134 != (byte *****)0x0) goto LAB_000dfb1c;\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar21;\n              goto LAB_000dfcc0;\n            }\n            pppppbVar14 = (byte *****)((int)unaff_s1 + (int)unaff_s3);\n          }\n          param_1 = (byte *****)((int)unaff_s5 + (int)unaff_s3);\n          param_3 = (byte *****)((int)unaff_s5 - (int)unaff_s3);\n          (**(code **)(puStack_1170 + -0x605c))((byte *****)((int)unaff_s1 + (int)param_1));\n          pppppbVar9 = (byte *****)ppppbStack_1120;\n          pppppbVar12 = pppppbVar13;\n          unaff_s3 = param_1;\n          pppppbVar2 = pppppbVar14;\n          pppppbVar10 = unaff_s1;\n          unaff_s5 = unaff_s6;\n          pppppbVar14 = (byte *****)((int)unaff_s1 + (int)param_1);\n        }" { (expression_statement "unaff_s6 = (byte *****)((int)unaff_s5 << 1);" (assignment_expression "unaff_s6 = (byte *****)((int)unaff_s5 << 1)" identifier = (cast_expression "(byte *****)((int)unaff_s5 << 1)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)unaff_s5 << 1)" ( (binary_expression "(int)unaff_s5 << 1" (cast_expression "(int)unaff_s5" ( (type_descriptor "int" primitive_type) ) identifier) << number_literal) )))) ;) (expression_statement "ppppbStack_1120 = (byte ****)pppppbVar9;" (assignment_expression "ppppbStack_1120 = (byte ****)pppppbVar9" identifier = (cast_expression "(byte ****)pppppbVar9" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (if_statement "if (pppppbVar10 == pppppbVar13) {\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pppppbVar9 = (byte *****)0x0;\n              ppppbStack_44 = (byte ****)pppppbVar2;\n              if ((ppppbStack_1134 == ppppbStack_1148) ||\n                 (pppppbVar10 = (byte *****)ppppbStack_1158, puVar26 = puVar22,\n                 (byte *****)ppppbStack_1134 == (byte *****)0x0)) goto LAB_000dfb60;\n              goto LAB_000dfb18;\n            }\n          }\n          else {\n            pppppbVar2 = unaff_s6;\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(pppppbVar10,unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar20;\n              if (ppppbStack_1134 == ppppbStack_1148) goto LAB_000dfcc0;\n              pcVar16 = *(code **)(puStack_1170 + -0x6204);\n              if ((byte *****)ppppbStack_1134 != (byte *****)0x0) goto LAB_000dfb1c;\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar21;\n              goto LAB_000dfcc0;\n            }\n            pppppbVar14 = (byte *****)((int)unaff_s1 + (int)unaff_s3);\n          }" if (parenthesized_expression "(pppppbVar10 == pppppbVar13)" ( (binary_expression "pppppbVar10 == pppppbVar13" identifier == identifier) )) (compound_statement "{\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pppppbVar9 = (byte *****)0x0;\n              ppppbStack_44 = (byte ****)pppppbVar2;\n              if ((ppppbStack_1134 == ppppbStack_1148) ||\n                 (pppppbVar10 = (byte *****)ppppbStack_1158, puVar26 = puVar22,\n                 (byte *****)ppppbStack_1134 == (byte *****)0x0)) goto LAB_000dfb60;\n              goto LAB_000dfb18;\n            }\n          }" { (expression_statement "unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(unaff_s6);" (assignment_expression "unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(unaff_s6)" identifier = (cast_expression "(byte *****)(**(code **)(puStack_1170 + -0x6158))(unaff_s6)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(**(code **)(puStack_1170 + -0x6158))(unaff_s6)" (parenthesized_expression "(**(code **)(puStack_1170 + -0x6158))" ( (pointer_expression "**(code **)(puStack_1170 + -0x6158)" * (pointer_expression "*(code **)(puStack_1170 + -0x6158)" * (cast_expression "(code **)(puStack_1170 + -0x6158)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x6158)" ( (binary_expression "puStack_1170 + -0x6158" identifier + number_literal) ))))) )) (argument_list "(unaff_s6)" ( identifier ))))) ;) (if_statement "if (unaff_s1 == (byte *****)0x0) {\n              pppppbVar9 = (byte *****)0x0;\n              ppppbStack_44 = (byte ****)pppppbVar2;\n              if ((ppppbStack_1134 == ppppbStack_1148) ||\n                 (pppppbVar10 = (byte *****)ppppbStack_1158, puVar26 = puVar22,\n                 (byte *****)ppppbStack_1134 == (byte *****)0x0)) goto LAB_000dfb60;\n              goto LAB_000dfb18;\n            }" if (parenthesized_expression "(unaff_s1 == (byte *****)0x0)" ( (binary_expression "unaff_s1 == (byte *****)0x0" identifier == (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n              pppppbVar9 = (byte *****)0x0;\n              ppppbStack_44 = (byte ****)pppppbVar2;\n              if ((ppppbStack_1134 == ppppbStack_1148) ||\n                 (pppppbVar10 = (byte *****)ppppbStack_1158, puVar26 = puVar22,\n                 (byte *****)ppppbStack_1134 == (byte *****)0x0)) goto LAB_000dfb60;\n              goto LAB_000dfb18;\n            }" { (expression_statement "pppppbVar9 = (byte *****)0x0;" (assignment_expression "pppppbVar9 = (byte *****)0x0" identifier = (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "ppppbStack_44 = (byte ****)pppppbVar2;" (assignment_expression "ppppbStack_44 = (byte ****)pppppbVar2" identifier = (cast_expression "(byte ****)pppppbVar2" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (if_statement "if ((ppppbStack_1134 == ppppbStack_1148) ||\n                 (pppppbVar10 = (byte *****)ppppbStack_1158, puVar26 = puVar22,\n                 (byte *****)ppppbStack_1134 == (byte *****)0x0)) goto LAB_000dfb60;" if (parenthesized_expression "((ppppbStack_1134 == ppppbStack_1148) ||\n                 (pppppbVar10 = (byte *****)ppppbStack_1158, puVar26 = puVar22,\n                 (byte *****)ppppbStack_1134 == (byte *****)0x0))" ( (binary_expression "(ppppbStack_1134 == ppppbStack_1148) ||\n                 (pppppbVar10 = (byte *****)ppppbStack_1158, puVar26 = puVar22,\n                 (byte *****)ppppbStack_1134 == (byte *****)0x0)" (parenthesized_expression "(ppppbStack_1134 == ppppbStack_1148)" ( (binary_expression "ppppbStack_1134 == ppppbStack_1148" identifier == identifier) )) || (parenthesized_expression "(pppppbVar10 = (byte *****)ppppbStack_1158, puVar26 = puVar22,\n                 (byte *****)ppppbStack_1134 == (byte *****)0x0)" ( (comma_expression "pppppbVar10 = (byte *****)ppppbStack_1158, puVar26 = puVar22,\n                 (byte *****)ppppbStack_1134 == (byte *****)0x0" (assignment_expression "pppppbVar10 = (byte *****)ppppbStack_1158" identifier = (cast_expression "(byte *****)ppppbStack_1158" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) , (comma_expression "puVar26 = puVar22,\n                 (byte *****)ppppbStack_1134 == (byte *****)0x0" (assignment_expression "puVar26 = puVar22" identifier = identifier) , (binary_expression "(byte *****)ppppbStack_1134 == (byte *****)0x0" (cast_expression "(byte *****)ppppbStack_1134" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier) == (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)))) ))) )) (goto_statement "goto LAB_000dfb60;" goto statement_identifier ;)) (goto_statement "goto LAB_000dfb18;" goto statement_identifier ;) })) }) (else_clause "else {\n            pppppbVar2 = unaff_s6;\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(pppppbVar10,unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar20;\n              if (ppppbStack_1134 == ppppbStack_1148) goto LAB_000dfcc0;\n              pcVar16 = *(code **)(puStack_1170 + -0x6204);\n              if ((byte *****)ppppbStack_1134 != (byte *****)0x0) goto LAB_000dfb1c;\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar21;\n              goto LAB_000dfcc0;\n            }\n            pppppbVar14 = (byte *****)((int)unaff_s1 + (int)unaff_s3);\n          }" else (compound_statement "{\n            pppppbVar2 = unaff_s6;\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(pppppbVar10,unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar20;\n              if (ppppbStack_1134 == ppppbStack_1148) goto LAB_000dfcc0;\n              pcVar16 = *(code **)(puStack_1170 + -0x6204);\n              if ((byte *****)ppppbStack_1134 != (byte *****)0x0) goto LAB_000dfb1c;\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar21;\n              goto LAB_000dfcc0;\n            }\n            pppppbVar14 = (byte *****)((int)unaff_s1 + (int)unaff_s3);\n          }" { (expression_statement "pppppbVar2 = unaff_s6;" (assignment_expression "pppppbVar2 = unaff_s6" identifier = identifier) ;) (expression_statement "unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(pppppbVar10,unaff_s6);" (assignment_expression "unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(pppppbVar10,unaff_s6)" identifier = (cast_expression "(byte *****)(**(code **)(puStack_1170 + -0x614c))(pppppbVar10,unaff_s6)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(**(code **)(puStack_1170 + -0x614c))(pppppbVar10,unaff_s6)" (parenthesized_expression "(**(code **)(puStack_1170 + -0x614c))" ( (pointer_expression "**(code **)(puStack_1170 + -0x614c)" * (pointer_expression "*(code **)(puStack_1170 + -0x614c)" * (cast_expression "(code **)(puStack_1170 + -0x614c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x614c)" ( (binary_expression "puStack_1170 + -0x614c" identifier + number_literal) ))))) )) (argument_list "(pppppbVar10,unaff_s6)" ( identifier , identifier ))))) ;) (if_statement "if (unaff_s1 == (byte *****)0x0) {\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar20;\n              if (ppppbStack_1134 == ppppbStack_1148) goto LAB_000dfcc0;\n              pcVar16 = *(code **)(puStack_1170 + -0x6204);\n              if ((byte *****)ppppbStack_1134 != (byte *****)0x0) goto LAB_000dfb1c;\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar21;\n              goto LAB_000dfcc0;\n            }" if (parenthesized_expression "(unaff_s1 == (byte *****)0x0)" ( (binary_expression "unaff_s1 == (byte *****)0x0" identifier == (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar20;\n              if (ppppbStack_1134 == ppppbStack_1148) goto LAB_000dfcc0;\n              pcVar16 = *(code **)(puStack_1170 + -0x6204);\n              if ((byte *****)ppppbStack_1134 != (byte *****)0x0) goto LAB_000dfb1c;\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar21;\n              goto LAB_000dfcc0;\n            }" { (expression_statement "pcVar16 = *(code **)(puStack_1170 + -0x6044);" (assignment_expression "pcVar16 = *(code **)(puStack_1170 + -0x6044)" identifier = (pointer_expression "*(code **)(puStack_1170 + -0x6044)" * (cast_expression "(code **)(puStack_1170 + -0x6044)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x6044)" ( (binary_expression "puStack_1170 + -0x6044" identifier + number_literal) ))))) ;) (expression_statement "puVar26 = puVar20;" (assignment_expression "puVar26 = puVar20" identifier = identifier) ;) (if_statement "if (ppppbStack_1134 == ppppbStack_1148) goto LAB_000dfcc0;" if (parenthesized_expression "(ppppbStack_1134 == ppppbStack_1148)" ( (binary_expression "ppppbStack_1134 == ppppbStack_1148" identifier == identifier) )) (goto_statement "goto LAB_000dfcc0;" goto statement_identifier ;)) (expression_statement "pcVar16 = *(code **)(puStack_1170 + -0x6204);" (assignment_expression "pcVar16 = *(code **)(puStack_1170 + -0x6204)" identifier = (pointer_expression "*(code **)(puStack_1170 + -0x6204)" * (cast_expression "(code **)(puStack_1170 + -0x6204)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x6204)" ( (binary_expression "puStack_1170 + -0x6204" identifier + number_literal) ))))) ;) (if_statement "if ((byte *****)ppppbStack_1134 != (byte *****)0x0) goto LAB_000dfb1c;" if (parenthesized_expression "((byte *****)ppppbStack_1134 != (byte *****)0x0)" ( (binary_expression "(byte *****)ppppbStack_1134 != (byte *****)0x0" (cast_expression "(byte *****)ppppbStack_1134" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier) != (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (goto_statement "goto LAB_000dfb1c;" goto statement_identifier ;)) (expression_statement "pcVar16 = *(code **)(puStack_1170 + -0x6044);" (assignment_expression "pcVar16 = *(code **)(puStack_1170 + -0x6044)" identifier = (pointer_expression "*(code **)(puStack_1170 + -0x6044)" * (cast_expression "(code **)(puStack_1170 + -0x6044)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x6044)" ( (binary_expression "puStack_1170 + -0x6044" identifier + number_literal) ))))) ;) (expression_statement "puVar26 = puVar21;" (assignment_expression "puVar26 = puVar21" identifier = identifier) ;) (goto_statement "goto LAB_000dfcc0;" goto statement_identifier ;) })) (expression_statement "pppppbVar14 = (byte *****)((int)unaff_s1 + (int)unaff_s3);" (assignment_expression "pppppbVar14 = (byte *****)((int)unaff_s1 + (int)unaff_s3)" identifier = (cast_expression "(byte *****)((int)unaff_s1 + (int)unaff_s3)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)unaff_s1 + (int)unaff_s3)" ( (binary_expression "(int)unaff_s1 + (int)unaff_s3" (cast_expression "(int)unaff_s1" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) }))) (expression_statement "param_1 = (byte *****)((int)unaff_s5 + (int)unaff_s3);" (assignment_expression "param_1 = (byte *****)((int)unaff_s5 + (int)unaff_s3)" identifier = (cast_expression "(byte *****)((int)unaff_s5 + (int)unaff_s3)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)unaff_s5 + (int)unaff_s3)" ( (binary_expression "(int)unaff_s5 + (int)unaff_s3" (cast_expression "(int)unaff_s5" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "param_3 = (byte *****)((int)unaff_s5 - (int)unaff_s3);" (assignment_expression "param_3 = (byte *****)((int)unaff_s5 - (int)unaff_s3)" identifier = (cast_expression "(byte *****)((int)unaff_s5 - (int)unaff_s3)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)unaff_s5 - (int)unaff_s3)" ( (binary_expression "(int)unaff_s5 - (int)unaff_s3" (cast_expression "(int)unaff_s5" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)unaff_s3" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "(**(code **)(puStack_1170 + -0x605c))((byte *****)((int)unaff_s1 + (int)param_1));" (call_expression "(**(code **)(puStack_1170 + -0x605c))((byte *****)((int)unaff_s1 + (int)param_1))" (parenthesized_expression "(**(code **)(puStack_1170 + -0x605c))" ( (pointer_expression "**(code **)(puStack_1170 + -0x605c)" * (pointer_expression "*(code **)(puStack_1170 + -0x605c)" * (cast_expression "(code **)(puStack_1170 + -0x605c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x605c)" ( (binary_expression "puStack_1170 + -0x605c" identifier + number_literal) ))))) )) (argument_list "((byte *****)((int)unaff_s1 + (int)param_1))" ( (cast_expression "(byte *****)((int)unaff_s1 + (int)param_1)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)unaff_s1 + (int)param_1)" ( (binary_expression "(int)unaff_s1 + (int)param_1" (cast_expression "(int)unaff_s1" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ))) ;) (expression_statement "pppppbVar9 = (byte *****)ppppbStack_1120;" (assignment_expression "pppppbVar9 = (byte *****)ppppbStack_1120" identifier = (cast_expression "(byte *****)ppppbStack_1120" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (expression_statement "pppppbVar12 = pppppbVar13;" (assignment_expression "pppppbVar12 = pppppbVar13" identifier = identifier) ;) (expression_statement "unaff_s3 = param_1;" (assignment_expression "unaff_s3 = param_1" identifier = identifier) ;) (expression_statement "pppppbVar2 = pppppbVar14;" (assignment_expression "pppppbVar2 = pppppbVar14" identifier = identifier) ;) (expression_statement "pppppbVar10 = unaff_s1;" (assignment_expression "pppppbVar10 = unaff_s1" identifier = identifier) ;) (expression_statement "unaff_s5 = unaff_s6;" (assignment_expression "unaff_s5 = unaff_s6" identifier = identifier) ;) (expression_statement "pppppbVar14 = (byte *****)((int)unaff_s1 + (int)param_1);" (assignment_expression "pppppbVar14 = (byte *****)((int)unaff_s1 + (int)param_1)" identifier = (cast_expression "(byte *****)((int)unaff_s1 + (int)param_1)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)unaff_s1 + (int)param_1)" ( (binary_expression "(int)unaff_s1 + (int)param_1" (cast_expression "(int)unaff_s1" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) })) (expression_statement "iVar3 = (**(code **)(puStack_1170 + -0x605c))((int)pppppbVar14 - (int)pppppbVar5);" (assignment_expression "iVar3 = (**(code **)(puStack_1170 + -0x605c))((int)pppppbVar14 - (int)pppppbVar5)" identifier = (call_expression "(**(code **)(puStack_1170 + -0x605c))((int)pppppbVar14 - (int)pppppbVar5)" (parenthesized_expression "(**(code **)(puStack_1170 + -0x605c))" ( (pointer_expression "**(code **)(puStack_1170 + -0x605c)" * (pointer_expression "*(code **)(puStack_1170 + -0x605c)" * (cast_expression "(code **)(puStack_1170 + -0x605c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x605c)" ( (binary_expression "puStack_1170 + -0x605c" identifier + number_literal) ))))) )) (argument_list "((int)pppppbVar14 - (int)pppppbVar5)" ( (binary_expression "(int)pppppbVar14 - (int)pppppbVar5" (cast_expression "(int)pppppbVar14" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppppbVar5" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pppppbVar14 = (byte *****)(iVar3 + -1);" (assignment_expression "pppppbVar14 = (byte *****)(iVar3 + -1)" identifier = (cast_expression "(byte *****)(iVar3 + -1)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "(iVar3 + -1)" ( (binary_expression "iVar3 + -1" identifier + number_literal) )))) ;) (expression_statement "pcVar16 = *(code **)(puStack_1170 + -0x6338);" (assignment_expression "pcVar16 = *(code **)(puStack_1170 + -0x6338)" identifier = (pointer_expression "*(code **)(puStack_1170 + -0x6338)" * (cast_expression "(code **)(puStack_1170 + -0x6338)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x6338)" ( (binary_expression "puStack_1170 + -0x6338" identifier + number_literal) ))))) ;) (expression_statement "*(undefined1 *)(iVar3 + -1) = 0x2f;" (assignment_expression "*(undefined1 *)(iVar3 + -1) = 0x2f" (pointer_expression "*(undefined1 *)(iVar3 + -1)" * (cast_expression "(undefined1 *)(iVar3 + -1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + -1)" ( (binary_expression "iVar3 + -1" identifier + number_literal) )))) = number_literal) ;) (expression_statement "(*pcVar16)(iStack_111c);" (call_expression "(*pcVar16)(iStack_111c)" (parenthesized_expression "(*pcVar16)" ( (pointer_expression "*pcVar16" * identifier) )) (argument_list "(iStack_111c)" ( identifier ))) ;) (expression_statement "iStack_112c = iStack_1150;" (assignment_expression "iStack_112c = iStack_1150" identifier = identifier) ;) (expression_statement "ppppbStack_1120 = ppppbStack_1130;" (assignment_expression "ppppbStack_1120 = ppppbStack_1130" identifier = identifier) ;) (expression_statement "param_3 = pppppbVar5;" (assignment_expression "param_3 = pppppbVar5" identifier = identifier) ;) (expression_statement "unaff_s1 = pppppbVar10;" (assignment_expression "unaff_s1 = pppppbVar10" identifier = identifier) ;) (expression_statement "pppppbVar13 = pppppbVar12;" (assignment_expression "pppppbVar13 = pppppbVar12" identifier = identifier) ;) (expression_statement "unaff_s6 = unaff_s5;" (assignment_expression "unaff_s6 = unaff_s5" identifier = identifier) ;) (expression_statement "puVar26 = puVar23;" (assignment_expression "puVar26 = puVar23" identifier = identifier) ;) (expression_statement "iStack_113c = iStack_1154;" (assignment_expression "iStack_113c = iStack_1154" identifier = identifier) ;) })) (if_statement "if (pppppbVar14 == (byte *****)ppppbStack_1168) {\n        pppppbVar14 = (byte *****)&uStack_79;\n        uStack_79 = 0x2f;\n      }" if (parenthesized_expression "(pppppbVar14 == (byte *****)ppppbStack_1168)" ( (binary_expression "pppppbVar14 == (byte *****)ppppbStack_1168" identifier == (cast_expression "(byte *****)ppppbStack_1168" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) )) (compound_statement "{\n        pppppbVar14 = (byte *****)&uStack_79;\n        uStack_79 = 0x2f;\n      }" { (expression_statement "pppppbVar14 = (byte *****)&uStack_79;" (assignment_expression "pppppbVar14 = (byte *****)&uStack_79" identifier = (cast_expression "(byte *****)&uStack_79" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (pointer_expression "&uStack_79" & identifier))) ;) (expression_statement "uStack_79 = 0x2f;" (assignment_expression "uStack_79 = 0x2f" identifier = number_literal) ;) })) (expression_statement "pppppbVar2 = pppppbVar9;" (assignment_expression "pppppbVar2 = pppppbVar9" identifier = identifier) ;) (if_statement "if (ppppbStack_1134 != ppppbStack_1148) {\n        (**(code **)(puStack_1170 + -0x6044))();\n        pppppbVar2 = pppppbVar9;\n      }" if (parenthesized_expression "(ppppbStack_1134 != ppppbStack_1148)" ( (binary_expression "ppppbStack_1134 != ppppbStack_1148" identifier != identifier) )) (compound_statement "{\n        (**(code **)(puStack_1170 + -0x6044))();\n        pppppbVar2 = pppppbVar9;\n      }" { (expression_statement "(**(code **)(puStack_1170 + -0x6044))();" (call_expression "(**(code **)(puStack_1170 + -0x6044))()" (parenthesized_expression "(**(code **)(puStack_1170 + -0x6044))" ( (pointer_expression "**(code **)(puStack_1170 + -0x6044)" * (pointer_expression "*(code **)(puStack_1170 + -0x6044)" * (cast_expression "(code **)(puStack_1170 + -0x6044)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x6044)" ( (binary_expression "puStack_1170 + -0x6044" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "pppppbVar2 = pppppbVar9;" (assignment_expression "pppppbVar2 = pppppbVar9" identifier = identifier) ;) })) (expression_statement "param_1 = (byte *****)((byte *)((int)unaff_s1 + (int)unaff_s6) + -(int)pppppbVar14);" (assignment_expression "param_1 = (byte *****)((byte *)((int)unaff_s1 + (int)unaff_s6) + -(int)pppppbVar14)" identifier = (cast_expression "(byte *****)((byte *)((int)unaff_s1 + (int)unaff_s6) + -(int)pppppbVar14)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((byte *)((int)unaff_s1 + (int)unaff_s6) + -(int)pppppbVar14)" ( (binary_expression "(byte *)((int)unaff_s1 + (int)unaff_s6) + -(int)pppppbVar14" (cast_expression "(byte *)((int)unaff_s1 + (int)unaff_s6)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s1 + (int)unaff_s6)" ( (binary_expression "(int)unaff_s1 + (int)unaff_s6" (cast_expression "(int)unaff_s1" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)unaff_s6" ( (type_descriptor "int" primitive_type) ) identifier)) ))) + (unary_expression "-(int)pppppbVar14" - (cast_expression "(int)pppppbVar14" ( (type_descriptor "int" primitive_type) ) identifier))) )))) ;) (if_statement "if ((byte *****)ppppbStack_115c == (byte *****)0x0) {\n        if ((byte *****)ppppbStack_44 == (byte *****)0x0) {\n          pcVar16 = *(code **)(puStack_1170 + -0x6158);\n          ppppbStack_44 = (byte ****)param_1;\n        }\n        else {\n          pcVar16 = *(code **)(puStack_1170 + -0x6158);\n          if (ppppbStack_44 < param_1) goto LAB_000dfda0;\n        }\n        pppppbVar9 = (byte *****)(*pcVar16)(ppppbStack_44);\n        if (pppppbVar9 != (byte *****)0x0) goto LAB_000dfc70;\n      }\n      else {\n        pppppbVar9 = (byte *****)ppppbStack_115c;\n        if (param_1 <= ppppbStack_44) {\nLAB_000dfc70:\n          param_3 = param_1;\n          (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,pppppbVar14);\n          ppppbStack_44 = (byte ****)pppppbVar14;\n          if (unaff_s1 != (byte *****)ppppbStack_1158) {\n            (**(code **)(puStack_1170 + -0x6044))(unaff_s1);\n            ppppbStack_44 = (byte ****)pppppbVar14;\n          }\n          goto LAB_000dfb60;\n        }\nLAB_000dfda0:\n        puVar7 = (undefined4 *)(**(code **)(puStack_1170 + -0x6204))();\n        *puVar7 = 0x22;\n      }" if (parenthesized_expression "((byte *****)ppppbStack_115c == (byte *****)0x0)" ( (binary_expression "(byte *****)ppppbStack_115c == (byte *****)0x0" (cast_expression "(byte *****)ppppbStack_115c" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier) == (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n        if ((byte *****)ppppbStack_44 == (byte *****)0x0) {\n          pcVar16 = *(code **)(puStack_1170 + -0x6158);\n          ppppbStack_44 = (byte ****)param_1;\n        }\n        else {\n          pcVar16 = *(code **)(puStack_1170 + -0x6158);\n          if (ppppbStack_44 < param_1) goto LAB_000dfda0;\n        }\n        pppppbVar9 = (byte *****)(*pcVar16)(ppppbStack_44);\n        if (pppppbVar9 != (byte *****)0x0) goto LAB_000dfc70;\n      }" { (if_statement "if ((byte *****)ppppbStack_44 == (byte *****)0x0) {\n          pcVar16 = *(code **)(puStack_1170 + -0x6158);\n          ppppbStack_44 = (byte ****)param_1;\n        }\n        else {\n          pcVar16 = *(code **)(puStack_1170 + -0x6158);\n          if (ppppbStack_44 < param_1) goto LAB_000dfda0;\n        }" if (parenthesized_expression "((byte *****)ppppbStack_44 == (byte *****)0x0)" ( (binary_expression "(byte *****)ppppbStack_44 == (byte *****)0x0" (cast_expression "(byte *****)ppppbStack_44" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier) == (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\n          pcVar16 = *(code **)(puStack_1170 + -0x6158);\n          ppppbStack_44 = (byte ****)param_1;\n        }" { (expression_statement "pcVar16 = *(code **)(puStack_1170 + -0x6158);" (assignment_expression "pcVar16 = *(code **)(puStack_1170 + -0x6158)" identifier = (pointer_expression "*(code **)(puStack_1170 + -0x6158)" * (cast_expression "(code **)(puStack_1170 + -0x6158)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x6158)" ( (binary_expression "puStack_1170 + -0x6158" identifier + number_literal) ))))) ;) (expression_statement "ppppbStack_44 = (byte ****)param_1;" (assignment_expression "ppppbStack_44 = (byte ****)param_1" identifier = (cast_expression "(byte ****)param_1" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) }) (else_clause "else {\n          pcVar16 = *(code **)(puStack_1170 + -0x6158);\n          if (ppppbStack_44 < param_1) goto LAB_000dfda0;\n        }" else (compound_statement "{\n          pcVar16 = *(code **)(puStack_1170 + -0x6158);\n          if (ppppbStack_44 < param_1) goto LAB_000dfda0;\n        }" { (expression_statement "pcVar16 = *(code **)(puStack_1170 + -0x6158);" (assignment_expression "pcVar16 = *(code **)(puStack_1170 + -0x6158)" identifier = (pointer_expression "*(code **)(puStack_1170 + -0x6158)" * (cast_expression "(code **)(puStack_1170 + -0x6158)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x6158)" ( (binary_expression "puStack_1170 + -0x6158" identifier + number_literal) ))))) ;) (if_statement "if (ppppbStack_44 < param_1) goto LAB_000dfda0;" if (parenthesized_expression "(ppppbStack_44 < param_1)" ( (binary_expression "ppppbStack_44 < param_1" identifier < identifier) )) (goto_statement "goto LAB_000dfda0;" goto statement_identifier ;)) }))) (expression_statement "pppppbVar9 = (byte *****)(*pcVar16)(ppppbStack_44);" (assignment_expression "pppppbVar9 = (byte *****)(*pcVar16)(ppppbStack_44)" identifier = (cast_expression "(byte *****)(*pcVar16)(ppppbStack_44)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (call_expression "(*pcVar16)(ppppbStack_44)" (parenthesized_expression "(*pcVar16)" ( (pointer_expression "*pcVar16" * identifier) )) (argument_list "(ppppbStack_44)" ( identifier ))))) ;) (if_statement "if (pppppbVar9 != (byte *****)0x0) goto LAB_000dfc70;" if (parenthesized_expression "(pppppbVar9 != (byte *****)0x0)" ( (binary_expression "pppppbVar9 != (byte *****)0x0" identifier != (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (goto_statement "goto LAB_000dfc70;" goto statement_identifier ;)) }) (else_clause "else {\n        pppppbVar9 = (byte *****)ppppbStack_115c;\n        if (param_1 <= ppppbStack_44) {\nLAB_000dfc70:\n          param_3 = param_1;\n          (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,pppppbVar14);\n          ppppbStack_44 = (byte ****)pppppbVar14;\n          if (unaff_s1 != (byte *****)ppppbStack_1158) {\n            (**(code **)(puStack_1170 + -0x6044))(unaff_s1);\n            ppppbStack_44 = (byte ****)pppppbVar14;\n          }\n          goto LAB_000dfb60;\n        }\nLAB_000dfda0:\n        puVar7 = (undefined4 *)(**(code **)(puStack_1170 + -0x6204))();\n        *puVar7 = 0x22;\n      }" else (compound_statement "{\n        pppppbVar9 = (byte *****)ppppbStack_115c;\n        if (param_1 <= ppppbStack_44) {\nLAB_000dfc70:\n          param_3 = param_1;\n          (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,pppppbVar14);\n          ppppbStack_44 = (byte ****)pppppbVar14;\n          if (unaff_s1 != (byte *****)ppppbStack_1158) {\n            (**(code **)(puStack_1170 + -0x6044))(unaff_s1);\n            ppppbStack_44 = (byte ****)pppppbVar14;\n          }\n          goto LAB_000dfb60;\n        }\nLAB_000dfda0:\n        puVar7 = (undefined4 *)(**(code **)(puStack_1170 + -0x6204))();\n        *puVar7 = 0x22;\n      }" { (expression_statement "pppppbVar9 = (byte *****)ppppbStack_115c;" (assignment_expression "pppppbVar9 = (byte *****)ppppbStack_115c" identifier = (cast_expression "(byte *****)ppppbStack_115c" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) ;) (if_statement "if (param_1 <= ppppbStack_44) {\nLAB_000dfc70:\n          param_3 = param_1;\n          (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,pppppbVar14);\n          ppppbStack_44 = (byte ****)pppppbVar14;\n          if (unaff_s1 != (byte *****)ppppbStack_1158) {\n            (**(code **)(puStack_1170 + -0x6044))(unaff_s1);\n            ppppbStack_44 = (byte ****)pppppbVar14;\n          }\n          goto LAB_000dfb60;\n        }" if (parenthesized_expression "(param_1 <= ppppbStack_44)" ( (binary_expression "param_1 <= ppppbStack_44" identifier <= identifier) )) (compound_statement "{\nLAB_000dfc70:\n          param_3 = param_1;\n          (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,pppppbVar14);\n          ppppbStack_44 = (byte ****)pppppbVar14;\n          if (unaff_s1 != (byte *****)ppppbStack_1158) {\n            (**(code **)(puStack_1170 + -0x6044))(unaff_s1);\n            ppppbStack_44 = (byte ****)pppppbVar14;\n          }\n          goto LAB_000dfb60;\n        }" { (labeled_statement "LAB_000dfc70:\n          param_3 = param_1;" statement_identifier : (expression_statement "param_3 = param_1;" (assignment_expression "param_3 = param_1" identifier = identifier) ;)) (expression_statement "(**(code **)(puStack_1170 + -0x605c))(pppppbVar9,pppppbVar14);" (call_expression "(**(code **)(puStack_1170 + -0x605c))(pppppbVar9,pppppbVar14)" (parenthesized_expression "(**(code **)(puStack_1170 + -0x605c))" ( (pointer_expression "**(code **)(puStack_1170 + -0x605c)" * (pointer_expression "*(code **)(puStack_1170 + -0x605c)" * (cast_expression "(code **)(puStack_1170 + -0x605c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x605c)" ( (binary_expression "puStack_1170 + -0x605c" identifier + number_literal) ))))) )) (argument_list "(pppppbVar9,pppppbVar14)" ( identifier , identifier ))) ;) (expression_statement "ppppbStack_44 = (byte ****)pppppbVar14;" (assignment_expression "ppppbStack_44 = (byte ****)pppppbVar14" identifier = (cast_expression "(byte ****)pppppbVar14" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (if_statement "if (unaff_s1 != (byte *****)ppppbStack_1158) {\n            (**(code **)(puStack_1170 + -0x6044))(unaff_s1);\n            ppppbStack_44 = (byte ****)pppppbVar14;\n          }" if (parenthesized_expression "(unaff_s1 != (byte *****)ppppbStack_1158)" ( (binary_expression "unaff_s1 != (byte *****)ppppbStack_1158" identifier != (cast_expression "(byte *****)ppppbStack_1158" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) )) (compound_statement "{\n            (**(code **)(puStack_1170 + -0x6044))(unaff_s1);\n            ppppbStack_44 = (byte ****)pppppbVar14;\n          }" { (expression_statement "(**(code **)(puStack_1170 + -0x6044))(unaff_s1);" (call_expression "(**(code **)(puStack_1170 + -0x6044))(unaff_s1)" (parenthesized_expression "(**(code **)(puStack_1170 + -0x6044))" ( (pointer_expression "**(code **)(puStack_1170 + -0x6044)" * (pointer_expression "*(code **)(puStack_1170 + -0x6044)" * (cast_expression "(code **)(puStack_1170 + -0x6044)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x6044)" ( (binary_expression "puStack_1170 + -0x6044" identifier + number_literal) ))))) )) (argument_list "(unaff_s1)" ( identifier ))) ;) (expression_statement "ppppbStack_44 = (byte ****)pppppbVar14;" (assignment_expression "ppppbStack_44 = (byte ****)pppppbVar14" identifier = (cast_expression "(byte ****)pppppbVar14" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) })) (goto_statement "goto LAB_000dfb60;" goto statement_identifier ;) })) (labeled_statement "LAB_000dfda0:\n        puVar7 = (undefined4 *)(**(code **)(puStack_1170 + -0x6204))();" statement_identifier : (expression_statement "puVar7 = (undefined4 *)(**(code **)(puStack_1170 + -0x6204))();" (assignment_expression "puVar7 = (undefined4 *)(**(code **)(puStack_1170 + -0x6204))()" identifier = (cast_expression "(undefined4 *)(**(code **)(puStack_1170 + -0x6204))()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puStack_1170 + -0x6204))()" (parenthesized_expression "(**(code **)(puStack_1170 + -0x6204))" ( (pointer_expression "**(code **)(puStack_1170 + -0x6204)" * (pointer_expression "*(code **)(puStack_1170 + -0x6204)" * (cast_expression "(code **)(puStack_1170 + -0x6204)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x6204)" ( (binary_expression "puStack_1170 + -0x6204" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;)) (expression_statement "*puVar7 = 0x22;" (assignment_expression "*puVar7 = 0x22" (pointer_expression "*puVar7" * identifier) = number_literal) ;) }))) (labeled_statement "LAB_000dfb48:\n      pppppbVar9 = (byte *****)0x0;" statement_identifier : (expression_statement "pppppbVar9 = (byte *****)0x0;" (assignment_expression "pppppbVar9 = (byte *****)0x0" identifier = (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;)) (expression_statement "ppppbStack_44 = (byte ****)pppppbVar2;" (assignment_expression "ppppbStack_44 = (byte ****)pppppbVar2" identifier = (cast_expression "(byte ****)pppppbVar2" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (if_statement "if (unaff_s1 == (byte *****)ppppbStack_1158) goto LAB_000dfb60;" if (parenthesized_expression "(unaff_s1 == (byte *****)ppppbStack_1158)" ( (binary_expression "unaff_s1 == (byte *****)ppppbStack_1158" identifier == (cast_expression "(byte *****)ppppbStack_1158" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) identifier)) )) (goto_statement "goto LAB_000dfb60;" goto statement_identifier ;)) (expression_statement "pcVar16 = *(code **)(puStack_1170 + -0x6044);" (assignment_expression "pcVar16 = *(code **)(puStack_1170 + -0x6044)" identifier = (pointer_expression "*(code **)(puStack_1170 + -0x6044)" * (cast_expression "(code **)(puStack_1170 + -0x6044)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x6044)" ( (binary_expression "puStack_1170 + -0x6044" identifier + number_literal) ))))) ;) (expression_statement "pppppbVar10 = unaff_s1;" (assignment_expression "pppppbVar10 = unaff_s1" identifier = identifier) ;) (if_statement "if (unaff_s1 != (byte *****)0x0) {\nLAB_000dfcc0:\n        (*pcVar16)(pppppbVar10);\n        unaff_s1 = pppppbVar10;\n      }" if (parenthesized_expression "(unaff_s1 != (byte *****)0x0)" ( (binary_expression "unaff_s1 != (byte *****)0x0" identifier != (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) )) (compound_statement "{\nLAB_000dfcc0:\n        (*pcVar16)(pppppbVar10);\n        unaff_s1 = pppppbVar10;\n      }" { (labeled_statement "LAB_000dfcc0:\n        (*pcVar16)(pppppbVar10);" statement_identifier : (expression_statement "(*pcVar16)(pppppbVar10);" (call_expression "(*pcVar16)(pppppbVar10)" (parenthesized_expression "(*pcVar16)" ( (pointer_expression "*pcVar16" * identifier) )) (argument_list "(pppppbVar10)" ( identifier ))) ;)) (expression_statement "unaff_s1 = pppppbVar10;" (assignment_expression "unaff_s1 = pppppbVar10" identifier = identifier) ;) })) })) })) (expression_statement "pppppbVar9 = (byte *****)0x0;" (assignment_expression "pppppbVar9 = (byte *****)0x0" identifier = (cast_expression "(byte *****)0x0" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal)) ;) (expression_statement "ppppbStack_44 = (byte ****)pppppbVar2;" (assignment_expression "ppppbStack_44 = (byte ****)pppppbVar2" identifier = (cast_expression "(byte ****)pppppbVar2" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) identifier)) ;) (labeled_statement "LAB_000dfb60:\n  pcVar16 = *(code **)(puStack_1170 + -0x60b8);" statement_identifier : (expression_statement "pcVar16 = *(code **)(puStack_1170 + -0x60b8);" (assignment_expression "pcVar16 = *(code **)(puStack_1170 + -0x60b8)" identifier = (pointer_expression "*(code **)(puStack_1170 + -0x60b8)" * (cast_expression "(code **)(puStack_1170 + -0x60b8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puStack_1170 + -0x60b8)" ( (binary_expression "puStack_1170 + -0x60b8" identifier + number_literal) ))))) ;)) (if_statement "if (iStack_74 == *piStack_1144) {\n    return pppppbVar9;\n  }" if (parenthesized_expression "(iStack_74 == *piStack_1144)" ( (binary_expression "iStack_74 == *piStack_1144" identifier == (pointer_expression "*piStack_1144" * identifier)) )) (compound_statement "{\n    return pppppbVar9;\n  }" { (return_statement "return pppppbVar9;" return identifier ;) })) (expression_statement "pcVar27 = zwrite;" (assignment_expression "pcVar27 = zwrite" identifier = identifier) ;) (expression_statement "iVar3 = iStack_74;" (assignment_expression "iVar3 = iStack_74" identifier = identifier) ;) (expression_statement "(*pcVar16)();" (call_expression "(*pcVar16)()" (parenthesized_expression "(*pcVar16)" ( (pointer_expression "*pcVar16" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcVar16 = pcVar16 + 0x6c740;" (assignment_expression "pcVar16 = pcVar16 + 0x6c740" identifier = (binary_expression "pcVar16 + 0x6c740" identifier + number_literal)) ;) (expression_statement "*(byte ******)(puVar26 + -0x10) = pppppbVar13;" (assignment_expression "*(byte ******)(puVar26 + -0x10) = pppppbVar13" (pointer_expression "*(byte ******)(puVar26 + -0x10)" * (cast_expression "(byte ******)(puVar26 + -0x10)" ( (type_descriptor "byte ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(puVar26 + -0x10)" ( (binary_expression "puVar26 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(byte ******)(puVar26 + -0x14) = unaff_s3;" (assignment_expression "*(byte ******)(puVar26 + -0x14) = unaff_s3" (pointer_expression "*(byte ******)(puVar26 + -0x14)" * (cast_expression "(byte ******)(puVar26 + -0x14)" ( (type_descriptor "byte ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(puVar26 + -0x14)" ( (binary_expression "puVar26 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (expression_statement "*(byte ******)(puVar26 + -8) = unaff_s6;" (assignment_expression "*(byte ******)(puVar26 + -8) = unaff_s6" (pointer_expression "*(byte ******)(puVar26 + -8)" * (cast_expression "(byte ******)(puVar26 + -8)" ( (type_descriptor "byte ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(puVar26 + -8)" ( (binary_expression "puVar26 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(byte ******)(puVar26 + -0xc) = unaff_s5;" (assignment_expression "*(byte ******)(puVar26 + -0xc) = unaff_s5" (pointer_expression "*(byte ******)(puVar26 + -0xc)" * (cast_expression "(byte ******)(puVar26 + -0xc)" ( (type_descriptor "byte ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(puVar26 + -0xc)" ( (binary_expression "puVar26 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(byte ******)(puVar26 + -0x18) = pppppbVar9;" (assignment_expression "*(byte ******)(puVar26 + -0x18) = pppppbVar9" (pointer_expression "*(byte ******)(puVar26 + -0x18)" * (cast_expression "(byte ******)(puVar26 + -0x18)" ( (type_descriptor "byte ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(puVar26 + -0x18)" ( (binary_expression "puVar26 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(byte ******)(puVar26 + -0x1c) = unaff_s1;" (assignment_expression "*(byte ******)(puVar26 + -0x1c) = unaff_s1" (pointer_expression "*(byte ******)(puVar26 + -0x1c)" * (cast_expression "(byte ******)(puVar26 + -0x1c)" ( (type_descriptor "byte ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(puVar26 + -0x1c)" ( (binary_expression "puVar26 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(byte ******)(puVar26 + -0x20) = param_1;" (assignment_expression "*(byte ******)(puVar26 + -0x20) = param_1" (pointer_expression "*(byte ******)(puVar26 + -0x20)" * (cast_expression "(byte ******)(puVar26 + -0x20)" ( (type_descriptor "byte ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "(puVar26 + -0x20)" ( (binary_expression "puVar26 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(code **)(puVar26 + -0x28) = pcVar16;" (assignment_expression "*(code **)(puVar26 + -0x28) = pcVar16" (pointer_expression "*(code **)(puVar26 + -0x28)" * (cast_expression "(code **)(puVar26 + -0x28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + -0x28)" ( (binary_expression "puVar26 + -0x28" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(code **)(puVar26 + -4) = pcVar27;" (assignment_expression "*(code **)(puVar26 + -4) = pcVar27" (pointer_expression "*(code **)(puVar26 + -4)" * (cast_expression "(code **)(puVar26 + -4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + -4)" ( (binary_expression "puVar26 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "pppppbVar9 = param_3;" (assignment_expression "pppppbVar9 = param_3" identifier = identifier) ;) (do_statement "do {\n    while( true ) {\n      while( true ) {\n        iVar8 = (**(code **)(pcVar16 + -0x61c0))(iVar3,ppppbStack_44,pppppbVar9);\n        pcVar16 = *(code **)(puVar26 + -0x28);\n        if (iVar8 < 1) break;\n        pppppbVar9 = (byte *****)((int)pppppbVar9 - iVar8);\n        ppppbStack_44 = (byte ****)((int)ppppbStack_44 + iVar8);\n        if ((int)pppppbVar9 < 1) {\n          return param_3;\n        }\n      }\n      if (iVar8 != 0) break;\n      iVar6 = iVar6 + 1;\n      if (3 < iVar6) {\n        return (byte *****)((int)param_3 - (int)pppppbVar9);\n      }\n    }\n    piVar4 = (int *)(**(code **)(pcVar16 + -0x6204))();\n    pcVar16 = *(code **)(puVar26 + -0x28);\n  } while (*piVar4 == 4);" do (compound_statement "{\n    while( true ) {\n      while( true ) {\n        iVar8 = (**(code **)(pcVar16 + -0x61c0))(iVar3,ppppbStack_44,pppppbVar9);\n        pcVar16 = *(code **)(puVar26 + -0x28);\n        if (iVar8 < 1) break;\n        pppppbVar9 = (byte *****)((int)pppppbVar9 - iVar8);\n        ppppbStack_44 = (byte ****)((int)ppppbStack_44 + iVar8);\n        if ((int)pppppbVar9 < 1) {\n          return param_3;\n        }\n      }\n      if (iVar8 != 0) break;\n      iVar6 = iVar6 + 1;\n      if (3 < iVar6) {\n        return (byte *****)((int)param_3 - (int)pppppbVar9);\n      }\n    }\n    piVar4 = (int *)(**(code **)(pcVar16 + -0x6204))();\n    pcVar16 = *(code **)(puVar26 + -0x28);\n  }" { (while_statement "while( true ) {\n      while( true ) {\n        iVar8 = (**(code **)(pcVar16 + -0x61c0))(iVar3,ppppbStack_44,pppppbVar9);\n        pcVar16 = *(code **)(puVar26 + -0x28);\n        if (iVar8 < 1) break;\n        pppppbVar9 = (byte *****)((int)pppppbVar9 - iVar8);\n        ppppbStack_44 = (byte ****)((int)ppppbStack_44 + iVar8);\n        if ((int)pppppbVar9 < 1) {\n          return param_3;\n        }\n      }\n      if (iVar8 != 0) break;\n      iVar6 = iVar6 + 1;\n      if (3 < iVar6) {\n        return (byte *****)((int)param_3 - (int)pppppbVar9);\n      }\n    }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n      while( true ) {\n        iVar8 = (**(code **)(pcVar16 + -0x61c0))(iVar3,ppppbStack_44,pppppbVar9);\n        pcVar16 = *(code **)(puVar26 + -0x28);\n        if (iVar8 < 1) break;\n        pppppbVar9 = (byte *****)((int)pppppbVar9 - iVar8);\n        ppppbStack_44 = (byte ****)((int)ppppbStack_44 + iVar8);\n        if ((int)pppppbVar9 < 1) {\n          return param_3;\n        }\n      }\n      if (iVar8 != 0) break;\n      iVar6 = iVar6 + 1;\n      if (3 < iVar6) {\n        return (byte *****)((int)param_3 - (int)pppppbVar9);\n      }\n    }" { (while_statement "while( true ) {\n        iVar8 = (**(code **)(pcVar16 + -0x61c0))(iVar3,ppppbStack_44,pppppbVar9);\n        pcVar16 = *(code **)(puVar26 + -0x28);\n        if (iVar8 < 1) break;\n        pppppbVar9 = (byte *****)((int)pppppbVar9 - iVar8);\n        ppppbStack_44 = (byte ****)((int)ppppbStack_44 + iVar8);\n        if ((int)pppppbVar9 < 1) {\n          return param_3;\n        }\n      }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n        iVar8 = (**(code **)(pcVar16 + -0x61c0))(iVar3,ppppbStack_44,pppppbVar9);\n        pcVar16 = *(code **)(puVar26 + -0x28);\n        if (iVar8 < 1) break;\n        pppppbVar9 = (byte *****)((int)pppppbVar9 - iVar8);\n        ppppbStack_44 = (byte ****)((int)ppppbStack_44 + iVar8);\n        if ((int)pppppbVar9 < 1) {\n          return param_3;\n        }\n      }" { (expression_statement "iVar8 = (**(code **)(pcVar16 + -0x61c0))(iVar3,ppppbStack_44,pppppbVar9);" (assignment_expression "iVar8 = (**(code **)(pcVar16 + -0x61c0))(iVar3,ppppbStack_44,pppppbVar9)" identifier = (call_expression "(**(code **)(pcVar16 + -0x61c0))(iVar3,ppppbStack_44,pppppbVar9)" (parenthesized_expression "(**(code **)(pcVar16 + -0x61c0))" ( (pointer_expression "**(code **)(pcVar16 + -0x61c0)" * (pointer_expression "*(code **)(pcVar16 + -0x61c0)" * (cast_expression "(code **)(pcVar16 + -0x61c0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + -0x61c0)" ( (binary_expression "pcVar16 + -0x61c0" identifier + number_literal) ))))) )) (argument_list "(iVar3,ppppbStack_44,pppppbVar9)" ( identifier , identifier , identifier )))) ;) (expression_statement "pcVar16 = *(code **)(puVar26 + -0x28);" (assignment_expression "pcVar16 = *(code **)(puVar26 + -0x28)" identifier = (pointer_expression "*(code **)(puVar26 + -0x28)" * (cast_expression "(code **)(puVar26 + -0x28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + -0x28)" ( (binary_expression "puVar26 + -0x28" identifier + number_literal) ))))) ;) (if_statement "if (iVar8 < 1) break;" if (parenthesized_expression "(iVar8 < 1)" ( (binary_expression "iVar8 < 1" identifier < number_literal) )) (break_statement "break;" break ;)) (expression_statement "pppppbVar9 = (byte *****)((int)pppppbVar9 - iVar8);" (assignment_expression "pppppbVar9 = (byte *****)((int)pppppbVar9 - iVar8)" identifier = (cast_expression "(byte *****)((int)pppppbVar9 - iVar8)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)pppppbVar9 - iVar8)" ( (binary_expression "(int)pppppbVar9 - iVar8" (cast_expression "(int)pppppbVar9" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) )))) ;) (expression_statement "ppppbStack_44 = (byte ****)((int)ppppbStack_44 + iVar8);" (assignment_expression "ppppbStack_44 = (byte ****)((int)ppppbStack_44 + iVar8)" identifier = (cast_expression "(byte ****)((int)ppppbStack_44 + iVar8)" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "((int)ppppbStack_44 + iVar8)" ( (binary_expression "(int)ppppbStack_44 + iVar8" (cast_expression "(int)ppppbStack_44" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (if_statement "if ((int)pppppbVar9 < 1) {\n          return param_3;\n        }" if (parenthesized_expression "((int)pppppbVar9 < 1)" ( (binary_expression "(int)pppppbVar9 < 1" (cast_expression "(int)pppppbVar9" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n          return param_3;\n        }" { (return_statement "return param_3;" return identifier ;) })) })) (if_statement "if (iVar8 != 0) break;" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" identifier = (binary_expression "iVar6 + 1" identifier + number_literal)) ;) (if_statement "if (3 < iVar6) {\n        return (byte *****)((int)param_3 - (int)pppppbVar9);\n      }" if (parenthesized_expression "(3 < iVar6)" ( (binary_expression "3 < iVar6" number_literal < identifier) )) (compound_statement "{\n        return (byte *****)((int)param_3 - (int)pppppbVar9);\n      }" { (return_statement "return (byte *****)((int)param_3 - (int)pppppbVar9);" return (cast_expression "(byte *****)((int)param_3 - (int)pppppbVar9)" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) (parenthesized_expression "((int)param_3 - (int)pppppbVar9)" ( (binary_expression "(int)param_3 - (int)pppppbVar9" (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppppbVar9" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ;) })) })) (expression_statement "piVar4 = (int *)(**(code **)(pcVar16 + -0x6204))();" (assignment_expression "piVar4 = (int *)(**(code **)(pcVar16 + -0x6204))()" identifier = (cast_expression "(int *)(**(code **)(pcVar16 + -0x6204))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar16 + -0x6204))()" (parenthesized_expression "(**(code **)(pcVar16 + -0x6204))" ( (pointer_expression "**(code **)(pcVar16 + -0x6204)" * (pointer_expression "*(code **)(pcVar16 + -0x6204)" * (cast_expression "(code **)(pcVar16 + -0x6204)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + -0x6204)" ( (binary_expression "pcVar16 + -0x6204" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "pcVar16 = *(code **)(puVar26 + -0x28);" (assignment_expression "pcVar16 = *(code **)(puVar26 + -0x28)" identifier = (pointer_expression "*(code **)(puVar26 + -0x28)" * (cast_expression "(code **)(puVar26 + -0x28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + -0x28)" ( (binary_expression "puVar26 + -0x28" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(*piVar4 == 4)" ( (binary_expression "*piVar4 == 4" (pointer_expression "*piVar4" * identifier) == number_literal) )) ;) (return_statement "return (byte *****)0xffffffff;" return (cast_expression "(byte *****)0xffffffff" ( (type_descriptor "byte *****" type_identifier (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))) ) number_literal) ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) , (parameter_declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) , (parameter_declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) )))))))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (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 (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (array_declarator IDENT [ LIT ]))))) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (array_declarator IDENT [ LIT ])))) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (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) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT)) ;) (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 LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (pointer_expression & IDENT))) , (binary_expression LIT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) }) (else_clause else (compound_statement { (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 = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))) * LIT)) )))) >> (parenthesized_expression ( (binary_expression IDENT & LIT) ))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT)) ;) (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 , IDENT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (binary_expression IDENT - LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( IDENT ))) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) != IDENT) )) (goto_statement goto statement_identifier ;)) (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (cast_expression ( (type_descriptor TYPE) ) IDENT)) == IDENT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) }))) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT) == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) IDENT))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT ))))) ;) (return_statement return IDENT ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (return_statement return 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 = 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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) && (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 ( ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (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 ( LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 ( LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (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) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (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) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (while_statement while (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT != IDENT) || (parenthesized_expression ( (binary_expression IDENT != IDENT) ))) )) || (parenthesized_expression ( (binary_expression IDENT != IDENT) ))) )) )) (compound_statement { (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) 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 , IDENT , IDENT ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) 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 , IDENT , 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) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (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 ( LIT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT))) ))) )) (compound_statement { (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) ))))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))))) ;)) (expression_statement (assignment_expression 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 ))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (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 ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_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)) ))) + (unary_expression - (cast_expression ( (type_descriptor TYPE) ) IDENT))) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (labeled_statement statement_identifier : (do_statement do (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) ))))) ;) (do_statement do (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT ))))) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression 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 ))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) != (char_literal ' character ')) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) != LIT) )) (break_statement break ;)) (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 ))))) ;) })) }) while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == IDENT) )) && (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) != IDENT) || (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != IDENT) )))) )) ))) )) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 = (unary_expression - (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_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) ))) & LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (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 , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (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 , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 ( LIT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < 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 * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (pointer_expression * IDENT))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) 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 IDENT + IDENT)) ;) }) while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != IDENT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != IDENT)) ))) )) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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) ;) (while_statement while (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) << LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) 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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT)) ;) (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)))) ))) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (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 = (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 (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + 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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) 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 ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) 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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) 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 (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( 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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) })) (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 ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_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)) ))) + (unary_expression - (cast_expression ( (type_descriptor TYPE) ) IDENT))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (labeled_statement statement_identifier : (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 , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) 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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) 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 (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 * IDENT) = LIT) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) IDENT)) )) (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) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT ))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) })) })) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) 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 IDENT == (pointer_expression * 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 * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (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 , 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) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (compound_statement { (return_statement return IDENT ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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 *)) ) (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 IDENT + LIT) ))))) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) ;) (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))) ) LIT) ;) })))
(function_definition "byte ***** mbschr(byte *****param_1,byte *****param_2,byte *****param_3)\n\n{\n  byte bVar1;\n  byte *****pppppbVar2;\n  int iVar3;\n  int *piVar4;\n  byte *****pppppbVar5;\n  int iVar6;\n  undefined4 *puVar7;\n  int iVar8;\n  byte *****pppppbVar9;\n  byte *****unaff_s1;\n  byte *****pppppbVar10;\n  byte ****ppppbVar11;\n  byte *****unaff_s3;\n  byte *****pppppbVar12;\n  byte *****pppppbVar13;\n  byte *****unaff_s5;\n  byte *****unaff_s6;\n  byte *****pppppbVar14;\n  undefined *puVar15;\n  code *pcVar16;\n  undefined1 *puVar17;\n  undefined1 *puVar18;\n  undefined1 *puVar24;\n  undefined1 *puVar25;\n  undefined1 *puVar26;\n  code *pcVar27;\n  undefined1 auStack_1180 [16];\n  undefined *puStack_1170;\n  byte ****ppppbStack_1168;\n  int iStack_1164;\n  int iStack_1160;\n  byte ****ppppbStack_115c;\n  byte ****ppppbStack_1158;\n  int iStack_1154;\n  int iStack_1150;\n  byte ****ppppbStack_114c;\n  byte ****ppppbStack_1148;\n  int *piStack_1144;\n  byte ****ppppbStack_1140;\n  int iStack_113c;\n  byte ***pppbStack_1138;\n  byte ****ppppbStack_1134;\n  byte ****ppppbStack_1130;\n  int iStack_112c;\n  byte ****ppppbStack_1128;\n  byte ****ppppbStack_1124;\n  byte ****ppppbStack_1120;\n  int iStack_111c;\n  byte ****appppbStack_1118 [4];\n  int iStack_1108;\n  int iStack_1104;\n  byte ***apppbStack_1078 [1023];\n  undefined1 uStack_79;\n  undefined1 auStack_78 [4];\n  int iStack_74;\n  byte ****ppppbStack_70;\n  byte ****ppppbStack_6c;\n  byte ****ppppbStack_68;\n  byte ****ppppbStack_64;\n  undefined *puStack_60;\n  byte ****ppppbStack_5c;\n  byte ****ppppbStack_44;\n  byte ***local_2c;\n  undefined4 local_28;\n  byte ****local_24;\n  undefined1 *puVar19;\n  undefined1 *puVar20;\n  undefined1 *puVar21;\n  undefined1 *puVar22;\n  undefined1 *puVar23;\n  \n  pppppbVar13 = (byte *****)PTR___stack_chk_guard_001464dc;\n  pppppbVar9 = (byte *****)PTR_is_basic_table_00144b04;\n  local_24 = *(byte *****)PTR___stack_chk_guard_001464dc;\n  ppppbStack_44 = (byte ****)param_2;\n  if ((*(int *)PTR_locale_utf8locale_00144afc == 0) || (0x7f < (int)param_2)) {\n    if ((0x2f < ((uint)param_2 & 0xff)) &&\n       (unaff_s5 = (byte *****)&local_2c, 1 < *(int *)PTR_locale_mb_cur_max_00144b00)) {\n      local_2c = (byte ***)0x0;\n      local_28 = 0;\n      unaff_s1 = (byte *****)(*(code *)PTR_strlen_00146390)(param_1);\n      pppppbVar2 = param_1;\n      if (unaff_s1 == (byte *****)0x0) {\n        pppppbVar2 = (byte *****)0x0;\n      }\n      else {\n        do {\n          bVar1 = *(byte *)pppppbVar2;\n          param_1 = pppppbVar2;\n          if ((*(uint *)((int)pppppbVar9 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n            ppppbStack_44 = (byte ****)pppppbVar2;\n            param_3 = unaff_s1;\n            iVar3 = (*(code *)PTR_mbrtowc_00146408)(0,pppppbVar2,unaff_s1,unaff_s5);\n            if (0xfffffffb < iVar3 - 2U) {\n              if ((byte *****)(uint)*(byte *)pppppbVar2 != param_2) goto LAB_000df640;\n              goto LAB_000df6f8;\n            }\n          }\n          else {\n            if ((byte *****)(uint)bVar1 == param_2) goto LAB_000df6f8;\nLAB_000df640:\n            iVar3 = 1;\n          }\n          unaff_s1 = (byte *****)((int)unaff_s1 - iVar3);\n          param_1 = (byte *****)((int)pppppbVar2 + iVar3);\n          pppppbVar2 = param_1;\n        } while (unaff_s1 != (byte *****)0x0);\n        pppppbVar2 = (byte *****)0x0;\n      }\n      goto LAB_000df6f8;\n    }\n    pppppbVar14 = param_1;\n    if ((byte *****)local_24 == *(byte ******)PTR___stack_chk_guard_001464dc) {\n                    \n                    \n      pppppbVar9 = (byte *****)(*(code *)PTR_strchr_00146398)(param_1,param_2);\n      return pppppbVar9;\n    }\n  }\n  else {\n    pppppbVar2 = (byte *****)utf8_mbschr((char *)param_1,(int)param_2);\n    pppppbVar9 = unaff_s3;\nLAB_000df6f8:\n    pppppbVar14 = (byte *****)local_24;\n    unaff_s3 = pppppbVar9;\n    if (local_24 == *pppppbVar13) {\n      return pppppbVar2;\n    }\n  }\n  puVar15 = PTR___stack_chk_fail_00146488;\n  (*(code *)PTR___stack_chk_fail_00146488)();\n  puStack_1170 = puVar15 + 0x6ce00;\n  puVar26 = auStack_1180;\n  piStack_1144 = *(int **)(puVar15 + 0x66d9c);\n  puStack_60 = (undefined *)pppppbVar13;\n  iStack_74 = *piStack_1144;\n  ppppbStack_115c = (byte ****)pppppbVar14;\n  ppppbStack_70 = (byte ****)param_1;\n  ppppbStack_6c = (byte ****)unaff_s1;\n  ppppbStack_68 = (byte ****)param_2;\n  ppppbStack_64 = (byte ****)unaff_s3;\n  ppppbStack_5c = (byte ****)unaff_s5;\n  if ((pppppbVar14 != (byte *****)0x0) && ((byte *****)ppppbStack_44 == (byte *****)0x0)) {\n    pppppbVar9 = (byte *****)0x0;\n    puVar7 = (undefined4 *)(**(code **)(puVar15 + 0x66bfc))();\n    *puVar7 = 0x16;\n    goto LAB_000dfb60;\n  }\n  param_3 = appppbStack_1118;\n  pppppbVar2 = (byte *****)(*(int *)(puVar15 + 0x64e6c) + -0x7e78);\n  auStack_78[0] = 0;\n  ppppbStack_1128 = (byte ****)param_3;\n  iVar3 = (**(code **)(puVar15 + 0x66af4))(3,pppppbVar2);\n  puVar26 = auStack_1180;\n  if (-1 < iVar3) {\n    ppppbStack_1120 = appppbStack_1118[0];\n    pppppbVar9 = (byte *****)(*(int *)(puStack_1170 + -0x7aac) + -0x7ee8);\n    iStack_112c = iStack_1108;\n    iStack_113c = iStack_1104;\n    param_3 = (byte *****)ppppbStack_1128;\n    iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,pppppbVar9);\n    pppppbVar2 = pppppbVar9;\n    puVar26 = auStack_1180;\n    if (-1 < iVar3) {\n      ppppbStack_1158 = apppbStack_1078;\n      pppppbVar14 = (byte *****)auStack_78;\n      ppppbStack_114c = appppbStack_1118[0];\n      iStack_1160 = iStack_1108;\n      ppppbStack_1148 = (byte ****)(*(int *)(puStack_1170 + -0x7f94) + -0x34d0);\n      pppbStack_1138 = (byte ***)0x0;\n      iStack_1164 = iStack_1104;\n      ppppbStack_1140 = (byte ****)0xe0;\n      ppppbStack_1124 = (byte ****)(*(int *)(puStack_1170 + -0x7f94) + -0x33ef);\n      unaff_s1 = (byte *****)ppppbStack_1158;\n      unaff_s6 = (byte *****)0x1001;\n      puVar26 = auStack_1180;\n      ppppbStack_1168 = (byte ****)pppppbVar14;\n      ppppbStack_1134 = ppppbStack_1148;\n      while (((ppppbStack_1120 != ppppbStack_114c || (iStack_112c != iStack_1160)) ||\n             (iStack_113c != iStack_1164))) {\n        pppppbVar12 = pppppbVar13;\n        pppppbVar10 = unaff_s1;\n        if (ppppbStack_1124 == ppppbStack_1134) {\n          param_1 = (byte *****)((int)ppppbStack_1140 * 2);\n          pppppbVar2 = (byte *****)((int)param_1 + 1);\n          if (ppppbStack_1124 == ppppbStack_1148) {\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(pppppbVar2);\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb48;\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,ppppbStack_1148,ppppbStack_1140);\n          }\n          else {\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(ppppbStack_1134);\n            puVar24 = puVar26;\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb18;\n          }\n          pppppbVar12 = (byte *****)ppppbStack_1140;\n          unaff_s3 = (byte *****)((int)pppppbVar9 + (int)ppppbStack_1140);\n          ppppbStack_1124 = (byte ****)unaff_s3;\n          (**(code **)(puStack_1170 + -0x605c))(unaff_s3,pppppbVar9,ppppbStack_1140);\n          *(byte *)((int)unaff_s3 + (int)pppppbVar12) = 0;\n          ppppbStack_1140 = (byte ****)param_1;\n          ppppbStack_1134 = (byte ****)pppppbVar9;\n        }\n        param_1 = (byte *****)((int)ppppbStack_1124 + -3);\n        pppppbVar2 = param_1;\n        param_3 = (byte *****)ppppbStack_1128;\n        ppppbStack_1124 = (byte ****)param_1;\n        iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,param_1);\n        pppppbVar13 = pppppbVar12;\n        puVar17 = puVar26;\n        if (iVar3 < 0) {\nLAB_000dfb00:\n          puVar26 = puVar17;\n          if ((ppppbStack_1134 != ppppbStack_1148) &&\n             (puVar24 = puVar17, (byte *****)ppppbStack_1134 != (byte *****)0x0)) {\nLAB_000dfb18:\n            pcVar16 = *(code **)(puStack_1170 + -0x6204);\n            puVar25 = puVar24;\nLAB_000dfb1c:\n            param_1 = (byte *****)(*pcVar16)();\n            ppppbVar11 = *param_1;\n            (**(code **)(puStack_1170 + -0x6044))(ppppbStack_1134);\n            *param_1 = ppppbVar11;\n            unaff_s1 = pppppbVar10;\n            puVar26 = puVar25;\n          }\n          goto LAB_000dfb48;\n        }\n        ppppbStack_1130 = appppbStack_1118[0];\n        iStack_1150 = iStack_1108;\n        iStack_1154 = iStack_1104;\n        iStack_111c = (**(code **)(puStack_1170 + -0x633c))(param_1);\n        if (iStack_111c == 0) goto LAB_000dfb00;\n        unaff_s3 = (byte *****)\n                   ((byte *)((int)ppppbStack_1134 + (int)ppppbStack_1140) + -(int)param_1);\n        unaff_s5 = (byte *****)((int)unaff_s3 + 1);\nLAB_000df8ec:\n        do {\n          pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n          do {\n            do {\n              piVar4 = (int *)(*pcVar16)(iStack_111c);\n              while( true ) {\n                if (piVar4 == (int *)0x0) {\n                  param_1 = (byte *****)(**(code **)(puStack_1170 + -0x6204))();\n                  ppppbVar11 = (byte ****)pppbStack_1138;\n                  if (*param_1 != (byte ****)0x0) {\n                    ppppbVar11 = *param_1;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  *param_1 = ppppbVar11;\n                  pppppbVar13 = pppppbVar12;\n                  goto LAB_000dfb00;\n                }\n                if (*(char *)((int)piVar4 + 0x13) != '.') break;\n                pppppbVar2 = (byte *****)0xffff0000;\n                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;\n                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;\n                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);\n              }\n            } while ((ppppbStack_1120 == ppppbStack_1130) &&\n                    ((pcVar16 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c))));\n            param_1 = (byte *****)((int)piVar4 + 0x13);\n            pppppbVar5 = (byte *****)(**(code **)(puStack_1170 + -0x61b0))(param_1);\n            iVar3 = -((uint)((byte *)((int)unaff_s5 + (int)pppppbVar5) + 8) & 0xfffffff8);\n            puVar18 = puVar17 + iVar3;\n            puVar19 = puVar17 + iVar3;\n            puVar20 = puVar17 + iVar3;\n            puVar25 = puVar17 + iVar3;\n            puVar21 = puVar17 + iVar3;\n            puVar26 = puVar17 + iVar3;\n            puVar22 = puVar17 + iVar3;\n            puVar24 = puVar17 + iVar3;\n            puVar23 = puVar17 + iVar3;\n            pppppbVar12 = (byte *****)(puVar17 + iVar3 + 0x10);\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar12,ppppbStack_1124,unaff_s3);\n            puVar15 = puStack_1170;\n            *(byte *)((int)pppppbVar12 + (int)unaff_s3) = 0x2f;\n            (**(code **)(puVar15 + -0x605c))\n                      ((byte *)((int)pppppbVar12 + (int)unaff_s5),param_1,\n                       (byte *)((int)pppppbVar5 + 1));\n            pppppbVar2 = pppppbVar12;\n            param_3 = (byte *****)ppppbStack_1128;\n            iVar6 = (**(code **)(puStack_1170 + -0x632c))(3,pppppbVar12);\n            if (iVar6 < 0) {\n              piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))();\n              pppbStack_1138 = (byte ***)*piVar4;\n            }\n            pppppbVar13 = (byte *****)ppppbStack_1158;\n            pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n            puVar17 = puVar17 + iVar3;\n          } while ((appppbStack_1118[0] != ppppbStack_1120) ||\n                  (puVar17 = puVar18, iStack_1108 != iStack_112c));\n          puVar17 = puVar19;\n        } while (iStack_1104 != iStack_113c);\n        pppppbVar9 = param_1;\n        unaff_s3 = (byte *****)((int)pppppbVar14 - (int)unaff_s1);\n        unaff_s5 = unaff_s6;\n        while (unaff_s3 <= pppppbVar5) {\n          unaff_s6 = (byte *****)((int)unaff_s5 << 1);\n          ppppbStack_1120 = (byte ****)pppppbVar9;\n          if (pppppbVar10 == pppppbVar13) {\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pppppbVar9 = (byte *****)0x0;\n              ppppbStack_44 = (byte ****)pppppbVar2;\n              if ((ppppbStack_1134 == ppppbStack_1148) ||\n                 (pppppbVar10 = (byte *****)ppppbStack_1158, puVar26 = puVar22,\n                 (byte *****)ppppbStack_1134 == (byte *****)0x0)) goto LAB_000dfb60;\n              goto LAB_000dfb18;\n            }\n          }\n          else {\n            pppppbVar2 = unaff_s6;\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(pppppbVar10,unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar20;\n              if (ppppbStack_1134 == ppppbStack_1148) goto LAB_000dfcc0;\n              pcVar16 = *(code **)(puStack_1170 + -0x6204);\n              if ((byte *****)ppppbStack_1134 != (byte *****)0x0) goto LAB_000dfb1c;\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar21;\n              goto LAB_000dfcc0;\n            }\n            pppppbVar14 = (byte *****)((int)unaff_s1 + (int)unaff_s3);\n          }\n          param_1 = (byte *****)((int)unaff_s5 + (int)unaff_s3);\n          param_3 = (byte *****)((int)unaff_s5 - (int)unaff_s3);\n          (**(code **)(puStack_1170 + -0x605c))((byte *****)((int)unaff_s1 + (int)param_1));\n          pppppbVar9 = (byte *****)ppppbStack_1120;\n          pppppbVar12 = pppppbVar13;\n          unaff_s3 = param_1;\n          pppppbVar2 = pppppbVar14;\n          pppppbVar10 = unaff_s1;\n          unaff_s5 = unaff_s6;\n          pppppbVar14 = (byte *****)((int)unaff_s1 + (int)param_1);\n        }\n        iVar3 = (**(code **)(puStack_1170 + -0x605c))((int)pppppbVar14 - (int)pppppbVar5);\n        pppppbVar14 = (byte *****)(iVar3 + -1);\n        pcVar16 = *(code **)(puStack_1170 + -0x6338);\n        *(undefined1 *)(iVar3 + -1) = 0x2f;\n        (*pcVar16)(iStack_111c);\n        iStack_112c = iStack_1150;\n        ppppbStack_1120 = ppppbStack_1130;\n        param_3 = pppppbVar5;\n        unaff_s1 = pppppbVar10;\n        pppppbVar13 = pppppbVar12;\n        unaff_s6 = unaff_s5;\n        puVar26 = puVar23;\n        iStack_113c = iStack_1154;\n      }\n      if (pppppbVar14 == (byte *****)ppppbStack_1168) {\n        pppppbVar14 = (byte *****)&uStack_79;\n        uStack_79 = 0x2f;\n      }\n      pppppbVar2 = pppppbVar9;\n      if (ppppbStack_1134 != ppppbStack_1148) {\n        (**(code **)(puStack_1170 + -0x6044))();\n        pppppbVar2 = pppppbVar9;\n      }\n      param_1 = (byte *****)((byte *)((int)unaff_s1 + (int)unaff_s6) + -(int)pppppbVar14);\n      if ((byte *****)ppppbStack_115c == (byte *****)0x0) {\n        if ((byte *****)ppppbStack_44 == (byte *****)0x0) {\n          pcVar16 = *(code **)(puStack_1170 + -0x6158);\n          ppppbStack_44 = (byte ****)param_1;\n        }\n        else {\n          pcVar16 = *(code **)(puStack_1170 + -0x6158);\n          if (ppppbStack_44 < param_1) goto LAB_000dfda0;\n        }\n        pppppbVar9 = (byte *****)(*pcVar16)(ppppbStack_44);\n        if (pppppbVar9 != (byte *****)0x0) goto LAB_000dfc70;\n      }\n      else {\n        pppppbVar9 = (byte *****)ppppbStack_115c;\n        if (param_1 <= ppppbStack_44) {\nLAB_000dfc70:\n          param_3 = param_1;\n          (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,pppppbVar14);\n          ppppbStack_44 = (byte ****)pppppbVar14;\n          if (unaff_s1 != (byte *****)ppppbStack_1158) {\n            (**(code **)(puStack_1170 + -0x6044))(unaff_s1);\n            ppppbStack_44 = (byte ****)pppppbVar14;\n          }\n          goto LAB_000dfb60;\n        }\nLAB_000dfda0:\n        puVar7 = (undefined4 *)(**(code **)(puStack_1170 + -0x6204))();\n        *puVar7 = 0x22;\n      }\nLAB_000dfb48:\n      pppppbVar9 = (byte *****)0x0;\n      ppppbStack_44 = (byte ****)pppppbVar2;\n      if (unaff_s1 == (byte *****)ppppbStack_1158) goto LAB_000dfb60;\n      pcVar16 = *(code **)(puStack_1170 + -0x6044);\n      pppppbVar10 = unaff_s1;\n      if (unaff_s1 != (byte *****)0x0) {\nLAB_000dfcc0:\n        (*pcVar16)(pppppbVar10);\n        unaff_s1 = pppppbVar10;\n      }\n    }\n  }\n  pppppbVar9 = (byte *****)0x0;\n  ppppbStack_44 = (byte ****)pppppbVar2;\nLAB_000dfb60:\n  pcVar16 = *(code **)(puStack_1170 + -0x60b8);\n  if (iStack_74 == *piStack_1144) {\n    return pppppbVar9;\n  }\n  pcVar27 = zwrite;\n  iVar3 = iStack_74;\n  (*pcVar16)();\n  pcVar16 = pcVar16 + 0x6c740;\n  *(byte ******)(puVar26 + -0x10) = pppppbVar13;\n  *(byte ******)(puVar26 + -0x14) = unaff_s3;\n  iVar6 = 0;\n  *(byte ******)(puVar26 + -8) = unaff_s6;\n  *(byte ******)(puVar26 + -0xc) = unaff_s5;\n  *(byte ******)(puVar26 + -0x18) = pppppbVar9;\n  *(byte ******)(puVar26 + -0x1c) = unaff_s1;\n  *(byte ******)(puVar26 + -0x20) = param_1;\n  *(code **)(puVar26 + -0x28) = pcVar16;\n  *(code **)(puVar26 + -4) = pcVar27;\n  pppppbVar9 = param_3;\n  do {\n    while( true ) {\n      while( true ) {\n        iVar8 = (**(code **)(pcVar16 + -0x61c0))(iVar3,ppppbStack_44,pppppbVar9);\n        pcVar16 = *(code **)(puVar26 + -0x28);\n        if (iVar8 < 1) break;\n        pppppbVar9 = (byte *****)((int)pppppbVar9 - iVar8);\n        ppppbStack_44 = (byte ****)((int)ppppbStack_44 + iVar8);\n        if ((int)pppppbVar9 < 1) {\n          return param_3;\n        }\n      }\n      if (iVar8 != 0) break;\n      iVar6 = iVar6 + 1;\n      if (3 < iVar6) {\n        return (byte *****)((int)param_3 - (int)pppppbVar9);\n      }\n    }\n    piVar4 = (int *)(**(code **)(pcVar16 + -0x6204))();\n    pcVar16 = *(code **)(puVar26 + -0x28);\n  } while (*piVar4 == 4);\n  return (byte *****)0xffffffff;\n}" (type_identifier "byte") (pointer_declarator "***** mbschr(byte *****param_1,byte *****param_2,byte *****param_3)" (* "*") (pointer_declarator "**** mbschr(byte *****param_1,byte *****param_2,byte *****param_3)" (* "*") (pointer_declarator "*** mbschr(byte *****param_1,byte *****param_2,byte *****param_3)" (* "*") (pointer_declarator "** mbschr(byte *****param_1,byte *****param_2,byte *****param_3)" (* "*") (pointer_declarator "* mbschr(byte *****param_1,byte *****param_2,byte *****param_3)" (* "*") (function_declarator "mbschr(byte *****param_1,byte *****param_2,byte *****param_3)" (identifier "mbschr") (parameter_list "(byte *****param_1,byte *****param_2,byte *****param_3)" (( "(") (parameter_declaration "byte *****param_1" (type_identifier "byte") (pointer_declarator "*****param_1" (* "*") (pointer_declarator "****param_1" (* "*") (pointer_declarator "***param_1" (* "*") (pointer_declarator "**param_1" (* "*") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))))))) (, ",") (parameter_declaration "byte *****param_2" (type_identifier "byte") (pointer_declarator "*****param_2" (* "*") (pointer_declarator "****param_2" (* "*") (pointer_declarator "***param_2" (* "*") (pointer_declarator "**param_2" (* "*") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))))))) (, ",") (parameter_declaration "byte *****param_3" (type_identifier "byte") (pointer_declarator "*****param_3" (* "*") (pointer_declarator "****param_3" (* "*") (pointer_declarator "***param_3" (* "*") (pointer_declarator "**param_3" (* "*") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))))))) () ")")))))))) (compound_statement "{\n  byte bVar1;\n  byte *****pppppbVar2;\n  int iVar3;\n  int *piVar4;\n  byte *****pppppbVar5;\n  int iVar6;\n  undefined4 *puVar7;\n  int iVar8;\n  byte *****pppppbVar9;\n  byte *****unaff_s1;\n  byte *****pppppbVar10;\n  byte ****ppppbVar11;\n  byte *****unaff_s3;\n  byte *****pppppbVar12;\n  byte *****pppppbVar13;\n  byte *****unaff_s5;\n  byte *****unaff_s6;\n  byte *****pppppbVar14;\n  undefined *puVar15;\n  code *pcVar16;\n  undefined1 *puVar17;\n  undefined1 *puVar18;\n  undefined1 *puVar24;\n  undefined1 *puVar25;\n  undefined1 *puVar26;\n  code *pcVar27;\n  undefined1 auStack_1180 [16];\n  undefined *puStack_1170;\n  byte ****ppppbStack_1168;\n  int iStack_1164;\n  int iStack_1160;\n  byte ****ppppbStack_115c;\n  byte ****ppppbStack_1158;\n  int iStack_1154;\n  int iStack_1150;\n  byte ****ppppbStack_114c;\n  byte ****ppppbStack_1148;\n  int *piStack_1144;\n  byte ****ppppbStack_1140;\n  int iStack_113c;\n  byte ***pppbStack_1138;\n  byte ****ppppbStack_1134;\n  byte ****ppppbStack_1130;\n  int iStack_112c;\n  byte ****ppppbStack_1128;\n  byte ****ppppbStack_1124;\n  byte ****ppppbStack_1120;\n  int iStack_111c;\n  byte ****appppbStack_1118 [4];\n  int iStack_1108;\n  int iStack_1104;\n  byte ***apppbStack_1078 [1023];\n  undefined1 uStack_79;\n  undefined1 auStack_78 [4];\n  int iStack_74;\n  byte ****ppppbStack_70;\n  byte ****ppppbStack_6c;\n  byte ****ppppbStack_68;\n  byte ****ppppbStack_64;\n  undefined *puStack_60;\n  byte ****ppppbStack_5c;\n  byte ****ppppbStack_44;\n  byte ***local_2c;\n  undefined4 local_28;\n  byte ****local_24;\n  undefined1 *puVar19;\n  undefined1 *puVar20;\n  undefined1 *puVar21;\n  undefined1 *puVar22;\n  undefined1 *puVar23;\n  \n  pppppbVar13 = (byte *****)PTR___stack_chk_guard_001464dc;\n  pppppbVar9 = (byte *****)PTR_is_basic_table_00144b04;\n  local_24 = *(byte *****)PTR___stack_chk_guard_001464dc;\n  ppppbStack_44 = (byte ****)param_2;\n  if ((*(int *)PTR_locale_utf8locale_00144afc == 0) || (0x7f < (int)param_2)) {\n    if ((0x2f < ((uint)param_2 & 0xff)) &&\n       (unaff_s5 = (byte *****)&local_2c, 1 < *(int *)PTR_locale_mb_cur_max_00144b00)) {\n      local_2c = (byte ***)0x0;\n      local_28 = 0;\n      unaff_s1 = (byte *****)(*(code *)PTR_strlen_00146390)(param_1);\n      pppppbVar2 = param_1;\n      if (unaff_s1 == (byte *****)0x0) {\n        pppppbVar2 = (byte *****)0x0;\n      }\n      else {\n        do {\n          bVar1 = *(byte *)pppppbVar2;\n          param_1 = pppppbVar2;\n          if ((*(uint *)((int)pppppbVar9 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n            ppppbStack_44 = (byte ****)pppppbVar2;\n            param_3 = unaff_s1;\n            iVar3 = (*(code *)PTR_mbrtowc_00146408)(0,pppppbVar2,unaff_s1,unaff_s5);\n            if (0xfffffffb < iVar3 - 2U) {\n              if ((byte *****)(uint)*(byte *)pppppbVar2 != param_2) goto LAB_000df640;\n              goto LAB_000df6f8;\n            }\n          }\n          else {\n            if ((byte *****)(uint)bVar1 == param_2) goto LAB_000df6f8;\nLAB_000df640:\n            iVar3 = 1;\n          }\n          unaff_s1 = (byte *****)((int)unaff_s1 - iVar3);\n          param_1 = (byte *****)((int)pppppbVar2 + iVar3);\n          pppppbVar2 = param_1;\n        } while (unaff_s1 != (byte *****)0x0);\n        pppppbVar2 = (byte *****)0x0;\n      }\n      goto LAB_000df6f8;\n    }\n    pppppbVar14 = param_1;\n    if ((byte *****)local_24 == *(byte ******)PTR___stack_chk_guard_001464dc) {\n                    \n                    \n      pppppbVar9 = (byte *****)(*(code *)PTR_strchr_00146398)(param_1,param_2);\n      return pppppbVar9;\n    }\n  }\n  else {\n    pppppbVar2 = (byte *****)utf8_mbschr((char *)param_1,(int)param_2);\n    pppppbVar9 = unaff_s3;\nLAB_000df6f8:\n    pppppbVar14 = (byte *****)local_24;\n    unaff_s3 = pppppbVar9;\n    if (local_24 == *pppppbVar13) {\n      return pppppbVar2;\n    }\n  }\n  puVar15 = PTR___stack_chk_fail_00146488;\n  (*(code *)PTR___stack_chk_fail_00146488)();\n  puStack_1170 = puVar15 + 0x6ce00;\n  puVar26 = auStack_1180;\n  piStack_1144 = *(int **)(puVar15 + 0x66d9c);\n  puStack_60 = (undefined *)pppppbVar13;\n  iStack_74 = *piStack_1144;\n  ppppbStack_115c = (byte ****)pppppbVar14;\n  ppppbStack_70 = (byte ****)param_1;\n  ppppbStack_6c = (byte ****)unaff_s1;\n  ppppbStack_68 = (byte ****)param_2;\n  ppppbStack_64 = (byte ****)unaff_s3;\n  ppppbStack_5c = (byte ****)unaff_s5;\n  if ((pppppbVar14 != (byte *****)0x0) && ((byte *****)ppppbStack_44 == (byte *****)0x0)) {\n    pppppbVar9 = (byte *****)0x0;\n    puVar7 = (undefined4 *)(**(code **)(puVar15 + 0x66bfc))();\n    *puVar7 = 0x16;\n    goto LAB_000dfb60;\n  }\n  param_3 = appppbStack_1118;\n  pppppbVar2 = (byte *****)(*(int *)(puVar15 + 0x64e6c) + -0x7e78);\n  auStack_78[0] = 0;\n  ppppbStack_1128 = (byte ****)param_3;\n  iVar3 = (**(code **)(puVar15 + 0x66af4))(3,pppppbVar2);\n  puVar26 = auStack_1180;\n  if (-1 < iVar3) {\n    ppppbStack_1120 = appppbStack_1118[0];\n    pppppbVar9 = (byte *****)(*(int *)(puStack_1170 + -0x7aac) + -0x7ee8);\n    iStack_112c = iStack_1108;\n    iStack_113c = iStack_1104;\n    param_3 = (byte *****)ppppbStack_1128;\n    iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,pppppbVar9);\n    pppppbVar2 = pppppbVar9;\n    puVar26 = auStack_1180;\n    if (-1 < iVar3) {\n      ppppbStack_1158 = apppbStack_1078;\n      pppppbVar14 = (byte *****)auStack_78;\n      ppppbStack_114c = appppbStack_1118[0];\n      iStack_1160 = iStack_1108;\n      ppppbStack_1148 = (byte ****)(*(int *)(puStack_1170 + -0x7f94) + -0x34d0);\n      pppbStack_1138 = (byte ***)0x0;\n      iStack_1164 = iStack_1104;\n      ppppbStack_1140 = (byte ****)0xe0;\n      ppppbStack_1124 = (byte ****)(*(int *)(puStack_1170 + -0x7f94) + -0x33ef);\n      unaff_s1 = (byte *****)ppppbStack_1158;\n      unaff_s6 = (byte *****)0x1001;\n      puVar26 = auStack_1180;\n      ppppbStack_1168 = (byte ****)pppppbVar14;\n      ppppbStack_1134 = ppppbStack_1148;\n      while (((ppppbStack_1120 != ppppbStack_114c || (iStack_112c != iStack_1160)) ||\n             (iStack_113c != iStack_1164))) {\n        pppppbVar12 = pppppbVar13;\n        pppppbVar10 = unaff_s1;\n        if (ppppbStack_1124 == ppppbStack_1134) {\n          param_1 = (byte *****)((int)ppppbStack_1140 * 2);\n          pppppbVar2 = (byte *****)((int)param_1 + 1);\n          if (ppppbStack_1124 == ppppbStack_1148) {\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(pppppbVar2);\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb48;\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,ppppbStack_1148,ppppbStack_1140);\n          }\n          else {\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(ppppbStack_1134);\n            puVar24 = puVar26;\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb18;\n          }\n          pppppbVar12 = (byte *****)ppppbStack_1140;\n          unaff_s3 = (byte *****)((int)pppppbVar9 + (int)ppppbStack_1140);\n          ppppbStack_1124 = (byte ****)unaff_s3;\n          (**(code **)(puStack_1170 + -0x605c))(unaff_s3,pppppbVar9,ppppbStack_1140);\n          *(byte *)((int)unaff_s3 + (int)pppppbVar12) = 0;\n          ppppbStack_1140 = (byte ****)param_1;\n          ppppbStack_1134 = (byte ****)pppppbVar9;\n        }\n        param_1 = (byte *****)((int)ppppbStack_1124 + -3);\n        pppppbVar2 = param_1;\n        param_3 = (byte *****)ppppbStack_1128;\n        ppppbStack_1124 = (byte ****)param_1;\n        iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,param_1);\n        pppppbVar13 = pppppbVar12;\n        puVar17 = puVar26;\n        if (iVar3 < 0) {\nLAB_000dfb00:\n          puVar26 = puVar17;\n          if ((ppppbStack_1134 != ppppbStack_1148) &&\n             (puVar24 = puVar17, (byte *****)ppppbStack_1134 != (byte *****)0x0)) {\nLAB_000dfb18:\n            pcVar16 = *(code **)(puStack_1170 + -0x6204);\n            puVar25 = puVar24;\nLAB_000dfb1c:\n            param_1 = (byte *****)(*pcVar16)();\n            ppppbVar11 = *param_1;\n            (**(code **)(puStack_1170 + -0x6044))(ppppbStack_1134);\n            *param_1 = ppppbVar11;\n            unaff_s1 = pppppbVar10;\n            puVar26 = puVar25;\n          }\n          goto LAB_000dfb48;\n        }\n        ppppbStack_1130 = appppbStack_1118[0];\n        iStack_1150 = iStack_1108;\n        iStack_1154 = iStack_1104;\n        iStack_111c = (**(code **)(puStack_1170 + -0x633c))(param_1);\n        if (iStack_111c == 0) goto LAB_000dfb00;\n        unaff_s3 = (byte *****)\n                   ((byte *)((int)ppppbStack_1134 + (int)ppppbStack_1140) + -(int)param_1);\n        unaff_s5 = (byte *****)((int)unaff_s3 + 1);\nLAB_000df8ec:\n        do {\n          pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n          do {\n            do {\n              piVar4 = (int *)(*pcVar16)(iStack_111c);\n              while( true ) {\n                if (piVar4 == (int *)0x0) {\n                  param_1 = (byte *****)(**(code **)(puStack_1170 + -0x6204))();\n                  ppppbVar11 = (byte ****)pppbStack_1138;\n                  if (*param_1 != (byte ****)0x0) {\n                    ppppbVar11 = *param_1;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  *param_1 = ppppbVar11;\n                  pppppbVar13 = pppppbVar12;\n                  goto LAB_000dfb00;\n                }\n                if (*(char *)((int)piVar4 + 0x13) != '.') break;\n                pppppbVar2 = (byte *****)0xffff0000;\n                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;\n                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;\n                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);\n              }\n            } while ((ppppbStack_1120 == ppppbStack_1130) &&\n                    ((pcVar16 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c))));\n            param_1 = (byte *****)((int)piVar4 + 0x13);\n            pppppbVar5 = (byte *****)(**(code **)(puStack_1170 + -0x61b0))(param_1);\n            iVar3 = -((uint)((byte *)((int)unaff_s5 + (int)pppppbVar5) + 8) & 0xfffffff8);\n            puVar18 = puVar17 + iVar3;\n            puVar19 = puVar17 + iVar3;\n            puVar20 = puVar17 + iVar3;\n            puVar25 = puVar17 + iVar3;\n            puVar21 = puVar17 + iVar3;\n            puVar26 = puVar17 + iVar3;\n            puVar22 = puVar17 + iVar3;\n            puVar24 = puVar17 + iVar3;\n            puVar23 = puVar17 + iVar3;\n            pppppbVar12 = (byte *****)(puVar17 + iVar3 + 0x10);\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar12,ppppbStack_1124,unaff_s3);\n            puVar15 = puStack_1170;\n            *(byte *)((int)pppppbVar12 + (int)unaff_s3) = 0x2f;\n            (**(code **)(puVar15 + -0x605c))\n                      ((byte *)((int)pppppbVar12 + (int)unaff_s5),param_1,\n                       (byte *)((int)pppppbVar5 + 1));\n            pppppbVar2 = pppppbVar12;\n            param_3 = (byte *****)ppppbStack_1128;\n            iVar6 = (**(code **)(puStack_1170 + -0x632c))(3,pppppbVar12);\n            if (iVar6 < 0) {\n              piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))();\n              pppbStack_1138 = (byte ***)*piVar4;\n            }\n            pppppbVar13 = (byte *****)ppppbStack_1158;\n            pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n            puVar17 = puVar17 + iVar3;\n          } while ((appppbStack_1118[0] != ppppbStack_1120) ||\n                  (puVar17 = puVar18, iStack_1108 != iStack_112c));\n          puVar17 = puVar19;\n        } while (iStack_1104 != iStack_113c);\n        pppppbVar9 = param_1;\n        unaff_s3 = (byte *****)((int)pppppbVar14 - (int)unaff_s1);\n        unaff_s5 = unaff_s6;\n        while (unaff_s3 <= pppppbVar5) {\n          unaff_s6 = (byte *****)((int)unaff_s5 << 1);\n          ppppbStack_1120 = (byte ****)pppppbVar9;\n          if (pppppbVar10 == pppppbVar13) {\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pppppbVar9 = (byte *****)0x0;\n              ppppbStack_44 = (byte ****)pppppbVar2;\n              if ((ppppbStack_1134 == ppppbStack_1148) ||\n                 (pppppbVar10 = (byte *****)ppppbStack_1158, puVar26 = puVar22,\n                 (byte *****)ppppbStack_1134 == (byte *****)0x0)) goto LAB_000dfb60;\n              goto LAB_000dfb18;\n            }\n          }\n          else {\n            pppppbVar2 = unaff_s6;\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(pppppbVar10,unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar20;\n              if (ppppbStack_1134 == ppppbStack_1148) goto LAB_000dfcc0;\n              pcVar16 = *(code **)(puStack_1170 + -0x6204);\n              if ((byte *****)ppppbStack_1134 != (byte *****)0x0) goto LAB_000dfb1c;\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar21;\n              goto LAB_000dfcc0;\n            }\n            pppppbVar14 = (byte *****)((int)unaff_s1 + (int)unaff_s3);\n          }\n          param_1 = (byte *****)((int)unaff_s5 + (int)unaff_s3);\n          param_3 = (byte *****)((int)unaff_s5 - (int)unaff_s3);\n          (**(code **)(puStack_1170 + -0x605c))((byte *****)((int)unaff_s1 + (int)param_1));\n          pppppbVar9 = (byte *****)ppppbStack_1120;\n          pppppbVar12 = pppppbVar13;\n          unaff_s3 = param_1;\n          pppppbVar2 = pppppbVar14;\n          pppppbVar10 = unaff_s1;\n          unaff_s5 = unaff_s6;\n          pppppbVar14 = (byte *****)((int)unaff_s1 + (int)param_1);\n        }\n        iVar3 = (**(code **)(puStack_1170 + -0x605c))((int)pppppbVar14 - (int)pppppbVar5);\n        pppppbVar14 = (byte *****)(iVar3 + -1);\n        pcVar16 = *(code **)(puStack_1170 + -0x6338);\n        *(undefined1 *)(iVar3 + -1) = 0x2f;\n        (*pcVar16)(iStack_111c);\n        iStack_112c = iStack_1150;\n        ppppbStack_1120 = ppppbStack_1130;\n        param_3 = pppppbVar5;\n        unaff_s1 = pppppbVar10;\n        pppppbVar13 = pppppbVar12;\n        unaff_s6 = unaff_s5;\n        puVar26 = puVar23;\n        iStack_113c = iStack_1154;\n      }\n      if (pppppbVar14 == (byte *****)ppppbStack_1168) {\n        pppppbVar14 = (byte *****)&uStack_79;\n        uStack_79 = 0x2f;\n      }\n      pppppbVar2 = pppppbVar9;\n      if (ppppbStack_1134 != ppppbStack_1148) {\n        (**(code **)(puStack_1170 + -0x6044))();\n        pppppbVar2 = pppppbVar9;\n      }\n      param_1 = (byte *****)((byte *)((int)unaff_s1 + (int)unaff_s6) + -(int)pppppbVar14);\n      if ((byte *****)ppppbStack_115c == (byte *****)0x0) {\n        if ((byte *****)ppppbStack_44 == (byte *****)0x0) {\n          pcVar16 = *(code **)(puStack_1170 + -0x6158);\n          ppppbStack_44 = (byte ****)param_1;\n        }\n        else {\n          pcVar16 = *(code **)(puStack_1170 + -0x6158);\n          if (ppppbStack_44 < param_1) goto LAB_000dfda0;\n        }\n        pppppbVar9 = (byte *****)(*pcVar16)(ppppbStack_44);\n        if (pppppbVar9 != (byte *****)0x0) goto LAB_000dfc70;\n      }\n      else {\n        pppppbVar9 = (byte *****)ppppbStack_115c;\n        if (param_1 <= ppppbStack_44) {\nLAB_000dfc70:\n          param_3 = param_1;\n          (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,pppppbVar14);\n          ppppbStack_44 = (byte ****)pppppbVar14;\n          if (unaff_s1 != (byte *****)ppppbStack_1158) {\n            (**(code **)(puStack_1170 + -0x6044))(unaff_s1);\n            ppppbStack_44 = (byte ****)pppppbVar14;\n          }\n          goto LAB_000dfb60;\n        }\nLAB_000dfda0:\n        puVar7 = (undefined4 *)(**(code **)(puStack_1170 + -0x6204))();\n        *puVar7 = 0x22;\n      }\nLAB_000dfb48:\n      pppppbVar9 = (byte *****)0x0;\n      ppppbStack_44 = (byte ****)pppppbVar2;\n      if (unaff_s1 == (byte *****)ppppbStack_1158) goto LAB_000dfb60;\n      pcVar16 = *(code **)(puStack_1170 + -0x6044);\n      pppppbVar10 = unaff_s1;\n      if (unaff_s1 != (byte *****)0x0) {\nLAB_000dfcc0:\n        (*pcVar16)(pppppbVar10);\n        unaff_s1 = pppppbVar10;\n      }\n    }\n  }\n  pppppbVar9 = (byte *****)0x0;\n  ppppbStack_44 = (byte ****)pppppbVar2;\nLAB_000dfb60:\n  pcVar16 = *(code **)(puStack_1170 + -0x60b8);\n  if (iStack_74 == *piStack_1144) {\n    return pppppbVar9;\n  }\n  pcVar27 = zwrite;\n  iVar3 = iStack_74;\n  (*pcVar16)();\n  pcVar16 = pcVar16 + 0x6c740;\n  *(byte ******)(puVar26 + -0x10) = pppppbVar13;\n  *(byte ******)(puVar26 + -0x14) = unaff_s3;\n  iVar6 = 0;\n  *(byte ******)(puVar26 + -8) = unaff_s6;\n  *(byte ******)(puVar26 + -0xc) = unaff_s5;\n  *(byte ******)(puVar26 + -0x18) = pppppbVar9;\n  *(byte ******)(puVar26 + -0x1c) = unaff_s1;\n  *(byte ******)(puVar26 + -0x20) = param_1;\n  *(code **)(puVar26 + -0x28) = pcVar16;\n  *(code **)(puVar26 + -4) = pcVar27;\n  pppppbVar9 = param_3;\n  do {\n    while( true ) {\n      while( true ) {\n        iVar8 = (**(code **)(pcVar16 + -0x61c0))(iVar3,ppppbStack_44,pppppbVar9);\n        pcVar16 = *(code **)(puVar26 + -0x28);\n        if (iVar8 < 1) break;\n        pppppbVar9 = (byte *****)((int)pppppbVar9 - iVar8);\n        ppppbStack_44 = (byte ****)((int)ppppbStack_44 + iVar8);\n        if ((int)pppppbVar9 < 1) {\n          return param_3;\n        }\n      }\n      if (iVar8 != 0) break;\n      iVar6 = iVar6 + 1;\n      if (3 < iVar6) {\n        return (byte *****)((int)param_3 - (int)pppppbVar9);\n      }\n    }\n    piVar4 = (int *)(**(code **)(pcVar16 + -0x6204))();\n    pcVar16 = *(code **)(puVar26 + -0x28);\n  } while (*piVar4 == 4);\n  return (byte *****)0xffffffff;\n}" ({ "{") (declaration "byte bVar1;" (type_identifier "byte") (identifier "bVar1") (; ";")) (declaration "byte *****pppppbVar2;" (type_identifier "byte") (pointer_declarator "*****pppppbVar2" (* "*") (pointer_declarator "****pppppbVar2" (* "*") (pointer_declarator "***pppppbVar2" (* "*") (pointer_declarator "**pppppbVar2" (* "*") (pointer_declarator "*pppppbVar2" (* "*") (identifier "pppppbVar2")))))) (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "int *piVar4;" (primitive_type "int") (pointer_declarator "*piVar4" (* "*") (identifier "piVar4")) (; ";")) (declaration "byte *****pppppbVar5;" (type_identifier "byte") (pointer_declarator "*****pppppbVar5" (* "*") (pointer_declarator "****pppppbVar5" (* "*") (pointer_declarator "***pppppbVar5" (* "*") (pointer_declarator "**pppppbVar5" (* "*") (pointer_declarator "*pppppbVar5" (* "*") (identifier "pppppbVar5")))))) (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "undefined4 *puVar7;" (type_identifier "undefined4") (pointer_declarator "*puVar7" (* "*") (identifier "puVar7")) (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "byte *****pppppbVar9;" (type_identifier "byte") (pointer_declarator "*****pppppbVar9" (* "*") (pointer_declarator "****pppppbVar9" (* "*") (pointer_declarator "***pppppbVar9" (* "*") (pointer_declarator "**pppppbVar9" (* "*") (pointer_declarator "*pppppbVar9" (* "*") (identifier "pppppbVar9")))))) (; ";")) (declaration "byte *****unaff_s1;" (type_identifier "byte") (pointer_declarator "*****unaff_s1" (* "*") (pointer_declarator "****unaff_s1" (* "*") (pointer_declarator "***unaff_s1" (* "*") (pointer_declarator "**unaff_s1" (* "*") (pointer_declarator "*unaff_s1" (* "*") (identifier "unaff_s1")))))) (; ";")) (declaration "byte *****pppppbVar10;" (type_identifier "byte") (pointer_declarator "*****pppppbVar10" (* "*") (pointer_declarator "****pppppbVar10" (* "*") (pointer_declarator "***pppppbVar10" (* "*") (pointer_declarator "**pppppbVar10" (* "*") (pointer_declarator "*pppppbVar10" (* "*") (identifier "pppppbVar10")))))) (; ";")) (declaration "byte ****ppppbVar11;" (type_identifier "byte") (pointer_declarator "****ppppbVar11" (* "*") (pointer_declarator "***ppppbVar11" (* "*") (pointer_declarator "**ppppbVar11" (* "*") (pointer_declarator "*ppppbVar11" (* "*") (identifier "ppppbVar11"))))) (; ";")) (declaration "byte *****unaff_s3;" (type_identifier "byte") (pointer_declarator "*****unaff_s3" (* "*") (pointer_declarator "****unaff_s3" (* "*") (pointer_declarator "***unaff_s3" (* "*") (pointer_declarator "**unaff_s3" (* "*") (pointer_declarator "*unaff_s3" (* "*") (identifier "unaff_s3")))))) (; ";")) (declaration "byte *****pppppbVar12;" (type_identifier "byte") (pointer_declarator "*****pppppbVar12" (* "*") (pointer_declarator "****pppppbVar12" (* "*") (pointer_declarator "***pppppbVar12" (* "*") (pointer_declarator "**pppppbVar12" (* "*") (pointer_declarator "*pppppbVar12" (* "*") (identifier "pppppbVar12")))))) (; ";")) (declaration "byte *****pppppbVar13;" (type_identifier "byte") (pointer_declarator "*****pppppbVar13" (* "*") (pointer_declarator "****pppppbVar13" (* "*") (pointer_declarator "***pppppbVar13" (* "*") (pointer_declarator "**pppppbVar13" (* "*") (pointer_declarator "*pppppbVar13" (* "*") (identifier "pppppbVar13")))))) (; ";")) (declaration "byte *****unaff_s5;" (type_identifier "byte") (pointer_declarator "*****unaff_s5" (* "*") (pointer_declarator "****unaff_s5" (* "*") (pointer_declarator "***unaff_s5" (* "*") (pointer_declarator "**unaff_s5" (* "*") (pointer_declarator "*unaff_s5" (* "*") (identifier "unaff_s5")))))) (; ";")) (declaration "byte *****unaff_s6;" (type_identifier "byte") (pointer_declarator "*****unaff_s6" (* "*") (pointer_declarator "****unaff_s6" (* "*") (pointer_declarator "***unaff_s6" (* "*") (pointer_declarator "**unaff_s6" (* "*") (pointer_declarator "*unaff_s6" (* "*") (identifier "unaff_s6")))))) (; ";")) (declaration "byte *****pppppbVar14;" (type_identifier "byte") (pointer_declarator "*****pppppbVar14" (* "*") (pointer_declarator "****pppppbVar14" (* "*") (pointer_declarator "***pppppbVar14" (* "*") (pointer_declarator "**pppppbVar14" (* "*") (pointer_declarator "*pppppbVar14" (* "*") (identifier "pppppbVar14")))))) (; ";")) (declaration "undefined *puVar15;" (type_identifier "undefined") (pointer_declarator "*puVar15" (* "*") (identifier "puVar15")) (; ";")) (declaration "code *pcVar16;" (type_identifier "code") (pointer_declarator "*pcVar16" (* "*") (identifier "pcVar16")) (; ";")) (declaration "undefined1 *puVar17;" (type_identifier "undefined1") (pointer_declarator "*puVar17" (* "*") (identifier "puVar17")) (; ";")) (declaration "undefined1 *puVar18;" (type_identifier "undefined1") (pointer_declarator "*puVar18" (* "*") (identifier "puVar18")) (; ";")) (declaration "undefined1 *puVar24;" (type_identifier "undefined1") (pointer_declarator "*puVar24" (* "*") (identifier "puVar24")) (; ";")) (declaration "undefined1 *puVar25;" (type_identifier "undefined1") (pointer_declarator "*puVar25" (* "*") (identifier "puVar25")) (; ";")) (declaration "undefined1 *puVar26;" (type_identifier "undefined1") (pointer_declarator "*puVar26" (* "*") (identifier "puVar26")) (; ";")) (declaration "code *pcVar27;" (type_identifier "code") (pointer_declarator "*pcVar27" (* "*") (identifier "pcVar27")) (; ";")) (declaration "undefined1 auStack_1180 [16];" (type_identifier "undefined1") (array_declarator "auStack_1180 [16]" (identifier "auStack_1180") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "undefined *puStack_1170;" (type_identifier "undefined") (pointer_declarator "*puStack_1170" (* "*") (identifier "puStack_1170")) (; ";")) (declaration "byte ****ppppbStack_1168;" (type_identifier "byte") (pointer_declarator "****ppppbStack_1168" (* "*") (pointer_declarator "***ppppbStack_1168" (* "*") (pointer_declarator "**ppppbStack_1168" (* "*") (pointer_declarator "*ppppbStack_1168" (* "*") (identifier "ppppbStack_1168"))))) (; ";")) (declaration "int iStack_1164;" (primitive_type "int") (identifier "iStack_1164") (; ";")) (declaration "int iStack_1160;" (primitive_type "int") (identifier "iStack_1160") (; ";")) (declaration "byte ****ppppbStack_115c;" (type_identifier "byte") (pointer_declarator "****ppppbStack_115c" (* "*") (pointer_declarator "***ppppbStack_115c" (* "*") (pointer_declarator "**ppppbStack_115c" (* "*") (pointer_declarator "*ppppbStack_115c" (* "*") (identifier "ppppbStack_115c"))))) (; ";")) (declaration "byte ****ppppbStack_1158;" (type_identifier "byte") (pointer_declarator "****ppppbStack_1158" (* "*") (pointer_declarator "***ppppbStack_1158" (* "*") (pointer_declarator "**ppppbStack_1158" (* "*") (pointer_declarator "*ppppbStack_1158" (* "*") (identifier "ppppbStack_1158"))))) (; ";")) (declaration "int iStack_1154;" (primitive_type "int") (identifier "iStack_1154") (; ";")) (declaration "int iStack_1150;" (primitive_type "int") (identifier "iStack_1150") (; ";")) (declaration "byte ****ppppbStack_114c;" (type_identifier "byte") (pointer_declarator "****ppppbStack_114c" (* "*") (pointer_declarator "***ppppbStack_114c" (* "*") (pointer_declarator "**ppppbStack_114c" (* "*") (pointer_declarator "*ppppbStack_114c" (* "*") (identifier "ppppbStack_114c"))))) (; ";")) (declaration "byte ****ppppbStack_1148;" (type_identifier "byte") (pointer_declarator "****ppppbStack_1148" (* "*") (pointer_declarator "***ppppbStack_1148" (* "*") (pointer_declarator "**ppppbStack_1148" (* "*") (pointer_declarator "*ppppbStack_1148" (* "*") (identifier "ppppbStack_1148"))))) (; ";")) (declaration "int *piStack_1144;" (primitive_type "int") (pointer_declarator "*piStack_1144" (* "*") (identifier "piStack_1144")) (; ";")) (declaration "byte ****ppppbStack_1140;" (type_identifier "byte") (pointer_declarator "****ppppbStack_1140" (* "*") (pointer_declarator "***ppppbStack_1140" (* "*") (pointer_declarator "**ppppbStack_1140" (* "*") (pointer_declarator "*ppppbStack_1140" (* "*") (identifier "ppppbStack_1140"))))) (; ";")) (declaration "int iStack_113c;" (primitive_type "int") (identifier "iStack_113c") (; ";")) (declaration "byte ***pppbStack_1138;" (type_identifier "byte") (pointer_declarator "***pppbStack_1138" (* "*") (pointer_declarator "**pppbStack_1138" (* "*") (pointer_declarator "*pppbStack_1138" (* "*") (identifier "pppbStack_1138")))) (; ";")) (declaration "byte ****ppppbStack_1134;" (type_identifier "byte") (pointer_declarator "****ppppbStack_1134" (* "*") (pointer_declarator "***ppppbStack_1134" (* "*") (pointer_declarator "**ppppbStack_1134" (* "*") (pointer_declarator "*ppppbStack_1134" (* "*") (identifier "ppppbStack_1134"))))) (; ";")) (declaration "byte ****ppppbStack_1130;" (type_identifier "byte") (pointer_declarator "****ppppbStack_1130" (* "*") (pointer_declarator "***ppppbStack_1130" (* "*") (pointer_declarator "**ppppbStack_1130" (* "*") (pointer_declarator "*ppppbStack_1130" (* "*") (identifier "ppppbStack_1130"))))) (; ";")) (declaration "int iStack_112c;" (primitive_type "int") (identifier "iStack_112c") (; ";")) (declaration "byte ****ppppbStack_1128;" (type_identifier "byte") (pointer_declarator "****ppppbStack_1128" (* "*") (pointer_declarator "***ppppbStack_1128" (* "*") (pointer_declarator "**ppppbStack_1128" (* "*") (pointer_declarator "*ppppbStack_1128" (* "*") (identifier "ppppbStack_1128"))))) (; ";")) (declaration "byte ****ppppbStack_1124;" (type_identifier "byte") (pointer_declarator "****ppppbStack_1124" (* "*") (pointer_declarator "***ppppbStack_1124" (* "*") (pointer_declarator "**ppppbStack_1124" (* "*") (pointer_declarator "*ppppbStack_1124" (* "*") (identifier "ppppbStack_1124"))))) (; ";")) (declaration "byte ****ppppbStack_1120;" (type_identifier "byte") (pointer_declarator "****ppppbStack_1120" (* "*") (pointer_declarator "***ppppbStack_1120" (* "*") (pointer_declarator "**ppppbStack_1120" (* "*") (pointer_declarator "*ppppbStack_1120" (* "*") (identifier "ppppbStack_1120"))))) (; ";")) (declaration "int iStack_111c;" (primitive_type "int") (identifier "iStack_111c") (; ";")) (declaration "byte ****appppbStack_1118 [4];" (type_identifier "byte") (pointer_declarator "****appppbStack_1118 [4]" (* "*") (pointer_declarator "***appppbStack_1118 [4]" (* "*") (pointer_declarator "**appppbStack_1118 [4]" (* "*") (pointer_declarator "*appppbStack_1118 [4]" (* "*") (array_declarator "appppbStack_1118 [4]" (identifier "appppbStack_1118") ([ "[") (number_literal "4") (] "]")))))) (; ";")) (declaration "int iStack_1108;" (primitive_type "int") (identifier "iStack_1108") (; ";")) (declaration "int iStack_1104;" (primitive_type "int") (identifier "iStack_1104") (; ";")) (declaration "byte ***apppbStack_1078 [1023];" (type_identifier "byte") (pointer_declarator "***apppbStack_1078 [1023]" (* "*") (pointer_declarator "**apppbStack_1078 [1023]" (* "*") (pointer_declarator "*apppbStack_1078 [1023]" (* "*") (array_declarator "apppbStack_1078 [1023]" (identifier "apppbStack_1078") ([ "[") (number_literal "1023") (] "]"))))) (; ";")) (declaration "undefined1 uStack_79;" (type_identifier "undefined1") (identifier "uStack_79") (; ";")) (declaration "undefined1 auStack_78 [4];" (type_identifier "undefined1") (array_declarator "auStack_78 [4]" (identifier "auStack_78") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "int iStack_74;" (primitive_type "int") (identifier "iStack_74") (; ";")) (declaration "byte ****ppppbStack_70;" (type_identifier "byte") (pointer_declarator "****ppppbStack_70" (* "*") (pointer_declarator "***ppppbStack_70" (* "*") (pointer_declarator "**ppppbStack_70" (* "*") (pointer_declarator "*ppppbStack_70" (* "*") (identifier "ppppbStack_70"))))) (; ";")) (declaration "byte ****ppppbStack_6c;" (type_identifier "byte") (pointer_declarator "****ppppbStack_6c" (* "*") (pointer_declarator "***ppppbStack_6c" (* "*") (pointer_declarator "**ppppbStack_6c" (* "*") (pointer_declarator "*ppppbStack_6c" (* "*") (identifier "ppppbStack_6c"))))) (; ";")) (declaration "byte ****ppppbStack_68;" (type_identifier "byte") (pointer_declarator "****ppppbStack_68" (* "*") (pointer_declarator "***ppppbStack_68" (* "*") (pointer_declarator "**ppppbStack_68" (* "*") (pointer_declarator "*ppppbStack_68" (* "*") (identifier "ppppbStack_68"))))) (; ";")) (declaration "byte ****ppppbStack_64;" (type_identifier "byte") (pointer_declarator "****ppppbStack_64" (* "*") (pointer_declarator "***ppppbStack_64" (* "*") (pointer_declarator "**ppppbStack_64" (* "*") (pointer_declarator "*ppppbStack_64" (* "*") (identifier "ppppbStack_64"))))) (; ";")) (declaration "undefined *puStack_60;" (type_identifier "undefined") (pointer_declarator "*puStack_60" (* "*") (identifier "puStack_60")) (; ";")) (declaration "byte ****ppppbStack_5c;" (type_identifier "byte") (pointer_declarator "****ppppbStack_5c" (* "*") (pointer_declarator "***ppppbStack_5c" (* "*") (pointer_declarator "**ppppbStack_5c" (* "*") (pointer_declarator "*ppppbStack_5c" (* "*") (identifier "ppppbStack_5c"))))) (; ";")) (declaration "byte ****ppppbStack_44;" (type_identifier "byte") (pointer_declarator "****ppppbStack_44" (* "*") (pointer_declarator "***ppppbStack_44" (* "*") (pointer_declarator "**ppppbStack_44" (* "*") (pointer_declarator "*ppppbStack_44" (* "*") (identifier "ppppbStack_44"))))) (; ";")) (declaration "byte ***local_2c;" (type_identifier "byte") (pointer_declarator "***local_2c" (* "*") (pointer_declarator "**local_2c" (* "*") (pointer_declarator "*local_2c" (* "*") (identifier "local_2c")))) (; ";")) (declaration "undefined4 local_28;" (type_identifier "undefined4") (identifier "local_28") (; ";")) (declaration "byte ****local_24;" (type_identifier "byte") (pointer_declarator "****local_24" (* "*") (pointer_declarator "***local_24" (* "*") (pointer_declarator "**local_24" (* "*") (pointer_declarator "*local_24" (* "*") (identifier "local_24"))))) (; ";")) (declaration "undefined1 *puVar19;" (type_identifier "undefined1") (pointer_declarator "*puVar19" (* "*") (identifier "puVar19")) (; ";")) (declaration "undefined1 *puVar20;" (type_identifier "undefined1") (pointer_declarator "*puVar20" (* "*") (identifier "puVar20")) (; ";")) (declaration "undefined1 *puVar21;" (type_identifier "undefined1") (pointer_declarator "*puVar21" (* "*") (identifier "puVar21")) (; ";")) (declaration "undefined1 *puVar22;" (type_identifier "undefined1") (pointer_declarator "*puVar22" (* "*") (identifier "puVar22")) (; ";")) (declaration "undefined1 *puVar23;" (type_identifier "undefined1") (pointer_declarator "*puVar23" (* "*") (identifier "puVar23")) (; ";")) (expression_statement "pppppbVar13 = (byte *****)PTR___stack_chk_guard_001464dc;" (assignment_expression "pppppbVar13 = (byte *****)PTR___stack_chk_guard_001464dc" (identifier "pppppbVar13") (= "=") (cast_expression "(byte *****)PTR___stack_chk_guard_001464dc" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "PTR___stack_chk_guard_001464dc"))) (; ";")) (expression_statement "pppppbVar9 = (byte *****)PTR_is_basic_table_00144b04;" (assignment_expression "pppppbVar9 = (byte *****)PTR_is_basic_table_00144b04" (identifier "pppppbVar9") (= "=") (cast_expression "(byte *****)PTR_is_basic_table_00144b04" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "PTR_is_basic_table_00144b04"))) (; ";")) (expression_statement "local_24 = *(byte *****)PTR___stack_chk_guard_001464dc;" (assignment_expression "local_24 = *(byte *****)PTR___stack_chk_guard_001464dc" (identifier "local_24") (= "=") (pointer_expression "*(byte *****)PTR___stack_chk_guard_001464dc" (* "*") (cast_expression "(byte *****)PTR___stack_chk_guard_001464dc" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "PTR___stack_chk_guard_001464dc")))) (; ";")) (expression_statement "ppppbStack_44 = (byte ****)param_2;" (assignment_expression "ppppbStack_44 = (byte ****)param_2" (identifier "ppppbStack_44") (= "=") (cast_expression "(byte ****)param_2" (( "(") (type_descriptor "byte ****" (type_identifier "byte") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "param_2"))) (; ";")) (if_statement "if ((*(int *)PTR_locale_utf8locale_00144afc == 0) || (0x7f < (int)param_2)) {\n    if ((0x2f < ((uint)param_2 & 0xff)) &&\n       (unaff_s5 = (byte *****)&local_2c, 1 < *(int *)PTR_locale_mb_cur_max_00144b00)) {\n      local_2c = (byte ***)0x0;\n      local_28 = 0;\n      unaff_s1 = (byte *****)(*(code *)PTR_strlen_00146390)(param_1);\n      pppppbVar2 = param_1;\n      if (unaff_s1 == (byte *****)0x0) {\n        pppppbVar2 = (byte *****)0x0;\n      }\n      else {\n        do {\n          bVar1 = *(byte *)pppppbVar2;\n          param_1 = pppppbVar2;\n          if ((*(uint *)((int)pppppbVar9 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n            ppppbStack_44 = (byte ****)pppppbVar2;\n            param_3 = unaff_s1;\n            iVar3 = (*(code *)PTR_mbrtowc_00146408)(0,pppppbVar2,unaff_s1,unaff_s5);\n            if (0xfffffffb < iVar3 - 2U) {\n              if ((byte *****)(uint)*(byte *)pppppbVar2 != param_2) goto LAB_000df640;\n              goto LAB_000df6f8;\n            }\n          }\n          else {\n            if ((byte *****)(uint)bVar1 == param_2) goto LAB_000df6f8;\nLAB_000df640:\n            iVar3 = 1;\n          }\n          unaff_s1 = (byte *****)((int)unaff_s1 - iVar3);\n          param_1 = (byte *****)((int)pppppbVar2 + iVar3);\n          pppppbVar2 = param_1;\n        } while (unaff_s1 != (byte *****)0x0);\n        pppppbVar2 = (byte *****)0x0;\n      }\n      goto LAB_000df6f8;\n    }\n    pppppbVar14 = param_1;\n    if ((byte *****)local_24 == *(byte ******)PTR___stack_chk_guard_001464dc) {\n                    \n                    \n      pppppbVar9 = (byte *****)(*(code *)PTR_strchr_00146398)(param_1,param_2);\n      return pppppbVar9;\n    }\n  }\n  else {\n    pppppbVar2 = (byte *****)utf8_mbschr((char *)param_1,(int)param_2);\n    pppppbVar9 = unaff_s3;\nLAB_000df6f8:\n    pppppbVar14 = (byte *****)local_24;\n    unaff_s3 = pppppbVar9;\n    if (local_24 == *pppppbVar13) {\n      return pppppbVar2;\n    }\n  }" (if "if") (parenthesized_expression "((*(int *)PTR_locale_utf8locale_00144afc == 0) || (0x7f < (int)param_2))" (( "(") (binary_expression "(*(int *)PTR_locale_utf8locale_00144afc == 0) || (0x7f < (int)param_2)" (parenthesized_expression "(*(int *)PTR_locale_utf8locale_00144afc == 0)" (( "(") (binary_expression "*(int *)PTR_locale_utf8locale_00144afc == 0" (pointer_expression "*(int *)PTR_locale_utf8locale_00144afc" (* "*") (cast_expression "(int *)PTR_locale_utf8locale_00144afc" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_locale_utf8locale_00144afc"))) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(0x7f < (int)param_2)" (( "(") (binary_expression "0x7f < (int)param_2" (number_literal "0x7f") (< "<") (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2"))) () ")"))) () ")")) (compound_statement "{\n    if ((0x2f < ((uint)param_2 & 0xff)) &&\n       (unaff_s5 = (byte *****)&local_2c, 1 < *(int *)PTR_locale_mb_cur_max_00144b00)) {\n      local_2c = (byte ***)0x0;\n      local_28 = 0;\n      unaff_s1 = (byte *****)(*(code *)PTR_strlen_00146390)(param_1);\n      pppppbVar2 = param_1;\n      if (unaff_s1 == (byte *****)0x0) {\n        pppppbVar2 = (byte *****)0x0;\n      }\n      else {\n        do {\n          bVar1 = *(byte *)pppppbVar2;\n          param_1 = pppppbVar2;\n          if ((*(uint *)((int)pppppbVar9 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n            ppppbStack_44 = (byte ****)pppppbVar2;\n            param_3 = unaff_s1;\n            iVar3 = (*(code *)PTR_mbrtowc_00146408)(0,pppppbVar2,unaff_s1,unaff_s5);\n            if (0xfffffffb < iVar3 - 2U) {\n              if ((byte *****)(uint)*(byte *)pppppbVar2 != param_2) goto LAB_000df640;\n              goto LAB_000df6f8;\n            }\n          }\n          else {\n            if ((byte *****)(uint)bVar1 == param_2) goto LAB_000df6f8;\nLAB_000df640:\n            iVar3 = 1;\n          }\n          unaff_s1 = (byte *****)((int)unaff_s1 - iVar3);\n          param_1 = (byte *****)((int)pppppbVar2 + iVar3);\n          pppppbVar2 = param_1;\n        } while (unaff_s1 != (byte *****)0x0);\n        pppppbVar2 = (byte *****)0x0;\n      }\n      goto LAB_000df6f8;\n    }\n    pppppbVar14 = param_1;\n    if ((byte *****)local_24 == *(byte ******)PTR___stack_chk_guard_001464dc) {\n                    \n                    \n      pppppbVar9 = (byte *****)(*(code *)PTR_strchr_00146398)(param_1,param_2);\n      return pppppbVar9;\n    }\n  }" ({ "{") (if_statement "if ((0x2f < ((uint)param_2 & 0xff)) &&\n       (unaff_s5 = (byte *****)&local_2c, 1 < *(int *)PTR_locale_mb_cur_max_00144b00)) {\n      local_2c = (byte ***)0x0;\n      local_28 = 0;\n      unaff_s1 = (byte *****)(*(code *)PTR_strlen_00146390)(param_1);\n      pppppbVar2 = param_1;\n      if (unaff_s1 == (byte *****)0x0) {\n        pppppbVar2 = (byte *****)0x0;\n      }\n      else {\n        do {\n          bVar1 = *(byte *)pppppbVar2;\n          param_1 = pppppbVar2;\n          if ((*(uint *)((int)pppppbVar9 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n            ppppbStack_44 = (byte ****)pppppbVar2;\n            param_3 = unaff_s1;\n            iVar3 = (*(code *)PTR_mbrtowc_00146408)(0,pppppbVar2,unaff_s1,unaff_s5);\n            if (0xfffffffb < iVar3 - 2U) {\n              if ((byte *****)(uint)*(byte *)pppppbVar2 != param_2) goto LAB_000df640;\n              goto LAB_000df6f8;\n            }\n          }\n          else {\n            if ((byte *****)(uint)bVar1 == param_2) goto LAB_000df6f8;\nLAB_000df640:\n            iVar3 = 1;\n          }\n          unaff_s1 = (byte *****)((int)unaff_s1 - iVar3);\n          param_1 = (byte *****)((int)pppppbVar2 + iVar3);\n          pppppbVar2 = param_1;\n        } while (unaff_s1 != (byte *****)0x0);\n        pppppbVar2 = (byte *****)0x0;\n      }\n      goto LAB_000df6f8;\n    }" (if "if") (parenthesized_expression "((0x2f < ((uint)param_2 & 0xff)) &&\n       (unaff_s5 = (byte *****)&local_2c, 1 < *(int *)PTR_locale_mb_cur_max_00144b00))" (( "(") (binary_expression "(0x2f < ((uint)param_2 & 0xff)) &&\n       (unaff_s5 = (byte *****)&local_2c, 1 < *(int *)PTR_locale_mb_cur_max_00144b00)" (parenthesized_expression "(0x2f < ((uint)param_2 & 0xff))" (( "(") (binary_expression "0x2f < ((uint)param_2 & 0xff)" (number_literal "0x2f") (< "<") (parenthesized_expression "((uint)param_2 & 0xff)" (( "(") (binary_expression "(uint)param_2 & 0xff" (cast_expression "(uint)param_2" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "param_2")) (& "&") (number_literal "0xff")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(unaff_s5 = (byte *****)&local_2c, 1 < *(int *)PTR_locale_mb_cur_max_00144b00)" (( "(") (comma_expression "unaff_s5 = (byte *****)&local_2c, 1 < *(int *)PTR_locale_mb_cur_max_00144b00" (assignment_expression "unaff_s5 = (byte *****)&local_2c" (identifier "unaff_s5") (= "=") (cast_expression "(byte *****)&local_2c" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (pointer_expression "&local_2c" (& "&") (identifier "local_2c")))) (, ",") (binary_expression "1 < *(int *)PTR_locale_mb_cur_max_00144b00" (number_literal "1") (< "<") (pointer_expression "*(int *)PTR_locale_mb_cur_max_00144b00" (* "*") (cast_expression "(int *)PTR_locale_mb_cur_max_00144b00" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_locale_mb_cur_max_00144b00"))))) () ")"))) () ")")) (compound_statement "{\n      local_2c = (byte ***)0x0;\n      local_28 = 0;\n      unaff_s1 = (byte *****)(*(code *)PTR_strlen_00146390)(param_1);\n      pppppbVar2 = param_1;\n      if (unaff_s1 == (byte *****)0x0) {\n        pppppbVar2 = (byte *****)0x0;\n      }\n      else {\n        do {\n          bVar1 = *(byte *)pppppbVar2;\n          param_1 = pppppbVar2;\n          if ((*(uint *)((int)pppppbVar9 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n            ppppbStack_44 = (byte ****)pppppbVar2;\n            param_3 = unaff_s1;\n            iVar3 = (*(code *)PTR_mbrtowc_00146408)(0,pppppbVar2,unaff_s1,unaff_s5);\n            if (0xfffffffb < iVar3 - 2U) {\n              if ((byte *****)(uint)*(byte *)pppppbVar2 != param_2) goto LAB_000df640;\n              goto LAB_000df6f8;\n            }\n          }\n          else {\n            if ((byte *****)(uint)bVar1 == param_2) goto LAB_000df6f8;\nLAB_000df640:\n            iVar3 = 1;\n          }\n          unaff_s1 = (byte *****)((int)unaff_s1 - iVar3);\n          param_1 = (byte *****)((int)pppppbVar2 + iVar3);\n          pppppbVar2 = param_1;\n        } while (unaff_s1 != (byte *****)0x0);\n        pppppbVar2 = (byte *****)0x0;\n      }\n      goto LAB_000df6f8;\n    }" ({ "{") (expression_statement "local_2c = (byte ***)0x0;" (assignment_expression "local_2c = (byte ***)0x0" (identifier "local_2c") (= "=") (cast_expression "(byte ***)0x0" (( "(") (type_descriptor "byte ***" (type_identifier "byte") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" (identifier "local_28") (= "=") (number_literal "0")) (; ";")) (expression_statement "unaff_s1 = (byte *****)(*(code *)PTR_strlen_00146390)(param_1);" (assignment_expression "unaff_s1 = (byte *****)(*(code *)PTR_strlen_00146390)(param_1)" (identifier "unaff_s1") (= "=") (cast_expression "(byte *****)(*(code *)PTR_strlen_00146390)(param_1)" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (call_expression "(*(code *)PTR_strlen_00146390)(param_1)" (parenthesized_expression "(*(code *)PTR_strlen_00146390)" (( "(") (pointer_expression "*(code *)PTR_strlen_00146390" (* "*") (cast_expression "(code *)PTR_strlen_00146390" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_00146390"))) () ")")) (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))))) (; ";")) (expression_statement "pppppbVar2 = param_1;" (assignment_expression "pppppbVar2 = param_1" (identifier "pppppbVar2") (= "=") (identifier "param_1")) (; ";")) (if_statement "if (unaff_s1 == (byte *****)0x0) {\n        pppppbVar2 = (byte *****)0x0;\n      }\n      else {\n        do {\n          bVar1 = *(byte *)pppppbVar2;\n          param_1 = pppppbVar2;\n          if ((*(uint *)((int)pppppbVar9 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n            ppppbStack_44 = (byte ****)pppppbVar2;\n            param_3 = unaff_s1;\n            iVar3 = (*(code *)PTR_mbrtowc_00146408)(0,pppppbVar2,unaff_s1,unaff_s5);\n            if (0xfffffffb < iVar3 - 2U) {\n              if ((byte *****)(uint)*(byte *)pppppbVar2 != param_2) goto LAB_000df640;\n              goto LAB_000df6f8;\n            }\n          }\n          else {\n            if ((byte *****)(uint)bVar1 == param_2) goto LAB_000df6f8;\nLAB_000df640:\n            iVar3 = 1;\n          }\n          unaff_s1 = (byte *****)((int)unaff_s1 - iVar3);\n          param_1 = (byte *****)((int)pppppbVar2 + iVar3);\n          pppppbVar2 = param_1;\n        } while (unaff_s1 != (byte *****)0x0);\n        pppppbVar2 = (byte *****)0x0;\n      }" (if "if") (parenthesized_expression "(unaff_s1 == (byte *****)0x0)" (( "(") (binary_expression "unaff_s1 == (byte *****)0x0" (identifier "unaff_s1") (== "==") (cast_expression "(byte *****)0x0" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        pppppbVar2 = (byte *****)0x0;\n      }" ({ "{") (expression_statement "pppppbVar2 = (byte *****)0x0;" (assignment_expression "pppppbVar2 = (byte *****)0x0" (identifier "pppppbVar2") (= "=") (cast_expression "(byte *****)0x0" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else {\n        do {\n          bVar1 = *(byte *)pppppbVar2;\n          param_1 = pppppbVar2;\n          if ((*(uint *)((int)pppppbVar9 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n            ppppbStack_44 = (byte ****)pppppbVar2;\n            param_3 = unaff_s1;\n            iVar3 = (*(code *)PTR_mbrtowc_00146408)(0,pppppbVar2,unaff_s1,unaff_s5);\n            if (0xfffffffb < iVar3 - 2U) {\n              if ((byte *****)(uint)*(byte *)pppppbVar2 != param_2) goto LAB_000df640;\n              goto LAB_000df6f8;\n            }\n          }\n          else {\n            if ((byte *****)(uint)bVar1 == param_2) goto LAB_000df6f8;\nLAB_000df640:\n            iVar3 = 1;\n          }\n          unaff_s1 = (byte *****)((int)unaff_s1 - iVar3);\n          param_1 = (byte *****)((int)pppppbVar2 + iVar3);\n          pppppbVar2 = param_1;\n        } while (unaff_s1 != (byte *****)0x0);\n        pppppbVar2 = (byte *****)0x0;\n      }" (else "else") (compound_statement "{\n        do {\n          bVar1 = *(byte *)pppppbVar2;\n          param_1 = pppppbVar2;\n          if ((*(uint *)((int)pppppbVar9 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n            ppppbStack_44 = (byte ****)pppppbVar2;\n            param_3 = unaff_s1;\n            iVar3 = (*(code *)PTR_mbrtowc_00146408)(0,pppppbVar2,unaff_s1,unaff_s5);\n            if (0xfffffffb < iVar3 - 2U) {\n              if ((byte *****)(uint)*(byte *)pppppbVar2 != param_2) goto LAB_000df640;\n              goto LAB_000df6f8;\n            }\n          }\n          else {\n            if ((byte *****)(uint)bVar1 == param_2) goto LAB_000df6f8;\nLAB_000df640:\n            iVar3 = 1;\n          }\n          unaff_s1 = (byte *****)((int)unaff_s1 - iVar3);\n          param_1 = (byte *****)((int)pppppbVar2 + iVar3);\n          pppppbVar2 = param_1;\n        } while (unaff_s1 != (byte *****)0x0);\n        pppppbVar2 = (byte *****)0x0;\n      }" ({ "{") (do_statement "do {\n          bVar1 = *(byte *)pppppbVar2;\n          param_1 = pppppbVar2;\n          if ((*(uint *)((int)pppppbVar9 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n            ppppbStack_44 = (byte ****)pppppbVar2;\n            param_3 = unaff_s1;\n            iVar3 = (*(code *)PTR_mbrtowc_00146408)(0,pppppbVar2,unaff_s1,unaff_s5);\n            if (0xfffffffb < iVar3 - 2U) {\n              if ((byte *****)(uint)*(byte *)pppppbVar2 != param_2) goto LAB_000df640;\n              goto LAB_000df6f8;\n            }\n          }\n          else {\n            if ((byte *****)(uint)bVar1 == param_2) goto LAB_000df6f8;\nLAB_000df640:\n            iVar3 = 1;\n          }\n          unaff_s1 = (byte *****)((int)unaff_s1 - iVar3);\n          param_1 = (byte *****)((int)pppppbVar2 + iVar3);\n          pppppbVar2 = param_1;\n        } while (unaff_s1 != (byte *****)0x0);" (do "do") (compound_statement "{\n          bVar1 = *(byte *)pppppbVar2;\n          param_1 = pppppbVar2;\n          if ((*(uint *)((int)pppppbVar9 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n            ppppbStack_44 = (byte ****)pppppbVar2;\n            param_3 = unaff_s1;\n            iVar3 = (*(code *)PTR_mbrtowc_00146408)(0,pppppbVar2,unaff_s1,unaff_s5);\n            if (0xfffffffb < iVar3 - 2U) {\n              if ((byte *****)(uint)*(byte *)pppppbVar2 != param_2) goto LAB_000df640;\n              goto LAB_000df6f8;\n            }\n          }\n          else {\n            if ((byte *****)(uint)bVar1 == param_2) goto LAB_000df6f8;\nLAB_000df640:\n            iVar3 = 1;\n          }\n          unaff_s1 = (byte *****)((int)unaff_s1 - iVar3);\n          param_1 = (byte *****)((int)pppppbVar2 + iVar3);\n          pppppbVar2 = param_1;\n        }" ({ "{") (expression_statement "bVar1 = *(byte *)pppppbVar2;" (assignment_expression "bVar1 = *(byte *)pppppbVar2" (identifier "bVar1") (= "=") (pointer_expression "*(byte *)pppppbVar2" (* "*") (cast_expression "(byte *)pppppbVar2" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppppbVar2")))) (; ";")) (expression_statement "param_1 = pppppbVar2;" (assignment_expression "param_1 = pppppbVar2" (identifier "param_1") (= "=") (identifier "pppppbVar2")) (; ";")) (if_statement "if ((*(uint *)((int)pppppbVar9 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {\n            ppppbStack_44 = (byte ****)pppppbVar2;\n            param_3 = unaff_s1;\n            iVar3 = (*(code *)PTR_mbrtowc_00146408)(0,pppppbVar2,unaff_s1,unaff_s5);\n            if (0xfffffffb < iVar3 - 2U) {\n              if ((byte *****)(uint)*(byte *)pppppbVar2 != param_2) goto LAB_000df640;\n              goto LAB_000df6f8;\n            }\n          }\n          else {\n            if ((byte *****)(uint)bVar1 == param_2) goto LAB_000df6f8;\nLAB_000df640:\n            iVar3 = 1;\n          }" (if "if") (parenthesized_expression "((*(uint *)((int)pppppbVar9 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0)" (( "(") (binary_expression "(*(uint *)((int)pppppbVar9 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0" (parenthesized_expression "(*(uint *)((int)pppppbVar9 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1)" (( "(") (binary_expression "*(uint *)((int)pppppbVar9 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1" (binary_expression "*(uint *)((int)pppppbVar9 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f)" (pointer_expression "*(uint *)((int)pppppbVar9 + (uint)(bVar1 >> 5) * 4)" (* "*") (cast_expression "(uint *)((int)pppppbVar9 + (uint)(bVar1 >> 5) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppbVar9 + (uint)(bVar1 >> 5) * 4)" (( "(") (binary_expression "(int)pppppbVar9 + (uint)(bVar1 >> 5) * 4" (cast_expression "(int)pppppbVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppbVar9")) (+ "+") (binary_expression "(uint)(bVar1 >> 5) * 4" (call_expression "(uint)(bVar1 >> 5)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(bVar1 >> 5)" (( "(") (binary_expression "bVar1 >> 5" (identifier "bVar1") (>> ">>") (number_literal "5")) () ")"))) (* "*") (number_literal "4"))) () ")")))) (>> ">>") (parenthesized_expression "(bVar1 & 0x1f)" (( "(") (binary_expression "bVar1 & 0x1f" (identifier "bVar1") (& "&") (number_literal "0x1f")) () ")"))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            ppppbStack_44 = (byte ****)pppppbVar2;\n            param_3 = unaff_s1;\n            iVar3 = (*(code *)PTR_mbrtowc_00146408)(0,pppppbVar2,unaff_s1,unaff_s5);\n            if (0xfffffffb < iVar3 - 2U) {\n              if ((byte *****)(uint)*(byte *)pppppbVar2 != param_2) goto LAB_000df640;\n              goto LAB_000df6f8;\n            }\n          }" ({ "{") (expression_statement "ppppbStack_44 = (byte ****)pppppbVar2;" (assignment_expression "ppppbStack_44 = (byte ****)pppppbVar2" (identifier "ppppbStack_44") (= "=") (cast_expression "(byte ****)pppppbVar2" (( "(") (type_descriptor "byte ****" (type_identifier "byte") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "pppppbVar2"))) (; ";")) (expression_statement "param_3 = unaff_s1;" (assignment_expression "param_3 = unaff_s1" (identifier "param_3") (= "=") (identifier "unaff_s1")) (; ";")) (expression_statement "iVar3 = (*(code *)PTR_mbrtowc_00146408)(0,pppppbVar2,unaff_s1,unaff_s5);" (assignment_expression "iVar3 = (*(code *)PTR_mbrtowc_00146408)(0,pppppbVar2,unaff_s1,unaff_s5)" (identifier "iVar3") (= "=") (call_expression "(*(code *)PTR_mbrtowc_00146408)(0,pppppbVar2,unaff_s1,unaff_s5)" (parenthesized_expression "(*(code *)PTR_mbrtowc_00146408)" (( "(") (pointer_expression "*(code *)PTR_mbrtowc_00146408" (* "*") (cast_expression "(code *)PTR_mbrtowc_00146408" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_mbrtowc_00146408"))) () ")")) (argument_list "(0,pppppbVar2,unaff_s1,unaff_s5)" (( "(") (number_literal "0") (, ",") (identifier "pppppbVar2") (, ",") (identifier "unaff_s1") (, ",") (identifier "unaff_s5") () ")")))) (; ";")) (if_statement "if (0xfffffffb < iVar3 - 2U) {\n              if ((byte *****)(uint)*(byte *)pppppbVar2 != param_2) goto LAB_000df640;\n              goto LAB_000df6f8;\n            }" (if "if") (parenthesized_expression "(0xfffffffb < iVar3 - 2U)" (( "(") (binary_expression "0xfffffffb < iVar3 - 2U" (number_literal "0xfffffffb") (< "<") (binary_expression "iVar3 - 2U" (identifier "iVar3") (- "-") (number_literal "2U"))) () ")")) (compound_statement "{\n              if ((byte *****)(uint)*(byte *)pppppbVar2 != param_2) goto LAB_000df640;\n              goto LAB_000df6f8;\n            }" ({ "{") (if_statement "if ((byte *****)(uint)*(byte *)pppppbVar2 != param_2) goto LAB_000df640;" (if "if") (parenthesized_expression "((byte *****)(uint)*(byte *)pppppbVar2 != param_2)" (( "(") (binary_expression "(byte *****)(uint)*(byte *)pppppbVar2 != param_2" (binary_expression "(byte *****)(uint)*(byte *)pppppbVar2" (cast_expression "(byte *****)(uint)" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")"))) (* "*") (cast_expression "(byte *)pppppbVar2" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppppbVar2"))) (!= "!=") (identifier "param_2")) () ")")) (goto_statement "goto LAB_000df640;" (goto "goto") (statement_identifier "LAB_000df640") (; ";"))) (goto_statement "goto LAB_000df6f8;" (goto "goto") (statement_identifier "LAB_000df6f8") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n            if ((byte *****)(uint)bVar1 == param_2) goto LAB_000df6f8;\nLAB_000df640:\n            iVar3 = 1;\n          }" (else "else") (compound_statement "{\n            if ((byte *****)(uint)bVar1 == param_2) goto LAB_000df6f8;\nLAB_000df640:\n            iVar3 = 1;\n          }" ({ "{") (if_statement "if ((byte *****)(uint)bVar1 == param_2) goto LAB_000df6f8;" (if "if") (parenthesized_expression "((byte *****)(uint)bVar1 == param_2)" (( "(") (binary_expression "(byte *****)(uint)bVar1 == param_2" (cast_expression "(byte *****)(uint)bVar1" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (cast_expression "(uint)bVar1" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar1"))) (== "==") (identifier "param_2")) () ")")) (goto_statement "goto LAB_000df6f8;" (goto "goto") (statement_identifier "LAB_000df6f8") (; ";"))) (labeled_statement "LAB_000df640:\n            iVar3 = 1;" (statement_identifier "LAB_000df640") (: ":") (expression_statement "iVar3 = 1;" (assignment_expression "iVar3 = 1" (identifier "iVar3") (= "=") (number_literal "1")) (; ";"))) (} "}")))) (expression_statement "unaff_s1 = (byte *****)((int)unaff_s1 - iVar3);" (assignment_expression "unaff_s1 = (byte *****)((int)unaff_s1 - iVar3)" (identifier "unaff_s1") (= "=") (cast_expression "(byte *****)((int)unaff_s1 - iVar3)" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "((int)unaff_s1 - iVar3)" (( "(") (binary_expression "(int)unaff_s1 - iVar3" (cast_expression "(int)unaff_s1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s1")) (- "-") (identifier "iVar3")) () ")")))) (; ";")) (expression_statement "param_1 = (byte *****)((int)pppppbVar2 + iVar3);" (assignment_expression "param_1 = (byte *****)((int)pppppbVar2 + iVar3)" (identifier "param_1") (= "=") (cast_expression "(byte *****)((int)pppppbVar2 + iVar3)" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "((int)pppppbVar2 + iVar3)" (( "(") (binary_expression "(int)pppppbVar2 + iVar3" (cast_expression "(int)pppppbVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppbVar2")) (+ "+") (identifier "iVar3")) () ")")))) (; ";")) (expression_statement "pppppbVar2 = param_1;" (assignment_expression "pppppbVar2 = param_1" (identifier "pppppbVar2") (= "=") (identifier "param_1")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(unaff_s1 != (byte *****)0x0)" (( "(") (binary_expression "unaff_s1 != (byte *****)0x0" (identifier "unaff_s1") (!= "!=") (cast_expression "(byte *****)0x0" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (expression_statement "pppppbVar2 = (byte *****)0x0;" (assignment_expression "pppppbVar2 = (byte *****)0x0" (identifier "pppppbVar2") (= "=") (cast_expression "(byte *****)0x0" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";")) (} "}")))) (goto_statement "goto LAB_000df6f8;" (goto "goto") (statement_identifier "LAB_000df6f8") (; ";")) (} "}"))) (expression_statement "pppppbVar14 = param_1;" (assignment_expression "pppppbVar14 = param_1" (identifier "pppppbVar14") (= "=") (identifier "param_1")) (; ";")) (if_statement "if ((byte *****)local_24 == *(byte ******)PTR___stack_chk_guard_001464dc) {\n                    \n                    \n      pppppbVar9 = (byte *****)(*(code *)PTR_strchr_00146398)(param_1,param_2);\n      return pppppbVar9;\n    }" (if "if") (parenthesized_expression "((byte *****)local_24 == *(byte ******)PTR___stack_chk_guard_001464dc)" (( "(") (binary_expression "(byte *****)local_24 == *(byte ******)PTR___stack_chk_guard_001464dc" (cast_expression "(byte *****)local_24" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "local_24")) (== "==") (pointer_expression "*(byte ******)PTR___stack_chk_guard_001464dc" (* "*") (cast_expression "(byte ******)PTR___stack_chk_guard_001464dc" (( "(") (type_descriptor "byte ******" (type_identifier "byte") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (identifier "PTR___stack_chk_guard_001464dc")))) () ")")) (compound_statement "{\n                    \n                    \n      pppppbVar9 = (byte *****)(*(code *)PTR_strchr_00146398)(param_1,param_2);\n      return pppppbVar9;\n    }" ({ "{") (expression_statement "pppppbVar9 = (byte *****)(*(code *)PTR_strchr_00146398)(param_1,param_2);" (assignment_expression "pppppbVar9 = (byte *****)(*(code *)PTR_strchr_00146398)(param_1,param_2)" (identifier "pppppbVar9") (= "=") (cast_expression "(byte *****)(*(code *)PTR_strchr_00146398)(param_1,param_2)" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (call_expression "(*(code *)PTR_strchr_00146398)(param_1,param_2)" (parenthesized_expression "(*(code *)PTR_strchr_00146398)" (( "(") (pointer_expression "*(code *)PTR_strchr_00146398" (* "*") (cast_expression "(code *)PTR_strchr_00146398" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strchr_00146398"))) () ")")) (argument_list "(param_1,param_2)" (( "(") (identifier "param_1") (, ",") (identifier "param_2") () ")"))))) (; ";")) (return_statement "return pppppbVar9;" (return "return") (identifier "pppppbVar9") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    pppppbVar2 = (byte *****)utf8_mbschr((char *)param_1,(int)param_2);\n    pppppbVar9 = unaff_s3;\nLAB_000df6f8:\n    pppppbVar14 = (byte *****)local_24;\n    unaff_s3 = pppppbVar9;\n    if (local_24 == *pppppbVar13) {\n      return pppppbVar2;\n    }\n  }" (else "else") (compound_statement "{\n    pppppbVar2 = (byte *****)utf8_mbschr((char *)param_1,(int)param_2);\n    pppppbVar9 = unaff_s3;\nLAB_000df6f8:\n    pppppbVar14 = (byte *****)local_24;\n    unaff_s3 = pppppbVar9;\n    if (local_24 == *pppppbVar13) {\n      return pppppbVar2;\n    }\n  }" ({ "{") (expression_statement "pppppbVar2 = (byte *****)utf8_mbschr((char *)param_1,(int)param_2);" (assignment_expression "pppppbVar2 = (byte *****)utf8_mbschr((char *)param_1,(int)param_2)" (identifier "pppppbVar2") (= "=") (cast_expression "(byte *****)utf8_mbschr((char *)param_1,(int)param_2)" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (call_expression "utf8_mbschr((char *)param_1,(int)param_2)" (identifier "utf8_mbschr") (argument_list "((char *)param_1,(int)param_2)" (( "(") (cast_expression "(char *)param_1" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_1")) (, ",") (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) () ")"))))) (; ";")) (expression_statement "pppppbVar9 = unaff_s3;" (assignment_expression "pppppbVar9 = unaff_s3" (identifier "pppppbVar9") (= "=") (identifier "unaff_s3")) (; ";")) (labeled_statement "LAB_000df6f8:\n    pppppbVar14 = (byte *****)local_24;" (statement_identifier "LAB_000df6f8") (: ":") (expression_statement "pppppbVar14 = (byte *****)local_24;" (assignment_expression "pppppbVar14 = (byte *****)local_24" (identifier "pppppbVar14") (= "=") (cast_expression "(byte *****)local_24" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "local_24"))) (; ";"))) (expression_statement "unaff_s3 = pppppbVar9;" (assignment_expression "unaff_s3 = pppppbVar9" (identifier "unaff_s3") (= "=") (identifier "pppppbVar9")) (; ";")) (if_statement "if (local_24 == *pppppbVar13) {\n      return pppppbVar2;\n    }" (if "if") (parenthesized_expression "(local_24 == *pppppbVar13)" (( "(") (binary_expression "local_24 == *pppppbVar13" (identifier "local_24") (== "==") (pointer_expression "*pppppbVar13" (* "*") (identifier "pppppbVar13"))) () ")")) (compound_statement "{\n      return pppppbVar2;\n    }" ({ "{") (return_statement "return pppppbVar2;" (return "return") (identifier "pppppbVar2") (; ";")) (} "}"))) (} "}")))) (expression_statement "puVar15 = PTR___stack_chk_fail_00146488;" (assignment_expression "puVar15 = PTR___stack_chk_fail_00146488" (identifier "puVar15") (= "=") (identifier "PTR___stack_chk_fail_00146488")) (; ";")) (expression_statement "(*(code *)PTR___stack_chk_fail_00146488)();" (call_expression "(*(code *)PTR___stack_chk_fail_00146488)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00146488)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_00146488" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_00146488" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_00146488"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puStack_1170 = puVar15 + 0x6ce00;" (assignment_expression "puStack_1170 = puVar15 + 0x6ce00" (identifier "puStack_1170") (= "=") (binary_expression "puVar15 + 0x6ce00" (identifier "puVar15") (+ "+") (number_literal "0x6ce00"))) (; ";")) (expression_statement "puVar26 = auStack_1180;" (assignment_expression "puVar26 = auStack_1180" (identifier "puVar26") (= "=") (identifier "auStack_1180")) (; ";")) (expression_statement "piStack_1144 = *(int **)(puVar15 + 0x66d9c);" (assignment_expression "piStack_1144 = *(int **)(puVar15 + 0x66d9c)" (identifier "piStack_1144") (= "=") (pointer_expression "*(int **)(puVar15 + 0x66d9c)" (* "*") (cast_expression "(int **)(puVar15 + 0x66d9c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + 0x66d9c)" (( "(") (binary_expression "puVar15 + 0x66d9c" (identifier "puVar15") (+ "+") (number_literal "0x66d9c")) () ")"))))) (; ";")) (expression_statement "puStack_60 = (undefined *)pppppbVar13;" (assignment_expression "puStack_60 = (undefined *)pppppbVar13" (identifier "puStack_60") (= "=") (cast_expression "(undefined *)pppppbVar13" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pppppbVar13"))) (; ";")) (expression_statement "iStack_74 = *piStack_1144;" (assignment_expression "iStack_74 = *piStack_1144" (identifier "iStack_74") (= "=") (pointer_expression "*piStack_1144" (* "*") (identifier "piStack_1144"))) (; ";")) (expression_statement "ppppbStack_115c = (byte ****)pppppbVar14;" (assignment_expression "ppppbStack_115c = (byte ****)pppppbVar14" (identifier "ppppbStack_115c") (= "=") (cast_expression "(byte ****)pppppbVar14" (( "(") (type_descriptor "byte ****" (type_identifier "byte") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "pppppbVar14"))) (; ";")) (expression_statement "ppppbStack_70 = (byte ****)param_1;" (assignment_expression "ppppbStack_70 = (byte ****)param_1" (identifier "ppppbStack_70") (= "=") (cast_expression "(byte ****)param_1" (( "(") (type_descriptor "byte ****" (type_identifier "byte") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "param_1"))) (; ";")) (expression_statement "ppppbStack_6c = (byte ****)unaff_s1;" (assignment_expression "ppppbStack_6c = (byte ****)unaff_s1" (identifier "ppppbStack_6c") (= "=") (cast_expression "(byte ****)unaff_s1" (( "(") (type_descriptor "byte ****" (type_identifier "byte") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "unaff_s1"))) (; ";")) (expression_statement "ppppbStack_68 = (byte ****)param_2;" (assignment_expression "ppppbStack_68 = (byte ****)param_2" (identifier "ppppbStack_68") (= "=") (cast_expression "(byte ****)param_2" (( "(") (type_descriptor "byte ****" (type_identifier "byte") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "param_2"))) (; ";")) (expression_statement "ppppbStack_64 = (byte ****)unaff_s3;" (assignment_expression "ppppbStack_64 = (byte ****)unaff_s3" (identifier "ppppbStack_64") (= "=") (cast_expression "(byte ****)unaff_s3" (( "(") (type_descriptor "byte ****" (type_identifier "byte") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "unaff_s3"))) (; ";")) (expression_statement "ppppbStack_5c = (byte ****)unaff_s5;" (assignment_expression "ppppbStack_5c = (byte ****)unaff_s5" (identifier "ppppbStack_5c") (= "=") (cast_expression "(byte ****)unaff_s5" (( "(") (type_descriptor "byte ****" (type_identifier "byte") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "unaff_s5"))) (; ";")) (if_statement "if ((pppppbVar14 != (byte *****)0x0) && ((byte *****)ppppbStack_44 == (byte *****)0x0)) {\n    pppppbVar9 = (byte *****)0x0;\n    puVar7 = (undefined4 *)(**(code **)(puVar15 + 0x66bfc))();\n    *puVar7 = 0x16;\n    goto LAB_000dfb60;\n  }" (if "if") (parenthesized_expression "((pppppbVar14 != (byte *****)0x0) && ((byte *****)ppppbStack_44 == (byte *****)0x0))" (( "(") (binary_expression "(pppppbVar14 != (byte *****)0x0) && ((byte *****)ppppbStack_44 == (byte *****)0x0)" (parenthesized_expression "(pppppbVar14 != (byte *****)0x0)" (( "(") (binary_expression "pppppbVar14 != (byte *****)0x0" (identifier "pppppbVar14") (!= "!=") (cast_expression "(byte *****)0x0" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "((byte *****)ppppbStack_44 == (byte *****)0x0)" (( "(") (binary_expression "(byte *****)ppppbStack_44 == (byte *****)0x0" (cast_expression "(byte *****)ppppbStack_44" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppbStack_44")) (== "==") (cast_expression "(byte *****)0x0" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")"))) () ")")) (compound_statement "{\n    pppppbVar9 = (byte *****)0x0;\n    puVar7 = (undefined4 *)(**(code **)(puVar15 + 0x66bfc))();\n    *puVar7 = 0x16;\n    goto LAB_000dfb60;\n  }" ({ "{") (expression_statement "pppppbVar9 = (byte *****)0x0;" (assignment_expression "pppppbVar9 = (byte *****)0x0" (identifier "pppppbVar9") (= "=") (cast_expression "(byte *****)0x0" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "puVar7 = (undefined4 *)(**(code **)(puVar15 + 0x66bfc))();" (assignment_expression "puVar7 = (undefined4 *)(**(code **)(puVar15 + 0x66bfc))()" (identifier "puVar7") (= "=") (cast_expression "(undefined4 *)(**(code **)(puVar15 + 0x66bfc))()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puVar15 + 0x66bfc))()" (parenthesized_expression "(**(code **)(puVar15 + 0x66bfc))" (( "(") (pointer_expression "**(code **)(puVar15 + 0x66bfc)" (* "*") (pointer_expression "*(code **)(puVar15 + 0x66bfc)" (* "*") (cast_expression "(code **)(puVar15 + 0x66bfc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + 0x66bfc)" (( "(") (binary_expression "puVar15 + 0x66bfc" (identifier "puVar15") (+ "+") (number_literal "0x66bfc")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "*puVar7 = 0x16;" (assignment_expression "*puVar7 = 0x16" (pointer_expression "*puVar7" (* "*") (identifier "puVar7")) (= "=") (number_literal "0x16")) (; ";")) (goto_statement "goto LAB_000dfb60;" (goto "goto") (statement_identifier "LAB_000dfb60") (; ";")) (} "}"))) (expression_statement "param_3 = appppbStack_1118;" (assignment_expression "param_3 = appppbStack_1118" (identifier "param_3") (= "=") (identifier "appppbStack_1118")) (; ";")) (expression_statement "pppppbVar2 = (byte *****)(*(int *)(puVar15 + 0x64e6c) + -0x7e78);" (assignment_expression "pppppbVar2 = (byte *****)(*(int *)(puVar15 + 0x64e6c) + -0x7e78)" (identifier "pppppbVar2") (= "=") (cast_expression "(byte *****)(*(int *)(puVar15 + 0x64e6c) + -0x7e78)" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "(*(int *)(puVar15 + 0x64e6c) + -0x7e78)" (( "(") (binary_expression "*(int *)(puVar15 + 0x64e6c) + -0x7e78" (pointer_expression "*(int *)(puVar15 + 0x64e6c)" (* "*") (cast_expression "(int *)(puVar15 + 0x64e6c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar15 + 0x64e6c)" (( "(") (binary_expression "puVar15 + 0x64e6c" (identifier "puVar15") (+ "+") (number_literal "0x64e6c")) () ")")))) (+ "+") (number_literal "-0x7e78")) () ")")))) (; ";")) (expression_statement "auStack_78[0] = 0;" (assignment_expression "auStack_78[0] = 0" (subscript_expression "auStack_78[0]" (identifier "auStack_78") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "ppppbStack_1128 = (byte ****)param_3;" (assignment_expression "ppppbStack_1128 = (byte ****)param_3" (identifier "ppppbStack_1128") (= "=") (cast_expression "(byte ****)param_3" (( "(") (type_descriptor "byte ****" (type_identifier "byte") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "param_3"))) (; ";")) (expression_statement "iVar3 = (**(code **)(puVar15 + 0x66af4))(3,pppppbVar2);" (assignment_expression "iVar3 = (**(code **)(puVar15 + 0x66af4))(3,pppppbVar2)" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puVar15 + 0x66af4))(3,pppppbVar2)" (parenthesized_expression "(**(code **)(puVar15 + 0x66af4))" (( "(") (pointer_expression "**(code **)(puVar15 + 0x66af4)" (* "*") (pointer_expression "*(code **)(puVar15 + 0x66af4)" (* "*") (cast_expression "(code **)(puVar15 + 0x66af4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + 0x66af4)" (( "(") (binary_expression "puVar15 + 0x66af4" (identifier "puVar15") (+ "+") (number_literal "0x66af4")) () ")"))))) () ")")) (argument_list "(3,pppppbVar2)" (( "(") (number_literal "3") (, ",") (identifier "pppppbVar2") () ")")))) (; ";")) (expression_statement "puVar26 = auStack_1180;" (assignment_expression "puVar26 = auStack_1180" (identifier "puVar26") (= "=") (identifier "auStack_1180")) (; ";")) (if_statement "if (-1 < iVar3) {\n    ppppbStack_1120 = appppbStack_1118[0];\n    pppppbVar9 = (byte *****)(*(int *)(puStack_1170 + -0x7aac) + -0x7ee8);\n    iStack_112c = iStack_1108;\n    iStack_113c = iStack_1104;\n    param_3 = (byte *****)ppppbStack_1128;\n    iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,pppppbVar9);\n    pppppbVar2 = pppppbVar9;\n    puVar26 = auStack_1180;\n    if (-1 < iVar3) {\n      ppppbStack_1158 = apppbStack_1078;\n      pppppbVar14 = (byte *****)auStack_78;\n      ppppbStack_114c = appppbStack_1118[0];\n      iStack_1160 = iStack_1108;\n      ppppbStack_1148 = (byte ****)(*(int *)(puStack_1170 + -0x7f94) + -0x34d0);\n      pppbStack_1138 = (byte ***)0x0;\n      iStack_1164 = iStack_1104;\n      ppppbStack_1140 = (byte ****)0xe0;\n      ppppbStack_1124 = (byte ****)(*(int *)(puStack_1170 + -0x7f94) + -0x33ef);\n      unaff_s1 = (byte *****)ppppbStack_1158;\n      unaff_s6 = (byte *****)0x1001;\n      puVar26 = auStack_1180;\n      ppppbStack_1168 = (byte ****)pppppbVar14;\n      ppppbStack_1134 = ppppbStack_1148;\n      while (((ppppbStack_1120 != ppppbStack_114c || (iStack_112c != iStack_1160)) ||\n             (iStack_113c != iStack_1164))) {\n        pppppbVar12 = pppppbVar13;\n        pppppbVar10 = unaff_s1;\n        if (ppppbStack_1124 == ppppbStack_1134) {\n          param_1 = (byte *****)((int)ppppbStack_1140 * 2);\n          pppppbVar2 = (byte *****)((int)param_1 + 1);\n          if (ppppbStack_1124 == ppppbStack_1148) {\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(pppppbVar2);\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb48;\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,ppppbStack_1148,ppppbStack_1140);\n          }\n          else {\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(ppppbStack_1134);\n            puVar24 = puVar26;\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb18;\n          }\n          pppppbVar12 = (byte *****)ppppbStack_1140;\n          unaff_s3 = (byte *****)((int)pppppbVar9 + (int)ppppbStack_1140);\n          ppppbStack_1124 = (byte ****)unaff_s3;\n          (**(code **)(puStack_1170 + -0x605c))(unaff_s3,pppppbVar9,ppppbStack_1140);\n          *(byte *)((int)unaff_s3 + (int)pppppbVar12) = 0;\n          ppppbStack_1140 = (byte ****)param_1;\n          ppppbStack_1134 = (byte ****)pppppbVar9;\n        }\n        param_1 = (byte *****)((int)ppppbStack_1124 + -3);\n        pppppbVar2 = param_1;\n        param_3 = (byte *****)ppppbStack_1128;\n        ppppbStack_1124 = (byte ****)param_1;\n        iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,param_1);\n        pppppbVar13 = pppppbVar12;\n        puVar17 = puVar26;\n        if (iVar3 < 0) {\nLAB_000dfb00:\n          puVar26 = puVar17;\n          if ((ppppbStack_1134 != ppppbStack_1148) &&\n             (puVar24 = puVar17, (byte *****)ppppbStack_1134 != (byte *****)0x0)) {\nLAB_000dfb18:\n            pcVar16 = *(code **)(puStack_1170 + -0x6204);\n            puVar25 = puVar24;\nLAB_000dfb1c:\n            param_1 = (byte *****)(*pcVar16)();\n            ppppbVar11 = *param_1;\n            (**(code **)(puStack_1170 + -0x6044))(ppppbStack_1134);\n            *param_1 = ppppbVar11;\n            unaff_s1 = pppppbVar10;\n            puVar26 = puVar25;\n          }\n          goto LAB_000dfb48;\n        }\n        ppppbStack_1130 = appppbStack_1118[0];\n        iStack_1150 = iStack_1108;\n        iStack_1154 = iStack_1104;\n        iStack_111c = (**(code **)(puStack_1170 + -0x633c))(param_1);\n        if (iStack_111c == 0) goto LAB_000dfb00;\n        unaff_s3 = (byte *****)\n                   ((byte *)((int)ppppbStack_1134 + (int)ppppbStack_1140) + -(int)param_1);\n        unaff_s5 = (byte *****)((int)unaff_s3 + 1);\nLAB_000df8ec:\n        do {\n          pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n          do {\n            do {\n              piVar4 = (int *)(*pcVar16)(iStack_111c);\n              while( true ) {\n                if (piVar4 == (int *)0x0) {\n                  param_1 = (byte *****)(**(code **)(puStack_1170 + -0x6204))();\n                  ppppbVar11 = (byte ****)pppbStack_1138;\n                  if (*param_1 != (byte ****)0x0) {\n                    ppppbVar11 = *param_1;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  *param_1 = ppppbVar11;\n                  pppppbVar13 = pppppbVar12;\n                  goto LAB_000dfb00;\n                }\n                if (*(char *)((int)piVar4 + 0x13) != '.') break;\n                pppppbVar2 = (byte *****)0xffff0000;\n                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;\n                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;\n                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);\n              }\n            } while ((ppppbStack_1120 == ppppbStack_1130) &&\n                    ((pcVar16 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c))));\n            param_1 = (byte *****)((int)piVar4 + 0x13);\n            pppppbVar5 = (byte *****)(**(code **)(puStack_1170 + -0x61b0))(param_1);\n            iVar3 = -((uint)((byte *)((int)unaff_s5 + (int)pppppbVar5) + 8) & 0xfffffff8);\n            puVar18 = puVar17 + iVar3;\n            puVar19 = puVar17 + iVar3;\n            puVar20 = puVar17 + iVar3;\n            puVar25 = puVar17 + iVar3;\n            puVar21 = puVar17 + iVar3;\n            puVar26 = puVar17 + iVar3;\n            puVar22 = puVar17 + iVar3;\n            puVar24 = puVar17 + iVar3;\n            puVar23 = puVar17 + iVar3;\n            pppppbVar12 = (byte *****)(puVar17 + iVar3 + 0x10);\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar12,ppppbStack_1124,unaff_s3);\n            puVar15 = puStack_1170;\n            *(byte *)((int)pppppbVar12 + (int)unaff_s3) = 0x2f;\n            (**(code **)(puVar15 + -0x605c))\n                      ((byte *)((int)pppppbVar12 + (int)unaff_s5),param_1,\n                       (byte *)((int)pppppbVar5 + 1));\n            pppppbVar2 = pppppbVar12;\n            param_3 = (byte *****)ppppbStack_1128;\n            iVar6 = (**(code **)(puStack_1170 + -0x632c))(3,pppppbVar12);\n            if (iVar6 < 0) {\n              piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))();\n              pppbStack_1138 = (byte ***)*piVar4;\n            }\n            pppppbVar13 = (byte *****)ppppbStack_1158;\n            pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n            puVar17 = puVar17 + iVar3;\n          } while ((appppbStack_1118[0] != ppppbStack_1120) ||\n                  (puVar17 = puVar18, iStack_1108 != iStack_112c));\n          puVar17 = puVar19;\n        } while (iStack_1104 != iStack_113c);\n        pppppbVar9 = param_1;\n        unaff_s3 = (byte *****)((int)pppppbVar14 - (int)unaff_s1);\n        unaff_s5 = unaff_s6;\n        while (unaff_s3 <= pppppbVar5) {\n          unaff_s6 = (byte *****)((int)unaff_s5 << 1);\n          ppppbStack_1120 = (byte ****)pppppbVar9;\n          if (pppppbVar10 == pppppbVar13) {\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pppppbVar9 = (byte *****)0x0;\n              ppppbStack_44 = (byte ****)pppppbVar2;\n              if ((ppppbStack_1134 == ppppbStack_1148) ||\n                 (pppppbVar10 = (byte *****)ppppbStack_1158, puVar26 = puVar22,\n                 (byte *****)ppppbStack_1134 == (byte *****)0x0)) goto LAB_000dfb60;\n              goto LAB_000dfb18;\n            }\n          }\n          else {\n            pppppbVar2 = unaff_s6;\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(pppppbVar10,unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar20;\n              if (ppppbStack_1134 == ppppbStack_1148) goto LAB_000dfcc0;\n              pcVar16 = *(code **)(puStack_1170 + -0x6204);\n              if ((byte *****)ppppbStack_1134 != (byte *****)0x0) goto LAB_000dfb1c;\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar21;\n              goto LAB_000dfcc0;\n            }\n            pppppbVar14 = (byte *****)((int)unaff_s1 + (int)unaff_s3);\n          }\n          param_1 = (byte *****)((int)unaff_s5 + (int)unaff_s3);\n          param_3 = (byte *****)((int)unaff_s5 - (int)unaff_s3);\n          (**(code **)(puStack_1170 + -0x605c))((byte *****)((int)unaff_s1 + (int)param_1));\n          pppppbVar9 = (byte *****)ppppbStack_1120;\n          pppppbVar12 = pppppbVar13;\n          unaff_s3 = param_1;\n          pppppbVar2 = pppppbVar14;\n          pppppbVar10 = unaff_s1;\n          unaff_s5 = unaff_s6;\n          pppppbVar14 = (byte *****)((int)unaff_s1 + (int)param_1);\n        }\n        iVar3 = (**(code **)(puStack_1170 + -0x605c))((int)pppppbVar14 - (int)pppppbVar5);\n        pppppbVar14 = (byte *****)(iVar3 + -1);\n        pcVar16 = *(code **)(puStack_1170 + -0x6338);\n        *(undefined1 *)(iVar3 + -1) = 0x2f;\n        (*pcVar16)(iStack_111c);\n        iStack_112c = iStack_1150;\n        ppppbStack_1120 = ppppbStack_1130;\n        param_3 = pppppbVar5;\n        unaff_s1 = pppppbVar10;\n        pppppbVar13 = pppppbVar12;\n        unaff_s6 = unaff_s5;\n        puVar26 = puVar23;\n        iStack_113c = iStack_1154;\n      }\n      if (pppppbVar14 == (byte *****)ppppbStack_1168) {\n        pppppbVar14 = (byte *****)&uStack_79;\n        uStack_79 = 0x2f;\n      }\n      pppppbVar2 = pppppbVar9;\n      if (ppppbStack_1134 != ppppbStack_1148) {\n        (**(code **)(puStack_1170 + -0x6044))();\n        pppppbVar2 = pppppbVar9;\n      }\n      param_1 = (byte *****)((byte *)((int)unaff_s1 + (int)unaff_s6) + -(int)pppppbVar14);\n      if ((byte *****)ppppbStack_115c == (byte *****)0x0) {\n        if ((byte *****)ppppbStack_44 == (byte *****)0x0) {\n          pcVar16 = *(code **)(puStack_1170 + -0x6158);\n          ppppbStack_44 = (byte ****)param_1;\n        }\n        else {\n          pcVar16 = *(code **)(puStack_1170 + -0x6158);\n          if (ppppbStack_44 < param_1) goto LAB_000dfda0;\n        }\n        pppppbVar9 = (byte *****)(*pcVar16)(ppppbStack_44);\n        if (pppppbVar9 != (byte *****)0x0) goto LAB_000dfc70;\n      }\n      else {\n        pppppbVar9 = (byte *****)ppppbStack_115c;\n        if (param_1 <= ppppbStack_44) {\nLAB_000dfc70:\n          param_3 = param_1;\n          (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,pppppbVar14);\n          ppppbStack_44 = (byte ****)pppppbVar14;\n          if (unaff_s1 != (byte *****)ppppbStack_1158) {\n            (**(code **)(puStack_1170 + -0x6044))(unaff_s1);\n            ppppbStack_44 = (byte ****)pppppbVar14;\n          }\n          goto LAB_000dfb60;\n        }\nLAB_000dfda0:\n        puVar7 = (undefined4 *)(**(code **)(puStack_1170 + -0x6204))();\n        *puVar7 = 0x22;\n      }\nLAB_000dfb48:\n      pppppbVar9 = (byte *****)0x0;\n      ppppbStack_44 = (byte ****)pppppbVar2;\n      if (unaff_s1 == (byte *****)ppppbStack_1158) goto LAB_000dfb60;\n      pcVar16 = *(code **)(puStack_1170 + -0x6044);\n      pppppbVar10 = unaff_s1;\n      if (unaff_s1 != (byte *****)0x0) {\nLAB_000dfcc0:\n        (*pcVar16)(pppppbVar10);\n        unaff_s1 = pppppbVar10;\n      }\n    }\n  }" (if "if") (parenthesized_expression "(-1 < iVar3)" (( "(") (binary_expression "-1 < iVar3" (number_literal "-1") (< "<") (identifier "iVar3")) () ")")) (compound_statement "{\n    ppppbStack_1120 = appppbStack_1118[0];\n    pppppbVar9 = (byte *****)(*(int *)(puStack_1170 + -0x7aac) + -0x7ee8);\n    iStack_112c = iStack_1108;\n    iStack_113c = iStack_1104;\n    param_3 = (byte *****)ppppbStack_1128;\n    iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,pppppbVar9);\n    pppppbVar2 = pppppbVar9;\n    puVar26 = auStack_1180;\n    if (-1 < iVar3) {\n      ppppbStack_1158 = apppbStack_1078;\n      pppppbVar14 = (byte *****)auStack_78;\n      ppppbStack_114c = appppbStack_1118[0];\n      iStack_1160 = iStack_1108;\n      ppppbStack_1148 = (byte ****)(*(int *)(puStack_1170 + -0x7f94) + -0x34d0);\n      pppbStack_1138 = (byte ***)0x0;\n      iStack_1164 = iStack_1104;\n      ppppbStack_1140 = (byte ****)0xe0;\n      ppppbStack_1124 = (byte ****)(*(int *)(puStack_1170 + -0x7f94) + -0x33ef);\n      unaff_s1 = (byte *****)ppppbStack_1158;\n      unaff_s6 = (byte *****)0x1001;\n      puVar26 = auStack_1180;\n      ppppbStack_1168 = (byte ****)pppppbVar14;\n      ppppbStack_1134 = ppppbStack_1148;\n      while (((ppppbStack_1120 != ppppbStack_114c || (iStack_112c != iStack_1160)) ||\n             (iStack_113c != iStack_1164))) {\n        pppppbVar12 = pppppbVar13;\n        pppppbVar10 = unaff_s1;\n        if (ppppbStack_1124 == ppppbStack_1134) {\n          param_1 = (byte *****)((int)ppppbStack_1140 * 2);\n          pppppbVar2 = (byte *****)((int)param_1 + 1);\n          if (ppppbStack_1124 == ppppbStack_1148) {\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(pppppbVar2);\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb48;\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,ppppbStack_1148,ppppbStack_1140);\n          }\n          else {\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(ppppbStack_1134);\n            puVar24 = puVar26;\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb18;\n          }\n          pppppbVar12 = (byte *****)ppppbStack_1140;\n          unaff_s3 = (byte *****)((int)pppppbVar9 + (int)ppppbStack_1140);\n          ppppbStack_1124 = (byte ****)unaff_s3;\n          (**(code **)(puStack_1170 + -0x605c))(unaff_s3,pppppbVar9,ppppbStack_1140);\n          *(byte *)((int)unaff_s3 + (int)pppppbVar12) = 0;\n          ppppbStack_1140 = (byte ****)param_1;\n          ppppbStack_1134 = (byte ****)pppppbVar9;\n        }\n        param_1 = (byte *****)((int)ppppbStack_1124 + -3);\n        pppppbVar2 = param_1;\n        param_3 = (byte *****)ppppbStack_1128;\n        ppppbStack_1124 = (byte ****)param_1;\n        iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,param_1);\n        pppppbVar13 = pppppbVar12;\n        puVar17 = puVar26;\n        if (iVar3 < 0) {\nLAB_000dfb00:\n          puVar26 = puVar17;\n          if ((ppppbStack_1134 != ppppbStack_1148) &&\n             (puVar24 = puVar17, (byte *****)ppppbStack_1134 != (byte *****)0x0)) {\nLAB_000dfb18:\n            pcVar16 = *(code **)(puStack_1170 + -0x6204);\n            puVar25 = puVar24;\nLAB_000dfb1c:\n            param_1 = (byte *****)(*pcVar16)();\n            ppppbVar11 = *param_1;\n            (**(code **)(puStack_1170 + -0x6044))(ppppbStack_1134);\n            *param_1 = ppppbVar11;\n            unaff_s1 = pppppbVar10;\n            puVar26 = puVar25;\n          }\n          goto LAB_000dfb48;\n        }\n        ppppbStack_1130 = appppbStack_1118[0];\n        iStack_1150 = iStack_1108;\n        iStack_1154 = iStack_1104;\n        iStack_111c = (**(code **)(puStack_1170 + -0x633c))(param_1);\n        if (iStack_111c == 0) goto LAB_000dfb00;\n        unaff_s3 = (byte *****)\n                   ((byte *)((int)ppppbStack_1134 + (int)ppppbStack_1140) + -(int)param_1);\n        unaff_s5 = (byte *****)((int)unaff_s3 + 1);\nLAB_000df8ec:\n        do {\n          pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n          do {\n            do {\n              piVar4 = (int *)(*pcVar16)(iStack_111c);\n              while( true ) {\n                if (piVar4 == (int *)0x0) {\n                  param_1 = (byte *****)(**(code **)(puStack_1170 + -0x6204))();\n                  ppppbVar11 = (byte ****)pppbStack_1138;\n                  if (*param_1 != (byte ****)0x0) {\n                    ppppbVar11 = *param_1;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  *param_1 = ppppbVar11;\n                  pppppbVar13 = pppppbVar12;\n                  goto LAB_000dfb00;\n                }\n                if (*(char *)((int)piVar4 + 0x13) != '.') break;\n                pppppbVar2 = (byte *****)0xffff0000;\n                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;\n                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;\n                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);\n              }\n            } while ((ppppbStack_1120 == ppppbStack_1130) &&\n                    ((pcVar16 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c))));\n            param_1 = (byte *****)((int)piVar4 + 0x13);\n            pppppbVar5 = (byte *****)(**(code **)(puStack_1170 + -0x61b0))(param_1);\n            iVar3 = -((uint)((byte *)((int)unaff_s5 + (int)pppppbVar5) + 8) & 0xfffffff8);\n            puVar18 = puVar17 + iVar3;\n            puVar19 = puVar17 + iVar3;\n            puVar20 = puVar17 + iVar3;\n            puVar25 = puVar17 + iVar3;\n            puVar21 = puVar17 + iVar3;\n            puVar26 = puVar17 + iVar3;\n            puVar22 = puVar17 + iVar3;\n            puVar24 = puVar17 + iVar3;\n            puVar23 = puVar17 + iVar3;\n            pppppbVar12 = (byte *****)(puVar17 + iVar3 + 0x10);\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar12,ppppbStack_1124,unaff_s3);\n            puVar15 = puStack_1170;\n            *(byte *)((int)pppppbVar12 + (int)unaff_s3) = 0x2f;\n            (**(code **)(puVar15 + -0x605c))\n                      ((byte *)((int)pppppbVar12 + (int)unaff_s5),param_1,\n                       (byte *)((int)pppppbVar5 + 1));\n            pppppbVar2 = pppppbVar12;\n            param_3 = (byte *****)ppppbStack_1128;\n            iVar6 = (**(code **)(puStack_1170 + -0x632c))(3,pppppbVar12);\n            if (iVar6 < 0) {\n              piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))();\n              pppbStack_1138 = (byte ***)*piVar4;\n            }\n            pppppbVar13 = (byte *****)ppppbStack_1158;\n            pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n            puVar17 = puVar17 + iVar3;\n          } while ((appppbStack_1118[0] != ppppbStack_1120) ||\n                  (puVar17 = puVar18, iStack_1108 != iStack_112c));\n          puVar17 = puVar19;\n        } while (iStack_1104 != iStack_113c);\n        pppppbVar9 = param_1;\n        unaff_s3 = (byte *****)((int)pppppbVar14 - (int)unaff_s1);\n        unaff_s5 = unaff_s6;\n        while (unaff_s3 <= pppppbVar5) {\n          unaff_s6 = (byte *****)((int)unaff_s5 << 1);\n          ppppbStack_1120 = (byte ****)pppppbVar9;\n          if (pppppbVar10 == pppppbVar13) {\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pppppbVar9 = (byte *****)0x0;\n              ppppbStack_44 = (byte ****)pppppbVar2;\n              if ((ppppbStack_1134 == ppppbStack_1148) ||\n                 (pppppbVar10 = (byte *****)ppppbStack_1158, puVar26 = puVar22,\n                 (byte *****)ppppbStack_1134 == (byte *****)0x0)) goto LAB_000dfb60;\n              goto LAB_000dfb18;\n            }\n          }\n          else {\n            pppppbVar2 = unaff_s6;\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(pppppbVar10,unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar20;\n              if (ppppbStack_1134 == ppppbStack_1148) goto LAB_000dfcc0;\n              pcVar16 = *(code **)(puStack_1170 + -0x6204);\n              if ((byte *****)ppppbStack_1134 != (byte *****)0x0) goto LAB_000dfb1c;\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar21;\n              goto LAB_000dfcc0;\n            }\n            pppppbVar14 = (byte *****)((int)unaff_s1 + (int)unaff_s3);\n          }\n          param_1 = (byte *****)((int)unaff_s5 + (int)unaff_s3);\n          param_3 = (byte *****)((int)unaff_s5 - (int)unaff_s3);\n          (**(code **)(puStack_1170 + -0x605c))((byte *****)((int)unaff_s1 + (int)param_1));\n          pppppbVar9 = (byte *****)ppppbStack_1120;\n          pppppbVar12 = pppppbVar13;\n          unaff_s3 = param_1;\n          pppppbVar2 = pppppbVar14;\n          pppppbVar10 = unaff_s1;\n          unaff_s5 = unaff_s6;\n          pppppbVar14 = (byte *****)((int)unaff_s1 + (int)param_1);\n        }\n        iVar3 = (**(code **)(puStack_1170 + -0x605c))((int)pppppbVar14 - (int)pppppbVar5);\n        pppppbVar14 = (byte *****)(iVar3 + -1);\n        pcVar16 = *(code **)(puStack_1170 + -0x6338);\n        *(undefined1 *)(iVar3 + -1) = 0x2f;\n        (*pcVar16)(iStack_111c);\n        iStack_112c = iStack_1150;\n        ppppbStack_1120 = ppppbStack_1130;\n        param_3 = pppppbVar5;\n        unaff_s1 = pppppbVar10;\n        pppppbVar13 = pppppbVar12;\n        unaff_s6 = unaff_s5;\n        puVar26 = puVar23;\n        iStack_113c = iStack_1154;\n      }\n      if (pppppbVar14 == (byte *****)ppppbStack_1168) {\n        pppppbVar14 = (byte *****)&uStack_79;\n        uStack_79 = 0x2f;\n      }\n      pppppbVar2 = pppppbVar9;\n      if (ppppbStack_1134 != ppppbStack_1148) {\n        (**(code **)(puStack_1170 + -0x6044))();\n        pppppbVar2 = pppppbVar9;\n      }\n      param_1 = (byte *****)((byte *)((int)unaff_s1 + (int)unaff_s6) + -(int)pppppbVar14);\n      if ((byte *****)ppppbStack_115c == (byte *****)0x0) {\n        if ((byte *****)ppppbStack_44 == (byte *****)0x0) {\n          pcVar16 = *(code **)(puStack_1170 + -0x6158);\n          ppppbStack_44 = (byte ****)param_1;\n        }\n        else {\n          pcVar16 = *(code **)(puStack_1170 + -0x6158);\n          if (ppppbStack_44 < param_1) goto LAB_000dfda0;\n        }\n        pppppbVar9 = (byte *****)(*pcVar16)(ppppbStack_44);\n        if (pppppbVar9 != (byte *****)0x0) goto LAB_000dfc70;\n      }\n      else {\n        pppppbVar9 = (byte *****)ppppbStack_115c;\n        if (param_1 <= ppppbStack_44) {\nLAB_000dfc70:\n          param_3 = param_1;\n          (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,pppppbVar14);\n          ppppbStack_44 = (byte ****)pppppbVar14;\n          if (unaff_s1 != (byte *****)ppppbStack_1158) {\n            (**(code **)(puStack_1170 + -0x6044))(unaff_s1);\n            ppppbStack_44 = (byte ****)pppppbVar14;\n          }\n          goto LAB_000dfb60;\n        }\nLAB_000dfda0:\n        puVar7 = (undefined4 *)(**(code **)(puStack_1170 + -0x6204))();\n        *puVar7 = 0x22;\n      }\nLAB_000dfb48:\n      pppppbVar9 = (byte *****)0x0;\n      ppppbStack_44 = (byte ****)pppppbVar2;\n      if (unaff_s1 == (byte *****)ppppbStack_1158) goto LAB_000dfb60;\n      pcVar16 = *(code **)(puStack_1170 + -0x6044);\n      pppppbVar10 = unaff_s1;\n      if (unaff_s1 != (byte *****)0x0) {\nLAB_000dfcc0:\n        (*pcVar16)(pppppbVar10);\n        unaff_s1 = pppppbVar10;\n      }\n    }\n  }" ({ "{") (expression_statement "ppppbStack_1120 = appppbStack_1118[0];" (assignment_expression "ppppbStack_1120 = appppbStack_1118[0]" (identifier "ppppbStack_1120") (= "=") (subscript_expression "appppbStack_1118[0]" (identifier "appppbStack_1118") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "pppppbVar9 = (byte *****)(*(int *)(puStack_1170 + -0x7aac) + -0x7ee8);" (assignment_expression "pppppbVar9 = (byte *****)(*(int *)(puStack_1170 + -0x7aac) + -0x7ee8)" (identifier "pppppbVar9") (= "=") (cast_expression "(byte *****)(*(int *)(puStack_1170 + -0x7aac) + -0x7ee8)" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "(*(int *)(puStack_1170 + -0x7aac) + -0x7ee8)" (( "(") (binary_expression "*(int *)(puStack_1170 + -0x7aac) + -0x7ee8" (pointer_expression "*(int *)(puStack_1170 + -0x7aac)" (* "*") (cast_expression "(int *)(puStack_1170 + -0x7aac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_1170 + -0x7aac)" (( "(") (binary_expression "puStack_1170 + -0x7aac" (identifier "puStack_1170") (+ "+") (number_literal "-0x7aac")) () ")")))) (+ "+") (number_literal "-0x7ee8")) () ")")))) (; ";")) (expression_statement "iStack_112c = iStack_1108;" (assignment_expression "iStack_112c = iStack_1108" (identifier "iStack_112c") (= "=") (identifier "iStack_1108")) (; ";")) (expression_statement "iStack_113c = iStack_1104;" (assignment_expression "iStack_113c = iStack_1104" (identifier "iStack_113c") (= "=") (identifier "iStack_1104")) (; ";")) (expression_statement "param_3 = (byte *****)ppppbStack_1128;" (assignment_expression "param_3 = (byte *****)ppppbStack_1128" (identifier "param_3") (= "=") (cast_expression "(byte *****)ppppbStack_1128" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppbStack_1128"))) (; ";")) (expression_statement "iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,pppppbVar9);" (assignment_expression "iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,pppppbVar9)" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puStack_1170 + -0x630c))(3,pppppbVar9)" (parenthesized_expression "(**(code **)(puStack_1170 + -0x630c))" (( "(") (pointer_expression "**(code **)(puStack_1170 + -0x630c)" (* "*") (pointer_expression "*(code **)(puStack_1170 + -0x630c)" (* "*") (cast_expression "(code **)(puStack_1170 + -0x630c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_1170 + -0x630c)" (( "(") (binary_expression "puStack_1170 + -0x630c" (identifier "puStack_1170") (+ "+") (number_literal "-0x630c")) () ")"))))) () ")")) (argument_list "(3,pppppbVar9)" (( "(") (number_literal "3") (, ",") (identifier "pppppbVar9") () ")")))) (; ";")) (expression_statement "pppppbVar2 = pppppbVar9;" (assignment_expression "pppppbVar2 = pppppbVar9" (identifier "pppppbVar2") (= "=") (identifier "pppppbVar9")) (; ";")) (expression_statement "puVar26 = auStack_1180;" (assignment_expression "puVar26 = auStack_1180" (identifier "puVar26") (= "=") (identifier "auStack_1180")) (; ";")) (if_statement "if (-1 < iVar3) {\n      ppppbStack_1158 = apppbStack_1078;\n      pppppbVar14 = (byte *****)auStack_78;\n      ppppbStack_114c = appppbStack_1118[0];\n      iStack_1160 = iStack_1108;\n      ppppbStack_1148 = (byte ****)(*(int *)(puStack_1170 + -0x7f94) + -0x34d0);\n      pppbStack_1138 = (byte ***)0x0;\n      iStack_1164 = iStack_1104;\n      ppppbStack_1140 = (byte ****)0xe0;\n      ppppbStack_1124 = (byte ****)(*(int *)(puStack_1170 + -0x7f94) + -0x33ef);\n      unaff_s1 = (byte *****)ppppbStack_1158;\n      unaff_s6 = (byte *****)0x1001;\n      puVar26 = auStack_1180;\n      ppppbStack_1168 = (byte ****)pppppbVar14;\n      ppppbStack_1134 = ppppbStack_1148;\n      while (((ppppbStack_1120 != ppppbStack_114c || (iStack_112c != iStack_1160)) ||\n             (iStack_113c != iStack_1164))) {\n        pppppbVar12 = pppppbVar13;\n        pppppbVar10 = unaff_s1;\n        if (ppppbStack_1124 == ppppbStack_1134) {\n          param_1 = (byte *****)((int)ppppbStack_1140 * 2);\n          pppppbVar2 = (byte *****)((int)param_1 + 1);\n          if (ppppbStack_1124 == ppppbStack_1148) {\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(pppppbVar2);\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb48;\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,ppppbStack_1148,ppppbStack_1140);\n          }\n          else {\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(ppppbStack_1134);\n            puVar24 = puVar26;\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb18;\n          }\n          pppppbVar12 = (byte *****)ppppbStack_1140;\n          unaff_s3 = (byte *****)((int)pppppbVar9 + (int)ppppbStack_1140);\n          ppppbStack_1124 = (byte ****)unaff_s3;\n          (**(code **)(puStack_1170 + -0x605c))(unaff_s3,pppppbVar9,ppppbStack_1140);\n          *(byte *)((int)unaff_s3 + (int)pppppbVar12) = 0;\n          ppppbStack_1140 = (byte ****)param_1;\n          ppppbStack_1134 = (byte ****)pppppbVar9;\n        }\n        param_1 = (byte *****)((int)ppppbStack_1124 + -3);\n        pppppbVar2 = param_1;\n        param_3 = (byte *****)ppppbStack_1128;\n        ppppbStack_1124 = (byte ****)param_1;\n        iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,param_1);\n        pppppbVar13 = pppppbVar12;\n        puVar17 = puVar26;\n        if (iVar3 < 0) {\nLAB_000dfb00:\n          puVar26 = puVar17;\n          if ((ppppbStack_1134 != ppppbStack_1148) &&\n             (puVar24 = puVar17, (byte *****)ppppbStack_1134 != (byte *****)0x0)) {\nLAB_000dfb18:\n            pcVar16 = *(code **)(puStack_1170 + -0x6204);\n            puVar25 = puVar24;\nLAB_000dfb1c:\n            param_1 = (byte *****)(*pcVar16)();\n            ppppbVar11 = *param_1;\n            (**(code **)(puStack_1170 + -0x6044))(ppppbStack_1134);\n            *param_1 = ppppbVar11;\n            unaff_s1 = pppppbVar10;\n            puVar26 = puVar25;\n          }\n          goto LAB_000dfb48;\n        }\n        ppppbStack_1130 = appppbStack_1118[0];\n        iStack_1150 = iStack_1108;\n        iStack_1154 = iStack_1104;\n        iStack_111c = (**(code **)(puStack_1170 + -0x633c))(param_1);\n        if (iStack_111c == 0) goto LAB_000dfb00;\n        unaff_s3 = (byte *****)\n                   ((byte *)((int)ppppbStack_1134 + (int)ppppbStack_1140) + -(int)param_1);\n        unaff_s5 = (byte *****)((int)unaff_s3 + 1);\nLAB_000df8ec:\n        do {\n          pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n          do {\n            do {\n              piVar4 = (int *)(*pcVar16)(iStack_111c);\n              while( true ) {\n                if (piVar4 == (int *)0x0) {\n                  param_1 = (byte *****)(**(code **)(puStack_1170 + -0x6204))();\n                  ppppbVar11 = (byte ****)pppbStack_1138;\n                  if (*param_1 != (byte ****)0x0) {\n                    ppppbVar11 = *param_1;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  *param_1 = ppppbVar11;\n                  pppppbVar13 = pppppbVar12;\n                  goto LAB_000dfb00;\n                }\n                if (*(char *)((int)piVar4 + 0x13) != '.') break;\n                pppppbVar2 = (byte *****)0xffff0000;\n                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;\n                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;\n                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);\n              }\n            } while ((ppppbStack_1120 == ppppbStack_1130) &&\n                    ((pcVar16 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c))));\n            param_1 = (byte *****)((int)piVar4 + 0x13);\n            pppppbVar5 = (byte *****)(**(code **)(puStack_1170 + -0x61b0))(param_1);\n            iVar3 = -((uint)((byte *)((int)unaff_s5 + (int)pppppbVar5) + 8) & 0xfffffff8);\n            puVar18 = puVar17 + iVar3;\n            puVar19 = puVar17 + iVar3;\n            puVar20 = puVar17 + iVar3;\n            puVar25 = puVar17 + iVar3;\n            puVar21 = puVar17 + iVar3;\n            puVar26 = puVar17 + iVar3;\n            puVar22 = puVar17 + iVar3;\n            puVar24 = puVar17 + iVar3;\n            puVar23 = puVar17 + iVar3;\n            pppppbVar12 = (byte *****)(puVar17 + iVar3 + 0x10);\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar12,ppppbStack_1124,unaff_s3);\n            puVar15 = puStack_1170;\n            *(byte *)((int)pppppbVar12 + (int)unaff_s3) = 0x2f;\n            (**(code **)(puVar15 + -0x605c))\n                      ((byte *)((int)pppppbVar12 + (int)unaff_s5),param_1,\n                       (byte *)((int)pppppbVar5 + 1));\n            pppppbVar2 = pppppbVar12;\n            param_3 = (byte *****)ppppbStack_1128;\n            iVar6 = (**(code **)(puStack_1170 + -0x632c))(3,pppppbVar12);\n            if (iVar6 < 0) {\n              piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))();\n              pppbStack_1138 = (byte ***)*piVar4;\n            }\n            pppppbVar13 = (byte *****)ppppbStack_1158;\n            pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n            puVar17 = puVar17 + iVar3;\n          } while ((appppbStack_1118[0] != ppppbStack_1120) ||\n                  (puVar17 = puVar18, iStack_1108 != iStack_112c));\n          puVar17 = puVar19;\n        } while (iStack_1104 != iStack_113c);\n        pppppbVar9 = param_1;\n        unaff_s3 = (byte *****)((int)pppppbVar14 - (int)unaff_s1);\n        unaff_s5 = unaff_s6;\n        while (unaff_s3 <= pppppbVar5) {\n          unaff_s6 = (byte *****)((int)unaff_s5 << 1);\n          ppppbStack_1120 = (byte ****)pppppbVar9;\n          if (pppppbVar10 == pppppbVar13) {\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pppppbVar9 = (byte *****)0x0;\n              ppppbStack_44 = (byte ****)pppppbVar2;\n              if ((ppppbStack_1134 == ppppbStack_1148) ||\n                 (pppppbVar10 = (byte *****)ppppbStack_1158, puVar26 = puVar22,\n                 (byte *****)ppppbStack_1134 == (byte *****)0x0)) goto LAB_000dfb60;\n              goto LAB_000dfb18;\n            }\n          }\n          else {\n            pppppbVar2 = unaff_s6;\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(pppppbVar10,unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar20;\n              if (ppppbStack_1134 == ppppbStack_1148) goto LAB_000dfcc0;\n              pcVar16 = *(code **)(puStack_1170 + -0x6204);\n              if ((byte *****)ppppbStack_1134 != (byte *****)0x0) goto LAB_000dfb1c;\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar21;\n              goto LAB_000dfcc0;\n            }\n            pppppbVar14 = (byte *****)((int)unaff_s1 + (int)unaff_s3);\n          }\n          param_1 = (byte *****)((int)unaff_s5 + (int)unaff_s3);\n          param_3 = (byte *****)((int)unaff_s5 - (int)unaff_s3);\n          (**(code **)(puStack_1170 + -0x605c))((byte *****)((int)unaff_s1 + (int)param_1));\n          pppppbVar9 = (byte *****)ppppbStack_1120;\n          pppppbVar12 = pppppbVar13;\n          unaff_s3 = param_1;\n          pppppbVar2 = pppppbVar14;\n          pppppbVar10 = unaff_s1;\n          unaff_s5 = unaff_s6;\n          pppppbVar14 = (byte *****)((int)unaff_s1 + (int)param_1);\n        }\n        iVar3 = (**(code **)(puStack_1170 + -0x605c))((int)pppppbVar14 - (int)pppppbVar5);\n        pppppbVar14 = (byte *****)(iVar3 + -1);\n        pcVar16 = *(code **)(puStack_1170 + -0x6338);\n        *(undefined1 *)(iVar3 + -1) = 0x2f;\n        (*pcVar16)(iStack_111c);\n        iStack_112c = iStack_1150;\n        ppppbStack_1120 = ppppbStack_1130;\n        param_3 = pppppbVar5;\n        unaff_s1 = pppppbVar10;\n        pppppbVar13 = pppppbVar12;\n        unaff_s6 = unaff_s5;\n        puVar26 = puVar23;\n        iStack_113c = iStack_1154;\n      }\n      if (pppppbVar14 == (byte *****)ppppbStack_1168) {\n        pppppbVar14 = (byte *****)&uStack_79;\n        uStack_79 = 0x2f;\n      }\n      pppppbVar2 = pppppbVar9;\n      if (ppppbStack_1134 != ppppbStack_1148) {\n        (**(code **)(puStack_1170 + -0x6044))();\n        pppppbVar2 = pppppbVar9;\n      }\n      param_1 = (byte *****)((byte *)((int)unaff_s1 + (int)unaff_s6) + -(int)pppppbVar14);\n      if ((byte *****)ppppbStack_115c == (byte *****)0x0) {\n        if ((byte *****)ppppbStack_44 == (byte *****)0x0) {\n          pcVar16 = *(code **)(puStack_1170 + -0x6158);\n          ppppbStack_44 = (byte ****)param_1;\n        }\n        else {\n          pcVar16 = *(code **)(puStack_1170 + -0x6158);\n          if (ppppbStack_44 < param_1) goto LAB_000dfda0;\n        }\n        pppppbVar9 = (byte *****)(*pcVar16)(ppppbStack_44);\n        if (pppppbVar9 != (byte *****)0x0) goto LAB_000dfc70;\n      }\n      else {\n        pppppbVar9 = (byte *****)ppppbStack_115c;\n        if (param_1 <= ppppbStack_44) {\nLAB_000dfc70:\n          param_3 = param_1;\n          (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,pppppbVar14);\n          ppppbStack_44 = (byte ****)pppppbVar14;\n          if (unaff_s1 != (byte *****)ppppbStack_1158) {\n            (**(code **)(puStack_1170 + -0x6044))(unaff_s1);\n            ppppbStack_44 = (byte ****)pppppbVar14;\n          }\n          goto LAB_000dfb60;\n        }\nLAB_000dfda0:\n        puVar7 = (undefined4 *)(**(code **)(puStack_1170 + -0x6204))();\n        *puVar7 = 0x22;\n      }\nLAB_000dfb48:\n      pppppbVar9 = (byte *****)0x0;\n      ppppbStack_44 = (byte ****)pppppbVar2;\n      if (unaff_s1 == (byte *****)ppppbStack_1158) goto LAB_000dfb60;\n      pcVar16 = *(code **)(puStack_1170 + -0x6044);\n      pppppbVar10 = unaff_s1;\n      if (unaff_s1 != (byte *****)0x0) {\nLAB_000dfcc0:\n        (*pcVar16)(pppppbVar10);\n        unaff_s1 = pppppbVar10;\n      }\n    }" (if "if") (parenthesized_expression "(-1 < iVar3)" (( "(") (binary_expression "-1 < iVar3" (number_literal "-1") (< "<") (identifier "iVar3")) () ")")) (compound_statement "{\n      ppppbStack_1158 = apppbStack_1078;\n      pppppbVar14 = (byte *****)auStack_78;\n      ppppbStack_114c = appppbStack_1118[0];\n      iStack_1160 = iStack_1108;\n      ppppbStack_1148 = (byte ****)(*(int *)(puStack_1170 + -0x7f94) + -0x34d0);\n      pppbStack_1138 = (byte ***)0x0;\n      iStack_1164 = iStack_1104;\n      ppppbStack_1140 = (byte ****)0xe0;\n      ppppbStack_1124 = (byte ****)(*(int *)(puStack_1170 + -0x7f94) + -0x33ef);\n      unaff_s1 = (byte *****)ppppbStack_1158;\n      unaff_s6 = (byte *****)0x1001;\n      puVar26 = auStack_1180;\n      ppppbStack_1168 = (byte ****)pppppbVar14;\n      ppppbStack_1134 = ppppbStack_1148;\n      while (((ppppbStack_1120 != ppppbStack_114c || (iStack_112c != iStack_1160)) ||\n             (iStack_113c != iStack_1164))) {\n        pppppbVar12 = pppppbVar13;\n        pppppbVar10 = unaff_s1;\n        if (ppppbStack_1124 == ppppbStack_1134) {\n          param_1 = (byte *****)((int)ppppbStack_1140 * 2);\n          pppppbVar2 = (byte *****)((int)param_1 + 1);\n          if (ppppbStack_1124 == ppppbStack_1148) {\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(pppppbVar2);\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb48;\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,ppppbStack_1148,ppppbStack_1140);\n          }\n          else {\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(ppppbStack_1134);\n            puVar24 = puVar26;\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb18;\n          }\n          pppppbVar12 = (byte *****)ppppbStack_1140;\n          unaff_s3 = (byte *****)((int)pppppbVar9 + (int)ppppbStack_1140);\n          ppppbStack_1124 = (byte ****)unaff_s3;\n          (**(code **)(puStack_1170 + -0x605c))(unaff_s3,pppppbVar9,ppppbStack_1140);\n          *(byte *)((int)unaff_s3 + (int)pppppbVar12) = 0;\n          ppppbStack_1140 = (byte ****)param_1;\n          ppppbStack_1134 = (byte ****)pppppbVar9;\n        }\n        param_1 = (byte *****)((int)ppppbStack_1124 + -3);\n        pppppbVar2 = param_1;\n        param_3 = (byte *****)ppppbStack_1128;\n        ppppbStack_1124 = (byte ****)param_1;\n        iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,param_1);\n        pppppbVar13 = pppppbVar12;\n        puVar17 = puVar26;\n        if (iVar3 < 0) {\nLAB_000dfb00:\n          puVar26 = puVar17;\n          if ((ppppbStack_1134 != ppppbStack_1148) &&\n             (puVar24 = puVar17, (byte *****)ppppbStack_1134 != (byte *****)0x0)) {\nLAB_000dfb18:\n            pcVar16 = *(code **)(puStack_1170 + -0x6204);\n            puVar25 = puVar24;\nLAB_000dfb1c:\n            param_1 = (byte *****)(*pcVar16)();\n            ppppbVar11 = *param_1;\n            (**(code **)(puStack_1170 + -0x6044))(ppppbStack_1134);\n            *param_1 = ppppbVar11;\n            unaff_s1 = pppppbVar10;\n            puVar26 = puVar25;\n          }\n          goto LAB_000dfb48;\n        }\n        ppppbStack_1130 = appppbStack_1118[0];\n        iStack_1150 = iStack_1108;\n        iStack_1154 = iStack_1104;\n        iStack_111c = (**(code **)(puStack_1170 + -0x633c))(param_1);\n        if (iStack_111c == 0) goto LAB_000dfb00;\n        unaff_s3 = (byte *****)\n                   ((byte *)((int)ppppbStack_1134 + (int)ppppbStack_1140) + -(int)param_1);\n        unaff_s5 = (byte *****)((int)unaff_s3 + 1);\nLAB_000df8ec:\n        do {\n          pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n          do {\n            do {\n              piVar4 = (int *)(*pcVar16)(iStack_111c);\n              while( true ) {\n                if (piVar4 == (int *)0x0) {\n                  param_1 = (byte *****)(**(code **)(puStack_1170 + -0x6204))();\n                  ppppbVar11 = (byte ****)pppbStack_1138;\n                  if (*param_1 != (byte ****)0x0) {\n                    ppppbVar11 = *param_1;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  *param_1 = ppppbVar11;\n                  pppppbVar13 = pppppbVar12;\n                  goto LAB_000dfb00;\n                }\n                if (*(char *)((int)piVar4 + 0x13) != '.') break;\n                pppppbVar2 = (byte *****)0xffff0000;\n                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;\n                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;\n                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);\n              }\n            } while ((ppppbStack_1120 == ppppbStack_1130) &&\n                    ((pcVar16 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c))));\n            param_1 = (byte *****)((int)piVar4 + 0x13);\n            pppppbVar5 = (byte *****)(**(code **)(puStack_1170 + -0x61b0))(param_1);\n            iVar3 = -((uint)((byte *)((int)unaff_s5 + (int)pppppbVar5) + 8) & 0xfffffff8);\n            puVar18 = puVar17 + iVar3;\n            puVar19 = puVar17 + iVar3;\n            puVar20 = puVar17 + iVar3;\n            puVar25 = puVar17 + iVar3;\n            puVar21 = puVar17 + iVar3;\n            puVar26 = puVar17 + iVar3;\n            puVar22 = puVar17 + iVar3;\n            puVar24 = puVar17 + iVar3;\n            puVar23 = puVar17 + iVar3;\n            pppppbVar12 = (byte *****)(puVar17 + iVar3 + 0x10);\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar12,ppppbStack_1124,unaff_s3);\n            puVar15 = puStack_1170;\n            *(byte *)((int)pppppbVar12 + (int)unaff_s3) = 0x2f;\n            (**(code **)(puVar15 + -0x605c))\n                      ((byte *)((int)pppppbVar12 + (int)unaff_s5),param_1,\n                       (byte *)((int)pppppbVar5 + 1));\n            pppppbVar2 = pppppbVar12;\n            param_3 = (byte *****)ppppbStack_1128;\n            iVar6 = (**(code **)(puStack_1170 + -0x632c))(3,pppppbVar12);\n            if (iVar6 < 0) {\n              piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))();\n              pppbStack_1138 = (byte ***)*piVar4;\n            }\n            pppppbVar13 = (byte *****)ppppbStack_1158;\n            pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n            puVar17 = puVar17 + iVar3;\n          } while ((appppbStack_1118[0] != ppppbStack_1120) ||\n                  (puVar17 = puVar18, iStack_1108 != iStack_112c));\n          puVar17 = puVar19;\n        } while (iStack_1104 != iStack_113c);\n        pppppbVar9 = param_1;\n        unaff_s3 = (byte *****)((int)pppppbVar14 - (int)unaff_s1);\n        unaff_s5 = unaff_s6;\n        while (unaff_s3 <= pppppbVar5) {\n          unaff_s6 = (byte *****)((int)unaff_s5 << 1);\n          ppppbStack_1120 = (byte ****)pppppbVar9;\n          if (pppppbVar10 == pppppbVar13) {\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pppppbVar9 = (byte *****)0x0;\n              ppppbStack_44 = (byte ****)pppppbVar2;\n              if ((ppppbStack_1134 == ppppbStack_1148) ||\n                 (pppppbVar10 = (byte *****)ppppbStack_1158, puVar26 = puVar22,\n                 (byte *****)ppppbStack_1134 == (byte *****)0x0)) goto LAB_000dfb60;\n              goto LAB_000dfb18;\n            }\n          }\n          else {\n            pppppbVar2 = unaff_s6;\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(pppppbVar10,unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar20;\n              if (ppppbStack_1134 == ppppbStack_1148) goto LAB_000dfcc0;\n              pcVar16 = *(code **)(puStack_1170 + -0x6204);\n              if ((byte *****)ppppbStack_1134 != (byte *****)0x0) goto LAB_000dfb1c;\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar21;\n              goto LAB_000dfcc0;\n            }\n            pppppbVar14 = (byte *****)((int)unaff_s1 + (int)unaff_s3);\n          }\n          param_1 = (byte *****)((int)unaff_s5 + (int)unaff_s3);\n          param_3 = (byte *****)((int)unaff_s5 - (int)unaff_s3);\n          (**(code **)(puStack_1170 + -0x605c))((byte *****)((int)unaff_s1 + (int)param_1));\n          pppppbVar9 = (byte *****)ppppbStack_1120;\n          pppppbVar12 = pppppbVar13;\n          unaff_s3 = param_1;\n          pppppbVar2 = pppppbVar14;\n          pppppbVar10 = unaff_s1;\n          unaff_s5 = unaff_s6;\n          pppppbVar14 = (byte *****)((int)unaff_s1 + (int)param_1);\n        }\n        iVar3 = (**(code **)(puStack_1170 + -0x605c))((int)pppppbVar14 - (int)pppppbVar5);\n        pppppbVar14 = (byte *****)(iVar3 + -1);\n        pcVar16 = *(code **)(puStack_1170 + -0x6338);\n        *(undefined1 *)(iVar3 + -1) = 0x2f;\n        (*pcVar16)(iStack_111c);\n        iStack_112c = iStack_1150;\n        ppppbStack_1120 = ppppbStack_1130;\n        param_3 = pppppbVar5;\n        unaff_s1 = pppppbVar10;\n        pppppbVar13 = pppppbVar12;\n        unaff_s6 = unaff_s5;\n        puVar26 = puVar23;\n        iStack_113c = iStack_1154;\n      }\n      if (pppppbVar14 == (byte *****)ppppbStack_1168) {\n        pppppbVar14 = (byte *****)&uStack_79;\n        uStack_79 = 0x2f;\n      }\n      pppppbVar2 = pppppbVar9;\n      if (ppppbStack_1134 != ppppbStack_1148) {\n        (**(code **)(puStack_1170 + -0x6044))();\n        pppppbVar2 = pppppbVar9;\n      }\n      param_1 = (byte *****)((byte *)((int)unaff_s1 + (int)unaff_s6) + -(int)pppppbVar14);\n      if ((byte *****)ppppbStack_115c == (byte *****)0x0) {\n        if ((byte *****)ppppbStack_44 == (byte *****)0x0) {\n          pcVar16 = *(code **)(puStack_1170 + -0x6158);\n          ppppbStack_44 = (byte ****)param_1;\n        }\n        else {\n          pcVar16 = *(code **)(puStack_1170 + -0x6158);\n          if (ppppbStack_44 < param_1) goto LAB_000dfda0;\n        }\n        pppppbVar9 = (byte *****)(*pcVar16)(ppppbStack_44);\n        if (pppppbVar9 != (byte *****)0x0) goto LAB_000dfc70;\n      }\n      else {\n        pppppbVar9 = (byte *****)ppppbStack_115c;\n        if (param_1 <= ppppbStack_44) {\nLAB_000dfc70:\n          param_3 = param_1;\n          (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,pppppbVar14);\n          ppppbStack_44 = (byte ****)pppppbVar14;\n          if (unaff_s1 != (byte *****)ppppbStack_1158) {\n            (**(code **)(puStack_1170 + -0x6044))(unaff_s1);\n            ppppbStack_44 = (byte ****)pppppbVar14;\n          }\n          goto LAB_000dfb60;\n        }\nLAB_000dfda0:\n        puVar7 = (undefined4 *)(**(code **)(puStack_1170 + -0x6204))();\n        *puVar7 = 0x22;\n      }\nLAB_000dfb48:\n      pppppbVar9 = (byte *****)0x0;\n      ppppbStack_44 = (byte ****)pppppbVar2;\n      if (unaff_s1 == (byte *****)ppppbStack_1158) goto LAB_000dfb60;\n      pcVar16 = *(code **)(puStack_1170 + -0x6044);\n      pppppbVar10 = unaff_s1;\n      if (unaff_s1 != (byte *****)0x0) {\nLAB_000dfcc0:\n        (*pcVar16)(pppppbVar10);\n        unaff_s1 = pppppbVar10;\n      }\n    }" ({ "{") (expression_statement "ppppbStack_1158 = apppbStack_1078;" (assignment_expression "ppppbStack_1158 = apppbStack_1078" (identifier "ppppbStack_1158") (= "=") (identifier "apppbStack_1078")) (; ";")) (expression_statement "pppppbVar14 = (byte *****)auStack_78;" (assignment_expression "pppppbVar14 = (byte *****)auStack_78" (identifier "pppppbVar14") (= "=") (cast_expression "(byte *****)auStack_78" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "auStack_78"))) (; ";")) (expression_statement "ppppbStack_114c = appppbStack_1118[0];" (assignment_expression "ppppbStack_114c = appppbStack_1118[0]" (identifier "ppppbStack_114c") (= "=") (subscript_expression "appppbStack_1118[0]" (identifier "appppbStack_1118") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "iStack_1160 = iStack_1108;" (assignment_expression "iStack_1160 = iStack_1108" (identifier "iStack_1160") (= "=") (identifier "iStack_1108")) (; ";")) (expression_statement "ppppbStack_1148 = (byte ****)(*(int *)(puStack_1170 + -0x7f94) + -0x34d0);" (assignment_expression "ppppbStack_1148 = (byte ****)(*(int *)(puStack_1170 + -0x7f94) + -0x34d0)" (identifier "ppppbStack_1148") (= "=") (cast_expression "(byte ****)(*(int *)(puStack_1170 + -0x7f94) + -0x34d0)" (( "(") (type_descriptor "byte ****" (type_identifier "byte") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "(*(int *)(puStack_1170 + -0x7f94) + -0x34d0)" (( "(") (binary_expression "*(int *)(puStack_1170 + -0x7f94) + -0x34d0" (pointer_expression "*(int *)(puStack_1170 + -0x7f94)" (* "*") (cast_expression "(int *)(puStack_1170 + -0x7f94)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_1170 + -0x7f94)" (( "(") (binary_expression "puStack_1170 + -0x7f94" (identifier "puStack_1170") (+ "+") (number_literal "-0x7f94")) () ")")))) (+ "+") (number_literal "-0x34d0")) () ")")))) (; ";")) (expression_statement "pppbStack_1138 = (byte ***)0x0;" (assignment_expression "pppbStack_1138 = (byte ***)0x0" (identifier "pppbStack_1138") (= "=") (cast_expression "(byte ***)0x0" (( "(") (type_descriptor "byte ***" (type_identifier "byte") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iStack_1164 = iStack_1104;" (assignment_expression "iStack_1164 = iStack_1104" (identifier "iStack_1164") (= "=") (identifier "iStack_1104")) (; ";")) (expression_statement "ppppbStack_1140 = (byte ****)0xe0;" (assignment_expression "ppppbStack_1140 = (byte ****)0xe0" (identifier "ppppbStack_1140") (= "=") (cast_expression "(byte ****)0xe0" (( "(") (type_descriptor "byte ****" (type_identifier "byte") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0xe0"))) (; ";")) (expression_statement "ppppbStack_1124 = (byte ****)(*(int *)(puStack_1170 + -0x7f94) + -0x33ef);" (assignment_expression "ppppbStack_1124 = (byte ****)(*(int *)(puStack_1170 + -0x7f94) + -0x33ef)" (identifier "ppppbStack_1124") (= "=") (cast_expression "(byte ****)(*(int *)(puStack_1170 + -0x7f94) + -0x33ef)" (( "(") (type_descriptor "byte ****" (type_identifier "byte") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "(*(int *)(puStack_1170 + -0x7f94) + -0x33ef)" (( "(") (binary_expression "*(int *)(puStack_1170 + -0x7f94) + -0x33ef" (pointer_expression "*(int *)(puStack_1170 + -0x7f94)" (* "*") (cast_expression "(int *)(puStack_1170 + -0x7f94)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puStack_1170 + -0x7f94)" (( "(") (binary_expression "puStack_1170 + -0x7f94" (identifier "puStack_1170") (+ "+") (number_literal "-0x7f94")) () ")")))) (+ "+") (number_literal "-0x33ef")) () ")")))) (; ";")) (expression_statement "unaff_s1 = (byte *****)ppppbStack_1158;" (assignment_expression "unaff_s1 = (byte *****)ppppbStack_1158" (identifier "unaff_s1") (= "=") (cast_expression "(byte *****)ppppbStack_1158" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppbStack_1158"))) (; ";")) (expression_statement "unaff_s6 = (byte *****)0x1001;" (assignment_expression "unaff_s6 = (byte *****)0x1001" (identifier "unaff_s6") (= "=") (cast_expression "(byte *****)0x1001" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x1001"))) (; ";")) (expression_statement "puVar26 = auStack_1180;" (assignment_expression "puVar26 = auStack_1180" (identifier "puVar26") (= "=") (identifier "auStack_1180")) (; ";")) (expression_statement "ppppbStack_1168 = (byte ****)pppppbVar14;" (assignment_expression "ppppbStack_1168 = (byte ****)pppppbVar14" (identifier "ppppbStack_1168") (= "=") (cast_expression "(byte ****)pppppbVar14" (( "(") (type_descriptor "byte ****" (type_identifier "byte") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "pppppbVar14"))) (; ";")) (expression_statement "ppppbStack_1134 = ppppbStack_1148;" (assignment_expression "ppppbStack_1134 = ppppbStack_1148" (identifier "ppppbStack_1134") (= "=") (identifier "ppppbStack_1148")) (; ";")) (while_statement "while (((ppppbStack_1120 != ppppbStack_114c || (iStack_112c != iStack_1160)) ||\n             (iStack_113c != iStack_1164))) {\n        pppppbVar12 = pppppbVar13;\n        pppppbVar10 = unaff_s1;\n        if (ppppbStack_1124 == ppppbStack_1134) {\n          param_1 = (byte *****)((int)ppppbStack_1140 * 2);\n          pppppbVar2 = (byte *****)((int)param_1 + 1);\n          if (ppppbStack_1124 == ppppbStack_1148) {\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(pppppbVar2);\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb48;\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,ppppbStack_1148,ppppbStack_1140);\n          }\n          else {\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(ppppbStack_1134);\n            puVar24 = puVar26;\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb18;\n          }\n          pppppbVar12 = (byte *****)ppppbStack_1140;\n          unaff_s3 = (byte *****)((int)pppppbVar9 + (int)ppppbStack_1140);\n          ppppbStack_1124 = (byte ****)unaff_s3;\n          (**(code **)(puStack_1170 + -0x605c))(unaff_s3,pppppbVar9,ppppbStack_1140);\n          *(byte *)((int)unaff_s3 + (int)pppppbVar12) = 0;\n          ppppbStack_1140 = (byte ****)param_1;\n          ppppbStack_1134 = (byte ****)pppppbVar9;\n        }\n        param_1 = (byte *****)((int)ppppbStack_1124 + -3);\n        pppppbVar2 = param_1;\n        param_3 = (byte *****)ppppbStack_1128;\n        ppppbStack_1124 = (byte ****)param_1;\n        iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,param_1);\n        pppppbVar13 = pppppbVar12;\n        puVar17 = puVar26;\n        if (iVar3 < 0) {\nLAB_000dfb00:\n          puVar26 = puVar17;\n          if ((ppppbStack_1134 != ppppbStack_1148) &&\n             (puVar24 = puVar17, (byte *****)ppppbStack_1134 != (byte *****)0x0)) {\nLAB_000dfb18:\n            pcVar16 = *(code **)(puStack_1170 + -0x6204);\n            puVar25 = puVar24;\nLAB_000dfb1c:\n            param_1 = (byte *****)(*pcVar16)();\n            ppppbVar11 = *param_1;\n            (**(code **)(puStack_1170 + -0x6044))(ppppbStack_1134);\n            *param_1 = ppppbVar11;\n            unaff_s1 = pppppbVar10;\n            puVar26 = puVar25;\n          }\n          goto LAB_000dfb48;\n        }\n        ppppbStack_1130 = appppbStack_1118[0];\n        iStack_1150 = iStack_1108;\n        iStack_1154 = iStack_1104;\n        iStack_111c = (**(code **)(puStack_1170 + -0x633c))(param_1);\n        if (iStack_111c == 0) goto LAB_000dfb00;\n        unaff_s3 = (byte *****)\n                   ((byte *)((int)ppppbStack_1134 + (int)ppppbStack_1140) + -(int)param_1);\n        unaff_s5 = (byte *****)((int)unaff_s3 + 1);\nLAB_000df8ec:\n        do {\n          pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n          do {\n            do {\n              piVar4 = (int *)(*pcVar16)(iStack_111c);\n              while( true ) {\n                if (piVar4 == (int *)0x0) {\n                  param_1 = (byte *****)(**(code **)(puStack_1170 + -0x6204))();\n                  ppppbVar11 = (byte ****)pppbStack_1138;\n                  if (*param_1 != (byte ****)0x0) {\n                    ppppbVar11 = *param_1;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  *param_1 = ppppbVar11;\n                  pppppbVar13 = pppppbVar12;\n                  goto LAB_000dfb00;\n                }\n                if (*(char *)((int)piVar4 + 0x13) != '.') break;\n                pppppbVar2 = (byte *****)0xffff0000;\n                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;\n                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;\n                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);\n              }\n            } while ((ppppbStack_1120 == ppppbStack_1130) &&\n                    ((pcVar16 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c))));\n            param_1 = (byte *****)((int)piVar4 + 0x13);\n            pppppbVar5 = (byte *****)(**(code **)(puStack_1170 + -0x61b0))(param_1);\n            iVar3 = -((uint)((byte *)((int)unaff_s5 + (int)pppppbVar5) + 8) & 0xfffffff8);\n            puVar18 = puVar17 + iVar3;\n            puVar19 = puVar17 + iVar3;\n            puVar20 = puVar17 + iVar3;\n            puVar25 = puVar17 + iVar3;\n            puVar21 = puVar17 + iVar3;\n            puVar26 = puVar17 + iVar3;\n            puVar22 = puVar17 + iVar3;\n            puVar24 = puVar17 + iVar3;\n            puVar23 = puVar17 + iVar3;\n            pppppbVar12 = (byte *****)(puVar17 + iVar3 + 0x10);\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar12,ppppbStack_1124,unaff_s3);\n            puVar15 = puStack_1170;\n            *(byte *)((int)pppppbVar12 + (int)unaff_s3) = 0x2f;\n            (**(code **)(puVar15 + -0x605c))\n                      ((byte *)((int)pppppbVar12 + (int)unaff_s5),param_1,\n                       (byte *)((int)pppppbVar5 + 1));\n            pppppbVar2 = pppppbVar12;\n            param_3 = (byte *****)ppppbStack_1128;\n            iVar6 = (**(code **)(puStack_1170 + -0x632c))(3,pppppbVar12);\n            if (iVar6 < 0) {\n              piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))();\n              pppbStack_1138 = (byte ***)*piVar4;\n            }\n            pppppbVar13 = (byte *****)ppppbStack_1158;\n            pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n            puVar17 = puVar17 + iVar3;\n          } while ((appppbStack_1118[0] != ppppbStack_1120) ||\n                  (puVar17 = puVar18, iStack_1108 != iStack_112c));\n          puVar17 = puVar19;\n        } while (iStack_1104 != iStack_113c);\n        pppppbVar9 = param_1;\n        unaff_s3 = (byte *****)((int)pppppbVar14 - (int)unaff_s1);\n        unaff_s5 = unaff_s6;\n        while (unaff_s3 <= pppppbVar5) {\n          unaff_s6 = (byte *****)((int)unaff_s5 << 1);\n          ppppbStack_1120 = (byte ****)pppppbVar9;\n          if (pppppbVar10 == pppppbVar13) {\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pppppbVar9 = (byte *****)0x0;\n              ppppbStack_44 = (byte ****)pppppbVar2;\n              if ((ppppbStack_1134 == ppppbStack_1148) ||\n                 (pppppbVar10 = (byte *****)ppppbStack_1158, puVar26 = puVar22,\n                 (byte *****)ppppbStack_1134 == (byte *****)0x0)) goto LAB_000dfb60;\n              goto LAB_000dfb18;\n            }\n          }\n          else {\n            pppppbVar2 = unaff_s6;\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(pppppbVar10,unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar20;\n              if (ppppbStack_1134 == ppppbStack_1148) goto LAB_000dfcc0;\n              pcVar16 = *(code **)(puStack_1170 + -0x6204);\n              if ((byte *****)ppppbStack_1134 != (byte *****)0x0) goto LAB_000dfb1c;\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar21;\n              goto LAB_000dfcc0;\n            }\n            pppppbVar14 = (byte *****)((int)unaff_s1 + (int)unaff_s3);\n          }\n          param_1 = (byte *****)((int)unaff_s5 + (int)unaff_s3);\n          param_3 = (byte *****)((int)unaff_s5 - (int)unaff_s3);\n          (**(code **)(puStack_1170 + -0x605c))((byte *****)((int)unaff_s1 + (int)param_1));\n          pppppbVar9 = (byte *****)ppppbStack_1120;\n          pppppbVar12 = pppppbVar13;\n          unaff_s3 = param_1;\n          pppppbVar2 = pppppbVar14;\n          pppppbVar10 = unaff_s1;\n          unaff_s5 = unaff_s6;\n          pppppbVar14 = (byte *****)((int)unaff_s1 + (int)param_1);\n        }\n        iVar3 = (**(code **)(puStack_1170 + -0x605c))((int)pppppbVar14 - (int)pppppbVar5);\n        pppppbVar14 = (byte *****)(iVar3 + -1);\n        pcVar16 = *(code **)(puStack_1170 + -0x6338);\n        *(undefined1 *)(iVar3 + -1) = 0x2f;\n        (*pcVar16)(iStack_111c);\n        iStack_112c = iStack_1150;\n        ppppbStack_1120 = ppppbStack_1130;\n        param_3 = pppppbVar5;\n        unaff_s1 = pppppbVar10;\n        pppppbVar13 = pppppbVar12;\n        unaff_s6 = unaff_s5;\n        puVar26 = puVar23;\n        iStack_113c = iStack_1154;\n      }" (while "while") (parenthesized_expression "(((ppppbStack_1120 != ppppbStack_114c || (iStack_112c != iStack_1160)) ||\n             (iStack_113c != iStack_1164)))" (( "(") (parenthesized_expression "((ppppbStack_1120 != ppppbStack_114c || (iStack_112c != iStack_1160)) ||\n             (iStack_113c != iStack_1164))" (( "(") (binary_expression "(ppppbStack_1120 != ppppbStack_114c || (iStack_112c != iStack_1160)) ||\n             (iStack_113c != iStack_1164)" (parenthesized_expression "(ppppbStack_1120 != ppppbStack_114c || (iStack_112c != iStack_1160))" (( "(") (binary_expression "ppppbStack_1120 != ppppbStack_114c || (iStack_112c != iStack_1160)" (binary_expression "ppppbStack_1120 != ppppbStack_114c" (identifier "ppppbStack_1120") (!= "!=") (identifier "ppppbStack_114c")) (|| "||") (parenthesized_expression "(iStack_112c != iStack_1160)" (( "(") (binary_expression "iStack_112c != iStack_1160" (identifier "iStack_112c") (!= "!=") (identifier "iStack_1160")) () ")"))) () ")")) (|| "||") (parenthesized_expression "(iStack_113c != iStack_1164)" (( "(") (binary_expression "iStack_113c != iStack_1164" (identifier "iStack_113c") (!= "!=") (identifier "iStack_1164")) () ")"))) () ")")) () ")")) (compound_statement "{\n        pppppbVar12 = pppppbVar13;\n        pppppbVar10 = unaff_s1;\n        if (ppppbStack_1124 == ppppbStack_1134) {\n          param_1 = (byte *****)((int)ppppbStack_1140 * 2);\n          pppppbVar2 = (byte *****)((int)param_1 + 1);\n          if (ppppbStack_1124 == ppppbStack_1148) {\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(pppppbVar2);\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb48;\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,ppppbStack_1148,ppppbStack_1140);\n          }\n          else {\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(ppppbStack_1134);\n            puVar24 = puVar26;\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb18;\n          }\n          pppppbVar12 = (byte *****)ppppbStack_1140;\n          unaff_s3 = (byte *****)((int)pppppbVar9 + (int)ppppbStack_1140);\n          ppppbStack_1124 = (byte ****)unaff_s3;\n          (**(code **)(puStack_1170 + -0x605c))(unaff_s3,pppppbVar9,ppppbStack_1140);\n          *(byte *)((int)unaff_s3 + (int)pppppbVar12) = 0;\n          ppppbStack_1140 = (byte ****)param_1;\n          ppppbStack_1134 = (byte ****)pppppbVar9;\n        }\n        param_1 = (byte *****)((int)ppppbStack_1124 + -3);\n        pppppbVar2 = param_1;\n        param_3 = (byte *****)ppppbStack_1128;\n        ppppbStack_1124 = (byte ****)param_1;\n        iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,param_1);\n        pppppbVar13 = pppppbVar12;\n        puVar17 = puVar26;\n        if (iVar3 < 0) {\nLAB_000dfb00:\n          puVar26 = puVar17;\n          if ((ppppbStack_1134 != ppppbStack_1148) &&\n             (puVar24 = puVar17, (byte *****)ppppbStack_1134 != (byte *****)0x0)) {\nLAB_000dfb18:\n            pcVar16 = *(code **)(puStack_1170 + -0x6204);\n            puVar25 = puVar24;\nLAB_000dfb1c:\n            param_1 = (byte *****)(*pcVar16)();\n            ppppbVar11 = *param_1;\n            (**(code **)(puStack_1170 + -0x6044))(ppppbStack_1134);\n            *param_1 = ppppbVar11;\n            unaff_s1 = pppppbVar10;\n            puVar26 = puVar25;\n          }\n          goto LAB_000dfb48;\n        }\n        ppppbStack_1130 = appppbStack_1118[0];\n        iStack_1150 = iStack_1108;\n        iStack_1154 = iStack_1104;\n        iStack_111c = (**(code **)(puStack_1170 + -0x633c))(param_1);\n        if (iStack_111c == 0) goto LAB_000dfb00;\n        unaff_s3 = (byte *****)\n                   ((byte *)((int)ppppbStack_1134 + (int)ppppbStack_1140) + -(int)param_1);\n        unaff_s5 = (byte *****)((int)unaff_s3 + 1);\nLAB_000df8ec:\n        do {\n          pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n          do {\n            do {\n              piVar4 = (int *)(*pcVar16)(iStack_111c);\n              while( true ) {\n                if (piVar4 == (int *)0x0) {\n                  param_1 = (byte *****)(**(code **)(puStack_1170 + -0x6204))();\n                  ppppbVar11 = (byte ****)pppbStack_1138;\n                  if (*param_1 != (byte ****)0x0) {\n                    ppppbVar11 = *param_1;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  *param_1 = ppppbVar11;\n                  pppppbVar13 = pppppbVar12;\n                  goto LAB_000dfb00;\n                }\n                if (*(char *)((int)piVar4 + 0x13) != '.') break;\n                pppppbVar2 = (byte *****)0xffff0000;\n                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;\n                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;\n                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);\n              }\n            } while ((ppppbStack_1120 == ppppbStack_1130) &&\n                    ((pcVar16 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c))));\n            param_1 = (byte *****)((int)piVar4 + 0x13);\n            pppppbVar5 = (byte *****)(**(code **)(puStack_1170 + -0x61b0))(param_1);\n            iVar3 = -((uint)((byte *)((int)unaff_s5 + (int)pppppbVar5) + 8) & 0xfffffff8);\n            puVar18 = puVar17 + iVar3;\n            puVar19 = puVar17 + iVar3;\n            puVar20 = puVar17 + iVar3;\n            puVar25 = puVar17 + iVar3;\n            puVar21 = puVar17 + iVar3;\n            puVar26 = puVar17 + iVar3;\n            puVar22 = puVar17 + iVar3;\n            puVar24 = puVar17 + iVar3;\n            puVar23 = puVar17 + iVar3;\n            pppppbVar12 = (byte *****)(puVar17 + iVar3 + 0x10);\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar12,ppppbStack_1124,unaff_s3);\n            puVar15 = puStack_1170;\n            *(byte *)((int)pppppbVar12 + (int)unaff_s3) = 0x2f;\n            (**(code **)(puVar15 + -0x605c))\n                      ((byte *)((int)pppppbVar12 + (int)unaff_s5),param_1,\n                       (byte *)((int)pppppbVar5 + 1));\n            pppppbVar2 = pppppbVar12;\n            param_3 = (byte *****)ppppbStack_1128;\n            iVar6 = (**(code **)(puStack_1170 + -0x632c))(3,pppppbVar12);\n            if (iVar6 < 0) {\n              piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))();\n              pppbStack_1138 = (byte ***)*piVar4;\n            }\n            pppppbVar13 = (byte *****)ppppbStack_1158;\n            pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n            puVar17 = puVar17 + iVar3;\n          } while ((appppbStack_1118[0] != ppppbStack_1120) ||\n                  (puVar17 = puVar18, iStack_1108 != iStack_112c));\n          puVar17 = puVar19;\n        } while (iStack_1104 != iStack_113c);\n        pppppbVar9 = param_1;\n        unaff_s3 = (byte *****)((int)pppppbVar14 - (int)unaff_s1);\n        unaff_s5 = unaff_s6;\n        while (unaff_s3 <= pppppbVar5) {\n          unaff_s6 = (byte *****)((int)unaff_s5 << 1);\n          ppppbStack_1120 = (byte ****)pppppbVar9;\n          if (pppppbVar10 == pppppbVar13) {\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pppppbVar9 = (byte *****)0x0;\n              ppppbStack_44 = (byte ****)pppppbVar2;\n              if ((ppppbStack_1134 == ppppbStack_1148) ||\n                 (pppppbVar10 = (byte *****)ppppbStack_1158, puVar26 = puVar22,\n                 (byte *****)ppppbStack_1134 == (byte *****)0x0)) goto LAB_000dfb60;\n              goto LAB_000dfb18;\n            }\n          }\n          else {\n            pppppbVar2 = unaff_s6;\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(pppppbVar10,unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar20;\n              if (ppppbStack_1134 == ppppbStack_1148) goto LAB_000dfcc0;\n              pcVar16 = *(code **)(puStack_1170 + -0x6204);\n              if ((byte *****)ppppbStack_1134 != (byte *****)0x0) goto LAB_000dfb1c;\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar21;\n              goto LAB_000dfcc0;\n            }\n            pppppbVar14 = (byte *****)((int)unaff_s1 + (int)unaff_s3);\n          }\n          param_1 = (byte *****)((int)unaff_s5 + (int)unaff_s3);\n          param_3 = (byte *****)((int)unaff_s5 - (int)unaff_s3);\n          (**(code **)(puStack_1170 + -0x605c))((byte *****)((int)unaff_s1 + (int)param_1));\n          pppppbVar9 = (byte *****)ppppbStack_1120;\n          pppppbVar12 = pppppbVar13;\n          unaff_s3 = param_1;\n          pppppbVar2 = pppppbVar14;\n          pppppbVar10 = unaff_s1;\n          unaff_s5 = unaff_s6;\n          pppppbVar14 = (byte *****)((int)unaff_s1 + (int)param_1);\n        }\n        iVar3 = (**(code **)(puStack_1170 + -0x605c))((int)pppppbVar14 - (int)pppppbVar5);\n        pppppbVar14 = (byte *****)(iVar3 + -1);\n        pcVar16 = *(code **)(puStack_1170 + -0x6338);\n        *(undefined1 *)(iVar3 + -1) = 0x2f;\n        (*pcVar16)(iStack_111c);\n        iStack_112c = iStack_1150;\n        ppppbStack_1120 = ppppbStack_1130;\n        param_3 = pppppbVar5;\n        unaff_s1 = pppppbVar10;\n        pppppbVar13 = pppppbVar12;\n        unaff_s6 = unaff_s5;\n        puVar26 = puVar23;\n        iStack_113c = iStack_1154;\n      }" ({ "{") (expression_statement "pppppbVar12 = pppppbVar13;" (assignment_expression "pppppbVar12 = pppppbVar13" (identifier "pppppbVar12") (= "=") (identifier "pppppbVar13")) (; ";")) (expression_statement "pppppbVar10 = unaff_s1;" (assignment_expression "pppppbVar10 = unaff_s1" (identifier "pppppbVar10") (= "=") (identifier "unaff_s1")) (; ";")) (if_statement "if (ppppbStack_1124 == ppppbStack_1134) {\n          param_1 = (byte *****)((int)ppppbStack_1140 * 2);\n          pppppbVar2 = (byte *****)((int)param_1 + 1);\n          if (ppppbStack_1124 == ppppbStack_1148) {\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(pppppbVar2);\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb48;\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,ppppbStack_1148,ppppbStack_1140);\n          }\n          else {\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(ppppbStack_1134);\n            puVar24 = puVar26;\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb18;\n          }\n          pppppbVar12 = (byte *****)ppppbStack_1140;\n          unaff_s3 = (byte *****)((int)pppppbVar9 + (int)ppppbStack_1140);\n          ppppbStack_1124 = (byte ****)unaff_s3;\n          (**(code **)(puStack_1170 + -0x605c))(unaff_s3,pppppbVar9,ppppbStack_1140);\n          *(byte *)((int)unaff_s3 + (int)pppppbVar12) = 0;\n          ppppbStack_1140 = (byte ****)param_1;\n          ppppbStack_1134 = (byte ****)pppppbVar9;\n        }" (if "if") (parenthesized_expression "(ppppbStack_1124 == ppppbStack_1134)" (( "(") (binary_expression "ppppbStack_1124 == ppppbStack_1134" (identifier "ppppbStack_1124") (== "==") (identifier "ppppbStack_1134")) () ")")) (compound_statement "{\n          param_1 = (byte *****)((int)ppppbStack_1140 * 2);\n          pppppbVar2 = (byte *****)((int)param_1 + 1);\n          if (ppppbStack_1124 == ppppbStack_1148) {\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(pppppbVar2);\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb48;\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,ppppbStack_1148,ppppbStack_1140);\n          }\n          else {\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(ppppbStack_1134);\n            puVar24 = puVar26;\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb18;\n          }\n          pppppbVar12 = (byte *****)ppppbStack_1140;\n          unaff_s3 = (byte *****)((int)pppppbVar9 + (int)ppppbStack_1140);\n          ppppbStack_1124 = (byte ****)unaff_s3;\n          (**(code **)(puStack_1170 + -0x605c))(unaff_s3,pppppbVar9,ppppbStack_1140);\n          *(byte *)((int)unaff_s3 + (int)pppppbVar12) = 0;\n          ppppbStack_1140 = (byte ****)param_1;\n          ppppbStack_1134 = (byte ****)pppppbVar9;\n        }" ({ "{") (expression_statement "param_1 = (byte *****)((int)ppppbStack_1140 * 2);" (assignment_expression "param_1 = (byte *****)((int)ppppbStack_1140 * 2)" (identifier "param_1") (= "=") (cast_expression "(byte *****)((int)ppppbStack_1140 * 2)" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "((int)ppppbStack_1140 * 2)" (( "(") (binary_expression "(int)ppppbStack_1140 * 2" (cast_expression "(int)ppppbStack_1140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppbStack_1140")) (* "*") (number_literal "2")) () ")")))) (; ";")) (expression_statement "pppppbVar2 = (byte *****)((int)param_1 + 1);" (assignment_expression "pppppbVar2 = (byte *****)((int)param_1 + 1)" (identifier "pppppbVar2") (= "=") (cast_expression "(byte *****)((int)param_1 + 1)" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "((int)param_1 + 1)" (( "(") (binary_expression "(int)param_1 + 1" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (if_statement "if (ppppbStack_1124 == ppppbStack_1148) {\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(pppppbVar2);\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb48;\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,ppppbStack_1148,ppppbStack_1140);\n          }\n          else {\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(ppppbStack_1134);\n            puVar24 = puVar26;\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb18;\n          }" (if "if") (parenthesized_expression "(ppppbStack_1124 == ppppbStack_1148)" (( "(") (binary_expression "ppppbStack_1124 == ppppbStack_1148" (identifier "ppppbStack_1124") (== "==") (identifier "ppppbStack_1148")) () ")")) (compound_statement "{\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(pppppbVar2);\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb48;\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,ppppbStack_1148,ppppbStack_1140);\n          }" ({ "{") (expression_statement "pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(pppppbVar2);" (assignment_expression "pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(pppppbVar2)" (identifier "pppppbVar9") (= "=") (cast_expression "(byte *****)(**(code **)(puStack_1170 + -0x6158))(pppppbVar2)" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (call_expression "(**(code **)(puStack_1170 + -0x6158))(pppppbVar2)" (parenthesized_expression "(**(code **)(puStack_1170 + -0x6158))" (( "(") (pointer_expression "**(code **)(puStack_1170 + -0x6158)" (* "*") (pointer_expression "*(code **)(puStack_1170 + -0x6158)" (* "*") (cast_expression "(code **)(puStack_1170 + -0x6158)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_1170 + -0x6158)" (( "(") (binary_expression "puStack_1170 + -0x6158" (identifier "puStack_1170") (+ "+") (number_literal "-0x6158")) () ")"))))) () ")")) (argument_list "(pppppbVar2)" (( "(") (identifier "pppppbVar2") () ")"))))) (; ";")) (if_statement "if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb48;" (if "if") (parenthesized_expression "(pppppbVar9 == (byte *****)0x0)" (( "(") (binary_expression "pppppbVar9 == (byte *****)0x0" (identifier "pppppbVar9") (== "==") (cast_expression "(byte *****)0x0" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000dfb48;" (goto "goto") (statement_identifier "LAB_000dfb48") (; ";"))) (expression_statement "(**(code **)(puStack_1170 + -0x605c))(pppppbVar9,ppppbStack_1148,ppppbStack_1140);" (call_expression "(**(code **)(puStack_1170 + -0x605c))(pppppbVar9,ppppbStack_1148,ppppbStack_1140)" (parenthesized_expression "(**(code **)(puStack_1170 + -0x605c))" (( "(") (pointer_expression "**(code **)(puStack_1170 + -0x605c)" (* "*") (pointer_expression "*(code **)(puStack_1170 + -0x605c)" (* "*") (cast_expression "(code **)(puStack_1170 + -0x605c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_1170 + -0x605c)" (( "(") (binary_expression "puStack_1170 + -0x605c" (identifier "puStack_1170") (+ "+") (number_literal "-0x605c")) () ")"))))) () ")")) (argument_list "(pppppbVar9,ppppbStack_1148,ppppbStack_1140)" (( "(") (identifier "pppppbVar9") (, ",") (identifier "ppppbStack_1148") (, ",") (identifier "ppppbStack_1140") () ")"))) (; ";")) (} "}")) (else_clause "else {\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(ppppbStack_1134);\n            puVar24 = puVar26;\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb18;\n          }" (else "else") (compound_statement "{\n            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(ppppbStack_1134);\n            puVar24 = puVar26;\n            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb18;\n          }" ({ "{") (expression_statement "pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(ppppbStack_1134);" (assignment_expression "pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(ppppbStack_1134)" (identifier "pppppbVar9") (= "=") (cast_expression "(byte *****)(**(code **)(puStack_1170 + -0x614c))(ppppbStack_1134)" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (call_expression "(**(code **)(puStack_1170 + -0x614c))(ppppbStack_1134)" (parenthesized_expression "(**(code **)(puStack_1170 + -0x614c))" (( "(") (pointer_expression "**(code **)(puStack_1170 + -0x614c)" (* "*") (pointer_expression "*(code **)(puStack_1170 + -0x614c)" (* "*") (cast_expression "(code **)(puStack_1170 + -0x614c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_1170 + -0x614c)" (( "(") (binary_expression "puStack_1170 + -0x614c" (identifier "puStack_1170") (+ "+") (number_literal "-0x614c")) () ")"))))) () ")")) (argument_list "(ppppbStack_1134)" (( "(") (identifier "ppppbStack_1134") () ")"))))) (; ";")) (expression_statement "puVar24 = puVar26;" (assignment_expression "puVar24 = puVar26" (identifier "puVar24") (= "=") (identifier "puVar26")) (; ";")) (if_statement "if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb18;" (if "if") (parenthesized_expression "(pppppbVar9 == (byte *****)0x0)" (( "(") (binary_expression "pppppbVar9 == (byte *****)0x0" (identifier "pppppbVar9") (== "==") (cast_expression "(byte *****)0x0" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000dfb18;" (goto "goto") (statement_identifier "LAB_000dfb18") (; ";"))) (} "}")))) (expression_statement "pppppbVar12 = (byte *****)ppppbStack_1140;" (assignment_expression "pppppbVar12 = (byte *****)ppppbStack_1140" (identifier "pppppbVar12") (= "=") (cast_expression "(byte *****)ppppbStack_1140" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppbStack_1140"))) (; ";")) (expression_statement "unaff_s3 = (byte *****)((int)pppppbVar9 + (int)ppppbStack_1140);" (assignment_expression "unaff_s3 = (byte *****)((int)pppppbVar9 + (int)ppppbStack_1140)" (identifier "unaff_s3") (= "=") (cast_expression "(byte *****)((int)pppppbVar9 + (int)ppppbStack_1140)" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "((int)pppppbVar9 + (int)ppppbStack_1140)" (( "(") (binary_expression "(int)pppppbVar9 + (int)ppppbStack_1140" (cast_expression "(int)pppppbVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppbVar9")) (+ "+") (cast_expression "(int)ppppbStack_1140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppbStack_1140"))) () ")")))) (; ";")) (expression_statement "ppppbStack_1124 = (byte ****)unaff_s3;" (assignment_expression "ppppbStack_1124 = (byte ****)unaff_s3" (identifier "ppppbStack_1124") (= "=") (cast_expression "(byte ****)unaff_s3" (( "(") (type_descriptor "byte ****" (type_identifier "byte") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "unaff_s3"))) (; ";")) (expression_statement "(**(code **)(puStack_1170 + -0x605c))(unaff_s3,pppppbVar9,ppppbStack_1140);" (call_expression "(**(code **)(puStack_1170 + -0x605c))(unaff_s3,pppppbVar9,ppppbStack_1140)" (parenthesized_expression "(**(code **)(puStack_1170 + -0x605c))" (( "(") (pointer_expression "**(code **)(puStack_1170 + -0x605c)" (* "*") (pointer_expression "*(code **)(puStack_1170 + -0x605c)" (* "*") (cast_expression "(code **)(puStack_1170 + -0x605c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_1170 + -0x605c)" (( "(") (binary_expression "puStack_1170 + -0x605c" (identifier "puStack_1170") (+ "+") (number_literal "-0x605c")) () ")"))))) () ")")) (argument_list "(unaff_s3,pppppbVar9,ppppbStack_1140)" (( "(") (identifier "unaff_s3") (, ",") (identifier "pppppbVar9") (, ",") (identifier "ppppbStack_1140") () ")"))) (; ";")) (expression_statement "*(byte *)((int)unaff_s3 + (int)pppppbVar12) = 0;" (assignment_expression "*(byte *)((int)unaff_s3 + (int)pppppbVar12) = 0" (pointer_expression "*(byte *)((int)unaff_s3 + (int)pppppbVar12)" (* "*") (cast_expression "(byte *)((int)unaff_s3 + (int)pppppbVar12)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s3 + (int)pppppbVar12)" (( "(") (binary_expression "(int)unaff_s3 + (int)pppppbVar12" (cast_expression "(int)unaff_s3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s3")) (+ "+") (cast_expression "(int)pppppbVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppbVar12"))) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "ppppbStack_1140 = (byte ****)param_1;" (assignment_expression "ppppbStack_1140 = (byte ****)param_1" (identifier "ppppbStack_1140") (= "=") (cast_expression "(byte ****)param_1" (( "(") (type_descriptor "byte ****" (type_identifier "byte") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "param_1"))) (; ";")) (expression_statement "ppppbStack_1134 = (byte ****)pppppbVar9;" (assignment_expression "ppppbStack_1134 = (byte ****)pppppbVar9" (identifier "ppppbStack_1134") (= "=") (cast_expression "(byte ****)pppppbVar9" (( "(") (type_descriptor "byte ****" (type_identifier "byte") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "pppppbVar9"))) (; ";")) (} "}"))) (expression_statement "param_1 = (byte *****)((int)ppppbStack_1124 + -3);" (assignment_expression "param_1 = (byte *****)((int)ppppbStack_1124 + -3)" (identifier "param_1") (= "=") (cast_expression "(byte *****)((int)ppppbStack_1124 + -3)" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "((int)ppppbStack_1124 + -3)" (( "(") (binary_expression "(int)ppppbStack_1124 + -3" (cast_expression "(int)ppppbStack_1124" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppbStack_1124")) (+ "+") (number_literal "-3")) () ")")))) (; ";")) (expression_statement "pppppbVar2 = param_1;" (assignment_expression "pppppbVar2 = param_1" (identifier "pppppbVar2") (= "=") (identifier "param_1")) (; ";")) (expression_statement "param_3 = (byte *****)ppppbStack_1128;" (assignment_expression "param_3 = (byte *****)ppppbStack_1128" (identifier "param_3") (= "=") (cast_expression "(byte *****)ppppbStack_1128" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppbStack_1128"))) (; ";")) (expression_statement "ppppbStack_1124 = (byte ****)param_1;" (assignment_expression "ppppbStack_1124 = (byte ****)param_1" (identifier "ppppbStack_1124") (= "=") (cast_expression "(byte ****)param_1" (( "(") (type_descriptor "byte ****" (type_identifier "byte") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "param_1"))) (; ";")) (expression_statement "iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,param_1);" (assignment_expression "iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,param_1)" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puStack_1170 + -0x630c))(3,param_1)" (parenthesized_expression "(**(code **)(puStack_1170 + -0x630c))" (( "(") (pointer_expression "**(code **)(puStack_1170 + -0x630c)" (* "*") (pointer_expression "*(code **)(puStack_1170 + -0x630c)" (* "*") (cast_expression "(code **)(puStack_1170 + -0x630c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_1170 + -0x630c)" (( "(") (binary_expression "puStack_1170 + -0x630c" (identifier "puStack_1170") (+ "+") (number_literal "-0x630c")) () ")"))))) () ")")) (argument_list "(3,param_1)" (( "(") (number_literal "3") (, ",") (identifier "param_1") () ")")))) (; ";")) (expression_statement "pppppbVar13 = pppppbVar12;" (assignment_expression "pppppbVar13 = pppppbVar12" (identifier "pppppbVar13") (= "=") (identifier "pppppbVar12")) (; ";")) (expression_statement "puVar17 = puVar26;" (assignment_expression "puVar17 = puVar26" (identifier "puVar17") (= "=") (identifier "puVar26")) (; ";")) (if_statement "if (iVar3 < 0) {\nLAB_000dfb00:\n          puVar26 = puVar17;\n          if ((ppppbStack_1134 != ppppbStack_1148) &&\n             (puVar24 = puVar17, (byte *****)ppppbStack_1134 != (byte *****)0x0)) {\nLAB_000dfb18:\n            pcVar16 = *(code **)(puStack_1170 + -0x6204);\n            puVar25 = puVar24;\nLAB_000dfb1c:\n            param_1 = (byte *****)(*pcVar16)();\n            ppppbVar11 = *param_1;\n            (**(code **)(puStack_1170 + -0x6044))(ppppbStack_1134);\n            *param_1 = ppppbVar11;\n            unaff_s1 = pppppbVar10;\n            puVar26 = puVar25;\n          }\n          goto LAB_000dfb48;\n        }" (if "if") (parenthesized_expression "(iVar3 < 0)" (( "(") (binary_expression "iVar3 < 0" (identifier "iVar3") (< "<") (number_literal "0")) () ")")) (compound_statement "{\nLAB_000dfb00:\n          puVar26 = puVar17;\n          if ((ppppbStack_1134 != ppppbStack_1148) &&\n             (puVar24 = puVar17, (byte *****)ppppbStack_1134 != (byte *****)0x0)) {\nLAB_000dfb18:\n            pcVar16 = *(code **)(puStack_1170 + -0x6204);\n            puVar25 = puVar24;\nLAB_000dfb1c:\n            param_1 = (byte *****)(*pcVar16)();\n            ppppbVar11 = *param_1;\n            (**(code **)(puStack_1170 + -0x6044))(ppppbStack_1134);\n            *param_1 = ppppbVar11;\n            unaff_s1 = pppppbVar10;\n            puVar26 = puVar25;\n          }\n          goto LAB_000dfb48;\n        }" ({ "{") (labeled_statement "LAB_000dfb00:\n          puVar26 = puVar17;" (statement_identifier "LAB_000dfb00") (: ":") (expression_statement "puVar26 = puVar17;" (assignment_expression "puVar26 = puVar17" (identifier "puVar26") (= "=") (identifier "puVar17")) (; ";"))) (if_statement "if ((ppppbStack_1134 != ppppbStack_1148) &&\n             (puVar24 = puVar17, (byte *****)ppppbStack_1134 != (byte *****)0x0)) {\nLAB_000dfb18:\n            pcVar16 = *(code **)(puStack_1170 + -0x6204);\n            puVar25 = puVar24;\nLAB_000dfb1c:\n            param_1 = (byte *****)(*pcVar16)();\n            ppppbVar11 = *param_1;\n            (**(code **)(puStack_1170 + -0x6044))(ppppbStack_1134);\n            *param_1 = ppppbVar11;\n            unaff_s1 = pppppbVar10;\n            puVar26 = puVar25;\n          }" (if "if") (parenthesized_expression "((ppppbStack_1134 != ppppbStack_1148) &&\n             (puVar24 = puVar17, (byte *****)ppppbStack_1134 != (byte *****)0x0))" (( "(") (binary_expression "(ppppbStack_1134 != ppppbStack_1148) &&\n             (puVar24 = puVar17, (byte *****)ppppbStack_1134 != (byte *****)0x0)" (parenthesized_expression "(ppppbStack_1134 != ppppbStack_1148)" (( "(") (binary_expression "ppppbStack_1134 != ppppbStack_1148" (identifier "ppppbStack_1134") (!= "!=") (identifier "ppppbStack_1148")) () ")")) (&& "&&") (parenthesized_expression "(puVar24 = puVar17, (byte *****)ppppbStack_1134 != (byte *****)0x0)" (( "(") (comma_expression "puVar24 = puVar17, (byte *****)ppppbStack_1134 != (byte *****)0x0" (assignment_expression "puVar24 = puVar17" (identifier "puVar24") (= "=") (identifier "puVar17")) (, ",") (binary_expression "(byte *****)ppppbStack_1134 != (byte *****)0x0" (cast_expression "(byte *****)ppppbStack_1134" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppbStack_1134")) (!= "!=") (cast_expression "(byte *****)0x0" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (compound_statement "{\nLAB_000dfb18:\n            pcVar16 = *(code **)(puStack_1170 + -0x6204);\n            puVar25 = puVar24;\nLAB_000dfb1c:\n            param_1 = (byte *****)(*pcVar16)();\n            ppppbVar11 = *param_1;\n            (**(code **)(puStack_1170 + -0x6044))(ppppbStack_1134);\n            *param_1 = ppppbVar11;\n            unaff_s1 = pppppbVar10;\n            puVar26 = puVar25;\n          }" ({ "{") (labeled_statement "LAB_000dfb18:\n            pcVar16 = *(code **)(puStack_1170 + -0x6204);" (statement_identifier "LAB_000dfb18") (: ":") (expression_statement "pcVar16 = *(code **)(puStack_1170 + -0x6204);" (assignment_expression "pcVar16 = *(code **)(puStack_1170 + -0x6204)" (identifier "pcVar16") (= "=") (pointer_expression "*(code **)(puStack_1170 + -0x6204)" (* "*") (cast_expression "(code **)(puStack_1170 + -0x6204)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_1170 + -0x6204)" (( "(") (binary_expression "puStack_1170 + -0x6204" (identifier "puStack_1170") (+ "+") (number_literal "-0x6204")) () ")"))))) (; ";"))) (expression_statement "puVar25 = puVar24;" (assignment_expression "puVar25 = puVar24" (identifier "puVar25") (= "=") (identifier "puVar24")) (; ";")) (labeled_statement "LAB_000dfb1c:\n            param_1 = (byte *****)(*pcVar16)();" (statement_identifier "LAB_000dfb1c") (: ":") (expression_statement "param_1 = (byte *****)(*pcVar16)();" (assignment_expression "param_1 = (byte *****)(*pcVar16)()" (identifier "param_1") (= "=") (cast_expression "(byte *****)(*pcVar16)()" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (call_expression "(*pcVar16)()" (parenthesized_expression "(*pcVar16)" (( "(") (pointer_expression "*pcVar16" (* "*") (identifier "pcVar16")) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";"))) (expression_statement "ppppbVar11 = *param_1;" (assignment_expression "ppppbVar11 = *param_1" (identifier "ppppbVar11") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (expression_statement "(**(code **)(puStack_1170 + -0x6044))(ppppbStack_1134);" (call_expression "(**(code **)(puStack_1170 + -0x6044))(ppppbStack_1134)" (parenthesized_expression "(**(code **)(puStack_1170 + -0x6044))" (( "(") (pointer_expression "**(code **)(puStack_1170 + -0x6044)" (* "*") (pointer_expression "*(code **)(puStack_1170 + -0x6044)" (* "*") (cast_expression "(code **)(puStack_1170 + -0x6044)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_1170 + -0x6044)" (( "(") (binary_expression "puStack_1170 + -0x6044" (identifier "puStack_1170") (+ "+") (number_literal "-0x6044")) () ")"))))) () ")")) (argument_list "(ppppbStack_1134)" (( "(") (identifier "ppppbStack_1134") () ")"))) (; ";")) (expression_statement "*param_1 = ppppbVar11;" (assignment_expression "*param_1 = ppppbVar11" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (identifier "ppppbVar11")) (; ";")) (expression_statement "unaff_s1 = pppppbVar10;" (assignment_expression "unaff_s1 = pppppbVar10" (identifier "unaff_s1") (= "=") (identifier "pppppbVar10")) (; ";")) (expression_statement "puVar26 = puVar25;" (assignment_expression "puVar26 = puVar25" (identifier "puVar26") (= "=") (identifier "puVar25")) (; ";")) (} "}"))) (goto_statement "goto LAB_000dfb48;" (goto "goto") (statement_identifier "LAB_000dfb48") (; ";")) (} "}"))) (expression_statement "ppppbStack_1130 = appppbStack_1118[0];" (assignment_expression "ppppbStack_1130 = appppbStack_1118[0]" (identifier "ppppbStack_1130") (= "=") (subscript_expression "appppbStack_1118[0]" (identifier "appppbStack_1118") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "iStack_1150 = iStack_1108;" (assignment_expression "iStack_1150 = iStack_1108" (identifier "iStack_1150") (= "=") (identifier "iStack_1108")) (; ";")) (expression_statement "iStack_1154 = iStack_1104;" (assignment_expression "iStack_1154 = iStack_1104" (identifier "iStack_1154") (= "=") (identifier "iStack_1104")) (; ";")) (expression_statement "iStack_111c = (**(code **)(puStack_1170 + -0x633c))(param_1);" (assignment_expression "iStack_111c = (**(code **)(puStack_1170 + -0x633c))(param_1)" (identifier "iStack_111c") (= "=") (call_expression "(**(code **)(puStack_1170 + -0x633c))(param_1)" (parenthesized_expression "(**(code **)(puStack_1170 + -0x633c))" (( "(") (pointer_expression "**(code **)(puStack_1170 + -0x633c)" (* "*") (pointer_expression "*(code **)(puStack_1170 + -0x633c)" (* "*") (cast_expression "(code **)(puStack_1170 + -0x633c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_1170 + -0x633c)" (( "(") (binary_expression "puStack_1170 + -0x633c" (identifier "puStack_1170") (+ "+") (number_literal "-0x633c")) () ")"))))) () ")")) (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (if_statement "if (iStack_111c == 0) goto LAB_000dfb00;" (if "if") (parenthesized_expression "(iStack_111c == 0)" (( "(") (binary_expression "iStack_111c == 0" (identifier "iStack_111c") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000dfb00;" (goto "goto") (statement_identifier "LAB_000dfb00") (; ";"))) (expression_statement "unaff_s3 = (byte *****)\n                   ((byte *)((int)ppppbStack_1134 + (int)ppppbStack_1140) + -(int)param_1);" (assignment_expression "unaff_s3 = (byte *****)\n                   ((byte *)((int)ppppbStack_1134 + (int)ppppbStack_1140) + -(int)param_1)" (identifier "unaff_s3") (= "=") (cast_expression "(byte *****)\n                   ((byte *)((int)ppppbStack_1134 + (int)ppppbStack_1140) + -(int)param_1)" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "((byte *)((int)ppppbStack_1134 + (int)ppppbStack_1140) + -(int)param_1)" (( "(") (binary_expression "(byte *)((int)ppppbStack_1134 + (int)ppppbStack_1140) + -(int)param_1" (cast_expression "(byte *)((int)ppppbStack_1134 + (int)ppppbStack_1140)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppbStack_1134 + (int)ppppbStack_1140)" (( "(") (binary_expression "(int)ppppbStack_1134 + (int)ppppbStack_1140" (cast_expression "(int)ppppbStack_1134" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppbStack_1134")) (+ "+") (cast_expression "(int)ppppbStack_1140" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppbStack_1140"))) () ")"))) (+ "+") (unary_expression "-(int)param_1" (- "-") (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")))) () ")")))) (; ";")) (expression_statement "unaff_s5 = (byte *****)((int)unaff_s3 + 1);" (assignment_expression "unaff_s5 = (byte *****)((int)unaff_s3 + 1)" (identifier "unaff_s5") (= "=") (cast_expression "(byte *****)((int)unaff_s3 + 1)" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (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")) () ")")))) (; ";")) (labeled_statement "LAB_000df8ec:\n        do {\n          pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n          do {\n            do {\n              piVar4 = (int *)(*pcVar16)(iStack_111c);\n              while( true ) {\n                if (piVar4 == (int *)0x0) {\n                  param_1 = (byte *****)(**(code **)(puStack_1170 + -0x6204))();\n                  ppppbVar11 = (byte ****)pppbStack_1138;\n                  if (*param_1 != (byte ****)0x0) {\n                    ppppbVar11 = *param_1;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  *param_1 = ppppbVar11;\n                  pppppbVar13 = pppppbVar12;\n                  goto LAB_000dfb00;\n                }\n                if (*(char *)((int)piVar4 + 0x13) != '.') break;\n                pppppbVar2 = (byte *****)0xffff0000;\n                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;\n                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;\n                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);\n              }\n            } while ((ppppbStack_1120 == ppppbStack_1130) &&\n                    ((pcVar16 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c))));\n            param_1 = (byte *****)((int)piVar4 + 0x13);\n            pppppbVar5 = (byte *****)(**(code **)(puStack_1170 + -0x61b0))(param_1);\n            iVar3 = -((uint)((byte *)((int)unaff_s5 + (int)pppppbVar5) + 8) & 0xfffffff8);\n            puVar18 = puVar17 + iVar3;\n            puVar19 = puVar17 + iVar3;\n            puVar20 = puVar17 + iVar3;\n            puVar25 = puVar17 + iVar3;\n            puVar21 = puVar17 + iVar3;\n            puVar26 = puVar17 + iVar3;\n            puVar22 = puVar17 + iVar3;\n            puVar24 = puVar17 + iVar3;\n            puVar23 = puVar17 + iVar3;\n            pppppbVar12 = (byte *****)(puVar17 + iVar3 + 0x10);\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar12,ppppbStack_1124,unaff_s3);\n            puVar15 = puStack_1170;\n            *(byte *)((int)pppppbVar12 + (int)unaff_s3) = 0x2f;\n            (**(code **)(puVar15 + -0x605c))\n                      ((byte *)((int)pppppbVar12 + (int)unaff_s5),param_1,\n                       (byte *)((int)pppppbVar5 + 1));\n            pppppbVar2 = pppppbVar12;\n            param_3 = (byte *****)ppppbStack_1128;\n            iVar6 = (**(code **)(puStack_1170 + -0x632c))(3,pppppbVar12);\n            if (iVar6 < 0) {\n              piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))();\n              pppbStack_1138 = (byte ***)*piVar4;\n            }\n            pppppbVar13 = (byte *****)ppppbStack_1158;\n            pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n            puVar17 = puVar17 + iVar3;\n          } while ((appppbStack_1118[0] != ppppbStack_1120) ||\n                  (puVar17 = puVar18, iStack_1108 != iStack_112c));\n          puVar17 = puVar19;\n        } while (iStack_1104 != iStack_113c);" (statement_identifier "LAB_000df8ec") (: ":") (do_statement "do {\n          pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n          do {\n            do {\n              piVar4 = (int *)(*pcVar16)(iStack_111c);\n              while( true ) {\n                if (piVar4 == (int *)0x0) {\n                  param_1 = (byte *****)(**(code **)(puStack_1170 + -0x6204))();\n                  ppppbVar11 = (byte ****)pppbStack_1138;\n                  if (*param_1 != (byte ****)0x0) {\n                    ppppbVar11 = *param_1;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  *param_1 = ppppbVar11;\n                  pppppbVar13 = pppppbVar12;\n                  goto LAB_000dfb00;\n                }\n                if (*(char *)((int)piVar4 + 0x13) != '.') break;\n                pppppbVar2 = (byte *****)0xffff0000;\n                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;\n                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;\n                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);\n              }\n            } while ((ppppbStack_1120 == ppppbStack_1130) &&\n                    ((pcVar16 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c))));\n            param_1 = (byte *****)((int)piVar4 + 0x13);\n            pppppbVar5 = (byte *****)(**(code **)(puStack_1170 + -0x61b0))(param_1);\n            iVar3 = -((uint)((byte *)((int)unaff_s5 + (int)pppppbVar5) + 8) & 0xfffffff8);\n            puVar18 = puVar17 + iVar3;\n            puVar19 = puVar17 + iVar3;\n            puVar20 = puVar17 + iVar3;\n            puVar25 = puVar17 + iVar3;\n            puVar21 = puVar17 + iVar3;\n            puVar26 = puVar17 + iVar3;\n            puVar22 = puVar17 + iVar3;\n            puVar24 = puVar17 + iVar3;\n            puVar23 = puVar17 + iVar3;\n            pppppbVar12 = (byte *****)(puVar17 + iVar3 + 0x10);\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar12,ppppbStack_1124,unaff_s3);\n            puVar15 = puStack_1170;\n            *(byte *)((int)pppppbVar12 + (int)unaff_s3) = 0x2f;\n            (**(code **)(puVar15 + -0x605c))\n                      ((byte *)((int)pppppbVar12 + (int)unaff_s5),param_1,\n                       (byte *)((int)pppppbVar5 + 1));\n            pppppbVar2 = pppppbVar12;\n            param_3 = (byte *****)ppppbStack_1128;\n            iVar6 = (**(code **)(puStack_1170 + -0x632c))(3,pppppbVar12);\n            if (iVar6 < 0) {\n              piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))();\n              pppbStack_1138 = (byte ***)*piVar4;\n            }\n            pppppbVar13 = (byte *****)ppppbStack_1158;\n            pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n            puVar17 = puVar17 + iVar3;\n          } while ((appppbStack_1118[0] != ppppbStack_1120) ||\n                  (puVar17 = puVar18, iStack_1108 != iStack_112c));\n          puVar17 = puVar19;\n        } while (iStack_1104 != iStack_113c);" (do "do") (compound_statement "{\n          pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n          do {\n            do {\n              piVar4 = (int *)(*pcVar16)(iStack_111c);\n              while( true ) {\n                if (piVar4 == (int *)0x0) {\n                  param_1 = (byte *****)(**(code **)(puStack_1170 + -0x6204))();\n                  ppppbVar11 = (byte ****)pppbStack_1138;\n                  if (*param_1 != (byte ****)0x0) {\n                    ppppbVar11 = *param_1;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  *param_1 = ppppbVar11;\n                  pppppbVar13 = pppppbVar12;\n                  goto LAB_000dfb00;\n                }\n                if (*(char *)((int)piVar4 + 0x13) != '.') break;\n                pppppbVar2 = (byte *****)0xffff0000;\n                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;\n                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;\n                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);\n              }\n            } while ((ppppbStack_1120 == ppppbStack_1130) &&\n                    ((pcVar16 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c))));\n            param_1 = (byte *****)((int)piVar4 + 0x13);\n            pppppbVar5 = (byte *****)(**(code **)(puStack_1170 + -0x61b0))(param_1);\n            iVar3 = -((uint)((byte *)((int)unaff_s5 + (int)pppppbVar5) + 8) & 0xfffffff8);\n            puVar18 = puVar17 + iVar3;\n            puVar19 = puVar17 + iVar3;\n            puVar20 = puVar17 + iVar3;\n            puVar25 = puVar17 + iVar3;\n            puVar21 = puVar17 + iVar3;\n            puVar26 = puVar17 + iVar3;\n            puVar22 = puVar17 + iVar3;\n            puVar24 = puVar17 + iVar3;\n            puVar23 = puVar17 + iVar3;\n            pppppbVar12 = (byte *****)(puVar17 + iVar3 + 0x10);\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar12,ppppbStack_1124,unaff_s3);\n            puVar15 = puStack_1170;\n            *(byte *)((int)pppppbVar12 + (int)unaff_s3) = 0x2f;\n            (**(code **)(puVar15 + -0x605c))\n                      ((byte *)((int)pppppbVar12 + (int)unaff_s5),param_1,\n                       (byte *)((int)pppppbVar5 + 1));\n            pppppbVar2 = pppppbVar12;\n            param_3 = (byte *****)ppppbStack_1128;\n            iVar6 = (**(code **)(puStack_1170 + -0x632c))(3,pppppbVar12);\n            if (iVar6 < 0) {\n              piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))();\n              pppbStack_1138 = (byte ***)*piVar4;\n            }\n            pppppbVar13 = (byte *****)ppppbStack_1158;\n            pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n            puVar17 = puVar17 + iVar3;\n          } while ((appppbStack_1118[0] != ppppbStack_1120) ||\n                  (puVar17 = puVar18, iStack_1108 != iStack_112c));\n          puVar17 = puVar19;\n        }" ({ "{") (expression_statement "pcVar16 = *(code **)(puStack_1170 + -0x62c8);" (assignment_expression "pcVar16 = *(code **)(puStack_1170 + -0x62c8)" (identifier "pcVar16") (= "=") (pointer_expression "*(code **)(puStack_1170 + -0x62c8)" (* "*") (cast_expression "(code **)(puStack_1170 + -0x62c8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_1170 + -0x62c8)" (( "(") (binary_expression "puStack_1170 + -0x62c8" (identifier "puStack_1170") (+ "+") (number_literal "-0x62c8")) () ")"))))) (; ";")) (do_statement "do {\n            do {\n              piVar4 = (int *)(*pcVar16)(iStack_111c);\n              while( true ) {\n                if (piVar4 == (int *)0x0) {\n                  param_1 = (byte *****)(**(code **)(puStack_1170 + -0x6204))();\n                  ppppbVar11 = (byte ****)pppbStack_1138;\n                  if (*param_1 != (byte ****)0x0) {\n                    ppppbVar11 = *param_1;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  *param_1 = ppppbVar11;\n                  pppppbVar13 = pppppbVar12;\n                  goto LAB_000dfb00;\n                }\n                if (*(char *)((int)piVar4 + 0x13) != '.') break;\n                pppppbVar2 = (byte *****)0xffff0000;\n                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;\n                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;\n                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);\n              }\n            } while ((ppppbStack_1120 == ppppbStack_1130) &&\n                    ((pcVar16 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c))));\n            param_1 = (byte *****)((int)piVar4 + 0x13);\n            pppppbVar5 = (byte *****)(**(code **)(puStack_1170 + -0x61b0))(param_1);\n            iVar3 = -((uint)((byte *)((int)unaff_s5 + (int)pppppbVar5) + 8) & 0xfffffff8);\n            puVar18 = puVar17 + iVar3;\n            puVar19 = puVar17 + iVar3;\n            puVar20 = puVar17 + iVar3;\n            puVar25 = puVar17 + iVar3;\n            puVar21 = puVar17 + iVar3;\n            puVar26 = puVar17 + iVar3;\n            puVar22 = puVar17 + iVar3;\n            puVar24 = puVar17 + iVar3;\n            puVar23 = puVar17 + iVar3;\n            pppppbVar12 = (byte *****)(puVar17 + iVar3 + 0x10);\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar12,ppppbStack_1124,unaff_s3);\n            puVar15 = puStack_1170;\n            *(byte *)((int)pppppbVar12 + (int)unaff_s3) = 0x2f;\n            (**(code **)(puVar15 + -0x605c))\n                      ((byte *)((int)pppppbVar12 + (int)unaff_s5),param_1,\n                       (byte *)((int)pppppbVar5 + 1));\n            pppppbVar2 = pppppbVar12;\n            param_3 = (byte *****)ppppbStack_1128;\n            iVar6 = (**(code **)(puStack_1170 + -0x632c))(3,pppppbVar12);\n            if (iVar6 < 0) {\n              piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))();\n              pppbStack_1138 = (byte ***)*piVar4;\n            }\n            pppppbVar13 = (byte *****)ppppbStack_1158;\n            pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n            puVar17 = puVar17 + iVar3;\n          } while ((appppbStack_1118[0] != ppppbStack_1120) ||\n                  (puVar17 = puVar18, iStack_1108 != iStack_112c));" (do "do") (compound_statement "{\n            do {\n              piVar4 = (int *)(*pcVar16)(iStack_111c);\n              while( true ) {\n                if (piVar4 == (int *)0x0) {\n                  param_1 = (byte *****)(**(code **)(puStack_1170 + -0x6204))();\n                  ppppbVar11 = (byte ****)pppbStack_1138;\n                  if (*param_1 != (byte ****)0x0) {\n                    ppppbVar11 = *param_1;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  *param_1 = ppppbVar11;\n                  pppppbVar13 = pppppbVar12;\n                  goto LAB_000dfb00;\n                }\n                if (*(char *)((int)piVar4 + 0x13) != '.') break;\n                pppppbVar2 = (byte *****)0xffff0000;\n                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;\n                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;\n                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);\n              }\n            } while ((ppppbStack_1120 == ppppbStack_1130) &&\n                    ((pcVar16 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c))));\n            param_1 = (byte *****)((int)piVar4 + 0x13);\n            pppppbVar5 = (byte *****)(**(code **)(puStack_1170 + -0x61b0))(param_1);\n            iVar3 = -((uint)((byte *)((int)unaff_s5 + (int)pppppbVar5) + 8) & 0xfffffff8);\n            puVar18 = puVar17 + iVar3;\n            puVar19 = puVar17 + iVar3;\n            puVar20 = puVar17 + iVar3;\n            puVar25 = puVar17 + iVar3;\n            puVar21 = puVar17 + iVar3;\n            puVar26 = puVar17 + iVar3;\n            puVar22 = puVar17 + iVar3;\n            puVar24 = puVar17 + iVar3;\n            puVar23 = puVar17 + iVar3;\n            pppppbVar12 = (byte *****)(puVar17 + iVar3 + 0x10);\n            (**(code **)(puStack_1170 + -0x605c))(pppppbVar12,ppppbStack_1124,unaff_s3);\n            puVar15 = puStack_1170;\n            *(byte *)((int)pppppbVar12 + (int)unaff_s3) = 0x2f;\n            (**(code **)(puVar15 + -0x605c))\n                      ((byte *)((int)pppppbVar12 + (int)unaff_s5),param_1,\n                       (byte *)((int)pppppbVar5 + 1));\n            pppppbVar2 = pppppbVar12;\n            param_3 = (byte *****)ppppbStack_1128;\n            iVar6 = (**(code **)(puStack_1170 + -0x632c))(3,pppppbVar12);\n            if (iVar6 < 0) {\n              piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))();\n              pppbStack_1138 = (byte ***)*piVar4;\n            }\n            pppppbVar13 = (byte *****)ppppbStack_1158;\n            pcVar16 = *(code **)(puStack_1170 + -0x62c8);\n            puVar17 = puVar17 + iVar3;\n          }" ({ "{") (do_statement "do {\n              piVar4 = (int *)(*pcVar16)(iStack_111c);\n              while( true ) {\n                if (piVar4 == (int *)0x0) {\n                  param_1 = (byte *****)(**(code **)(puStack_1170 + -0x6204))();\n                  ppppbVar11 = (byte ****)pppbStack_1138;\n                  if (*param_1 != (byte ****)0x0) {\n                    ppppbVar11 = *param_1;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  *param_1 = ppppbVar11;\n                  pppppbVar13 = pppppbVar12;\n                  goto LAB_000dfb00;\n                }\n                if (*(char *)((int)piVar4 + 0x13) != '.') break;\n                pppppbVar2 = (byte *****)0xffff0000;\n                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;\n                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;\n                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);\n              }\n            } while ((ppppbStack_1120 == ppppbStack_1130) &&\n                    ((pcVar16 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c))));" (do "do") (compound_statement "{\n              piVar4 = (int *)(*pcVar16)(iStack_111c);\n              while( true ) {\n                if (piVar4 == (int *)0x0) {\n                  param_1 = (byte *****)(**(code **)(puStack_1170 + -0x6204))();\n                  ppppbVar11 = (byte ****)pppbStack_1138;\n                  if (*param_1 != (byte ****)0x0) {\n                    ppppbVar11 = *param_1;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  *param_1 = ppppbVar11;\n                  pppppbVar13 = pppppbVar12;\n                  goto LAB_000dfb00;\n                }\n                if (*(char *)((int)piVar4 + 0x13) != '.') break;\n                pppppbVar2 = (byte *****)0xffff0000;\n                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;\n                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;\n                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);\n              }\n            }" ({ "{") (expression_statement "piVar4 = (int *)(*pcVar16)(iStack_111c);" (assignment_expression "piVar4 = (int *)(*pcVar16)(iStack_111c)" (identifier "piVar4") (= "=") (cast_expression "(int *)(*pcVar16)(iStack_111c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*pcVar16)(iStack_111c)" (parenthesized_expression "(*pcVar16)" (( "(") (pointer_expression "*pcVar16" (* "*") (identifier "pcVar16")) () ")")) (argument_list "(iStack_111c)" (( "(") (identifier "iStack_111c") () ")"))))) (; ";")) (while_statement "while( true ) {\n                if (piVar4 == (int *)0x0) {\n                  param_1 = (byte *****)(**(code **)(puStack_1170 + -0x6204))();\n                  ppppbVar11 = (byte ****)pppbStack_1138;\n                  if (*param_1 != (byte ****)0x0) {\n                    ppppbVar11 = *param_1;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  *param_1 = ppppbVar11;\n                  pppppbVar13 = pppppbVar12;\n                  goto LAB_000dfb00;\n                }\n                if (*(char *)((int)piVar4 + 0x13) != '.') break;\n                pppppbVar2 = (byte *****)0xffff0000;\n                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;\n                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;\n                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);\n              }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n                if (piVar4 == (int *)0x0) {\n                  param_1 = (byte *****)(**(code **)(puStack_1170 + -0x6204))();\n                  ppppbVar11 = (byte ****)pppbStack_1138;\n                  if (*param_1 != (byte ****)0x0) {\n                    ppppbVar11 = *param_1;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  *param_1 = ppppbVar11;\n                  pppppbVar13 = pppppbVar12;\n                  goto LAB_000dfb00;\n                }\n                if (*(char *)((int)piVar4 + 0x13) != '.') break;\n                pppppbVar2 = (byte *****)0xffff0000;\n                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;\n                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;\n                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);\n              }" ({ "{") (if_statement "if (piVar4 == (int *)0x0) {\n                  param_1 = (byte *****)(**(code **)(puStack_1170 + -0x6204))();\n                  ppppbVar11 = (byte ****)pppbStack_1138;\n                  if (*param_1 != (byte ****)0x0) {\n                    ppppbVar11 = *param_1;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  *param_1 = ppppbVar11;\n                  pppppbVar13 = pppppbVar12;\n                  goto LAB_000dfb00;\n                }" (if "if") (parenthesized_expression "(piVar4 == (int *)0x0)" (( "(") (binary_expression "piVar4 == (int *)0x0" (identifier "piVar4") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                  param_1 = (byte *****)(**(code **)(puStack_1170 + -0x6204))();\n                  ppppbVar11 = (byte ****)pppbStack_1138;\n                  if (*param_1 != (byte ****)0x0) {\n                    ppppbVar11 = *param_1;\n                  }\n                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);\n                  *param_1 = ppppbVar11;\n                  pppppbVar13 = pppppbVar12;\n                  goto LAB_000dfb00;\n                }" ({ "{") (expression_statement "param_1 = (byte *****)(**(code **)(puStack_1170 + -0x6204))();" (assignment_expression "param_1 = (byte *****)(**(code **)(puStack_1170 + -0x6204))()" (identifier "param_1") (= "=") (cast_expression "(byte *****)(**(code **)(puStack_1170 + -0x6204))()" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (call_expression "(**(code **)(puStack_1170 + -0x6204))()" (parenthesized_expression "(**(code **)(puStack_1170 + -0x6204))" (( "(") (pointer_expression "**(code **)(puStack_1170 + -0x6204)" (* "*") (pointer_expression "*(code **)(puStack_1170 + -0x6204)" (* "*") (cast_expression "(code **)(puStack_1170 + -0x6204)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_1170 + -0x6204)" (( "(") (binary_expression "puStack_1170 + -0x6204" (identifier "puStack_1170") (+ "+") (number_literal "-0x6204")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "ppppbVar11 = (byte ****)pppbStack_1138;" (assignment_expression "ppppbVar11 = (byte ****)pppbStack_1138" (identifier "ppppbVar11") (= "=") (cast_expression "(byte ****)pppbStack_1138" (( "(") (type_descriptor "byte ****" (type_identifier "byte") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "pppbStack_1138"))) (; ";")) (if_statement "if (*param_1 != (byte ****)0x0) {\n                    ppppbVar11 = *param_1;\n                  }" (if "if") (parenthesized_expression "(*param_1 != (byte ****)0x0)" (( "(") (binary_expression "*param_1 != (byte ****)0x0" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (!= "!=") (cast_expression "(byte ****)0x0" (( "(") (type_descriptor "byte ****" (type_identifier "byte") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                    ppppbVar11 = *param_1;\n                  }" ({ "{") (expression_statement "ppppbVar11 = *param_1;" (assignment_expression "ppppbVar11 = *param_1" (identifier "ppppbVar11") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";")) (} "}"))) (expression_statement "(**(code **)(puStack_1170 + -0x6338))(iStack_111c);" (call_expression "(**(code **)(puStack_1170 + -0x6338))(iStack_111c)" (parenthesized_expression "(**(code **)(puStack_1170 + -0x6338))" (( "(") (pointer_expression "**(code **)(puStack_1170 + -0x6338)" (* "*") (pointer_expression "*(code **)(puStack_1170 + -0x6338)" (* "*") (cast_expression "(code **)(puStack_1170 + -0x6338)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_1170 + -0x6338)" (( "(") (binary_expression "puStack_1170 + -0x6338" (identifier "puStack_1170") (+ "+") (number_literal "-0x6338")) () ")"))))) () ")")) (argument_list "(iStack_111c)" (( "(") (identifier "iStack_111c") () ")"))) (; ";")) (expression_statement "*param_1 = ppppbVar11;" (assignment_expression "*param_1 = ppppbVar11" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (identifier "ppppbVar11")) (; ";")) (expression_statement "pppppbVar13 = pppppbVar12;" (assignment_expression "pppppbVar13 = pppppbVar12" (identifier "pppppbVar13") (= "=") (identifier "pppppbVar12")) (; ";")) (goto_statement "goto LAB_000dfb00;" (goto "goto") (statement_identifier "LAB_000dfb00") (; ";")) (} "}"))) (if_statement "if (*(char *)((int)piVar4 + 0x13) != '.') break;" (if "if") (parenthesized_expression "(*(char *)((int)piVar4 + 0x13) != '.')" (( "(") (binary_expression "*(char *)((int)piVar4 + 0x13) != '.'" (pointer_expression "*(char *)((int)piVar4 + 0x13)" (* "*") (cast_expression "(char *)((int)piVar4 + 0x13)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar4 + 0x13)" (( "(") (binary_expression "(int)piVar4 + 0x13" (cast_expression "(int)piVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar4")) (+ "+") (number_literal "0x13")) () ")")))) (!= "!=") (char_literal "'.'" (' "'") (character ".") (' "'"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "pppppbVar2 = (byte *****)0xffff0000;" (assignment_expression "pppppbVar2 = (byte *****)0xffff0000" (identifier "pppppbVar2") (= "=") (cast_expression "(byte *****)0xffff0000" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0xffff0000"))) (; ";")) (if_statement "if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;" (if "if") (parenthesized_expression "(*(char *)(piVar4 + 5) == '\0')" (( "(") (binary_expression "*(char *)(piVar4 + 5) == '\0'" (pointer_expression "*(char *)(piVar4 + 5)" (* "*") (cast_expression "(char *)(piVar4 + 5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar4 + 5)" (( "(") (binary_expression "piVar4 + 5" (identifier "piVar4") (+ "+") (number_literal "5")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_000df8ec;" (goto "goto") (statement_identifier "LAB_000df8ec") (; ";"))) (if_statement "if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;" (if "if") (parenthesized_expression "((piVar4[5] & 0xffff0000U) != 0x2e000000)" (( "(") (binary_expression "(piVar4[5] & 0xffff0000U) != 0x2e000000" (parenthesized_expression "(piVar4[5] & 0xffff0000U)" (( "(") (binary_expression "piVar4[5] & 0xffff0000U" (subscript_expression "piVar4[5]" (identifier "piVar4") ([ "[") (number_literal "5") (] "]")) (& "&") (number_literal "0xffff0000U")) () ")")) (!= "!=") (number_literal "0x2e000000")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);" (assignment_expression "piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c)" (identifier "piVar4") (= "=") (cast_expression "(int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puStack_1170 + -0x62c8))(iStack_111c)" (parenthesized_expression "(**(code **)(puStack_1170 + -0x62c8))" (( "(") (pointer_expression "**(code **)(puStack_1170 + -0x62c8)" (* "*") (pointer_expression "*(code **)(puStack_1170 + -0x62c8)" (* "*") (cast_expression "(code **)(puStack_1170 + -0x62c8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_1170 + -0x62c8)" (( "(") (binary_expression "puStack_1170 + -0x62c8" (identifier "puStack_1170") (+ "+") (number_literal "-0x62c8")) () ")"))))) () ")")) (argument_list "(iStack_111c)" (( "(") (identifier "iStack_111c") () ")"))))) (; ";")) (} "}"))) (} "}")) (while "while") (parenthesized_expression "((ppppbStack_1120 == ppppbStack_1130) &&\n                    ((pcVar16 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c))))" (( "(") (binary_expression "(ppppbStack_1120 == ppppbStack_1130) &&\n                    ((pcVar16 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c)))" (parenthesized_expression "(ppppbStack_1120 == ppppbStack_1130)" (( "(") (binary_expression "ppppbStack_1120 == ppppbStack_1130" (identifier "ppppbStack_1120") (== "==") (identifier "ppppbStack_1130")) () ")")) (&& "&&") (parenthesized_expression "((pcVar16 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c)))" (( "(") (parenthesized_expression "(pcVar16 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c))" (( "(") (comma_expression "pcVar16 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c)" (assignment_expression "pcVar16 = *(code **)(puStack_1170 + -0x62c8)" (identifier "pcVar16") (= "=") (pointer_expression "*(code **)(puStack_1170 + -0x62c8)" (* "*") (cast_expression "(code **)(puStack_1170 + -0x62c8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_1170 + -0x62c8)" (( "(") (binary_expression "puStack_1170 + -0x62c8" (identifier "puStack_1170") (+ "+") (number_literal "-0x62c8")) () ")"))))) (, ",") (binary_expression "*piVar4 != iStack_112c ||\n                     (piVar4[1] != iStack_113c)" (binary_expression "*piVar4 != iStack_112c" (pointer_expression "*piVar4" (* "*") (identifier "piVar4")) (!= "!=") (identifier "iStack_112c")) (|| "||") (parenthesized_expression "(piVar4[1] != iStack_113c)" (( "(") (binary_expression "piVar4[1] != iStack_113c" (subscript_expression "piVar4[1]" (identifier "piVar4") ([ "[") (number_literal "1") (] "]")) (!= "!=") (identifier "iStack_113c")) () ")")))) () ")")) () ")"))) () ")")) (; ";")) (expression_statement "param_1 = (byte *****)((int)piVar4 + 0x13);" (assignment_expression "param_1 = (byte *****)((int)piVar4 + 0x13)" (identifier "param_1") (= "=") (cast_expression "(byte *****)((int)piVar4 + 0x13)" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "((int)piVar4 + 0x13)" (( "(") (binary_expression "(int)piVar4 + 0x13" (cast_expression "(int)piVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar4")) (+ "+") (number_literal "0x13")) () ")")))) (; ";")) (expression_statement "pppppbVar5 = (byte *****)(**(code **)(puStack_1170 + -0x61b0))(param_1);" (assignment_expression "pppppbVar5 = (byte *****)(**(code **)(puStack_1170 + -0x61b0))(param_1)" (identifier "pppppbVar5") (= "=") (cast_expression "(byte *****)(**(code **)(puStack_1170 + -0x61b0))(param_1)" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (call_expression "(**(code **)(puStack_1170 + -0x61b0))(param_1)" (parenthesized_expression "(**(code **)(puStack_1170 + -0x61b0))" (( "(") (pointer_expression "**(code **)(puStack_1170 + -0x61b0)" (* "*") (pointer_expression "*(code **)(puStack_1170 + -0x61b0)" (* "*") (cast_expression "(code **)(puStack_1170 + -0x61b0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_1170 + -0x61b0)" (( "(") (binary_expression "puStack_1170 + -0x61b0" (identifier "puStack_1170") (+ "+") (number_literal "-0x61b0")) () ")"))))) () ")")) (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))))) (; ";")) (expression_statement "iVar3 = -((uint)((byte *)((int)unaff_s5 + (int)pppppbVar5) + 8) & 0xfffffff8);" (assignment_expression "iVar3 = -((uint)((byte *)((int)unaff_s5 + (int)pppppbVar5) + 8) & 0xfffffff8)" (identifier "iVar3") (= "=") (unary_expression "-((uint)((byte *)((int)unaff_s5 + (int)pppppbVar5) + 8) & 0xfffffff8)" (- "-") (parenthesized_expression "((uint)((byte *)((int)unaff_s5 + (int)pppppbVar5) + 8) & 0xfffffff8)" (( "(") (binary_expression "(uint)((byte *)((int)unaff_s5 + (int)pppppbVar5) + 8) & 0xfffffff8" (call_expression "(uint)((byte *)((int)unaff_s5 + (int)pppppbVar5) + 8)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((byte *)((int)unaff_s5 + (int)pppppbVar5) + 8)" (( "(") (binary_expression "(byte *)((int)unaff_s5 + (int)pppppbVar5) + 8" (cast_expression "(byte *)((int)unaff_s5 + (int)pppppbVar5)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s5 + (int)pppppbVar5)" (( "(") (binary_expression "(int)unaff_s5 + (int)pppppbVar5" (cast_expression "(int)unaff_s5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s5")) (+ "+") (cast_expression "(int)pppppbVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppbVar5"))) () ")"))) (+ "+") (number_literal "8")) () ")"))) (& "&") (number_literal "0xfffffff8")) () ")")))) (; ";")) (expression_statement "puVar18 = puVar17 + iVar3;" (assignment_expression "puVar18 = puVar17 + iVar3" (identifier "puVar18") (= "=") (binary_expression "puVar17 + iVar3" (identifier "puVar17") (+ "+") (identifier "iVar3"))) (; ";")) (expression_statement "puVar19 = puVar17 + iVar3;" (assignment_expression "puVar19 = puVar17 + iVar3" (identifier "puVar19") (= "=") (binary_expression "puVar17 + iVar3" (identifier "puVar17") (+ "+") (identifier "iVar3"))) (; ";")) (expression_statement "puVar20 = puVar17 + iVar3;" (assignment_expression "puVar20 = puVar17 + iVar3" (identifier "puVar20") (= "=") (binary_expression "puVar17 + iVar3" (identifier "puVar17") (+ "+") (identifier "iVar3"))) (; ";")) (expression_statement "puVar25 = puVar17 + iVar3;" (assignment_expression "puVar25 = puVar17 + iVar3" (identifier "puVar25") (= "=") (binary_expression "puVar17 + iVar3" (identifier "puVar17") (+ "+") (identifier "iVar3"))) (; ";")) (expression_statement "puVar21 = puVar17 + iVar3;" (assignment_expression "puVar21 = puVar17 + iVar3" (identifier "puVar21") (= "=") (binary_expression "puVar17 + iVar3" (identifier "puVar17") (+ "+") (identifier "iVar3"))) (; ";")) (expression_statement "puVar26 = puVar17 + iVar3;" (assignment_expression "puVar26 = puVar17 + iVar3" (identifier "puVar26") (= "=") (binary_expression "puVar17 + iVar3" (identifier "puVar17") (+ "+") (identifier "iVar3"))) (; ";")) (expression_statement "puVar22 = puVar17 + iVar3;" (assignment_expression "puVar22 = puVar17 + iVar3" (identifier "puVar22") (= "=") (binary_expression "puVar17 + iVar3" (identifier "puVar17") (+ "+") (identifier "iVar3"))) (; ";")) (expression_statement "puVar24 = puVar17 + iVar3;" (assignment_expression "puVar24 = puVar17 + iVar3" (identifier "puVar24") (= "=") (binary_expression "puVar17 + iVar3" (identifier "puVar17") (+ "+") (identifier "iVar3"))) (; ";")) (expression_statement "puVar23 = puVar17 + iVar3;" (assignment_expression "puVar23 = puVar17 + iVar3" (identifier "puVar23") (= "=") (binary_expression "puVar17 + iVar3" (identifier "puVar17") (+ "+") (identifier "iVar3"))) (; ";")) (expression_statement "pppppbVar12 = (byte *****)(puVar17 + iVar3 + 0x10);" (assignment_expression "pppppbVar12 = (byte *****)(puVar17 + iVar3 + 0x10)" (identifier "pppppbVar12") (= "=") (cast_expression "(byte *****)(puVar17 + iVar3 + 0x10)" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "(puVar17 + iVar3 + 0x10)" (( "(") (binary_expression "puVar17 + iVar3 + 0x10" (binary_expression "puVar17 + iVar3" (identifier "puVar17") (+ "+") (identifier "iVar3")) (+ "+") (number_literal "0x10")) () ")")))) (; ";")) (expression_statement "(**(code **)(puStack_1170 + -0x605c))(pppppbVar12,ppppbStack_1124,unaff_s3);" (call_expression "(**(code **)(puStack_1170 + -0x605c))(pppppbVar12,ppppbStack_1124,unaff_s3)" (parenthesized_expression "(**(code **)(puStack_1170 + -0x605c))" (( "(") (pointer_expression "**(code **)(puStack_1170 + -0x605c)" (* "*") (pointer_expression "*(code **)(puStack_1170 + -0x605c)" (* "*") (cast_expression "(code **)(puStack_1170 + -0x605c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_1170 + -0x605c)" (( "(") (binary_expression "puStack_1170 + -0x605c" (identifier "puStack_1170") (+ "+") (number_literal "-0x605c")) () ")"))))) () ")")) (argument_list "(pppppbVar12,ppppbStack_1124,unaff_s3)" (( "(") (identifier "pppppbVar12") (, ",") (identifier "ppppbStack_1124") (, ",") (identifier "unaff_s3") () ")"))) (; ";")) (expression_statement "puVar15 = puStack_1170;" (assignment_expression "puVar15 = puStack_1170" (identifier "puVar15") (= "=") (identifier "puStack_1170")) (; ";")) (expression_statement "*(byte *)((int)pppppbVar12 + (int)unaff_s3) = 0x2f;" (assignment_expression "*(byte *)((int)pppppbVar12 + (int)unaff_s3) = 0x2f" (pointer_expression "*(byte *)((int)pppppbVar12 + (int)unaff_s3)" (* "*") (cast_expression "(byte *)((int)pppppbVar12 + (int)unaff_s3)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppbVar12 + (int)unaff_s3)" (( "(") (binary_expression "(int)pppppbVar12 + (int)unaff_s3" (cast_expression "(int)pppppbVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppbVar12")) (+ "+") (cast_expression "(int)unaff_s3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s3"))) () ")")))) (= "=") (number_literal "0x2f")) (; ";")) (expression_statement "(**(code **)(puVar15 + -0x605c))\n                      ((byte *)((int)pppppbVar12 + (int)unaff_s5),param_1,\n                       (byte *)((int)pppppbVar5 + 1));" (call_expression "(**(code **)(puVar15 + -0x605c))\n                      ((byte *)((int)pppppbVar12 + (int)unaff_s5),param_1,\n                       (byte *)((int)pppppbVar5 + 1))" (parenthesized_expression "(**(code **)(puVar15 + -0x605c))" (( "(") (pointer_expression "**(code **)(puVar15 + -0x605c)" (* "*") (pointer_expression "*(code **)(puVar15 + -0x605c)" (* "*") (cast_expression "(code **)(puVar15 + -0x605c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar15 + -0x605c)" (( "(") (binary_expression "puVar15 + -0x605c" (identifier "puVar15") (+ "+") (number_literal "-0x605c")) () ")"))))) () ")")) (argument_list "((byte *)((int)pppppbVar12 + (int)unaff_s5),param_1,\n                       (byte *)((int)pppppbVar5 + 1))" (( "(") (cast_expression "(byte *)((int)pppppbVar12 + (int)unaff_s5)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppbVar12 + (int)unaff_s5)" (( "(") (binary_expression "(int)pppppbVar12 + (int)unaff_s5" (cast_expression "(int)pppppbVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppbVar12")) (+ "+") (cast_expression "(int)unaff_s5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s5"))) () ")"))) (, ",") (identifier "param_1") (, ",") (cast_expression "(byte *)((int)pppppbVar5 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pppppbVar5 + 1)" (( "(") (binary_expression "(int)pppppbVar5 + 1" (cast_expression "(int)pppppbVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppbVar5")) (+ "+") (number_literal "1")) () ")"))) () ")"))) (; ";")) (expression_statement "pppppbVar2 = pppppbVar12;" (assignment_expression "pppppbVar2 = pppppbVar12" (identifier "pppppbVar2") (= "=") (identifier "pppppbVar12")) (; ";")) (expression_statement "param_3 = (byte *****)ppppbStack_1128;" (assignment_expression "param_3 = (byte *****)ppppbStack_1128" (identifier "param_3") (= "=") (cast_expression "(byte *****)ppppbStack_1128" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppbStack_1128"))) (; ";")) (expression_statement "iVar6 = (**(code **)(puStack_1170 + -0x632c))(3,pppppbVar12);" (assignment_expression "iVar6 = (**(code **)(puStack_1170 + -0x632c))(3,pppppbVar12)" (identifier "iVar6") (= "=") (call_expression "(**(code **)(puStack_1170 + -0x632c))(3,pppppbVar12)" (parenthesized_expression "(**(code **)(puStack_1170 + -0x632c))" (( "(") (pointer_expression "**(code **)(puStack_1170 + -0x632c)" (* "*") (pointer_expression "*(code **)(puStack_1170 + -0x632c)" (* "*") (cast_expression "(code **)(puStack_1170 + -0x632c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_1170 + -0x632c)" (( "(") (binary_expression "puStack_1170 + -0x632c" (identifier "puStack_1170") (+ "+") (number_literal "-0x632c")) () ")"))))) () ")")) (argument_list "(3,pppppbVar12)" (( "(") (number_literal "3") (, ",") (identifier "pppppbVar12") () ")")))) (; ";")) (if_statement "if (iVar6 < 0) {\n              piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))();\n              pppbStack_1138 = (byte ***)*piVar4;\n            }" (if "if") (parenthesized_expression "(iVar6 < 0)" (( "(") (binary_expression "iVar6 < 0" (identifier "iVar6") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n              piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))();\n              pppbStack_1138 = (byte ***)*piVar4;\n            }" ({ "{") (expression_statement "piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))();" (assignment_expression "piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))()" (identifier "piVar4") (= "=") (cast_expression "(int *)(**(code **)(puStack_1170 + -0x6204))()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puStack_1170 + -0x6204))()" (parenthesized_expression "(**(code **)(puStack_1170 + -0x6204))" (( "(") (pointer_expression "**(code **)(puStack_1170 + -0x6204)" (* "*") (pointer_expression "*(code **)(puStack_1170 + -0x6204)" (* "*") (cast_expression "(code **)(puStack_1170 + -0x6204)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_1170 + -0x6204)" (( "(") (binary_expression "puStack_1170 + -0x6204" (identifier "puStack_1170") (+ "+") (number_literal "-0x6204")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "pppbStack_1138 = (byte ***)*piVar4;" (assignment_expression "pppbStack_1138 = (byte ***)*piVar4" (identifier "pppbStack_1138") (= "=") (cast_expression "(byte ***)*piVar4" (( "(") (type_descriptor "byte ***" (type_identifier "byte") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (pointer_expression "*piVar4" (* "*") (identifier "piVar4")))) (; ";")) (} "}"))) (expression_statement "pppppbVar13 = (byte *****)ppppbStack_1158;" (assignment_expression "pppppbVar13 = (byte *****)ppppbStack_1158" (identifier "pppppbVar13") (= "=") (cast_expression "(byte *****)ppppbStack_1158" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppbStack_1158"))) (; ";")) (expression_statement "pcVar16 = *(code **)(puStack_1170 + -0x62c8);" (assignment_expression "pcVar16 = *(code **)(puStack_1170 + -0x62c8)" (identifier "pcVar16") (= "=") (pointer_expression "*(code **)(puStack_1170 + -0x62c8)" (* "*") (cast_expression "(code **)(puStack_1170 + -0x62c8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_1170 + -0x62c8)" (( "(") (binary_expression "puStack_1170 + -0x62c8" (identifier "puStack_1170") (+ "+") (number_literal "-0x62c8")) () ")"))))) (; ";")) (expression_statement "puVar17 = puVar17 + iVar3;" (assignment_expression "puVar17 = puVar17 + iVar3" (identifier "puVar17") (= "=") (binary_expression "puVar17 + iVar3" (identifier "puVar17") (+ "+") (identifier "iVar3"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((appppbStack_1118[0] != ppppbStack_1120) ||\n                  (puVar17 = puVar18, iStack_1108 != iStack_112c))" (( "(") (binary_expression "(appppbStack_1118[0] != ppppbStack_1120) ||\n                  (puVar17 = puVar18, iStack_1108 != iStack_112c)" (parenthesized_expression "(appppbStack_1118[0] != ppppbStack_1120)" (( "(") (binary_expression "appppbStack_1118[0] != ppppbStack_1120" (subscript_expression "appppbStack_1118[0]" (identifier "appppbStack_1118") ([ "[") (number_literal "0") (] "]")) (!= "!=") (identifier "ppppbStack_1120")) () ")")) (|| "||") (parenthesized_expression "(puVar17 = puVar18, iStack_1108 != iStack_112c)" (( "(") (comma_expression "puVar17 = puVar18, iStack_1108 != iStack_112c" (assignment_expression "puVar17 = puVar18" (identifier "puVar17") (= "=") (identifier "puVar18")) (, ",") (binary_expression "iStack_1108 != iStack_112c" (identifier "iStack_1108") (!= "!=") (identifier "iStack_112c"))) () ")"))) () ")")) (; ";")) (expression_statement "puVar17 = puVar19;" (assignment_expression "puVar17 = puVar19" (identifier "puVar17") (= "=") (identifier "puVar19")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iStack_1104 != iStack_113c)" (( "(") (binary_expression "iStack_1104 != iStack_113c" (identifier "iStack_1104") (!= "!=") (identifier "iStack_113c")) () ")")) (; ";"))) (expression_statement "pppppbVar9 = param_1;" (assignment_expression "pppppbVar9 = param_1" (identifier "pppppbVar9") (= "=") (identifier "param_1")) (; ";")) (expression_statement "unaff_s3 = (byte *****)((int)pppppbVar14 - (int)unaff_s1);" (assignment_expression "unaff_s3 = (byte *****)((int)pppppbVar14 - (int)unaff_s1)" (identifier "unaff_s3") (= "=") (cast_expression "(byte *****)((int)pppppbVar14 - (int)unaff_s1)" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "((int)pppppbVar14 - (int)unaff_s1)" (( "(") (binary_expression "(int)pppppbVar14 - (int)unaff_s1" (cast_expression "(int)pppppbVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppbVar14")) (- "-") (cast_expression "(int)unaff_s1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s1"))) () ")")))) (; ";")) (expression_statement "unaff_s5 = unaff_s6;" (assignment_expression "unaff_s5 = unaff_s6" (identifier "unaff_s5") (= "=") (identifier "unaff_s6")) (; ";")) (while_statement "while (unaff_s3 <= pppppbVar5) {\n          unaff_s6 = (byte *****)((int)unaff_s5 << 1);\n          ppppbStack_1120 = (byte ****)pppppbVar9;\n          if (pppppbVar10 == pppppbVar13) {\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pppppbVar9 = (byte *****)0x0;\n              ppppbStack_44 = (byte ****)pppppbVar2;\n              if ((ppppbStack_1134 == ppppbStack_1148) ||\n                 (pppppbVar10 = (byte *****)ppppbStack_1158, puVar26 = puVar22,\n                 (byte *****)ppppbStack_1134 == (byte *****)0x0)) goto LAB_000dfb60;\n              goto LAB_000dfb18;\n            }\n          }\n          else {\n            pppppbVar2 = unaff_s6;\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(pppppbVar10,unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar20;\n              if (ppppbStack_1134 == ppppbStack_1148) goto LAB_000dfcc0;\n              pcVar16 = *(code **)(puStack_1170 + -0x6204);\n              if ((byte *****)ppppbStack_1134 != (byte *****)0x0) goto LAB_000dfb1c;\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar21;\n              goto LAB_000dfcc0;\n            }\n            pppppbVar14 = (byte *****)((int)unaff_s1 + (int)unaff_s3);\n          }\n          param_1 = (byte *****)((int)unaff_s5 + (int)unaff_s3);\n          param_3 = (byte *****)((int)unaff_s5 - (int)unaff_s3);\n          (**(code **)(puStack_1170 + -0x605c))((byte *****)((int)unaff_s1 + (int)param_1));\n          pppppbVar9 = (byte *****)ppppbStack_1120;\n          pppppbVar12 = pppppbVar13;\n          unaff_s3 = param_1;\n          pppppbVar2 = pppppbVar14;\n          pppppbVar10 = unaff_s1;\n          unaff_s5 = unaff_s6;\n          pppppbVar14 = (byte *****)((int)unaff_s1 + (int)param_1);\n        }" (while "while") (parenthesized_expression "(unaff_s3 <= pppppbVar5)" (( "(") (binary_expression "unaff_s3 <= pppppbVar5" (identifier "unaff_s3") (<= "<=") (identifier "pppppbVar5")) () ")")) (compound_statement "{\n          unaff_s6 = (byte *****)((int)unaff_s5 << 1);\n          ppppbStack_1120 = (byte ****)pppppbVar9;\n          if (pppppbVar10 == pppppbVar13) {\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pppppbVar9 = (byte *****)0x0;\n              ppppbStack_44 = (byte ****)pppppbVar2;\n              if ((ppppbStack_1134 == ppppbStack_1148) ||\n                 (pppppbVar10 = (byte *****)ppppbStack_1158, puVar26 = puVar22,\n                 (byte *****)ppppbStack_1134 == (byte *****)0x0)) goto LAB_000dfb60;\n              goto LAB_000dfb18;\n            }\n          }\n          else {\n            pppppbVar2 = unaff_s6;\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(pppppbVar10,unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar20;\n              if (ppppbStack_1134 == ppppbStack_1148) goto LAB_000dfcc0;\n              pcVar16 = *(code **)(puStack_1170 + -0x6204);\n              if ((byte *****)ppppbStack_1134 != (byte *****)0x0) goto LAB_000dfb1c;\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar21;\n              goto LAB_000dfcc0;\n            }\n            pppppbVar14 = (byte *****)((int)unaff_s1 + (int)unaff_s3);\n          }\n          param_1 = (byte *****)((int)unaff_s5 + (int)unaff_s3);\n          param_3 = (byte *****)((int)unaff_s5 - (int)unaff_s3);\n          (**(code **)(puStack_1170 + -0x605c))((byte *****)((int)unaff_s1 + (int)param_1));\n          pppppbVar9 = (byte *****)ppppbStack_1120;\n          pppppbVar12 = pppppbVar13;\n          unaff_s3 = param_1;\n          pppppbVar2 = pppppbVar14;\n          pppppbVar10 = unaff_s1;\n          unaff_s5 = unaff_s6;\n          pppppbVar14 = (byte *****)((int)unaff_s1 + (int)param_1);\n        }" ({ "{") (expression_statement "unaff_s6 = (byte *****)((int)unaff_s5 << 1);" (assignment_expression "unaff_s6 = (byte *****)((int)unaff_s5 << 1)" (identifier "unaff_s6") (= "=") (cast_expression "(byte *****)((int)unaff_s5 << 1)" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "((int)unaff_s5 << 1)" (( "(") (binary_expression "(int)unaff_s5 << 1" (cast_expression "(int)unaff_s5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s5")) (<< "<<") (number_literal "1")) () ")")))) (; ";")) (expression_statement "ppppbStack_1120 = (byte ****)pppppbVar9;" (assignment_expression "ppppbStack_1120 = (byte ****)pppppbVar9" (identifier "ppppbStack_1120") (= "=") (cast_expression "(byte ****)pppppbVar9" (( "(") (type_descriptor "byte ****" (type_identifier "byte") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "pppppbVar9"))) (; ";")) (if_statement "if (pppppbVar10 == pppppbVar13) {\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pppppbVar9 = (byte *****)0x0;\n              ppppbStack_44 = (byte ****)pppppbVar2;\n              if ((ppppbStack_1134 == ppppbStack_1148) ||\n                 (pppppbVar10 = (byte *****)ppppbStack_1158, puVar26 = puVar22,\n                 (byte *****)ppppbStack_1134 == (byte *****)0x0)) goto LAB_000dfb60;\n              goto LAB_000dfb18;\n            }\n          }\n          else {\n            pppppbVar2 = unaff_s6;\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(pppppbVar10,unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar20;\n              if (ppppbStack_1134 == ppppbStack_1148) goto LAB_000dfcc0;\n              pcVar16 = *(code **)(puStack_1170 + -0x6204);\n              if ((byte *****)ppppbStack_1134 != (byte *****)0x0) goto LAB_000dfb1c;\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar21;\n              goto LAB_000dfcc0;\n            }\n            pppppbVar14 = (byte *****)((int)unaff_s1 + (int)unaff_s3);\n          }" (if "if") (parenthesized_expression "(pppppbVar10 == pppppbVar13)" (( "(") (binary_expression "pppppbVar10 == pppppbVar13" (identifier "pppppbVar10") (== "==") (identifier "pppppbVar13")) () ")")) (compound_statement "{\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pppppbVar9 = (byte *****)0x0;\n              ppppbStack_44 = (byte ****)pppppbVar2;\n              if ((ppppbStack_1134 == ppppbStack_1148) ||\n                 (pppppbVar10 = (byte *****)ppppbStack_1158, puVar26 = puVar22,\n                 (byte *****)ppppbStack_1134 == (byte *****)0x0)) goto LAB_000dfb60;\n              goto LAB_000dfb18;\n            }\n          }" ({ "{") (expression_statement "unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(unaff_s6);" (assignment_expression "unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(unaff_s6)" (identifier "unaff_s1") (= "=") (cast_expression "(byte *****)(**(code **)(puStack_1170 + -0x6158))(unaff_s6)" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (call_expression "(**(code **)(puStack_1170 + -0x6158))(unaff_s6)" (parenthesized_expression "(**(code **)(puStack_1170 + -0x6158))" (( "(") (pointer_expression "**(code **)(puStack_1170 + -0x6158)" (* "*") (pointer_expression "*(code **)(puStack_1170 + -0x6158)" (* "*") (cast_expression "(code **)(puStack_1170 + -0x6158)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_1170 + -0x6158)" (( "(") (binary_expression "puStack_1170 + -0x6158" (identifier "puStack_1170") (+ "+") (number_literal "-0x6158")) () ")"))))) () ")")) (argument_list "(unaff_s6)" (( "(") (identifier "unaff_s6") () ")"))))) (; ";")) (if_statement "if (unaff_s1 == (byte *****)0x0) {\n              pppppbVar9 = (byte *****)0x0;\n              ppppbStack_44 = (byte ****)pppppbVar2;\n              if ((ppppbStack_1134 == ppppbStack_1148) ||\n                 (pppppbVar10 = (byte *****)ppppbStack_1158, puVar26 = puVar22,\n                 (byte *****)ppppbStack_1134 == (byte *****)0x0)) goto LAB_000dfb60;\n              goto LAB_000dfb18;\n            }" (if "if") (parenthesized_expression "(unaff_s1 == (byte *****)0x0)" (( "(") (binary_expression "unaff_s1 == (byte *****)0x0" (identifier "unaff_s1") (== "==") (cast_expression "(byte *****)0x0" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              pppppbVar9 = (byte *****)0x0;\n              ppppbStack_44 = (byte ****)pppppbVar2;\n              if ((ppppbStack_1134 == ppppbStack_1148) ||\n                 (pppppbVar10 = (byte *****)ppppbStack_1158, puVar26 = puVar22,\n                 (byte *****)ppppbStack_1134 == (byte *****)0x0)) goto LAB_000dfb60;\n              goto LAB_000dfb18;\n            }" ({ "{") (expression_statement "pppppbVar9 = (byte *****)0x0;" (assignment_expression "pppppbVar9 = (byte *****)0x0" (identifier "pppppbVar9") (= "=") (cast_expression "(byte *****)0x0" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppppbStack_44 = (byte ****)pppppbVar2;" (assignment_expression "ppppbStack_44 = (byte ****)pppppbVar2" (identifier "ppppbStack_44") (= "=") (cast_expression "(byte ****)pppppbVar2" (( "(") (type_descriptor "byte ****" (type_identifier "byte") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "pppppbVar2"))) (; ";")) (if_statement "if ((ppppbStack_1134 == ppppbStack_1148) ||\n                 (pppppbVar10 = (byte *****)ppppbStack_1158, puVar26 = puVar22,\n                 (byte *****)ppppbStack_1134 == (byte *****)0x0)) goto LAB_000dfb60;" (if "if") (parenthesized_expression "((ppppbStack_1134 == ppppbStack_1148) ||\n                 (pppppbVar10 = (byte *****)ppppbStack_1158, puVar26 = puVar22,\n                 (byte *****)ppppbStack_1134 == (byte *****)0x0))" (( "(") (binary_expression "(ppppbStack_1134 == ppppbStack_1148) ||\n                 (pppppbVar10 = (byte *****)ppppbStack_1158, puVar26 = puVar22,\n                 (byte *****)ppppbStack_1134 == (byte *****)0x0)" (parenthesized_expression "(ppppbStack_1134 == ppppbStack_1148)" (( "(") (binary_expression "ppppbStack_1134 == ppppbStack_1148" (identifier "ppppbStack_1134") (== "==") (identifier "ppppbStack_1148")) () ")")) (|| "||") (parenthesized_expression "(pppppbVar10 = (byte *****)ppppbStack_1158, puVar26 = puVar22,\n                 (byte *****)ppppbStack_1134 == (byte *****)0x0)" (( "(") (comma_expression "pppppbVar10 = (byte *****)ppppbStack_1158, puVar26 = puVar22,\n                 (byte *****)ppppbStack_1134 == (byte *****)0x0" (assignment_expression "pppppbVar10 = (byte *****)ppppbStack_1158" (identifier "pppppbVar10") (= "=") (cast_expression "(byte *****)ppppbStack_1158" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppbStack_1158"))) (, ",") (comma_expression "puVar26 = puVar22,\n                 (byte *****)ppppbStack_1134 == (byte *****)0x0" (assignment_expression "puVar26 = puVar22" (identifier "puVar26") (= "=") (identifier "puVar22")) (, ",") (binary_expression "(byte *****)ppppbStack_1134 == (byte *****)0x0" (cast_expression "(byte *****)ppppbStack_1134" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppbStack_1134")) (== "==") (cast_expression "(byte *****)0x0" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))))) () ")"))) () ")")) (goto_statement "goto LAB_000dfb60;" (goto "goto") (statement_identifier "LAB_000dfb60") (; ";"))) (goto_statement "goto LAB_000dfb18;" (goto "goto") (statement_identifier "LAB_000dfb18") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n            pppppbVar2 = unaff_s6;\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(pppppbVar10,unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar20;\n              if (ppppbStack_1134 == ppppbStack_1148) goto LAB_000dfcc0;\n              pcVar16 = *(code **)(puStack_1170 + -0x6204);\n              if ((byte *****)ppppbStack_1134 != (byte *****)0x0) goto LAB_000dfb1c;\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar21;\n              goto LAB_000dfcc0;\n            }\n            pppppbVar14 = (byte *****)((int)unaff_s1 + (int)unaff_s3);\n          }" (else "else") (compound_statement "{\n            pppppbVar2 = unaff_s6;\n            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(pppppbVar10,unaff_s6);\n            if (unaff_s1 == (byte *****)0x0) {\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar20;\n              if (ppppbStack_1134 == ppppbStack_1148) goto LAB_000dfcc0;\n              pcVar16 = *(code **)(puStack_1170 + -0x6204);\n              if ((byte *****)ppppbStack_1134 != (byte *****)0x0) goto LAB_000dfb1c;\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar21;\n              goto LAB_000dfcc0;\n            }\n            pppppbVar14 = (byte *****)((int)unaff_s1 + (int)unaff_s3);\n          }" ({ "{") (expression_statement "pppppbVar2 = unaff_s6;" (assignment_expression "pppppbVar2 = unaff_s6" (identifier "pppppbVar2") (= "=") (identifier "unaff_s6")) (; ";")) (expression_statement "unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(pppppbVar10,unaff_s6);" (assignment_expression "unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(pppppbVar10,unaff_s6)" (identifier "unaff_s1") (= "=") (cast_expression "(byte *****)(**(code **)(puStack_1170 + -0x614c))(pppppbVar10,unaff_s6)" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (call_expression "(**(code **)(puStack_1170 + -0x614c))(pppppbVar10,unaff_s6)" (parenthesized_expression "(**(code **)(puStack_1170 + -0x614c))" (( "(") (pointer_expression "**(code **)(puStack_1170 + -0x614c)" (* "*") (pointer_expression "*(code **)(puStack_1170 + -0x614c)" (* "*") (cast_expression "(code **)(puStack_1170 + -0x614c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_1170 + -0x614c)" (( "(") (binary_expression "puStack_1170 + -0x614c" (identifier "puStack_1170") (+ "+") (number_literal "-0x614c")) () ")"))))) () ")")) (argument_list "(pppppbVar10,unaff_s6)" (( "(") (identifier "pppppbVar10") (, ",") (identifier "unaff_s6") () ")"))))) (; ";")) (if_statement "if (unaff_s1 == (byte *****)0x0) {\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar20;\n              if (ppppbStack_1134 == ppppbStack_1148) goto LAB_000dfcc0;\n              pcVar16 = *(code **)(puStack_1170 + -0x6204);\n              if ((byte *****)ppppbStack_1134 != (byte *****)0x0) goto LAB_000dfb1c;\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar21;\n              goto LAB_000dfcc0;\n            }" (if "if") (parenthesized_expression "(unaff_s1 == (byte *****)0x0)" (( "(") (binary_expression "unaff_s1 == (byte *****)0x0" (identifier "unaff_s1") (== "==") (cast_expression "(byte *****)0x0" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar20;\n              if (ppppbStack_1134 == ppppbStack_1148) goto LAB_000dfcc0;\n              pcVar16 = *(code **)(puStack_1170 + -0x6204);\n              if ((byte *****)ppppbStack_1134 != (byte *****)0x0) goto LAB_000dfb1c;\n              pcVar16 = *(code **)(puStack_1170 + -0x6044);\n              puVar26 = puVar21;\n              goto LAB_000dfcc0;\n            }" ({ "{") (expression_statement "pcVar16 = *(code **)(puStack_1170 + -0x6044);" (assignment_expression "pcVar16 = *(code **)(puStack_1170 + -0x6044)" (identifier "pcVar16") (= "=") (pointer_expression "*(code **)(puStack_1170 + -0x6044)" (* "*") (cast_expression "(code **)(puStack_1170 + -0x6044)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_1170 + -0x6044)" (( "(") (binary_expression "puStack_1170 + -0x6044" (identifier "puStack_1170") (+ "+") (number_literal "-0x6044")) () ")"))))) (; ";")) (expression_statement "puVar26 = puVar20;" (assignment_expression "puVar26 = puVar20" (identifier "puVar26") (= "=") (identifier "puVar20")) (; ";")) (if_statement "if (ppppbStack_1134 == ppppbStack_1148) goto LAB_000dfcc0;" (if "if") (parenthesized_expression "(ppppbStack_1134 == ppppbStack_1148)" (( "(") (binary_expression "ppppbStack_1134 == ppppbStack_1148" (identifier "ppppbStack_1134") (== "==") (identifier "ppppbStack_1148")) () ")")) (goto_statement "goto LAB_000dfcc0;" (goto "goto") (statement_identifier "LAB_000dfcc0") (; ";"))) (expression_statement "pcVar16 = *(code **)(puStack_1170 + -0x6204);" (assignment_expression "pcVar16 = *(code **)(puStack_1170 + -0x6204)" (identifier "pcVar16") (= "=") (pointer_expression "*(code **)(puStack_1170 + -0x6204)" (* "*") (cast_expression "(code **)(puStack_1170 + -0x6204)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_1170 + -0x6204)" (( "(") (binary_expression "puStack_1170 + -0x6204" (identifier "puStack_1170") (+ "+") (number_literal "-0x6204")) () ")"))))) (; ";")) (if_statement "if ((byte *****)ppppbStack_1134 != (byte *****)0x0) goto LAB_000dfb1c;" (if "if") (parenthesized_expression "((byte *****)ppppbStack_1134 != (byte *****)0x0)" (( "(") (binary_expression "(byte *****)ppppbStack_1134 != (byte *****)0x0" (cast_expression "(byte *****)ppppbStack_1134" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppbStack_1134")) (!= "!=") (cast_expression "(byte *****)0x0" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000dfb1c;" (goto "goto") (statement_identifier "LAB_000dfb1c") (; ";"))) (expression_statement "pcVar16 = *(code **)(puStack_1170 + -0x6044);" (assignment_expression "pcVar16 = *(code **)(puStack_1170 + -0x6044)" (identifier "pcVar16") (= "=") (pointer_expression "*(code **)(puStack_1170 + -0x6044)" (* "*") (cast_expression "(code **)(puStack_1170 + -0x6044)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_1170 + -0x6044)" (( "(") (binary_expression "puStack_1170 + -0x6044" (identifier "puStack_1170") (+ "+") (number_literal "-0x6044")) () ")"))))) (; ";")) (expression_statement "puVar26 = puVar21;" (assignment_expression "puVar26 = puVar21" (identifier "puVar26") (= "=") (identifier "puVar21")) (; ";")) (goto_statement "goto LAB_000dfcc0;" (goto "goto") (statement_identifier "LAB_000dfcc0") (; ";")) (} "}"))) (expression_statement "pppppbVar14 = (byte *****)((int)unaff_s1 + (int)unaff_s3);" (assignment_expression "pppppbVar14 = (byte *****)((int)unaff_s1 + (int)unaff_s3)" (identifier "pppppbVar14") (= "=") (cast_expression "(byte *****)((int)unaff_s1 + (int)unaff_s3)" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "((int)unaff_s1 + (int)unaff_s3)" (( "(") (binary_expression "(int)unaff_s1 + (int)unaff_s3" (cast_expression "(int)unaff_s1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s1")) (+ "+") (cast_expression "(int)unaff_s3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s3"))) () ")")))) (; ";")) (} "}")))) (expression_statement "param_1 = (byte *****)((int)unaff_s5 + (int)unaff_s3);" (assignment_expression "param_1 = (byte *****)((int)unaff_s5 + (int)unaff_s3)" (identifier "param_1") (= "=") (cast_expression "(byte *****)((int)unaff_s5 + (int)unaff_s3)" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "((int)unaff_s5 + (int)unaff_s3)" (( "(") (binary_expression "(int)unaff_s5 + (int)unaff_s3" (cast_expression "(int)unaff_s5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s5")) (+ "+") (cast_expression "(int)unaff_s3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s3"))) () ")")))) (; ";")) (expression_statement "param_3 = (byte *****)((int)unaff_s5 - (int)unaff_s3);" (assignment_expression "param_3 = (byte *****)((int)unaff_s5 - (int)unaff_s3)" (identifier "param_3") (= "=") (cast_expression "(byte *****)((int)unaff_s5 - (int)unaff_s3)" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "((int)unaff_s5 - (int)unaff_s3)" (( "(") (binary_expression "(int)unaff_s5 - (int)unaff_s3" (cast_expression "(int)unaff_s5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s5")) (- "-") (cast_expression "(int)unaff_s3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s3"))) () ")")))) (; ";")) (expression_statement "(**(code **)(puStack_1170 + -0x605c))((byte *****)((int)unaff_s1 + (int)param_1));" (call_expression "(**(code **)(puStack_1170 + -0x605c))((byte *****)((int)unaff_s1 + (int)param_1))" (parenthesized_expression "(**(code **)(puStack_1170 + -0x605c))" (( "(") (pointer_expression "**(code **)(puStack_1170 + -0x605c)" (* "*") (pointer_expression "*(code **)(puStack_1170 + -0x605c)" (* "*") (cast_expression "(code **)(puStack_1170 + -0x605c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_1170 + -0x605c)" (( "(") (binary_expression "puStack_1170 + -0x605c" (identifier "puStack_1170") (+ "+") (number_literal "-0x605c")) () ")"))))) () ")")) (argument_list "((byte *****)((int)unaff_s1 + (int)param_1))" (( "(") (cast_expression "(byte *****)((int)unaff_s1 + (int)param_1)" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "((int)unaff_s1 + (int)param_1)" (( "(") (binary_expression "(int)unaff_s1 + (int)param_1" (cast_expression "(int)unaff_s1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s1")) (+ "+") (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1"))) () ")"))) () ")"))) (; ";")) (expression_statement "pppppbVar9 = (byte *****)ppppbStack_1120;" (assignment_expression "pppppbVar9 = (byte *****)ppppbStack_1120" (identifier "pppppbVar9") (= "=") (cast_expression "(byte *****)ppppbStack_1120" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppbStack_1120"))) (; ";")) (expression_statement "pppppbVar12 = pppppbVar13;" (assignment_expression "pppppbVar12 = pppppbVar13" (identifier "pppppbVar12") (= "=") (identifier "pppppbVar13")) (; ";")) (expression_statement "unaff_s3 = param_1;" (assignment_expression "unaff_s3 = param_1" (identifier "unaff_s3") (= "=") (identifier "param_1")) (; ";")) (expression_statement "pppppbVar2 = pppppbVar14;" (assignment_expression "pppppbVar2 = pppppbVar14" (identifier "pppppbVar2") (= "=") (identifier "pppppbVar14")) (; ";")) (expression_statement "pppppbVar10 = unaff_s1;" (assignment_expression "pppppbVar10 = unaff_s1" (identifier "pppppbVar10") (= "=") (identifier "unaff_s1")) (; ";")) (expression_statement "unaff_s5 = unaff_s6;" (assignment_expression "unaff_s5 = unaff_s6" (identifier "unaff_s5") (= "=") (identifier "unaff_s6")) (; ";")) (expression_statement "pppppbVar14 = (byte *****)((int)unaff_s1 + (int)param_1);" (assignment_expression "pppppbVar14 = (byte *****)((int)unaff_s1 + (int)param_1)" (identifier "pppppbVar14") (= "=") (cast_expression "(byte *****)((int)unaff_s1 + (int)param_1)" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "((int)unaff_s1 + (int)param_1)" (( "(") (binary_expression "(int)unaff_s1 + (int)param_1" (cast_expression "(int)unaff_s1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s1")) (+ "+") (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1"))) () ")")))) (; ";")) (} "}"))) (expression_statement "iVar3 = (**(code **)(puStack_1170 + -0x605c))((int)pppppbVar14 - (int)pppppbVar5);" (assignment_expression "iVar3 = (**(code **)(puStack_1170 + -0x605c))((int)pppppbVar14 - (int)pppppbVar5)" (identifier "iVar3") (= "=") (call_expression "(**(code **)(puStack_1170 + -0x605c))((int)pppppbVar14 - (int)pppppbVar5)" (parenthesized_expression "(**(code **)(puStack_1170 + -0x605c))" (( "(") (pointer_expression "**(code **)(puStack_1170 + -0x605c)" (* "*") (pointer_expression "*(code **)(puStack_1170 + -0x605c)" (* "*") (cast_expression "(code **)(puStack_1170 + -0x605c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_1170 + -0x605c)" (( "(") (binary_expression "puStack_1170 + -0x605c" (identifier "puStack_1170") (+ "+") (number_literal "-0x605c")) () ")"))))) () ")")) (argument_list "((int)pppppbVar14 - (int)pppppbVar5)" (( "(") (binary_expression "(int)pppppbVar14 - (int)pppppbVar5" (cast_expression "(int)pppppbVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppbVar14")) (- "-") (cast_expression "(int)pppppbVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppbVar5"))) () ")")))) (; ";")) (expression_statement "pppppbVar14 = (byte *****)(iVar3 + -1);" (assignment_expression "pppppbVar14 = (byte *****)(iVar3 + -1)" (identifier "pppppbVar14") (= "=") (cast_expression "(byte *****)(iVar3 + -1)" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "(iVar3 + -1)" (( "(") (binary_expression "iVar3 + -1" (identifier "iVar3") (+ "+") (number_literal "-1")) () ")")))) (; ";")) (expression_statement "pcVar16 = *(code **)(puStack_1170 + -0x6338);" (assignment_expression "pcVar16 = *(code **)(puStack_1170 + -0x6338)" (identifier "pcVar16") (= "=") (pointer_expression "*(code **)(puStack_1170 + -0x6338)" (* "*") (cast_expression "(code **)(puStack_1170 + -0x6338)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_1170 + -0x6338)" (( "(") (binary_expression "puStack_1170 + -0x6338" (identifier "puStack_1170") (+ "+") (number_literal "-0x6338")) () ")"))))) (; ";")) (expression_statement "*(undefined1 *)(iVar3 + -1) = 0x2f;" (assignment_expression "*(undefined1 *)(iVar3 + -1) = 0x2f" (pointer_expression "*(undefined1 *)(iVar3 + -1)" (* "*") (cast_expression "(undefined1 *)(iVar3 + -1)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + -1)" (( "(") (binary_expression "iVar3 + -1" (identifier "iVar3") (+ "+") (number_literal "-1")) () ")")))) (= "=") (number_literal "0x2f")) (; ";")) (expression_statement "(*pcVar16)(iStack_111c);" (call_expression "(*pcVar16)(iStack_111c)" (parenthesized_expression "(*pcVar16)" (( "(") (pointer_expression "*pcVar16" (* "*") (identifier "pcVar16")) () ")")) (argument_list "(iStack_111c)" (( "(") (identifier "iStack_111c") () ")"))) (; ";")) (expression_statement "iStack_112c = iStack_1150;" (assignment_expression "iStack_112c = iStack_1150" (identifier "iStack_112c") (= "=") (identifier "iStack_1150")) (; ";")) (expression_statement "ppppbStack_1120 = ppppbStack_1130;" (assignment_expression "ppppbStack_1120 = ppppbStack_1130" (identifier "ppppbStack_1120") (= "=") (identifier "ppppbStack_1130")) (; ";")) (expression_statement "param_3 = pppppbVar5;" (assignment_expression "param_3 = pppppbVar5" (identifier "param_3") (= "=") (identifier "pppppbVar5")) (; ";")) (expression_statement "unaff_s1 = pppppbVar10;" (assignment_expression "unaff_s1 = pppppbVar10" (identifier "unaff_s1") (= "=") (identifier "pppppbVar10")) (; ";")) (expression_statement "pppppbVar13 = pppppbVar12;" (assignment_expression "pppppbVar13 = pppppbVar12" (identifier "pppppbVar13") (= "=") (identifier "pppppbVar12")) (; ";")) (expression_statement "unaff_s6 = unaff_s5;" (assignment_expression "unaff_s6 = unaff_s5" (identifier "unaff_s6") (= "=") (identifier "unaff_s5")) (; ";")) (expression_statement "puVar26 = puVar23;" (assignment_expression "puVar26 = puVar23" (identifier "puVar26") (= "=") (identifier "puVar23")) (; ";")) (expression_statement "iStack_113c = iStack_1154;" (assignment_expression "iStack_113c = iStack_1154" (identifier "iStack_113c") (= "=") (identifier "iStack_1154")) (; ";")) (} "}"))) (if_statement "if (pppppbVar14 == (byte *****)ppppbStack_1168) {\n        pppppbVar14 = (byte *****)&uStack_79;\n        uStack_79 = 0x2f;\n      }" (if "if") (parenthesized_expression "(pppppbVar14 == (byte *****)ppppbStack_1168)" (( "(") (binary_expression "pppppbVar14 == (byte *****)ppppbStack_1168" (identifier "pppppbVar14") (== "==") (cast_expression "(byte *****)ppppbStack_1168" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppbStack_1168"))) () ")")) (compound_statement "{\n        pppppbVar14 = (byte *****)&uStack_79;\n        uStack_79 = 0x2f;\n      }" ({ "{") (expression_statement "pppppbVar14 = (byte *****)&uStack_79;" (assignment_expression "pppppbVar14 = (byte *****)&uStack_79" (identifier "pppppbVar14") (= "=") (cast_expression "(byte *****)&uStack_79" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (pointer_expression "&uStack_79" (& "&") (identifier "uStack_79")))) (; ";")) (expression_statement "uStack_79 = 0x2f;" (assignment_expression "uStack_79 = 0x2f" (identifier "uStack_79") (= "=") (number_literal "0x2f")) (; ";")) (} "}"))) (expression_statement "pppppbVar2 = pppppbVar9;" (assignment_expression "pppppbVar2 = pppppbVar9" (identifier "pppppbVar2") (= "=") (identifier "pppppbVar9")) (; ";")) (if_statement "if (ppppbStack_1134 != ppppbStack_1148) {\n        (**(code **)(puStack_1170 + -0x6044))();\n        pppppbVar2 = pppppbVar9;\n      }" (if "if") (parenthesized_expression "(ppppbStack_1134 != ppppbStack_1148)" (( "(") (binary_expression "ppppbStack_1134 != ppppbStack_1148" (identifier "ppppbStack_1134") (!= "!=") (identifier "ppppbStack_1148")) () ")")) (compound_statement "{\n        (**(code **)(puStack_1170 + -0x6044))();\n        pppppbVar2 = pppppbVar9;\n      }" ({ "{") (expression_statement "(**(code **)(puStack_1170 + -0x6044))();" (call_expression "(**(code **)(puStack_1170 + -0x6044))()" (parenthesized_expression "(**(code **)(puStack_1170 + -0x6044))" (( "(") (pointer_expression "**(code **)(puStack_1170 + -0x6044)" (* "*") (pointer_expression "*(code **)(puStack_1170 + -0x6044)" (* "*") (cast_expression "(code **)(puStack_1170 + -0x6044)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_1170 + -0x6044)" (( "(") (binary_expression "puStack_1170 + -0x6044" (identifier "puStack_1170") (+ "+") (number_literal "-0x6044")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pppppbVar2 = pppppbVar9;" (assignment_expression "pppppbVar2 = pppppbVar9" (identifier "pppppbVar2") (= "=") (identifier "pppppbVar9")) (; ";")) (} "}"))) (expression_statement "param_1 = (byte *****)((byte *)((int)unaff_s1 + (int)unaff_s6) + -(int)pppppbVar14);" (assignment_expression "param_1 = (byte *****)((byte *)((int)unaff_s1 + (int)unaff_s6) + -(int)pppppbVar14)" (identifier "param_1") (= "=") (cast_expression "(byte *****)((byte *)((int)unaff_s1 + (int)unaff_s6) + -(int)pppppbVar14)" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "((byte *)((int)unaff_s1 + (int)unaff_s6) + -(int)pppppbVar14)" (( "(") (binary_expression "(byte *)((int)unaff_s1 + (int)unaff_s6) + -(int)pppppbVar14" (cast_expression "(byte *)((int)unaff_s1 + (int)unaff_s6)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s1 + (int)unaff_s6)" (( "(") (binary_expression "(int)unaff_s1 + (int)unaff_s6" (cast_expression "(int)unaff_s1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s1")) (+ "+") (cast_expression "(int)unaff_s6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s6"))) () ")"))) (+ "+") (unary_expression "-(int)pppppbVar14" (- "-") (cast_expression "(int)pppppbVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppbVar14")))) () ")")))) (; ";")) (if_statement "if ((byte *****)ppppbStack_115c == (byte *****)0x0) {\n        if ((byte *****)ppppbStack_44 == (byte *****)0x0) {\n          pcVar16 = *(code **)(puStack_1170 + -0x6158);\n          ppppbStack_44 = (byte ****)param_1;\n        }\n        else {\n          pcVar16 = *(code **)(puStack_1170 + -0x6158);\n          if (ppppbStack_44 < param_1) goto LAB_000dfda0;\n        }\n        pppppbVar9 = (byte *****)(*pcVar16)(ppppbStack_44);\n        if (pppppbVar9 != (byte *****)0x0) goto LAB_000dfc70;\n      }\n      else {\n        pppppbVar9 = (byte *****)ppppbStack_115c;\n        if (param_1 <= ppppbStack_44) {\nLAB_000dfc70:\n          param_3 = param_1;\n          (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,pppppbVar14);\n          ppppbStack_44 = (byte ****)pppppbVar14;\n          if (unaff_s1 != (byte *****)ppppbStack_1158) {\n            (**(code **)(puStack_1170 + -0x6044))(unaff_s1);\n            ppppbStack_44 = (byte ****)pppppbVar14;\n          }\n          goto LAB_000dfb60;\n        }\nLAB_000dfda0:\n        puVar7 = (undefined4 *)(**(code **)(puStack_1170 + -0x6204))();\n        *puVar7 = 0x22;\n      }" (if "if") (parenthesized_expression "((byte *****)ppppbStack_115c == (byte *****)0x0)" (( "(") (binary_expression "(byte *****)ppppbStack_115c == (byte *****)0x0" (cast_expression "(byte *****)ppppbStack_115c" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppbStack_115c")) (== "==") (cast_expression "(byte *****)0x0" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        if ((byte *****)ppppbStack_44 == (byte *****)0x0) {\n          pcVar16 = *(code **)(puStack_1170 + -0x6158);\n          ppppbStack_44 = (byte ****)param_1;\n        }\n        else {\n          pcVar16 = *(code **)(puStack_1170 + -0x6158);\n          if (ppppbStack_44 < param_1) goto LAB_000dfda0;\n        }\n        pppppbVar9 = (byte *****)(*pcVar16)(ppppbStack_44);\n        if (pppppbVar9 != (byte *****)0x0) goto LAB_000dfc70;\n      }" ({ "{") (if_statement "if ((byte *****)ppppbStack_44 == (byte *****)0x0) {\n          pcVar16 = *(code **)(puStack_1170 + -0x6158);\n          ppppbStack_44 = (byte ****)param_1;\n        }\n        else {\n          pcVar16 = *(code **)(puStack_1170 + -0x6158);\n          if (ppppbStack_44 < param_1) goto LAB_000dfda0;\n        }" (if "if") (parenthesized_expression "((byte *****)ppppbStack_44 == (byte *****)0x0)" (( "(") (binary_expression "(byte *****)ppppbStack_44 == (byte *****)0x0" (cast_expression "(byte *****)ppppbStack_44" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppbStack_44")) (== "==") (cast_expression "(byte *****)0x0" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          pcVar16 = *(code **)(puStack_1170 + -0x6158);\n          ppppbStack_44 = (byte ****)param_1;\n        }" ({ "{") (expression_statement "pcVar16 = *(code **)(puStack_1170 + -0x6158);" (assignment_expression "pcVar16 = *(code **)(puStack_1170 + -0x6158)" (identifier "pcVar16") (= "=") (pointer_expression "*(code **)(puStack_1170 + -0x6158)" (* "*") (cast_expression "(code **)(puStack_1170 + -0x6158)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_1170 + -0x6158)" (( "(") (binary_expression "puStack_1170 + -0x6158" (identifier "puStack_1170") (+ "+") (number_literal "-0x6158")) () ")"))))) (; ";")) (expression_statement "ppppbStack_44 = (byte ****)param_1;" (assignment_expression "ppppbStack_44 = (byte ****)param_1" (identifier "ppppbStack_44") (= "=") (cast_expression "(byte ****)param_1" (( "(") (type_descriptor "byte ****" (type_identifier "byte") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "param_1"))) (; ";")) (} "}")) (else_clause "else {\n          pcVar16 = *(code **)(puStack_1170 + -0x6158);\n          if (ppppbStack_44 < param_1) goto LAB_000dfda0;\n        }" (else "else") (compound_statement "{\n          pcVar16 = *(code **)(puStack_1170 + -0x6158);\n          if (ppppbStack_44 < param_1) goto LAB_000dfda0;\n        }" ({ "{") (expression_statement "pcVar16 = *(code **)(puStack_1170 + -0x6158);" (assignment_expression "pcVar16 = *(code **)(puStack_1170 + -0x6158)" (identifier "pcVar16") (= "=") (pointer_expression "*(code **)(puStack_1170 + -0x6158)" (* "*") (cast_expression "(code **)(puStack_1170 + -0x6158)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_1170 + -0x6158)" (( "(") (binary_expression "puStack_1170 + -0x6158" (identifier "puStack_1170") (+ "+") (number_literal "-0x6158")) () ")"))))) (; ";")) (if_statement "if (ppppbStack_44 < param_1) goto LAB_000dfda0;" (if "if") (parenthesized_expression "(ppppbStack_44 < param_1)" (( "(") (binary_expression "ppppbStack_44 < param_1" (identifier "ppppbStack_44") (< "<") (identifier "param_1")) () ")")) (goto_statement "goto LAB_000dfda0;" (goto "goto") (statement_identifier "LAB_000dfda0") (; ";"))) (} "}")))) (expression_statement "pppppbVar9 = (byte *****)(*pcVar16)(ppppbStack_44);" (assignment_expression "pppppbVar9 = (byte *****)(*pcVar16)(ppppbStack_44)" (identifier "pppppbVar9") (= "=") (cast_expression "(byte *****)(*pcVar16)(ppppbStack_44)" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (call_expression "(*pcVar16)(ppppbStack_44)" (parenthesized_expression "(*pcVar16)" (( "(") (pointer_expression "*pcVar16" (* "*") (identifier "pcVar16")) () ")")) (argument_list "(ppppbStack_44)" (( "(") (identifier "ppppbStack_44") () ")"))))) (; ";")) (if_statement "if (pppppbVar9 != (byte *****)0x0) goto LAB_000dfc70;" (if "if") (parenthesized_expression "(pppppbVar9 != (byte *****)0x0)" (( "(") (binary_expression "pppppbVar9 != (byte *****)0x0" (identifier "pppppbVar9") (!= "!=") (cast_expression "(byte *****)0x0" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000dfc70;" (goto "goto") (statement_identifier "LAB_000dfc70") (; ";"))) (} "}")) (else_clause "else {\n        pppppbVar9 = (byte *****)ppppbStack_115c;\n        if (param_1 <= ppppbStack_44) {\nLAB_000dfc70:\n          param_3 = param_1;\n          (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,pppppbVar14);\n          ppppbStack_44 = (byte ****)pppppbVar14;\n          if (unaff_s1 != (byte *****)ppppbStack_1158) {\n            (**(code **)(puStack_1170 + -0x6044))(unaff_s1);\n            ppppbStack_44 = (byte ****)pppppbVar14;\n          }\n          goto LAB_000dfb60;\n        }\nLAB_000dfda0:\n        puVar7 = (undefined4 *)(**(code **)(puStack_1170 + -0x6204))();\n        *puVar7 = 0x22;\n      }" (else "else") (compound_statement "{\n        pppppbVar9 = (byte *****)ppppbStack_115c;\n        if (param_1 <= ppppbStack_44) {\nLAB_000dfc70:\n          param_3 = param_1;\n          (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,pppppbVar14);\n          ppppbStack_44 = (byte ****)pppppbVar14;\n          if (unaff_s1 != (byte *****)ppppbStack_1158) {\n            (**(code **)(puStack_1170 + -0x6044))(unaff_s1);\n            ppppbStack_44 = (byte ****)pppppbVar14;\n          }\n          goto LAB_000dfb60;\n        }\nLAB_000dfda0:\n        puVar7 = (undefined4 *)(**(code **)(puStack_1170 + -0x6204))();\n        *puVar7 = 0x22;\n      }" ({ "{") (expression_statement "pppppbVar9 = (byte *****)ppppbStack_115c;" (assignment_expression "pppppbVar9 = (byte *****)ppppbStack_115c" (identifier "pppppbVar9") (= "=") (cast_expression "(byte *****)ppppbStack_115c" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppbStack_115c"))) (; ";")) (if_statement "if (param_1 <= ppppbStack_44) {\nLAB_000dfc70:\n          param_3 = param_1;\n          (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,pppppbVar14);\n          ppppbStack_44 = (byte ****)pppppbVar14;\n          if (unaff_s1 != (byte *****)ppppbStack_1158) {\n            (**(code **)(puStack_1170 + -0x6044))(unaff_s1);\n            ppppbStack_44 = (byte ****)pppppbVar14;\n          }\n          goto LAB_000dfb60;\n        }" (if "if") (parenthesized_expression "(param_1 <= ppppbStack_44)" (( "(") (binary_expression "param_1 <= ppppbStack_44" (identifier "param_1") (<= "<=") (identifier "ppppbStack_44")) () ")")) (compound_statement "{\nLAB_000dfc70:\n          param_3 = param_1;\n          (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,pppppbVar14);\n          ppppbStack_44 = (byte ****)pppppbVar14;\n          if (unaff_s1 != (byte *****)ppppbStack_1158) {\n            (**(code **)(puStack_1170 + -0x6044))(unaff_s1);\n            ppppbStack_44 = (byte ****)pppppbVar14;\n          }\n          goto LAB_000dfb60;\n        }" ({ "{") (labeled_statement "LAB_000dfc70:\n          param_3 = param_1;" (statement_identifier "LAB_000dfc70") (: ":") (expression_statement "param_3 = param_1;" (assignment_expression "param_3 = param_1" (identifier "param_3") (= "=") (identifier "param_1")) (; ";"))) (expression_statement "(**(code **)(puStack_1170 + -0x605c))(pppppbVar9,pppppbVar14);" (call_expression "(**(code **)(puStack_1170 + -0x605c))(pppppbVar9,pppppbVar14)" (parenthesized_expression "(**(code **)(puStack_1170 + -0x605c))" (( "(") (pointer_expression "**(code **)(puStack_1170 + -0x605c)" (* "*") (pointer_expression "*(code **)(puStack_1170 + -0x605c)" (* "*") (cast_expression "(code **)(puStack_1170 + -0x605c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_1170 + -0x605c)" (( "(") (binary_expression "puStack_1170 + -0x605c" (identifier "puStack_1170") (+ "+") (number_literal "-0x605c")) () ")"))))) () ")")) (argument_list "(pppppbVar9,pppppbVar14)" (( "(") (identifier "pppppbVar9") (, ",") (identifier "pppppbVar14") () ")"))) (; ";")) (expression_statement "ppppbStack_44 = (byte ****)pppppbVar14;" (assignment_expression "ppppbStack_44 = (byte ****)pppppbVar14" (identifier "ppppbStack_44") (= "=") (cast_expression "(byte ****)pppppbVar14" (( "(") (type_descriptor "byte ****" (type_identifier "byte") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "pppppbVar14"))) (; ";")) (if_statement "if (unaff_s1 != (byte *****)ppppbStack_1158) {\n            (**(code **)(puStack_1170 + -0x6044))(unaff_s1);\n            ppppbStack_44 = (byte ****)pppppbVar14;\n          }" (if "if") (parenthesized_expression "(unaff_s1 != (byte *****)ppppbStack_1158)" (( "(") (binary_expression "unaff_s1 != (byte *****)ppppbStack_1158" (identifier "unaff_s1") (!= "!=") (cast_expression "(byte *****)ppppbStack_1158" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppbStack_1158"))) () ")")) (compound_statement "{\n            (**(code **)(puStack_1170 + -0x6044))(unaff_s1);\n            ppppbStack_44 = (byte ****)pppppbVar14;\n          }" ({ "{") (expression_statement "(**(code **)(puStack_1170 + -0x6044))(unaff_s1);" (call_expression "(**(code **)(puStack_1170 + -0x6044))(unaff_s1)" (parenthesized_expression "(**(code **)(puStack_1170 + -0x6044))" (( "(") (pointer_expression "**(code **)(puStack_1170 + -0x6044)" (* "*") (pointer_expression "*(code **)(puStack_1170 + -0x6044)" (* "*") (cast_expression "(code **)(puStack_1170 + -0x6044)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_1170 + -0x6044)" (( "(") (binary_expression "puStack_1170 + -0x6044" (identifier "puStack_1170") (+ "+") (number_literal "-0x6044")) () ")"))))) () ")")) (argument_list "(unaff_s1)" (( "(") (identifier "unaff_s1") () ")"))) (; ";")) (expression_statement "ppppbStack_44 = (byte ****)pppppbVar14;" (assignment_expression "ppppbStack_44 = (byte ****)pppppbVar14" (identifier "ppppbStack_44") (= "=") (cast_expression "(byte ****)pppppbVar14" (( "(") (type_descriptor "byte ****" (type_identifier "byte") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "pppppbVar14"))) (; ";")) (} "}"))) (goto_statement "goto LAB_000dfb60;" (goto "goto") (statement_identifier "LAB_000dfb60") (; ";")) (} "}"))) (labeled_statement "LAB_000dfda0:\n        puVar7 = (undefined4 *)(**(code **)(puStack_1170 + -0x6204))();" (statement_identifier "LAB_000dfda0") (: ":") (expression_statement "puVar7 = (undefined4 *)(**(code **)(puStack_1170 + -0x6204))();" (assignment_expression "puVar7 = (undefined4 *)(**(code **)(puStack_1170 + -0x6204))()" (identifier "puVar7") (= "=") (cast_expression "(undefined4 *)(**(code **)(puStack_1170 + -0x6204))()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(puStack_1170 + -0x6204))()" (parenthesized_expression "(**(code **)(puStack_1170 + -0x6204))" (( "(") (pointer_expression "**(code **)(puStack_1170 + -0x6204)" (* "*") (pointer_expression "*(code **)(puStack_1170 + -0x6204)" (* "*") (cast_expression "(code **)(puStack_1170 + -0x6204)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_1170 + -0x6204)" (( "(") (binary_expression "puStack_1170 + -0x6204" (identifier "puStack_1170") (+ "+") (number_literal "-0x6204")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";"))) (expression_statement "*puVar7 = 0x22;" (assignment_expression "*puVar7 = 0x22" (pointer_expression "*puVar7" (* "*") (identifier "puVar7")) (= "=") (number_literal "0x22")) (; ";")) (} "}")))) (labeled_statement "LAB_000dfb48:\n      pppppbVar9 = (byte *****)0x0;" (statement_identifier "LAB_000dfb48") (: ":") (expression_statement "pppppbVar9 = (byte *****)0x0;" (assignment_expression "pppppbVar9 = (byte *****)0x0" (identifier "pppppbVar9") (= "=") (cast_expression "(byte *****)0x0" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";"))) (expression_statement "ppppbStack_44 = (byte ****)pppppbVar2;" (assignment_expression "ppppbStack_44 = (byte ****)pppppbVar2" (identifier "ppppbStack_44") (= "=") (cast_expression "(byte ****)pppppbVar2" (( "(") (type_descriptor "byte ****" (type_identifier "byte") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "pppppbVar2"))) (; ";")) (if_statement "if (unaff_s1 == (byte *****)ppppbStack_1158) goto LAB_000dfb60;" (if "if") (parenthesized_expression "(unaff_s1 == (byte *****)ppppbStack_1158)" (( "(") (binary_expression "unaff_s1 == (byte *****)ppppbStack_1158" (identifier "unaff_s1") (== "==") (cast_expression "(byte *****)ppppbStack_1158" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (identifier "ppppbStack_1158"))) () ")")) (goto_statement "goto LAB_000dfb60;" (goto "goto") (statement_identifier "LAB_000dfb60") (; ";"))) (expression_statement "pcVar16 = *(code **)(puStack_1170 + -0x6044);" (assignment_expression "pcVar16 = *(code **)(puStack_1170 + -0x6044)" (identifier "pcVar16") (= "=") (pointer_expression "*(code **)(puStack_1170 + -0x6044)" (* "*") (cast_expression "(code **)(puStack_1170 + -0x6044)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_1170 + -0x6044)" (( "(") (binary_expression "puStack_1170 + -0x6044" (identifier "puStack_1170") (+ "+") (number_literal "-0x6044")) () ")"))))) (; ";")) (expression_statement "pppppbVar10 = unaff_s1;" (assignment_expression "pppppbVar10 = unaff_s1" (identifier "pppppbVar10") (= "=") (identifier "unaff_s1")) (; ";")) (if_statement "if (unaff_s1 != (byte *****)0x0) {\nLAB_000dfcc0:\n        (*pcVar16)(pppppbVar10);\n        unaff_s1 = pppppbVar10;\n      }" (if "if") (parenthesized_expression "(unaff_s1 != (byte *****)0x0)" (( "(") (binary_expression "unaff_s1 != (byte *****)0x0" (identifier "unaff_s1") (!= "!=") (cast_expression "(byte *****)0x0" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_000dfcc0:\n        (*pcVar16)(pppppbVar10);\n        unaff_s1 = pppppbVar10;\n      }" ({ "{") (labeled_statement "LAB_000dfcc0:\n        (*pcVar16)(pppppbVar10);" (statement_identifier "LAB_000dfcc0") (: ":") (expression_statement "(*pcVar16)(pppppbVar10);" (call_expression "(*pcVar16)(pppppbVar10)" (parenthesized_expression "(*pcVar16)" (( "(") (pointer_expression "*pcVar16" (* "*") (identifier "pcVar16")) () ")")) (argument_list "(pppppbVar10)" (( "(") (identifier "pppppbVar10") () ")"))) (; ";"))) (expression_statement "unaff_s1 = pppppbVar10;" (assignment_expression "unaff_s1 = pppppbVar10" (identifier "unaff_s1") (= "=") (identifier "pppppbVar10")) (; ";")) (} "}"))) (} "}"))) (} "}"))) (expression_statement "pppppbVar9 = (byte *****)0x0;" (assignment_expression "pppppbVar9 = (byte *****)0x0" (identifier "pppppbVar9") (= "=") (cast_expression "(byte *****)0x0" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppppbStack_44 = (byte ****)pppppbVar2;" (assignment_expression "ppppbStack_44 = (byte ****)pppppbVar2" (identifier "ppppbStack_44") (= "=") (cast_expression "(byte ****)pppppbVar2" (( "(") (type_descriptor "byte ****" (type_identifier "byte") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (identifier "pppppbVar2"))) (; ";")) (labeled_statement "LAB_000dfb60:\n  pcVar16 = *(code **)(puStack_1170 + -0x60b8);" (statement_identifier "LAB_000dfb60") (: ":") (expression_statement "pcVar16 = *(code **)(puStack_1170 + -0x60b8);" (assignment_expression "pcVar16 = *(code **)(puStack_1170 + -0x60b8)" (identifier "pcVar16") (= "=") (pointer_expression "*(code **)(puStack_1170 + -0x60b8)" (* "*") (cast_expression "(code **)(puStack_1170 + -0x60b8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puStack_1170 + -0x60b8)" (( "(") (binary_expression "puStack_1170 + -0x60b8" (identifier "puStack_1170") (+ "+") (number_literal "-0x60b8")) () ")"))))) (; ";"))) (if_statement "if (iStack_74 == *piStack_1144) {\n    return pppppbVar9;\n  }" (if "if") (parenthesized_expression "(iStack_74 == *piStack_1144)" (( "(") (binary_expression "iStack_74 == *piStack_1144" (identifier "iStack_74") (== "==") (pointer_expression "*piStack_1144" (* "*") (identifier "piStack_1144"))) () ")")) (compound_statement "{\n    return pppppbVar9;\n  }" ({ "{") (return_statement "return pppppbVar9;" (return "return") (identifier "pppppbVar9") (; ";")) (} "}"))) (expression_statement "pcVar27 = zwrite;" (assignment_expression "pcVar27 = zwrite" (identifier "pcVar27") (= "=") (identifier "zwrite")) (; ";")) (expression_statement "iVar3 = iStack_74;" (assignment_expression "iVar3 = iStack_74" (identifier "iVar3") (= "=") (identifier "iStack_74")) (; ";")) (expression_statement "(*pcVar16)();" (call_expression "(*pcVar16)()" (parenthesized_expression "(*pcVar16)" (( "(") (pointer_expression "*pcVar16" (* "*") (identifier "pcVar16")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcVar16 = pcVar16 + 0x6c740;" (assignment_expression "pcVar16 = pcVar16 + 0x6c740" (identifier "pcVar16") (= "=") (binary_expression "pcVar16 + 0x6c740" (identifier "pcVar16") (+ "+") (number_literal "0x6c740"))) (; ";")) (expression_statement "*(byte ******)(puVar26 + -0x10) = pppppbVar13;" (assignment_expression "*(byte ******)(puVar26 + -0x10) = pppppbVar13" (pointer_expression "*(byte ******)(puVar26 + -0x10)" (* "*") (cast_expression "(byte ******)(puVar26 + -0x10)" (( "(") (type_descriptor "byte ******" (type_identifier "byte") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(puVar26 + -0x10)" (( "(") (binary_expression "puVar26 + -0x10" (identifier "puVar26") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "pppppbVar13")) (; ";")) (expression_statement "*(byte ******)(puVar26 + -0x14) = unaff_s3;" (assignment_expression "*(byte ******)(puVar26 + -0x14) = unaff_s3" (pointer_expression "*(byte ******)(puVar26 + -0x14)" (* "*") (cast_expression "(byte ******)(puVar26 + -0x14)" (( "(") (type_descriptor "byte ******" (type_identifier "byte") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(puVar26 + -0x14)" (( "(") (binary_expression "puVar26 + -0x14" (identifier "puVar26") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "unaff_s3")) (; ";")) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" (identifier "iVar6") (= "=") (number_literal "0")) (; ";")) (expression_statement "*(byte ******)(puVar26 + -8) = unaff_s6;" (assignment_expression "*(byte ******)(puVar26 + -8) = unaff_s6" (pointer_expression "*(byte ******)(puVar26 + -8)" (* "*") (cast_expression "(byte ******)(puVar26 + -8)" (( "(") (type_descriptor "byte ******" (type_identifier "byte") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(puVar26 + -8)" (( "(") (binary_expression "puVar26 + -8" (identifier "puVar26") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "unaff_s6")) (; ";")) (expression_statement "*(byte ******)(puVar26 + -0xc) = unaff_s5;" (assignment_expression "*(byte ******)(puVar26 + -0xc) = unaff_s5" (pointer_expression "*(byte ******)(puVar26 + -0xc)" (* "*") (cast_expression "(byte ******)(puVar26 + -0xc)" (( "(") (type_descriptor "byte ******" (type_identifier "byte") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(puVar26 + -0xc)" (( "(") (binary_expression "puVar26 + -0xc" (identifier "puVar26") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "unaff_s5")) (; ";")) (expression_statement "*(byte ******)(puVar26 + -0x18) = pppppbVar9;" (assignment_expression "*(byte ******)(puVar26 + -0x18) = pppppbVar9" (pointer_expression "*(byte ******)(puVar26 + -0x18)" (* "*") (cast_expression "(byte ******)(puVar26 + -0x18)" (( "(") (type_descriptor "byte ******" (type_identifier "byte") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(puVar26 + -0x18)" (( "(") (binary_expression "puVar26 + -0x18" (identifier "puVar26") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (identifier "pppppbVar9")) (; ";")) (expression_statement "*(byte ******)(puVar26 + -0x1c) = unaff_s1;" (assignment_expression "*(byte ******)(puVar26 + -0x1c) = unaff_s1" (pointer_expression "*(byte ******)(puVar26 + -0x1c)" (* "*") (cast_expression "(byte ******)(puVar26 + -0x1c)" (( "(") (type_descriptor "byte ******" (type_identifier "byte") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(puVar26 + -0x1c)" (( "(") (binary_expression "puVar26 + -0x1c" (identifier "puVar26") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (identifier "unaff_s1")) (; ";")) (expression_statement "*(byte ******)(puVar26 + -0x20) = param_1;" (assignment_expression "*(byte ******)(puVar26 + -0x20) = param_1" (pointer_expression "*(byte ******)(puVar26 + -0x20)" (* "*") (cast_expression "(byte ******)(puVar26 + -0x20)" (( "(") (type_descriptor "byte ******" (type_identifier "byte") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "(puVar26 + -0x20)" (( "(") (binary_expression "puVar26 + -0x20" (identifier "puVar26") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (identifier "param_1")) (; ";")) (expression_statement "*(code **)(puVar26 + -0x28) = pcVar16;" (assignment_expression "*(code **)(puVar26 + -0x28) = pcVar16" (pointer_expression "*(code **)(puVar26 + -0x28)" (* "*") (cast_expression "(code **)(puVar26 + -0x28)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + -0x28)" (( "(") (binary_expression "puVar26 + -0x28" (identifier "puVar26") (+ "+") (number_literal "-0x28")) () ")")))) (= "=") (identifier "pcVar16")) (; ";")) (expression_statement "*(code **)(puVar26 + -4) = pcVar27;" (assignment_expression "*(code **)(puVar26 + -4) = pcVar27" (pointer_expression "*(code **)(puVar26 + -4)" (* "*") (cast_expression "(code **)(puVar26 + -4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + -4)" (( "(") (binary_expression "puVar26 + -4" (identifier "puVar26") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "pcVar27")) (; ";")) (expression_statement "pppppbVar9 = param_3;" (assignment_expression "pppppbVar9 = param_3" (identifier "pppppbVar9") (= "=") (identifier "param_3")) (; ";")) (do_statement "do {\n    while( true ) {\n      while( true ) {\n        iVar8 = (**(code **)(pcVar16 + -0x61c0))(iVar3,ppppbStack_44,pppppbVar9);\n        pcVar16 = *(code **)(puVar26 + -0x28);\n        if (iVar8 < 1) break;\n        pppppbVar9 = (byte *****)((int)pppppbVar9 - iVar8);\n        ppppbStack_44 = (byte ****)((int)ppppbStack_44 + iVar8);\n        if ((int)pppppbVar9 < 1) {\n          return param_3;\n        }\n      }\n      if (iVar8 != 0) break;\n      iVar6 = iVar6 + 1;\n      if (3 < iVar6) {\n        return (byte *****)((int)param_3 - (int)pppppbVar9);\n      }\n    }\n    piVar4 = (int *)(**(code **)(pcVar16 + -0x6204))();\n    pcVar16 = *(code **)(puVar26 + -0x28);\n  } while (*piVar4 == 4);" (do "do") (compound_statement "{\n    while( true ) {\n      while( true ) {\n        iVar8 = (**(code **)(pcVar16 + -0x61c0))(iVar3,ppppbStack_44,pppppbVar9);\n        pcVar16 = *(code **)(puVar26 + -0x28);\n        if (iVar8 < 1) break;\n        pppppbVar9 = (byte *****)((int)pppppbVar9 - iVar8);\n        ppppbStack_44 = (byte ****)((int)ppppbStack_44 + iVar8);\n        if ((int)pppppbVar9 < 1) {\n          return param_3;\n        }\n      }\n      if (iVar8 != 0) break;\n      iVar6 = iVar6 + 1;\n      if (3 < iVar6) {\n        return (byte *****)((int)param_3 - (int)pppppbVar9);\n      }\n    }\n    piVar4 = (int *)(**(code **)(pcVar16 + -0x6204))();\n    pcVar16 = *(code **)(puVar26 + -0x28);\n  }" ({ "{") (while_statement "while( true ) {\n      while( true ) {\n        iVar8 = (**(code **)(pcVar16 + -0x61c0))(iVar3,ppppbStack_44,pppppbVar9);\n        pcVar16 = *(code **)(puVar26 + -0x28);\n        if (iVar8 < 1) break;\n        pppppbVar9 = (byte *****)((int)pppppbVar9 - iVar8);\n        ppppbStack_44 = (byte ****)((int)ppppbStack_44 + iVar8);\n        if ((int)pppppbVar9 < 1) {\n          return param_3;\n        }\n      }\n      if (iVar8 != 0) break;\n      iVar6 = iVar6 + 1;\n      if (3 < iVar6) {\n        return (byte *****)((int)param_3 - (int)pppppbVar9);\n      }\n    }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n      while( true ) {\n        iVar8 = (**(code **)(pcVar16 + -0x61c0))(iVar3,ppppbStack_44,pppppbVar9);\n        pcVar16 = *(code **)(puVar26 + -0x28);\n        if (iVar8 < 1) break;\n        pppppbVar9 = (byte *****)((int)pppppbVar9 - iVar8);\n        ppppbStack_44 = (byte ****)((int)ppppbStack_44 + iVar8);\n        if ((int)pppppbVar9 < 1) {\n          return param_3;\n        }\n      }\n      if (iVar8 != 0) break;\n      iVar6 = iVar6 + 1;\n      if (3 < iVar6) {\n        return (byte *****)((int)param_3 - (int)pppppbVar9);\n      }\n    }" ({ "{") (while_statement "while( true ) {\n        iVar8 = (**(code **)(pcVar16 + -0x61c0))(iVar3,ppppbStack_44,pppppbVar9);\n        pcVar16 = *(code **)(puVar26 + -0x28);\n        if (iVar8 < 1) break;\n        pppppbVar9 = (byte *****)((int)pppppbVar9 - iVar8);\n        ppppbStack_44 = (byte ****)((int)ppppbStack_44 + iVar8);\n        if ((int)pppppbVar9 < 1) {\n          return param_3;\n        }\n      }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n        iVar8 = (**(code **)(pcVar16 + -0x61c0))(iVar3,ppppbStack_44,pppppbVar9);\n        pcVar16 = *(code **)(puVar26 + -0x28);\n        if (iVar8 < 1) break;\n        pppppbVar9 = (byte *****)((int)pppppbVar9 - iVar8);\n        ppppbStack_44 = (byte ****)((int)ppppbStack_44 + iVar8);\n        if ((int)pppppbVar9 < 1) {\n          return param_3;\n        }\n      }" ({ "{") (expression_statement "iVar8 = (**(code **)(pcVar16 + -0x61c0))(iVar3,ppppbStack_44,pppppbVar9);" (assignment_expression "iVar8 = (**(code **)(pcVar16 + -0x61c0))(iVar3,ppppbStack_44,pppppbVar9)" (identifier "iVar8") (= "=") (call_expression "(**(code **)(pcVar16 + -0x61c0))(iVar3,ppppbStack_44,pppppbVar9)" (parenthesized_expression "(**(code **)(pcVar16 + -0x61c0))" (( "(") (pointer_expression "**(code **)(pcVar16 + -0x61c0)" (* "*") (pointer_expression "*(code **)(pcVar16 + -0x61c0)" (* "*") (cast_expression "(code **)(pcVar16 + -0x61c0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar16 + -0x61c0)" (( "(") (binary_expression "pcVar16 + -0x61c0" (identifier "pcVar16") (+ "+") (number_literal "-0x61c0")) () ")"))))) () ")")) (argument_list "(iVar3,ppppbStack_44,pppppbVar9)" (( "(") (identifier "iVar3") (, ",") (identifier "ppppbStack_44") (, ",") (identifier "pppppbVar9") () ")")))) (; ";")) (expression_statement "pcVar16 = *(code **)(puVar26 + -0x28);" (assignment_expression "pcVar16 = *(code **)(puVar26 + -0x28)" (identifier "pcVar16") (= "=") (pointer_expression "*(code **)(puVar26 + -0x28)" (* "*") (cast_expression "(code **)(puVar26 + -0x28)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + -0x28)" (( "(") (binary_expression "puVar26 + -0x28" (identifier "puVar26") (+ "+") (number_literal "-0x28")) () ")"))))) (; ";")) (if_statement "if (iVar8 < 1) break;" (if "if") (parenthesized_expression "(iVar8 < 1)" (( "(") (binary_expression "iVar8 < 1" (identifier "iVar8") (< "<") (number_literal "1")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "pppppbVar9 = (byte *****)((int)pppppbVar9 - iVar8);" (assignment_expression "pppppbVar9 = (byte *****)((int)pppppbVar9 - iVar8)" (identifier "pppppbVar9") (= "=") (cast_expression "(byte *****)((int)pppppbVar9 - iVar8)" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "((int)pppppbVar9 - iVar8)" (( "(") (binary_expression "(int)pppppbVar9 - iVar8" (cast_expression "(int)pppppbVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppbVar9")) (- "-") (identifier "iVar8")) () ")")))) (; ";")) (expression_statement "ppppbStack_44 = (byte ****)((int)ppppbStack_44 + iVar8);" (assignment_expression "ppppbStack_44 = (byte ****)((int)ppppbStack_44 + iVar8)" (identifier "ppppbStack_44") (= "=") (cast_expression "(byte ****)((int)ppppbStack_44 + iVar8)" (( "(") (type_descriptor "byte ****" (type_identifier "byte") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "((int)ppppbStack_44 + iVar8)" (( "(") (binary_expression "(int)ppppbStack_44 + iVar8" (cast_expression "(int)ppppbStack_44" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppbStack_44")) (+ "+") (identifier "iVar8")) () ")")))) (; ";")) (if_statement "if ((int)pppppbVar9 < 1) {\n          return param_3;\n        }" (if "if") (parenthesized_expression "((int)pppppbVar9 < 1)" (( "(") (binary_expression "(int)pppppbVar9 < 1" (cast_expression "(int)pppppbVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppbVar9")) (< "<") (number_literal "1")) () ")")) (compound_statement "{\n          return param_3;\n        }" ({ "{") (return_statement "return param_3;" (return "return") (identifier "param_3") (; ";")) (} "}"))) (} "}"))) (if_statement "if (iVar8 != 0) break;" (if "if") (parenthesized_expression "(iVar8 != 0)" (( "(") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar6 = iVar6 + 1;" (assignment_expression "iVar6 = iVar6 + 1" (identifier "iVar6") (= "=") (binary_expression "iVar6 + 1" (identifier "iVar6") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (3 < iVar6) {\n        return (byte *****)((int)param_3 - (int)pppppbVar9);\n      }" (if "if") (parenthesized_expression "(3 < iVar6)" (( "(") (binary_expression "3 < iVar6" (number_literal "3") (< "<") (identifier "iVar6")) () ")")) (compound_statement "{\n        return (byte *****)((int)param_3 - (int)pppppbVar9);\n      }" ({ "{") (return_statement "return (byte *****)((int)param_3 - (int)pppppbVar9);" (return "return") (cast_expression "(byte *****)((int)param_3 - (int)pppppbVar9)" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (parenthesized_expression "((int)param_3 - (int)pppppbVar9)" (( "(") (binary_expression "(int)param_3 - (int)pppppbVar9" (cast_expression "(int)param_3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_3")) (- "-") (cast_expression "(int)pppppbVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppbVar9"))) () ")"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "piVar4 = (int *)(**(code **)(pcVar16 + -0x6204))();" (assignment_expression "piVar4 = (int *)(**(code **)(pcVar16 + -0x6204))()" (identifier "piVar4") (= "=") (cast_expression "(int *)(**(code **)(pcVar16 + -0x6204))()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar16 + -0x6204))()" (parenthesized_expression "(**(code **)(pcVar16 + -0x6204))" (( "(") (pointer_expression "**(code **)(pcVar16 + -0x6204)" (* "*") (pointer_expression "*(code **)(pcVar16 + -0x6204)" (* "*") (cast_expression "(code **)(pcVar16 + -0x6204)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar16 + -0x6204)" (( "(") (binary_expression "pcVar16 + -0x6204" (identifier "pcVar16") (+ "+") (number_literal "-0x6204")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "pcVar16 = *(code **)(puVar26 + -0x28);" (assignment_expression "pcVar16 = *(code **)(puVar26 + -0x28)" (identifier "pcVar16") (= "=") (pointer_expression "*(code **)(puVar26 + -0x28)" (* "*") (cast_expression "(code **)(puVar26 + -0x28)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + -0x28)" (( "(") (binary_expression "puVar26 + -0x28" (identifier "puVar26") (+ "+") (number_literal "-0x28")) () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*piVar4 == 4)" (( "(") (binary_expression "*piVar4 == 4" (pointer_expression "*piVar4" (* "*") (identifier "piVar4")) (== "==") (number_literal "4")) () ")")) (; ";")) (return_statement "return (byte *****)0xffffffff;" (return "return") (cast_expression "(byte *****)0xffffffff" (( "(") (type_descriptor "byte *****" (type_identifier "byte") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))) () ")") (number_literal "0xffffffff")) (; ";")) (} "}")))
(translation_unit (function_definition type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))))))))))) body: (compound_statement (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (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: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (array_declarator declarator: (identifier) size: (number_literal))))))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator 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: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier))))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (number_literal) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (pointer_expression argument: (identifier)))) right: (binary_expression left: (number_literal) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal))))) alternative: (else_clause (compound_statement (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: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal)))))) right: (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 declarator: (abstract_pointer_declarator 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: (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) (identifier) (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (binary_expression left: (identifier) right: (number_literal)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (parenthesized_expression (identifier))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal))))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (identifier))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier)))))) (return_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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier)) (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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: (pointer_expression argument: (identifier)))) consequence: (compound_statement (return_statement (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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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: (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: (identifier)) right: (number_literal))) (goto_statement label: (statement_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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (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 declarator: (abstract_pointer_declarator 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 (number_literal) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (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))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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 (number_literal) (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: (number_literal) right: (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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (while_statement condition: (parenthesized_expression (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (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) (identifier) (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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (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) (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: (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 (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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 (number_literal) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal))))))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression 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 (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list)))))) (expression_statement (assignment_expression left: (identifier) right: (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: (pointer_expression argument: (identifier)) right: (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: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (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 (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (parenthesized_expression (binary_expression left: (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: (unary_expression argument: (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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (labeled_statement label: (statement_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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (do_statement body: (compound_statement (do_statement body: (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: (identifier))) arguments: (argument_list (identifier)))))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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: (pointer_expression argument: (identifier)) right: (identifier))) (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (char_literal (character)))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) right: (number_literal))) consequence: (break_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 (identifier))))))))) condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (binary_expression left: (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier)) right: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier)))))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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: (unary_expression argument: (parenthesized_expression (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (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)))) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (parenthesized_expression (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) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (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) (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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 (number_literal) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (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 declarator: (abstract_pointer_declarator 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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (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: (identifier) right: (identifier))))) condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (while_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (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: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (identifier)))) (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: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier))) right: (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))))))) consequence: (goto_statement label: (statement_identifier))) (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) 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: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) 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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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 (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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))) (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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: (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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (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 (assignment_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (parenthesized_expression (binary_expression left: (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: (unary_expression argument: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) 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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (expression_statement (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 declarator: (abstract_pointer_declarator 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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (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: (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: (identifier)) right: (number_literal)))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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 declarator: (abstract_pointer_declarator 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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (identifier)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) 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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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 declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (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: (identifier))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator 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: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (do_statement body: (compound_statement (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (while_statement condition: (parenthesized_expression (true)) 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 (identifier) (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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 (return_statement (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (return_statement (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))))))) (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: (identifier) right: (number_literal)))))))) condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) (return_statement (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator)))))) value: (number_literal))))))

byte ***** MASKED(byte *****param_1,byte *****param_2,byte *****param_3)

{
  byte bVar1;
  byte *****pppppbVar2;
  int iVar3;
  int *piVar4;
  byte *****pppppbVar5;
  int iVar6;
  undefined4 *puVar7;
  int iVar8;
  byte *****pppppbVar9;
  byte *****unaff_s1;
  byte *****pppppbVar10;
  byte ****ppppbVar11;
  byte *****unaff_s3;
  byte *****pppppbVar12;
  byte *****pppppbVar13;
  byte *****unaff_s5;
  byte *****unaff_s6;
  byte *****pppppbVar14;
  undefined *puVar15;
  code *pcVar16;
  undefined1 *puVar17;
  undefined1 *puVar18;
  undefined1 *puVar24;
  undefined1 *puVar25;
  undefined1 *puVar26;
  code *pcVar27;
  undefined1 auStack_1180 [16];
  undefined *puStack_1170;
  byte ****ppppbStack_1168;
  int iStack_1164;
  int iStack_1160;
  byte ****ppppbStack_115c;
  byte ****ppppbStack_1158;
  int iStack_1154;
  int iStack_1150;
  byte ****ppppbStack_114c;
  byte ****ppppbStack_1148;
  int *piStack_1144;
  byte ****ppppbStack_1140;
  int iStack_113c;
  byte ***pppbStack_1138;
  byte ****ppppbStack_1134;
  byte ****ppppbStack_1130;
  int iStack_112c;
  byte ****ppppbStack_1128;
  byte ****ppppbStack_1124;
  byte ****ppppbStack_1120;
  int iStack_111c;
  byte ****appppbStack_1118 [4];
  int iStack_1108;
  int iStack_1104;
  byte ***apppbStack_1078 [1023];
  undefined1 uStack_79;
  undefined1 auStack_78 [4];
  int iStack_74;
  byte ****ppppbStack_70;
  byte ****ppppbStack_6c;
  byte ****ppppbStack_68;
  byte ****ppppbStack_64;
  undefined *puStack_60;
  byte ****ppppbStack_5c;
  byte ****ppppbStack_44;
  byte ***local_2c;
  undefined4 local_28;
  byte ****local_24;
  undefined1 *puVar19;
  undefined1 *puVar20;
  undefined1 *puVar21;
  undefined1 *puVar22;
  undefined1 *puVar23;
  
  pppppbVar13 = (byte *****)PTR___stack_chk_guard_001464dc;
  pppppbVar9 = (byte *****)PTR_is_basic_table_00144b04;
  local_24 = *(byte *****)PTR___stack_chk_guard_001464dc;
  ppppbStack_44 = (byte ****)param_2;
  if ((*(int *)PTR_locale_utf8locale_00144afc == 0) || (0x7f < (int)param_2)) {
    if ((0x2f < ((uint)param_2 & 0xff)) &&
       (unaff_s5 = (byte *****)&local_2c, 1 < *(int *)PTR_locale_mb_cur_max_00144b00)) {
      local_2c = (byte ***)0x0;
      local_28 = 0;
      unaff_s1 = (byte *****)(*(code *)PTR_strlen_00146390)(param_1);
      pppppbVar2 = param_1;
      if (unaff_s1 == (byte *****)0x0) {
        pppppbVar2 = (byte *****)0x0;
      }
      else {
        do {
          bVar1 = *(byte *)pppppbVar2;
          param_1 = pppppbVar2;
          if ((*(uint *)((int)pppppbVar9 + (uint)(bVar1 >> 5) * 4) >> (bVar1 & 0x1f) & 1) == 0) {
            ppppbStack_44 = (byte ****)pppppbVar2;
            param_3 = unaff_s1;
            iVar3 = (*(code *)PTR_mbrtowc_00146408)(0,pppppbVar2,unaff_s1,unaff_s5);
            if (0xfffffffb < iVar3 - 2U) {
              if ((byte *****)(uint)*(byte *)pppppbVar2 != param_2) goto LAB_000df640;
              goto LAB_000df6f8;
            }
          }
          else {
            if ((byte *****)(uint)bVar1 == param_2) goto LAB_000df6f8;
LAB_000df640:
            iVar3 = 1;
          }
          unaff_s1 = (byte *****)((int)unaff_s1 - iVar3);
          param_1 = (byte *****)((int)pppppbVar2 + iVar3);
          pppppbVar2 = param_1;
        } while (unaff_s1 != (byte *****)0x0);
        pppppbVar2 = (byte *****)0x0;
      }
      goto LAB_000df6f8;
    }
    pppppbVar14 = param_1;
    if ((byte *****)local_24 == *(byte ******)PTR___stack_chk_guard_001464dc) {
                    /* WARNING: Could not recover jumptable at 0x000df6e0. Too many branches */
                    /* WARNING: Treating indirect jump as call */
      pppppbVar9 = (byte *****)(*(code *)PTR_strchr_00146398)(param_1,param_2);
      return pppppbVar9;
    }
  }
  else {
    pppppbVar2 = (byte *****)utf8_MASKED((char *)param_1,(int)param_2);
    pppppbVar9 = unaff_s3;
LAB_000df6f8:
    pppppbVar14 = (byte *****)local_24;
    unaff_s3 = pppppbVar9;
    if (local_24 == *pppppbVar13) {
      return pppppbVar2;
    }
  }
  puVar15 = PTR___stack_chk_fail_00146488;
  (*(code *)PTR___stack_chk_fail_00146488)();
  puStack_1170 = puVar15 + 0x6ce00;
  puVar26 = auStack_1180;
  piStack_1144 = *(int **)(puVar15 + 0x66d9c);
  puStack_60 = (undefined *)pppppbVar13;
  iStack_74 = *piStack_1144;
  ppppbStack_115c = (byte ****)pppppbVar14;
  ppppbStack_70 = (byte ****)param_1;
  ppppbStack_6c = (byte ****)unaff_s1;
  ppppbStack_68 = (byte ****)param_2;
  ppppbStack_64 = (byte ****)unaff_s3;
  ppppbStack_5c = (byte ****)unaff_s5;
  if ((pppppbVar14 != (byte *****)0x0) && ((byte *****)ppppbStack_44 == (byte *****)0x0)) {
    pppppbVar9 = (byte *****)0x0;
    puVar7 = (undefined4 *)(**(code **)(puVar15 + 0x66bfc))();
    *puVar7 = 0x16;
    goto LAB_000dfb60;
  }
  param_3 = appppbStack_1118;
  pppppbVar2 = (byte *****)(*(int *)(puVar15 + 0x64e6c) + -0x7e78);
  auStack_78[0] = 0;
  ppppbStack_1128 = (byte ****)param_3;
  iVar3 = (**(code **)(puVar15 + 0x66af4))(3,pppppbVar2);
  puVar26 = auStack_1180;
  if (-1 < iVar3) {
    ppppbStack_1120 = appppbStack_1118[0];
    pppppbVar9 = (byte *****)(*(int *)(puStack_1170 + -0x7aac) + -0x7ee8);
    iStack_112c = iStack_1108;
    iStack_113c = iStack_1104;
    param_3 = (byte *****)ppppbStack_1128;
    iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,pppppbVar9);
    pppppbVar2 = pppppbVar9;
    puVar26 = auStack_1180;
    if (-1 < iVar3) {
      ppppbStack_1158 = apppbStack_1078;
      pppppbVar14 = (byte *****)auStack_78;
      ppppbStack_114c = appppbStack_1118[0];
      iStack_1160 = iStack_1108;
      ppppbStack_1148 = (byte ****)(*(int *)(puStack_1170 + -0x7f94) + -0x34d0);
      pppbStack_1138 = (byte ***)0x0;
      iStack_1164 = iStack_1104;
      ppppbStack_1140 = (byte ****)0xe0;
      ppppbStack_1124 = (byte ****)(*(int *)(puStack_1170 + -0x7f94) + -0x33ef);
      unaff_s1 = (byte *****)ppppbStack_1158;
      unaff_s6 = (byte *****)0x1001;
      puVar26 = auStack_1180;
      ppppbStack_1168 = (byte ****)pppppbVar14;
      ppppbStack_1134 = ppppbStack_1148;
      while (((ppppbStack_1120 != ppppbStack_114c || (iStack_112c != iStack_1160)) ||
             (iStack_113c != iStack_1164))) {
        pppppbVar12 = pppppbVar13;
        pppppbVar10 = unaff_s1;
        if (ppppbStack_1124 == ppppbStack_1134) {
          param_1 = (byte *****)((int)ppppbStack_1140 * 2);
          pppppbVar2 = (byte *****)((int)param_1 + 1);
          if (ppppbStack_1124 == ppppbStack_1148) {
            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(pppppbVar2);
            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb48;
            (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,ppppbStack_1148,ppppbStack_1140);
          }
          else {
            pppppbVar9 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(ppppbStack_1134);
            puVar24 = puVar26;
            if (pppppbVar9 == (byte *****)0x0) goto LAB_000dfb18;
          }
          pppppbVar12 = (byte *****)ppppbStack_1140;
          unaff_s3 = (byte *****)((int)pppppbVar9 + (int)ppppbStack_1140);
          ppppbStack_1124 = (byte ****)unaff_s3;
          (**(code **)(puStack_1170 + -0x605c))(unaff_s3,pppppbVar9,ppppbStack_1140);
          *(byte *)((int)unaff_s3 + (int)pppppbVar12) = 0;
          ppppbStack_1140 = (byte ****)param_1;
          ppppbStack_1134 = (byte ****)pppppbVar9;
        }
        param_1 = (byte *****)((int)ppppbStack_1124 + -3);
        pppppbVar2 = param_1;
        param_3 = (byte *****)ppppbStack_1128;
        ppppbStack_1124 = (byte ****)param_1;
        iVar3 = (**(code **)(puStack_1170 + -0x630c))(3,param_1);
        pppppbVar13 = pppppbVar12;
        puVar17 = puVar26;
        if (iVar3 < 0) {
LAB_000dfb00:
          puVar26 = puVar17;
          if ((ppppbStack_1134 != ppppbStack_1148) &&
             (puVar24 = puVar17, (byte *****)ppppbStack_1134 != (byte *****)0x0)) {
LAB_000dfb18:
            pcVar16 = *(code **)(puStack_1170 + -0x6204);
            puVar25 = puVar24;
LAB_000dfb1c:
            param_1 = (byte *****)(*pcVar16)();
            ppppbVar11 = *param_1;
            (**(code **)(puStack_1170 + -0x6044))(ppppbStack_1134);
            *param_1 = ppppbVar11;
            unaff_s1 = pppppbVar10;
            puVar26 = puVar25;
          }
          goto LAB_000dfb48;
        }
        ppppbStack_1130 = appppbStack_1118[0];
        iStack_1150 = iStack_1108;
        iStack_1154 = iStack_1104;
        iStack_111c = (**(code **)(puStack_1170 + -0x633c))(param_1);
        if (iStack_111c == 0) goto LAB_000dfb00;
        unaff_s3 = (byte *****)
                   ((byte *)((int)ppppbStack_1134 + (int)ppppbStack_1140) + -(int)param_1);
        unaff_s5 = (byte *****)((int)unaff_s3 + 1);
LAB_000df8ec:
        do {
          pcVar16 = *(code **)(puStack_1170 + -0x62c8);
          do {
            do {
              piVar4 = (int *)(*pcVar16)(iStack_111c);
              while( true ) {
                if (piVar4 == (int *)0x0) {
                  param_1 = (byte *****)(**(code **)(puStack_1170 + -0x6204))();
                  ppppbVar11 = (byte ****)pppbStack_1138;
                  if (*param_1 != (byte ****)0x0) {
                    ppppbVar11 = *param_1;
                  }
                  (**(code **)(puStack_1170 + -0x6338))(iStack_111c);
                  *param_1 = ppppbVar11;
                  pppppbVar13 = pppppbVar12;
                  goto LAB_000dfb00;
                }
                if (*(char *)((int)piVar4 + 0x13) != '.') break;
                pppppbVar2 = (byte *****)0xffff0000;
                if (*(char *)(piVar4 + 5) == '\0') goto LAB_000df8ec;
                if ((piVar4[5] & 0xffff0000U) != 0x2e000000) break;
                piVar4 = (int *)(**(code **)(puStack_1170 + -0x62c8))(iStack_111c);
              }
            } while ((ppppbStack_1120 == ppppbStack_1130) &&
                    ((pcVar16 = *(code **)(puStack_1170 + -0x62c8), *piVar4 != iStack_112c ||
                     (piVar4[1] != iStack_113c))));
            param_1 = (byte *****)((int)piVar4 + 0x13);
            pppppbVar5 = (byte *****)(**(code **)(puStack_1170 + -0x61b0))(param_1);
            iVar3 = -((uint)((byte *)((int)unaff_s5 + (int)pppppbVar5) + 8) & 0xfffffff8);
            puVar18 = puVar17 + iVar3;
            puVar19 = puVar17 + iVar3;
            puVar20 = puVar17 + iVar3;
            puVar25 = puVar17 + iVar3;
            puVar21 = puVar17 + iVar3;
            puVar26 = puVar17 + iVar3;
            puVar22 = puVar17 + iVar3;
            puVar24 = puVar17 + iVar3;
            puVar23 = puVar17 + iVar3;
            pppppbVar12 = (byte *****)(puVar17 + iVar3 + 0x10);
            (**(code **)(puStack_1170 + -0x605c))(pppppbVar12,ppppbStack_1124,unaff_s3);
            puVar15 = puStack_1170;
            *(byte *)((int)pppppbVar12 + (int)unaff_s3) = 0x2f;
            (**(code **)(puVar15 + -0x605c))
                      ((byte *)((int)pppppbVar12 + (int)unaff_s5),param_1,
                       (byte *)((int)pppppbVar5 + 1));
            pppppbVar2 = pppppbVar12;
            param_3 = (byte *****)ppppbStack_1128;
            iVar6 = (**(code **)(puStack_1170 + -0x632c))(3,pppppbVar12);
            if (iVar6 < 0) {
              piVar4 = (int *)(**(code **)(puStack_1170 + -0x6204))();
              pppbStack_1138 = (byte ***)*piVar4;
            }
            pppppbVar13 = (byte *****)ppppbStack_1158;
            pcVar16 = *(code **)(puStack_1170 + -0x62c8);
            puVar17 = puVar17 + iVar3;
          } while ((appppbStack_1118[0] != ppppbStack_1120) ||
                  (puVar17 = puVar18, iStack_1108 != iStack_112c));
          puVar17 = puVar19;
        } while (iStack_1104 != iStack_113c);
        pppppbVar9 = param_1;
        unaff_s3 = (byte *****)((int)pppppbVar14 - (int)unaff_s1);
        unaff_s5 = unaff_s6;
        while (unaff_s3 <= pppppbVar5) {
          unaff_s6 = (byte *****)((int)unaff_s5 << 1);
          ppppbStack_1120 = (byte ****)pppppbVar9;
          if (pppppbVar10 == pppppbVar13) {
            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x6158))(unaff_s6);
            if (unaff_s1 == (byte *****)0x0) {
              pppppbVar9 = (byte *****)0x0;
              ppppbStack_44 = (byte ****)pppppbVar2;
              if ((ppppbStack_1134 == ppppbStack_1148) ||
                 (pppppbVar10 = (byte *****)ppppbStack_1158, puVar26 = puVar22,
                 (byte *****)ppppbStack_1134 == (byte *****)0x0)) goto LAB_000dfb60;
              goto LAB_000dfb18;
            }
          }
          else {
            pppppbVar2 = unaff_s6;
            unaff_s1 = (byte *****)(**(code **)(puStack_1170 + -0x614c))(pppppbVar10,unaff_s6);
            if (unaff_s1 == (byte *****)0x0) {
              pcVar16 = *(code **)(puStack_1170 + -0x6044);
              puVar26 = puVar20;
              if (ppppbStack_1134 == ppppbStack_1148) goto LAB_000dfcc0;
              pcVar16 = *(code **)(puStack_1170 + -0x6204);
              if ((byte *****)ppppbStack_1134 != (byte *****)0x0) goto LAB_000dfb1c;
              pcVar16 = *(code **)(puStack_1170 + -0x6044);
              puVar26 = puVar21;
              goto LAB_000dfcc0;
            }
            pppppbVar14 = (byte *****)((int)unaff_s1 + (int)unaff_s3);
          }
          param_1 = (byte *****)((int)unaff_s5 + (int)unaff_s3);
          param_3 = (byte *****)((int)unaff_s5 - (int)unaff_s3);
          (**(code **)(puStack_1170 + -0x605c))((byte *****)((int)unaff_s1 + (int)param_1));
          pppppbVar9 = (byte *****)ppppbStack_1120;
          pppppbVar12 = pppppbVar13;
          unaff_s3 = param_1;
          pppppbVar2 = pppppbVar14;
          pppppbVar10 = unaff_s1;
          unaff_s5 = unaff_s6;
          pppppbVar14 = (byte *****)((int)unaff_s1 + (int)param_1);
        }
        iVar3 = (**(code **)(puStack_1170 + -0x605c))((int)pppppbVar14 - (int)pppppbVar5);
        pppppbVar14 = (byte *****)(iVar3 + -1);
        pcVar16 = *(code **)(puStack_1170 + -0x6338);
        *(undefined1 *)(iVar3 + -1) = 0x2f;
        (*pcVar16)(iStack_111c);
        iStack_112c = iStack_1150;
        ppppbStack_1120 = ppppbStack_1130;
        param_3 = pppppbVar5;
        unaff_s1 = pppppbVar10;
        pppppbVar13 = pppppbVar12;
        unaff_s6 = unaff_s5;
        puVar26 = puVar23;
        iStack_113c = iStack_1154;
      }
      if (pppppbVar14 == (byte *****)ppppbStack_1168) {
        pppppbVar14 = (byte *****)&uStack_79;
        uStack_79 = 0x2f;
      }
      pppppbVar2 = pppppbVar9;
      if (ppppbStack_1134 != ppppbStack_1148) {
        (**(code **)(puStack_1170 + -0x6044))();
        pppppbVar2 = pppppbVar9;
      }
      param_1 = (byte *****)((byte *)((int)unaff_s1 + (int)unaff_s6) + -(int)pppppbVar14);
      if ((byte *****)ppppbStack_115c == (byte *****)0x0) {
        if ((byte *****)ppppbStack_44 == (byte *****)0x0) {
          pcVar16 = *(code **)(puStack_1170 + -0x6158);
          ppppbStack_44 = (byte ****)param_1;
        }
        else {
          pcVar16 = *(code **)(puStack_1170 + -0x6158);
          if (ppppbStack_44 < param_1) goto LAB_000dfda0;
        }
        pppppbVar9 = (byte *****)(*pcVar16)(ppppbStack_44);
        if (pppppbVar9 != (byte *****)0x0) goto LAB_000dfc70;
      }
      else {
        pppppbVar9 = (byte *****)ppppbStack_115c;
        if (param_1 <= ppppbStack_44) {
LAB_000dfc70:
          param_3 = param_1;
          (**(code **)(puStack_1170 + -0x605c))(pppppbVar9,pppppbVar14);
          ppppbStack_44 = (byte ****)pppppbVar14;
          if (unaff_s1 != (byte *****)ppppbStack_1158) {
            (**(code **)(puStack_1170 + -0x6044))(unaff_s1);
            ppppbStack_44 = (byte ****)pppppbVar14;
          }
          goto LAB_000dfb60;
        }
LAB_000dfda0:
        puVar7 = (undefined4 *)(**(code **)(puStack_1170 + -0x6204))();
        *puVar7 = 0x22;
      }
LAB_000dfb48:
      pppppbVar9 = (byte *****)0x0;
      ppppbStack_44 = (byte ****)pppppbVar2;
      if (unaff_s1 == (byte *****)ppppbStack_1158) goto LAB_000dfb60;
      pcVar16 = *(code **)(puStack_1170 + -0x6044);
      pppppbVar10 = unaff_s1;
      if (unaff_s1 != (byte *****)0x0) {
LAB_000dfcc0:
        (*pcVar16)(pppppbVar10);
        unaff_s1 = pppppbVar10;
      }
    }
  }
  pppppbVar9 = (byte *****)0x0;
  ppppbStack_44 = (byte ****)pppppbVar2;
LAB_000dfb60:
  pcVar16 = *(code **)(puStack_1170 + -0x60b8);
  if (iStack_74 == *piStack_1144) {
    return pppppbVar9;
  }
  pcVar27 = zwrite;
  iVar3 = iStack_74;
  (*pcVar16)();
  pcVar16 = pcVar16 + 0x6c740;
  *(byte ******)(puVar26 + -0x10) = pppppbVar13;
  *(byte ******)(puVar26 + -0x14) = unaff_s3;
  iVar6 = 0;
  *(byte ******)(puVar26 + -8) = unaff_s6;
  *(byte ******)(puVar26 + -0xc) = unaff_s5;
  *(byte ******)(puVar26 + -0x18) = pppppbVar9;
  *(byte ******)(puVar26 + -0x1c) = unaff_s1;
  *(byte ******)(puVar26 + -0x20) = param_1;
  *(code **)(puVar26 + -0x28) = pcVar16;
  *(code **)(puVar26 + -4) = pcVar27;
  pppppbVar9 = param_3;
  do {
    while( true ) {
      while( true ) {
        iVar8 = (**(code **)(pcVar16 + -0x61c0))(iVar3,ppppbStack_44,pppppbVar9);
        pcVar16 = *(code **)(puVar26 + -0x28);
        if (iVar8 < 1) break;
        pppppbVar9 = (byte *****)((int)pppppbVar9 - iVar8);
        ppppbStack_44 = (byte ****)((int)ppppbStack_44 + iVar8);
        if ((int)pppppbVar9 < 1) {
          return param_3;
        }
      }
      if (iVar8 != 0) break;
      iVar6 = iVar6 + 1;
      if (3 < iVar6) {
        return (byte *****)((int)param_3 - (int)pppppbVar9);
      }
    }
    piVar4 = (int *)(**(code **)(pcVar16 + -0x6204))();
    pcVar16 = *(code **)(puVar26 + -0x28);
  } while (*piVar4 == 4);
  return (byte *****)0xffffffff;
}

