
int sqlite3Fts5ExprNew(Fts5Config *pConfig,int iCol,char *zExpr,Fts5Expr **ppNew,char **pzErr)

{
  byte bVar1;
  byte bVar2;
  char ***pppcVar3;
  Fts5ExprNode *pFVar4;
  undefined *puVar5;
  undefined *puVar6;
  sqlite3_context *pCtx;
  fts5yyParser *fts5yypParser;
  int iVar7;
  undefined4 *puVar8;
  undefined *puVar9;
  undefined *puVar10;
  fts5yyStackEntry *pfVar11;
  char cVar14;
  Fts5Global *pGlobal;
  sqlite3 *db;
  char **azArg;
  char *pcVar12;
  sqlite3_context *psVar13;
  code *pcVar15;
  undefined4 *puVar16;
  undefined4 *puVar17;
  u8 *puVar18;
  fts5YYMINORTYPE *pfVar19;
  undefined4 *puVar20;
  sqlite3_context *nArg;
  undefined4 uVar21;
  fts5YYMINORTYPE *fts5yypminor;
  fts5YYMINORTYPE *pfVar22;
  Fts5Config *pFVar23;
  fts5yyStackEntry *unaff_s1;
  fts5YYMINORTYPE *pfVar24;
  fts5yyParser *unaff_s2;
  fts5yyParser *pfVar25;
  int *piVar26;
  fts5yyParser *unaff_s3;
  fts5YYMINORTYPE *unaff_s4;
  int unaff_s5;
  fts5YYMINORTYPE *nArg_00;
  undefined *unaff_s6;
  fts5yyStackEntry *unaff_s7;
  char **ppcVar27;
  fts5yyParser *unaff_s8;
  char *pcVar28;
  char *pcStack_174;
  sqlite3_context *psStack_170;
  sqlite3_context *psStack_16c;
  Fts5Config *pFStack_168;
  int iStack_164;
  Fts5Config *pFStack_160;
  fts5yyStackEntry *pfStack_15c;
  fts5yyParser *pfStack_158;
  fts5yyParser *pfStack_154;
  fts5YYMINORTYPE *pfStack_150;
  int iStack_14c;
  undefined *puStack_148;
  fts5yyStackEntry *pfStack_144;
  fts5yyParser *pfStack_140;
  code *pcStack_13c;
  fts5YYMINORTYPE *pfStack_110;
  fts5YYMINORTYPE fts5yyminorunion;
  Fts5Parse sParse;
  u8 aBareword [128];
  
  puVar6 = PTR___stack_chk_guard_0015ba2c;
  puVar9 = PTR_sqlite3_malloc64_0015b760;
  pfVar19 = (fts5YYMINORTYPE *)0x4bc;
  sParse.pConfig = (Fts5Config *)0x0;
  sParse.zErr = (char *)0x0;
  sParse.rc = 0;
  sParse.nPhrase = 0;
  sParse.apPhrase = (Fts5ExprPhrase **)0x0;
  sParse.pExpr = (Fts5ExprNode *)0x0;
  pCtx = *(sqlite3_context **)PTR___stack_chk_guard_0015ba2c;
  *ppNew = (Fts5Expr *)0x0;
  *pzErr = (char *)0x0;
  fts5yypminor = (fts5YYMINORTYPE *)zExpr;
  pfVar22 = (fts5YYMINORTYPE *)ppNew;
  fts5yypParser = (fts5yyParser *)(*(code *)puVar9)(0);
  puVar9 = PTR_DAT_0015b5fc;
  if (fts5yypParser != (fts5yyParser *)0x0) {
    unaff_s1 = fts5yypParser->fts5yystack;
    fts5yypParser->fts5yystack[0].stateno = '\0';
    puVar10 = PTR_LAB_0015b71c;
    fts5yypParser->fts5yystack[0].major = '\0';
    puVar20 = (undefined4 *)(puVar9 + 0x638);
    fts5yypParser->fts5yystackEnd = fts5yypParser->fts5yystack + 99;
    puVar5 = PTR_DAT_0015b5fc;
    pcVar15 = (code *)(puVar10 + 0x2288);
    fts5yypParser->fts5yytos = unaff_s1;
    puVar16 = (undefined4 *)(puVar9 + 0x6b8);
    sParse.pConfig = pConfig;
    pfStack_110 = (fts5YYMINORTYPE *)zExpr;
LAB_000b2a68:
    do {
      unaff_s4 = (fts5YYMINORTYPE *)zExpr;
      iVar7 = (int)*(char *)unaff_s4;
      if ((iVar7 - 9U & 0xff) < 0x18) {
        puVar18 = aBareword;
        puVar8 = puVar20;
        if ((int)((0x800013U >> (iVar7 - 9U & 0x1f)) << 0x1f) < 0) {
          zExpr = (char *)((int)&(unaff_s4->fts5yy0).p + 1);
          goto LAB_000b2a68;
        }
        do {
          puVar17 = puVar8 + 4;
          *(undefined4 *)puVar18 = *puVar8;
          pfVar22 = (fts5YYMINORTYPE *)puVar8[1];
          uVar21 = puVar8[2];
          *(undefined4 *)(puVar18 + 0xc) = puVar8[3];
          *(fts5YYMINORTYPE **)(puVar18 + 4) = pfVar22;
          *(undefined4 *)(puVar18 + 8) = uVar21;
          puVar8 = puVar17;
          puVar18 = puVar18 + 0x10;
        } while (puVar17 != puVar16);
LAB_000b34f0:
        if (aBareword[iVar7] != '\0') {
LAB_000b2b04:
          pfVar24 = unaff_s4;
          do {
            pfVar24 = (fts5YYMINORTYPE *)((int)&(pfVar24->fts5yy0).p + 1);
            cVar14 = *(char *)pfVar24;
            puVar8 = puVar20;
            puVar18 = aBareword;
            do {
              pfVar22 = (fts5YYMINORTYPE *)*puVar8;
              puVar17 = puVar8 + 4;
              *(fts5YYMINORTYPE **)puVar18 = pfVar22;
              fts5yypminor = (fts5YYMINORTYPE *)puVar8[1];
              pfVar19 = (fts5YYMINORTYPE *)puVar8[2];
              *(undefined4 *)(puVar18 + 0xc) = puVar8[3];
              *(fts5YYMINORTYPE **)(puVar18 + 4) = fts5yypminor;
              *(fts5YYMINORTYPE **)(puVar18 + 8) = pfVar19;
              puVar8 = puVar17;
              puVar18 = puVar18 + 0x10;
            } while (puVar17 != puVar16);
          } while ((cVar14 < 0) || (aBareword[cVar14] != '\0'));
          pfVar24 = (fts5YYMINORTYPE *)((int)pfVar24 - (int)unaff_s4);
          if (pfVar24 == (fts5YYMINORTYPE *)0x2) {
            if ((*(char *)unaff_s4 == 'O') && (*(char *)((int)&(unaff_s4->fts5yy0).p + 1) == 'R')) {
              unaff_s2 = (fts5yyParser *)0x1;
              pfStack_110 = (fts5YYMINORTYPE *)0x2;
            }
            else {
              unaff_s2 = (fts5yyParser *)&DAT_00000009;
              pfStack_110 = (fts5YYMINORTYPE *)0x2;
            }
          }
          else if (pfVar24 == (fts5YYMINORTYPE *)0x3) {
            if ((*(char *)unaff_s4 == 'N') &&
               (pfVar25 = (fts5yyParser *)&DAT_00000009,
               *(char *)((int)&(unaff_s4->fts5yy0).p + 1) == 'O')) {
              if (*(char *)((int)&(unaff_s4->fts5yy0).p + 2) == 'T') {
                pfVar25 = (fts5yyParser *)0x3;
              }
            }
            else {
              pfVar25 = (fts5yyParser *)&DAT_00000009;
            }
            if (((*(char *)unaff_s4 == 'A') && (*(char *)((int)&(unaff_s4->fts5yy0).p + 1) == 'N'))
               && (unaff_s2 = (fts5yyParser *)0x2, *(char *)((int)&(unaff_s4->fts5yy0).p + 2) == 'D'
                  )) {
              pfStack_110 = (fts5YYMINORTYPE *)0x3;
            }
            else {
              pfStack_110 = (fts5YYMINORTYPE *)0x3;
              unaff_s2 = pfVar25;
            }
          }
          else {
            unaff_s2 = (fts5yyParser *)&DAT_00000009;
            pfStack_110 = pfVar24;
          }
          goto LAB_000b2b98;
        }
        pfVar24 = (fts5YYMINORTYPE *)0x1;
        pfVar19 = (fts5YYMINORTYPE *)(PTR_DAT_0015b5fc + -0x70cc);
        fts5yypminor = unaff_s4;
        (*pcVar15)(&sParse);
        unaff_s2 = (fts5yyParser *)0x0;
      }
      else {
        pfVar19 = (fts5YYMINORTYPE *)0x0;
        if (iVar7 == 0x2b) {
          unaff_s2 = (fts5yyParser *)&DAT_0000000e;
          pfStack_110 = (fts5YYMINORTYPE *)0x1;
          pfVar24 = (fts5YYMINORTYPE *)0x1;
        }
        else if (iVar7 < 0x2c) {
          if (iVar7 == 0x28) {
            unaff_s2 = (fts5yyParser *)&DAT_0000000a;
            pfStack_110 = (fts5YYMINORTYPE *)0x1;
            pfVar24 = (fts5YYMINORTYPE *)0x1;
          }
          else if (iVar7 < 0x29) {
            if (iVar7 != 0) {
              pcVar28 = (char *)((int)&(unaff_s4->fts5yy0).p + 1);
              if (iVar7 != 0x22) {
LAB_000b2abc:
                puVar8 = puVar20;
                puVar18 = aBareword;
                do {
                  puVar17 = puVar8 + 4;
                  *(undefined4 *)puVar18 = *puVar8;
                  pfVar22 = (fts5YYMINORTYPE *)puVar8[1];
                  uVar21 = puVar8[2];
                  *(undefined4 *)(puVar18 + 0xc) = puVar8[3];
                  *(fts5YYMINORTYPE **)(puVar18 + 4) = pfVar22;
                  *(undefined4 *)(puVar18 + 8) = uVar21;
                  puVar8 = puVar17;
                  puVar18 = puVar18 + 0x10;
                } while (puVar17 != puVar16);
                if (-1 < iVar7) goto LAB_000b34f0;
                goto LAB_000b2b04;
              }
              cVar14 = *pcVar28;
              if (cVar14 == '\"') goto LAB_000b3320;
              while (pfVar19 = (fts5YYMINORTYPE *)PTR_DAT_0015b5fc, cVar14 != '\0') {
                while( true ) {
                  pcVar28 = pcVar28 + 1;
                  cVar14 = *pcVar28;
                  if (cVar14 != '\"') break;
LAB_000b3320:
                  pcVar12 = pcVar28 + 1;
                  pcVar28 = pcVar28 + 1;
                  if (*pcVar12 != '\"') {
                    pfStack_110 = (fts5YYMINORTYPE *)(pcVar28 + -(int)unaff_s4);
                    unaff_s2 = (fts5yyParser *)&DAT_00000009;
                    pfVar24 = pfStack_110;
                    goto LAB_000b2b98;
                  }
                }
              }
              unaff_s2 = (fts5yyParser *)0x0;
              pfVar24 = (fts5YYMINORTYPE *)0x1;
              pfVar19 = (fts5YYMINORTYPE *)(PTR_DAT_0015b5fc + -0x70e0);
              (*pcVar15)(&sParse);
              goto LAB_000b2ba0;
            }
            unaff_s2 = (fts5yyParser *)0x0;
            pfStack_110 = (fts5YYMINORTYPE *)0x1;
            pfVar24 = (fts5YYMINORTYPE *)0x1;
          }
          else if (iVar7 == 0x29) {
            unaff_s2 = (fts5yyParser *)&DAT_0000000b;
            pfStack_110 = (fts5YYMINORTYPE *)0x1;
            pfVar24 = (fts5YYMINORTYPE *)0x1;
          }
          else {
            unaff_s2 = (fts5yyParser *)0xf;
            if (iVar7 != 0x2a) goto LAB_000b2abc;
            pfStack_110 = (fts5YYMINORTYPE *)0x1;
            pfVar24 = (fts5YYMINORTYPE *)0x1;
          }
        }
        else if (iVar7 == 0x3a) {
          unaff_s2 = (fts5yyParser *)&DAT_00000005;
          pfStack_110 = (fts5YYMINORTYPE *)0x1;
          pfVar24 = (fts5YYMINORTYPE *)0x1;
        }
        else if (iVar7 < 0x3b) {
          if (iVar7 == 0x2c) {
            unaff_s2 = (fts5yyParser *)&DAT_0000000d;
            pfStack_110 = (fts5YYMINORTYPE *)0x1;
            pfVar24 = (fts5YYMINORTYPE *)0x1;
          }
          else {
            unaff_s2 = (fts5yyParser *)&DAT_00000006;
            if (iVar7 != 0x2d) goto LAB_000b2abc;
            pfStack_110 = (fts5YYMINORTYPE *)0x1;
            pfVar24 = (fts5YYMINORTYPE *)0x1;
          }
        }
        else if (iVar7 == 0x7b) {
          unaff_s2 = (fts5yyParser *)&DAT_00000007;
          pfStack_110 = (fts5YYMINORTYPE *)0x1;
          pfVar24 = (fts5YYMINORTYPE *)0x1;
        }
        else if (iVar7 == 0x7d) {
          unaff_s2 = (fts5yyParser *)&DAT_00000008;
          pfStack_110 = (fts5YYMINORTYPE *)0x1;
          pfVar24 = (fts5YYMINORTYPE *)0x1;
        }
        else {
          unaff_s2 = (fts5yyParser *)&DAT_0000000c;
          if (iVar7 != 0x5e) goto LAB_000b2abc;
          pfStack_110 = (fts5YYMINORTYPE *)0x1;
          pfVar24 = (fts5YYMINORTYPE *)0x1;
        }
LAB_000b2b98:
        pfStack_110 = (fts5YYMINORTYPE *)((int)unaff_s4 + (int)pfStack_110);
      }
LAB_000b2ba0:
      unaff_s6 = PTR_DAT_0015b5fc;
      unaff_s7 = fts5yypParser->fts5yytos;
      puVar9 = PTR_DAT_0015b5fc + 0x4920;
      fts5yypParser->pParse = &sParse;
      pFVar23 = (Fts5Config *)(uint)unaff_s7->stateno;
      puVar10 = PTR_DAT_0015b5fc + 0x48fc;
      do {
        pFVar4 = (Fts5ExprNode *)PTR_DAT_0015b5fc;
        if ((Fts5Config *)&DAT_00000022 < pFVar23) goto joined_r0x000b33cc;
        pfVar11 = (fts5yyStackEntry *)
                  ((int)unaff_s2->fts5yystack + ((byte)puVar10[(int)pFVar23] - 8));
        if ((fts5yyStackEntry *)0x78 < pfVar11) goto LAB_000b2c10;
        while( true ) {
          if ((fts5yyParser *)(uint)(byte)puVar9[(int)&pfVar11->stateno] == unaff_s2) {
            pFVar23 = (Fts5Config *)(uint)(byte)(unaff_s6 + 0x499c)[(int)&pfVar11->stateno];
            pFVar4 = (Fts5ExprNode *)PTR_DAT_0015b5fc;
          }
          else {
LAB_000b2c10:
            pFVar23 = (Fts5Config *)(uint)(byte)(puVar5 + 0x48c4)[(int)&pFVar23->db];
            pFVar4 = (Fts5ExprNode *)PTR_DAT_0015b5fc;
          }
joined_r0x000b33cc:
          PTR_DAT_0015b5fc = (undefined *)pFVar4;
          if (pFVar23 < (Fts5Config *)0x53) {
            if (pFVar23 < (Fts5Config *)0x50) {
              fts5yypParser->fts5yytos = unaff_s7 + 1;
              if (fts5yypParser->fts5yystackEnd < unaff_s7 + 1) {
                fts5yypParser->fts5yytos = unaff_s7;
                fts5yyStackOverflow(fts5yypParser);
              }
              else {
                if ((Fts5Config *)&DAT_00000022 < pFVar23) {
                  pFVar23 = (Fts5Config *)((uint)((int)&pFVar23->aPrefix + 3) & 0xff);
                }
                unaff_s7[1].stateno = (uchar)pFVar23;
                unaff_s7[1].major = (uchar)unaff_s2;
                unaff_s7[1].minor.fts5yy11 = (Fts5Colset *)unaff_s4;
                unaff_s7[1].minor.fts5yy0.n = (int)pfVar24;
              }
            }
            else if (pFVar23 == (Fts5Config *)0x51) {
              fts5yypParser->fts5yytos = unaff_s7 + -1;
              pfVar19 = (fts5YYMINORTYPE *)pFVar4;
            }
            else {
              pFVar23 = (Fts5Config *)fts5yypParser->pParse;
              pfVar22 = unaff_s4;
              fts5yyminorunion.fts5yy11 = (Fts5Colset *)unaff_s4;
              fts5yyminorunion.fts5yy0.n = (int)pfVar24;
              (*pcVar15)(pFVar23,&pFVar4[-0x2d2].field_0x24);
              pfVar19 = &fts5yyminorunion;
              fts5yypParser->pParse = (Fts5Parse *)pFVar23;
              fts5yy_destructor(unaff_s2,(uchar)pfVar19,pfVar24);
              fts5yypminor = pfVar24;
            }
            goto LAB_000b2d18;
          }
          pppcVar3 = &pFVar23[-1].azCol;
          pFVar23 = (Fts5Config *)((int)pppcVar3 + 1);
          unaff_s5 = (int)(char)(unaff_s6 + 0x488c)[(int)&pFVar23->db];
          if ((unaff_s5 != 0) || (unaff_s7 < fts5yypParser->fts5yystackEnd)) break;
          fts5yyStackOverflow(fts5yypParser);
          unaff_s7 = fts5yypParser->fts5yytos;
          if (unaff_s7 <= unaff_s1) goto LAB_000b2d18;
          pfVar11 = unaff_s2->fts5yystack + 3;
          pFVar23 = (Fts5Config *)0x0;
        }
        if (pFVar23 < (Fts5Config *)0x1c) {
                    /* WARNING: Could not emulate address calculation at 0x000b2c68 */
                    /* WARNING: Treating indirect jump as call */
          iVar7 = (*(code *)(&_gp + (int)pFVar4[0x59].apChild[(int)((int)pppcVar3 + -2)]))();
          return iVar7;
        }
        fts5yypminor = (fts5YYMINORTYPE *)(unaff_s6 + 0x499c);
        bVar1 = unaff_s7[unaff_s5].stateno;
        pfVar11 = unaff_s7 + unaff_s5 + 1;
        bVar2 = *(byte *)((int)((Fts5ExprNode *)(pFVar4[0x1d1].apChild + -8))->apChild +
                         (int)pppcVar3 + -0x1f);
        fts5yypParser->fts5yytos = pfVar11;
        pfVar11->major = bVar2;
        bVar1 = *(byte *)((uint)bVar2 + (int)*(char *)((int)pFVar4[0x1d2].apChild + (bVar1 - 8)) +
                         (int)fts5yypminor);
        pFVar23 = (Fts5Config *)(uint)bVar1;
        pfVar11->stateno = bVar1;
        unaff_s7 = fts5yypParser->fts5yytos;
        pfVar19 = (fts5YYMINORTYPE *)pFVar4;
      } while (unaff_s1 < unaff_s7);
LAB_000b2d18:
      if ((sParse.rc != 0) || (zExpr = (char *)pfStack_110, unaff_s2 == (fts5yyParser *)0x0))
      goto LAB_000b2d2c;
    } while( true );
  }
  iVar7 = 7;
LAB_000b3294:
  if (pCtx == *(sqlite3_context **)puVar6) {
    return iVar7;
  }
  pcVar15 = fts5ExprFunction;
  puVar9 = PTR___stack_chk_fail_0015ba10;
  (*(code *)PTR___stack_chk_fail_0015ba10)();
  piVar26 = *(int **)(puVar9 + 0xa8234);
  iStack_164 = *piVar26;
  pfVar24 = fts5yypminor;
  pFStack_160 = pConfig;
  pfStack_15c = unaff_s1;
  pfStack_158 = unaff_s2;
  pfStack_154 = unaff_s3;
  pfStack_150 = unaff_s4;
  iStack_14c = unaff_s5;
  puStack_148 = unaff_s6;
  pfStack_144 = unaff_s7;
  pfStack_140 = unaff_s8;
  pcStack_13c = pcVar15;
  pGlobal = (Fts5Global *)(**(code **)(puVar9 + 0xa7ed0))();
  db = (sqlite3 *)(**(code **)(puVar9 + 0xa7ee8))(pCtx);
  psStack_170 = (sqlite3_context *)0x0;
  psStack_16c = (sqlite3_context *)0x0;
  pFStack_168 = (Fts5Config *)0x0;
  if ((int)pfVar19 < 1) {
    if (pfVar22 == (fts5YYMINORTYPE *)0x0) {
      iVar7 = *(int *)(puVar9 + 0xa7e04) + -0x705c;
    }
    else {
      iVar7 = *(int *)(puVar9 + 0xa7e04) + -0x706c;
    }
    nArg = (sqlite3_context *)
           (**(code **)(puVar9 + 0xa7e30))(*(int *)(puVar9 + 0xa7e04) + -0x7048,iVar7);
    pfVar24 = (fts5YYMINORTYPE *)0xffffffff;
    psStack_170 = nArg;
    (**(code **)(puVar9 + 0xa7f78))(pCtx);
    pCtx = psStack_170;
    (**(code **)(puVar9 + 0xa7e28))();
    goto LAB_000b39d4;
  }
  if (pfVar22 == (fts5YYMINORTYPE *)0x0) {
    iVar7 = 1;
    pcStack_174 = (char *)(*(int *)(puVar9 + 0xa7e04) + -0x7050);
LAB_000b38a0:
    nArg_00 = (fts5YYMINORTYPE *)((int)pfVar19 + (3 - iVar7));
    nArg = (sqlite3_context *)((int)nArg_00 * 4);
    azArg = (char **)(**(code **)(puVar9 + 0xa7f68))(0);
    if (azArg == (char **)0x0) {
LAB_000b3a30:
      (**(code **)(puVar9 + 0xa7f8c))();
      goto LAB_000b39d4;
    }
    *azArg = (char *)0x0;
    azArg[1] = (char *)(*(int *)(puVar9 + 0xa7df0) + 0x538c);
    azArg[2] = (char *)(*(int *)(puVar9 + 0xa7e04) + -0x701c);
    if (iVar7 < (int)pfVar19) {
      pcVar28 = (char *)((int)fts5yypminor + iVar7 * 4);
      ppcVar27 = azArg + 3;
      do {
        uVar21 = *(undefined4 *)pcVar28;
        pcVar28 = pcVar28 + 4;
        pcVar12 = (char *)(**(code **)(puVar9 + 0xa7e1c))(uVar21);
        *ppcVar27 = pcVar12;
        ppcVar27 = ppcVar27 + 1;
      } while ((char *)((int)fts5yypminor + (int)pfVar19 * 4) != pcVar28);
    }
  }
  else {
    if ((Fts5ExprNode *)pfVar19 != (Fts5ExprNode *)0x1) {
      iVar7 = 2;
      pcStack_174 = (char *)(**(code **)(puVar9 + 0xa7e1c))((fts5yypminor->fts5yy0).n);
      goto LAB_000b38a0;
    }
    nArg = (sqlite3_context *)&DAT_0000000c;
    azArg = (char **)(**(code **)(puVar9 + 0xa7f68))(0);
    if (azArg == (char **)0x0) goto LAB_000b3a30;
    iVar7 = *(int *)(puVar9 + 0xa7df0);
    nArg_00 = (fts5YYMINORTYPE *)0x3;
    *azArg = (char *)0x0;
    azArg[1] = (char *)(iVar7 + 0x538c);
    pcStack_174 = (char *)(*(int *)(puVar9 + 0xa7e04) + -0x7050);
    azArg[2] = (char *)(*(int *)(puVar9 + 0xa7e04) + -0x701c);
  }
  pfVar19 = (fts5YYMINORTYPE *)(**(code **)(puVar9 + 0xa7e1c))(fts5yypminor->fts5yyinit);
  nArg = (sqlite3_context *)
         sqlite3Fts5ConfigParse(pGlobal,db,(int)nArg_00,azArg,&pFStack_168,(char **)&psStack_170);
  pfVar24 = nArg_00;
  if ((nArg == (sqlite3_context *)0x0) &&
     (nArg = (sqlite3_context *)
             sqlite3Fts5ExprNew(pFStack_168,pFStack_168->nCol,(char *)&pfVar19->fts5yyinit,
                                (Fts5Expr **)&psStack_16c,(char **)&psStack_170), pfVar24 = pfVar19,
     nArg == (sqlite3_context *)0x0)) {
    pfVar24 = (fts5YYMINORTYPE *)psStack_16c->pMem;
    if (*(int *)((int)pfVar24 + 0xc) == 0) {
      psVar13 = (sqlite3_context *)
                (**(code **)(puVar9 + 0xa7e30))(*(int *)(puVar9 + 0xa7df0) + 0x53f4);
      pfVar24 = pfVar19;
    }
    else if (pfVar22 == (fts5YYMINORTYPE *)0x0) {
      psVar13 = (sqlite3_context *)fts5ExprPrint(pFStack_168,(Fts5ExprNode *)&pfVar24->fts5yy0);
      pfVar24 = pfVar19;
    }
    else {
      psVar13 = (sqlite3_context *)
                fts5ExprPrintTcl(pFStack_168,pcStack_174,(Fts5ExprNode *)&pfVar24->fts5yy0);
    }
    if (psVar13 == (sqlite3_context *)0x0) {
      nArg = (sqlite3_context *)&DAT_00000007;
      if (psStack_170 == (sqlite3_context *)0x0) {
        pcVar15 = *(code **)(puVar9 + 0xa7f84);
        goto LAB_000b3b60;
      }
LAB_000b3970:
      pfVar24 = (fts5YYMINORTYPE *)0xffffffff;
      nArg = psStack_170;
      (**(code **)(puVar9 + 0xa7f78))(pCtx);
      (**(code **)(puVar9 + 0xa7e28))(psStack_170);
    }
    else {
      pfVar24 = (fts5YYMINORTYPE *)0xffffffff;
      nArg = psVar13;
      (**(code **)(puVar9 + 0xa7e84))(pCtx,psVar13,0xffffffff,0xffffffff);
      (**(code **)(puVar9 + 0xa7e28))(psVar13);
    }
  }
  else {
    pcVar15 = *(code **)(puVar9 + 0xa7f84);
    if (psStack_170 != (sqlite3_context *)0x0) goto LAB_000b3970;
LAB_000b3b60:
    (*pcVar15)(pCtx);
  }
  (**(code **)(puVar9 + 0xa7e28))(azArg);
  (*(code *)(*(int *)(puVar9 + 0xa7ec8) + -0xe08))(pFStack_168);
  pCtx = psStack_16c;
  if (psStack_16c != (sqlite3_context *)0x0) {
    sqlite3Fts5ExprFree((Fts5Expr *)psStack_16c);
  }
LAB_000b39d4:
  iVar7 = *piVar26;
  if (iStack_164 == iVar7) {
    return iVar7;
  }
  iVar7 = (**(code **)(puVar9 + 0xa8218))();
  fts5ExprFunction(pCtx,(int)nArg,(sqlite3_value **)&pfVar24->fts5yy11,1);
  return iVar7;
LAB_000b2d2c:
  pfVar11 = fts5yypParser->fts5yytos;
  if (unaff_s1 < pfVar11) {
    pFVar23 = (Fts5Config *)(PTR_LAB_0015b6f8 + 0x23c0);
    do {
      pfVar19 = &pfVar11->minor;
      fts5yypParser->fts5yytos = pfVar11 + -1;
      fts5yy_destructor((fts5yyParser *)(uint)pfVar11->major,(uchar)pfVar19,fts5yypminor);
      pfVar11 = fts5yypParser->fts5yytos;
    } while (unaff_s1 < pfVar11);
  }
  (*(code *)PTR_sqlite3_free_0015b620)(fts5yypParser);
  if ((iCol < pConfig->nCol) && (sParse.pExpr != (Fts5ExprNode *)0x0)) {
    if (sParse.rc == 0) {
      pfVar22 = (fts5YYMINORTYPE *)&DAT_00000008;
      fts5yypminor = (fts5YYMINORTYPE *)0x0;
      pfVar24 = (fts5YYMINORTYPE *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&sParse.rc);
      if (pfVar24 != (fts5YYMINORTYPE *)0x0) {
        (pfVar24->fts5yy0).n = iCol;
        pfVar24->fts5yyinit = 1;
        pfVar19 = (fts5YYMINORTYPE *)sParse.pExpr;
        sqlite3Fts5ParseSetColset(&sParse,sParse.pExpr,(Fts5Colset *)&pfVar24->fts5yy0);
        fts5yypminor = pfVar24;
      }
      goto LAB_000b321c;
    }
LAB_000b2da8:
    sqlite3Fts5ParseNodeFree(sParse.pExpr);
  }
  else {
LAB_000b321c:
    if (sParse.rc != 0) goto LAB_000b2da8;
    pFVar23 = (Fts5Config *)(*(code *)PTR_sqlite3_malloc_0015b640)(0x18);
    *ppNew = (Fts5Expr *)pFVar23;
    if (pFVar23 == (Fts5Config *)0x0) {
      sParse.rc = 7;
      goto LAB_000b2da8;
    }
    if (sParse.pExpr == (Fts5ExprNode *)0x0) {
      if (sParse.rc == 0) {
        pfVar22 = (fts5YYMINORTYPE *)&DAT_00000028;
        fts5yypminor = (fts5YYMINORTYPE *)0x0;
        pcVar28 = (char *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&sParse.rc);
        pFVar23->zName = pcVar28;
        if (pcVar28 != (char *)0x0) {
          pcVar28[4] = '\0';
          pcVar28[5] = '\0';
          pcVar28[6] = '\0';
          pcVar28[7] = '\x01';
        }
      }
      else {
        pFVar23->zName = (char *)0x0;
      }
    }
    else {
      pFVar23->zName = (char *)sParse.pExpr;
    }
    pFVar23->db = (sqlite3 *)0x0;
    pFVar23->zDb = (char *)pConfig;
    pFVar23->abUnindexed = (u8 *)sParse.apPhrase;
    pFVar23->azCol = (char **)sParse.nPhrase;
    sParse.apPhrase = (Fts5ExprPhrase **)0x0;
  }
  (*(code *)PTR_sqlite3_free_0015b620)(sParse.apPhrase);
  *pzErr = sParse.zErr;
  iVar7 = sParse.rc;
  pConfig = pFVar23;
  unaff_s3 = unaff_s2;
  unaff_s8 = fts5yypParser;
  goto LAB_000b3294;
}



int FUN_000b2950(byte **param_1,int param_2,byte *param_3,byte *param_4,undefined4 *param_5)

{
  byte bVar1;
  undefined *puVar2;
  undefined *puVar3;
  byte *pbVar4;
  int iVar5;
  undefined4 *puVar6;
  undefined *puVar7;
  undefined *puVar8;
  byte *pbVar9;
  byte **ppbVar10;
  byte bVar12;
  int iVar11;
  code *pcVar13;
  undefined4 *puVar14;
  undefined4 *puVar15;
  char *pcVar16;
  byte **ppbVar17;
  undefined4 *puVar18;
  undefined4 uVar19;
  byte *pbVar20;
  byte *pbVar21;
  byte **ppbVar22;
  byte **ppbVar23;
  byte **unaff_s1;
  byte *pbVar24;
  byte *unaff_s2;
  byte *unaff_s3;
  byte *unaff_s4;
  byte *unaff_s5;
  byte *unaff_s6;
  byte **unaff_s7;
  undefined1 *puVar25;
  byte *unaff_s8;
  undefined1 auStack_138 [24];
  byte *local_110;
  byte *local_cc;
  byte *local_c8;
  byte **local_c4;
  undefined4 local_c0;
  int local_bc;
  byte *local_b8;
  byte *local_b4;
  byte **local_b0;
  char local_ac [4];
  undefined4 local_a8 [31];
  byte *local_2c;
  
  puVar3 = PTR___stack_chk_guard_0015ba2c;
  puVar7 = PTR_sqlite3_malloc64_0015b760;
  ppbVar17 = (byte **)0x4bc;
  local_c4 = (byte **)0x0;
  local_c0 = 0;
  local_bc = 0;
  local_b8 = (byte *)0x0;
  local_b4 = (byte *)0x0;
  local_b0 = (byte **)0x0;
  local_2c = *(byte **)PTR___stack_chk_guard_0015ba2c;
  param_4[0] = 0;
  param_4[1] = 0;
  param_4[2] = 0;
  param_4[3] = 0;
  *param_5 = 0;
  pbVar20 = param_3;
  pbVar21 = param_4;
  pbVar4 = (byte *)(*(code *)puVar7)(0);
  puVar7 = PTR_UINT_0015b5fc;
  if (pbVar4 != (byte *)0x0) {
    unaff_s1 = (byte **)(pbVar4 + 8);
    pbVar4[8] = 0;
    puVar8 = PTR_DAT_0015b71c;
    pbVar4[9] = 0;
    puVar18 = (undefined4 *)(puVar7 + 0x638);
    *(byte **)(pbVar4 + 0x4b8) = pbVar4 + 0x4ac;
    puVar2 = PTR_UINT_0015b5fc;
    pcVar13 = (code *)(puVar8 + 0x2288);
    *(byte ***)pbVar4 = unaff_s1;
    puVar14 = (undefined4 *)(puVar7 + 0x6b8);
    local_c4 = param_1;
    local_110 = param_3;
LAB_000b2a68:
    do {
      unaff_s4 = param_3;
      iVar5 = (int)(char)*unaff_s4;
      if ((iVar5 - 9U & 0xff) < 0x18) {
        pcVar16 = local_ac;
        puVar6 = puVar18;
        if ((int)((0x800013U >> (iVar5 - 9U & 0x1f)) << 0x1f) < 0) {
          param_3 = unaff_s4 + 1;
          goto LAB_000b2a68;
        }
        do {
          puVar15 = puVar6 + 4;
          *(undefined4 *)pcVar16 = *puVar6;
          pbVar21 = (byte *)puVar6[1];
          uVar19 = puVar6[2];
          *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];
          *(byte **)(pcVar16 + 4) = pbVar21;
          *(undefined4 *)(pcVar16 + 8) = uVar19;
          puVar6 = puVar15;
          pcVar16 = pcVar16 + 0x10;
        } while (puVar15 != puVar14);
LAB_000b34f0:
        if (local_ac[iVar5] != '\0') {
LAB_000b2b04:
          pbVar24 = unaff_s4;
          do {
            pbVar24 = pbVar24 + 1;
            bVar12 = *pbVar24;
            puVar6 = puVar18;
            pcVar16 = local_ac;
            do {
              pbVar21 = (byte *)*puVar6;
              puVar15 = puVar6 + 4;
              *(byte **)pcVar16 = pbVar21;
              pbVar20 = (byte *)puVar6[1];
              ppbVar17 = (byte **)puVar6[2];
              *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];
              *(byte **)(pcVar16 + 4) = pbVar20;
              *(byte ***)(pcVar16 + 8) = ppbVar17;
              puVar6 = puVar15;
              pcVar16 = pcVar16 + 0x10;
            } while (puVar15 != puVar14);
          } while (((char)bVar12 < 0) || (local_ac[(char)bVar12] != '\0'));
          pbVar24 = pbVar24 + -(int)unaff_s4;
          if (pbVar24 == &SUB_00000002) {
            if ((*unaff_s4 == 0x4f) && (unaff_s4[1] == 0x52)) {
              unaff_s2 = (byte *)0x1;
              local_110 = &SUB_00000002;
            }
            else {
              unaff_s2 = &DAT_00000009;
              local_110 = &SUB_00000002;
            }
          }
          else if (pbVar24 == (byte *)0x3) {
            if ((*unaff_s4 == 0x4e) && (pbVar9 = &DAT_00000009, unaff_s4[1] == 0x4f)) {
              if (unaff_s4[2] == 0x54) {
                pbVar9 = (byte *)0x3;
              }
            }
            else {
              pbVar9 = &DAT_00000009;
            }
            if (((*unaff_s4 == 0x41) && (unaff_s4[1] == 0x4e)) &&
               (unaff_s2 = &SUB_00000002, unaff_s4[2] == 0x44)) {
              local_110 = (byte *)0x3;
            }
            else {
              local_110 = (byte *)0x3;
              unaff_s2 = pbVar9;
            }
          }
          else {
            unaff_s2 = &DAT_00000009;
            local_110 = pbVar24;
          }
          goto LAB_000b2b98;
        }
        pbVar24 = (byte *)0x1;
        ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70cc);
        pbVar20 = unaff_s4;
        (*pcVar13)(&local_c4);
        unaff_s2 = (byte *)0x0;
      }
      else {
        ppbVar17 = (byte **)0x0;
        if (iVar5 == 0x2b) {
          unaff_s2 = &DAT_0000000e;
          local_110 = (byte *)0x1;
          pbVar24 = (byte *)0x1;
        }
        else if (iVar5 < 0x2c) {
          if (iVar5 == 0x28) {
            unaff_s2 = &DAT_0000000a;
            local_110 = (byte *)0x1;
            pbVar24 = (byte *)0x1;
          }
          else if (iVar5 < 0x29) {
            if (iVar5 != 0) {
              pbVar24 = unaff_s4 + 1;
              if (iVar5 != 0x22) {
LAB_000b2abc:
                puVar6 = puVar18;
                pcVar16 = local_ac;
                do {
                  puVar15 = puVar6 + 4;
                  *(undefined4 *)pcVar16 = *puVar6;
                  pbVar21 = (byte *)puVar6[1];
                  uVar19 = puVar6[2];
                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];
                  *(byte **)(pcVar16 + 4) = pbVar21;
                  *(undefined4 *)(pcVar16 + 8) = uVar19;
                  puVar6 = puVar15;
                  pcVar16 = pcVar16 + 0x10;
                } while (puVar15 != puVar14);
                if (-1 < iVar5) goto LAB_000b34f0;
                goto LAB_000b2b04;
              }
              bVar12 = *pbVar24;
              if (bVar12 == 0x22) goto LAB_000b3320;
              while (ppbVar17 = (byte **)PTR_UINT_0015b5fc, bVar12 != 0) {
                while( true ) {
                  pbVar24 = pbVar24 + 1;
                  bVar12 = *pbVar24;
                  if (bVar12 != 0x22) break;
LAB_000b3320:
                  pbVar9 = pbVar24 + 1;
                  pbVar24 = pbVar24 + 1;
                  if (*pbVar9 != 0x22) {
                    local_110 = pbVar24 + -(int)unaff_s4;
                    unaff_s2 = &DAT_00000009;
                    pbVar24 = local_110;
                    goto LAB_000b2b98;
                  }
                }
              }
              unaff_s2 = (byte *)0x0;
              pbVar24 = (byte *)0x1;
              ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70e0);
              (*pcVar13)(&local_c4);
              goto LAB_000b2ba0;
            }
            unaff_s2 = (byte *)0x0;
            local_110 = (byte *)0x1;
            pbVar24 = (byte *)0x1;
          }
          else if (iVar5 == 0x29) {
            unaff_s2 = &DAT_0000000b;
            local_110 = (byte *)0x1;
            pbVar24 = (byte *)0x1;
          }
          else {
            unaff_s2 = (byte *)0xf;
            if (iVar5 != 0x2a) goto LAB_000b2abc;
            local_110 = (byte *)0x1;
            pbVar24 = (byte *)0x1;
          }
        }
        else if (iVar5 == 0x3a) {
          unaff_s2 = &DAT_00000005;
          local_110 = (byte *)0x1;
          pbVar24 = (byte *)0x1;
        }
        else if (iVar5 < 0x3b) {
          if (iVar5 == 0x2c) {
            unaff_s2 = &DAT_0000000d;
            local_110 = (byte *)0x1;
            pbVar24 = (byte *)0x1;
          }
          else {
            unaff_s2 = &DAT_00000006;
            if (iVar5 != 0x2d) goto LAB_000b2abc;
            local_110 = (byte *)0x1;
            pbVar24 = (byte *)0x1;
          }
        }
        else if (iVar5 == 0x7b) {
          unaff_s2 = &DAT_00000007;
          local_110 = (byte *)0x1;
          pbVar24 = (byte *)0x1;
        }
        else if (iVar5 == 0x7d) {
          unaff_s2 = &DAT_00000008;
          local_110 = (byte *)0x1;
          pbVar24 = (byte *)0x1;
        }
        else {
          unaff_s2 = &DAT_0000000c;
          if (iVar5 != 0x5e) goto LAB_000b2abc;
          local_110 = (byte *)0x1;
          pbVar24 = (byte *)0x1;
        }
LAB_000b2b98:
        local_110 = unaff_s4 + (int)local_110;
      }
LAB_000b2ba0:
      unaff_s6 = PTR_UINT_0015b5fc;
      unaff_s7 = *(byte ***)pbVar4;
      puVar7 = PTR_UINT_0015b5fc + 0x4920;
      *(byte ****)(pbVar4 + 4) = &local_c4;
      ppbVar22 = (byte **)(uint)*(byte *)unaff_s7;
      puVar8 = PTR_UINT_0015b5fc + 0x48fc;
      do {
        ppbVar10 = (byte **)PTR_UINT_0015b5fc;
        if ((byte **)0x22 < ppbVar22) goto joined_r0x000b33cc;
        pbVar9 = unaff_s2 + (byte)puVar8[(int)ppbVar22];
        if ((byte *)0x78 < pbVar9) goto LAB_000b2c10;
        while( true ) {
          if ((byte *)(uint)pbVar9[(int)puVar7] == unaff_s2) {
            ppbVar22 = (byte **)(uint)pbVar9[(int)(unaff_s6 + 0x499c)];
            ppbVar10 = (byte **)PTR_UINT_0015b5fc;
          }
          else {
LAB_000b2c10:
            ppbVar22 = (byte **)(uint)*(byte *)((int)ppbVar22 + (int)(puVar2 + 0x48c4));
            ppbVar10 = (byte **)PTR_UINT_0015b5fc;
          }
joined_r0x000b33cc:
          PTR_UINT_0015b5fc = (undefined *)ppbVar10;
          if (ppbVar22 < (byte **)0x53) {
            if (ppbVar22 < (byte **)0x50) {
              *(byte ***)pbVar4 = unaff_s7 + 3;
              if (*(byte ***)(pbVar4 + 0x4b8) < unaff_s7 + 3) {
                *(byte ***)pbVar4 = unaff_s7;
                FUN_000b2444(pbVar4);
              }
              else {
                if ((byte **)0x22 < ppbVar22) {
                  ppbVar22 = (byte **)((uint)((int)ppbVar22 + 0x1f) & 0xff);
                }
                *(byte *)(unaff_s7 + 3) = (byte)ppbVar22;
                *(byte *)((int)unaff_s7 + 0xd) = (byte)unaff_s2;
                unaff_s7[4] = unaff_s4;
                unaff_s7[5] = pbVar24;
              }
            }
            else if (ppbVar22 == (byte **)0x51) {
              *(byte ***)pbVar4 = unaff_s7 + -3;
              ppbVar17 = ppbVar10;
            }
            else {
              ppbVar22 = *(byte ***)(pbVar4 + 4);
              pbVar21 = unaff_s4;
              local_cc = unaff_s4;
              local_c8 = pbVar24;
              (*pcVar13)(ppbVar22,ppbVar10 + -0x1c2b);
              ppbVar17 = &local_cc;
              *(byte ***)(pbVar4 + 4) = ppbVar22;
              FUN_000b23c0(unaff_s2);
              pbVar20 = pbVar24;
            }
            goto LAB_000b2d18;
          }
          ppbVar23 = (byte **)((int)ppbVar22 + -0x53);
          unaff_s5 = (byte *)(int)(char)*(byte *)((int)ppbVar23 + (int)(unaff_s6 + 0x488c));
          if ((unaff_s5 != (byte *)0x0) || (unaff_s7 < *(byte ***)(pbVar4 + 0x4b8))) break;
          FUN_000b2444(pbVar4);
          unaff_s7 = *(byte ***)pbVar4;
          ppbVar22 = ppbVar23;
          if (unaff_s7 <= unaff_s1) goto LAB_000b2d18;
          pbVar9 = unaff_s2 + 0x2c;
          ppbVar22 = (byte **)0x0;
        }
        if (ppbVar23 < (byte **)0x1c) {
                    /* WARNING: Could not emulate address calculation at 0x000b2c68 */
                    /* WARNING: Treating indirect jump as call */
          iVar5 = (*(code *)(&_gp_1 + (int)ppbVar10[(int)(ppbVar22 + 0xcb)]))();
          return iVar5;
        }
        pbVar20 = unaff_s6 + 0x499c;
        bVar12 = *(byte *)(unaff_s7 + (int)unaff_s5 * 3);
        ppbVar17 = unaff_s7 + (int)unaff_s5 * 3 + 3;
        bVar1 = *(byte *)((int)(ppbVar10 + 0x122a) + (int)ppbVar23);
        *(byte ***)pbVar4 = ppbVar17;
        *(byte *)((int)ppbVar17 + 1) = bVar1;
        ppbVar22 = (byte **)(uint)pbVar20[(uint)bVar1 +
                                          (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)];
        *(byte *)ppbVar17 =
             pbVar20[(uint)bVar1 + (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)];
        unaff_s7 = *(byte ***)pbVar4;
        ppbVar17 = ppbVar10;
      } while (unaff_s1 < unaff_s7);
LAB_000b2d18:
      if ((local_bc != 0) || (param_3 = local_110, unaff_s2 == (byte *)0x0)) goto LAB_000b2d2c;
    } while( true );
  }
  iVar5 = 7;
  goto LAB_000b3294;
LAB_000b2d2c:
  ppbVar10 = *(byte ***)pbVar4;
  if (unaff_s1 < ppbVar10) {
    ppbVar22 = (byte **)(PTR_LAB_0015b6f8 + 0x23c0);
    do {
      ppbVar17 = ppbVar10 + 1;
      *(byte ***)pbVar4 = ppbVar10 + -3;
      FUN_000b23c0(*(byte *)((int)ppbVar10 + 1));
      ppbVar10 = *(byte ***)pbVar4;
    } while (unaff_s1 < ppbVar10);
  }
  (*(code *)PTR_sqlite3_free_0015b620)(pbVar4);
  if ((param_2 < (int)param_1[3]) && (local_b0 != (byte **)0x0)) {
    if (local_bc == 0) {
      pbVar21 = &DAT_00000008;
      pbVar20 = (byte *)0x0;
      pbVar24 = (byte *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc);
      if (pbVar24 != (byte *)0x0) {
        *(int *)(pbVar24 + 4) = param_2;
        pbVar24[0] = 0;
        pbVar24[1] = 0;
        pbVar24[2] = 0;
        pbVar24[3] = 1;
        ppbVar17 = local_b0;
        FUN_000970a0(&local_c4);
        pbVar20 = pbVar24;
      }
      goto LAB_000b321c;
    }
LAB_000b2da8:
    FUN_000b1f34(local_b0);
  }
  else {
LAB_000b321c:
    if (local_bc != 0) goto LAB_000b2da8;
    ppbVar22 = (byte **)(*(code *)PTR_sqlite3_malloc_0015b640)(0x18);
    *(byte ***)param_4 = ppbVar22;
    if (ppbVar22 == (byte **)0x0) {
      local_bc = 7;
      goto LAB_000b2da8;
    }
    if (local_b0 == (byte **)0x0) {
      if (local_bc == 0) {
        pbVar21 = &DAT_00000028;
        pbVar20 = (byte *)0x0;
        pbVar24 = (byte *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc);
        ppbVar22[2] = pbVar24;
        if (pbVar24 != (byte *)0x0) {
          pbVar24[4] = 0;
          pbVar24[5] = 0;
          pbVar24[6] = 0;
          pbVar24[7] = 1;
        }
      }
      else {
        ppbVar22[2] = (byte *)0x0;
      }
    }
    else {
      ppbVar22[2] = (byte *)local_b0;
    }
    *ppbVar22 = (byte *)0x0;
    ppbVar22[1] = (byte *)param_1;
    ppbVar22[5] = local_b4;
    ppbVar22[4] = local_b8;
    local_b4 = (byte *)0x0;
  }
  (*(code *)PTR_sqlite3_free_0015b620)(local_b4);
  *param_5 = local_c0;
  iVar5 = local_bc;
  param_1 = ppbVar22;
  unaff_s3 = unaff_s2;
  unaff_s8 = pbVar4;
LAB_000b3294:
  if (local_2c == *(byte **)puVar3) {
    return iVar5;
  }
  uVar19 = 0xb37f8;
  pbVar4 = local_2c;
  puVar7 = PTR___stack_chk_fail_0015ba10;
  (*(code *)PTR___stack_chk_fail_0015ba10)();
  puVar25 = auStack_138;
  do {
    pbVar9 = pbVar21;
    pbVar24 = pbVar4;
    pcVar13 = *(code **)(puVar7 + 0xa7ed0);
    *(byte **)(puVar25 + -0x20) = unaff_s2;
    *(undefined **)(puVar25 + -0x50) = puVar7 + 0xafdb8;
    *(undefined4 *)(puVar25 + -4) = uVar19;
    *(byte ***)(puVar25 + -0xc) = unaff_s7;
    *(byte **)(puVar25 + -0x10) = unaff_s6;
    *(byte **)(puVar25 + -0x18) = unaff_s4;
    *(byte **)(puVar25 + -0x1c) = unaff_s3;
    *(byte **)(puVar25 + -8) = unaff_s8;
    *(byte **)(puVar25 + -0x14) = unaff_s5;
    *(byte ***)(puVar25 + -0x24) = unaff_s1;
    *(byte ***)(puVar25 + -0x28) = param_1;
    unaff_s2 = *(byte **)(puVar7 + 0xa8234);
    *(undefined4 *)(puVar25 + -0x2c) = *(undefined4 *)unaff_s2;
    pbVar21 = pbVar20;
    uVar19 = (*pcVar13)();
    pcVar13 = *(code **)(*(int *)(puVar25 + -0x50) + -0x7ed0);
    *(undefined4 *)(puVar25 + -0x44) = uVar19;
    uVar19 = (*pcVar13)(pbVar24);
    iVar5 = *(int *)(puVar25 + -0x50);
    *(undefined4 *)(puVar25 + -0x40) = uVar19;
    *(undefined4 *)(puVar25 + -0x38) = 0;
    *(undefined4 *)(puVar25 + -0x34) = 0;
    *(undefined4 *)(puVar25 + -0x30) = 0;
    unaff_s3 = pbVar20;
    unaff_s7 = ppbVar17;
    if ((int)ppbVar17 < 1) {
      if (pbVar9 == (byte *)0x0) {
        iVar11 = *(int *)(iVar5 + -0x7fb4) + -0x705c;
      }
      else {
        iVar11 = *(int *)(iVar5 + -0x7fb4) + -0x706c;
      }
      ppbVar22 = (byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fb4) + -0x7048,iVar11)
      ;
      pbVar21 = (byte *)0xffffffff;
      *(byte ***)(puVar25 + -0x38) = ppbVar22;
      (**(code **)(*(int *)(puVar25 + -0x50) + -0x7e40))(pbVar24);
      pbVar4 = *(byte **)(puVar25 + -0x38);
      (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))();
      iVar5 = *(int *)(puVar25 + -0x50);
    }
    else {
      if (pbVar9 == (byte *)0x0) {
        param_1 = (byte **)0x1;
        *(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050;
LAB_000b38a0:
        unaff_s5 = (byte *)((int)ppbVar17 + (3 - (int)param_1));
        ppbVar22 = (byte **)((int)unaff_s5 * 4);
        unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0);
        iVar5 = *(int *)(puVar25 + -0x50);
        if (unaff_s1 == (byte **)0x0) {
LAB_000b3a30:
          pbVar4 = pbVar24;
          (**(code **)(iVar5 + -0x7e2c))();
          iVar5 = *(int *)(puVar25 + -0x50);
          goto LAB_000b39d4;
        }
        *unaff_s1 = (byte *)0x0;
        unaff_s1[1] = (byte *)(*(int *)(iVar5 + -0x7fc8) + 0x538c);
        unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c);
        if ((int)param_1 < (int)ppbVar17) {
          unaff_s8 = pbVar20 + (int)param_1 * 4;
          iVar11 = (int)ppbVar17 * 4;
          ppbVar22 = unaff_s1 + 3;
          do {
            ppbVar17 = ppbVar22 + 1;
            uVar19 = *(undefined4 *)unaff_s8;
            unaff_s8 = unaff_s8 + 4;
            pbVar21 = (byte *)(**(code **)(iVar5 + -0x7f9c))(uVar19);
            iVar5 = *(int *)(puVar25 + -0x50);
            *ppbVar22 = pbVar21;
            ppbVar22 = ppbVar17;
          } while (pbVar20 + iVar11 != unaff_s8);
        }
      }
      else {
        if (ppbVar17 != (byte **)0x1) {
          param_1 = (byte **)&SUB_00000002;
          uVar19 = (**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)(pbVar20 + 4));
          iVar5 = *(int *)(puVar25 + -0x50);
          *(undefined4 *)(puVar25 + -0x3c) = uVar19;
          goto LAB_000b38a0;
        }
        ppbVar22 = (byte **)&DAT_0000000c;
        unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0);
        iVar5 = *(int *)(puVar25 + -0x50);
        if (unaff_s1 == (byte **)0x0) goto LAB_000b3a30;
        iVar11 = *(int *)(iVar5 + -0x7fc8);
        unaff_s5 = (byte *)0x3;
        *unaff_s1 = (byte *)0x0;
        unaff_s1[1] = (byte *)(iVar11 + 0x538c);
        *(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050;
        unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c);
      }
      param_1 = (byte **)(puVar25 + -0x38);
      unaff_s3 = (byte *)(**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)pbVar20);
      *(byte ***)(puVar25 + -0x54) = param_1;
      *(undefined1 **)(puVar25 + -0x58) = puVar25 + -0x30;
      pbVar21 = unaff_s5;
      ppbVar22 = (byte **)FUN_000961e8(*(undefined4 *)(puVar25 + -0x44),
                                       *(undefined4 *)(puVar25 + -0x40),unaff_s5,unaff_s1);
      iVar5 = *(int *)(puVar25 + -0x50);
      if (ppbVar22 == (byte **)0x0) {
        uVar19 = *(undefined4 *)(*(int *)(puVar25 + -0x30) + 0xc);
        *(byte ***)(puVar25 + -0x58) = param_1;
        pbVar20 = unaff_s3;
        ppbVar22 = (byte **)FUN_000b2950(*(int *)(puVar25 + -0x30),uVar19,unaff_s3,puVar25 + -0x34);
        iVar5 = *(int *)(puVar25 + -0x50);
        pbVar21 = pbVar20;
        if (ppbVar22 != (byte **)0x0) goto LAB_000b3964;
        pbVar21 = *(byte **)(*(int *)(puVar25 + -0x34) + 8);
        if (*(int *)(pbVar21 + 0xc) == 0) {
          param_1 = (byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fc8) + 0x53f4);
          iVar5 = *(int *)(puVar25 + -0x50);
LAB_000b3aa4:
          ppbVar10 = *(byte ***)(puVar25 + -0x38);
          pbVar21 = pbVar20;
          if (param_1 != (byte **)0x0) goto LAB_000b3aac;
LAB_000b3b54:
          ppbVar22 = (byte **)&DAT_00000007;
          if (ppbVar10 == (byte **)0x0) {
            pcVar13 = *(code **)(iVar5 + -0x7e34);
            goto LAB_000b3b60;
          }
          goto LAB_000b3970;
        }
        if (pbVar9 == (byte *)0x0) {
          param_1 = (byte **)FUN_00097660();
          iVar5 = *(int *)(puVar25 + -0x50);
          goto LAB_000b3aa4;
        }
        param_1 = (byte **)FUN_00097234(*(undefined4 *)(puVar25 + -0x30),
                                        *(undefined4 *)(puVar25 + -0x3c));
        iVar5 = *(int *)(puVar25 + -0x50);
        if (param_1 == (byte **)0x0) {
          ppbVar10 = *(byte ***)(puVar25 + -0x38);
          goto LAB_000b3b54;
        }
LAB_000b3aac:
        pbVar21 = (byte *)0xffffffff;
        ppbVar22 = param_1;
        (**(code **)(iVar5 + -0x7f34))(pbVar24,param_1,0xffffffff,0xffffffff);
        (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(param_1);
        iVar5 = *(int *)(puVar25 + -0x50);
      }
      else {
LAB_000b3964:
        ppbVar10 = *(byte ***)(puVar25 + -0x38);
        pcVar13 = *(code **)(iVar5 + -0x7e34);
        if (ppbVar10 == (byte **)0x0) {
LAB_000b3b60:
          (*pcVar13)(pbVar24);
          iVar5 = *(int *)(puVar25 + -0x50);
        }
        else {
LAB_000b3970:
          pbVar21 = (byte *)0xffffffff;
          (**(code **)(iVar5 + -0x7e40))(pbVar24);
          (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(*(undefined4 *)(puVar25 + -0x38));
          iVar5 = *(int *)(puVar25 + -0x50);
          ppbVar22 = ppbVar10;
        }
      }
      (**(code **)(iVar5 + -0x7f90))(unaff_s1);
      (*(code *)(*(int *)(*(int *)(puVar25 + -0x50) + -0x7ef0) + -0xe08))
                (*(undefined4 *)(puVar25 + -0x30));
      pbVar4 = *(byte **)(puVar25 + -0x34);
      iVar5 = *(int *)(puVar25 + -0x50);
      unaff_s7 = ppbVar17;
      if (pbVar4 != (byte *)0x0) {
        FUN_000b1fe4();
        iVar5 = *(int *)(puVar25 + -0x50);
      }
    }
LAB_000b39d4:
    if (*(int *)(puVar25 + -0x2c) == *(int *)unaff_s2) {
      return *(int *)unaff_s2;
    }
    pcVar13 = *(code **)(iVar5 + -0x7ba0);
    uVar19 = 0xb3bf0;
    (*pcVar13)();
    puVar7 = (undefined *)(*(int *)(pcVar13 + 0xa7b08) + 0x37f8);
    ppbVar17 = ppbVar22;
    pbVar20 = pbVar21;
    pbVar21 = (byte *)0x1;
    unaff_s4 = pbVar24;
    unaff_s6 = pbVar9;
    puVar25 = puVar25 + -0x68;
  } while( true );
}


lui gp,0xb
addiu gp,gp,0xc60
addu gp,gp,t9
addiu sp,sp,-0x138
lw v0,-0x7b84(gp)
lw t9,-0x7e50(gp)
addiu v1,sp,0x74
lw t0,0x148(sp)
sw gp,0x18(sp)
sw s0,0x110(sp)
or s0,a0,zero
sw ra,0x134(sp)
sw s8,0x130(sp)
sw s7,0x12c(sp)
sw s6,0x128(sp)
sw s5,0x124(sp)
sw s4,0x120(sp)
sw s3,0x11c(sp)
sw s2,0x118(sp)
sw s1,0x114(sp)
sw v0,0x54(sp)
sw a0,0x50(sp)
or a0,zero,zero
sw a1,0x13c(sp)
li a1,0x4bc
sw t0,0x58(sp)
sw v1,0x40(sp)
sw a3,0x64(sp)
sw zero,0x74(sp)
sw a2,0x28(sp)
sw zero,0x78(sp)
sw zero,0x7c(sp)
sw zero,0x80(sp)
sw zero,0x84(sp)
sw zero,0x88(sp)
lw v0,0x0(v0)
sw zero,0x0(a3)
sw zero,0x0(t0)
sw v0,0x10c(sp)
jalr t9
_nop
beq v0,zero,0x000b36c8
_lw gp,0x18(sp)
lw v1,-0x7fb4(gp)
or s8,v0,zero
addiu a0,v0,0x8
addiu v0,v0,0x4ac
sh zero,0x8(s8)
addiu a1,v1,0x638
lw v1,-0x7e94(gp)
sw v0,0x4b8(s8)
lw v0,-0x7fb4(gp)
addiu v1,v1,0x2288
sw a0,0x0(s8)
sw a0,0x24(sp)
sw v1,0x48(sp)
addiu v0,v0,0x48c4
addiu v1,a1,0x80
sw a1,0x4c(sp)
sw v0,0x44(sp)
sw v1,0x38(sp)
sw s0,0x74(sp)
lui a0,0x80
lw s4,0x28(sp)
b 0x000b2a68
_addiu a0,a0,0x13
ext v1,v1,0x0,0x1
beq v1,zero,0x000b34b0
_addiu t1,sp,0x8c
addiu s4,s4,0x1
lb v0,0x0(s4)
addiu v1,v0,-0x9
andi v1,v1,0xff
sltiu a1,v1,0x18
bne a1,zero,0x000b2a58
_srlv v1,a0,v1
li v1,0x2b
beq v0,v1,0x000b3524
_slti v1,v0,0x2c
bne v1,zero,0x000b32d4
_li v1,0x3a
beq v0,v1,0x000b349c
_slti v1,v0,0x3b
bne v1,zero,0x000b3374
_li v1,0x7b
beq v0,v1,0x000b3474
_li v1,0x7d
beq v0,v1,0x000b3398
_li v1,0x5e
beq v0,v1,0x000b2c7c
_li s3,0xc
addiu t1,sp,0x8c
lw v1,0x4c(sp)
or a0,t1,zero
lw t0,0x0(v1)
addiu v1,v1,0x10
addiu a0,a0,0x10
sw t0,-0x10(a0)
lw a1,-0x4(v1)
lw a3,-0xc(v1)
lw a2,-0x8(v1)
sw a1,-0x4(a0)
sw a3,-0xc(a0)
sw a2,-0x8(a0)
lw a1,0x38(sp)
bne v1,a1,0x000b2ac8
_nop
bgez v0,0x000b34f0
_addiu v1,sp,0x110
addiu s1,s4,0x1
lb t0,0x0(s1)
or v1,t1,zero
lw v0,0x4c(sp)
lw a3,0x0(v0)
addiu v0,v0,0x10
addiu v1,v1,0x10
sw a3,-0x10(v1)
lw a0,-0x4(v0)
lw a2,-0xc(v0)
lw a1,-0x8(v0)
sw a0,-0x4(v1)
sw a2,-0xc(v1)
sw a1,-0x8(v1)
lw a0,0x38(sp)
bne v0,a0,0x000b2b14
_nop
bltz t0,0x000b3608
_addiu v0,sp,0x110
addu t0,v0,t0
lbu v0,-0x84(t0)
bne v0,zero,0x000b3608
_li v0,0x2
subu s1,s1,s4
beq s1,v0,0x000b3750
_li v0,0x3
bne s1,v0,0x000b36f4
_li v1,0x4e
lbu v0,0x0(s4)
beq v0,v1,0x000b3704
_li v1,0x4f
li s2,0x9
li v1,0x41
beq v0,v1,0x000b3728
_li v0,0x4e
li v0,0x3
andi s3,s2,0xff
addu v0,s4,v0
sw v0,0x28(sp)
lw v0,-0x7fb4(gp)
lw s7,0x0(s8)
lw s6,-0x7fb4(gp)
sw v0,0x34(sp)
lw v0,-0x7fb4(gp)
sw s1,0x3c(sp)
addiu v0,v0,0x4920
sw v0,0x2c(sp)
lw v0,0x40(sp)
sw v0,0x4(s8)
lw v0,-0x7fb4(gp)
lbu s0,0x0(s7)
addiu v0,v0,0x48fc
sw v0,0x30(sp)
sltiu v0,s0,0x23
beq v0,zero,0x000b2c1c
_lw v0,0x30(sp)
addu v0,v0,s0
lbu v0,0x0(v0)
addu v0,v0,s2
slti v1,v0,0x79
beq v1,zero,0x000b2c10
_nop
lw v1,0x2c(sp)
addu v1,v0,v1
lbu v1,0x0(v1)
beq v1,s3,0x000b33c0
_addiu v1,s6,0x499c
lw v0,0x44(sp)
addu s0,s0,v0
lbu s0,0x0(s0)
sltiu v0,s0,0x53
bne v0,zero,0x000b33d8
_sltiu v0,s0,0x50
lw v0,0x34(sp)
addiu s0,s0,-0x53
addiu v0,v0,0x488c
addu v0,s0,v0
lb s5,0x0(v0)
bne s5,zero,0x000b2c54
_lw s1,0x4(s8)
lw v0,0x4b8(s8)
sltu v0,s7,v0
beq v0,zero,0x000b3448
_lw t9,-0x7eb8(gp)
sltiu v0,s0,0x1c
beq v0,zero,0x000b2cac
_lw a0,-0x7fb4(gp)
sll v0,s0,0x2
addiu a0,a0,0xdfc
addu v0,a0,v0
lw v0,0x0(v0)
addu v0,v0,gp
jr v0
_nop
li v0,0x1
li s1,0x1
b 0x000b2b98
_li s2,0xc
lw t9,-0x7eb8(gp)
or a1,zero,zero
lw a2,0x4(s7)
addiu t9,t9,0x24ec
bal 0x000b24ec
_or a0,s1,zero
lw gp,0x18(sp)
sw v0,0x4(s7)
sll v0,s5,0x1
lw a0,-0x7fb4(gp)
lw a1,-0x7fb4(gp)
addiu a2,s6,0x499c
addu v0,v0,s5
addiu a0,a0,0x48a8
sll v0,v0,0x2
addu s0,a0,s0
addu v1,s7,v0
addiu v0,v0,0xc
lbu a0,0x0(v1)
addu s7,s7,v0
addiu v0,a1,0x48e8
lbu v1,0x0(s0)
sw s7,0x0(s8)
addu v0,a0,v0
sb v1,0x1(s7)
lb v0,0x0(v0)
addu v1,v1,v0
lw v0,0x24(sp)
addu v1,v1,a2
lbu s0,0x0(v1)
sb s0,0x0(s7)
lw s7,0x0(s8)
sltu v0,v0,s7
bne v0,zero,0x000b2bdc
_sltiu v0,s0,0x23
lw v0,0x7c(sp)
bne v0,zero,0x000b2d2c
_nop
bne s2,zero,0x000b2a4c
_lui a0,0x80
lw v0,0x0(s8)
lw s1,0x24(sp)
sltu v1,s1,v0
beq v1,zero,0x000b2d74
_lw t9,-0x7f90(gp)
lw s0,-0x7eb8(gp)
addiu s0,s0,0x23c0
addiu v1,v0,-0xc
addiu a1,v0,0x4
sw v1,0x0(s8)
or t9,s0,zero
bal 0x000b23c0
_lbu a0,0x1(v0)
lw v0,0x0(s8)
sltu v1,s1,v0
bne v1,zero,0x000b2d48
_lw gp,0x18(sp)
lw t9,-0x7f90(gp)
jalr t9
_or a0,s8,zero
lw v0,0x50(sp)
lw v1,0x13c(sp)
lw v0,0xc(v0)
slt v0,v1,v0
beq v0,zero,0x000b3218
_lw gp,0x18(sp)
lw a0,0x88(sp)
beq a0,zero,0x000b321c
_lw v0,0x7c(sp)
beq v0,zero,0x000b31d0
_lw t9,-0x7eb0(gp)
lw t9,-0x7eb8(gp)
addiu t9,t9,0x1f34
bal 0x000b1f34
_nop
lw gp,0x18(sp)
b 0x000b3274
_lw a0,0x84(sp)
lw v0,-0x8(s7)
b 0x000b2cac
_sw v0,-0x14(s7)
lw t9,-0x7e94(gp)
or a1,zero,zero
lw a3,0x8(s7)
or a0,s1,zero
addiu t9,t9,0x2320
jalr t9
_lw a2,0x4(s7)
lw gp,0x18(sp)
b 0x000b2cac
_sw v0,0x4(s7)
li a1,0x3
lw t9,-0x7eb8(gp)
or a0,s1,zero
lw a3,0x4(s7)
lw a2,-0x14(s7)
addiu t9,t9,0x2040
bal 0x000b2040
_sw zero,0x10(sp)
lw gp,0x18(sp)
b 0x000b2cac
_sw v0,-0x14(s7)
b 0x000b2dfc
_li a1,0x1
lw t9,-0x7e94(gp)
or a0,s1,zero
lw a3,0x8(s7)
lw a2,0x4(s7)
addiu t9,t9,0x2320
jalr t9
_lw a1,-0x8(s7)
lw gp,0x18(sp)
b 0x000b2cac
_sw v0,-0x8(s7)
lw t9,-0x7e94(gp)
or a1,zero,zero
lw a3,0x8(s7)
or a0,s1,zero
addiu t9,t9,0x2320
jalr t9
_lw a2,0x4(s7)
or a0,s1,zero
lw gp,0x18(sp)
or a1,v0,zero
lw t9,-0x7eb0(gp)
addiu t9,t9,0x1550
jalr t9
_sw v0,-0x8(s7)
lw gp,0x18(sp)
b 0x000b2cac
_sw v0,-0x8(s7)
lw t9,-0x7eb8(gp)
addiu a2,s7,-0x8
lw a3,0x4(s7)
or a1,zero,zero
addiu t9,t9,0x26dc
bal 0x000b26dc
_or a0,s1,zero
lw gp,0x18(sp)
b 0x000b2cac
_sw v0,-0x8(s7)
li v0,0x1
b 0x000b2cac
_sw v0,0x4(s7)
b 0x000b2dfc
_li a1,0x2
lw t9,-0x7e94(gp)
or a0,s1,zero
lw a2,-0x2c(s7)
addiu t9,t9,0x70a0
bal 0x000970a0
_lw a1,-0x8(s7)
lw v0,-0x8(s7)
lw gp,0x18(sp)
b 0x000b2cac
_sw v0,-0x2c(s7)
lw v0,0x8(s1)
lw t0,-0x8(s7)
bne v0,zero,0x000b3690
_lw a3,0x4(s7)
lw a0,0x0(t0)
li v0,0x2
beq a0,v0,0x000b358c
_nop
lw v0,0x0(a3)
beq v0,zero,0x000b35ac
_or t1,t0,zero
lw v0,0x0(t1)
bne v0,zero,0x000b3610
_lw t9,-0x7eb8(gp)
beq t0,t1,0x000b36ec
_nop
lw v0,0x1c(t0)
addiu v0,v0,0x7
sll v0,v0,0x2
addu v0,t0,v0
sw a3,0x0(v0)
lw a1,0x18(a3)
lw v0,0xc(s1)
lw a0,0x10(s1)
lw t9,-0x7b74(gp)
lw a2,0x8(a1)
addiu v0,v0,-0x1
sw t0,0x60(sp)
sw t1,0x5c(sp)
subu v0,v0,a2
sll a2,a2,0x2
sll v0,v0,0x2
addu a0,a0,v0
jalr t9
_addiu a1,a0,0x4
lw gp,0x18(sp)
lw v0,0xc(s1)
lw t1,0x5c(sp)
lw t9,-0x7eb8(gp)
addiu v0,v0,-0x1
or a0,t1,zero
addiu t9,t9,0x1f34
bal 0x000b1f34
_sw v0,0xc(s1)
lw t0,0x60(sp)
lw gp,0x18(sp)
b 0x000b2cac
_sw t0,-0x8(s7)
b 0x000b2cac
_sw zero,0x10(s7)
lw a2,0x4(s7)
beq a2,zero,0x000b2fe8
_or a1,zero,zero
lw v0,0x10(a2)
beq v0,zero,0x000b2fe8
_li v0,0x1
sb v0,0x15(a2)
lw a2,0x4(s7)
or a1,zero,zero
b 0x000b3188
_or a0,s1,zero
lw t9,-0x7eb8(gp)
addiu a2,s7,-0x8
lw a3,0x4(s7)
or a0,s1,zero
addiu t9,t9,0x26dc
bal 0x000b26dc
_lw a1,-0x20(s7)
lw gp,0x18(sp)
b 0x000b2cac
_sw v0,-0x20(s7)
lw t9,-0x7eb8(gp)
or a3,zero,zero
lw v0,0x4(s7)
or a2,zero,zero
li a1,0x9
addiu t9,t9,0x2040
or a0,s1,zero
bal 0x000b2040
_sw v0,0x10(sp)
or a0,s1,zero
lw gp,0x18(sp)
or s1,v0,zero
lw a2,-0x14(s7)
lw t9,-0x7e94(gp)
addiu t9,t9,0x70a0
bal 0x000970a0
_or a1,v0,zero
lw gp,0x18(sp)
b 0x000b2cac
_sw s1,-0x14(s7)
lw t9,-0x7eb8(gp)
or a3,zero,zero
lw v0,0x4(s7)
or a2,zero,zero
li a1,0x9
addiu t9,t9,0x2040
sw v0,0x10(sp)
bal 0x000b2040
_or a0,s1,zero
lw gp,0x18(sp)
b 0x000b2cac
_sw v0,0x4(s7)
lw a2,-0x28(s7)
li v0,0x4
bne a2,v0,0x000b30b8
_lw a3,-0x2c(s7)
lbu a0,0x0(a3)
li v0,0x4e
beq a0,v0,0x000b3638
_li v0,0x45
lw a1,-0x7fb4(gp)
or a0,s1,zero
lw t9,0x48(sp)
jalr t9
_addiu a1,a1,-0x70ac
lw gp,0x18(sp)
lw t1,-0x14(s7)
beq t1,zero,0x000b3154
_nop
lw a2,-0x4(s7)
beq a2,zero,0x000b3580
_li v0,0xa
blez a2,0x000b37e0
_or v0,zero,zero
lw a3,-0x8(s7)
lb a1,0x0(a3)
addiu a1,a1,-0x30
andi v0,a1,0xff
sltiu v0,v0,0xa
beq v0,zero,0x000b366c
_or v0,zero,zero
addiu t0,a3,0x1
addu t2,a3,a2
b 0x000b3134
_or a0,v0,zero
lb a1,0x0(t0)
addiu a1,a1,-0x30
andi v1,a1,0xff
sltiu v1,v1,0xa
beq v1,zero,0x000b366c
_addiu t0,t0,0x1
sll v0,a0,0x2
addu v0,v0,a0
sll v0,v0,0x1
bne t2,t0,0x000b311c
_addu a0,a1,v0
or v0,a0,zero
sw v0,0x0(t1)
lw t1,-0x14(s7)
b 0x000b2cac
_sw t1,-0x2c(s7)
lw v1,0x4(s7)
lw v0,0x8(s7)
sw v1,-0x8(s7)
b 0x000b2cac
_sw v0,-0x4(s7)
sw zero,0x10(s7)
b 0x000b2cac
_sw zero,0x14(s7)
lw a2,0x4(s7)
or a0,s1,zero
lw a1,-0x8(s7)
lw t9,-0x7eb8(gp)
addiu t9,t9,0x24ec
bal 0x000b24ec
_nop
lw gp,0x18(sp)
b 0x000b2cac
_sw v0,-0x8(s7)
lw t9,-0x7eb0(gp)
or a0,s1,zero
addiu t9,t9,0x1550
jalr t9
_lw a1,-0x8(s7)
lw gp,0x18(sp)
b 0x000b2cac
_sw v0,-0x20(s7)
lw v0,0x4(s7)
b 0x000b2cac
_sw v0,0x14(s1)
li a3,0x8
or a2,zero,zero
addiu t9,t9,0x108c
jalr t9
_addiu a0,sp,0x7c
beq v0,zero,0x000b3218
_lw gp,0x18(sp)
lw v1,0x13c(sp)
or a2,v0,zero
lw t9,-0x7e94(gp)
lw a0,0x40(sp)
sw v1,0x4(v0)
li v1,0x1
addiu t9,t9,0x70a0
sw v1,0x0(v0)
bal 0x000970a0
_lw a1,0x88(sp)
lw gp,0x18(sp)
lw v0,0x7c(sp)
bne v0,zero,0x000b3600
_lw t9,-0x7f70(gp)
jalr t9
_li a0,0x18
or s0,v0,zero
lw v0,0x64(sp)
lw gp,0x18(sp)
beq s0,zero,0x000b37a8
_sw s0,0x0(v0)
lw v0,0x88(sp)
beq v0,zero,0x000b3770
_nop
sw v0,0x8(s0)
lw v0,0x50(sp)
or a0,zero,zero
sw zero,0x0(s0)
sw v0,0x4(s0)
lw v0,0x84(sp)
sw v0,0x14(s0)
lw v0,0x80(sp)
sw v0,0x10(s0)
sw zero,0x84(sp)
lw t9,-0x7f90(gp)
jalr t9
_nop
lw a0,0x58(sp)
lw v1,0x78(sp)
lw v0,0x7c(sp)
lw gp,0x18(sp)
sw v1,0x0(a0)
lw v1,0x54(sp)
lw a0,0x10c(sp)
lw v1,0x0(v1)
bne a0,v1,0x000b37ec
_lw ra,0x134(sp)
lw s8,0x130(sp)
lw s7,0x12c(sp)
lw s6,0x128(sp)
lw s5,0x124(sp)
lw s4,0x120(sp)
lw s3,0x11c(sp)
lw s2,0x118(sp)
lw s1,0x114(sp)
lw s0,0x110(sp)
jr ra
_addiu sp,sp,0x138
li v1,0x28
beq v0,v1,0x000b3488
_slti v1,v0,0x29
beq v1,zero,0x000b3354
_li v1,0x29
beq v0,zero,0x000b3340
_li v1,0x22
bne v0,v1,0x000b2abc
_addiu s1,s4,0x1
lb v0,0x0(s1)
li v1,0x22
beq v0,v1,0x000b3320
_nop
beq v0,zero,0x000b35dc
_lw a1,-0x7fb4(gp)
addiu s1,s1,0x1
lb v0,0x0(s1)
bne v0,v1,0x000b3308
_nop
lb v0,0x1(s1)
beq v0,v1,0x000b3310
_addiu s1,s1,0x1
subu s1,s1,s4
li s3,0x9
or v0,s1,zero
b 0x000b2b98
_li s2,0x9
or s3,zero,zero
li v0,0x1
li s1,0x1
b 0x000b2b98
_or s2,zero,zero
beq v0,v1,0x000b33ac
_li v1,0x2a
bne v0,v1,0x000b2abc
_li s3,0xf
li v0,0x1
li s1,0x1
b 0x000b2b98
_li s2,0xf
li v1,0x2c
beq v0,v1,0x000b3434
_li v1,0x2d
bne v0,v1,0x000b2abc
_li s3,0x6
li v0,0x1
li s1,0x1
b 0x000b2b98
_li s2,0x6
li s3,0x8
li v0,0x1
li s1,0x1
b 0x000b2b98
_li s2,0x8
li s3,0xb
li v0,0x1
li s1,0x1
b 0x000b2b98
_li s2,0xb
addu v0,v0,v1
lbu s0,0x0(v0)
sltiu v0,s0,0x53
beq v0,zero,0x000b2c2c
_lw v0,0x34(sp)
sltiu v0,s0,0x50
bne v0,zero,0x000b3538
_lw s1,0x3c(sp)
li v0,0x51
beq s0,v0,0x000b3574
_lw a1,-0x7fb4(gp)
or a3,s4,zero
lw t9,0x48(sp)
or a2,s1,zero
sw s1,0x70(sp)
sw s4,0x6c(sp)
addiu a1,a1,-0x70ac
lw s0,0x4(s8)
jalr t9
_or a0,s0,zero
addiu a1,sp,0x6c
lw gp,0x18(sp)
or a0,s3,zero
lw t9,-0x7eb8(gp)
addiu t9,t9,0x23c0
bal 0x000b23c0
_sw s0,0x4(s8)
b 0x000b2d18
_lw gp,0x18(sp)
li s3,0xd
li v0,0x1
li s1,0x1
b 0x000b2b98
_li s2,0xd
addiu t9,t9,0x2444
bal 0x000b2444
_or a0,s8,zero
lw s7,0x0(s8)
lw v0,0x24(sp)
sltu v0,v0,s7
beq v0,zero,0x000b2d18
_lw gp,0x18(sp)
addiu v0,s2,0x2c
b 0x000b2bfc
_or s0,zero,zero
li s3,0x7
li v0,0x1
li s1,0x1
b 0x000b2b98
_li s2,0x7
li s3,0xa
li v0,0x1
li s1,0x1
b 0x000b2b98
_li s2,0xa
li s3,0x5
li v0,0x1
li s1,0x1
b 0x000b2b98
_li s2,0x5
lw v1,0x4c(sp)
or a0,t1,zero
lw t0,0x0(v1)
addiu v1,v1,0x10
addiu a0,a0,0x10
sw t0,-0x10(a0)
lw a1,-0x4(v1)
lw a3,-0xc(v1)
lw a2,-0x8(v1)
sw a1,-0x4(a0)
sw a3,-0xc(a0)
sw a2,-0x8(a0)
lw a1,0x38(sp)
bne v1,a1,0x000b34b8
_nop
addiu v1,sp,0x110
addu v0,v1,v0
lbu s3,-0x84(v0)
bne s3,zero,0x000b2b04
_lw a1,-0x7fb4(gp)
or a2,s4,zero
lw a0,0x40(sp)
li s1,0x1
lw t9,0x48(sp)
or s2,zero,zero
jalr t9
_addiu a1,a1,-0x70cc
b 0x000b2ba0
_lw gp,0x18(sp)
li s3,0xe
li v0,0x1
li s1,0x1
b 0x000b2b98
_li s2,0xe
lw a0,0x4b8(s8)
addiu v0,s7,0xc
sw v0,0x0(s8)
sltu v0,a0,v0
bne v0,zero,0x000b36d0
_sltiu v0,s0,0x23
bne v0,zero,0x000b3560
_nop
addiu s0,s0,0x1f
andi s0,s0,0xff
sb s0,0xc(s7)
sb s3,0xd(s7)
sw s4,0x10(s7)
b 0x000b2d18
_sw s1,0x14(s7)
addiu v1,s7,-0xc
b 0x000b2d18
_sw v1,0x0(s8)
sw v0,0x0(t1)
b 0x000b3154
_lw t1,-0x14(s7)
lw v0,0x1c(t0)
addiu v0,v0,0x7
sll v0,v0,0x2
addu v0,t0,v0
lw t1,0x0(v0)
lw v0,0x0(a3)
bne v0,zero,0x000b2f28
_nop
lw t9,-0x7eb8(gp)
or a0,a3,zero
addiu t9,t9,0x1f34
bal 0x000b1f34
_sw t0,0x5c(sp)
lw v0,0xc(s1)
lw t0,0x5c(sp)
lw gp,0x18(sp)
addiu v0,v0,-0x1
sw v0,0xc(s1)
b 0x000b2cac
_sw t0,-0x8(s7)
or s3,zero,zero
lw a0,0x40(sp)
li s1,0x1
lw t9,0x48(sp)
or s2,zero,zero
jalr t9
_addiu a1,a1,-0x70e0
b 0x000b2ba0
_lw gp,0x18(sp)
b 0x000b2da8
_lw a0,0x88(sp)
b 0x000b2b08
_addiu s1,s1,0x1
li a1,0x2
or a2,t0,zero
sw zero,0x10(sp)
addiu t9,t9,0x2040
bal 0x000b2040
_or a0,s1,zero
or t0,v0,zero
lw gp,0x18(sp)
b 0x000b2cac
_sw t0,-0x8(s7)
lbu a0,0x1(a3)
bne a0,v0,0x000b30bc
_lw a1,-0x7fb4(gp)
lbu a0,0x2(a3)
li v0,0x41
bne a0,v0,0x000b30c0
_or a0,s1,zero
lbu a0,0x3(a3)
li v0,0x52
bne a0,v0,0x000b30c0
_or a0,s1,zero
b 0x000b30d4
_lw t1,-0x14(s7)
lw a1,-0x7fb4(gp)
or a0,s1,zero
lw t9,0x48(sp)
jalr t9
_addiu a1,a1,-0x708c
lw t1,-0x14(s7)
lw gp,0x18(sp)
b 0x000b2cac
_sw t1,-0x2c(s7)
lw t9,-0x7eb8(gp)
or a0,t0,zero
addiu s1,t9,0x1f34
or t9,s1,zero
bal 0x000b1f34
_sw a3,0x5c(sp)
or t9,s1,zero
lw a3,0x5c(sp)
bal 0x000b1f34
_or a0,a3,zero
or t0,zero,zero
lw gp,0x18(sp)
b 0x000b2cac
_sw t0,-0x8(s7)
b 0x000b3294
_li v0,0x7
lw t9,-0x7eb8(gp)
or a0,s8,zero
addiu t9,t9,0x2444
bal 0x000b2444
_sw s7,0x0(s8)
b 0x000b2d18
_lw gp,0x18(sp)
b 0x000b2f50
_or t0,a3,zero
or v0,s1,zero
li s3,0x9
b 0x000b2b98
_li s2,0x9
lbu a0,0x1(s4)
bne a0,v1,0x000b2b84
_li s2,0x9
lbu a0,0x2(s4)
li v1,0x54
bne a0,v1,0x000b2b88
_li v1,0x41
b 0x000b2b88
_li s2,0x3
lbu v1,0x1(s4)
bne v1,v0,0x000b2b94
_li v0,0x3
lbu v1,0x2(s4)
li v0,0x44
bne v1,v0,0x000b2b90
_li s3,0x2
li v0,0x3
b 0x000b2b98
_li s2,0x2
lbu v1,0x0(s4)
li v0,0x4f
beq v1,v0,0x000b37b8
_nop
li s3,0x9
li v0,0x2
b 0x000b2b98
_li s2,0x9
lw v0,0x7c(sp)
bne v0,zero,0x000b37d8
_lw t9,-0x7eb0(gp)
li a3,0x28
or a2,zero,zero
addiu t9,t9,0x108c
jalr t9
_addiu a0,sp,0x7c
lw gp,0x18(sp)
beq v0,zero,0x000b3250
_sw v0,0x8(s0)
li v1,0x1
b 0x000b3250
_sw v1,0x4(v0)
li v0,0x7
lw a0,0x88(sp)
b 0x000b2da8
_sw v0,0x7c(sp)
lbu v1,0x1(s4)
li v0,0x52
bne v1,v0,0x000b3760
_nop
li s3,0x1
li v0,0x2
b 0x000b2b98
_li s2,0x1
b 0x000b3250
_sw zero,0x8(s0)
sw v0,0x0(t1)
b 0x000b3154
_lw t1,-0x14(s7)
lw t9,-0x7ba0(gp)
jalr t9
_nop
lui gp,0xb
addiu gp,gp,-0x248
addu gp,gp,t9
addiu sp,sp,-0x68
lw t9,-0x7ee8(gp)
sw s2,0x48(sp)
sw gp,0x18(sp)
sw ra,0x64(sp)
sw s7,0x5c(sp)
or s7,a1,zero
sw s6,0x58(sp)
or s6,a3,zero
sw s4,0x50(sp)
or s4,a0,zero
sw s3,0x4c(sp)
or s3,a2,zero
sw s8,0x60(sp)
sw s5,0x54(sp)
sw s1,0x44(sp)
sw s0,0x40(sp)
lw s2,-0x7b84(gp)
lw v0,0x0(s2)
sw v0,0x3c(sp)
jalr t9
_nop
or a0,s4,zero
lw gp,0x18(sp)
lw t9,-0x7ed0(gp)
jalr t9
_sw v0,0x24(sp)
lw gp,0x18(sp)
sw v0,0x28(sp)
sw zero,0x30(sp)
sw zero,0x34(sp)
blez s7,0x000b3adc
_sw zero,0x38(sp)
bne s6,zero,0x000b3a10
_li v0,0x1
lw v0,-0x7fb4(gp)
li s0,0x1
addiu v0,v0,-0x7050
sw v0,0x2c(sp)
subu s5,s7,s0
lw t9,-0x7e50(gp)
or a0,zero,zero
addiu s5,s5,0x3
jalr t9
_sll a1,s5,0x2
lw gp,0x18(sp)
beq v0,zero,0x000b3a30
_or s1,v0,zero
sw zero,0x0(v0)
slt v1,s0,s7
lw v0,-0x7fc8(gp)
addiu v0,v0,0x538c
sw v0,0x4(s1)
lw v0,-0x7fb4(gp)
addiu v0,v0,-0x701c
beq v1,zero,0x000b391c
_sw v0,0x8(s1)
sll v1,s0,0x2
sll s0,s7,0x2
addu s8,s3,v1
addiu s7,s1,0xc
addu s0,s3,s0
lw t9,-0x7f9c(gp)
addiu s7,s7,0x4
lw a0,0x0(s8)
jalr t9
_addiu s8,s8,0x4
lw gp,0x18(sp)
bne s0,s8,0x000b38fc
_sw v0,-0x4(s7)
lw t9,-0x7f9c(gp)
addiu s0,sp,0x30
jalr t9
_lw a0,0x0(s3)
addiu v1,sp,0x38
lw gp,0x18(sp)
or a3,s1,zero
lw a1,0x28(sp)
or a2,s5,zero
lw a0,0x24(sp)
or s3,v0,zero
sw s0,0x14(sp)
lw t9,-0x7e94(gp)
addiu t9,t9,0x61e8
bal 0x000961e8
_sw v1,0x10(sp)
beq v0,zero,0x000b3a44
_lw gp,0x18(sp)
lw a1,0x30(sp)
beq a1,zero,0x000b3b60
_lw t9,-0x7e34(gp)
lw t9,-0x7e40(gp)
li a2,-0x1
jalr t9
_or a0,s4,zero
lw gp,0x18(sp)
lw t9,-0x7f90(gp)
jalr t9
_lw a0,0x30(sp)
lw gp,0x18(sp)
lw t9,-0x7f90(gp)
jalr t9
_or a0,s1,zero
lw gp,0x18(sp)
lw t9,-0x7ef0(gp)
addiu t9,t9,-0xe08
jalr t9
_lw a0,0x38(sp)
lw a0,0x34(sp)
beq a0,zero,0x000b39d4
_lw gp,0x18(sp)
lw t9,-0x7eb8(gp)
addiu t9,t9,0x1fe4
bal 0x000b1fe4
_nop
lw gp,0x18(sp)
lw v1,0x3c(sp)
lw v0,0x0(s2)
bne v1,v0,0x000b3be4
_lw ra,0x64(sp)
lw s8,0x60(sp)
lw s7,0x5c(sp)
lw s6,0x58(sp)
lw s5,0x54(sp)
lw s4,0x50(sp)
lw s3,0x4c(sp)
lw s2,0x48(sp)
lw s1,0x44(sp)
lw s0,0x40(sp)
jr ra
_addiu sp,sp,0x68
bne s7,v0,0x000b3bb0
_lw t9,-0x7e50(gp)
li a1,0xc
jalr t9
_or a0,zero,zero
lw gp,0x18(sp)
bne v0,zero,0x000b3b80
_or s1,v0,zero
lw t9,-0x7e2c(gp)
jalr t9
_or a0,s4,zero
b 0x000b39d4
_lw gp,0x18(sp)
lw v0,0x38(sp)
addiu a3,sp,0x34
lw t9,-0x7eb8(gp)
or a2,s3,zero
or a0,v0,zero
lw a1,0xc(v0)
addiu t9,t9,0x2950
bal 0x000b2950
_sw s0,0x10(sp)
bne v0,zero,0x000b3964
_lw gp,0x18(sp)
lw v0,0x34(sp)
lw a1,0x8(v0)
lw v0,0xc(a1)
beq v0,zero,0x000b3bcc
_lw t9,-0x7f88(gp)
bne s6,zero,0x000b3b30
_lw a0,0x38(sp)
lw t9,-0x7e94(gp)
addiu t9,t9,0x7660
bal 0x00097660
_nop
lw gp,0x18(sp)
or s0,v0,zero
beq s0,zero,0x000b3b54
_lw a1,0x30(sp)
lw t9,-0x7f34(gp)
li a3,-0x1
li a2,-0x1
or a0,s4,zero
jalr t9
_or a1,s0,zero
lw gp,0x18(sp)
lw t9,-0x7f90(gp)
jalr t9
_or a0,s0,zero
b 0x000b3994
_lw gp,0x18(sp)
bne s6,zero,0x000b3b74
_nop
lw a1,-0x7fb4(gp)
addiu a1,a1,-0x705c
lw a0,-0x7fb4(gp)
lw t9,-0x7f88(gp)
jalr t9
_addiu a0,a0,-0x7048
li a2,-0x1
lw gp,0x18(sp)
or a0,s4,zero
sw v0,0x30(sp)
lw t9,-0x7e40(gp)
jalr t9
_or a1,v0,zero
lw gp,0x18(sp)
lw t9,-0x7f90(gp)
jalr t9
_lw a0,0x30(sp)
b 0x000b39d4
_lw gp,0x18(sp)
lw t9,-0x7e94(gp)
or a2,a1,zero
addiu t9,t9,0x7234
bal 0x00097234
_lw a1,0x2c(sp)
or s0,v0,zero
bne s0,zero,0x000b3aac
_lw gp,0x18(sp)
lw a1,0x30(sp)
bne a1,zero,0x000b3970
_li v0,0x7
lw t9,-0x7e34(gp)
or a1,v0,zero
jalr t9
_or a0,s4,zero
b 0x000b3994
_lw gp,0x18(sp)
lw a1,-0x7fb4(gp)
b 0x000b3aec
_addiu a1,a1,-0x706c
lw v0,-0x7fc8(gp)
li s5,0x3
sw zero,0x0(s1)
addiu v0,v0,0x538c
sw v0,0x4(s1)
lw v0,-0x7fb4(gp)
addiu v0,v0,-0x7050
sw v0,0x2c(sp)
lw v0,-0x7fb4(gp)
addiu v0,v0,-0x701c
b 0x000b391c
_sw v0,0x8(s1)
lw t9,-0x7f9c(gp)
li s0,0x2
jalr t9
_lw a0,0x4(s3)
lw gp,0x18(sp)
b 0x000b38a0
_sw v0,0x2c(sp)
lw a0,-0x7fc8(gp)
jalr t9
_addiu a0,a0,0x53f4
lw gp,0x18(sp)
b 0x000b3aa4
_or s0,v0,zero
lw t9,-0x7ba0(gp)
jalr t9
_nop
lui gp,0xb
addiu gp,gp,-0x640
addu gp,gp,t9
lw t9,-0x7eb8(gp)
addiu t9,t9,0x37f8
b 0x000b37f8
_li a3,0x1
(translation_unit "int FUN_000b2950(byte **param_1,int param_2,byte *param_3,byte *param_4,undefined4 *param_5)\n\n{\n  byte bVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  byte *pbVar4;\n  int iVar5;\n  undefined4 *puVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  byte *pbVar9;\n  byte **ppbVar10;\n  byte bVar12;\n  int iVar11;\n  code *pcVar13;\n  undefined4 *puVar14;\n  undefined4 *puVar15;\n  char *pcVar16;\n  byte **ppbVar17;\n  undefined4 *puVar18;\n  undefined4 uVar19;\n  byte *pbVar20;\n  byte *pbVar21;\n  byte **ppbVar22;\n  byte **ppbVar23;\n  byte **unaff_s1;\n  byte *pbVar24;\n  byte *unaff_s2;\n  byte *unaff_s3;\n  byte *unaff_s4;\n  byte *unaff_s5;\n  byte *unaff_s6;\n  byte **unaff_s7;\n  undefined1 *puVar25;\n  byte *unaff_s8;\n  undefined1 auStack_138 [24];\n  byte *local_110;\n  byte *local_cc;\n  byte *local_c8;\n  byte **local_c4;\n  undefined4 local_c0;\n  int local_bc;\n  byte *local_b8;\n  byte *local_b4;\n  byte **local_b0;\n  char local_ac [4];\n  undefined4 local_a8 [31];\n  byte *local_2c;\n  \n  puVar3 = PTR___stack_chk_guard_0015ba2c;\n  puVar7 = PTR_sqlite3_malloc64_0015b760;\n  ppbVar17 = (byte **)0x4bc;\n  local_c4 = (byte **)0x0;\n  local_c0 = 0;\n  local_bc = 0;\n  local_b8 = (byte *)0x0;\n  local_b4 = (byte *)0x0;\n  local_b0 = (byte **)0x0;\n  local_2c = *(byte **)PTR___stack_chk_guard_0015ba2c;\n  param_4[0] = 0;\n  param_4[1] = 0;\n  param_4[2] = 0;\n  param_4[3] = 0;\n  *param_5 = 0;\n  pbVar20 = param_3;\n  pbVar21 = param_4;\n  pbVar4 = (byte *)(*(code *)puVar7)(0);\n  puVar7 = PTR_UINT_0015b5fc;\n  if (pbVar4 != (byte *)0x0) {\n    unaff_s1 = (byte **)(pbVar4 + 8);\n    pbVar4[8] = 0;\n    puVar8 = PTR_DAT_0015b71c;\n    pbVar4[9] = 0;\n    puVar18 = (undefined4 *)(puVar7 + 0x638);\n    *(byte **)(pbVar4 + 0x4b8) = pbVar4 + 0x4ac;\n    puVar2 = PTR_UINT_0015b5fc;\n    pcVar13 = (code *)(puVar8 + 0x2288);\n    *(byte ***)pbVar4 = unaff_s1;\n    puVar14 = (undefined4 *)(puVar7 + 0x6b8);\n    local_c4 = param_1;\n    local_110 = param_3;\nLAB_000b2a68:\n    do {\n      unaff_s4 = param_3;\n      iVar5 = (int)(char)*unaff_s4;\n      if ((iVar5 - 9U & 0xff) < 0x18) {\n        pcVar16 = local_ac;\n        puVar6 = puVar18;\n        if ((int)((0x800013U >> (iVar5 - 9U & 0x1f)) << 0x1f) < 0) {\n          param_3 = unaff_s4 + 1;\n          goto LAB_000b2a68;\n        }\n        do {\n          puVar15 = puVar6 + 4;\n          *(undefined4 *)pcVar16 = *puVar6;\n          pbVar21 = (byte *)puVar6[1];\n          uVar19 = puVar6[2];\n          *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n          *(byte **)(pcVar16 + 4) = pbVar21;\n          *(undefined4 *)(pcVar16 + 8) = uVar19;\n          puVar6 = puVar15;\n          pcVar16 = pcVar16 + 0x10;\n        } while (puVar15 != puVar14);\nLAB_000b34f0:\n        if (local_ac[iVar5] != '\0') {\nLAB_000b2b04:\n          pbVar24 = unaff_s4;\n          do {\n            pbVar24 = pbVar24 + 1;\n            bVar12 = *pbVar24;\n            puVar6 = puVar18;\n            pcVar16 = local_ac;\n            do {\n              pbVar21 = (byte *)*puVar6;\n              puVar15 = puVar6 + 4;\n              *(byte **)pcVar16 = pbVar21;\n              pbVar20 = (byte *)puVar6[1];\n              ppbVar17 = (byte **)puVar6[2];\n              *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n              *(byte **)(pcVar16 + 4) = pbVar20;\n              *(byte ***)(pcVar16 + 8) = ppbVar17;\n              puVar6 = puVar15;\n              pcVar16 = pcVar16 + 0x10;\n            } while (puVar15 != puVar14);\n          } while (((char)bVar12 < 0) || (local_ac[(char)bVar12] != '\0'));\n          pbVar24 = pbVar24 + -(int)unaff_s4;\n          if (pbVar24 == &SUB_00000002) {\n            if ((*unaff_s4 == 0x4f) && (unaff_s4[1] == 0x52)) {\n              unaff_s2 = (byte *)0x1;\n              local_110 = &SUB_00000002;\n            }\n            else {\n              unaff_s2 = &DAT_00000009;\n              local_110 = &SUB_00000002;\n            }\n          }\n          else if (pbVar24 == (byte *)0x3) {\n            if ((*unaff_s4 == 0x4e) && (pbVar9 = &DAT_00000009, unaff_s4[1] == 0x4f)) {\n              if (unaff_s4[2] == 0x54) {\n                pbVar9 = (byte *)0x3;\n              }\n            }\n            else {\n              pbVar9 = &DAT_00000009;\n            }\n            if (((*unaff_s4 == 0x41) && (unaff_s4[1] == 0x4e)) &&\n               (unaff_s2 = &SUB_00000002, unaff_s4[2] == 0x44)) {\n              local_110 = (byte *)0x3;\n            }\n            else {\n              local_110 = (byte *)0x3;\n              unaff_s2 = pbVar9;\n            }\n          }\n          else {\n            unaff_s2 = &DAT_00000009;\n            local_110 = pbVar24;\n          }\n          goto LAB_000b2b98;\n        }\n        pbVar24 = (byte *)0x1;\n        ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70cc);\n        pbVar20 = unaff_s4;\n        (*pcVar13)(&local_c4);\n        unaff_s2 = (byte *)0x0;\n      }\n      else {\n        ppbVar17 = (byte **)0x0;\n        if (iVar5 == 0x2b) {\n          unaff_s2 = &DAT_0000000e;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x2c) {\n          if (iVar5 == 0x28) {\n            unaff_s2 = &DAT_0000000a;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 < 0x29) {\n            if (iVar5 != 0) {\n              pbVar24 = unaff_s4 + 1;\n              if (iVar5 != 0x22) {\nLAB_000b2abc:\n                puVar6 = puVar18;\n                pcVar16 = local_ac;\n                do {\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                } while (puVar15 != puVar14);\n                if (-1 < iVar5) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              bVar12 = *pbVar24;\n              if (bVar12 == 0x22) goto LAB_000b3320;\n              while (ppbVar17 = (byte **)PTR_UINT_0015b5fc, bVar12 != 0) {\n                while( true ) {\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (byte *)0x0;\n              pbVar24 = (byte *)0x1;\n              ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70e0);\n              (*pcVar13)(&local_c4);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (byte *)0x0;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 == 0x29) {\n            unaff_s2 = &DAT_0000000b;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = (byte *)0xf;\n            if (iVar5 != 0x2a) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x3a) {\n          unaff_s2 = &DAT_00000005;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x3b) {\n          if (iVar5 == 0x2c) {\n            unaff_s2 = &DAT_0000000d;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = &DAT_00000006;\n            if (iVar5 != 0x2d) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x7b) {\n          unaff_s2 = &DAT_00000007;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 == 0x7d) {\n          unaff_s2 = &DAT_00000008;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else {\n          unaff_s2 = &DAT_0000000c;\n          if (iVar5 != 0x5e) goto LAB_000b2abc;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\nLAB_000b2b98:\n        local_110 = unaff_s4 + (int)local_110;\n      }\nLAB_000b2ba0:\n      unaff_s6 = PTR_UINT_0015b5fc;\n      unaff_s7 = *(byte ***)pbVar4;\n      puVar7 = PTR_UINT_0015b5fc + 0x4920;\n      *(byte ****)(pbVar4 + 4) = &local_c4;\n      ppbVar22 = (byte **)(uint)*(byte *)unaff_s7;\n      puVar8 = PTR_UINT_0015b5fc + 0x48fc;\n      do {\n        ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n        if ((byte **)0x22 < ppbVar22) goto joined_r0x000b33cc;\n        pbVar9 = unaff_s2 + (byte)puVar8[(int)ppbVar22];\n        if ((byte *)0x78 < pbVar9) goto LAB_000b2c10;\n        while( true ) {\n          if ((byte *)(uint)pbVar9[(int)puVar7] == unaff_s2) {\n            ppbVar22 = (byte **)(uint)pbVar9[(int)(unaff_s6 + 0x499c)];\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }\n          else {\nLAB_000b2c10:\n            ppbVar22 = (byte **)(uint)*(byte *)((int)ppbVar22 + (int)(puVar2 + 0x48c4));\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }\njoined_r0x000b33cc:\n          PTR_UINT_0015b5fc = (undefined *)ppbVar10;\n          if (ppbVar22 < (byte **)0x53) {\n            if (ppbVar22 < (byte **)0x50) {\n              *(byte ***)pbVar4 = unaff_s7 + 3;\n              if (*(byte ***)(pbVar4 + 0x4b8) < unaff_s7 + 3) {\n                *(byte ***)pbVar4 = unaff_s7;\n                FUN_000b2444(pbVar4);\n              }\n              else {\n                if ((byte **)0x22 < ppbVar22) {\n                  ppbVar22 = (byte **)((uint)((int)ppbVar22 + 0x1f) & 0xff);\n                }\n                *(byte *)(unaff_s7 + 3) = (byte)ppbVar22;\n                *(byte *)((int)unaff_s7 + 0xd) = (byte)unaff_s2;\n                unaff_s7[4] = unaff_s4;\n                unaff_s7[5] = pbVar24;\n              }\n            }\n            else if (ppbVar22 == (byte **)0x51) {\n              *(byte ***)pbVar4 = unaff_s7 + -3;\n              ppbVar17 = ppbVar10;\n            }\n            else {\n              ppbVar22 = *(byte ***)(pbVar4 + 4);\n              pbVar21 = unaff_s4;\n              local_cc = unaff_s4;\n              local_c8 = pbVar24;\n              (*pcVar13)(ppbVar22,ppbVar10 + -0x1c2b);\n              ppbVar17 = &local_cc;\n              *(byte ***)(pbVar4 + 4) = ppbVar22;\n              FUN_000b23c0(unaff_s2);\n              pbVar20 = pbVar24;\n            }\n            goto LAB_000b2d18;\n          }\n          ppbVar23 = (byte **)((int)ppbVar22 + -0x53);\n          unaff_s5 = (byte *)(int)(char)*(byte *)((int)ppbVar23 + (int)(unaff_s6 + 0x488c));\n          if ((unaff_s5 != (byte *)0x0) || (unaff_s7 < *(byte ***)(pbVar4 + 0x4b8))) break;\n          FUN_000b2444(pbVar4);\n          unaff_s7 = *(byte ***)pbVar4;\n          ppbVar22 = ppbVar23;\n          if (unaff_s7 <= unaff_s1) goto LAB_000b2d18;\n          pbVar9 = unaff_s2 + 0x2c;\n          ppbVar22 = (byte **)0x0;\n        }\n        if (ppbVar23 < (byte **)0x1c) {\n                    /* WARNING: Could not emulate address calculation at 0x000b2c68 */\n                    /* WARNING: Treating indirect jump as call */\n          iVar5 = (*(code *)(&_gp_1 + (int)ppbVar10[(int)(ppbVar22 + 0xcb)]))();\n          return iVar5;\n        }\n        pbVar20 = unaff_s6 + 0x499c;\n        bVar12 = *(byte *)(unaff_s7 + (int)unaff_s5 * 3);\n        ppbVar17 = unaff_s7 + (int)unaff_s5 * 3 + 3;\n        bVar1 = *(byte *)((int)(ppbVar10 + 0x122a) + (int)ppbVar23);\n        *(byte ***)pbVar4 = ppbVar17;\n        *(byte *)((int)ppbVar17 + 1) = bVar1;\n        ppbVar22 = (byte **)(uint)pbVar20[(uint)bVar1 +\n                                          (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)];\n        *(byte *)ppbVar17 =\n             pbVar20[(uint)bVar1 + (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)];\n        unaff_s7 = *(byte ***)pbVar4;\n        ppbVar17 = ppbVar10;\n      } while (unaff_s1 < unaff_s7);\nLAB_000b2d18:\n      if ((local_bc != 0) || (param_3 = local_110, unaff_s2 == (byte *)0x0)) goto LAB_000b2d2c;\n    } while( true );\n  }\n  iVar5 = 7;\n  goto LAB_000b3294;\nLAB_000b2d2c:\n  ppbVar10 = *(byte ***)pbVar4;\n  if (unaff_s1 < ppbVar10) {\n    ppbVar22 = (byte **)(PTR_LAB_0015b6f8 + 0x23c0);\n    do {\n      ppbVar17 = ppbVar10 + 1;\n      *(byte ***)pbVar4 = ppbVar10 + -3;\n      FUN_000b23c0(*(byte *)((int)ppbVar10 + 1));\n      ppbVar10 = *(byte ***)pbVar4;\n    } while (unaff_s1 < ppbVar10);\n  }\n  (*(code *)PTR_sqlite3_free_0015b620)(pbVar4);\n  if ((param_2 < (int)param_1[3]) && (local_b0 != (byte **)0x0)) {\n    if (local_bc == 0) {\n      pbVar21 = &DAT_00000008;\n      pbVar20 = (byte *)0x0;\n      pbVar24 = (byte *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc);\n      if (pbVar24 != (byte *)0x0) {\n        *(int *)(pbVar24 + 4) = param_2;\n        pbVar24[0] = 0;\n        pbVar24[1] = 0;\n        pbVar24[2] = 0;\n        pbVar24[3] = 1;\n        ppbVar17 = local_b0;\n        FUN_000970a0(&local_c4);\n        pbVar20 = pbVar24;\n      }\n      goto LAB_000b321c;\n    }\nLAB_000b2da8:\n    FUN_000b1f34(local_b0);\n  }\n  else {\nLAB_000b321c:\n    if (local_bc != 0) goto LAB_000b2da8;\n    ppbVar22 = (byte **)(*(code *)PTR_sqlite3_malloc_0015b640)(0x18);\n    *(byte ***)param_4 = ppbVar22;\n    if (ppbVar22 == (byte **)0x0) {\n      local_bc = 7;\n      goto LAB_000b2da8;\n    }\n    if (local_b0 == (byte **)0x0) {\n      if (local_bc == 0) {\n        pbVar21 = &DAT_00000028;\n        pbVar20 = (byte *)0x0;\n        pbVar24 = (byte *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc);\n        ppbVar22[2] = pbVar24;\n        if (pbVar24 != (byte *)0x0) {\n          pbVar24[4] = 0;\n          pbVar24[5] = 0;\n          pbVar24[6] = 0;\n          pbVar24[7] = 1;\n        }\n      }\n      else {\n        ppbVar22[2] = (byte *)0x0;\n      }\n    }\n    else {\n      ppbVar22[2] = (byte *)local_b0;\n    }\n    *ppbVar22 = (byte *)0x0;\n    ppbVar22[1] = (byte *)param_1;\n    ppbVar22[5] = local_b4;\n    ppbVar22[4] = local_b8;\n    local_b4 = (byte *)0x0;\n  }\n  (*(code *)PTR_sqlite3_free_0015b620)(local_b4);\n  *param_5 = local_c0;\n  iVar5 = local_bc;\n  param_1 = ppbVar22;\n  unaff_s3 = unaff_s2;\n  unaff_s8 = pbVar4;\nLAB_000b3294:\n  if (local_2c == *(byte **)puVar3) {\n    return iVar5;\n  }\n  uVar19 = 0xb37f8;\n  pbVar4 = local_2c;\n  puVar7 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  puVar25 = auStack_138;\n  do {\n    pbVar9 = pbVar21;\n    pbVar24 = pbVar4;\n    pcVar13 = *(code **)(puVar7 + 0xa7ed0);\n    *(byte **)(puVar25 + -0x20) = unaff_s2;\n    *(undefined **)(puVar25 + -0x50) = puVar7 + 0xafdb8;\n    *(undefined4 *)(puVar25 + -4) = uVar19;\n    *(byte ***)(puVar25 + -0xc) = unaff_s7;\n    *(byte **)(puVar25 + -0x10) = unaff_s6;\n    *(byte **)(puVar25 + -0x18) = unaff_s4;\n    *(byte **)(puVar25 + -0x1c) = unaff_s3;\n    *(byte **)(puVar25 + -8) = unaff_s8;\n    *(byte **)(puVar25 + -0x14) = unaff_s5;\n    *(byte ***)(puVar25 + -0x24) = unaff_s1;\n    *(byte ***)(puVar25 + -0x28) = param_1;\n    unaff_s2 = *(byte **)(puVar7 + 0xa8234);\n    *(undefined4 *)(puVar25 + -0x2c) = *(undefined4 *)unaff_s2;\n    pbVar21 = pbVar20;\n    uVar19 = (*pcVar13)();\n    pcVar13 = *(code **)(*(int *)(puVar25 + -0x50) + -0x7ed0);\n    *(undefined4 *)(puVar25 + -0x44) = uVar19;\n    uVar19 = (*pcVar13)(pbVar24);\n    iVar5 = *(int *)(puVar25 + -0x50);\n    *(undefined4 *)(puVar25 + -0x40) = uVar19;\n    *(undefined4 *)(puVar25 + -0x38) = 0;\n    *(undefined4 *)(puVar25 + -0x34) = 0;\n    *(undefined4 *)(puVar25 + -0x30) = 0;\n    unaff_s3 = pbVar20;\n    unaff_s7 = ppbVar17;\n    if ((int)ppbVar17 < 1) {\n      if (pbVar9 == (byte *)0x0) {\n        iVar11 = *(int *)(iVar5 + -0x7fb4) + -0x705c;\n      }\n      else {\n        iVar11 = *(int *)(iVar5 + -0x7fb4) + -0x706c;\n      }\n      ppbVar22 = (byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fb4) + -0x7048,iVar11)\n      ;\n      pbVar21 = (byte *)0xffffffff;\n      *(byte ***)(puVar25 + -0x38) = ppbVar22;\n      (**(code **)(*(int *)(puVar25 + -0x50) + -0x7e40))(pbVar24);\n      pbVar4 = *(byte **)(puVar25 + -0x38);\n      (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))();\n      iVar5 = *(int *)(puVar25 + -0x50);\n    }\n    else {\n      if (pbVar9 == (byte *)0x0) {\n        param_1 = (byte **)0x1;\n        *(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050;\nLAB_000b38a0:\n        unaff_s5 = (byte *)((int)ppbVar17 + (3 - (int)param_1));\n        ppbVar22 = (byte **)((int)unaff_s5 * 4);\n        unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (unaff_s1 == (byte **)0x0) {\nLAB_000b3a30:\n          pbVar4 = pbVar24;\n          (**(code **)(iVar5 + -0x7e2c))();\n          iVar5 = *(int *)(puVar25 + -0x50);\n          goto LAB_000b39d4;\n        }\n        *unaff_s1 = (byte *)0x0;\n        unaff_s1[1] = (byte *)(*(int *)(iVar5 + -0x7fc8) + 0x538c);\n        unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c);\n        if ((int)param_1 < (int)ppbVar17) {\n          unaff_s8 = pbVar20 + (int)param_1 * 4;\n          iVar11 = (int)ppbVar17 * 4;\n          ppbVar22 = unaff_s1 + 3;\n          do {\n            ppbVar17 = ppbVar22 + 1;\n            uVar19 = *(undefined4 *)unaff_s8;\n            unaff_s8 = unaff_s8 + 4;\n            pbVar21 = (byte *)(**(code **)(iVar5 + -0x7f9c))(uVar19);\n            iVar5 = *(int *)(puVar25 + -0x50);\n            *ppbVar22 = pbVar21;\n            ppbVar22 = ppbVar17;\n          } while (pbVar20 + iVar11 != unaff_s8);\n        }\n      }\n      else {\n        if (ppbVar17 != (byte **)0x1) {\n          param_1 = (byte **)&SUB_00000002;\n          uVar19 = (**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)(pbVar20 + 4));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          *(undefined4 *)(puVar25 + -0x3c) = uVar19;\n          goto LAB_000b38a0;\n        }\n        ppbVar22 = (byte **)&DAT_0000000c;\n        unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (unaff_s1 == (byte **)0x0) goto LAB_000b3a30;\n        iVar11 = *(int *)(iVar5 + -0x7fc8);\n        unaff_s5 = (byte *)0x3;\n        *unaff_s1 = (byte *)0x0;\n        unaff_s1[1] = (byte *)(iVar11 + 0x538c);\n        *(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050;\n        unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c);\n      }\n      param_1 = (byte **)(puVar25 + -0x38);\n      unaff_s3 = (byte *)(**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)pbVar20);\n      *(byte ***)(puVar25 + -0x54) = param_1;\n      *(undefined1 **)(puVar25 + -0x58) = puVar25 + -0x30;\n      pbVar21 = unaff_s5;\n      ppbVar22 = (byte **)FUN_000961e8(*(undefined4 *)(puVar25 + -0x44),\n                                       *(undefined4 *)(puVar25 + -0x40),unaff_s5,unaff_s1);\n      iVar5 = *(int *)(puVar25 + -0x50);\n      if (ppbVar22 == (byte **)0x0) {\n        uVar19 = *(undefined4 *)(*(int *)(puVar25 + -0x30) + 0xc);\n        *(byte ***)(puVar25 + -0x58) = param_1;\n        pbVar20 = unaff_s3;\n        ppbVar22 = (byte **)FUN_000b2950(*(int *)(puVar25 + -0x30),uVar19,unaff_s3,puVar25 + -0x34);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        pbVar21 = pbVar20;\n        if (ppbVar22 != (byte **)0x0) goto LAB_000b3964;\n        pbVar21 = *(byte **)(*(int *)(puVar25 + -0x34) + 8);\n        if (*(int *)(pbVar21 + 0xc) == 0) {\n          param_1 = (byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fc8) + 0x53f4);\n          iVar5 = *(int *)(puVar25 + -0x50);\nLAB_000b3aa4:\n          ppbVar10 = *(byte ***)(puVar25 + -0x38);\n          pbVar21 = pbVar20;\n          if (param_1 != (byte **)0x0) goto LAB_000b3aac;\nLAB_000b3b54:\n          ppbVar22 = (byte **)&DAT_00000007;\n          if (ppbVar10 == (byte **)0x0) {\n            pcVar13 = *(code **)(iVar5 + -0x7e34);\n            goto LAB_000b3b60;\n          }\n          goto LAB_000b3970;\n        }\n        if (pbVar9 == (byte *)0x0) {\n          param_1 = (byte **)FUN_00097660();\n          iVar5 = *(int *)(puVar25 + -0x50);\n          goto LAB_000b3aa4;\n        }\n        param_1 = (byte **)FUN_00097234(*(undefined4 *)(puVar25 + -0x30),\n                                        *(undefined4 *)(puVar25 + -0x3c));\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (param_1 == (byte **)0x0) {\n          ppbVar10 = *(byte ***)(puVar25 + -0x38);\n          goto LAB_000b3b54;\n        }\nLAB_000b3aac:\n        pbVar21 = (byte *)0xffffffff;\n        ppbVar22 = param_1;\n        (**(code **)(iVar5 + -0x7f34))(pbVar24,param_1,0xffffffff,0xffffffff);\n        (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(param_1);\n        iVar5 = *(int *)(puVar25 + -0x50);\n      }\n      else {\nLAB_000b3964:\n        ppbVar10 = *(byte ***)(puVar25 + -0x38);\n        pcVar13 = *(code **)(iVar5 + -0x7e34);\n        if (ppbVar10 == (byte **)0x0) {\nLAB_000b3b60:\n          (*pcVar13)(pbVar24);\n          iVar5 = *(int *)(puVar25 + -0x50);\n        }\n        else {\nLAB_000b3970:\n          pbVar21 = (byte *)0xffffffff;\n          (**(code **)(iVar5 + -0x7e40))(pbVar24);\n          (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(*(undefined4 *)(puVar25 + -0x38));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          ppbVar22 = ppbVar10;\n        }\n      }\n      (**(code **)(iVar5 + -0x7f90))(unaff_s1);\n      (*(code *)(*(int *)(*(int *)(puVar25 + -0x50) + -0x7ef0) + -0xe08))\n                (*(undefined4 *)(puVar25 + -0x30));\n      pbVar4 = *(byte **)(puVar25 + -0x34);\n      iVar5 = *(int *)(puVar25 + -0x50);\n      unaff_s7 = ppbVar17;\n      if (pbVar4 != (byte *)0x0) {\n        FUN_000b1fe4();\n        iVar5 = *(int *)(puVar25 + -0x50);\n      }\n    }\nLAB_000b39d4:\n    if (*(int *)(puVar25 + -0x2c) == *(int *)unaff_s2) {\n      return *(int *)unaff_s2;\n    }\n    pcVar13 = *(code **)(iVar5 + -0x7ba0);\n    uVar19 = 0xb3bf0;\n    (*pcVar13)();\n    puVar7 = (undefined *)(*(int *)(pcVar13 + 0xa7b08) + 0x37f8);\n    ppbVar17 = ppbVar22;\n    pbVar20 = pbVar21;\n    pbVar21 = (byte *)0x1;\n    unaff_s4 = pbVar24;\n    unaff_s6 = pbVar9;\n    puVar25 = puVar25 + -0x68;\n  } while( true );\n}\n\n" (function_definition "int FUN_000b2950(byte **param_1,int param_2,byte *param_3,byte *param_4,undefined4 *param_5)\n\n{\n  byte bVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  byte *pbVar4;\n  int iVar5;\n  undefined4 *puVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  byte *pbVar9;\n  byte **ppbVar10;\n  byte bVar12;\n  int iVar11;\n  code *pcVar13;\n  undefined4 *puVar14;\n  undefined4 *puVar15;\n  char *pcVar16;\n  byte **ppbVar17;\n  undefined4 *puVar18;\n  undefined4 uVar19;\n  byte *pbVar20;\n  byte *pbVar21;\n  byte **ppbVar22;\n  byte **ppbVar23;\n  byte **unaff_s1;\n  byte *pbVar24;\n  byte *unaff_s2;\n  byte *unaff_s3;\n  byte *unaff_s4;\n  byte *unaff_s5;\n  byte *unaff_s6;\n  byte **unaff_s7;\n  undefined1 *puVar25;\n  byte *unaff_s8;\n  undefined1 auStack_138 [24];\n  byte *local_110;\n  byte *local_cc;\n  byte *local_c8;\n  byte **local_c4;\n  undefined4 local_c0;\n  int local_bc;\n  byte *local_b8;\n  byte *local_b4;\n  byte **local_b0;\n  char local_ac [4];\n  undefined4 local_a8 [31];\n  byte *local_2c;\n  \n  puVar3 = PTR___stack_chk_guard_0015ba2c;\n  puVar7 = PTR_sqlite3_malloc64_0015b760;\n  ppbVar17 = (byte **)0x4bc;\n  local_c4 = (byte **)0x0;\n  local_c0 = 0;\n  local_bc = 0;\n  local_b8 = (byte *)0x0;\n  local_b4 = (byte *)0x0;\n  local_b0 = (byte **)0x0;\n  local_2c = *(byte **)PTR___stack_chk_guard_0015ba2c;\n  param_4[0] = 0;\n  param_4[1] = 0;\n  param_4[2] = 0;\n  param_4[3] = 0;\n  *param_5 = 0;\n  pbVar20 = param_3;\n  pbVar21 = param_4;\n  pbVar4 = (byte *)(*(code *)puVar7)(0);\n  puVar7 = PTR_UINT_0015b5fc;\n  if (pbVar4 != (byte *)0x0) {\n    unaff_s1 = (byte **)(pbVar4 + 8);\n    pbVar4[8] = 0;\n    puVar8 = PTR_DAT_0015b71c;\n    pbVar4[9] = 0;\n    puVar18 = (undefined4 *)(puVar7 + 0x638);\n    *(byte **)(pbVar4 + 0x4b8) = pbVar4 + 0x4ac;\n    puVar2 = PTR_UINT_0015b5fc;\n    pcVar13 = (code *)(puVar8 + 0x2288);\n    *(byte ***)pbVar4 = unaff_s1;\n    puVar14 = (undefined4 *)(puVar7 + 0x6b8);\n    local_c4 = param_1;\n    local_110 = param_3;\nLAB_000b2a68:\n    do {\n      unaff_s4 = param_3;\n      iVar5 = (int)(char)*unaff_s4;\n      if ((iVar5 - 9U & 0xff) < 0x18) {\n        pcVar16 = local_ac;\n        puVar6 = puVar18;\n        if ((int)((0x800013U >> (iVar5 - 9U & 0x1f)) << 0x1f) < 0) {\n          param_3 = unaff_s4 + 1;\n          goto LAB_000b2a68;\n        }\n        do {\n          puVar15 = puVar6 + 4;\n          *(undefined4 *)pcVar16 = *puVar6;\n          pbVar21 = (byte *)puVar6[1];\n          uVar19 = puVar6[2];\n          *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n          *(byte **)(pcVar16 + 4) = pbVar21;\n          *(undefined4 *)(pcVar16 + 8) = uVar19;\n          puVar6 = puVar15;\n          pcVar16 = pcVar16 + 0x10;\n        } while (puVar15 != puVar14);\nLAB_000b34f0:\n        if (local_ac[iVar5] != '\0') {\nLAB_000b2b04:\n          pbVar24 = unaff_s4;\n          do {\n            pbVar24 = pbVar24 + 1;\n            bVar12 = *pbVar24;\n            puVar6 = puVar18;\n            pcVar16 = local_ac;\n            do {\n              pbVar21 = (byte *)*puVar6;\n              puVar15 = puVar6 + 4;\n              *(byte **)pcVar16 = pbVar21;\n              pbVar20 = (byte *)puVar6[1];\n              ppbVar17 = (byte **)puVar6[2];\n              *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n              *(byte **)(pcVar16 + 4) = pbVar20;\n              *(byte ***)(pcVar16 + 8) = ppbVar17;\n              puVar6 = puVar15;\n              pcVar16 = pcVar16 + 0x10;\n            } while (puVar15 != puVar14);\n          } while (((char)bVar12 < 0) || (local_ac[(char)bVar12] != '\0'));\n          pbVar24 = pbVar24 + -(int)unaff_s4;\n          if (pbVar24 == &SUB_00000002) {\n            if ((*unaff_s4 == 0x4f) && (unaff_s4[1] == 0x52)) {\n              unaff_s2 = (byte *)0x1;\n              local_110 = &SUB_00000002;\n            }\n            else {\n              unaff_s2 = &DAT_00000009;\n              local_110 = &SUB_00000002;\n            }\n          }\n          else if (pbVar24 == (byte *)0x3) {\n            if ((*unaff_s4 == 0x4e) && (pbVar9 = &DAT_00000009, unaff_s4[1] == 0x4f)) {\n              if (unaff_s4[2] == 0x54) {\n                pbVar9 = (byte *)0x3;\n              }\n            }\n            else {\n              pbVar9 = &DAT_00000009;\n            }\n            if (((*unaff_s4 == 0x41) && (unaff_s4[1] == 0x4e)) &&\n               (unaff_s2 = &SUB_00000002, unaff_s4[2] == 0x44)) {\n              local_110 = (byte *)0x3;\n            }\n            else {\n              local_110 = (byte *)0x3;\n              unaff_s2 = pbVar9;\n            }\n          }\n          else {\n            unaff_s2 = &DAT_00000009;\n            local_110 = pbVar24;\n          }\n          goto LAB_000b2b98;\n        }\n        pbVar24 = (byte *)0x1;\n        ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70cc);\n        pbVar20 = unaff_s4;\n        (*pcVar13)(&local_c4);\n        unaff_s2 = (byte *)0x0;\n      }\n      else {\n        ppbVar17 = (byte **)0x0;\n        if (iVar5 == 0x2b) {\n          unaff_s2 = &DAT_0000000e;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x2c) {\n          if (iVar5 == 0x28) {\n            unaff_s2 = &DAT_0000000a;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 < 0x29) {\n            if (iVar5 != 0) {\n              pbVar24 = unaff_s4 + 1;\n              if (iVar5 != 0x22) {\nLAB_000b2abc:\n                puVar6 = puVar18;\n                pcVar16 = local_ac;\n                do {\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                } while (puVar15 != puVar14);\n                if (-1 < iVar5) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              bVar12 = *pbVar24;\n              if (bVar12 == 0x22) goto LAB_000b3320;\n              while (ppbVar17 = (byte **)PTR_UINT_0015b5fc, bVar12 != 0) {\n                while( true ) {\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (byte *)0x0;\n              pbVar24 = (byte *)0x1;\n              ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70e0);\n              (*pcVar13)(&local_c4);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (byte *)0x0;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 == 0x29) {\n            unaff_s2 = &DAT_0000000b;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = (byte *)0xf;\n            if (iVar5 != 0x2a) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x3a) {\n          unaff_s2 = &DAT_00000005;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x3b) {\n          if (iVar5 == 0x2c) {\n            unaff_s2 = &DAT_0000000d;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = &DAT_00000006;\n            if (iVar5 != 0x2d) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x7b) {\n          unaff_s2 = &DAT_00000007;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 == 0x7d) {\n          unaff_s2 = &DAT_00000008;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else {\n          unaff_s2 = &DAT_0000000c;\n          if (iVar5 != 0x5e) goto LAB_000b2abc;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\nLAB_000b2b98:\n        local_110 = unaff_s4 + (int)local_110;\n      }\nLAB_000b2ba0:\n      unaff_s6 = PTR_UINT_0015b5fc;\n      unaff_s7 = *(byte ***)pbVar4;\n      puVar7 = PTR_UINT_0015b5fc + 0x4920;\n      *(byte ****)(pbVar4 + 4) = &local_c4;\n      ppbVar22 = (byte **)(uint)*(byte *)unaff_s7;\n      puVar8 = PTR_UINT_0015b5fc + 0x48fc;\n      do {\n        ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n        if ((byte **)0x22 < ppbVar22) goto joined_r0x000b33cc;\n        pbVar9 = unaff_s2 + (byte)puVar8[(int)ppbVar22];\n        if ((byte *)0x78 < pbVar9) goto LAB_000b2c10;\n        while( true ) {\n          if ((byte *)(uint)pbVar9[(int)puVar7] == unaff_s2) {\n            ppbVar22 = (byte **)(uint)pbVar9[(int)(unaff_s6 + 0x499c)];\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }\n          else {\nLAB_000b2c10:\n            ppbVar22 = (byte **)(uint)*(byte *)((int)ppbVar22 + (int)(puVar2 + 0x48c4));\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }\njoined_r0x000b33cc:\n          PTR_UINT_0015b5fc = (undefined *)ppbVar10;\n          if (ppbVar22 < (byte **)0x53) {\n            if (ppbVar22 < (byte **)0x50) {\n              *(byte ***)pbVar4 = unaff_s7 + 3;\n              if (*(byte ***)(pbVar4 + 0x4b8) < unaff_s7 + 3) {\n                *(byte ***)pbVar4 = unaff_s7;\n                FUN_000b2444(pbVar4);\n              }\n              else {\n                if ((byte **)0x22 < ppbVar22) {\n                  ppbVar22 = (byte **)((uint)((int)ppbVar22 + 0x1f) & 0xff);\n                }\n                *(byte *)(unaff_s7 + 3) = (byte)ppbVar22;\n                *(byte *)((int)unaff_s7 + 0xd) = (byte)unaff_s2;\n                unaff_s7[4] = unaff_s4;\n                unaff_s7[5] = pbVar24;\n              }\n            }\n            else if (ppbVar22 == (byte **)0x51) {\n              *(byte ***)pbVar4 = unaff_s7 + -3;\n              ppbVar17 = ppbVar10;\n            }\n            else {\n              ppbVar22 = *(byte ***)(pbVar4 + 4);\n              pbVar21 = unaff_s4;\n              local_cc = unaff_s4;\n              local_c8 = pbVar24;\n              (*pcVar13)(ppbVar22,ppbVar10 + -0x1c2b);\n              ppbVar17 = &local_cc;\n              *(byte ***)(pbVar4 + 4) = ppbVar22;\n              FUN_000b23c0(unaff_s2);\n              pbVar20 = pbVar24;\n            }\n            goto LAB_000b2d18;\n          }\n          ppbVar23 = (byte **)((int)ppbVar22 + -0x53);\n          unaff_s5 = (byte *)(int)(char)*(byte *)((int)ppbVar23 + (int)(unaff_s6 + 0x488c));\n          if ((unaff_s5 != (byte *)0x0) || (unaff_s7 < *(byte ***)(pbVar4 + 0x4b8))) break;\n          FUN_000b2444(pbVar4);\n          unaff_s7 = *(byte ***)pbVar4;\n          ppbVar22 = ppbVar23;\n          if (unaff_s7 <= unaff_s1) goto LAB_000b2d18;\n          pbVar9 = unaff_s2 + 0x2c;\n          ppbVar22 = (byte **)0x0;\n        }\n        if (ppbVar23 < (byte **)0x1c) {\n                    /* WARNING: Could not emulate address calculation at 0x000b2c68 */\n                    /* WARNING: Treating indirect jump as call */\n          iVar5 = (*(code *)(&_gp_1 + (int)ppbVar10[(int)(ppbVar22 + 0xcb)]))();\n          return iVar5;\n        }\n        pbVar20 = unaff_s6 + 0x499c;\n        bVar12 = *(byte *)(unaff_s7 + (int)unaff_s5 * 3);\n        ppbVar17 = unaff_s7 + (int)unaff_s5 * 3 + 3;\n        bVar1 = *(byte *)((int)(ppbVar10 + 0x122a) + (int)ppbVar23);\n        *(byte ***)pbVar4 = ppbVar17;\n        *(byte *)((int)ppbVar17 + 1) = bVar1;\n        ppbVar22 = (byte **)(uint)pbVar20[(uint)bVar1 +\n                                          (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)];\n        *(byte *)ppbVar17 =\n             pbVar20[(uint)bVar1 + (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)];\n        unaff_s7 = *(byte ***)pbVar4;\n        ppbVar17 = ppbVar10;\n      } while (unaff_s1 < unaff_s7);\nLAB_000b2d18:\n      if ((local_bc != 0) || (param_3 = local_110, unaff_s2 == (byte *)0x0)) goto LAB_000b2d2c;\n    } while( true );\n  }\n  iVar5 = 7;\n  goto LAB_000b3294;\nLAB_000b2d2c:\n  ppbVar10 = *(byte ***)pbVar4;\n  if (unaff_s1 < ppbVar10) {\n    ppbVar22 = (byte **)(PTR_LAB_0015b6f8 + 0x23c0);\n    do {\n      ppbVar17 = ppbVar10 + 1;\n      *(byte ***)pbVar4 = ppbVar10 + -3;\n      FUN_000b23c0(*(byte *)((int)ppbVar10 + 1));\n      ppbVar10 = *(byte ***)pbVar4;\n    } while (unaff_s1 < ppbVar10);\n  }\n  (*(code *)PTR_sqlite3_free_0015b620)(pbVar4);\n  if ((param_2 < (int)param_1[3]) && (local_b0 != (byte **)0x0)) {\n    if (local_bc == 0) {\n      pbVar21 = &DAT_00000008;\n      pbVar20 = (byte *)0x0;\n      pbVar24 = (byte *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc);\n      if (pbVar24 != (byte *)0x0) {\n        *(int *)(pbVar24 + 4) = param_2;\n        pbVar24[0] = 0;\n        pbVar24[1] = 0;\n        pbVar24[2] = 0;\n        pbVar24[3] = 1;\n        ppbVar17 = local_b0;\n        FUN_000970a0(&local_c4);\n        pbVar20 = pbVar24;\n      }\n      goto LAB_000b321c;\n    }\nLAB_000b2da8:\n    FUN_000b1f34(local_b0);\n  }\n  else {\nLAB_000b321c:\n    if (local_bc != 0) goto LAB_000b2da8;\n    ppbVar22 = (byte **)(*(code *)PTR_sqlite3_malloc_0015b640)(0x18);\n    *(byte ***)param_4 = ppbVar22;\n    if (ppbVar22 == (byte **)0x0) {\n      local_bc = 7;\n      goto LAB_000b2da8;\n    }\n    if (local_b0 == (byte **)0x0) {\n      if (local_bc == 0) {\n        pbVar21 = &DAT_00000028;\n        pbVar20 = (byte *)0x0;\n        pbVar24 = (byte *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc);\n        ppbVar22[2] = pbVar24;\n        if (pbVar24 != (byte *)0x0) {\n          pbVar24[4] = 0;\n          pbVar24[5] = 0;\n          pbVar24[6] = 0;\n          pbVar24[7] = 1;\n        }\n      }\n      else {\n        ppbVar22[2] = (byte *)0x0;\n      }\n    }\n    else {\n      ppbVar22[2] = (byte *)local_b0;\n    }\n    *ppbVar22 = (byte *)0x0;\n    ppbVar22[1] = (byte *)param_1;\n    ppbVar22[5] = local_b4;\n    ppbVar22[4] = local_b8;\n    local_b4 = (byte *)0x0;\n  }\n  (*(code *)PTR_sqlite3_free_0015b620)(local_b4);\n  *param_5 = local_c0;\n  iVar5 = local_bc;\n  param_1 = ppbVar22;\n  unaff_s3 = unaff_s2;\n  unaff_s8 = pbVar4;\nLAB_000b3294:\n  if (local_2c == *(byte **)puVar3) {\n    return iVar5;\n  }\n  uVar19 = 0xb37f8;\n  pbVar4 = local_2c;\n  puVar7 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  puVar25 = auStack_138;\n  do {\n    pbVar9 = pbVar21;\n    pbVar24 = pbVar4;\n    pcVar13 = *(code **)(puVar7 + 0xa7ed0);\n    *(byte **)(puVar25 + -0x20) = unaff_s2;\n    *(undefined **)(puVar25 + -0x50) = puVar7 + 0xafdb8;\n    *(undefined4 *)(puVar25 + -4) = uVar19;\n    *(byte ***)(puVar25 + -0xc) = unaff_s7;\n    *(byte **)(puVar25 + -0x10) = unaff_s6;\n    *(byte **)(puVar25 + -0x18) = unaff_s4;\n    *(byte **)(puVar25 + -0x1c) = unaff_s3;\n    *(byte **)(puVar25 + -8) = unaff_s8;\n    *(byte **)(puVar25 + -0x14) = unaff_s5;\n    *(byte ***)(puVar25 + -0x24) = unaff_s1;\n    *(byte ***)(puVar25 + -0x28) = param_1;\n    unaff_s2 = *(byte **)(puVar7 + 0xa8234);\n    *(undefined4 *)(puVar25 + -0x2c) = *(undefined4 *)unaff_s2;\n    pbVar21 = pbVar20;\n    uVar19 = (*pcVar13)();\n    pcVar13 = *(code **)(*(int *)(puVar25 + -0x50) + -0x7ed0);\n    *(undefined4 *)(puVar25 + -0x44) = uVar19;\n    uVar19 = (*pcVar13)(pbVar24);\n    iVar5 = *(int *)(puVar25 + -0x50);\n    *(undefined4 *)(puVar25 + -0x40) = uVar19;\n    *(undefined4 *)(puVar25 + -0x38) = 0;\n    *(undefined4 *)(puVar25 + -0x34) = 0;\n    *(undefined4 *)(puVar25 + -0x30) = 0;\n    unaff_s3 = pbVar20;\n    unaff_s7 = ppbVar17;\n    if ((int)ppbVar17 < 1) {\n      if (pbVar9 == (byte *)0x0) {\n        iVar11 = *(int *)(iVar5 + -0x7fb4) + -0x705c;\n      }\n      else {\n        iVar11 = *(int *)(iVar5 + -0x7fb4) + -0x706c;\n      }\n      ppbVar22 = (byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fb4) + -0x7048,iVar11)\n      ;\n      pbVar21 = (byte *)0xffffffff;\n      *(byte ***)(puVar25 + -0x38) = ppbVar22;\n      (**(code **)(*(int *)(puVar25 + -0x50) + -0x7e40))(pbVar24);\n      pbVar4 = *(byte **)(puVar25 + -0x38);\n      (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))();\n      iVar5 = *(int *)(puVar25 + -0x50);\n    }\n    else {\n      if (pbVar9 == (byte *)0x0) {\n        param_1 = (byte **)0x1;\n        *(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050;\nLAB_000b38a0:\n        unaff_s5 = (byte *)((int)ppbVar17 + (3 - (int)param_1));\n        ppbVar22 = (byte **)((int)unaff_s5 * 4);\n        unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (unaff_s1 == (byte **)0x0) {\nLAB_000b3a30:\n          pbVar4 = pbVar24;\n          (**(code **)(iVar5 + -0x7e2c))();\n          iVar5 = *(int *)(puVar25 + -0x50);\n          goto LAB_000b39d4;\n        }\n        *unaff_s1 = (byte *)0x0;\n        unaff_s1[1] = (byte *)(*(int *)(iVar5 + -0x7fc8) + 0x538c);\n        unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c);\n        if ((int)param_1 < (int)ppbVar17) {\n          unaff_s8 = pbVar20 + (int)param_1 * 4;\n          iVar11 = (int)ppbVar17 * 4;\n          ppbVar22 = unaff_s1 + 3;\n          do {\n            ppbVar17 = ppbVar22 + 1;\n            uVar19 = *(undefined4 *)unaff_s8;\n            unaff_s8 = unaff_s8 + 4;\n            pbVar21 = (byte *)(**(code **)(iVar5 + -0x7f9c))(uVar19);\n            iVar5 = *(int *)(puVar25 + -0x50);\n            *ppbVar22 = pbVar21;\n            ppbVar22 = ppbVar17;\n          } while (pbVar20 + iVar11 != unaff_s8);\n        }\n      }\n      else {\n        if (ppbVar17 != (byte **)0x1) {\n          param_1 = (byte **)&SUB_00000002;\n          uVar19 = (**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)(pbVar20 + 4));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          *(undefined4 *)(puVar25 + -0x3c) = uVar19;\n          goto LAB_000b38a0;\n        }\n        ppbVar22 = (byte **)&DAT_0000000c;\n        unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (unaff_s1 == (byte **)0x0) goto LAB_000b3a30;\n        iVar11 = *(int *)(iVar5 + -0x7fc8);\n        unaff_s5 = (byte *)0x3;\n        *unaff_s1 = (byte *)0x0;\n        unaff_s1[1] = (byte *)(iVar11 + 0x538c);\n        *(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050;\n        unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c);\n      }\n      param_1 = (byte **)(puVar25 + -0x38);\n      unaff_s3 = (byte *)(**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)pbVar20);\n      *(byte ***)(puVar25 + -0x54) = param_1;\n      *(undefined1 **)(puVar25 + -0x58) = puVar25 + -0x30;\n      pbVar21 = unaff_s5;\n      ppbVar22 = (byte **)FUN_000961e8(*(undefined4 *)(puVar25 + -0x44),\n                                       *(undefined4 *)(puVar25 + -0x40),unaff_s5,unaff_s1);\n      iVar5 = *(int *)(puVar25 + -0x50);\n      if (ppbVar22 == (byte **)0x0) {\n        uVar19 = *(undefined4 *)(*(int *)(puVar25 + -0x30) + 0xc);\n        *(byte ***)(puVar25 + -0x58) = param_1;\n        pbVar20 = unaff_s3;\n        ppbVar22 = (byte **)FUN_000b2950(*(int *)(puVar25 + -0x30),uVar19,unaff_s3,puVar25 + -0x34);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        pbVar21 = pbVar20;\n        if (ppbVar22 != (byte **)0x0) goto LAB_000b3964;\n        pbVar21 = *(byte **)(*(int *)(puVar25 + -0x34) + 8);\n        if (*(int *)(pbVar21 + 0xc) == 0) {\n          param_1 = (byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fc8) + 0x53f4);\n          iVar5 = *(int *)(puVar25 + -0x50);\nLAB_000b3aa4:\n          ppbVar10 = *(byte ***)(puVar25 + -0x38);\n          pbVar21 = pbVar20;\n          if (param_1 != (byte **)0x0) goto LAB_000b3aac;\nLAB_000b3b54:\n          ppbVar22 = (byte **)&DAT_00000007;\n          if (ppbVar10 == (byte **)0x0) {\n            pcVar13 = *(code **)(iVar5 + -0x7e34);\n            goto LAB_000b3b60;\n          }\n          goto LAB_000b3970;\n        }\n        if (pbVar9 == (byte *)0x0) {\n          param_1 = (byte **)FUN_00097660();\n          iVar5 = *(int *)(puVar25 + -0x50);\n          goto LAB_000b3aa4;\n        }\n        param_1 = (byte **)FUN_00097234(*(undefined4 *)(puVar25 + -0x30),\n                                        *(undefined4 *)(puVar25 + -0x3c));\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (param_1 == (byte **)0x0) {\n          ppbVar10 = *(byte ***)(puVar25 + -0x38);\n          goto LAB_000b3b54;\n        }\nLAB_000b3aac:\n        pbVar21 = (byte *)0xffffffff;\n        ppbVar22 = param_1;\n        (**(code **)(iVar5 + -0x7f34))(pbVar24,param_1,0xffffffff,0xffffffff);\n        (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(param_1);\n        iVar5 = *(int *)(puVar25 + -0x50);\n      }\n      else {\nLAB_000b3964:\n        ppbVar10 = *(byte ***)(puVar25 + -0x38);\n        pcVar13 = *(code **)(iVar5 + -0x7e34);\n        if (ppbVar10 == (byte **)0x0) {\nLAB_000b3b60:\n          (*pcVar13)(pbVar24);\n          iVar5 = *(int *)(puVar25 + -0x50);\n        }\n        else {\nLAB_000b3970:\n          pbVar21 = (byte *)0xffffffff;\n          (**(code **)(iVar5 + -0x7e40))(pbVar24);\n          (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(*(undefined4 *)(puVar25 + -0x38));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          ppbVar22 = ppbVar10;\n        }\n      }\n      (**(code **)(iVar5 + -0x7f90))(unaff_s1);\n      (*(code *)(*(int *)(*(int *)(puVar25 + -0x50) + -0x7ef0) + -0xe08))\n                (*(undefined4 *)(puVar25 + -0x30));\n      pbVar4 = *(byte **)(puVar25 + -0x34);\n      iVar5 = *(int *)(puVar25 + -0x50);\n      unaff_s7 = ppbVar17;\n      if (pbVar4 != (byte *)0x0) {\n        FUN_000b1fe4();\n        iVar5 = *(int *)(puVar25 + -0x50);\n      }\n    }\nLAB_000b39d4:\n    if (*(int *)(puVar25 + -0x2c) == *(int *)unaff_s2) {\n      return *(int *)unaff_s2;\n    }\n    pcVar13 = *(code **)(iVar5 + -0x7ba0);\n    uVar19 = 0xb3bf0;\n    (*pcVar13)();\n    puVar7 = (undefined *)(*(int *)(pcVar13 + 0xa7b08) + 0x37f8);\n    ppbVar17 = ppbVar22;\n    pbVar20 = pbVar21;\n    pbVar21 = (byte *)0x1;\n    unaff_s4 = pbVar24;\n    unaff_s6 = pbVar9;\n    puVar25 = puVar25 + -0x68;\n  } while( true );\n}" primitive_type (function_declarator "FUN_000b2950(byte **param_1,int param_2,byte *param_3,byte *param_4,undefined4 *param_5)" identifier (parameter_list "(byte **param_1,int param_2,byte *param_3,byte *param_4,undefined4 *param_5)" ( (parameter_declaration "byte **param_1" type_identifier (pointer_declarator "**param_1" * (pointer_declarator "*param_1" * identifier))) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "byte *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "byte *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) , (parameter_declaration "undefined4 *param_5" type_identifier (pointer_declarator "*param_5" * identifier)) ))) (compound_statement "{\n  byte bVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  byte *pbVar4;\n  int iVar5;\n  undefined4 *puVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  byte *pbVar9;\n  byte **ppbVar10;\n  byte bVar12;\n  int iVar11;\n  code *pcVar13;\n  undefined4 *puVar14;\n  undefined4 *puVar15;\n  char *pcVar16;\n  byte **ppbVar17;\n  undefined4 *puVar18;\n  undefined4 uVar19;\n  byte *pbVar20;\n  byte *pbVar21;\n  byte **ppbVar22;\n  byte **ppbVar23;\n  byte **unaff_s1;\n  byte *pbVar24;\n  byte *unaff_s2;\n  byte *unaff_s3;\n  byte *unaff_s4;\n  byte *unaff_s5;\n  byte *unaff_s6;\n  byte **unaff_s7;\n  undefined1 *puVar25;\n  byte *unaff_s8;\n  undefined1 auStack_138 [24];\n  byte *local_110;\n  byte *local_cc;\n  byte *local_c8;\n  byte **local_c4;\n  undefined4 local_c0;\n  int local_bc;\n  byte *local_b8;\n  byte *local_b4;\n  byte **local_b0;\n  char local_ac [4];\n  undefined4 local_a8 [31];\n  byte *local_2c;\n  \n  puVar3 = PTR___stack_chk_guard_0015ba2c;\n  puVar7 = PTR_sqlite3_malloc64_0015b760;\n  ppbVar17 = (byte **)0x4bc;\n  local_c4 = (byte **)0x0;\n  local_c0 = 0;\n  local_bc = 0;\n  local_b8 = (byte *)0x0;\n  local_b4 = (byte *)0x0;\n  local_b0 = (byte **)0x0;\n  local_2c = *(byte **)PTR___stack_chk_guard_0015ba2c;\n  param_4[0] = 0;\n  param_4[1] = 0;\n  param_4[2] = 0;\n  param_4[3] = 0;\n  *param_5 = 0;\n  pbVar20 = param_3;\n  pbVar21 = param_4;\n  pbVar4 = (byte *)(*(code *)puVar7)(0);\n  puVar7 = PTR_UINT_0015b5fc;\n  if (pbVar4 != (byte *)0x0) {\n    unaff_s1 = (byte **)(pbVar4 + 8);\n    pbVar4[8] = 0;\n    puVar8 = PTR_DAT_0015b71c;\n    pbVar4[9] = 0;\n    puVar18 = (undefined4 *)(puVar7 + 0x638);\n    *(byte **)(pbVar4 + 0x4b8) = pbVar4 + 0x4ac;\n    puVar2 = PTR_UINT_0015b5fc;\n    pcVar13 = (code *)(puVar8 + 0x2288);\n    *(byte ***)pbVar4 = unaff_s1;\n    puVar14 = (undefined4 *)(puVar7 + 0x6b8);\n    local_c4 = param_1;\n    local_110 = param_3;\nLAB_000b2a68:\n    do {\n      unaff_s4 = param_3;\n      iVar5 = (int)(char)*unaff_s4;\n      if ((iVar5 - 9U & 0xff) < 0x18) {\n        pcVar16 = local_ac;\n        puVar6 = puVar18;\n        if ((int)((0x800013U >> (iVar5 - 9U & 0x1f)) << 0x1f) < 0) {\n          param_3 = unaff_s4 + 1;\n          goto LAB_000b2a68;\n        }\n        do {\n          puVar15 = puVar6 + 4;\n          *(undefined4 *)pcVar16 = *puVar6;\n          pbVar21 = (byte *)puVar6[1];\n          uVar19 = puVar6[2];\n          *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n          *(byte **)(pcVar16 + 4) = pbVar21;\n          *(undefined4 *)(pcVar16 + 8) = uVar19;\n          puVar6 = puVar15;\n          pcVar16 = pcVar16 + 0x10;\n        } while (puVar15 != puVar14);\nLAB_000b34f0:\n        if (local_ac[iVar5] != '\0') {\nLAB_000b2b04:\n          pbVar24 = unaff_s4;\n          do {\n            pbVar24 = pbVar24 + 1;\n            bVar12 = *pbVar24;\n            puVar6 = puVar18;\n            pcVar16 = local_ac;\n            do {\n              pbVar21 = (byte *)*puVar6;\n              puVar15 = puVar6 + 4;\n              *(byte **)pcVar16 = pbVar21;\n              pbVar20 = (byte *)puVar6[1];\n              ppbVar17 = (byte **)puVar6[2];\n              *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n              *(byte **)(pcVar16 + 4) = pbVar20;\n              *(byte ***)(pcVar16 + 8) = ppbVar17;\n              puVar6 = puVar15;\n              pcVar16 = pcVar16 + 0x10;\n            } while (puVar15 != puVar14);\n          } while (((char)bVar12 < 0) || (local_ac[(char)bVar12] != '\0'));\n          pbVar24 = pbVar24 + -(int)unaff_s4;\n          if (pbVar24 == &SUB_00000002) {\n            if ((*unaff_s4 == 0x4f) && (unaff_s4[1] == 0x52)) {\n              unaff_s2 = (byte *)0x1;\n              local_110 = &SUB_00000002;\n            }\n            else {\n              unaff_s2 = &DAT_00000009;\n              local_110 = &SUB_00000002;\n            }\n          }\n          else if (pbVar24 == (byte *)0x3) {\n            if ((*unaff_s4 == 0x4e) && (pbVar9 = &DAT_00000009, unaff_s4[1] == 0x4f)) {\n              if (unaff_s4[2] == 0x54) {\n                pbVar9 = (byte *)0x3;\n              }\n            }\n            else {\n              pbVar9 = &DAT_00000009;\n            }\n            if (((*unaff_s4 == 0x41) && (unaff_s4[1] == 0x4e)) &&\n               (unaff_s2 = &SUB_00000002, unaff_s4[2] == 0x44)) {\n              local_110 = (byte *)0x3;\n            }\n            else {\n              local_110 = (byte *)0x3;\n              unaff_s2 = pbVar9;\n            }\n          }\n          else {\n            unaff_s2 = &DAT_00000009;\n            local_110 = pbVar24;\n          }\n          goto LAB_000b2b98;\n        }\n        pbVar24 = (byte *)0x1;\n        ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70cc);\n        pbVar20 = unaff_s4;\n        (*pcVar13)(&local_c4);\n        unaff_s2 = (byte *)0x0;\n      }\n      else {\n        ppbVar17 = (byte **)0x0;\n        if (iVar5 == 0x2b) {\n          unaff_s2 = &DAT_0000000e;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x2c) {\n          if (iVar5 == 0x28) {\n            unaff_s2 = &DAT_0000000a;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 < 0x29) {\n            if (iVar5 != 0) {\n              pbVar24 = unaff_s4 + 1;\n              if (iVar5 != 0x22) {\nLAB_000b2abc:\n                puVar6 = puVar18;\n                pcVar16 = local_ac;\n                do {\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                } while (puVar15 != puVar14);\n                if (-1 < iVar5) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              bVar12 = *pbVar24;\n              if (bVar12 == 0x22) goto LAB_000b3320;\n              while (ppbVar17 = (byte **)PTR_UINT_0015b5fc, bVar12 != 0) {\n                while( true ) {\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (byte *)0x0;\n              pbVar24 = (byte *)0x1;\n              ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70e0);\n              (*pcVar13)(&local_c4);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (byte *)0x0;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 == 0x29) {\n            unaff_s2 = &DAT_0000000b;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = (byte *)0xf;\n            if (iVar5 != 0x2a) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x3a) {\n          unaff_s2 = &DAT_00000005;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x3b) {\n          if (iVar5 == 0x2c) {\n            unaff_s2 = &DAT_0000000d;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = &DAT_00000006;\n            if (iVar5 != 0x2d) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x7b) {\n          unaff_s2 = &DAT_00000007;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 == 0x7d) {\n          unaff_s2 = &DAT_00000008;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else {\n          unaff_s2 = &DAT_0000000c;\n          if (iVar5 != 0x5e) goto LAB_000b2abc;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\nLAB_000b2b98:\n        local_110 = unaff_s4 + (int)local_110;\n      }\nLAB_000b2ba0:\n      unaff_s6 = PTR_UINT_0015b5fc;\n      unaff_s7 = *(byte ***)pbVar4;\n      puVar7 = PTR_UINT_0015b5fc + 0x4920;\n      *(byte ****)(pbVar4 + 4) = &local_c4;\n      ppbVar22 = (byte **)(uint)*(byte *)unaff_s7;\n      puVar8 = PTR_UINT_0015b5fc + 0x48fc;\n      do {\n        ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n        if ((byte **)0x22 < ppbVar22) goto joined_r0x000b33cc;\n        pbVar9 = unaff_s2 + (byte)puVar8[(int)ppbVar22];\n        if ((byte *)0x78 < pbVar9) goto LAB_000b2c10;\n        while( true ) {\n          if ((byte *)(uint)pbVar9[(int)puVar7] == unaff_s2) {\n            ppbVar22 = (byte **)(uint)pbVar9[(int)(unaff_s6 + 0x499c)];\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }\n          else {\nLAB_000b2c10:\n            ppbVar22 = (byte **)(uint)*(byte *)((int)ppbVar22 + (int)(puVar2 + 0x48c4));\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }\njoined_r0x000b33cc:\n          PTR_UINT_0015b5fc = (undefined *)ppbVar10;\n          if (ppbVar22 < (byte **)0x53) {\n            if (ppbVar22 < (byte **)0x50) {\n              *(byte ***)pbVar4 = unaff_s7 + 3;\n              if (*(byte ***)(pbVar4 + 0x4b8) < unaff_s7 + 3) {\n                *(byte ***)pbVar4 = unaff_s7;\n                FUN_000b2444(pbVar4);\n              }\n              else {\n                if ((byte **)0x22 < ppbVar22) {\n                  ppbVar22 = (byte **)((uint)((int)ppbVar22 + 0x1f) & 0xff);\n                }\n                *(byte *)(unaff_s7 + 3) = (byte)ppbVar22;\n                *(byte *)((int)unaff_s7 + 0xd) = (byte)unaff_s2;\n                unaff_s7[4] = unaff_s4;\n                unaff_s7[5] = pbVar24;\n              }\n            }\n            else if (ppbVar22 == (byte **)0x51) {\n              *(byte ***)pbVar4 = unaff_s7 + -3;\n              ppbVar17 = ppbVar10;\n            }\n            else {\n              ppbVar22 = *(byte ***)(pbVar4 + 4);\n              pbVar21 = unaff_s4;\n              local_cc = unaff_s4;\n              local_c8 = pbVar24;\n              (*pcVar13)(ppbVar22,ppbVar10 + -0x1c2b);\n              ppbVar17 = &local_cc;\n              *(byte ***)(pbVar4 + 4) = ppbVar22;\n              FUN_000b23c0(unaff_s2);\n              pbVar20 = pbVar24;\n            }\n            goto LAB_000b2d18;\n          }\n          ppbVar23 = (byte **)((int)ppbVar22 + -0x53);\n          unaff_s5 = (byte *)(int)(char)*(byte *)((int)ppbVar23 + (int)(unaff_s6 + 0x488c));\n          if ((unaff_s5 != (byte *)0x0) || (unaff_s7 < *(byte ***)(pbVar4 + 0x4b8))) break;\n          FUN_000b2444(pbVar4);\n          unaff_s7 = *(byte ***)pbVar4;\n          ppbVar22 = ppbVar23;\n          if (unaff_s7 <= unaff_s1) goto LAB_000b2d18;\n          pbVar9 = unaff_s2 + 0x2c;\n          ppbVar22 = (byte **)0x0;\n        }\n        if (ppbVar23 < (byte **)0x1c) {\n                    /* WARNING: Could not emulate address calculation at 0x000b2c68 */\n                    /* WARNING: Treating indirect jump as call */\n          iVar5 = (*(code *)(&_gp_1 + (int)ppbVar10[(int)(ppbVar22 + 0xcb)]))();\n          return iVar5;\n        }\n        pbVar20 = unaff_s6 + 0x499c;\n        bVar12 = *(byte *)(unaff_s7 + (int)unaff_s5 * 3);\n        ppbVar17 = unaff_s7 + (int)unaff_s5 * 3 + 3;\n        bVar1 = *(byte *)((int)(ppbVar10 + 0x122a) + (int)ppbVar23);\n        *(byte ***)pbVar4 = ppbVar17;\n        *(byte *)((int)ppbVar17 + 1) = bVar1;\n        ppbVar22 = (byte **)(uint)pbVar20[(uint)bVar1 +\n                                          (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)];\n        *(byte *)ppbVar17 =\n             pbVar20[(uint)bVar1 + (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)];\n        unaff_s7 = *(byte ***)pbVar4;\n        ppbVar17 = ppbVar10;\n      } while (unaff_s1 < unaff_s7);\nLAB_000b2d18:\n      if ((local_bc != 0) || (param_3 = local_110, unaff_s2 == (byte *)0x0)) goto LAB_000b2d2c;\n    } while( true );\n  }\n  iVar5 = 7;\n  goto LAB_000b3294;\nLAB_000b2d2c:\n  ppbVar10 = *(byte ***)pbVar4;\n  if (unaff_s1 < ppbVar10) {\n    ppbVar22 = (byte **)(PTR_LAB_0015b6f8 + 0x23c0);\n    do {\n      ppbVar17 = ppbVar10 + 1;\n      *(byte ***)pbVar4 = ppbVar10 + -3;\n      FUN_000b23c0(*(byte *)((int)ppbVar10 + 1));\n      ppbVar10 = *(byte ***)pbVar4;\n    } while (unaff_s1 < ppbVar10);\n  }\n  (*(code *)PTR_sqlite3_free_0015b620)(pbVar4);\n  if ((param_2 < (int)param_1[3]) && (local_b0 != (byte **)0x0)) {\n    if (local_bc == 0) {\n      pbVar21 = &DAT_00000008;\n      pbVar20 = (byte *)0x0;\n      pbVar24 = (byte *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc);\n      if (pbVar24 != (byte *)0x0) {\n        *(int *)(pbVar24 + 4) = param_2;\n        pbVar24[0] = 0;\n        pbVar24[1] = 0;\n        pbVar24[2] = 0;\n        pbVar24[3] = 1;\n        ppbVar17 = local_b0;\n        FUN_000970a0(&local_c4);\n        pbVar20 = pbVar24;\n      }\n      goto LAB_000b321c;\n    }\nLAB_000b2da8:\n    FUN_000b1f34(local_b0);\n  }\n  else {\nLAB_000b321c:\n    if (local_bc != 0) goto LAB_000b2da8;\n    ppbVar22 = (byte **)(*(code *)PTR_sqlite3_malloc_0015b640)(0x18);\n    *(byte ***)param_4 = ppbVar22;\n    if (ppbVar22 == (byte **)0x0) {\n      local_bc = 7;\n      goto LAB_000b2da8;\n    }\n    if (local_b0 == (byte **)0x0) {\n      if (local_bc == 0) {\n        pbVar21 = &DAT_00000028;\n        pbVar20 = (byte *)0x0;\n        pbVar24 = (byte *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc);\n        ppbVar22[2] = pbVar24;\n        if (pbVar24 != (byte *)0x0) {\n          pbVar24[4] = 0;\n          pbVar24[5] = 0;\n          pbVar24[6] = 0;\n          pbVar24[7] = 1;\n        }\n      }\n      else {\n        ppbVar22[2] = (byte *)0x0;\n      }\n    }\n    else {\n      ppbVar22[2] = (byte *)local_b0;\n    }\n    *ppbVar22 = (byte *)0x0;\n    ppbVar22[1] = (byte *)param_1;\n    ppbVar22[5] = local_b4;\n    ppbVar22[4] = local_b8;\n    local_b4 = (byte *)0x0;\n  }\n  (*(code *)PTR_sqlite3_free_0015b620)(local_b4);\n  *param_5 = local_c0;\n  iVar5 = local_bc;\n  param_1 = ppbVar22;\n  unaff_s3 = unaff_s2;\n  unaff_s8 = pbVar4;\nLAB_000b3294:\n  if (local_2c == *(byte **)puVar3) {\n    return iVar5;\n  }\n  uVar19 = 0xb37f8;\n  pbVar4 = local_2c;\n  puVar7 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  puVar25 = auStack_138;\n  do {\n    pbVar9 = pbVar21;\n    pbVar24 = pbVar4;\n    pcVar13 = *(code **)(puVar7 + 0xa7ed0);\n    *(byte **)(puVar25 + -0x20) = unaff_s2;\n    *(undefined **)(puVar25 + -0x50) = puVar7 + 0xafdb8;\n    *(undefined4 *)(puVar25 + -4) = uVar19;\n    *(byte ***)(puVar25 + -0xc) = unaff_s7;\n    *(byte **)(puVar25 + -0x10) = unaff_s6;\n    *(byte **)(puVar25 + -0x18) = unaff_s4;\n    *(byte **)(puVar25 + -0x1c) = unaff_s3;\n    *(byte **)(puVar25 + -8) = unaff_s8;\n    *(byte **)(puVar25 + -0x14) = unaff_s5;\n    *(byte ***)(puVar25 + -0x24) = unaff_s1;\n    *(byte ***)(puVar25 + -0x28) = param_1;\n    unaff_s2 = *(byte **)(puVar7 + 0xa8234);\n    *(undefined4 *)(puVar25 + -0x2c) = *(undefined4 *)unaff_s2;\n    pbVar21 = pbVar20;\n    uVar19 = (*pcVar13)();\n    pcVar13 = *(code **)(*(int *)(puVar25 + -0x50) + -0x7ed0);\n    *(undefined4 *)(puVar25 + -0x44) = uVar19;\n    uVar19 = (*pcVar13)(pbVar24);\n    iVar5 = *(int *)(puVar25 + -0x50);\n    *(undefined4 *)(puVar25 + -0x40) = uVar19;\n    *(undefined4 *)(puVar25 + -0x38) = 0;\n    *(undefined4 *)(puVar25 + -0x34) = 0;\n    *(undefined4 *)(puVar25 + -0x30) = 0;\n    unaff_s3 = pbVar20;\n    unaff_s7 = ppbVar17;\n    if ((int)ppbVar17 < 1) {\n      if (pbVar9 == (byte *)0x0) {\n        iVar11 = *(int *)(iVar5 + -0x7fb4) + -0x705c;\n      }\n      else {\n        iVar11 = *(int *)(iVar5 + -0x7fb4) + -0x706c;\n      }\n      ppbVar22 = (byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fb4) + -0x7048,iVar11)\n      ;\n      pbVar21 = (byte *)0xffffffff;\n      *(byte ***)(puVar25 + -0x38) = ppbVar22;\n      (**(code **)(*(int *)(puVar25 + -0x50) + -0x7e40))(pbVar24);\n      pbVar4 = *(byte **)(puVar25 + -0x38);\n      (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))();\n      iVar5 = *(int *)(puVar25 + -0x50);\n    }\n    else {\n      if (pbVar9 == (byte *)0x0) {\n        param_1 = (byte **)0x1;\n        *(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050;\nLAB_000b38a0:\n        unaff_s5 = (byte *)((int)ppbVar17 + (3 - (int)param_1));\n        ppbVar22 = (byte **)((int)unaff_s5 * 4);\n        unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (unaff_s1 == (byte **)0x0) {\nLAB_000b3a30:\n          pbVar4 = pbVar24;\n          (**(code **)(iVar5 + -0x7e2c))();\n          iVar5 = *(int *)(puVar25 + -0x50);\n          goto LAB_000b39d4;\n        }\n        *unaff_s1 = (byte *)0x0;\n        unaff_s1[1] = (byte *)(*(int *)(iVar5 + -0x7fc8) + 0x538c);\n        unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c);\n        if ((int)param_1 < (int)ppbVar17) {\n          unaff_s8 = pbVar20 + (int)param_1 * 4;\n          iVar11 = (int)ppbVar17 * 4;\n          ppbVar22 = unaff_s1 + 3;\n          do {\n            ppbVar17 = ppbVar22 + 1;\n            uVar19 = *(undefined4 *)unaff_s8;\n            unaff_s8 = unaff_s8 + 4;\n            pbVar21 = (byte *)(**(code **)(iVar5 + -0x7f9c))(uVar19);\n            iVar5 = *(int *)(puVar25 + -0x50);\n            *ppbVar22 = pbVar21;\n            ppbVar22 = ppbVar17;\n          } while (pbVar20 + iVar11 != unaff_s8);\n        }\n      }\n      else {\n        if (ppbVar17 != (byte **)0x1) {\n          param_1 = (byte **)&SUB_00000002;\n          uVar19 = (**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)(pbVar20 + 4));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          *(undefined4 *)(puVar25 + -0x3c) = uVar19;\n          goto LAB_000b38a0;\n        }\n        ppbVar22 = (byte **)&DAT_0000000c;\n        unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (unaff_s1 == (byte **)0x0) goto LAB_000b3a30;\n        iVar11 = *(int *)(iVar5 + -0x7fc8);\n        unaff_s5 = (byte *)0x3;\n        *unaff_s1 = (byte *)0x0;\n        unaff_s1[1] = (byte *)(iVar11 + 0x538c);\n        *(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050;\n        unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c);\n      }\n      param_1 = (byte **)(puVar25 + -0x38);\n      unaff_s3 = (byte *)(**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)pbVar20);\n      *(byte ***)(puVar25 + -0x54) = param_1;\n      *(undefined1 **)(puVar25 + -0x58) = puVar25 + -0x30;\n      pbVar21 = unaff_s5;\n      ppbVar22 = (byte **)FUN_000961e8(*(undefined4 *)(puVar25 + -0x44),\n                                       *(undefined4 *)(puVar25 + -0x40),unaff_s5,unaff_s1);\n      iVar5 = *(int *)(puVar25 + -0x50);\n      if (ppbVar22 == (byte **)0x0) {\n        uVar19 = *(undefined4 *)(*(int *)(puVar25 + -0x30) + 0xc);\n        *(byte ***)(puVar25 + -0x58) = param_1;\n        pbVar20 = unaff_s3;\n        ppbVar22 = (byte **)FUN_000b2950(*(int *)(puVar25 + -0x30),uVar19,unaff_s3,puVar25 + -0x34);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        pbVar21 = pbVar20;\n        if (ppbVar22 != (byte **)0x0) goto LAB_000b3964;\n        pbVar21 = *(byte **)(*(int *)(puVar25 + -0x34) + 8);\n        if (*(int *)(pbVar21 + 0xc) == 0) {\n          param_1 = (byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fc8) + 0x53f4);\n          iVar5 = *(int *)(puVar25 + -0x50);\nLAB_000b3aa4:\n          ppbVar10 = *(byte ***)(puVar25 + -0x38);\n          pbVar21 = pbVar20;\n          if (param_1 != (byte **)0x0) goto LAB_000b3aac;\nLAB_000b3b54:\n          ppbVar22 = (byte **)&DAT_00000007;\n          if (ppbVar10 == (byte **)0x0) {\n            pcVar13 = *(code **)(iVar5 + -0x7e34);\n            goto LAB_000b3b60;\n          }\n          goto LAB_000b3970;\n        }\n        if (pbVar9 == (byte *)0x0) {\n          param_1 = (byte **)FUN_00097660();\n          iVar5 = *(int *)(puVar25 + -0x50);\n          goto LAB_000b3aa4;\n        }\n        param_1 = (byte **)FUN_00097234(*(undefined4 *)(puVar25 + -0x30),\n                                        *(undefined4 *)(puVar25 + -0x3c));\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (param_1 == (byte **)0x0) {\n          ppbVar10 = *(byte ***)(puVar25 + -0x38);\n          goto LAB_000b3b54;\n        }\nLAB_000b3aac:\n        pbVar21 = (byte *)0xffffffff;\n        ppbVar22 = param_1;\n        (**(code **)(iVar5 + -0x7f34))(pbVar24,param_1,0xffffffff,0xffffffff);\n        (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(param_1);\n        iVar5 = *(int *)(puVar25 + -0x50);\n      }\n      else {\nLAB_000b3964:\n        ppbVar10 = *(byte ***)(puVar25 + -0x38);\n        pcVar13 = *(code **)(iVar5 + -0x7e34);\n        if (ppbVar10 == (byte **)0x0) {\nLAB_000b3b60:\n          (*pcVar13)(pbVar24);\n          iVar5 = *(int *)(puVar25 + -0x50);\n        }\n        else {\nLAB_000b3970:\n          pbVar21 = (byte *)0xffffffff;\n          (**(code **)(iVar5 + -0x7e40))(pbVar24);\n          (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(*(undefined4 *)(puVar25 + -0x38));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          ppbVar22 = ppbVar10;\n        }\n      }\n      (**(code **)(iVar5 + -0x7f90))(unaff_s1);\n      (*(code *)(*(int *)(*(int *)(puVar25 + -0x50) + -0x7ef0) + -0xe08))\n                (*(undefined4 *)(puVar25 + -0x30));\n      pbVar4 = *(byte **)(puVar25 + -0x34);\n      iVar5 = *(int *)(puVar25 + -0x50);\n      unaff_s7 = ppbVar17;\n      if (pbVar4 != (byte *)0x0) {\n        FUN_000b1fe4();\n        iVar5 = *(int *)(puVar25 + -0x50);\n      }\n    }\nLAB_000b39d4:\n    if (*(int *)(puVar25 + -0x2c) == *(int *)unaff_s2) {\n      return *(int *)unaff_s2;\n    }\n    pcVar13 = *(code **)(iVar5 + -0x7ba0);\n    uVar19 = 0xb3bf0;\n    (*pcVar13)();\n    puVar7 = (undefined *)(*(int *)(pcVar13 + 0xa7b08) + 0x37f8);\n    ppbVar17 = ppbVar22;\n    pbVar20 = pbVar21;\n    pbVar21 = (byte *)0x1;\n    unaff_s4 = pbVar24;\n    unaff_s6 = pbVar9;\n    puVar25 = puVar25 + -0x68;\n  } while( true );\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "byte *pbVar4;" type_identifier (pointer_declarator "*pbVar4" * identifier) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "undefined4 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "undefined *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "undefined *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "byte *pbVar9;" type_identifier (pointer_declarator "*pbVar9" * identifier) ;) (declaration "byte **ppbVar10;" type_identifier (pointer_declarator "**ppbVar10" * (pointer_declarator "*ppbVar10" * identifier)) ;) (declaration "byte bVar12;" type_identifier identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "code *pcVar13;" type_identifier (pointer_declarator "*pcVar13" * identifier) ;) (declaration "undefined4 *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "undefined4 *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "char *pcVar16;" primitive_type (pointer_declarator "*pcVar16" * identifier) ;) (declaration "byte **ppbVar17;" type_identifier (pointer_declarator "**ppbVar17" * (pointer_declarator "*ppbVar17" * identifier)) ;) (declaration "undefined4 *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "undefined4 uVar19;" type_identifier identifier ;) (declaration "byte *pbVar20;" type_identifier (pointer_declarator "*pbVar20" * identifier) ;) (declaration "byte *pbVar21;" type_identifier (pointer_declarator "*pbVar21" * identifier) ;) (declaration "byte **ppbVar22;" type_identifier (pointer_declarator "**ppbVar22" * (pointer_declarator "*ppbVar22" * identifier)) ;) (declaration "byte **ppbVar23;" type_identifier (pointer_declarator "**ppbVar23" * (pointer_declarator "*ppbVar23" * identifier)) ;) (declaration "byte **unaff_s1;" type_identifier (pointer_declarator "**unaff_s1" * (pointer_declarator "*unaff_s1" * identifier)) ;) (declaration "byte *pbVar24;" type_identifier (pointer_declarator "*pbVar24" * identifier) ;) (declaration "byte *unaff_s2;" type_identifier (pointer_declarator "*unaff_s2" * identifier) ;) (declaration "byte *unaff_s3;" type_identifier (pointer_declarator "*unaff_s3" * identifier) ;) (declaration "byte *unaff_s4;" type_identifier (pointer_declarator "*unaff_s4" * identifier) ;) (declaration "byte *unaff_s5;" type_identifier (pointer_declarator "*unaff_s5" * identifier) ;) (declaration "byte *unaff_s6;" type_identifier (pointer_declarator "*unaff_s6" * identifier) ;) (declaration "byte **unaff_s7;" type_identifier (pointer_declarator "**unaff_s7" * (pointer_declarator "*unaff_s7" * identifier)) ;) (declaration "undefined1 *puVar25;" type_identifier (pointer_declarator "*puVar25" * identifier) ;) (declaration "byte *unaff_s8;" type_identifier (pointer_declarator "*unaff_s8" * identifier) ;) (declaration "undefined1 auStack_138 [24];" type_identifier (array_declarator "auStack_138 [24]" identifier [ number_literal ]) ;) (declaration "byte *local_110;" type_identifier (pointer_declarator "*local_110" * identifier) ;) (declaration "byte *local_cc;" type_identifier (pointer_declarator "*local_cc" * identifier) ;) (declaration "byte *local_c8;" type_identifier (pointer_declarator "*local_c8" * identifier) ;) (declaration "byte **local_c4;" type_identifier (pointer_declarator "**local_c4" * (pointer_declarator "*local_c4" * identifier)) ;) (declaration "undefined4 local_c0;" type_identifier identifier ;) (declaration "int local_bc;" primitive_type identifier ;) (declaration "byte *local_b8;" type_identifier (pointer_declarator "*local_b8" * identifier) ;) (declaration "byte *local_b4;" type_identifier (pointer_declarator "*local_b4" * identifier) ;) (declaration "byte **local_b0;" type_identifier (pointer_declarator "**local_b0" * (pointer_declarator "*local_b0" * identifier)) ;) (declaration "char local_ac [4];" primitive_type (array_declarator "local_ac [4]" identifier [ number_literal ]) ;) (declaration "undefined4 local_a8 [31];" type_identifier (array_declarator "local_a8 [31]" identifier [ number_literal ]) ;) (declaration "byte *local_2c;" type_identifier (pointer_declarator "*local_2c" * identifier) ;) (expression_statement "puVar3 = PTR___stack_chk_guard_0015ba2c;" (assignment_expression "puVar3 = PTR___stack_chk_guard_0015ba2c" identifier = identifier) ;) (expression_statement "puVar7 = PTR_sqlite3_malloc64_0015b760;" (assignment_expression "puVar7 = PTR_sqlite3_malloc64_0015b760" identifier = identifier) ;) (expression_statement "ppbVar17 = (byte **)0x4bc;" (assignment_expression "ppbVar17 = (byte **)0x4bc" identifier = (cast_expression "(byte **)0x4bc" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "local_c4 = (byte **)0x0;" (assignment_expression "local_c4 = (byte **)0x0" identifier = (cast_expression "(byte **)0x0" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "local_c0 = 0;" (assignment_expression "local_c0 = 0" identifier = number_literal) ;) (expression_statement "local_bc = 0;" (assignment_expression "local_bc = 0" identifier = number_literal) ;) (expression_statement "local_b8 = (byte *)0x0;" (assignment_expression "local_b8 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_b4 = (byte *)0x0;" (assignment_expression "local_b4 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_b0 = (byte **)0x0;" (assignment_expression "local_b0 = (byte **)0x0" identifier = (cast_expression "(byte **)0x0" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "local_2c = *(byte **)PTR___stack_chk_guard_0015ba2c;" (assignment_expression "local_2c = *(byte **)PTR___stack_chk_guard_0015ba2c" identifier = (pointer_expression "*(byte **)PTR___stack_chk_guard_0015ba2c" * (cast_expression "(byte **)PTR___stack_chk_guard_0015ba2c" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "param_4[0] = 0;" (assignment_expression "param_4[0] = 0" (subscript_expression "param_4[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_4[1] = 0;" (assignment_expression "param_4[1] = 0" (subscript_expression "param_4[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_4[2] = 0;" (assignment_expression "param_4[2] = 0" (subscript_expression "param_4[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_4[3] = 0;" (assignment_expression "param_4[3] = 0" (subscript_expression "param_4[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*param_5 = 0;" (assignment_expression "*param_5 = 0" (pointer_expression "*param_5" * identifier) = number_literal) ;) (expression_statement "pbVar20 = param_3;" (assignment_expression "pbVar20 = param_3" identifier = identifier) ;) (expression_statement "pbVar21 = param_4;" (assignment_expression "pbVar21 = param_4" identifier = identifier) ;) (expression_statement "pbVar4 = (byte *)(*(code *)puVar7)(0);" (assignment_expression "pbVar4 = (byte *)(*(code *)puVar7)(0)" identifier = (cast_expression "(byte *)(*(code *)puVar7)(0)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)puVar7)(0)" (parenthesized_expression "(*(code *)puVar7)" ( (pointer_expression "*(code *)puVar7" * (cast_expression "(code *)puVar7" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0)" ( number_literal ))))) ;) (expression_statement "puVar7 = PTR_UINT_0015b5fc;" (assignment_expression "puVar7 = PTR_UINT_0015b5fc" identifier = identifier) ;) (if_statement "if (pbVar4 != (byte *)0x0) {\n    unaff_s1 = (byte **)(pbVar4 + 8);\n    pbVar4[8] = 0;\n    puVar8 = PTR_DAT_0015b71c;\n    pbVar4[9] = 0;\n    puVar18 = (undefined4 *)(puVar7 + 0x638);\n    *(byte **)(pbVar4 + 0x4b8) = pbVar4 + 0x4ac;\n    puVar2 = PTR_UINT_0015b5fc;\n    pcVar13 = (code *)(puVar8 + 0x2288);\n    *(byte ***)pbVar4 = unaff_s1;\n    puVar14 = (undefined4 *)(puVar7 + 0x6b8);\n    local_c4 = param_1;\n    local_110 = param_3;\nLAB_000b2a68:\n    do {\n      unaff_s4 = param_3;\n      iVar5 = (int)(char)*unaff_s4;\n      if ((iVar5 - 9U & 0xff) < 0x18) {\n        pcVar16 = local_ac;\n        puVar6 = puVar18;\n        if ((int)((0x800013U >> (iVar5 - 9U & 0x1f)) << 0x1f) < 0) {\n          param_3 = unaff_s4 + 1;\n          goto LAB_000b2a68;\n        }\n        do {\n          puVar15 = puVar6 + 4;\n          *(undefined4 *)pcVar16 = *puVar6;\n          pbVar21 = (byte *)puVar6[1];\n          uVar19 = puVar6[2];\n          *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n          *(byte **)(pcVar16 + 4) = pbVar21;\n          *(undefined4 *)(pcVar16 + 8) = uVar19;\n          puVar6 = puVar15;\n          pcVar16 = pcVar16 + 0x10;\n        } while (puVar15 != puVar14);\nLAB_000b34f0:\n        if (local_ac[iVar5] != '\0') {\nLAB_000b2b04:\n          pbVar24 = unaff_s4;\n          do {\n            pbVar24 = pbVar24 + 1;\n            bVar12 = *pbVar24;\n            puVar6 = puVar18;\n            pcVar16 = local_ac;\n            do {\n              pbVar21 = (byte *)*puVar6;\n              puVar15 = puVar6 + 4;\n              *(byte **)pcVar16 = pbVar21;\n              pbVar20 = (byte *)puVar6[1];\n              ppbVar17 = (byte **)puVar6[2];\n              *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n              *(byte **)(pcVar16 + 4) = pbVar20;\n              *(byte ***)(pcVar16 + 8) = ppbVar17;\n              puVar6 = puVar15;\n              pcVar16 = pcVar16 + 0x10;\n            } while (puVar15 != puVar14);\n          } while (((char)bVar12 < 0) || (local_ac[(char)bVar12] != '\0'));\n          pbVar24 = pbVar24 + -(int)unaff_s4;\n          if (pbVar24 == &SUB_00000002) {\n            if ((*unaff_s4 == 0x4f) && (unaff_s4[1] == 0x52)) {\n              unaff_s2 = (byte *)0x1;\n              local_110 = &SUB_00000002;\n            }\n            else {\n              unaff_s2 = &DAT_00000009;\n              local_110 = &SUB_00000002;\n            }\n          }\n          else if (pbVar24 == (byte *)0x3) {\n            if ((*unaff_s4 == 0x4e) && (pbVar9 = &DAT_00000009, unaff_s4[1] == 0x4f)) {\n              if (unaff_s4[2] == 0x54) {\n                pbVar9 = (byte *)0x3;\n              }\n            }\n            else {\n              pbVar9 = &DAT_00000009;\n            }\n            if (((*unaff_s4 == 0x41) && (unaff_s4[1] == 0x4e)) &&\n               (unaff_s2 = &SUB_00000002, unaff_s4[2] == 0x44)) {\n              local_110 = (byte *)0x3;\n            }\n            else {\n              local_110 = (byte *)0x3;\n              unaff_s2 = pbVar9;\n            }\n          }\n          else {\n            unaff_s2 = &DAT_00000009;\n            local_110 = pbVar24;\n          }\n          goto LAB_000b2b98;\n        }\n        pbVar24 = (byte *)0x1;\n        ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70cc);\n        pbVar20 = unaff_s4;\n        (*pcVar13)(&local_c4);\n        unaff_s2 = (byte *)0x0;\n      }\n      else {\n        ppbVar17 = (byte **)0x0;\n        if (iVar5 == 0x2b) {\n          unaff_s2 = &DAT_0000000e;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x2c) {\n          if (iVar5 == 0x28) {\n            unaff_s2 = &DAT_0000000a;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 < 0x29) {\n            if (iVar5 != 0) {\n              pbVar24 = unaff_s4 + 1;\n              if (iVar5 != 0x22) {\nLAB_000b2abc:\n                puVar6 = puVar18;\n                pcVar16 = local_ac;\n                do {\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                } while (puVar15 != puVar14);\n                if (-1 < iVar5) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              bVar12 = *pbVar24;\n              if (bVar12 == 0x22) goto LAB_000b3320;\n              while (ppbVar17 = (byte **)PTR_UINT_0015b5fc, bVar12 != 0) {\n                while( true ) {\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (byte *)0x0;\n              pbVar24 = (byte *)0x1;\n              ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70e0);\n              (*pcVar13)(&local_c4);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (byte *)0x0;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 == 0x29) {\n            unaff_s2 = &DAT_0000000b;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = (byte *)0xf;\n            if (iVar5 != 0x2a) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x3a) {\n          unaff_s2 = &DAT_00000005;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x3b) {\n          if (iVar5 == 0x2c) {\n            unaff_s2 = &DAT_0000000d;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = &DAT_00000006;\n            if (iVar5 != 0x2d) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x7b) {\n          unaff_s2 = &DAT_00000007;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 == 0x7d) {\n          unaff_s2 = &DAT_00000008;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else {\n          unaff_s2 = &DAT_0000000c;\n          if (iVar5 != 0x5e) goto LAB_000b2abc;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\nLAB_000b2b98:\n        local_110 = unaff_s4 + (int)local_110;\n      }\nLAB_000b2ba0:\n      unaff_s6 = PTR_UINT_0015b5fc;\n      unaff_s7 = *(byte ***)pbVar4;\n      puVar7 = PTR_UINT_0015b5fc + 0x4920;\n      *(byte ****)(pbVar4 + 4) = &local_c4;\n      ppbVar22 = (byte **)(uint)*(byte *)unaff_s7;\n      puVar8 = PTR_UINT_0015b5fc + 0x48fc;\n      do {\n        ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n        if ((byte **)0x22 < ppbVar22) goto joined_r0x000b33cc;\n        pbVar9 = unaff_s2 + (byte)puVar8[(int)ppbVar22];\n        if ((byte *)0x78 < pbVar9) goto LAB_000b2c10;\n        while( true ) {\n          if ((byte *)(uint)pbVar9[(int)puVar7] == unaff_s2) {\n            ppbVar22 = (byte **)(uint)pbVar9[(int)(unaff_s6 + 0x499c)];\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }\n          else {\nLAB_000b2c10:\n            ppbVar22 = (byte **)(uint)*(byte *)((int)ppbVar22 + (int)(puVar2 + 0x48c4));\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }\njoined_r0x000b33cc:\n          PTR_UINT_0015b5fc = (undefined *)ppbVar10;\n          if (ppbVar22 < (byte **)0x53) {\n            if (ppbVar22 < (byte **)0x50) {\n              *(byte ***)pbVar4 = unaff_s7 + 3;\n              if (*(byte ***)(pbVar4 + 0x4b8) < unaff_s7 + 3) {\n                *(byte ***)pbVar4 = unaff_s7;\n                FUN_000b2444(pbVar4);\n              }\n              else {\n                if ((byte **)0x22 < ppbVar22) {\n                  ppbVar22 = (byte **)((uint)((int)ppbVar22 + 0x1f) & 0xff);\n                }\n                *(byte *)(unaff_s7 + 3) = (byte)ppbVar22;\n                *(byte *)((int)unaff_s7 + 0xd) = (byte)unaff_s2;\n                unaff_s7[4] = unaff_s4;\n                unaff_s7[5] = pbVar24;\n              }\n            }\n            else if (ppbVar22 == (byte **)0x51) {\n              *(byte ***)pbVar4 = unaff_s7 + -3;\n              ppbVar17 = ppbVar10;\n            }\n            else {\n              ppbVar22 = *(byte ***)(pbVar4 + 4);\n              pbVar21 = unaff_s4;\n              local_cc = unaff_s4;\n              local_c8 = pbVar24;\n              (*pcVar13)(ppbVar22,ppbVar10 + -0x1c2b);\n              ppbVar17 = &local_cc;\n              *(byte ***)(pbVar4 + 4) = ppbVar22;\n              FUN_000b23c0(unaff_s2);\n              pbVar20 = pbVar24;\n            }\n            goto LAB_000b2d18;\n          }\n          ppbVar23 = (byte **)((int)ppbVar22 + -0x53);\n          unaff_s5 = (byte *)(int)(char)*(byte *)((int)ppbVar23 + (int)(unaff_s6 + 0x488c));\n          if ((unaff_s5 != (byte *)0x0) || (unaff_s7 < *(byte ***)(pbVar4 + 0x4b8))) break;\n          FUN_000b2444(pbVar4);\n          unaff_s7 = *(byte ***)pbVar4;\n          ppbVar22 = ppbVar23;\n          if (unaff_s7 <= unaff_s1) goto LAB_000b2d18;\n          pbVar9 = unaff_s2 + 0x2c;\n          ppbVar22 = (byte **)0x0;\n        }\n        if (ppbVar23 < (byte **)0x1c) {\n                    /* WARNING: Could not emulate address calculation at 0x000b2c68 */\n                    /* WARNING: Treating indirect jump as call */\n          iVar5 = (*(code *)(&_gp_1 + (int)ppbVar10[(int)(ppbVar22 + 0xcb)]))();\n          return iVar5;\n        }\n        pbVar20 = unaff_s6 + 0x499c;\n        bVar12 = *(byte *)(unaff_s7 + (int)unaff_s5 * 3);\n        ppbVar17 = unaff_s7 + (int)unaff_s5 * 3 + 3;\n        bVar1 = *(byte *)((int)(ppbVar10 + 0x122a) + (int)ppbVar23);\n        *(byte ***)pbVar4 = ppbVar17;\n        *(byte *)((int)ppbVar17 + 1) = bVar1;\n        ppbVar22 = (byte **)(uint)pbVar20[(uint)bVar1 +\n                                          (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)];\n        *(byte *)ppbVar17 =\n             pbVar20[(uint)bVar1 + (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)];\n        unaff_s7 = *(byte ***)pbVar4;\n        ppbVar17 = ppbVar10;\n      } while (unaff_s1 < unaff_s7);\nLAB_000b2d18:\n      if ((local_bc != 0) || (param_3 = local_110, unaff_s2 == (byte *)0x0)) goto LAB_000b2d2c;\n    } while( true );\n  }" if (parenthesized_expression "(pbVar4 != (byte *)0x0)" ( (binary_expression "pbVar4 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    unaff_s1 = (byte **)(pbVar4 + 8);\n    pbVar4[8] = 0;\n    puVar8 = PTR_DAT_0015b71c;\n    pbVar4[9] = 0;\n    puVar18 = (undefined4 *)(puVar7 + 0x638);\n    *(byte **)(pbVar4 + 0x4b8) = pbVar4 + 0x4ac;\n    puVar2 = PTR_UINT_0015b5fc;\n    pcVar13 = (code *)(puVar8 + 0x2288);\n    *(byte ***)pbVar4 = unaff_s1;\n    puVar14 = (undefined4 *)(puVar7 + 0x6b8);\n    local_c4 = param_1;\n    local_110 = param_3;\nLAB_000b2a68:\n    do {\n      unaff_s4 = param_3;\n      iVar5 = (int)(char)*unaff_s4;\n      if ((iVar5 - 9U & 0xff) < 0x18) {\n        pcVar16 = local_ac;\n        puVar6 = puVar18;\n        if ((int)((0x800013U >> (iVar5 - 9U & 0x1f)) << 0x1f) < 0) {\n          param_3 = unaff_s4 + 1;\n          goto LAB_000b2a68;\n        }\n        do {\n          puVar15 = puVar6 + 4;\n          *(undefined4 *)pcVar16 = *puVar6;\n          pbVar21 = (byte *)puVar6[1];\n          uVar19 = puVar6[2];\n          *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n          *(byte **)(pcVar16 + 4) = pbVar21;\n          *(undefined4 *)(pcVar16 + 8) = uVar19;\n          puVar6 = puVar15;\n          pcVar16 = pcVar16 + 0x10;\n        } while (puVar15 != puVar14);\nLAB_000b34f0:\n        if (local_ac[iVar5] != '\0') {\nLAB_000b2b04:\n          pbVar24 = unaff_s4;\n          do {\n            pbVar24 = pbVar24 + 1;\n            bVar12 = *pbVar24;\n            puVar6 = puVar18;\n            pcVar16 = local_ac;\n            do {\n              pbVar21 = (byte *)*puVar6;\n              puVar15 = puVar6 + 4;\n              *(byte **)pcVar16 = pbVar21;\n              pbVar20 = (byte *)puVar6[1];\n              ppbVar17 = (byte **)puVar6[2];\n              *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n              *(byte **)(pcVar16 + 4) = pbVar20;\n              *(byte ***)(pcVar16 + 8) = ppbVar17;\n              puVar6 = puVar15;\n              pcVar16 = pcVar16 + 0x10;\n            } while (puVar15 != puVar14);\n          } while (((char)bVar12 < 0) || (local_ac[(char)bVar12] != '\0'));\n          pbVar24 = pbVar24 + -(int)unaff_s4;\n          if (pbVar24 == &SUB_00000002) {\n            if ((*unaff_s4 == 0x4f) && (unaff_s4[1] == 0x52)) {\n              unaff_s2 = (byte *)0x1;\n              local_110 = &SUB_00000002;\n            }\n            else {\n              unaff_s2 = &DAT_00000009;\n              local_110 = &SUB_00000002;\n            }\n          }\n          else if (pbVar24 == (byte *)0x3) {\n            if ((*unaff_s4 == 0x4e) && (pbVar9 = &DAT_00000009, unaff_s4[1] == 0x4f)) {\n              if (unaff_s4[2] == 0x54) {\n                pbVar9 = (byte *)0x3;\n              }\n            }\n            else {\n              pbVar9 = &DAT_00000009;\n            }\n            if (((*unaff_s4 == 0x41) && (unaff_s4[1] == 0x4e)) &&\n               (unaff_s2 = &SUB_00000002, unaff_s4[2] == 0x44)) {\n              local_110 = (byte *)0x3;\n            }\n            else {\n              local_110 = (byte *)0x3;\n              unaff_s2 = pbVar9;\n            }\n          }\n          else {\n            unaff_s2 = &DAT_00000009;\n            local_110 = pbVar24;\n          }\n          goto LAB_000b2b98;\n        }\n        pbVar24 = (byte *)0x1;\n        ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70cc);\n        pbVar20 = unaff_s4;\n        (*pcVar13)(&local_c4);\n        unaff_s2 = (byte *)0x0;\n      }\n      else {\n        ppbVar17 = (byte **)0x0;\n        if (iVar5 == 0x2b) {\n          unaff_s2 = &DAT_0000000e;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x2c) {\n          if (iVar5 == 0x28) {\n            unaff_s2 = &DAT_0000000a;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 < 0x29) {\n            if (iVar5 != 0) {\n              pbVar24 = unaff_s4 + 1;\n              if (iVar5 != 0x22) {\nLAB_000b2abc:\n                puVar6 = puVar18;\n                pcVar16 = local_ac;\n                do {\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                } while (puVar15 != puVar14);\n                if (-1 < iVar5) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              bVar12 = *pbVar24;\n              if (bVar12 == 0x22) goto LAB_000b3320;\n              while (ppbVar17 = (byte **)PTR_UINT_0015b5fc, bVar12 != 0) {\n                while( true ) {\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (byte *)0x0;\n              pbVar24 = (byte *)0x1;\n              ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70e0);\n              (*pcVar13)(&local_c4);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (byte *)0x0;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 == 0x29) {\n            unaff_s2 = &DAT_0000000b;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = (byte *)0xf;\n            if (iVar5 != 0x2a) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x3a) {\n          unaff_s2 = &DAT_00000005;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x3b) {\n          if (iVar5 == 0x2c) {\n            unaff_s2 = &DAT_0000000d;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = &DAT_00000006;\n            if (iVar5 != 0x2d) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x7b) {\n          unaff_s2 = &DAT_00000007;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 == 0x7d) {\n          unaff_s2 = &DAT_00000008;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else {\n          unaff_s2 = &DAT_0000000c;\n          if (iVar5 != 0x5e) goto LAB_000b2abc;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\nLAB_000b2b98:\n        local_110 = unaff_s4 + (int)local_110;\n      }\nLAB_000b2ba0:\n      unaff_s6 = PTR_UINT_0015b5fc;\n      unaff_s7 = *(byte ***)pbVar4;\n      puVar7 = PTR_UINT_0015b5fc + 0x4920;\n      *(byte ****)(pbVar4 + 4) = &local_c4;\n      ppbVar22 = (byte **)(uint)*(byte *)unaff_s7;\n      puVar8 = PTR_UINT_0015b5fc + 0x48fc;\n      do {\n        ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n        if ((byte **)0x22 < ppbVar22) goto joined_r0x000b33cc;\n        pbVar9 = unaff_s2 + (byte)puVar8[(int)ppbVar22];\n        if ((byte *)0x78 < pbVar9) goto LAB_000b2c10;\n        while( true ) {\n          if ((byte *)(uint)pbVar9[(int)puVar7] == unaff_s2) {\n            ppbVar22 = (byte **)(uint)pbVar9[(int)(unaff_s6 + 0x499c)];\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }\n          else {\nLAB_000b2c10:\n            ppbVar22 = (byte **)(uint)*(byte *)((int)ppbVar22 + (int)(puVar2 + 0x48c4));\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }\njoined_r0x000b33cc:\n          PTR_UINT_0015b5fc = (undefined *)ppbVar10;\n          if (ppbVar22 < (byte **)0x53) {\n            if (ppbVar22 < (byte **)0x50) {\n              *(byte ***)pbVar4 = unaff_s7 + 3;\n              if (*(byte ***)(pbVar4 + 0x4b8) < unaff_s7 + 3) {\n                *(byte ***)pbVar4 = unaff_s7;\n                FUN_000b2444(pbVar4);\n              }\n              else {\n                if ((byte **)0x22 < ppbVar22) {\n                  ppbVar22 = (byte **)((uint)((int)ppbVar22 + 0x1f) & 0xff);\n                }\n                *(byte *)(unaff_s7 + 3) = (byte)ppbVar22;\n                *(byte *)((int)unaff_s7 + 0xd) = (byte)unaff_s2;\n                unaff_s7[4] = unaff_s4;\n                unaff_s7[5] = pbVar24;\n              }\n            }\n            else if (ppbVar22 == (byte **)0x51) {\n              *(byte ***)pbVar4 = unaff_s7 + -3;\n              ppbVar17 = ppbVar10;\n            }\n            else {\n              ppbVar22 = *(byte ***)(pbVar4 + 4);\n              pbVar21 = unaff_s4;\n              local_cc = unaff_s4;\n              local_c8 = pbVar24;\n              (*pcVar13)(ppbVar22,ppbVar10 + -0x1c2b);\n              ppbVar17 = &local_cc;\n              *(byte ***)(pbVar4 + 4) = ppbVar22;\n              FUN_000b23c0(unaff_s2);\n              pbVar20 = pbVar24;\n            }\n            goto LAB_000b2d18;\n          }\n          ppbVar23 = (byte **)((int)ppbVar22 + -0x53);\n          unaff_s5 = (byte *)(int)(char)*(byte *)((int)ppbVar23 + (int)(unaff_s6 + 0x488c));\n          if ((unaff_s5 != (byte *)0x0) || (unaff_s7 < *(byte ***)(pbVar4 + 0x4b8))) break;\n          FUN_000b2444(pbVar4);\n          unaff_s7 = *(byte ***)pbVar4;\n          ppbVar22 = ppbVar23;\n          if (unaff_s7 <= unaff_s1) goto LAB_000b2d18;\n          pbVar9 = unaff_s2 + 0x2c;\n          ppbVar22 = (byte **)0x0;\n        }\n        if (ppbVar23 < (byte **)0x1c) {\n                    /* WARNING: Could not emulate address calculation at 0x000b2c68 */\n                    /* WARNING: Treating indirect jump as call */\n          iVar5 = (*(code *)(&_gp_1 + (int)ppbVar10[(int)(ppbVar22 + 0xcb)]))();\n          return iVar5;\n        }\n        pbVar20 = unaff_s6 + 0x499c;\n        bVar12 = *(byte *)(unaff_s7 + (int)unaff_s5 * 3);\n        ppbVar17 = unaff_s7 + (int)unaff_s5 * 3 + 3;\n        bVar1 = *(byte *)((int)(ppbVar10 + 0x122a) + (int)ppbVar23);\n        *(byte ***)pbVar4 = ppbVar17;\n        *(byte *)((int)ppbVar17 + 1) = bVar1;\n        ppbVar22 = (byte **)(uint)pbVar20[(uint)bVar1 +\n                                          (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)];\n        *(byte *)ppbVar17 =\n             pbVar20[(uint)bVar1 + (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)];\n        unaff_s7 = *(byte ***)pbVar4;\n        ppbVar17 = ppbVar10;\n      } while (unaff_s1 < unaff_s7);\nLAB_000b2d18:\n      if ((local_bc != 0) || (param_3 = local_110, unaff_s2 == (byte *)0x0)) goto LAB_000b2d2c;\n    } while( true );\n  }" { (expression_statement "unaff_s1 = (byte **)(pbVar4 + 8);" (assignment_expression "unaff_s1 = (byte **)(pbVar4 + 8)" identifier = (cast_expression "(byte **)(pbVar4 + 8)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pbVar4 + 8)" ( (binary_expression "pbVar4 + 8" identifier + number_literal) )))) ;) (expression_statement "pbVar4[8] = 0;" (assignment_expression "pbVar4[8] = 0" (subscript_expression "pbVar4[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar8 = PTR_DAT_0015b71c;" (assignment_expression "puVar8 = PTR_DAT_0015b71c" identifier = identifier) ;) (expression_statement "pbVar4[9] = 0;" (assignment_expression "pbVar4[9] = 0" (subscript_expression "pbVar4[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar18 = (undefined4 *)(puVar7 + 0x638);" (assignment_expression "puVar18 = (undefined4 *)(puVar7 + 0x638)" identifier = (cast_expression "(undefined4 *)(puVar7 + 0x638)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x638)" ( (binary_expression "puVar7 + 0x638" identifier + number_literal) )))) ;) (expression_statement "*(byte **)(pbVar4 + 0x4b8) = pbVar4 + 0x4ac;" (assignment_expression "*(byte **)(pbVar4 + 0x4b8) = pbVar4 + 0x4ac" (pointer_expression "*(byte **)(pbVar4 + 0x4b8)" * (cast_expression "(byte **)(pbVar4 + 0x4b8)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pbVar4 + 0x4b8)" ( (binary_expression "pbVar4 + 0x4b8" identifier + number_literal) )))) = (binary_expression "pbVar4 + 0x4ac" identifier + number_literal)) ;) (expression_statement "puVar2 = PTR_UINT_0015b5fc;" (assignment_expression "puVar2 = PTR_UINT_0015b5fc" identifier = identifier) ;) (expression_statement "pcVar13 = (code *)(puVar8 + 0x2288);" (assignment_expression "pcVar13 = (code *)(puVar8 + 0x2288)" identifier = (cast_expression "(code *)(puVar8 + 0x2288)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x2288)" ( (binary_expression "puVar8 + 0x2288" identifier + number_literal) )))) ;) (expression_statement "*(byte ***)pbVar4 = unaff_s1;" (assignment_expression "*(byte ***)pbVar4 = unaff_s1" (pointer_expression "*(byte ***)pbVar4" * (cast_expression "(byte ***)pbVar4" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) = identifier) ;) (expression_statement "puVar14 = (undefined4 *)(puVar7 + 0x6b8);" (assignment_expression "puVar14 = (undefined4 *)(puVar7 + 0x6b8)" identifier = (cast_expression "(undefined4 *)(puVar7 + 0x6b8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x6b8)" ( (binary_expression "puVar7 + 0x6b8" identifier + number_literal) )))) ;) (expression_statement "local_c4 = param_1;" (assignment_expression "local_c4 = param_1" identifier = identifier) ;) (expression_statement "local_110 = param_3;" (assignment_expression "local_110 = param_3" identifier = identifier) ;) (labeled_statement "LAB_000b2a68:\n    do {\n      unaff_s4 = param_3;\n      iVar5 = (int)(char)*unaff_s4;\n      if ((iVar5 - 9U & 0xff) < 0x18) {\n        pcVar16 = local_ac;\n        puVar6 = puVar18;\n        if ((int)((0x800013U >> (iVar5 - 9U & 0x1f)) << 0x1f) < 0) {\n          param_3 = unaff_s4 + 1;\n          goto LAB_000b2a68;\n        }\n        do {\n          puVar15 = puVar6 + 4;\n          *(undefined4 *)pcVar16 = *puVar6;\n          pbVar21 = (byte *)puVar6[1];\n          uVar19 = puVar6[2];\n          *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n          *(byte **)(pcVar16 + 4) = pbVar21;\n          *(undefined4 *)(pcVar16 + 8) = uVar19;\n          puVar6 = puVar15;\n          pcVar16 = pcVar16 + 0x10;\n        } while (puVar15 != puVar14);\nLAB_000b34f0:\n        if (local_ac[iVar5] != '\0') {\nLAB_000b2b04:\n          pbVar24 = unaff_s4;\n          do {\n            pbVar24 = pbVar24 + 1;\n            bVar12 = *pbVar24;\n            puVar6 = puVar18;\n            pcVar16 = local_ac;\n            do {\n              pbVar21 = (byte *)*puVar6;\n              puVar15 = puVar6 + 4;\n              *(byte **)pcVar16 = pbVar21;\n              pbVar20 = (byte *)puVar6[1];\n              ppbVar17 = (byte **)puVar6[2];\n              *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n              *(byte **)(pcVar16 + 4) = pbVar20;\n              *(byte ***)(pcVar16 + 8) = ppbVar17;\n              puVar6 = puVar15;\n              pcVar16 = pcVar16 + 0x10;\n            } while (puVar15 != puVar14);\n          } while (((char)bVar12 < 0) || (local_ac[(char)bVar12] != '\0'));\n          pbVar24 = pbVar24 + -(int)unaff_s4;\n          if (pbVar24 == &SUB_00000002) {\n            if ((*unaff_s4 == 0x4f) && (unaff_s4[1] == 0x52)) {\n              unaff_s2 = (byte *)0x1;\n              local_110 = &SUB_00000002;\n            }\n            else {\n              unaff_s2 = &DAT_00000009;\n              local_110 = &SUB_00000002;\n            }\n          }\n          else if (pbVar24 == (byte *)0x3) {\n            if ((*unaff_s4 == 0x4e) && (pbVar9 = &DAT_00000009, unaff_s4[1] == 0x4f)) {\n              if (unaff_s4[2] == 0x54) {\n                pbVar9 = (byte *)0x3;\n              }\n            }\n            else {\n              pbVar9 = &DAT_00000009;\n            }\n            if (((*unaff_s4 == 0x41) && (unaff_s4[1] == 0x4e)) &&\n               (unaff_s2 = &SUB_00000002, unaff_s4[2] == 0x44)) {\n              local_110 = (byte *)0x3;\n            }\n            else {\n              local_110 = (byte *)0x3;\n              unaff_s2 = pbVar9;\n            }\n          }\n          else {\n            unaff_s2 = &DAT_00000009;\n            local_110 = pbVar24;\n          }\n          goto LAB_000b2b98;\n        }\n        pbVar24 = (byte *)0x1;\n        ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70cc);\n        pbVar20 = unaff_s4;\n        (*pcVar13)(&local_c4);\n        unaff_s2 = (byte *)0x0;\n      }\n      else {\n        ppbVar17 = (byte **)0x0;\n        if (iVar5 == 0x2b) {\n          unaff_s2 = &DAT_0000000e;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x2c) {\n          if (iVar5 == 0x28) {\n            unaff_s2 = &DAT_0000000a;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 < 0x29) {\n            if (iVar5 != 0) {\n              pbVar24 = unaff_s4 + 1;\n              if (iVar5 != 0x22) {\nLAB_000b2abc:\n                puVar6 = puVar18;\n                pcVar16 = local_ac;\n                do {\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                } while (puVar15 != puVar14);\n                if (-1 < iVar5) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              bVar12 = *pbVar24;\n              if (bVar12 == 0x22) goto LAB_000b3320;\n              while (ppbVar17 = (byte **)PTR_UINT_0015b5fc, bVar12 != 0) {\n                while( true ) {\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (byte *)0x0;\n              pbVar24 = (byte *)0x1;\n              ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70e0);\n              (*pcVar13)(&local_c4);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (byte *)0x0;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 == 0x29) {\n            unaff_s2 = &DAT_0000000b;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = (byte *)0xf;\n            if (iVar5 != 0x2a) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x3a) {\n          unaff_s2 = &DAT_00000005;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x3b) {\n          if (iVar5 == 0x2c) {\n            unaff_s2 = &DAT_0000000d;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = &DAT_00000006;\n            if (iVar5 != 0x2d) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x7b) {\n          unaff_s2 = &DAT_00000007;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 == 0x7d) {\n          unaff_s2 = &DAT_00000008;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else {\n          unaff_s2 = &DAT_0000000c;\n          if (iVar5 != 0x5e) goto LAB_000b2abc;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\nLAB_000b2b98:\n        local_110 = unaff_s4 + (int)local_110;\n      }\nLAB_000b2ba0:\n      unaff_s6 = PTR_UINT_0015b5fc;\n      unaff_s7 = *(byte ***)pbVar4;\n      puVar7 = PTR_UINT_0015b5fc + 0x4920;\n      *(byte ****)(pbVar4 + 4) = &local_c4;\n      ppbVar22 = (byte **)(uint)*(byte *)unaff_s7;\n      puVar8 = PTR_UINT_0015b5fc + 0x48fc;\n      do {\n        ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n        if ((byte **)0x22 < ppbVar22) goto joined_r0x000b33cc;\n        pbVar9 = unaff_s2 + (byte)puVar8[(int)ppbVar22];\n        if ((byte *)0x78 < pbVar9) goto LAB_000b2c10;\n        while( true ) {\n          if ((byte *)(uint)pbVar9[(int)puVar7] == unaff_s2) {\n            ppbVar22 = (byte **)(uint)pbVar9[(int)(unaff_s6 + 0x499c)];\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }\n          else {\nLAB_000b2c10:\n            ppbVar22 = (byte **)(uint)*(byte *)((int)ppbVar22 + (int)(puVar2 + 0x48c4));\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }\njoined_r0x000b33cc:\n          PTR_UINT_0015b5fc = (undefined *)ppbVar10;\n          if (ppbVar22 < (byte **)0x53) {\n            if (ppbVar22 < (byte **)0x50) {\n              *(byte ***)pbVar4 = unaff_s7 + 3;\n              if (*(byte ***)(pbVar4 + 0x4b8) < unaff_s7 + 3) {\n                *(byte ***)pbVar4 = unaff_s7;\n                FUN_000b2444(pbVar4);\n              }\n              else {\n                if ((byte **)0x22 < ppbVar22) {\n                  ppbVar22 = (byte **)((uint)((int)ppbVar22 + 0x1f) & 0xff);\n                }\n                *(byte *)(unaff_s7 + 3) = (byte)ppbVar22;\n                *(byte *)((int)unaff_s7 + 0xd) = (byte)unaff_s2;\n                unaff_s7[4] = unaff_s4;\n                unaff_s7[5] = pbVar24;\n              }\n            }\n            else if (ppbVar22 == (byte **)0x51) {\n              *(byte ***)pbVar4 = unaff_s7 + -3;\n              ppbVar17 = ppbVar10;\n            }\n            else {\n              ppbVar22 = *(byte ***)(pbVar4 + 4);\n              pbVar21 = unaff_s4;\n              local_cc = unaff_s4;\n              local_c8 = pbVar24;\n              (*pcVar13)(ppbVar22,ppbVar10 + -0x1c2b);\n              ppbVar17 = &local_cc;\n              *(byte ***)(pbVar4 + 4) = ppbVar22;\n              FUN_000b23c0(unaff_s2);\n              pbVar20 = pbVar24;\n            }\n            goto LAB_000b2d18;\n          }\n          ppbVar23 = (byte **)((int)ppbVar22 + -0x53);\n          unaff_s5 = (byte *)(int)(char)*(byte *)((int)ppbVar23 + (int)(unaff_s6 + 0x488c));\n          if ((unaff_s5 != (byte *)0x0) || (unaff_s7 < *(byte ***)(pbVar4 + 0x4b8))) break;\n          FUN_000b2444(pbVar4);\n          unaff_s7 = *(byte ***)pbVar4;\n          ppbVar22 = ppbVar23;\n          if (unaff_s7 <= unaff_s1) goto LAB_000b2d18;\n          pbVar9 = unaff_s2 + 0x2c;\n          ppbVar22 = (byte **)0x0;\n        }\n        if (ppbVar23 < (byte **)0x1c) {\n                    /* WARNING: Could not emulate address calculation at 0x000b2c68 */\n                    /* WARNING: Treating indirect jump as call */\n          iVar5 = (*(code *)(&_gp_1 + (int)ppbVar10[(int)(ppbVar22 + 0xcb)]))();\n          return iVar5;\n        }\n        pbVar20 = unaff_s6 + 0x499c;\n        bVar12 = *(byte *)(unaff_s7 + (int)unaff_s5 * 3);\n        ppbVar17 = unaff_s7 + (int)unaff_s5 * 3 + 3;\n        bVar1 = *(byte *)((int)(ppbVar10 + 0x122a) + (int)ppbVar23);\n        *(byte ***)pbVar4 = ppbVar17;\n        *(byte *)((int)ppbVar17 + 1) = bVar1;\n        ppbVar22 = (byte **)(uint)pbVar20[(uint)bVar1 +\n                                          (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)];\n        *(byte *)ppbVar17 =\n             pbVar20[(uint)bVar1 + (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)];\n        unaff_s7 = *(byte ***)pbVar4;\n        ppbVar17 = ppbVar10;\n      } while (unaff_s1 < unaff_s7);\nLAB_000b2d18:\n      if ((local_bc != 0) || (param_3 = local_110, unaff_s2 == (byte *)0x0)) goto LAB_000b2d2c;\n    } while( true );" statement_identifier : (do_statement "do {\n      unaff_s4 = param_3;\n      iVar5 = (int)(char)*unaff_s4;\n      if ((iVar5 - 9U & 0xff) < 0x18) {\n        pcVar16 = local_ac;\n        puVar6 = puVar18;\n        if ((int)((0x800013U >> (iVar5 - 9U & 0x1f)) << 0x1f) < 0) {\n          param_3 = unaff_s4 + 1;\n          goto LAB_000b2a68;\n        }\n        do {\n          puVar15 = puVar6 + 4;\n          *(undefined4 *)pcVar16 = *puVar6;\n          pbVar21 = (byte *)puVar6[1];\n          uVar19 = puVar6[2];\n          *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n          *(byte **)(pcVar16 + 4) = pbVar21;\n          *(undefined4 *)(pcVar16 + 8) = uVar19;\n          puVar6 = puVar15;\n          pcVar16 = pcVar16 + 0x10;\n        } while (puVar15 != puVar14);\nLAB_000b34f0:\n        if (local_ac[iVar5] != '\0') {\nLAB_000b2b04:\n          pbVar24 = unaff_s4;\n          do {\n            pbVar24 = pbVar24 + 1;\n            bVar12 = *pbVar24;\n            puVar6 = puVar18;\n            pcVar16 = local_ac;\n            do {\n              pbVar21 = (byte *)*puVar6;\n              puVar15 = puVar6 + 4;\n              *(byte **)pcVar16 = pbVar21;\n              pbVar20 = (byte *)puVar6[1];\n              ppbVar17 = (byte **)puVar6[2];\n              *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n              *(byte **)(pcVar16 + 4) = pbVar20;\n              *(byte ***)(pcVar16 + 8) = ppbVar17;\n              puVar6 = puVar15;\n              pcVar16 = pcVar16 + 0x10;\n            } while (puVar15 != puVar14);\n          } while (((char)bVar12 < 0) || (local_ac[(char)bVar12] != '\0'));\n          pbVar24 = pbVar24 + -(int)unaff_s4;\n          if (pbVar24 == &SUB_00000002) {\n            if ((*unaff_s4 == 0x4f) && (unaff_s4[1] == 0x52)) {\n              unaff_s2 = (byte *)0x1;\n              local_110 = &SUB_00000002;\n            }\n            else {\n              unaff_s2 = &DAT_00000009;\n              local_110 = &SUB_00000002;\n            }\n          }\n          else if (pbVar24 == (byte *)0x3) {\n            if ((*unaff_s4 == 0x4e) && (pbVar9 = &DAT_00000009, unaff_s4[1] == 0x4f)) {\n              if (unaff_s4[2] == 0x54) {\n                pbVar9 = (byte *)0x3;\n              }\n            }\n            else {\n              pbVar9 = &DAT_00000009;\n            }\n            if (((*unaff_s4 == 0x41) && (unaff_s4[1] == 0x4e)) &&\n               (unaff_s2 = &SUB_00000002, unaff_s4[2] == 0x44)) {\n              local_110 = (byte *)0x3;\n            }\n            else {\n              local_110 = (byte *)0x3;\n              unaff_s2 = pbVar9;\n            }\n          }\n          else {\n            unaff_s2 = &DAT_00000009;\n            local_110 = pbVar24;\n          }\n          goto LAB_000b2b98;\n        }\n        pbVar24 = (byte *)0x1;\n        ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70cc);\n        pbVar20 = unaff_s4;\n        (*pcVar13)(&local_c4);\n        unaff_s2 = (byte *)0x0;\n      }\n      else {\n        ppbVar17 = (byte **)0x0;\n        if (iVar5 == 0x2b) {\n          unaff_s2 = &DAT_0000000e;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x2c) {\n          if (iVar5 == 0x28) {\n            unaff_s2 = &DAT_0000000a;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 < 0x29) {\n            if (iVar5 != 0) {\n              pbVar24 = unaff_s4 + 1;\n              if (iVar5 != 0x22) {\nLAB_000b2abc:\n                puVar6 = puVar18;\n                pcVar16 = local_ac;\n                do {\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                } while (puVar15 != puVar14);\n                if (-1 < iVar5) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              bVar12 = *pbVar24;\n              if (bVar12 == 0x22) goto LAB_000b3320;\n              while (ppbVar17 = (byte **)PTR_UINT_0015b5fc, bVar12 != 0) {\n                while( true ) {\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (byte *)0x0;\n              pbVar24 = (byte *)0x1;\n              ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70e0);\n              (*pcVar13)(&local_c4);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (byte *)0x0;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 == 0x29) {\n            unaff_s2 = &DAT_0000000b;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = (byte *)0xf;\n            if (iVar5 != 0x2a) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x3a) {\n          unaff_s2 = &DAT_00000005;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x3b) {\n          if (iVar5 == 0x2c) {\n            unaff_s2 = &DAT_0000000d;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = &DAT_00000006;\n            if (iVar5 != 0x2d) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x7b) {\n          unaff_s2 = &DAT_00000007;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 == 0x7d) {\n          unaff_s2 = &DAT_00000008;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else {\n          unaff_s2 = &DAT_0000000c;\n          if (iVar5 != 0x5e) goto LAB_000b2abc;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\nLAB_000b2b98:\n        local_110 = unaff_s4 + (int)local_110;\n      }\nLAB_000b2ba0:\n      unaff_s6 = PTR_UINT_0015b5fc;\n      unaff_s7 = *(byte ***)pbVar4;\n      puVar7 = PTR_UINT_0015b5fc + 0x4920;\n      *(byte ****)(pbVar4 + 4) = &local_c4;\n      ppbVar22 = (byte **)(uint)*(byte *)unaff_s7;\n      puVar8 = PTR_UINT_0015b5fc + 0x48fc;\n      do {\n        ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n        if ((byte **)0x22 < ppbVar22) goto joined_r0x000b33cc;\n        pbVar9 = unaff_s2 + (byte)puVar8[(int)ppbVar22];\n        if ((byte *)0x78 < pbVar9) goto LAB_000b2c10;\n        while( true ) {\n          if ((byte *)(uint)pbVar9[(int)puVar7] == unaff_s2) {\n            ppbVar22 = (byte **)(uint)pbVar9[(int)(unaff_s6 + 0x499c)];\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }\n          else {\nLAB_000b2c10:\n            ppbVar22 = (byte **)(uint)*(byte *)((int)ppbVar22 + (int)(puVar2 + 0x48c4));\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }\njoined_r0x000b33cc:\n          PTR_UINT_0015b5fc = (undefined *)ppbVar10;\n          if (ppbVar22 < (byte **)0x53) {\n            if (ppbVar22 < (byte **)0x50) {\n              *(byte ***)pbVar4 = unaff_s7 + 3;\n              if (*(byte ***)(pbVar4 + 0x4b8) < unaff_s7 + 3) {\n                *(byte ***)pbVar4 = unaff_s7;\n                FUN_000b2444(pbVar4);\n              }\n              else {\n                if ((byte **)0x22 < ppbVar22) {\n                  ppbVar22 = (byte **)((uint)((int)ppbVar22 + 0x1f) & 0xff);\n                }\n                *(byte *)(unaff_s7 + 3) = (byte)ppbVar22;\n                *(byte *)((int)unaff_s7 + 0xd) = (byte)unaff_s2;\n                unaff_s7[4] = unaff_s4;\n                unaff_s7[5] = pbVar24;\n              }\n            }\n            else if (ppbVar22 == (byte **)0x51) {\n              *(byte ***)pbVar4 = unaff_s7 + -3;\n              ppbVar17 = ppbVar10;\n            }\n            else {\n              ppbVar22 = *(byte ***)(pbVar4 + 4);\n              pbVar21 = unaff_s4;\n              local_cc = unaff_s4;\n              local_c8 = pbVar24;\n              (*pcVar13)(ppbVar22,ppbVar10 + -0x1c2b);\n              ppbVar17 = &local_cc;\n              *(byte ***)(pbVar4 + 4) = ppbVar22;\n              FUN_000b23c0(unaff_s2);\n              pbVar20 = pbVar24;\n            }\n            goto LAB_000b2d18;\n          }\n          ppbVar23 = (byte **)((int)ppbVar22 + -0x53);\n          unaff_s5 = (byte *)(int)(char)*(byte *)((int)ppbVar23 + (int)(unaff_s6 + 0x488c));\n          if ((unaff_s5 != (byte *)0x0) || (unaff_s7 < *(byte ***)(pbVar4 + 0x4b8))) break;\n          FUN_000b2444(pbVar4);\n          unaff_s7 = *(byte ***)pbVar4;\n          ppbVar22 = ppbVar23;\n          if (unaff_s7 <= unaff_s1) goto LAB_000b2d18;\n          pbVar9 = unaff_s2 + 0x2c;\n          ppbVar22 = (byte **)0x0;\n        }\n        if (ppbVar23 < (byte **)0x1c) {\n                    /* WARNING: Could not emulate address calculation at 0x000b2c68 */\n                    /* WARNING: Treating indirect jump as call */\n          iVar5 = (*(code *)(&_gp_1 + (int)ppbVar10[(int)(ppbVar22 + 0xcb)]))();\n          return iVar5;\n        }\n        pbVar20 = unaff_s6 + 0x499c;\n        bVar12 = *(byte *)(unaff_s7 + (int)unaff_s5 * 3);\n        ppbVar17 = unaff_s7 + (int)unaff_s5 * 3 + 3;\n        bVar1 = *(byte *)((int)(ppbVar10 + 0x122a) + (int)ppbVar23);\n        *(byte ***)pbVar4 = ppbVar17;\n        *(byte *)((int)ppbVar17 + 1) = bVar1;\n        ppbVar22 = (byte **)(uint)pbVar20[(uint)bVar1 +\n                                          (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)];\n        *(byte *)ppbVar17 =\n             pbVar20[(uint)bVar1 + (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)];\n        unaff_s7 = *(byte ***)pbVar4;\n        ppbVar17 = ppbVar10;\n      } while (unaff_s1 < unaff_s7);\nLAB_000b2d18:\n      if ((local_bc != 0) || (param_3 = local_110, unaff_s2 == (byte *)0x0)) goto LAB_000b2d2c;\n    } while( true );" do (compound_statement "{\n      unaff_s4 = param_3;\n      iVar5 = (int)(char)*unaff_s4;\n      if ((iVar5 - 9U & 0xff) < 0x18) {\n        pcVar16 = local_ac;\n        puVar6 = puVar18;\n        if ((int)((0x800013U >> (iVar5 - 9U & 0x1f)) << 0x1f) < 0) {\n          param_3 = unaff_s4 + 1;\n          goto LAB_000b2a68;\n        }\n        do {\n          puVar15 = puVar6 + 4;\n          *(undefined4 *)pcVar16 = *puVar6;\n          pbVar21 = (byte *)puVar6[1];\n          uVar19 = puVar6[2];\n          *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n          *(byte **)(pcVar16 + 4) = pbVar21;\n          *(undefined4 *)(pcVar16 + 8) = uVar19;\n          puVar6 = puVar15;\n          pcVar16 = pcVar16 + 0x10;\n        } while (puVar15 != puVar14);\nLAB_000b34f0:\n        if (local_ac[iVar5] != '\0') {\nLAB_000b2b04:\n          pbVar24 = unaff_s4;\n          do {\n            pbVar24 = pbVar24 + 1;\n            bVar12 = *pbVar24;\n            puVar6 = puVar18;\n            pcVar16 = local_ac;\n            do {\n              pbVar21 = (byte *)*puVar6;\n              puVar15 = puVar6 + 4;\n              *(byte **)pcVar16 = pbVar21;\n              pbVar20 = (byte *)puVar6[1];\n              ppbVar17 = (byte **)puVar6[2];\n              *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n              *(byte **)(pcVar16 + 4) = pbVar20;\n              *(byte ***)(pcVar16 + 8) = ppbVar17;\n              puVar6 = puVar15;\n              pcVar16 = pcVar16 + 0x10;\n            } while (puVar15 != puVar14);\n          } while (((char)bVar12 < 0) || (local_ac[(char)bVar12] != '\0'));\n          pbVar24 = pbVar24 + -(int)unaff_s4;\n          if (pbVar24 == &SUB_00000002) {\n            if ((*unaff_s4 == 0x4f) && (unaff_s4[1] == 0x52)) {\n              unaff_s2 = (byte *)0x1;\n              local_110 = &SUB_00000002;\n            }\n            else {\n              unaff_s2 = &DAT_00000009;\n              local_110 = &SUB_00000002;\n            }\n          }\n          else if (pbVar24 == (byte *)0x3) {\n            if ((*unaff_s4 == 0x4e) && (pbVar9 = &DAT_00000009, unaff_s4[1] == 0x4f)) {\n              if (unaff_s4[2] == 0x54) {\n                pbVar9 = (byte *)0x3;\n              }\n            }\n            else {\n              pbVar9 = &DAT_00000009;\n            }\n            if (((*unaff_s4 == 0x41) && (unaff_s4[1] == 0x4e)) &&\n               (unaff_s2 = &SUB_00000002, unaff_s4[2] == 0x44)) {\n              local_110 = (byte *)0x3;\n            }\n            else {\n              local_110 = (byte *)0x3;\n              unaff_s2 = pbVar9;\n            }\n          }\n          else {\n            unaff_s2 = &DAT_00000009;\n            local_110 = pbVar24;\n          }\n          goto LAB_000b2b98;\n        }\n        pbVar24 = (byte *)0x1;\n        ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70cc);\n        pbVar20 = unaff_s4;\n        (*pcVar13)(&local_c4);\n        unaff_s2 = (byte *)0x0;\n      }\n      else {\n        ppbVar17 = (byte **)0x0;\n        if (iVar5 == 0x2b) {\n          unaff_s2 = &DAT_0000000e;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x2c) {\n          if (iVar5 == 0x28) {\n            unaff_s2 = &DAT_0000000a;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 < 0x29) {\n            if (iVar5 != 0) {\n              pbVar24 = unaff_s4 + 1;\n              if (iVar5 != 0x22) {\nLAB_000b2abc:\n                puVar6 = puVar18;\n                pcVar16 = local_ac;\n                do {\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                } while (puVar15 != puVar14);\n                if (-1 < iVar5) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              bVar12 = *pbVar24;\n              if (bVar12 == 0x22) goto LAB_000b3320;\n              while (ppbVar17 = (byte **)PTR_UINT_0015b5fc, bVar12 != 0) {\n                while( true ) {\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (byte *)0x0;\n              pbVar24 = (byte *)0x1;\n              ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70e0);\n              (*pcVar13)(&local_c4);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (byte *)0x0;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 == 0x29) {\n            unaff_s2 = &DAT_0000000b;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = (byte *)0xf;\n            if (iVar5 != 0x2a) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x3a) {\n          unaff_s2 = &DAT_00000005;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x3b) {\n          if (iVar5 == 0x2c) {\n            unaff_s2 = &DAT_0000000d;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = &DAT_00000006;\n            if (iVar5 != 0x2d) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x7b) {\n          unaff_s2 = &DAT_00000007;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 == 0x7d) {\n          unaff_s2 = &DAT_00000008;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else {\n          unaff_s2 = &DAT_0000000c;\n          if (iVar5 != 0x5e) goto LAB_000b2abc;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\nLAB_000b2b98:\n        local_110 = unaff_s4 + (int)local_110;\n      }\nLAB_000b2ba0:\n      unaff_s6 = PTR_UINT_0015b5fc;\n      unaff_s7 = *(byte ***)pbVar4;\n      puVar7 = PTR_UINT_0015b5fc + 0x4920;\n      *(byte ****)(pbVar4 + 4) = &local_c4;\n      ppbVar22 = (byte **)(uint)*(byte *)unaff_s7;\n      puVar8 = PTR_UINT_0015b5fc + 0x48fc;\n      do {\n        ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n        if ((byte **)0x22 < ppbVar22) goto joined_r0x000b33cc;\n        pbVar9 = unaff_s2 + (byte)puVar8[(int)ppbVar22];\n        if ((byte *)0x78 < pbVar9) goto LAB_000b2c10;\n        while( true ) {\n          if ((byte *)(uint)pbVar9[(int)puVar7] == unaff_s2) {\n            ppbVar22 = (byte **)(uint)pbVar9[(int)(unaff_s6 + 0x499c)];\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }\n          else {\nLAB_000b2c10:\n            ppbVar22 = (byte **)(uint)*(byte *)((int)ppbVar22 + (int)(puVar2 + 0x48c4));\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }\njoined_r0x000b33cc:\n          PTR_UINT_0015b5fc = (undefined *)ppbVar10;\n          if (ppbVar22 < (byte **)0x53) {\n            if (ppbVar22 < (byte **)0x50) {\n              *(byte ***)pbVar4 = unaff_s7 + 3;\n              if (*(byte ***)(pbVar4 + 0x4b8) < unaff_s7 + 3) {\n                *(byte ***)pbVar4 = unaff_s7;\n                FUN_000b2444(pbVar4);\n              }\n              else {\n                if ((byte **)0x22 < ppbVar22) {\n                  ppbVar22 = (byte **)((uint)((int)ppbVar22 + 0x1f) & 0xff);\n                }\n                *(byte *)(unaff_s7 + 3) = (byte)ppbVar22;\n                *(byte *)((int)unaff_s7 + 0xd) = (byte)unaff_s2;\n                unaff_s7[4] = unaff_s4;\n                unaff_s7[5] = pbVar24;\n              }\n            }\n            else if (ppbVar22 == (byte **)0x51) {\n              *(byte ***)pbVar4 = unaff_s7 + -3;\n              ppbVar17 = ppbVar10;\n            }\n            else {\n              ppbVar22 = *(byte ***)(pbVar4 + 4);\n              pbVar21 = unaff_s4;\n              local_cc = unaff_s4;\n              local_c8 = pbVar24;\n              (*pcVar13)(ppbVar22,ppbVar10 + -0x1c2b);\n              ppbVar17 = &local_cc;\n              *(byte ***)(pbVar4 + 4) = ppbVar22;\n              FUN_000b23c0(unaff_s2);\n              pbVar20 = pbVar24;\n            }\n            goto LAB_000b2d18;\n          }\n          ppbVar23 = (byte **)((int)ppbVar22 + -0x53);\n          unaff_s5 = (byte *)(int)(char)*(byte *)((int)ppbVar23 + (int)(unaff_s6 + 0x488c));\n          if ((unaff_s5 != (byte *)0x0) || (unaff_s7 < *(byte ***)(pbVar4 + 0x4b8))) break;\n          FUN_000b2444(pbVar4);\n          unaff_s7 = *(byte ***)pbVar4;\n          ppbVar22 = ppbVar23;\n          if (unaff_s7 <= unaff_s1) goto LAB_000b2d18;\n          pbVar9 = unaff_s2 + 0x2c;\n          ppbVar22 = (byte **)0x0;\n        }\n        if (ppbVar23 < (byte **)0x1c) {\n                    /* WARNING: Could not emulate address calculation at 0x000b2c68 */\n                    /* WARNING: Treating indirect jump as call */\n          iVar5 = (*(code *)(&_gp_1 + (int)ppbVar10[(int)(ppbVar22 + 0xcb)]))();\n          return iVar5;\n        }\n        pbVar20 = unaff_s6 + 0x499c;\n        bVar12 = *(byte *)(unaff_s7 + (int)unaff_s5 * 3);\n        ppbVar17 = unaff_s7 + (int)unaff_s5 * 3 + 3;\n        bVar1 = *(byte *)((int)(ppbVar10 + 0x122a) + (int)ppbVar23);\n        *(byte ***)pbVar4 = ppbVar17;\n        *(byte *)((int)ppbVar17 + 1) = bVar1;\n        ppbVar22 = (byte **)(uint)pbVar20[(uint)bVar1 +\n                                          (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)];\n        *(byte *)ppbVar17 =\n             pbVar20[(uint)bVar1 + (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)];\n        unaff_s7 = *(byte ***)pbVar4;\n        ppbVar17 = ppbVar10;\n      } while (unaff_s1 < unaff_s7);\nLAB_000b2d18:\n      if ((local_bc != 0) || (param_3 = local_110, unaff_s2 == (byte *)0x0)) goto LAB_000b2d2c;\n    }" { (expression_statement "unaff_s4 = param_3;" (assignment_expression "unaff_s4 = param_3" identifier = identifier) ;) (expression_statement "iVar5 = (int)(char)*unaff_s4;" (assignment_expression "iVar5 = (int)(char)*unaff_s4" identifier = (cast_expression "(int)(char)*unaff_s4" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)*unaff_s4" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*unaff_s4" * identifier)))) ;) (if_statement "if ((iVar5 - 9U & 0xff) < 0x18) {\n        pcVar16 = local_ac;\n        puVar6 = puVar18;\n        if ((int)((0x800013U >> (iVar5 - 9U & 0x1f)) << 0x1f) < 0) {\n          param_3 = unaff_s4 + 1;\n          goto LAB_000b2a68;\n        }\n        do {\n          puVar15 = puVar6 + 4;\n          *(undefined4 *)pcVar16 = *puVar6;\n          pbVar21 = (byte *)puVar6[1];\n          uVar19 = puVar6[2];\n          *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n          *(byte **)(pcVar16 + 4) = pbVar21;\n          *(undefined4 *)(pcVar16 + 8) = uVar19;\n          puVar6 = puVar15;\n          pcVar16 = pcVar16 + 0x10;\n        } while (puVar15 != puVar14);\nLAB_000b34f0:\n        if (local_ac[iVar5] != '\0') {\nLAB_000b2b04:\n          pbVar24 = unaff_s4;\n          do {\n            pbVar24 = pbVar24 + 1;\n            bVar12 = *pbVar24;\n            puVar6 = puVar18;\n            pcVar16 = local_ac;\n            do {\n              pbVar21 = (byte *)*puVar6;\n              puVar15 = puVar6 + 4;\n              *(byte **)pcVar16 = pbVar21;\n              pbVar20 = (byte *)puVar6[1];\n              ppbVar17 = (byte **)puVar6[2];\n              *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n              *(byte **)(pcVar16 + 4) = pbVar20;\n              *(byte ***)(pcVar16 + 8) = ppbVar17;\n              puVar6 = puVar15;\n              pcVar16 = pcVar16 + 0x10;\n            } while (puVar15 != puVar14);\n          } while (((char)bVar12 < 0) || (local_ac[(char)bVar12] != '\0'));\n          pbVar24 = pbVar24 + -(int)unaff_s4;\n          if (pbVar24 == &SUB_00000002) {\n            if ((*unaff_s4 == 0x4f) && (unaff_s4[1] == 0x52)) {\n              unaff_s2 = (byte *)0x1;\n              local_110 = &SUB_00000002;\n            }\n            else {\n              unaff_s2 = &DAT_00000009;\n              local_110 = &SUB_00000002;\n            }\n          }\n          else if (pbVar24 == (byte *)0x3) {\n            if ((*unaff_s4 == 0x4e) && (pbVar9 = &DAT_00000009, unaff_s4[1] == 0x4f)) {\n              if (unaff_s4[2] == 0x54) {\n                pbVar9 = (byte *)0x3;\n              }\n            }\n            else {\n              pbVar9 = &DAT_00000009;\n            }\n            if (((*unaff_s4 == 0x41) && (unaff_s4[1] == 0x4e)) &&\n               (unaff_s2 = &SUB_00000002, unaff_s4[2] == 0x44)) {\n              local_110 = (byte *)0x3;\n            }\n            else {\n              local_110 = (byte *)0x3;\n              unaff_s2 = pbVar9;\n            }\n          }\n          else {\n            unaff_s2 = &DAT_00000009;\n            local_110 = pbVar24;\n          }\n          goto LAB_000b2b98;\n        }\n        pbVar24 = (byte *)0x1;\n        ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70cc);\n        pbVar20 = unaff_s4;\n        (*pcVar13)(&local_c4);\n        unaff_s2 = (byte *)0x0;\n      }\n      else {\n        ppbVar17 = (byte **)0x0;\n        if (iVar5 == 0x2b) {\n          unaff_s2 = &DAT_0000000e;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x2c) {\n          if (iVar5 == 0x28) {\n            unaff_s2 = &DAT_0000000a;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 < 0x29) {\n            if (iVar5 != 0) {\n              pbVar24 = unaff_s4 + 1;\n              if (iVar5 != 0x22) {\nLAB_000b2abc:\n                puVar6 = puVar18;\n                pcVar16 = local_ac;\n                do {\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                } while (puVar15 != puVar14);\n                if (-1 < iVar5) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              bVar12 = *pbVar24;\n              if (bVar12 == 0x22) goto LAB_000b3320;\n              while (ppbVar17 = (byte **)PTR_UINT_0015b5fc, bVar12 != 0) {\n                while( true ) {\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (byte *)0x0;\n              pbVar24 = (byte *)0x1;\n              ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70e0);\n              (*pcVar13)(&local_c4);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (byte *)0x0;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 == 0x29) {\n            unaff_s2 = &DAT_0000000b;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = (byte *)0xf;\n            if (iVar5 != 0x2a) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x3a) {\n          unaff_s2 = &DAT_00000005;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x3b) {\n          if (iVar5 == 0x2c) {\n            unaff_s2 = &DAT_0000000d;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = &DAT_00000006;\n            if (iVar5 != 0x2d) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x7b) {\n          unaff_s2 = &DAT_00000007;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 == 0x7d) {\n          unaff_s2 = &DAT_00000008;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else {\n          unaff_s2 = &DAT_0000000c;\n          if (iVar5 != 0x5e) goto LAB_000b2abc;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\nLAB_000b2b98:\n        local_110 = unaff_s4 + (int)local_110;\n      }" if (parenthesized_expression "((iVar5 - 9U & 0xff) < 0x18)" ( (binary_expression "(iVar5 - 9U & 0xff) < 0x18" (parenthesized_expression "(iVar5 - 9U & 0xff)" ( (binary_expression "iVar5 - 9U & 0xff" (binary_expression "iVar5 - 9U" identifier - number_literal) & number_literal) )) < number_literal) )) (compound_statement "{\n        pcVar16 = local_ac;\n        puVar6 = puVar18;\n        if ((int)((0x800013U >> (iVar5 - 9U & 0x1f)) << 0x1f) < 0) {\n          param_3 = unaff_s4 + 1;\n          goto LAB_000b2a68;\n        }\n        do {\n          puVar15 = puVar6 + 4;\n          *(undefined4 *)pcVar16 = *puVar6;\n          pbVar21 = (byte *)puVar6[1];\n          uVar19 = puVar6[2];\n          *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n          *(byte **)(pcVar16 + 4) = pbVar21;\n          *(undefined4 *)(pcVar16 + 8) = uVar19;\n          puVar6 = puVar15;\n          pcVar16 = pcVar16 + 0x10;\n        } while (puVar15 != puVar14);\nLAB_000b34f0:\n        if (local_ac[iVar5] != '\0') {\nLAB_000b2b04:\n          pbVar24 = unaff_s4;\n          do {\n            pbVar24 = pbVar24 + 1;\n            bVar12 = *pbVar24;\n            puVar6 = puVar18;\n            pcVar16 = local_ac;\n            do {\n              pbVar21 = (byte *)*puVar6;\n              puVar15 = puVar6 + 4;\n              *(byte **)pcVar16 = pbVar21;\n              pbVar20 = (byte *)puVar6[1];\n              ppbVar17 = (byte **)puVar6[2];\n              *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n              *(byte **)(pcVar16 + 4) = pbVar20;\n              *(byte ***)(pcVar16 + 8) = ppbVar17;\n              puVar6 = puVar15;\n              pcVar16 = pcVar16 + 0x10;\n            } while (puVar15 != puVar14);\n          } while (((char)bVar12 < 0) || (local_ac[(char)bVar12] != '\0'));\n          pbVar24 = pbVar24 + -(int)unaff_s4;\n          if (pbVar24 == &SUB_00000002) {\n            if ((*unaff_s4 == 0x4f) && (unaff_s4[1] == 0x52)) {\n              unaff_s2 = (byte *)0x1;\n              local_110 = &SUB_00000002;\n            }\n            else {\n              unaff_s2 = &DAT_00000009;\n              local_110 = &SUB_00000002;\n            }\n          }\n          else if (pbVar24 == (byte *)0x3) {\n            if ((*unaff_s4 == 0x4e) && (pbVar9 = &DAT_00000009, unaff_s4[1] == 0x4f)) {\n              if (unaff_s4[2] == 0x54) {\n                pbVar9 = (byte *)0x3;\n              }\n            }\n            else {\n              pbVar9 = &DAT_00000009;\n            }\n            if (((*unaff_s4 == 0x41) && (unaff_s4[1] == 0x4e)) &&\n               (unaff_s2 = &SUB_00000002, unaff_s4[2] == 0x44)) {\n              local_110 = (byte *)0x3;\n            }\n            else {\n              local_110 = (byte *)0x3;\n              unaff_s2 = pbVar9;\n            }\n          }\n          else {\n            unaff_s2 = &DAT_00000009;\n            local_110 = pbVar24;\n          }\n          goto LAB_000b2b98;\n        }\n        pbVar24 = (byte *)0x1;\n        ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70cc);\n        pbVar20 = unaff_s4;\n        (*pcVar13)(&local_c4);\n        unaff_s2 = (byte *)0x0;\n      }" { (expression_statement "pcVar16 = local_ac;" (assignment_expression "pcVar16 = local_ac" identifier = identifier) ;) (expression_statement "puVar6 = puVar18;" (assignment_expression "puVar6 = puVar18" identifier = identifier) ;) (if_statement "if ((int)((0x800013U >> (iVar5 - 9U & 0x1f)) << 0x1f) < 0) {\n          param_3 = unaff_s4 + 1;\n          goto LAB_000b2a68;\n        }" if (parenthesized_expression "((int)((0x800013U >> (iVar5 - 9U & 0x1f)) << 0x1f) < 0)" ( (binary_expression "(int)((0x800013U >> (iVar5 - 9U & 0x1f)) << 0x1f) < 0" (cast_expression "(int)((0x800013U >> (iVar5 - 9U & 0x1f)) << 0x1f)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((0x800013U >> (iVar5 - 9U & 0x1f)) << 0x1f)" ( (binary_expression "(0x800013U >> (iVar5 - 9U & 0x1f)) << 0x1f" (parenthesized_expression "(0x800013U >> (iVar5 - 9U & 0x1f))" ( (binary_expression "0x800013U >> (iVar5 - 9U & 0x1f)" number_literal >> (parenthesized_expression "(iVar5 - 9U & 0x1f)" ( (binary_expression "iVar5 - 9U & 0x1f" (binary_expression "iVar5 - 9U" identifier - number_literal) & number_literal) ))) )) << number_literal) ))) < number_literal) )) (compound_statement "{\n          param_3 = unaff_s4 + 1;\n          goto LAB_000b2a68;\n        }" { (expression_statement "param_3 = unaff_s4 + 1;" (assignment_expression "param_3 = unaff_s4 + 1" identifier = (binary_expression "unaff_s4 + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_000b2a68;" goto statement_identifier ;) })) (do_statement "do {\n          puVar15 = puVar6 + 4;\n          *(undefined4 *)pcVar16 = *puVar6;\n          pbVar21 = (byte *)puVar6[1];\n          uVar19 = puVar6[2];\n          *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n          *(byte **)(pcVar16 + 4) = pbVar21;\n          *(undefined4 *)(pcVar16 + 8) = uVar19;\n          puVar6 = puVar15;\n          pcVar16 = pcVar16 + 0x10;\n        } while (puVar15 != puVar14);" do (compound_statement "{\n          puVar15 = puVar6 + 4;\n          *(undefined4 *)pcVar16 = *puVar6;\n          pbVar21 = (byte *)puVar6[1];\n          uVar19 = puVar6[2];\n          *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n          *(byte **)(pcVar16 + 4) = pbVar21;\n          *(undefined4 *)(pcVar16 + 8) = uVar19;\n          puVar6 = puVar15;\n          pcVar16 = pcVar16 + 0x10;\n        }" { (expression_statement "puVar15 = puVar6 + 4;" (assignment_expression "puVar15 = puVar6 + 4" identifier = (binary_expression "puVar6 + 4" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)pcVar16 = *puVar6;" (assignment_expression "*(undefined4 *)pcVar16 = *puVar6" (pointer_expression "*(undefined4 *)pcVar16" * (cast_expression "(undefined4 *)pcVar16" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (pointer_expression "*puVar6" * identifier)) ;) (expression_statement "pbVar21 = (byte *)puVar6[1];" (assignment_expression "pbVar21 = (byte *)puVar6[1]" identifier = (cast_expression "(byte *)puVar6[1]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar6[1]" identifier [ number_literal ]))) ;) (expression_statement "uVar19 = puVar6[2];" (assignment_expression "uVar19 = puVar6[2]" identifier = (subscript_expression "puVar6[2]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(pcVar16 + 0xc) = puVar6[3];" (assignment_expression "*(undefined4 *)(pcVar16 + 0xc) = puVar6[3]" (pointer_expression "*(undefined4 *)(pcVar16 + 0xc)" * (cast_expression "(undefined4 *)(pcVar16 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0xc)" ( (binary_expression "pcVar16 + 0xc" identifier + number_literal) )))) = (subscript_expression "puVar6[3]" identifier [ number_literal ])) ;) (expression_statement "*(byte **)(pcVar16 + 4) = pbVar21;" (assignment_expression "*(byte **)(pcVar16 + 4) = pbVar21" (pointer_expression "*(byte **)(pcVar16 + 4)" * (cast_expression "(byte **)(pcVar16 + 4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 4)" ( (binary_expression "pcVar16 + 4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(pcVar16 + 8) = uVar19;" (assignment_expression "*(undefined4 *)(pcVar16 + 8) = uVar19" (pointer_expression "*(undefined4 *)(pcVar16 + 8)" * (cast_expression "(undefined4 *)(pcVar16 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 8)" ( (binary_expression "pcVar16 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar6 = puVar15;" (assignment_expression "puVar6 = puVar15" identifier = identifier) ;) (expression_statement "pcVar16 = pcVar16 + 0x10;" (assignment_expression "pcVar16 = pcVar16 + 0x10" identifier = (binary_expression "pcVar16 + 0x10" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar15 != puVar14)" ( (binary_expression "puVar15 != puVar14" identifier != identifier) )) ;) (labeled_statement "LAB_000b34f0:\n        if (local_ac[iVar5] != '\0') {\nLAB_000b2b04:\n          pbVar24 = unaff_s4;\n          do {\n            pbVar24 = pbVar24 + 1;\n            bVar12 = *pbVar24;\n            puVar6 = puVar18;\n            pcVar16 = local_ac;\n            do {\n              pbVar21 = (byte *)*puVar6;\n              puVar15 = puVar6 + 4;\n              *(byte **)pcVar16 = pbVar21;\n              pbVar20 = (byte *)puVar6[1];\n              ppbVar17 = (byte **)puVar6[2];\n              *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n              *(byte **)(pcVar16 + 4) = pbVar20;\n              *(byte ***)(pcVar16 + 8) = ppbVar17;\n              puVar6 = puVar15;\n              pcVar16 = pcVar16 + 0x10;\n            } while (puVar15 != puVar14);\n          } while (((char)bVar12 < 0) || (local_ac[(char)bVar12] != '\0'));\n          pbVar24 = pbVar24 + -(int)unaff_s4;\n          if (pbVar24 == &SUB_00000002) {\n            if ((*unaff_s4 == 0x4f) && (unaff_s4[1] == 0x52)) {\n              unaff_s2 = (byte *)0x1;\n              local_110 = &SUB_00000002;\n            }\n            else {\n              unaff_s2 = &DAT_00000009;\n              local_110 = &SUB_00000002;\n            }\n          }\n          else if (pbVar24 == (byte *)0x3) {\n            if ((*unaff_s4 == 0x4e) && (pbVar9 = &DAT_00000009, unaff_s4[1] == 0x4f)) {\n              if (unaff_s4[2] == 0x54) {\n                pbVar9 = (byte *)0x3;\n              }\n            }\n            else {\n              pbVar9 = &DAT_00000009;\n            }\n            if (((*unaff_s4 == 0x41) && (unaff_s4[1] == 0x4e)) &&\n               (unaff_s2 = &SUB_00000002, unaff_s4[2] == 0x44)) {\n              local_110 = (byte *)0x3;\n            }\n            else {\n              local_110 = (byte *)0x3;\n              unaff_s2 = pbVar9;\n            }\n          }\n          else {\n            unaff_s2 = &DAT_00000009;\n            local_110 = pbVar24;\n          }\n          goto LAB_000b2b98;\n        }" statement_identifier : (if_statement "if (local_ac[iVar5] != '\0') {\nLAB_000b2b04:\n          pbVar24 = unaff_s4;\n          do {\n            pbVar24 = pbVar24 + 1;\n            bVar12 = *pbVar24;\n            puVar6 = puVar18;\n            pcVar16 = local_ac;\n            do {\n              pbVar21 = (byte *)*puVar6;\n              puVar15 = puVar6 + 4;\n              *(byte **)pcVar16 = pbVar21;\n              pbVar20 = (byte *)puVar6[1];\n              ppbVar17 = (byte **)puVar6[2];\n              *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n              *(byte **)(pcVar16 + 4) = pbVar20;\n              *(byte ***)(pcVar16 + 8) = ppbVar17;\n              puVar6 = puVar15;\n              pcVar16 = pcVar16 + 0x10;\n            } while (puVar15 != puVar14);\n          } while (((char)bVar12 < 0) || (local_ac[(char)bVar12] != '\0'));\n          pbVar24 = pbVar24 + -(int)unaff_s4;\n          if (pbVar24 == &SUB_00000002) {\n            if ((*unaff_s4 == 0x4f) && (unaff_s4[1] == 0x52)) {\n              unaff_s2 = (byte *)0x1;\n              local_110 = &SUB_00000002;\n            }\n            else {\n              unaff_s2 = &DAT_00000009;\n              local_110 = &SUB_00000002;\n            }\n          }\n          else if (pbVar24 == (byte *)0x3) {\n            if ((*unaff_s4 == 0x4e) && (pbVar9 = &DAT_00000009, unaff_s4[1] == 0x4f)) {\n              if (unaff_s4[2] == 0x54) {\n                pbVar9 = (byte *)0x3;\n              }\n            }\n            else {\n              pbVar9 = &DAT_00000009;\n            }\n            if (((*unaff_s4 == 0x41) && (unaff_s4[1] == 0x4e)) &&\n               (unaff_s2 = &SUB_00000002, unaff_s4[2] == 0x44)) {\n              local_110 = (byte *)0x3;\n            }\n            else {\n              local_110 = (byte *)0x3;\n              unaff_s2 = pbVar9;\n            }\n          }\n          else {\n            unaff_s2 = &DAT_00000009;\n            local_110 = pbVar24;\n          }\n          goto LAB_000b2b98;\n        }" if (parenthesized_expression "(local_ac[iVar5] != '\0')" ( (binary_expression "local_ac[iVar5] != '\0'" (subscript_expression "local_ac[iVar5]" identifier [ identifier ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_000b2b04:\n          pbVar24 = unaff_s4;\n          do {\n            pbVar24 = pbVar24 + 1;\n            bVar12 = *pbVar24;\n            puVar6 = puVar18;\n            pcVar16 = local_ac;\n            do {\n              pbVar21 = (byte *)*puVar6;\n              puVar15 = puVar6 + 4;\n              *(byte **)pcVar16 = pbVar21;\n              pbVar20 = (byte *)puVar6[1];\n              ppbVar17 = (byte **)puVar6[2];\n              *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n              *(byte **)(pcVar16 + 4) = pbVar20;\n              *(byte ***)(pcVar16 + 8) = ppbVar17;\n              puVar6 = puVar15;\n              pcVar16 = pcVar16 + 0x10;\n            } while (puVar15 != puVar14);\n          } while (((char)bVar12 < 0) || (local_ac[(char)bVar12] != '\0'));\n          pbVar24 = pbVar24 + -(int)unaff_s4;\n          if (pbVar24 == &SUB_00000002) {\n            if ((*unaff_s4 == 0x4f) && (unaff_s4[1] == 0x52)) {\n              unaff_s2 = (byte *)0x1;\n              local_110 = &SUB_00000002;\n            }\n            else {\n              unaff_s2 = &DAT_00000009;\n              local_110 = &SUB_00000002;\n            }\n          }\n          else if (pbVar24 == (byte *)0x3) {\n            if ((*unaff_s4 == 0x4e) && (pbVar9 = &DAT_00000009, unaff_s4[1] == 0x4f)) {\n              if (unaff_s4[2] == 0x54) {\n                pbVar9 = (byte *)0x3;\n              }\n            }\n            else {\n              pbVar9 = &DAT_00000009;\n            }\n            if (((*unaff_s4 == 0x41) && (unaff_s4[1] == 0x4e)) &&\n               (unaff_s2 = &SUB_00000002, unaff_s4[2] == 0x44)) {\n              local_110 = (byte *)0x3;\n            }\n            else {\n              local_110 = (byte *)0x3;\n              unaff_s2 = pbVar9;\n            }\n          }\n          else {\n            unaff_s2 = &DAT_00000009;\n            local_110 = pbVar24;\n          }\n          goto LAB_000b2b98;\n        }" { (labeled_statement "LAB_000b2b04:\n          pbVar24 = unaff_s4;" statement_identifier : (expression_statement "pbVar24 = unaff_s4;" (assignment_expression "pbVar24 = unaff_s4" identifier = identifier) ;)) (do_statement "do {\n            pbVar24 = pbVar24 + 1;\n            bVar12 = *pbVar24;\n            puVar6 = puVar18;\n            pcVar16 = local_ac;\n            do {\n              pbVar21 = (byte *)*puVar6;\n              puVar15 = puVar6 + 4;\n              *(byte **)pcVar16 = pbVar21;\n              pbVar20 = (byte *)puVar6[1];\n              ppbVar17 = (byte **)puVar6[2];\n              *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n              *(byte **)(pcVar16 + 4) = pbVar20;\n              *(byte ***)(pcVar16 + 8) = ppbVar17;\n              puVar6 = puVar15;\n              pcVar16 = pcVar16 + 0x10;\n            } while (puVar15 != puVar14);\n          } while (((char)bVar12 < 0) || (local_ac[(char)bVar12] != '\0'));" do (compound_statement "{\n            pbVar24 = pbVar24 + 1;\n            bVar12 = *pbVar24;\n            puVar6 = puVar18;\n            pcVar16 = local_ac;\n            do {\n              pbVar21 = (byte *)*puVar6;\n              puVar15 = puVar6 + 4;\n              *(byte **)pcVar16 = pbVar21;\n              pbVar20 = (byte *)puVar6[1];\n              ppbVar17 = (byte **)puVar6[2];\n              *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n              *(byte **)(pcVar16 + 4) = pbVar20;\n              *(byte ***)(pcVar16 + 8) = ppbVar17;\n              puVar6 = puVar15;\n              pcVar16 = pcVar16 + 0x10;\n            } while (puVar15 != puVar14);\n          }" { (expression_statement "pbVar24 = pbVar24 + 1;" (assignment_expression "pbVar24 = pbVar24 + 1" identifier = (binary_expression "pbVar24 + 1" identifier + number_literal)) ;) (expression_statement "bVar12 = *pbVar24;" (assignment_expression "bVar12 = *pbVar24" identifier = (pointer_expression "*pbVar24" * identifier)) ;) (expression_statement "puVar6 = puVar18;" (assignment_expression "puVar6 = puVar18" identifier = identifier) ;) (expression_statement "pcVar16 = local_ac;" (assignment_expression "pcVar16 = local_ac" identifier = identifier) ;) (do_statement "do {\n              pbVar21 = (byte *)*puVar6;\n              puVar15 = puVar6 + 4;\n              *(byte **)pcVar16 = pbVar21;\n              pbVar20 = (byte *)puVar6[1];\n              ppbVar17 = (byte **)puVar6[2];\n              *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n              *(byte **)(pcVar16 + 4) = pbVar20;\n              *(byte ***)(pcVar16 + 8) = ppbVar17;\n              puVar6 = puVar15;\n              pcVar16 = pcVar16 + 0x10;\n            } while (puVar15 != puVar14);" do (compound_statement "{\n              pbVar21 = (byte *)*puVar6;\n              puVar15 = puVar6 + 4;\n              *(byte **)pcVar16 = pbVar21;\n              pbVar20 = (byte *)puVar6[1];\n              ppbVar17 = (byte **)puVar6[2];\n              *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n              *(byte **)(pcVar16 + 4) = pbVar20;\n              *(byte ***)(pcVar16 + 8) = ppbVar17;\n              puVar6 = puVar15;\n              pcVar16 = pcVar16 + 0x10;\n            }" { (expression_statement "pbVar21 = (byte *)*puVar6;" (assignment_expression "pbVar21 = (byte *)*puVar6" identifier = (cast_expression "(byte *)*puVar6" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar6" * identifier))) ;) (expression_statement "puVar15 = puVar6 + 4;" (assignment_expression "puVar15 = puVar6 + 4" identifier = (binary_expression "puVar6 + 4" identifier + number_literal)) ;) (expression_statement "*(byte **)pcVar16 = pbVar21;" (assignment_expression "*(byte **)pcVar16 = pbVar21" (pointer_expression "*(byte **)pcVar16" * (cast_expression "(byte **)pcVar16" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = identifier) ;) (expression_statement "pbVar20 = (byte *)puVar6[1];" (assignment_expression "pbVar20 = (byte *)puVar6[1]" identifier = (cast_expression "(byte *)puVar6[1]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar6[1]" identifier [ number_literal ]))) ;) (expression_statement "ppbVar17 = (byte **)puVar6[2];" (assignment_expression "ppbVar17 = (byte **)puVar6[2]" identifier = (cast_expression "(byte **)puVar6[2]" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "puVar6[2]" identifier [ number_literal ]))) ;) (expression_statement "*(undefined4 *)(pcVar16 + 0xc) = puVar6[3];" (assignment_expression "*(undefined4 *)(pcVar16 + 0xc) = puVar6[3]" (pointer_expression "*(undefined4 *)(pcVar16 + 0xc)" * (cast_expression "(undefined4 *)(pcVar16 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0xc)" ( (binary_expression "pcVar16 + 0xc" identifier + number_literal) )))) = (subscript_expression "puVar6[3]" identifier [ number_literal ])) ;) (expression_statement "*(byte **)(pcVar16 + 4) = pbVar20;" (assignment_expression "*(byte **)(pcVar16 + 4) = pbVar20" (pointer_expression "*(byte **)(pcVar16 + 4)" * (cast_expression "(byte **)(pcVar16 + 4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 4)" ( (binary_expression "pcVar16 + 4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(byte ***)(pcVar16 + 8) = ppbVar17;" (assignment_expression "*(byte ***)(pcVar16 + 8) = ppbVar17" (pointer_expression "*(byte ***)(pcVar16 + 8)" * (cast_expression "(byte ***)(pcVar16 + 8)" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(pcVar16 + 8)" ( (binary_expression "pcVar16 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar6 = puVar15;" (assignment_expression "puVar6 = puVar15" identifier = identifier) ;) (expression_statement "pcVar16 = pcVar16 + 0x10;" (assignment_expression "pcVar16 = pcVar16 + 0x10" identifier = (binary_expression "pcVar16 + 0x10" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar15 != puVar14)" ( (binary_expression "puVar15 != puVar14" identifier != identifier) )) ;) }) while (parenthesized_expression "(((char)bVar12 < 0) || (local_ac[(char)bVar12] != '\0'))" ( (binary_expression "((char)bVar12 < 0) || (local_ac[(char)bVar12] != '\0')" (parenthesized_expression "((char)bVar12 < 0)" ( (binary_expression "(char)bVar12 < 0" (cast_expression "(char)bVar12" ( (type_descriptor "char" primitive_type) ) identifier) < number_literal) )) || (parenthesized_expression "(local_ac[(char)bVar12] != '\0')" ( (binary_expression "local_ac[(char)bVar12] != '\0'" (subscript_expression "local_ac[(char)bVar12]" identifier [ (cast_expression "(char)bVar12" ( (type_descriptor "char" primitive_type) ) identifier) ]) != (char_literal "'\0'" ' escape_sequence ')) ))) )) ;) (expression_statement "pbVar24 = pbVar24 + -(int)unaff_s4;" (assignment_expression "pbVar24 = pbVar24 + -(int)unaff_s4" identifier = (binary_expression "pbVar24 + -(int)unaff_s4" identifier + (unary_expression "-(int)unaff_s4" - (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier)))) ;) (if_statement "if (pbVar24 == &SUB_00000002) {\n            if ((*unaff_s4 == 0x4f) && (unaff_s4[1] == 0x52)) {\n              unaff_s2 = (byte *)0x1;\n              local_110 = &SUB_00000002;\n            }\n            else {\n              unaff_s2 = &DAT_00000009;\n              local_110 = &SUB_00000002;\n            }\n          }\n          else if (pbVar24 == (byte *)0x3) {\n            if ((*unaff_s4 == 0x4e) && (pbVar9 = &DAT_00000009, unaff_s4[1] == 0x4f)) {\n              if (unaff_s4[2] == 0x54) {\n                pbVar9 = (byte *)0x3;\n              }\n            }\n            else {\n              pbVar9 = &DAT_00000009;\n            }\n            if (((*unaff_s4 == 0x41) && (unaff_s4[1] == 0x4e)) &&\n               (unaff_s2 = &SUB_00000002, unaff_s4[2] == 0x44)) {\n              local_110 = (byte *)0x3;\n            }\n            else {\n              local_110 = (byte *)0x3;\n              unaff_s2 = pbVar9;\n            }\n          }\n          else {\n            unaff_s2 = &DAT_00000009;\n            local_110 = pbVar24;\n          }" if (parenthesized_expression "(pbVar24 == &SUB_00000002)" ( (binary_expression "pbVar24 == &SUB_00000002" identifier == (pointer_expression "&SUB_00000002" & identifier)) )) (compound_statement "{\n            if ((*unaff_s4 == 0x4f) && (unaff_s4[1] == 0x52)) {\n              unaff_s2 = (byte *)0x1;\n              local_110 = &SUB_00000002;\n            }\n            else {\n              unaff_s2 = &DAT_00000009;\n              local_110 = &SUB_00000002;\n            }\n          }" { (if_statement "if ((*unaff_s4 == 0x4f) && (unaff_s4[1] == 0x52)) {\n              unaff_s2 = (byte *)0x1;\n              local_110 = &SUB_00000002;\n            }\n            else {\n              unaff_s2 = &DAT_00000009;\n              local_110 = &SUB_00000002;\n            }" if (parenthesized_expression "((*unaff_s4 == 0x4f) && (unaff_s4[1] == 0x52))" ( (binary_expression "(*unaff_s4 == 0x4f) && (unaff_s4[1] == 0x52)" (parenthesized_expression "(*unaff_s4 == 0x4f)" ( (binary_expression "*unaff_s4 == 0x4f" (pointer_expression "*unaff_s4" * identifier) == number_literal) )) && (parenthesized_expression "(unaff_s4[1] == 0x52)" ( (binary_expression "unaff_s4[1] == 0x52" (subscript_expression "unaff_s4[1]" identifier [ number_literal ]) == number_literal) ))) )) (compound_statement "{\n              unaff_s2 = (byte *)0x1;\n              local_110 = &SUB_00000002;\n            }" { (expression_statement "unaff_s2 = (byte *)0x1;" (assignment_expression "unaff_s2 = (byte *)0x1" identifier = (cast_expression "(byte *)0x1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_110 = &SUB_00000002;" (assignment_expression "local_110 = &SUB_00000002" identifier = (pointer_expression "&SUB_00000002" & identifier)) ;) }) (else_clause "else {\n              unaff_s2 = &DAT_00000009;\n              local_110 = &SUB_00000002;\n            }" else (compound_statement "{\n              unaff_s2 = &DAT_00000009;\n              local_110 = &SUB_00000002;\n            }" { (expression_statement "unaff_s2 = &DAT_00000009;" (assignment_expression "unaff_s2 = &DAT_00000009" identifier = (pointer_expression "&DAT_00000009" & identifier)) ;) (expression_statement "local_110 = &SUB_00000002;" (assignment_expression "local_110 = &SUB_00000002" identifier = (pointer_expression "&SUB_00000002" & identifier)) ;) }))) }) (else_clause "else if (pbVar24 == (byte *)0x3) {\n            if ((*unaff_s4 == 0x4e) && (pbVar9 = &DAT_00000009, unaff_s4[1] == 0x4f)) {\n              if (unaff_s4[2] == 0x54) {\n                pbVar9 = (byte *)0x3;\n              }\n            }\n            else {\n              pbVar9 = &DAT_00000009;\n            }\n            if (((*unaff_s4 == 0x41) && (unaff_s4[1] == 0x4e)) &&\n               (unaff_s2 = &SUB_00000002, unaff_s4[2] == 0x44)) {\n              local_110 = (byte *)0x3;\n            }\n            else {\n              local_110 = (byte *)0x3;\n              unaff_s2 = pbVar9;\n            }\n          }\n          else {\n            unaff_s2 = &DAT_00000009;\n            local_110 = pbVar24;\n          }" else (if_statement "if (pbVar24 == (byte *)0x3) {\n            if ((*unaff_s4 == 0x4e) && (pbVar9 = &DAT_00000009, unaff_s4[1] == 0x4f)) {\n              if (unaff_s4[2] == 0x54) {\n                pbVar9 = (byte *)0x3;\n              }\n            }\n            else {\n              pbVar9 = &DAT_00000009;\n            }\n            if (((*unaff_s4 == 0x41) && (unaff_s4[1] == 0x4e)) &&\n               (unaff_s2 = &SUB_00000002, unaff_s4[2] == 0x44)) {\n              local_110 = (byte *)0x3;\n            }\n            else {\n              local_110 = (byte *)0x3;\n              unaff_s2 = pbVar9;\n            }\n          }\n          else {\n            unaff_s2 = &DAT_00000009;\n            local_110 = pbVar24;\n          }" if (parenthesized_expression "(pbVar24 == (byte *)0x3)" ( (binary_expression "pbVar24 == (byte *)0x3" identifier == (cast_expression "(byte *)0x3" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            if ((*unaff_s4 == 0x4e) && (pbVar9 = &DAT_00000009, unaff_s4[1] == 0x4f)) {\n              if (unaff_s4[2] == 0x54) {\n                pbVar9 = (byte *)0x3;\n              }\n            }\n            else {\n              pbVar9 = &DAT_00000009;\n            }\n            if (((*unaff_s4 == 0x41) && (unaff_s4[1] == 0x4e)) &&\n               (unaff_s2 = &SUB_00000002, unaff_s4[2] == 0x44)) {\n              local_110 = (byte *)0x3;\n            }\n            else {\n              local_110 = (byte *)0x3;\n              unaff_s2 = pbVar9;\n            }\n          }" { (if_statement "if ((*unaff_s4 == 0x4e) && (pbVar9 = &DAT_00000009, unaff_s4[1] == 0x4f)) {\n              if (unaff_s4[2] == 0x54) {\n                pbVar9 = (byte *)0x3;\n              }\n            }\n            else {\n              pbVar9 = &DAT_00000009;\n            }" if (parenthesized_expression "((*unaff_s4 == 0x4e) && (pbVar9 = &DAT_00000009, unaff_s4[1] == 0x4f))" ( (binary_expression "(*unaff_s4 == 0x4e) && (pbVar9 = &DAT_00000009, unaff_s4[1] == 0x4f)" (parenthesized_expression "(*unaff_s4 == 0x4e)" ( (binary_expression "*unaff_s4 == 0x4e" (pointer_expression "*unaff_s4" * identifier) == number_literal) )) && (parenthesized_expression "(pbVar9 = &DAT_00000009, unaff_s4[1] == 0x4f)" ( (comma_expression "pbVar9 = &DAT_00000009, unaff_s4[1] == 0x4f" (assignment_expression "pbVar9 = &DAT_00000009" identifier = (pointer_expression "&DAT_00000009" & identifier)) , (binary_expression "unaff_s4[1] == 0x4f" (subscript_expression "unaff_s4[1]" identifier [ number_literal ]) == number_literal)) ))) )) (compound_statement "{\n              if (unaff_s4[2] == 0x54) {\n                pbVar9 = (byte *)0x3;\n              }\n            }" { (if_statement "if (unaff_s4[2] == 0x54) {\n                pbVar9 = (byte *)0x3;\n              }" if (parenthesized_expression "(unaff_s4[2] == 0x54)" ( (binary_expression "unaff_s4[2] == 0x54" (subscript_expression "unaff_s4[2]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                pbVar9 = (byte *)0x3;\n              }" { (expression_statement "pbVar9 = (byte *)0x3;" (assignment_expression "pbVar9 = (byte *)0x3" identifier = (cast_expression "(byte *)0x3" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) }) (else_clause "else {\n              pbVar9 = &DAT_00000009;\n            }" else (compound_statement "{\n              pbVar9 = &DAT_00000009;\n            }" { (expression_statement "pbVar9 = &DAT_00000009;" (assignment_expression "pbVar9 = &DAT_00000009" identifier = (pointer_expression "&DAT_00000009" & identifier)) ;) }))) (if_statement "if (((*unaff_s4 == 0x41) && (unaff_s4[1] == 0x4e)) &&\n               (unaff_s2 = &SUB_00000002, unaff_s4[2] == 0x44)) {\n              local_110 = (byte *)0x3;\n            }\n            else {\n              local_110 = (byte *)0x3;\n              unaff_s2 = pbVar9;\n            }" if (parenthesized_expression "(((*unaff_s4 == 0x41) && (unaff_s4[1] == 0x4e)) &&\n               (unaff_s2 = &SUB_00000002, unaff_s4[2] == 0x44))" ( (binary_expression "((*unaff_s4 == 0x41) && (unaff_s4[1] == 0x4e)) &&\n               (unaff_s2 = &SUB_00000002, unaff_s4[2] == 0x44)" (parenthesized_expression "((*unaff_s4 == 0x41) && (unaff_s4[1] == 0x4e))" ( (binary_expression "(*unaff_s4 == 0x41) && (unaff_s4[1] == 0x4e)" (parenthesized_expression "(*unaff_s4 == 0x41)" ( (binary_expression "*unaff_s4 == 0x41" (pointer_expression "*unaff_s4" * identifier) == number_literal) )) && (parenthesized_expression "(unaff_s4[1] == 0x4e)" ( (binary_expression "unaff_s4[1] == 0x4e" (subscript_expression "unaff_s4[1]" identifier [ number_literal ]) == number_literal) ))) )) && (parenthesized_expression "(unaff_s2 = &SUB_00000002, unaff_s4[2] == 0x44)" ( (comma_expression "unaff_s2 = &SUB_00000002, unaff_s4[2] == 0x44" (assignment_expression "unaff_s2 = &SUB_00000002" identifier = (pointer_expression "&SUB_00000002" & identifier)) , (binary_expression "unaff_s4[2] == 0x44" (subscript_expression "unaff_s4[2]" identifier [ number_literal ]) == number_literal)) ))) )) (compound_statement "{\n              local_110 = (byte *)0x3;\n            }" { (expression_statement "local_110 = (byte *)0x3;" (assignment_expression "local_110 = (byte *)0x3" identifier = (cast_expression "(byte *)0x3" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n              local_110 = (byte *)0x3;\n              unaff_s2 = pbVar9;\n            }" else (compound_statement "{\n              local_110 = (byte *)0x3;\n              unaff_s2 = pbVar9;\n            }" { (expression_statement "local_110 = (byte *)0x3;" (assignment_expression "local_110 = (byte *)0x3" identifier = (cast_expression "(byte *)0x3" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "unaff_s2 = pbVar9;" (assignment_expression "unaff_s2 = pbVar9" identifier = identifier) ;) }))) }) (else_clause "else {\n            unaff_s2 = &DAT_00000009;\n            local_110 = pbVar24;\n          }" else (compound_statement "{\n            unaff_s2 = &DAT_00000009;\n            local_110 = pbVar24;\n          }" { (expression_statement "unaff_s2 = &DAT_00000009;" (assignment_expression "unaff_s2 = &DAT_00000009" identifier = (pointer_expression "&DAT_00000009" & identifier)) ;) (expression_statement "local_110 = pbVar24;" (assignment_expression "local_110 = pbVar24" identifier = identifier) ;) }))))) (goto_statement "goto LAB_000b2b98;" goto statement_identifier ;) }))) (expression_statement "pbVar24 = (byte *)0x1;" (assignment_expression "pbVar24 = (byte *)0x1" identifier = (cast_expression "(byte *)0x1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70cc);" (assignment_expression "ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70cc)" identifier = (cast_expression "(byte **)(PTR_UINT_0015b5fc + -0x70cc)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_UINT_0015b5fc + -0x70cc)" ( (binary_expression "PTR_UINT_0015b5fc + -0x70cc" identifier + number_literal) )))) ;) (expression_statement "pbVar20 = unaff_s4;" (assignment_expression "pbVar20 = unaff_s4" identifier = identifier) ;) (expression_statement "(*pcVar13)(&local_c4);" (call_expression "(*pcVar13)(&local_c4)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(&local_c4)" ( (pointer_expression "&local_c4" & identifier) ))) ;) (expression_statement "unaff_s2 = (byte *)0x0;" (assignment_expression "unaff_s2 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n        ppbVar17 = (byte **)0x0;\n        if (iVar5 == 0x2b) {\n          unaff_s2 = &DAT_0000000e;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x2c) {\n          if (iVar5 == 0x28) {\n            unaff_s2 = &DAT_0000000a;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 < 0x29) {\n            if (iVar5 != 0) {\n              pbVar24 = unaff_s4 + 1;\n              if (iVar5 != 0x22) {\nLAB_000b2abc:\n                puVar6 = puVar18;\n                pcVar16 = local_ac;\n                do {\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                } while (puVar15 != puVar14);\n                if (-1 < iVar5) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              bVar12 = *pbVar24;\n              if (bVar12 == 0x22) goto LAB_000b3320;\n              while (ppbVar17 = (byte **)PTR_UINT_0015b5fc, bVar12 != 0) {\n                while( true ) {\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (byte *)0x0;\n              pbVar24 = (byte *)0x1;\n              ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70e0);\n              (*pcVar13)(&local_c4);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (byte *)0x0;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 == 0x29) {\n            unaff_s2 = &DAT_0000000b;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = (byte *)0xf;\n            if (iVar5 != 0x2a) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x3a) {\n          unaff_s2 = &DAT_00000005;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x3b) {\n          if (iVar5 == 0x2c) {\n            unaff_s2 = &DAT_0000000d;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = &DAT_00000006;\n            if (iVar5 != 0x2d) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x7b) {\n          unaff_s2 = &DAT_00000007;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 == 0x7d) {\n          unaff_s2 = &DAT_00000008;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else {\n          unaff_s2 = &DAT_0000000c;\n          if (iVar5 != 0x5e) goto LAB_000b2abc;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\nLAB_000b2b98:\n        local_110 = unaff_s4 + (int)local_110;\n      }" else (compound_statement "{\n        ppbVar17 = (byte **)0x0;\n        if (iVar5 == 0x2b) {\n          unaff_s2 = &DAT_0000000e;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x2c) {\n          if (iVar5 == 0x28) {\n            unaff_s2 = &DAT_0000000a;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 < 0x29) {\n            if (iVar5 != 0) {\n              pbVar24 = unaff_s4 + 1;\n              if (iVar5 != 0x22) {\nLAB_000b2abc:\n                puVar6 = puVar18;\n                pcVar16 = local_ac;\n                do {\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                } while (puVar15 != puVar14);\n                if (-1 < iVar5) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              bVar12 = *pbVar24;\n              if (bVar12 == 0x22) goto LAB_000b3320;\n              while (ppbVar17 = (byte **)PTR_UINT_0015b5fc, bVar12 != 0) {\n                while( true ) {\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (byte *)0x0;\n              pbVar24 = (byte *)0x1;\n              ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70e0);\n              (*pcVar13)(&local_c4);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (byte *)0x0;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 == 0x29) {\n            unaff_s2 = &DAT_0000000b;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = (byte *)0xf;\n            if (iVar5 != 0x2a) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x3a) {\n          unaff_s2 = &DAT_00000005;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x3b) {\n          if (iVar5 == 0x2c) {\n            unaff_s2 = &DAT_0000000d;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = &DAT_00000006;\n            if (iVar5 != 0x2d) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x7b) {\n          unaff_s2 = &DAT_00000007;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 == 0x7d) {\n          unaff_s2 = &DAT_00000008;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else {\n          unaff_s2 = &DAT_0000000c;\n          if (iVar5 != 0x5e) goto LAB_000b2abc;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\nLAB_000b2b98:\n        local_110 = unaff_s4 + (int)local_110;\n      }" { (expression_statement "ppbVar17 = (byte **)0x0;" (assignment_expression "ppbVar17 = (byte **)0x0" identifier = (cast_expression "(byte **)0x0" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (if_statement "if (iVar5 == 0x2b) {\n          unaff_s2 = &DAT_0000000e;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x2c) {\n          if (iVar5 == 0x28) {\n            unaff_s2 = &DAT_0000000a;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 < 0x29) {\n            if (iVar5 != 0) {\n              pbVar24 = unaff_s4 + 1;\n              if (iVar5 != 0x22) {\nLAB_000b2abc:\n                puVar6 = puVar18;\n                pcVar16 = local_ac;\n                do {\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                } while (puVar15 != puVar14);\n                if (-1 < iVar5) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              bVar12 = *pbVar24;\n              if (bVar12 == 0x22) goto LAB_000b3320;\n              while (ppbVar17 = (byte **)PTR_UINT_0015b5fc, bVar12 != 0) {\n                while( true ) {\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (byte *)0x0;\n              pbVar24 = (byte *)0x1;\n              ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70e0);\n              (*pcVar13)(&local_c4);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (byte *)0x0;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 == 0x29) {\n            unaff_s2 = &DAT_0000000b;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = (byte *)0xf;\n            if (iVar5 != 0x2a) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x3a) {\n          unaff_s2 = &DAT_00000005;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x3b) {\n          if (iVar5 == 0x2c) {\n            unaff_s2 = &DAT_0000000d;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = &DAT_00000006;\n            if (iVar5 != 0x2d) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x7b) {\n          unaff_s2 = &DAT_00000007;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 == 0x7d) {\n          unaff_s2 = &DAT_00000008;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else {\n          unaff_s2 = &DAT_0000000c;\n          if (iVar5 != 0x5e) goto LAB_000b2abc;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }" if (parenthesized_expression "(iVar5 == 0x2b)" ( (binary_expression "iVar5 == 0x2b" identifier == number_literal) )) (compound_statement "{\n          unaff_s2 = &DAT_0000000e;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }" { (expression_statement "unaff_s2 = &DAT_0000000e;" (assignment_expression "unaff_s2 = &DAT_0000000e" identifier = (pointer_expression "&DAT_0000000e" & identifier)) ;) (expression_statement "local_110 = (byte *)0x1;" (assignment_expression "local_110 = (byte *)0x1" identifier = (cast_expression "(byte *)0x1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar24 = (byte *)0x1;" (assignment_expression "pbVar24 = (byte *)0x1" identifier = (cast_expression "(byte *)0x1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else if (iVar5 < 0x2c) {\n          if (iVar5 == 0x28) {\n            unaff_s2 = &DAT_0000000a;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 < 0x29) {\n            if (iVar5 != 0) {\n              pbVar24 = unaff_s4 + 1;\n              if (iVar5 != 0x22) {\nLAB_000b2abc:\n                puVar6 = puVar18;\n                pcVar16 = local_ac;\n                do {\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                } while (puVar15 != puVar14);\n                if (-1 < iVar5) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              bVar12 = *pbVar24;\n              if (bVar12 == 0x22) goto LAB_000b3320;\n              while (ppbVar17 = (byte **)PTR_UINT_0015b5fc, bVar12 != 0) {\n                while( true ) {\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (byte *)0x0;\n              pbVar24 = (byte *)0x1;\n              ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70e0);\n              (*pcVar13)(&local_c4);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (byte *)0x0;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 == 0x29) {\n            unaff_s2 = &DAT_0000000b;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = (byte *)0xf;\n            if (iVar5 != 0x2a) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x3a) {\n          unaff_s2 = &DAT_00000005;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x3b) {\n          if (iVar5 == 0x2c) {\n            unaff_s2 = &DAT_0000000d;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = &DAT_00000006;\n            if (iVar5 != 0x2d) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x7b) {\n          unaff_s2 = &DAT_00000007;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 == 0x7d) {\n          unaff_s2 = &DAT_00000008;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else {\n          unaff_s2 = &DAT_0000000c;\n          if (iVar5 != 0x5e) goto LAB_000b2abc;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }" else (if_statement "if (iVar5 < 0x2c) {\n          if (iVar5 == 0x28) {\n            unaff_s2 = &DAT_0000000a;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 < 0x29) {\n            if (iVar5 != 0) {\n              pbVar24 = unaff_s4 + 1;\n              if (iVar5 != 0x22) {\nLAB_000b2abc:\n                puVar6 = puVar18;\n                pcVar16 = local_ac;\n                do {\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                } while (puVar15 != puVar14);\n                if (-1 < iVar5) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              bVar12 = *pbVar24;\n              if (bVar12 == 0x22) goto LAB_000b3320;\n              while (ppbVar17 = (byte **)PTR_UINT_0015b5fc, bVar12 != 0) {\n                while( true ) {\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (byte *)0x0;\n              pbVar24 = (byte *)0x1;\n              ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70e0);\n              (*pcVar13)(&local_c4);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (byte *)0x0;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 == 0x29) {\n            unaff_s2 = &DAT_0000000b;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = (byte *)0xf;\n            if (iVar5 != 0x2a) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x3a) {\n          unaff_s2 = &DAT_00000005;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x3b) {\n          if (iVar5 == 0x2c) {\n            unaff_s2 = &DAT_0000000d;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = &DAT_00000006;\n            if (iVar5 != 0x2d) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x7b) {\n          unaff_s2 = &DAT_00000007;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 == 0x7d) {\n          unaff_s2 = &DAT_00000008;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else {\n          unaff_s2 = &DAT_0000000c;\n          if (iVar5 != 0x5e) goto LAB_000b2abc;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }" if (parenthesized_expression "(iVar5 < 0x2c)" ( (binary_expression "iVar5 < 0x2c" identifier < number_literal) )) (compound_statement "{\n          if (iVar5 == 0x28) {\n            unaff_s2 = &DAT_0000000a;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 < 0x29) {\n            if (iVar5 != 0) {\n              pbVar24 = unaff_s4 + 1;\n              if (iVar5 != 0x22) {\nLAB_000b2abc:\n                puVar6 = puVar18;\n                pcVar16 = local_ac;\n                do {\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                } while (puVar15 != puVar14);\n                if (-1 < iVar5) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              bVar12 = *pbVar24;\n              if (bVar12 == 0x22) goto LAB_000b3320;\n              while (ppbVar17 = (byte **)PTR_UINT_0015b5fc, bVar12 != 0) {\n                while( true ) {\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (byte *)0x0;\n              pbVar24 = (byte *)0x1;\n              ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70e0);\n              (*pcVar13)(&local_c4);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (byte *)0x0;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 == 0x29) {\n            unaff_s2 = &DAT_0000000b;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = (byte *)0xf;\n            if (iVar5 != 0x2a) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }" { (if_statement "if (iVar5 == 0x28) {\n            unaff_s2 = &DAT_0000000a;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 < 0x29) {\n            if (iVar5 != 0) {\n              pbVar24 = unaff_s4 + 1;\n              if (iVar5 != 0x22) {\nLAB_000b2abc:\n                puVar6 = puVar18;\n                pcVar16 = local_ac;\n                do {\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                } while (puVar15 != puVar14);\n                if (-1 < iVar5) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              bVar12 = *pbVar24;\n              if (bVar12 == 0x22) goto LAB_000b3320;\n              while (ppbVar17 = (byte **)PTR_UINT_0015b5fc, bVar12 != 0) {\n                while( true ) {\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (byte *)0x0;\n              pbVar24 = (byte *)0x1;\n              ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70e0);\n              (*pcVar13)(&local_c4);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (byte *)0x0;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 == 0x29) {\n            unaff_s2 = &DAT_0000000b;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = (byte *)0xf;\n            if (iVar5 != 0x2a) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }" if (parenthesized_expression "(iVar5 == 0x28)" ( (binary_expression "iVar5 == 0x28" identifier == number_literal) )) (compound_statement "{\n            unaff_s2 = &DAT_0000000a;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }" { (expression_statement "unaff_s2 = &DAT_0000000a;" (assignment_expression "unaff_s2 = &DAT_0000000a" identifier = (pointer_expression "&DAT_0000000a" & identifier)) ;) (expression_statement "local_110 = (byte *)0x1;" (assignment_expression "local_110 = (byte *)0x1" identifier = (cast_expression "(byte *)0x1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar24 = (byte *)0x1;" (assignment_expression "pbVar24 = (byte *)0x1" identifier = (cast_expression "(byte *)0x1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else if (iVar5 < 0x29) {\n            if (iVar5 != 0) {\n              pbVar24 = unaff_s4 + 1;\n              if (iVar5 != 0x22) {\nLAB_000b2abc:\n                puVar6 = puVar18;\n                pcVar16 = local_ac;\n                do {\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                } while (puVar15 != puVar14);\n                if (-1 < iVar5) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              bVar12 = *pbVar24;\n              if (bVar12 == 0x22) goto LAB_000b3320;\n              while (ppbVar17 = (byte **)PTR_UINT_0015b5fc, bVar12 != 0) {\n                while( true ) {\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (byte *)0x0;\n              pbVar24 = (byte *)0x1;\n              ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70e0);\n              (*pcVar13)(&local_c4);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (byte *)0x0;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 == 0x29) {\n            unaff_s2 = &DAT_0000000b;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = (byte *)0xf;\n            if (iVar5 != 0x2a) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }" else (if_statement "if (iVar5 < 0x29) {\n            if (iVar5 != 0) {\n              pbVar24 = unaff_s4 + 1;\n              if (iVar5 != 0x22) {\nLAB_000b2abc:\n                puVar6 = puVar18;\n                pcVar16 = local_ac;\n                do {\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                } while (puVar15 != puVar14);\n                if (-1 < iVar5) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              bVar12 = *pbVar24;\n              if (bVar12 == 0x22) goto LAB_000b3320;\n              while (ppbVar17 = (byte **)PTR_UINT_0015b5fc, bVar12 != 0) {\n                while( true ) {\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (byte *)0x0;\n              pbVar24 = (byte *)0x1;\n              ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70e0);\n              (*pcVar13)(&local_c4);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (byte *)0x0;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 == 0x29) {\n            unaff_s2 = &DAT_0000000b;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = (byte *)0xf;\n            if (iVar5 != 0x2a) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }" if (parenthesized_expression "(iVar5 < 0x29)" ( (binary_expression "iVar5 < 0x29" identifier < number_literal) )) (compound_statement "{\n            if (iVar5 != 0) {\n              pbVar24 = unaff_s4 + 1;\n              if (iVar5 != 0x22) {\nLAB_000b2abc:\n                puVar6 = puVar18;\n                pcVar16 = local_ac;\n                do {\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                } while (puVar15 != puVar14);\n                if (-1 < iVar5) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              bVar12 = *pbVar24;\n              if (bVar12 == 0x22) goto LAB_000b3320;\n              while (ppbVar17 = (byte **)PTR_UINT_0015b5fc, bVar12 != 0) {\n                while( true ) {\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (byte *)0x0;\n              pbVar24 = (byte *)0x1;\n              ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70e0);\n              (*pcVar13)(&local_c4);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (byte *)0x0;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }" { (if_statement "if (iVar5 != 0) {\n              pbVar24 = unaff_s4 + 1;\n              if (iVar5 != 0x22) {\nLAB_000b2abc:\n                puVar6 = puVar18;\n                pcVar16 = local_ac;\n                do {\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                } while (puVar15 != puVar14);\n                if (-1 < iVar5) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              bVar12 = *pbVar24;\n              if (bVar12 == 0x22) goto LAB_000b3320;\n              while (ppbVar17 = (byte **)PTR_UINT_0015b5fc, bVar12 != 0) {\n                while( true ) {\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (byte *)0x0;\n              pbVar24 = (byte *)0x1;\n              ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70e0);\n              (*pcVar13)(&local_c4);\n              goto LAB_000b2ba0;\n            }" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (compound_statement "{\n              pbVar24 = unaff_s4 + 1;\n              if (iVar5 != 0x22) {\nLAB_000b2abc:\n                puVar6 = puVar18;\n                pcVar16 = local_ac;\n                do {\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                } while (puVar15 != puVar14);\n                if (-1 < iVar5) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              bVar12 = *pbVar24;\n              if (bVar12 == 0x22) goto LAB_000b3320;\n              while (ppbVar17 = (byte **)PTR_UINT_0015b5fc, bVar12 != 0) {\n                while( true ) {\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (byte *)0x0;\n              pbVar24 = (byte *)0x1;\n              ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70e0);\n              (*pcVar13)(&local_c4);\n              goto LAB_000b2ba0;\n            }" { (expression_statement "pbVar24 = unaff_s4 + 1;" (assignment_expression "pbVar24 = unaff_s4 + 1" identifier = (binary_expression "unaff_s4 + 1" identifier + number_literal)) ;) (if_statement "if (iVar5 != 0x22) {\nLAB_000b2abc:\n                puVar6 = puVar18;\n                pcVar16 = local_ac;\n                do {\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                } while (puVar15 != puVar14);\n                if (-1 < iVar5) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }" if (parenthesized_expression "(iVar5 != 0x22)" ( (binary_expression "iVar5 != 0x22" identifier != number_literal) )) (compound_statement "{\nLAB_000b2abc:\n                puVar6 = puVar18;\n                pcVar16 = local_ac;\n                do {\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                } while (puVar15 != puVar14);\n                if (-1 < iVar5) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }" { (labeled_statement "LAB_000b2abc:\n                puVar6 = puVar18;" statement_identifier : (expression_statement "puVar6 = puVar18;" (assignment_expression "puVar6 = puVar18" identifier = identifier) ;)) (expression_statement "pcVar16 = local_ac;" (assignment_expression "pcVar16 = local_ac" identifier = identifier) ;) (do_statement "do {\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                } while (puVar15 != puVar14);" do (compound_statement "{\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                }" { (expression_statement "puVar15 = puVar6 + 4;" (assignment_expression "puVar15 = puVar6 + 4" identifier = (binary_expression "puVar6 + 4" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)pcVar16 = *puVar6;" (assignment_expression "*(undefined4 *)pcVar16 = *puVar6" (pointer_expression "*(undefined4 *)pcVar16" * (cast_expression "(undefined4 *)pcVar16" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (pointer_expression "*puVar6" * identifier)) ;) (expression_statement "pbVar21 = (byte *)puVar6[1];" (assignment_expression "pbVar21 = (byte *)puVar6[1]" identifier = (cast_expression "(byte *)puVar6[1]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar6[1]" identifier [ number_literal ]))) ;) (expression_statement "uVar19 = puVar6[2];" (assignment_expression "uVar19 = puVar6[2]" identifier = (subscript_expression "puVar6[2]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(pcVar16 + 0xc) = puVar6[3];" (assignment_expression "*(undefined4 *)(pcVar16 + 0xc) = puVar6[3]" (pointer_expression "*(undefined4 *)(pcVar16 + 0xc)" * (cast_expression "(undefined4 *)(pcVar16 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0xc)" ( (binary_expression "pcVar16 + 0xc" identifier + number_literal) )))) = (subscript_expression "puVar6[3]" identifier [ number_literal ])) ;) (expression_statement "*(byte **)(pcVar16 + 4) = pbVar21;" (assignment_expression "*(byte **)(pcVar16 + 4) = pbVar21" (pointer_expression "*(byte **)(pcVar16 + 4)" * (cast_expression "(byte **)(pcVar16 + 4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 4)" ( (binary_expression "pcVar16 + 4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(pcVar16 + 8) = uVar19;" (assignment_expression "*(undefined4 *)(pcVar16 + 8) = uVar19" (pointer_expression "*(undefined4 *)(pcVar16 + 8)" * (cast_expression "(undefined4 *)(pcVar16 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 8)" ( (binary_expression "pcVar16 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar6 = puVar15;" (assignment_expression "puVar6 = puVar15" identifier = identifier) ;) (expression_statement "pcVar16 = pcVar16 + 0x10;" (assignment_expression "pcVar16 = pcVar16 + 0x10" identifier = (binary_expression "pcVar16 + 0x10" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar15 != puVar14)" ( (binary_expression "puVar15 != puVar14" identifier != identifier) )) ;) (if_statement "if (-1 < iVar5) goto LAB_000b34f0;" if (parenthesized_expression "(-1 < iVar5)" ( (binary_expression "-1 < iVar5" number_literal < identifier) )) (goto_statement "goto LAB_000b34f0;" goto statement_identifier ;)) (goto_statement "goto LAB_000b2b04;" goto statement_identifier ;) })) (expression_statement "bVar12 = *pbVar24;" (assignment_expression "bVar12 = *pbVar24" identifier = (pointer_expression "*pbVar24" * identifier)) ;) (if_statement "if (bVar12 == 0x22) goto LAB_000b3320;" if (parenthesized_expression "(bVar12 == 0x22)" ( (binary_expression "bVar12 == 0x22" identifier == number_literal) )) (goto_statement "goto LAB_000b3320;" goto statement_identifier ;)) (while_statement "while (ppbVar17 = (byte **)PTR_UINT_0015b5fc, bVar12 != 0) {\n                while( true ) {\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }" while (parenthesized_expression "(ppbVar17 = (byte **)PTR_UINT_0015b5fc, bVar12 != 0)" ( (comma_expression "ppbVar17 = (byte **)PTR_UINT_0015b5fc, bVar12 != 0" (assignment_expression "ppbVar17 = (byte **)PTR_UINT_0015b5fc" identifier = (cast_expression "(byte **)PTR_UINT_0015b5fc" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) , (binary_expression "bVar12 != 0" identifier != number_literal)) )) (compound_statement "{\n                while( true ) {\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }" { (while_statement "while( true ) {\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }" { (expression_statement "pbVar24 = pbVar24 + 1;" (assignment_expression "pbVar24 = pbVar24 + 1" identifier = (binary_expression "pbVar24 + 1" identifier + number_literal)) ;) (expression_statement "bVar12 = *pbVar24;" (assignment_expression "bVar12 = *pbVar24" identifier = (pointer_expression "*pbVar24" * identifier)) ;) (if_statement "if (bVar12 != 0x22) break;" if (parenthesized_expression "(bVar12 != 0x22)" ( (binary_expression "bVar12 != 0x22" identifier != number_literal) )) (break_statement "break;" break ;)) (labeled_statement "LAB_000b3320:\n                  pbVar9 = pbVar24 + 1;" statement_identifier : (expression_statement "pbVar9 = pbVar24 + 1;" (assignment_expression "pbVar9 = pbVar24 + 1" identifier = (binary_expression "pbVar24 + 1" identifier + number_literal)) ;)) (expression_statement "pbVar24 = pbVar24 + 1;" (assignment_expression "pbVar24 = pbVar24 + 1" identifier = (binary_expression "pbVar24 + 1" identifier + number_literal)) ;) (if_statement "if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }" if (parenthesized_expression "(*pbVar9 != 0x22)" ( (binary_expression "*pbVar9 != 0x22" (pointer_expression "*pbVar9" * identifier) != number_literal) )) (compound_statement "{\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }" { (expression_statement "local_110 = pbVar24 + -(int)unaff_s4;" (assignment_expression "local_110 = pbVar24 + -(int)unaff_s4" identifier = (binary_expression "pbVar24 + -(int)unaff_s4" identifier + (unary_expression "-(int)unaff_s4" - (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier)))) ;) (expression_statement "unaff_s2 = &DAT_00000009;" (assignment_expression "unaff_s2 = &DAT_00000009" identifier = (pointer_expression "&DAT_00000009" & identifier)) ;) (expression_statement "pbVar24 = local_110;" (assignment_expression "pbVar24 = local_110" identifier = identifier) ;) (goto_statement "goto LAB_000b2b98;" goto statement_identifier ;) })) })) })) (expression_statement "unaff_s2 = (byte *)0x0;" (assignment_expression "unaff_s2 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar24 = (byte *)0x1;" (assignment_expression "pbVar24 = (byte *)0x1" identifier = (cast_expression "(byte *)0x1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70e0);" (assignment_expression "ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70e0)" identifier = (cast_expression "(byte **)(PTR_UINT_0015b5fc + -0x70e0)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_UINT_0015b5fc + -0x70e0)" ( (binary_expression "PTR_UINT_0015b5fc + -0x70e0" identifier + number_literal) )))) ;) (expression_statement "(*pcVar13)(&local_c4);" (call_expression "(*pcVar13)(&local_c4)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(&local_c4)" ( (pointer_expression "&local_c4" & identifier) ))) ;) (goto_statement "goto LAB_000b2ba0;" goto statement_identifier ;) })) (expression_statement "unaff_s2 = (byte *)0x0;" (assignment_expression "unaff_s2 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_110 = (byte *)0x1;" (assignment_expression "local_110 = (byte *)0x1" identifier = (cast_expression "(byte *)0x1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar24 = (byte *)0x1;" (assignment_expression "pbVar24 = (byte *)0x1" identifier = (cast_expression "(byte *)0x1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else if (iVar5 == 0x29) {\n            unaff_s2 = &DAT_0000000b;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = (byte *)0xf;\n            if (iVar5 != 0x2a) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }" else (if_statement "if (iVar5 == 0x29) {\n            unaff_s2 = &DAT_0000000b;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = (byte *)0xf;\n            if (iVar5 != 0x2a) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }" if (parenthesized_expression "(iVar5 == 0x29)" ( (binary_expression "iVar5 == 0x29" identifier == number_literal) )) (compound_statement "{\n            unaff_s2 = &DAT_0000000b;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }" { (expression_statement "unaff_s2 = &DAT_0000000b;" (assignment_expression "unaff_s2 = &DAT_0000000b" identifier = (pointer_expression "&DAT_0000000b" & identifier)) ;) (expression_statement "local_110 = (byte *)0x1;" (assignment_expression "local_110 = (byte *)0x1" identifier = (cast_expression "(byte *)0x1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar24 = (byte *)0x1;" (assignment_expression "pbVar24 = (byte *)0x1" identifier = (cast_expression "(byte *)0x1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n            unaff_s2 = (byte *)0xf;\n            if (iVar5 != 0x2a) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }" else (compound_statement "{\n            unaff_s2 = (byte *)0xf;\n            if (iVar5 != 0x2a) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }" { (expression_statement "unaff_s2 = (byte *)0xf;" (assignment_expression "unaff_s2 = (byte *)0xf" identifier = (cast_expression "(byte *)0xf" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (iVar5 != 0x2a) goto LAB_000b2abc;" if (parenthesized_expression "(iVar5 != 0x2a)" ( (binary_expression "iVar5 != 0x2a" identifier != number_literal) )) (goto_statement "goto LAB_000b2abc;" goto statement_identifier ;)) (expression_statement "local_110 = (byte *)0x1;" (assignment_expression "local_110 = (byte *)0x1" identifier = (cast_expression "(byte *)0x1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar24 = (byte *)0x1;" (assignment_expression "pbVar24 = (byte *)0x1" identifier = (cast_expression "(byte *)0x1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))))))) }) (else_clause "else if (iVar5 == 0x3a) {\n          unaff_s2 = &DAT_00000005;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x3b) {\n          if (iVar5 == 0x2c) {\n            unaff_s2 = &DAT_0000000d;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = &DAT_00000006;\n            if (iVar5 != 0x2d) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x7b) {\n          unaff_s2 = &DAT_00000007;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 == 0x7d) {\n          unaff_s2 = &DAT_00000008;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else {\n          unaff_s2 = &DAT_0000000c;\n          if (iVar5 != 0x5e) goto LAB_000b2abc;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }" else (if_statement "if (iVar5 == 0x3a) {\n          unaff_s2 = &DAT_00000005;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x3b) {\n          if (iVar5 == 0x2c) {\n            unaff_s2 = &DAT_0000000d;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = &DAT_00000006;\n            if (iVar5 != 0x2d) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x7b) {\n          unaff_s2 = &DAT_00000007;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 == 0x7d) {\n          unaff_s2 = &DAT_00000008;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else {\n          unaff_s2 = &DAT_0000000c;\n          if (iVar5 != 0x5e) goto LAB_000b2abc;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }" if (parenthesized_expression "(iVar5 == 0x3a)" ( (binary_expression "iVar5 == 0x3a" identifier == number_literal) )) (compound_statement "{\n          unaff_s2 = &DAT_00000005;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }" { (expression_statement "unaff_s2 = &DAT_00000005;" (assignment_expression "unaff_s2 = &DAT_00000005" identifier = (pointer_expression "&DAT_00000005" & identifier)) ;) (expression_statement "local_110 = (byte *)0x1;" (assignment_expression "local_110 = (byte *)0x1" identifier = (cast_expression "(byte *)0x1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar24 = (byte *)0x1;" (assignment_expression "pbVar24 = (byte *)0x1" identifier = (cast_expression "(byte *)0x1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else if (iVar5 < 0x3b) {\n          if (iVar5 == 0x2c) {\n            unaff_s2 = &DAT_0000000d;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = &DAT_00000006;\n            if (iVar5 != 0x2d) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x7b) {\n          unaff_s2 = &DAT_00000007;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 == 0x7d) {\n          unaff_s2 = &DAT_00000008;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else {\n          unaff_s2 = &DAT_0000000c;\n          if (iVar5 != 0x5e) goto LAB_000b2abc;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }" else (if_statement "if (iVar5 < 0x3b) {\n          if (iVar5 == 0x2c) {\n            unaff_s2 = &DAT_0000000d;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = &DAT_00000006;\n            if (iVar5 != 0x2d) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x7b) {\n          unaff_s2 = &DAT_00000007;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 == 0x7d) {\n          unaff_s2 = &DAT_00000008;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else {\n          unaff_s2 = &DAT_0000000c;\n          if (iVar5 != 0x5e) goto LAB_000b2abc;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }" if (parenthesized_expression "(iVar5 < 0x3b)" ( (binary_expression "iVar5 < 0x3b" identifier < number_literal) )) (compound_statement "{\n          if (iVar5 == 0x2c) {\n            unaff_s2 = &DAT_0000000d;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = &DAT_00000006;\n            if (iVar5 != 0x2d) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }" { (if_statement "if (iVar5 == 0x2c) {\n            unaff_s2 = &DAT_0000000d;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = &DAT_00000006;\n            if (iVar5 != 0x2d) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }" if (parenthesized_expression "(iVar5 == 0x2c)" ( (binary_expression "iVar5 == 0x2c" identifier == number_literal) )) (compound_statement "{\n            unaff_s2 = &DAT_0000000d;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }" { (expression_statement "unaff_s2 = &DAT_0000000d;" (assignment_expression "unaff_s2 = &DAT_0000000d" identifier = (pointer_expression "&DAT_0000000d" & identifier)) ;) (expression_statement "local_110 = (byte *)0x1;" (assignment_expression "local_110 = (byte *)0x1" identifier = (cast_expression "(byte *)0x1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar24 = (byte *)0x1;" (assignment_expression "pbVar24 = (byte *)0x1" identifier = (cast_expression "(byte *)0x1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n            unaff_s2 = &DAT_00000006;\n            if (iVar5 != 0x2d) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }" else (compound_statement "{\n            unaff_s2 = &DAT_00000006;\n            if (iVar5 != 0x2d) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }" { (expression_statement "unaff_s2 = &DAT_00000006;" (assignment_expression "unaff_s2 = &DAT_00000006" identifier = (pointer_expression "&DAT_00000006" & identifier)) ;) (if_statement "if (iVar5 != 0x2d) goto LAB_000b2abc;" if (parenthesized_expression "(iVar5 != 0x2d)" ( (binary_expression "iVar5 != 0x2d" identifier != number_literal) )) (goto_statement "goto LAB_000b2abc;" goto statement_identifier ;)) (expression_statement "local_110 = (byte *)0x1;" (assignment_expression "local_110 = (byte *)0x1" identifier = (cast_expression "(byte *)0x1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar24 = (byte *)0x1;" (assignment_expression "pbVar24 = (byte *)0x1" identifier = (cast_expression "(byte *)0x1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) }) (else_clause "else if (iVar5 == 0x7b) {\n          unaff_s2 = &DAT_00000007;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 == 0x7d) {\n          unaff_s2 = &DAT_00000008;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else {\n          unaff_s2 = &DAT_0000000c;\n          if (iVar5 != 0x5e) goto LAB_000b2abc;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }" else (if_statement "if (iVar5 == 0x7b) {\n          unaff_s2 = &DAT_00000007;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 == 0x7d) {\n          unaff_s2 = &DAT_00000008;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else {\n          unaff_s2 = &DAT_0000000c;\n          if (iVar5 != 0x5e) goto LAB_000b2abc;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }" if (parenthesized_expression "(iVar5 == 0x7b)" ( (binary_expression "iVar5 == 0x7b" identifier == number_literal) )) (compound_statement "{\n          unaff_s2 = &DAT_00000007;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }" { (expression_statement "unaff_s2 = &DAT_00000007;" (assignment_expression "unaff_s2 = &DAT_00000007" identifier = (pointer_expression "&DAT_00000007" & identifier)) ;) (expression_statement "local_110 = (byte *)0x1;" (assignment_expression "local_110 = (byte *)0x1" identifier = (cast_expression "(byte *)0x1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar24 = (byte *)0x1;" (assignment_expression "pbVar24 = (byte *)0x1" identifier = (cast_expression "(byte *)0x1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else if (iVar5 == 0x7d) {\n          unaff_s2 = &DAT_00000008;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else {\n          unaff_s2 = &DAT_0000000c;\n          if (iVar5 != 0x5e) goto LAB_000b2abc;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }" else (if_statement "if (iVar5 == 0x7d) {\n          unaff_s2 = &DAT_00000008;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else {\n          unaff_s2 = &DAT_0000000c;\n          if (iVar5 != 0x5e) goto LAB_000b2abc;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }" if (parenthesized_expression "(iVar5 == 0x7d)" ( (binary_expression "iVar5 == 0x7d" identifier == number_literal) )) (compound_statement "{\n          unaff_s2 = &DAT_00000008;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }" { (expression_statement "unaff_s2 = &DAT_00000008;" (assignment_expression "unaff_s2 = &DAT_00000008" identifier = (pointer_expression "&DAT_00000008" & identifier)) ;) (expression_statement "local_110 = (byte *)0x1;" (assignment_expression "local_110 = (byte *)0x1" identifier = (cast_expression "(byte *)0x1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar24 = (byte *)0x1;" (assignment_expression "pbVar24 = (byte *)0x1" identifier = (cast_expression "(byte *)0x1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n          unaff_s2 = &DAT_0000000c;\n          if (iVar5 != 0x5e) goto LAB_000b2abc;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }" else (compound_statement "{\n          unaff_s2 = &DAT_0000000c;\n          if (iVar5 != 0x5e) goto LAB_000b2abc;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }" { (expression_statement "unaff_s2 = &DAT_0000000c;" (assignment_expression "unaff_s2 = &DAT_0000000c" identifier = (pointer_expression "&DAT_0000000c" & identifier)) ;) (if_statement "if (iVar5 != 0x5e) goto LAB_000b2abc;" if (parenthesized_expression "(iVar5 != 0x5e)" ( (binary_expression "iVar5 != 0x5e" identifier != number_literal) )) (goto_statement "goto LAB_000b2abc;" goto statement_identifier ;)) (expression_statement "local_110 = (byte *)0x1;" (assignment_expression "local_110 = (byte *)0x1" identifier = (cast_expression "(byte *)0x1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar24 = (byte *)0x1;" (assignment_expression "pbVar24 = (byte *)0x1" identifier = (cast_expression "(byte *)0x1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))))))))))))) (labeled_statement "LAB_000b2b98:\n        local_110 = unaff_s4 + (int)local_110;" statement_identifier : (expression_statement "local_110 = unaff_s4 + (int)local_110;" (assignment_expression "local_110 = unaff_s4 + (int)local_110" identifier = (binary_expression "unaff_s4 + (int)local_110" identifier + (cast_expression "(int)local_110" ( (type_descriptor "int" primitive_type) ) identifier))) ;)) }))) (labeled_statement "LAB_000b2ba0:\n      unaff_s6 = PTR_UINT_0015b5fc;" statement_identifier : (expression_statement "unaff_s6 = PTR_UINT_0015b5fc;" (assignment_expression "unaff_s6 = PTR_UINT_0015b5fc" identifier = identifier) ;)) (expression_statement "unaff_s7 = *(byte ***)pbVar4;" (assignment_expression "unaff_s7 = *(byte ***)pbVar4" identifier = (pointer_expression "*(byte ***)pbVar4" * (cast_expression "(byte ***)pbVar4" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier))) ;) (expression_statement "puVar7 = PTR_UINT_0015b5fc + 0x4920;" (assignment_expression "puVar7 = PTR_UINT_0015b5fc + 0x4920" identifier = (binary_expression "PTR_UINT_0015b5fc + 0x4920" identifier + number_literal)) ;) (expression_statement "*(byte ****)(pbVar4 + 4) = &local_c4;" (assignment_expression "*(byte ****)(pbVar4 + 4) = &local_c4" (pointer_expression "*(byte ****)(pbVar4 + 4)" * (cast_expression "(byte ****)(pbVar4 + 4)" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(pbVar4 + 4)" ( (binary_expression "pbVar4 + 4" identifier + number_literal) )))) = (pointer_expression "&local_c4" & identifier)) ;) (expression_statement "ppbVar22 = (byte **)(uint)*(byte *)unaff_s7;" (assignment_expression "ppbVar22 = (byte **)(uint)*(byte *)unaff_s7" identifier = (binary_expression "(byte **)(uint)*(byte *)unaff_s7" (cast_expression "(byte **)(uint)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(byte *)unaff_s7" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "puVar8 = PTR_UINT_0015b5fc + 0x48fc;" (assignment_expression "puVar8 = PTR_UINT_0015b5fc + 0x48fc" identifier = (binary_expression "PTR_UINT_0015b5fc + 0x48fc" identifier + number_literal)) ;) (do_statement "do {\n        ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n        if ((byte **)0x22 < ppbVar22) goto joined_r0x000b33cc;\n        pbVar9 = unaff_s2 + (byte)puVar8[(int)ppbVar22];\n        if ((byte *)0x78 < pbVar9) goto LAB_000b2c10;\n        while( true ) {\n          if ((byte *)(uint)pbVar9[(int)puVar7] == unaff_s2) {\n            ppbVar22 = (byte **)(uint)pbVar9[(int)(unaff_s6 + 0x499c)];\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }\n          else {\nLAB_000b2c10:\n            ppbVar22 = (byte **)(uint)*(byte *)((int)ppbVar22 + (int)(puVar2 + 0x48c4));\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }\njoined_r0x000b33cc:\n          PTR_UINT_0015b5fc = (undefined *)ppbVar10;\n          if (ppbVar22 < (byte **)0x53) {\n            if (ppbVar22 < (byte **)0x50) {\n              *(byte ***)pbVar4 = unaff_s7 + 3;\n              if (*(byte ***)(pbVar4 + 0x4b8) < unaff_s7 + 3) {\n                *(byte ***)pbVar4 = unaff_s7;\n                FUN_000b2444(pbVar4);\n              }\n              else {\n                if ((byte **)0x22 < ppbVar22) {\n                  ppbVar22 = (byte **)((uint)((int)ppbVar22 + 0x1f) & 0xff);\n                }\n                *(byte *)(unaff_s7 + 3) = (byte)ppbVar22;\n                *(byte *)((int)unaff_s7 + 0xd) = (byte)unaff_s2;\n                unaff_s7[4] = unaff_s4;\n                unaff_s7[5] = pbVar24;\n              }\n            }\n            else if (ppbVar22 == (byte **)0x51) {\n              *(byte ***)pbVar4 = unaff_s7 + -3;\n              ppbVar17 = ppbVar10;\n            }\n            else {\n              ppbVar22 = *(byte ***)(pbVar4 + 4);\n              pbVar21 = unaff_s4;\n              local_cc = unaff_s4;\n              local_c8 = pbVar24;\n              (*pcVar13)(ppbVar22,ppbVar10 + -0x1c2b);\n              ppbVar17 = &local_cc;\n              *(byte ***)(pbVar4 + 4) = ppbVar22;\n              FUN_000b23c0(unaff_s2);\n              pbVar20 = pbVar24;\n            }\n            goto LAB_000b2d18;\n          }\n          ppbVar23 = (byte **)((int)ppbVar22 + -0x53);\n          unaff_s5 = (byte *)(int)(char)*(byte *)((int)ppbVar23 + (int)(unaff_s6 + 0x488c));\n          if ((unaff_s5 != (byte *)0x0) || (unaff_s7 < *(byte ***)(pbVar4 + 0x4b8))) break;\n          FUN_000b2444(pbVar4);\n          unaff_s7 = *(byte ***)pbVar4;\n          ppbVar22 = ppbVar23;\n          if (unaff_s7 <= unaff_s1) goto LAB_000b2d18;\n          pbVar9 = unaff_s2 + 0x2c;\n          ppbVar22 = (byte **)0x0;\n        }\n        if (ppbVar23 < (byte **)0x1c) {\n                    /* WARNING: Could not emulate address calculation at 0x000b2c68 */\n                    /* WARNING: Treating indirect jump as call */\n          iVar5 = (*(code *)(&_gp_1 + (int)ppbVar10[(int)(ppbVar22 + 0xcb)]))();\n          return iVar5;\n        }\n        pbVar20 = unaff_s6 + 0x499c;\n        bVar12 = *(byte *)(unaff_s7 + (int)unaff_s5 * 3);\n        ppbVar17 = unaff_s7 + (int)unaff_s5 * 3 + 3;\n        bVar1 = *(byte *)((int)(ppbVar10 + 0x122a) + (int)ppbVar23);\n        *(byte ***)pbVar4 = ppbVar17;\n        *(byte *)((int)ppbVar17 + 1) = bVar1;\n        ppbVar22 = (byte **)(uint)pbVar20[(uint)bVar1 +\n                                          (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)];\n        *(byte *)ppbVar17 =\n             pbVar20[(uint)bVar1 + (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)];\n        unaff_s7 = *(byte ***)pbVar4;\n        ppbVar17 = ppbVar10;\n      } while (unaff_s1 < unaff_s7);" do (compound_statement "{\n        ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n        if ((byte **)0x22 < ppbVar22) goto joined_r0x000b33cc;\n        pbVar9 = unaff_s2 + (byte)puVar8[(int)ppbVar22];\n        if ((byte *)0x78 < pbVar9) goto LAB_000b2c10;\n        while( true ) {\n          if ((byte *)(uint)pbVar9[(int)puVar7] == unaff_s2) {\n            ppbVar22 = (byte **)(uint)pbVar9[(int)(unaff_s6 + 0x499c)];\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }\n          else {\nLAB_000b2c10:\n            ppbVar22 = (byte **)(uint)*(byte *)((int)ppbVar22 + (int)(puVar2 + 0x48c4));\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }\njoined_r0x000b33cc:\n          PTR_UINT_0015b5fc = (undefined *)ppbVar10;\n          if (ppbVar22 < (byte **)0x53) {\n            if (ppbVar22 < (byte **)0x50) {\n              *(byte ***)pbVar4 = unaff_s7 + 3;\n              if (*(byte ***)(pbVar4 + 0x4b8) < unaff_s7 + 3) {\n                *(byte ***)pbVar4 = unaff_s7;\n                FUN_000b2444(pbVar4);\n              }\n              else {\n                if ((byte **)0x22 < ppbVar22) {\n                  ppbVar22 = (byte **)((uint)((int)ppbVar22 + 0x1f) & 0xff);\n                }\n                *(byte *)(unaff_s7 + 3) = (byte)ppbVar22;\n                *(byte *)((int)unaff_s7 + 0xd) = (byte)unaff_s2;\n                unaff_s7[4] = unaff_s4;\n                unaff_s7[5] = pbVar24;\n              }\n            }\n            else if (ppbVar22 == (byte **)0x51) {\n              *(byte ***)pbVar4 = unaff_s7 + -3;\n              ppbVar17 = ppbVar10;\n            }\n            else {\n              ppbVar22 = *(byte ***)(pbVar4 + 4);\n              pbVar21 = unaff_s4;\n              local_cc = unaff_s4;\n              local_c8 = pbVar24;\n              (*pcVar13)(ppbVar22,ppbVar10 + -0x1c2b);\n              ppbVar17 = &local_cc;\n              *(byte ***)(pbVar4 + 4) = ppbVar22;\n              FUN_000b23c0(unaff_s2);\n              pbVar20 = pbVar24;\n            }\n            goto LAB_000b2d18;\n          }\n          ppbVar23 = (byte **)((int)ppbVar22 + -0x53);\n          unaff_s5 = (byte *)(int)(char)*(byte *)((int)ppbVar23 + (int)(unaff_s6 + 0x488c));\n          if ((unaff_s5 != (byte *)0x0) || (unaff_s7 < *(byte ***)(pbVar4 + 0x4b8))) break;\n          FUN_000b2444(pbVar4);\n          unaff_s7 = *(byte ***)pbVar4;\n          ppbVar22 = ppbVar23;\n          if (unaff_s7 <= unaff_s1) goto LAB_000b2d18;\n          pbVar9 = unaff_s2 + 0x2c;\n          ppbVar22 = (byte **)0x0;\n        }\n        if (ppbVar23 < (byte **)0x1c) {\n                    /* WARNING: Could not emulate address calculation at 0x000b2c68 */\n                    /* WARNING: Treating indirect jump as call */\n          iVar5 = (*(code *)(&_gp_1 + (int)ppbVar10[(int)(ppbVar22 + 0xcb)]))();\n          return iVar5;\n        }\n        pbVar20 = unaff_s6 + 0x499c;\n        bVar12 = *(byte *)(unaff_s7 + (int)unaff_s5 * 3);\n        ppbVar17 = unaff_s7 + (int)unaff_s5 * 3 + 3;\n        bVar1 = *(byte *)((int)(ppbVar10 + 0x122a) + (int)ppbVar23);\n        *(byte ***)pbVar4 = ppbVar17;\n        *(byte *)((int)ppbVar17 + 1) = bVar1;\n        ppbVar22 = (byte **)(uint)pbVar20[(uint)bVar1 +\n                                          (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)];\n        *(byte *)ppbVar17 =\n             pbVar20[(uint)bVar1 + (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)];\n        unaff_s7 = *(byte ***)pbVar4;\n        ppbVar17 = ppbVar10;\n      }" { (expression_statement "ppbVar10 = (byte **)PTR_UINT_0015b5fc;" (assignment_expression "ppbVar10 = (byte **)PTR_UINT_0015b5fc" identifier = (cast_expression "(byte **)PTR_UINT_0015b5fc" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (if_statement "if ((byte **)0x22 < ppbVar22) goto joined_r0x000b33cc;" if (parenthesized_expression "((byte **)0x22 < ppbVar22)" ( (binary_expression "(byte **)0x22 < ppbVar22" (cast_expression "(byte **)0x22" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) < identifier) )) (goto_statement "goto joined_r0x000b33cc;" goto statement_identifier ;)) (expression_statement "pbVar9 = unaff_s2 + (byte)puVar8[(int)ppbVar22];" (assignment_expression "pbVar9 = unaff_s2 + (byte)puVar8[(int)ppbVar22]" identifier = (binary_expression "unaff_s2 + (byte)puVar8[(int)ppbVar22]" identifier + (cast_expression "(byte)puVar8[(int)ppbVar22]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar8[(int)ppbVar22]" identifier [ (cast_expression "(int)ppbVar22" ( (type_descriptor "int" primitive_type) ) identifier) ])))) ;) (if_statement "if ((byte *)0x78 < pbVar9) goto LAB_000b2c10;" if (parenthesized_expression "((byte *)0x78 < pbVar9)" ( (binary_expression "(byte *)0x78 < pbVar9" (cast_expression "(byte *)0x78" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < identifier) )) (goto_statement "goto LAB_000b2c10;" goto statement_identifier ;)) (while_statement "while( true ) {\n          if ((byte *)(uint)pbVar9[(int)puVar7] == unaff_s2) {\n            ppbVar22 = (byte **)(uint)pbVar9[(int)(unaff_s6 + 0x499c)];\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }\n          else {\nLAB_000b2c10:\n            ppbVar22 = (byte **)(uint)*(byte *)((int)ppbVar22 + (int)(puVar2 + 0x48c4));\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }\njoined_r0x000b33cc:\n          PTR_UINT_0015b5fc = (undefined *)ppbVar10;\n          if (ppbVar22 < (byte **)0x53) {\n            if (ppbVar22 < (byte **)0x50) {\n              *(byte ***)pbVar4 = unaff_s7 + 3;\n              if (*(byte ***)(pbVar4 + 0x4b8) < unaff_s7 + 3) {\n                *(byte ***)pbVar4 = unaff_s7;\n                FUN_000b2444(pbVar4);\n              }\n              else {\n                if ((byte **)0x22 < ppbVar22) {\n                  ppbVar22 = (byte **)((uint)((int)ppbVar22 + 0x1f) & 0xff);\n                }\n                *(byte *)(unaff_s7 + 3) = (byte)ppbVar22;\n                *(byte *)((int)unaff_s7 + 0xd) = (byte)unaff_s2;\n                unaff_s7[4] = unaff_s4;\n                unaff_s7[5] = pbVar24;\n              }\n            }\n            else if (ppbVar22 == (byte **)0x51) {\n              *(byte ***)pbVar4 = unaff_s7 + -3;\n              ppbVar17 = ppbVar10;\n            }\n            else {\n              ppbVar22 = *(byte ***)(pbVar4 + 4);\n              pbVar21 = unaff_s4;\n              local_cc = unaff_s4;\n              local_c8 = pbVar24;\n              (*pcVar13)(ppbVar22,ppbVar10 + -0x1c2b);\n              ppbVar17 = &local_cc;\n              *(byte ***)(pbVar4 + 4) = ppbVar22;\n              FUN_000b23c0(unaff_s2);\n              pbVar20 = pbVar24;\n            }\n            goto LAB_000b2d18;\n          }\n          ppbVar23 = (byte **)((int)ppbVar22 + -0x53);\n          unaff_s5 = (byte *)(int)(char)*(byte *)((int)ppbVar23 + (int)(unaff_s6 + 0x488c));\n          if ((unaff_s5 != (byte *)0x0) || (unaff_s7 < *(byte ***)(pbVar4 + 0x4b8))) break;\n          FUN_000b2444(pbVar4);\n          unaff_s7 = *(byte ***)pbVar4;\n          ppbVar22 = ppbVar23;\n          if (unaff_s7 <= unaff_s1) goto LAB_000b2d18;\n          pbVar9 = unaff_s2 + 0x2c;\n          ppbVar22 = (byte **)0x0;\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          if ((byte *)(uint)pbVar9[(int)puVar7] == unaff_s2) {\n            ppbVar22 = (byte **)(uint)pbVar9[(int)(unaff_s6 + 0x499c)];\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }\n          else {\nLAB_000b2c10:\n            ppbVar22 = (byte **)(uint)*(byte *)((int)ppbVar22 + (int)(puVar2 + 0x48c4));\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }\njoined_r0x000b33cc:\n          PTR_UINT_0015b5fc = (undefined *)ppbVar10;\n          if (ppbVar22 < (byte **)0x53) {\n            if (ppbVar22 < (byte **)0x50) {\n              *(byte ***)pbVar4 = unaff_s7 + 3;\n              if (*(byte ***)(pbVar4 + 0x4b8) < unaff_s7 + 3) {\n                *(byte ***)pbVar4 = unaff_s7;\n                FUN_000b2444(pbVar4);\n              }\n              else {\n                if ((byte **)0x22 < ppbVar22) {\n                  ppbVar22 = (byte **)((uint)((int)ppbVar22 + 0x1f) & 0xff);\n                }\n                *(byte *)(unaff_s7 + 3) = (byte)ppbVar22;\n                *(byte *)((int)unaff_s7 + 0xd) = (byte)unaff_s2;\n                unaff_s7[4] = unaff_s4;\n                unaff_s7[5] = pbVar24;\n              }\n            }\n            else if (ppbVar22 == (byte **)0x51) {\n              *(byte ***)pbVar4 = unaff_s7 + -3;\n              ppbVar17 = ppbVar10;\n            }\n            else {\n              ppbVar22 = *(byte ***)(pbVar4 + 4);\n              pbVar21 = unaff_s4;\n              local_cc = unaff_s4;\n              local_c8 = pbVar24;\n              (*pcVar13)(ppbVar22,ppbVar10 + -0x1c2b);\n              ppbVar17 = &local_cc;\n              *(byte ***)(pbVar4 + 4) = ppbVar22;\n              FUN_000b23c0(unaff_s2);\n              pbVar20 = pbVar24;\n            }\n            goto LAB_000b2d18;\n          }\n          ppbVar23 = (byte **)((int)ppbVar22 + -0x53);\n          unaff_s5 = (byte *)(int)(char)*(byte *)((int)ppbVar23 + (int)(unaff_s6 + 0x488c));\n          if ((unaff_s5 != (byte *)0x0) || (unaff_s7 < *(byte ***)(pbVar4 + 0x4b8))) break;\n          FUN_000b2444(pbVar4);\n          unaff_s7 = *(byte ***)pbVar4;\n          ppbVar22 = ppbVar23;\n          if (unaff_s7 <= unaff_s1) goto LAB_000b2d18;\n          pbVar9 = unaff_s2 + 0x2c;\n          ppbVar22 = (byte **)0x0;\n        }" { (if_statement "if ((byte *)(uint)pbVar9[(int)puVar7] == unaff_s2) {\n            ppbVar22 = (byte **)(uint)pbVar9[(int)(unaff_s6 + 0x499c)];\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }\n          else {\nLAB_000b2c10:\n            ppbVar22 = (byte **)(uint)*(byte *)((int)ppbVar22 + (int)(puVar2 + 0x48c4));\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }" if (parenthesized_expression "((byte *)(uint)pbVar9[(int)puVar7] == unaff_s2)" ( (binary_expression "(byte *)(uint)pbVar9[(int)puVar7] == unaff_s2" (cast_expression "(byte *)(uint)pbVar9[(int)puVar7]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)pbVar9[(int)puVar7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar9[(int)puVar7]" identifier [ (cast_expression "(int)puVar7" ( (type_descriptor "int" primitive_type) ) identifier) ]))) == identifier) )) (compound_statement "{\n            ppbVar22 = (byte **)(uint)pbVar9[(int)(unaff_s6 + 0x499c)];\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }" { (expression_statement "ppbVar22 = (byte **)(uint)pbVar9[(int)(unaff_s6 + 0x499c)];" (assignment_expression "ppbVar22 = (byte **)(uint)pbVar9[(int)(unaff_s6 + 0x499c)]" identifier = (cast_expression "(byte **)(uint)pbVar9[(int)(unaff_s6 + 0x499c)]" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (cast_expression "(uint)pbVar9[(int)(unaff_s6 + 0x499c)]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar9[(int)(unaff_s6 + 0x499c)]" identifier [ (cast_expression "(int)(unaff_s6 + 0x499c)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(unaff_s6 + 0x499c)" ( (binary_expression "unaff_s6 + 0x499c" identifier + number_literal) ))) ])))) ;) (expression_statement "ppbVar10 = (byte **)PTR_UINT_0015b5fc;" (assignment_expression "ppbVar10 = (byte **)PTR_UINT_0015b5fc" identifier = (cast_expression "(byte **)PTR_UINT_0015b5fc" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) }) (else_clause "else {\nLAB_000b2c10:\n            ppbVar22 = (byte **)(uint)*(byte *)((int)ppbVar22 + (int)(puVar2 + 0x48c4));\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }" else (compound_statement "{\nLAB_000b2c10:\n            ppbVar22 = (byte **)(uint)*(byte *)((int)ppbVar22 + (int)(puVar2 + 0x48c4));\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }" { (labeled_statement "LAB_000b2c10:\n            ppbVar22 = (byte **)(uint)*(byte *)((int)ppbVar22 + (int)(puVar2 + 0x48c4));" statement_identifier : (expression_statement "ppbVar22 = (byte **)(uint)*(byte *)((int)ppbVar22 + (int)(puVar2 + 0x48c4));" (assignment_expression "ppbVar22 = (byte **)(uint)*(byte *)((int)ppbVar22 + (int)(puVar2 + 0x48c4))" identifier = (binary_expression "(byte **)(uint)*(byte *)((int)ppbVar22 + (int)(puVar2 + 0x48c4))" (cast_expression "(byte **)(uint)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(byte *)((int)ppbVar22 + (int)(puVar2 + 0x48c4))" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppbVar22 + (int)(puVar2 + 0x48c4))" ( (binary_expression "(int)ppbVar22 + (int)(puVar2 + 0x48c4)" (cast_expression "(int)ppbVar22" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)(puVar2 + 0x48c4)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar2 + 0x48c4)" ( (binary_expression "puVar2 + 0x48c4" identifier + number_literal) )))) ))))) ;)) (expression_statement "ppbVar10 = (byte **)PTR_UINT_0015b5fc;" (assignment_expression "ppbVar10 = (byte **)PTR_UINT_0015b5fc" identifier = (cast_expression "(byte **)PTR_UINT_0015b5fc" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) }))) (labeled_statement "joined_r0x000b33cc:\n          PTR_UINT_0015b5fc = (undefined *)ppbVar10;" statement_identifier : (expression_statement "PTR_UINT_0015b5fc = (undefined *)ppbVar10;" (assignment_expression "PTR_UINT_0015b5fc = (undefined *)ppbVar10" identifier = (cast_expression "(undefined *)ppbVar10" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (if_statement "if (ppbVar22 < (byte **)0x53) {\n            if (ppbVar22 < (byte **)0x50) {\n              *(byte ***)pbVar4 = unaff_s7 + 3;\n              if (*(byte ***)(pbVar4 + 0x4b8) < unaff_s7 + 3) {\n                *(byte ***)pbVar4 = unaff_s7;\n                FUN_000b2444(pbVar4);\n              }\n              else {\n                if ((byte **)0x22 < ppbVar22) {\n                  ppbVar22 = (byte **)((uint)((int)ppbVar22 + 0x1f) & 0xff);\n                }\n                *(byte *)(unaff_s7 + 3) = (byte)ppbVar22;\n                *(byte *)((int)unaff_s7 + 0xd) = (byte)unaff_s2;\n                unaff_s7[4] = unaff_s4;\n                unaff_s7[5] = pbVar24;\n              }\n            }\n            else if (ppbVar22 == (byte **)0x51) {\n              *(byte ***)pbVar4 = unaff_s7 + -3;\n              ppbVar17 = ppbVar10;\n            }\n            else {\n              ppbVar22 = *(byte ***)(pbVar4 + 4);\n              pbVar21 = unaff_s4;\n              local_cc = unaff_s4;\n              local_c8 = pbVar24;\n              (*pcVar13)(ppbVar22,ppbVar10 + -0x1c2b);\n              ppbVar17 = &local_cc;\n              *(byte ***)(pbVar4 + 4) = ppbVar22;\n              FUN_000b23c0(unaff_s2);\n              pbVar20 = pbVar24;\n            }\n            goto LAB_000b2d18;\n          }" if (parenthesized_expression "(ppbVar22 < (byte **)0x53)" ( (binary_expression "ppbVar22 < (byte **)0x53" identifier < (cast_expression "(byte **)0x53" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n            if (ppbVar22 < (byte **)0x50) {\n              *(byte ***)pbVar4 = unaff_s7 + 3;\n              if (*(byte ***)(pbVar4 + 0x4b8) < unaff_s7 + 3) {\n                *(byte ***)pbVar4 = unaff_s7;\n                FUN_000b2444(pbVar4);\n              }\n              else {\n                if ((byte **)0x22 < ppbVar22) {\n                  ppbVar22 = (byte **)((uint)((int)ppbVar22 + 0x1f) & 0xff);\n                }\n                *(byte *)(unaff_s7 + 3) = (byte)ppbVar22;\n                *(byte *)((int)unaff_s7 + 0xd) = (byte)unaff_s2;\n                unaff_s7[4] = unaff_s4;\n                unaff_s7[5] = pbVar24;\n              }\n            }\n            else if (ppbVar22 == (byte **)0x51) {\n              *(byte ***)pbVar4 = unaff_s7 + -3;\n              ppbVar17 = ppbVar10;\n            }\n            else {\n              ppbVar22 = *(byte ***)(pbVar4 + 4);\n              pbVar21 = unaff_s4;\n              local_cc = unaff_s4;\n              local_c8 = pbVar24;\n              (*pcVar13)(ppbVar22,ppbVar10 + -0x1c2b);\n              ppbVar17 = &local_cc;\n              *(byte ***)(pbVar4 + 4) = ppbVar22;\n              FUN_000b23c0(unaff_s2);\n              pbVar20 = pbVar24;\n            }\n            goto LAB_000b2d18;\n          }" { (if_statement "if (ppbVar22 < (byte **)0x50) {\n              *(byte ***)pbVar4 = unaff_s7 + 3;\n              if (*(byte ***)(pbVar4 + 0x4b8) < unaff_s7 + 3) {\n                *(byte ***)pbVar4 = unaff_s7;\n                FUN_000b2444(pbVar4);\n              }\n              else {\n                if ((byte **)0x22 < ppbVar22) {\n                  ppbVar22 = (byte **)((uint)((int)ppbVar22 + 0x1f) & 0xff);\n                }\n                *(byte *)(unaff_s7 + 3) = (byte)ppbVar22;\n                *(byte *)((int)unaff_s7 + 0xd) = (byte)unaff_s2;\n                unaff_s7[4] = unaff_s4;\n                unaff_s7[5] = pbVar24;\n              }\n            }\n            else if (ppbVar22 == (byte **)0x51) {\n              *(byte ***)pbVar4 = unaff_s7 + -3;\n              ppbVar17 = ppbVar10;\n            }\n            else {\n              ppbVar22 = *(byte ***)(pbVar4 + 4);\n              pbVar21 = unaff_s4;\n              local_cc = unaff_s4;\n              local_c8 = pbVar24;\n              (*pcVar13)(ppbVar22,ppbVar10 + -0x1c2b);\n              ppbVar17 = &local_cc;\n              *(byte ***)(pbVar4 + 4) = ppbVar22;\n              FUN_000b23c0(unaff_s2);\n              pbVar20 = pbVar24;\n            }" if (parenthesized_expression "(ppbVar22 < (byte **)0x50)" ( (binary_expression "ppbVar22 < (byte **)0x50" identifier < (cast_expression "(byte **)0x50" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n              *(byte ***)pbVar4 = unaff_s7 + 3;\n              if (*(byte ***)(pbVar4 + 0x4b8) < unaff_s7 + 3) {\n                *(byte ***)pbVar4 = unaff_s7;\n                FUN_000b2444(pbVar4);\n              }\n              else {\n                if ((byte **)0x22 < ppbVar22) {\n                  ppbVar22 = (byte **)((uint)((int)ppbVar22 + 0x1f) & 0xff);\n                }\n                *(byte *)(unaff_s7 + 3) = (byte)ppbVar22;\n                *(byte *)((int)unaff_s7 + 0xd) = (byte)unaff_s2;\n                unaff_s7[4] = unaff_s4;\n                unaff_s7[5] = pbVar24;\n              }\n            }" { (expression_statement "*(byte ***)pbVar4 = unaff_s7 + 3;" (assignment_expression "*(byte ***)pbVar4 = unaff_s7 + 3" (pointer_expression "*(byte ***)pbVar4" * (cast_expression "(byte ***)pbVar4" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) = (binary_expression "unaff_s7 + 3" identifier + number_literal)) ;) (if_statement "if (*(byte ***)(pbVar4 + 0x4b8) < unaff_s7 + 3) {\n                *(byte ***)pbVar4 = unaff_s7;\n                FUN_000b2444(pbVar4);\n              }\n              else {\n                if ((byte **)0x22 < ppbVar22) {\n                  ppbVar22 = (byte **)((uint)((int)ppbVar22 + 0x1f) & 0xff);\n                }\n                *(byte *)(unaff_s7 + 3) = (byte)ppbVar22;\n                *(byte *)((int)unaff_s7 + 0xd) = (byte)unaff_s2;\n                unaff_s7[4] = unaff_s4;\n                unaff_s7[5] = pbVar24;\n              }" if (parenthesized_expression "(*(byte ***)(pbVar4 + 0x4b8) < unaff_s7 + 3)" ( (binary_expression "*(byte ***)(pbVar4 + 0x4b8) < unaff_s7 + 3" (pointer_expression "*(byte ***)(pbVar4 + 0x4b8)" * (cast_expression "(byte ***)(pbVar4 + 0x4b8)" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(pbVar4 + 0x4b8)" ( (binary_expression "pbVar4 + 0x4b8" identifier + number_literal) )))) < (binary_expression "unaff_s7 + 3" identifier + number_literal)) )) (compound_statement "{\n                *(byte ***)pbVar4 = unaff_s7;\n                FUN_000b2444(pbVar4);\n              }" { (expression_statement "*(byte ***)pbVar4 = unaff_s7;" (assignment_expression "*(byte ***)pbVar4 = unaff_s7" (pointer_expression "*(byte ***)pbVar4" * (cast_expression "(byte ***)pbVar4" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) = identifier) ;) (expression_statement "FUN_000b2444(pbVar4);" (call_expression "FUN_000b2444(pbVar4)" identifier (argument_list "(pbVar4)" ( identifier ))) ;) }) (else_clause "else {\n                if ((byte **)0x22 < ppbVar22) {\n                  ppbVar22 = (byte **)((uint)((int)ppbVar22 + 0x1f) & 0xff);\n                }\n                *(byte *)(unaff_s7 + 3) = (byte)ppbVar22;\n                *(byte *)((int)unaff_s7 + 0xd) = (byte)unaff_s2;\n                unaff_s7[4] = unaff_s4;\n                unaff_s7[5] = pbVar24;\n              }" else (compound_statement "{\n                if ((byte **)0x22 < ppbVar22) {\n                  ppbVar22 = (byte **)((uint)((int)ppbVar22 + 0x1f) & 0xff);\n                }\n                *(byte *)(unaff_s7 + 3) = (byte)ppbVar22;\n                *(byte *)((int)unaff_s7 + 0xd) = (byte)unaff_s2;\n                unaff_s7[4] = unaff_s4;\n                unaff_s7[5] = pbVar24;\n              }" { (if_statement "if ((byte **)0x22 < ppbVar22) {\n                  ppbVar22 = (byte **)((uint)((int)ppbVar22 + 0x1f) & 0xff);\n                }" if (parenthesized_expression "((byte **)0x22 < ppbVar22)" ( (binary_expression "(byte **)0x22 < ppbVar22" (cast_expression "(byte **)0x22" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) < identifier) )) (compound_statement "{\n                  ppbVar22 = (byte **)((uint)((int)ppbVar22 + 0x1f) & 0xff);\n                }" { (expression_statement "ppbVar22 = (byte **)((uint)((int)ppbVar22 + 0x1f) & 0xff);" (assignment_expression "ppbVar22 = (byte **)((uint)((int)ppbVar22 + 0x1f) & 0xff)" identifier = (cast_expression "(byte **)((uint)((int)ppbVar22 + 0x1f) & 0xff)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((uint)((int)ppbVar22 + 0x1f) & 0xff)" ( (binary_expression "(uint)((int)ppbVar22 + 0x1f) & 0xff" (call_expression "(uint)((int)ppbVar22 + 0x1f)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)ppbVar22 + 0x1f)" ( (binary_expression "(int)ppbVar22 + 0x1f" (cast_expression "(int)ppbVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) & number_literal) )))) ;) })) (expression_statement "*(byte *)(unaff_s7 + 3) = (byte)ppbVar22;" (assignment_expression "*(byte *)(unaff_s7 + 3) = (byte)ppbVar22" (pointer_expression "*(byte *)(unaff_s7 + 3)" * (cast_expression "(byte *)(unaff_s7 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s7 + 3)" ( (binary_expression "unaff_s7 + 3" identifier + number_literal) )))) = (cast_expression "(byte)ppbVar22" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "*(byte *)((int)unaff_s7 + 0xd) = (byte)unaff_s2;" (assignment_expression "*(byte *)((int)unaff_s7 + 0xd) = (byte)unaff_s2" (pointer_expression "*(byte *)((int)unaff_s7 + 0xd)" * (cast_expression "(byte *)((int)unaff_s7 + 0xd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s7 + 0xd)" ( (binary_expression "(int)unaff_s7 + 0xd" (cast_expression "(int)unaff_s7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (cast_expression "(byte)unaff_s2" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "unaff_s7[4] = unaff_s4;" (assignment_expression "unaff_s7[4] = unaff_s4" (subscript_expression "unaff_s7[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "unaff_s7[5] = pbVar24;" (assignment_expression "unaff_s7[5] = pbVar24" (subscript_expression "unaff_s7[5]" identifier [ number_literal ]) = identifier) ;) }))) }) (else_clause "else if (ppbVar22 == (byte **)0x51) {\n              *(byte ***)pbVar4 = unaff_s7 + -3;\n              ppbVar17 = ppbVar10;\n            }\n            else {\n              ppbVar22 = *(byte ***)(pbVar4 + 4);\n              pbVar21 = unaff_s4;\n              local_cc = unaff_s4;\n              local_c8 = pbVar24;\n              (*pcVar13)(ppbVar22,ppbVar10 + -0x1c2b);\n              ppbVar17 = &local_cc;\n              *(byte ***)(pbVar4 + 4) = ppbVar22;\n              FUN_000b23c0(unaff_s2);\n              pbVar20 = pbVar24;\n            }" else (if_statement "if (ppbVar22 == (byte **)0x51) {\n              *(byte ***)pbVar4 = unaff_s7 + -3;\n              ppbVar17 = ppbVar10;\n            }\n            else {\n              ppbVar22 = *(byte ***)(pbVar4 + 4);\n              pbVar21 = unaff_s4;\n              local_cc = unaff_s4;\n              local_c8 = pbVar24;\n              (*pcVar13)(ppbVar22,ppbVar10 + -0x1c2b);\n              ppbVar17 = &local_cc;\n              *(byte ***)(pbVar4 + 4) = ppbVar22;\n              FUN_000b23c0(unaff_s2);\n              pbVar20 = pbVar24;\n            }" if (parenthesized_expression "(ppbVar22 == (byte **)0x51)" ( (binary_expression "ppbVar22 == (byte **)0x51" identifier == (cast_expression "(byte **)0x51" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n              *(byte ***)pbVar4 = unaff_s7 + -3;\n              ppbVar17 = ppbVar10;\n            }" { (expression_statement "*(byte ***)pbVar4 = unaff_s7 + -3;" (assignment_expression "*(byte ***)pbVar4 = unaff_s7 + -3" (pointer_expression "*(byte ***)pbVar4" * (cast_expression "(byte ***)pbVar4" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) = (binary_expression "unaff_s7 + -3" identifier + number_literal)) ;) (expression_statement "ppbVar17 = ppbVar10;" (assignment_expression "ppbVar17 = ppbVar10" identifier = identifier) ;) }) (else_clause "else {\n              ppbVar22 = *(byte ***)(pbVar4 + 4);\n              pbVar21 = unaff_s4;\n              local_cc = unaff_s4;\n              local_c8 = pbVar24;\n              (*pcVar13)(ppbVar22,ppbVar10 + -0x1c2b);\n              ppbVar17 = &local_cc;\n              *(byte ***)(pbVar4 + 4) = ppbVar22;\n              FUN_000b23c0(unaff_s2);\n              pbVar20 = pbVar24;\n            }" else (compound_statement "{\n              ppbVar22 = *(byte ***)(pbVar4 + 4);\n              pbVar21 = unaff_s4;\n              local_cc = unaff_s4;\n              local_c8 = pbVar24;\n              (*pcVar13)(ppbVar22,ppbVar10 + -0x1c2b);\n              ppbVar17 = &local_cc;\n              *(byte ***)(pbVar4 + 4) = ppbVar22;\n              FUN_000b23c0(unaff_s2);\n              pbVar20 = pbVar24;\n            }" { (expression_statement "ppbVar22 = *(byte ***)(pbVar4 + 4);" (assignment_expression "ppbVar22 = *(byte ***)(pbVar4 + 4)" identifier = (pointer_expression "*(byte ***)(pbVar4 + 4)" * (cast_expression "(byte ***)(pbVar4 + 4)" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(pbVar4 + 4)" ( (binary_expression "pbVar4 + 4" identifier + number_literal) ))))) ;) (expression_statement "pbVar21 = unaff_s4;" (assignment_expression "pbVar21 = unaff_s4" identifier = identifier) ;) (expression_statement "local_cc = unaff_s4;" (assignment_expression "local_cc = unaff_s4" identifier = identifier) ;) (expression_statement "local_c8 = pbVar24;" (assignment_expression "local_c8 = pbVar24" identifier = identifier) ;) (expression_statement "(*pcVar13)(ppbVar22,ppbVar10 + -0x1c2b);" (call_expression "(*pcVar13)(ppbVar22,ppbVar10 + -0x1c2b)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(ppbVar22,ppbVar10 + -0x1c2b)" ( identifier , (binary_expression "ppbVar10 + -0x1c2b" identifier + number_literal) ))) ;) (expression_statement "ppbVar17 = &local_cc;" (assignment_expression "ppbVar17 = &local_cc" identifier = (pointer_expression "&local_cc" & identifier)) ;) (expression_statement "*(byte ***)(pbVar4 + 4) = ppbVar22;" (assignment_expression "*(byte ***)(pbVar4 + 4) = ppbVar22" (pointer_expression "*(byte ***)(pbVar4 + 4)" * (cast_expression "(byte ***)(pbVar4 + 4)" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(pbVar4 + 4)" ( (binary_expression "pbVar4 + 4" identifier + number_literal) )))) = identifier) ;) (expression_statement "FUN_000b23c0(unaff_s2);" (call_expression "FUN_000b23c0(unaff_s2)" identifier (argument_list "(unaff_s2)" ( identifier ))) ;) (expression_statement "pbVar20 = pbVar24;" (assignment_expression "pbVar20 = pbVar24" identifier = identifier) ;) }))))) (goto_statement "goto LAB_000b2d18;" goto statement_identifier ;) })) (expression_statement "ppbVar23 = (byte **)((int)ppbVar22 + -0x53);" (assignment_expression "ppbVar23 = (byte **)((int)ppbVar22 + -0x53)" identifier = (cast_expression "(byte **)((int)ppbVar22 + -0x53)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppbVar22 + -0x53)" ( (binary_expression "(int)ppbVar22 + -0x53" (cast_expression "(int)ppbVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "unaff_s5 = (byte *)(int)(char)*(byte *)((int)ppbVar23 + (int)(unaff_s6 + 0x488c));" (assignment_expression "unaff_s5 = (byte *)(int)(char)*(byte *)((int)ppbVar23 + (int)(unaff_s6 + 0x488c))" identifier = (cast_expression "(byte *)(int)(char)*(byte *)((int)ppbVar23 + (int)(unaff_s6 + 0x488c))" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)(char)*(byte *)((int)ppbVar23 + (int)(unaff_s6 + 0x488c))" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)*(byte *)((int)ppbVar23 + (int)(unaff_s6 + 0x488c))" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(byte *)((int)ppbVar23 + (int)(unaff_s6 + 0x488c))" * (cast_expression "(byte *)((int)ppbVar23 + (int)(unaff_s6 + 0x488c))" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppbVar23 + (int)(unaff_s6 + 0x488c))" ( (binary_expression "(int)ppbVar23 + (int)(unaff_s6 + 0x488c)" (cast_expression "(int)ppbVar23" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)(unaff_s6 + 0x488c)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(unaff_s6 + 0x488c)" ( (binary_expression "unaff_s6 + 0x488c" identifier + number_literal) )))) )))))))) ;) (if_statement "if ((unaff_s5 != (byte *)0x0) || (unaff_s7 < *(byte ***)(pbVar4 + 0x4b8))) break;" if (parenthesized_expression "((unaff_s5 != (byte *)0x0) || (unaff_s7 < *(byte ***)(pbVar4 + 0x4b8)))" ( (binary_expression "(unaff_s5 != (byte *)0x0) || (unaff_s7 < *(byte ***)(pbVar4 + 0x4b8))" (parenthesized_expression "(unaff_s5 != (byte *)0x0)" ( (binary_expression "unaff_s5 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(unaff_s7 < *(byte ***)(pbVar4 + 0x4b8))" ( (binary_expression "unaff_s7 < *(byte ***)(pbVar4 + 0x4b8)" identifier < (pointer_expression "*(byte ***)(pbVar4 + 0x4b8)" * (cast_expression "(byte ***)(pbVar4 + 0x4b8)" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(pbVar4 + 0x4b8)" ( (binary_expression "pbVar4 + 0x4b8" identifier + number_literal) ))))) ))) )) (break_statement "break;" break ;)) (expression_statement "FUN_000b2444(pbVar4);" (call_expression "FUN_000b2444(pbVar4)" identifier (argument_list "(pbVar4)" ( identifier ))) ;) (expression_statement "unaff_s7 = *(byte ***)pbVar4;" (assignment_expression "unaff_s7 = *(byte ***)pbVar4" identifier = (pointer_expression "*(byte ***)pbVar4" * (cast_expression "(byte ***)pbVar4" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier))) ;) (expression_statement "ppbVar22 = ppbVar23;" (assignment_expression "ppbVar22 = ppbVar23" identifier = identifier) ;) (if_statement "if (unaff_s7 <= unaff_s1) goto LAB_000b2d18;" if (parenthesized_expression "(unaff_s7 <= unaff_s1)" ( (binary_expression "unaff_s7 <= unaff_s1" identifier <= identifier) )) (goto_statement "goto LAB_000b2d18;" goto statement_identifier ;)) (expression_statement "pbVar9 = unaff_s2 + 0x2c;" (assignment_expression "pbVar9 = unaff_s2 + 0x2c" identifier = (binary_expression "unaff_s2 + 0x2c" identifier + number_literal)) ;) (expression_statement "ppbVar22 = (byte **)0x0;" (assignment_expression "ppbVar22 = (byte **)0x0" identifier = (cast_expression "(byte **)0x0" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) })) (if_statement "if (ppbVar23 < (byte **)0x1c) {\n                    /* WARNING: Could not emulate address calculation at 0x000b2c68 */\n                    /* WARNING: Treating indirect jump as call */\n          iVar5 = (*(code *)(&_gp_1 + (int)ppbVar10[(int)(ppbVar22 + 0xcb)]))();\n          return iVar5;\n        }" if (parenthesized_expression "(ppbVar23 < (byte **)0x1c)" ( (binary_expression "ppbVar23 < (byte **)0x1c" identifier < (cast_expression "(byte **)0x1c" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Could not emulate address calculation at 0x000b2c68 */\n                    /* WARNING: Treating indirect jump as call */\n          iVar5 = (*(code *)(&_gp_1 + (int)ppbVar10[(int)(ppbVar22 + 0xcb)]))();\n          return iVar5;\n        }" { comment comment (expression_statement "iVar5 = (*(code *)(&_gp_1 + (int)ppbVar10[(int)(ppbVar22 + 0xcb)]))();" (assignment_expression "iVar5 = (*(code *)(&_gp_1 + (int)ppbVar10[(int)(ppbVar22 + 0xcb)]))()" identifier = (call_expression "(*(code *)(&_gp_1 + (int)ppbVar10[(int)(ppbVar22 + 0xcb)]))()" (parenthesized_expression "(*(code *)(&_gp_1 + (int)ppbVar10[(int)(ppbVar22 + 0xcb)]))" ( (pointer_expression "*(code *)(&_gp_1 + (int)ppbVar10[(int)(ppbVar22 + 0xcb)])" * (cast_expression "(code *)(&_gp_1 + (int)ppbVar10[(int)(ppbVar22 + 0xcb)])" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&_gp_1 + (int)ppbVar10[(int)(ppbVar22 + 0xcb)])" ( (binary_expression "&_gp_1 + (int)ppbVar10[(int)(ppbVar22 + 0xcb)]" (pointer_expression "&_gp_1" & identifier) + (cast_expression "(int)ppbVar10[(int)(ppbVar22 + 0xcb)]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppbVar10[(int)(ppbVar22 + 0xcb)]" identifier [ (cast_expression "(int)(ppbVar22 + 0xcb)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(ppbVar22 + 0xcb)" ( (binary_expression "ppbVar22 + 0xcb" identifier + number_literal) ))) ]))) )))) )) (argument_list "()" ( )))) ;) (return_statement "return iVar5;" return identifier ;) })) (expression_statement "pbVar20 = unaff_s6 + 0x499c;" (assignment_expression "pbVar20 = unaff_s6 + 0x499c" identifier = (binary_expression "unaff_s6 + 0x499c" identifier + number_literal)) ;) (expression_statement "bVar12 = *(byte *)(unaff_s7 + (int)unaff_s5 * 3);" (assignment_expression "bVar12 = *(byte *)(unaff_s7 + (int)unaff_s5 * 3)" identifier = (pointer_expression "*(byte *)(unaff_s7 + (int)unaff_s5 * 3)" * (cast_expression "(byte *)(unaff_s7 + (int)unaff_s5 * 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s7 + (int)unaff_s5 * 3)" ( (binary_expression "unaff_s7 + (int)unaff_s5 * 3" identifier + (binary_expression "(int)unaff_s5 * 3" (cast_expression "(int)unaff_s5" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ))))) ;) (expression_statement "ppbVar17 = unaff_s7 + (int)unaff_s5 * 3 + 3;" (assignment_expression "ppbVar17 = unaff_s7 + (int)unaff_s5 * 3 + 3" identifier = (binary_expression "unaff_s7 + (int)unaff_s5 * 3 + 3" (binary_expression "unaff_s7 + (int)unaff_s5 * 3" identifier + (binary_expression "(int)unaff_s5 * 3" (cast_expression "(int)unaff_s5" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "bVar1 = *(byte *)((int)(ppbVar10 + 0x122a) + (int)ppbVar23);" (assignment_expression "bVar1 = *(byte *)((int)(ppbVar10 + 0x122a) + (int)ppbVar23)" identifier = (pointer_expression "*(byte *)((int)(ppbVar10 + 0x122a) + (int)ppbVar23)" * (cast_expression "(byte *)((int)(ppbVar10 + 0x122a) + (int)ppbVar23)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)(ppbVar10 + 0x122a) + (int)ppbVar23)" ( (binary_expression "(int)(ppbVar10 + 0x122a) + (int)ppbVar23" (cast_expression "(int)(ppbVar10 + 0x122a)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(ppbVar10 + 0x122a)" ( (binary_expression "ppbVar10 + 0x122a" identifier + number_literal) ))) + (cast_expression "(int)ppbVar23" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;) (expression_statement "*(byte ***)pbVar4 = ppbVar17;" (assignment_expression "*(byte ***)pbVar4 = ppbVar17" (pointer_expression "*(byte ***)pbVar4" * (cast_expression "(byte ***)pbVar4" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) = identifier) ;) (expression_statement "*(byte *)((int)ppbVar17 + 1) = bVar1;" (assignment_expression "*(byte *)((int)ppbVar17 + 1) = bVar1" (pointer_expression "*(byte *)((int)ppbVar17 + 1)" * (cast_expression "(byte *)((int)ppbVar17 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppbVar17 + 1)" ( (binary_expression "(int)ppbVar17 + 1" (cast_expression "(int)ppbVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "ppbVar22 = (byte **)(uint)pbVar20[(uint)bVar1 +\n                                          (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)];" (assignment_expression "ppbVar22 = (byte **)(uint)pbVar20[(uint)bVar1 +\n                                          (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)]" identifier = (cast_expression "(byte **)(uint)pbVar20[(uint)bVar1 +\n                                          (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)]" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (cast_expression "(uint)pbVar20[(uint)bVar1 +\n                                          (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar20[(uint)bVar1 +\n                                          (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)]" identifier [ (binary_expression "(uint)bVar1 +\n                                          (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)" (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier) + (cast_expression "(int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)" * (cast_expression "(byte *)((int)ppbVar10 + bVar12 + 0x48e8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppbVar10 + bVar12 + 0x48e8)" ( (binary_expression "(int)ppbVar10 + bVar12 + 0x48e8" (binary_expression "(int)ppbVar10 + bVar12" (cast_expression "(int)ppbVar10" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) ))))))) ])))) ;) (expression_statement "*(byte *)ppbVar17 =\n             pbVar20[(uint)bVar1 + (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)];" (assignment_expression "*(byte *)ppbVar17 =\n             pbVar20[(uint)bVar1 + (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)]" (pointer_expression "*(byte *)ppbVar17" * (cast_expression "(byte *)ppbVar17" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (subscript_expression "pbVar20[(uint)bVar1 + (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)]" identifier [ (binary_expression "(uint)bVar1 + (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)" (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier) + (cast_expression "(int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)" * (cast_expression "(byte *)((int)ppbVar10 + bVar12 + 0x48e8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppbVar10 + bVar12 + 0x48e8)" ( (binary_expression "(int)ppbVar10 + bVar12 + 0x48e8" (binary_expression "(int)ppbVar10 + bVar12" (cast_expression "(int)ppbVar10" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) ))))))) ])) ;) (expression_statement "unaff_s7 = *(byte ***)pbVar4;" (assignment_expression "unaff_s7 = *(byte ***)pbVar4" identifier = (pointer_expression "*(byte ***)pbVar4" * (cast_expression "(byte ***)pbVar4" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier))) ;) (expression_statement "ppbVar17 = ppbVar10;" (assignment_expression "ppbVar17 = ppbVar10" identifier = identifier) ;) }) while (parenthesized_expression "(unaff_s1 < unaff_s7)" ( (binary_expression "unaff_s1 < unaff_s7" identifier < identifier) )) ;) (labeled_statement "LAB_000b2d18:\n      if ((local_bc != 0) || (param_3 = local_110, unaff_s2 == (byte *)0x0)) goto LAB_000b2d2c;" statement_identifier : (if_statement "if ((local_bc != 0) || (param_3 = local_110, unaff_s2 == (byte *)0x0)) goto LAB_000b2d2c;" if (parenthesized_expression "((local_bc != 0) || (param_3 = local_110, unaff_s2 == (byte *)0x0))" ( (binary_expression "(local_bc != 0) || (param_3 = local_110, unaff_s2 == (byte *)0x0)" (parenthesized_expression "(local_bc != 0)" ( (binary_expression "local_bc != 0" identifier != number_literal) )) || (parenthesized_expression "(param_3 = local_110, unaff_s2 == (byte *)0x0)" ( (comma_expression "param_3 = local_110, unaff_s2 == (byte *)0x0" (assignment_expression "param_3 = local_110" identifier = identifier) , (binary_expression "unaff_s2 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (goto_statement "goto LAB_000b2d2c;" goto statement_identifier ;))) }) while (parenthesized_expression "( true )" ( true )) ;)) })) (expression_statement "iVar5 = 7;" (assignment_expression "iVar5 = 7" identifier = number_literal) ;) (goto_statement "goto LAB_000b3294;" goto statement_identifier ;) (labeled_statement "LAB_000b2d2c:\n  ppbVar10 = *(byte ***)pbVar4;" statement_identifier : (expression_statement "ppbVar10 = *(byte ***)pbVar4;" (assignment_expression "ppbVar10 = *(byte ***)pbVar4" identifier = (pointer_expression "*(byte ***)pbVar4" * (cast_expression "(byte ***)pbVar4" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier))) ;)) (if_statement "if (unaff_s1 < ppbVar10) {\n    ppbVar22 = (byte **)(PTR_LAB_0015b6f8 + 0x23c0);\n    do {\n      ppbVar17 = ppbVar10 + 1;\n      *(byte ***)pbVar4 = ppbVar10 + -3;\n      FUN_000b23c0(*(byte *)((int)ppbVar10 + 1));\n      ppbVar10 = *(byte ***)pbVar4;\n    } while (unaff_s1 < ppbVar10);\n  }" if (parenthesized_expression "(unaff_s1 < ppbVar10)" ( (binary_expression "unaff_s1 < ppbVar10" identifier < identifier) )) (compound_statement "{\n    ppbVar22 = (byte **)(PTR_LAB_0015b6f8 + 0x23c0);\n    do {\n      ppbVar17 = ppbVar10 + 1;\n      *(byte ***)pbVar4 = ppbVar10 + -3;\n      FUN_000b23c0(*(byte *)((int)ppbVar10 + 1));\n      ppbVar10 = *(byte ***)pbVar4;\n    } while (unaff_s1 < ppbVar10);\n  }" { (expression_statement "ppbVar22 = (byte **)(PTR_LAB_0015b6f8 + 0x23c0);" (assignment_expression "ppbVar22 = (byte **)(PTR_LAB_0015b6f8 + 0x23c0)" identifier = (cast_expression "(byte **)(PTR_LAB_0015b6f8 + 0x23c0)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_LAB_0015b6f8 + 0x23c0)" ( (binary_expression "PTR_LAB_0015b6f8 + 0x23c0" identifier + number_literal) )))) ;) (do_statement "do {\n      ppbVar17 = ppbVar10 + 1;\n      *(byte ***)pbVar4 = ppbVar10 + -3;\n      FUN_000b23c0(*(byte *)((int)ppbVar10 + 1));\n      ppbVar10 = *(byte ***)pbVar4;\n    } while (unaff_s1 < ppbVar10);" do (compound_statement "{\n      ppbVar17 = ppbVar10 + 1;\n      *(byte ***)pbVar4 = ppbVar10 + -3;\n      FUN_000b23c0(*(byte *)((int)ppbVar10 + 1));\n      ppbVar10 = *(byte ***)pbVar4;\n    }" { (expression_statement "ppbVar17 = ppbVar10 + 1;" (assignment_expression "ppbVar17 = ppbVar10 + 1" identifier = (binary_expression "ppbVar10 + 1" identifier + number_literal)) ;) (expression_statement "*(byte ***)pbVar4 = ppbVar10 + -3;" (assignment_expression "*(byte ***)pbVar4 = ppbVar10 + -3" (pointer_expression "*(byte ***)pbVar4" * (cast_expression "(byte ***)pbVar4" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) = (binary_expression "ppbVar10 + -3" identifier + number_literal)) ;) (expression_statement "FUN_000b23c0(*(byte *)((int)ppbVar10 + 1));" (call_expression "FUN_000b23c0(*(byte *)((int)ppbVar10 + 1))" identifier (argument_list "(*(byte *)((int)ppbVar10 + 1))" ( (pointer_expression "*(byte *)((int)ppbVar10 + 1)" * (cast_expression "(byte *)((int)ppbVar10 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppbVar10 + 1)" ( (binary_expression "(int)ppbVar10 + 1" (cast_expression "(int)ppbVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (expression_statement "ppbVar10 = *(byte ***)pbVar4;" (assignment_expression "ppbVar10 = *(byte ***)pbVar4" identifier = (pointer_expression "*(byte ***)pbVar4" * (cast_expression "(byte ***)pbVar4" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier))) ;) }) while (parenthesized_expression "(unaff_s1 < ppbVar10)" ( (binary_expression "unaff_s1 < ppbVar10" identifier < identifier) )) ;) })) (expression_statement "(*(code *)PTR_sqlite3_free_0015b620)(pbVar4);" (call_expression "(*(code *)PTR_sqlite3_free_0015b620)(pbVar4)" (parenthesized_expression "(*(code *)PTR_sqlite3_free_0015b620)" ( (pointer_expression "*(code *)PTR_sqlite3_free_0015b620" * (cast_expression "(code *)PTR_sqlite3_free_0015b620" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pbVar4)" ( identifier ))) ;) (if_statement "if ((param_2 < (int)param_1[3]) && (local_b0 != (byte **)0x0)) {\n    if (local_bc == 0) {\n      pbVar21 = &DAT_00000008;\n      pbVar20 = (byte *)0x0;\n      pbVar24 = (byte *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc);\n      if (pbVar24 != (byte *)0x0) {\n        *(int *)(pbVar24 + 4) = param_2;\n        pbVar24[0] = 0;\n        pbVar24[1] = 0;\n        pbVar24[2] = 0;\n        pbVar24[3] = 1;\n        ppbVar17 = local_b0;\n        FUN_000970a0(&local_c4);\n        pbVar20 = pbVar24;\n      }\n      goto LAB_000b321c;\n    }\nLAB_000b2da8:\n    FUN_000b1f34(local_b0);\n  }\n  else {\nLAB_000b321c:\n    if (local_bc != 0) goto LAB_000b2da8;\n    ppbVar22 = (byte **)(*(code *)PTR_sqlite3_malloc_0015b640)(0x18);\n    *(byte ***)param_4 = ppbVar22;\n    if (ppbVar22 == (byte **)0x0) {\n      local_bc = 7;\n      goto LAB_000b2da8;\n    }\n    if (local_b0 == (byte **)0x0) {\n      if (local_bc == 0) {\n        pbVar21 = &DAT_00000028;\n        pbVar20 = (byte *)0x0;\n        pbVar24 = (byte *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc);\n        ppbVar22[2] = pbVar24;\n        if (pbVar24 != (byte *)0x0) {\n          pbVar24[4] = 0;\n          pbVar24[5] = 0;\n          pbVar24[6] = 0;\n          pbVar24[7] = 1;\n        }\n      }\n      else {\n        ppbVar22[2] = (byte *)0x0;\n      }\n    }\n    else {\n      ppbVar22[2] = (byte *)local_b0;\n    }\n    *ppbVar22 = (byte *)0x0;\n    ppbVar22[1] = (byte *)param_1;\n    ppbVar22[5] = local_b4;\n    ppbVar22[4] = local_b8;\n    local_b4 = (byte *)0x0;\n  }" if (parenthesized_expression "((param_2 < (int)param_1[3]) && (local_b0 != (byte **)0x0))" ( (binary_expression "(param_2 < (int)param_1[3]) && (local_b0 != (byte **)0x0)" (parenthesized_expression "(param_2 < (int)param_1[3])" ( (binary_expression "param_2 < (int)param_1[3]" identifier < (cast_expression "(int)param_1[3]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_1[3]" identifier [ number_literal ]))) )) && (parenthesized_expression "(local_b0 != (byte **)0x0)" ( (binary_expression "local_b0 != (byte **)0x0" identifier != (cast_expression "(byte **)0x0" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ))) )) (compound_statement "{\n    if (local_bc == 0) {\n      pbVar21 = &DAT_00000008;\n      pbVar20 = (byte *)0x0;\n      pbVar24 = (byte *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc);\n      if (pbVar24 != (byte *)0x0) {\n        *(int *)(pbVar24 + 4) = param_2;\n        pbVar24[0] = 0;\n        pbVar24[1] = 0;\n        pbVar24[2] = 0;\n        pbVar24[3] = 1;\n        ppbVar17 = local_b0;\n        FUN_000970a0(&local_c4);\n        pbVar20 = pbVar24;\n      }\n      goto LAB_000b321c;\n    }\nLAB_000b2da8:\n    FUN_000b1f34(local_b0);\n  }" { (if_statement "if (local_bc == 0) {\n      pbVar21 = &DAT_00000008;\n      pbVar20 = (byte *)0x0;\n      pbVar24 = (byte *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc);\n      if (pbVar24 != (byte *)0x0) {\n        *(int *)(pbVar24 + 4) = param_2;\n        pbVar24[0] = 0;\n        pbVar24[1] = 0;\n        pbVar24[2] = 0;\n        pbVar24[3] = 1;\n        ppbVar17 = local_b0;\n        FUN_000970a0(&local_c4);\n        pbVar20 = pbVar24;\n      }\n      goto LAB_000b321c;\n    }" if (parenthesized_expression "(local_bc == 0)" ( (binary_expression "local_bc == 0" identifier == number_literal) )) (compound_statement "{\n      pbVar21 = &DAT_00000008;\n      pbVar20 = (byte *)0x0;\n      pbVar24 = (byte *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc);\n      if (pbVar24 != (byte *)0x0) {\n        *(int *)(pbVar24 + 4) = param_2;\n        pbVar24[0] = 0;\n        pbVar24[1] = 0;\n        pbVar24[2] = 0;\n        pbVar24[3] = 1;\n        ppbVar17 = local_b0;\n        FUN_000970a0(&local_c4);\n        pbVar20 = pbVar24;\n      }\n      goto LAB_000b321c;\n    }" { (expression_statement "pbVar21 = &DAT_00000008;" (assignment_expression "pbVar21 = &DAT_00000008" identifier = (pointer_expression "&DAT_00000008" & identifier)) ;) (expression_statement "pbVar20 = (byte *)0x0;" (assignment_expression "pbVar20 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar24 = (byte *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc);" (assignment_expression "pbVar24 = (byte *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc)" identifier = (cast_expression "(byte *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b700 + 0x108c))" ( (pointer_expression "*(code *)(PTR_LAB_0015b700 + 0x108c)" * (cast_expression "(code *)(PTR_LAB_0015b700 + 0x108c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b700 + 0x108c)" ( (binary_expression "PTR_LAB_0015b700 + 0x108c" identifier + number_literal) )))) )) (argument_list "(&local_bc)" ( (pointer_expression "&local_bc" & identifier) ))))) ;) (if_statement "if (pbVar24 != (byte *)0x0) {\n        *(int *)(pbVar24 + 4) = param_2;\n        pbVar24[0] = 0;\n        pbVar24[1] = 0;\n        pbVar24[2] = 0;\n        pbVar24[3] = 1;\n        ppbVar17 = local_b0;\n        FUN_000970a0(&local_c4);\n        pbVar20 = pbVar24;\n      }" if (parenthesized_expression "(pbVar24 != (byte *)0x0)" ( (binary_expression "pbVar24 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        *(int *)(pbVar24 + 4) = param_2;\n        pbVar24[0] = 0;\n        pbVar24[1] = 0;\n        pbVar24[2] = 0;\n        pbVar24[3] = 1;\n        ppbVar17 = local_b0;\n        FUN_000970a0(&local_c4);\n        pbVar20 = pbVar24;\n      }" { (expression_statement "*(int *)(pbVar24 + 4) = param_2;" (assignment_expression "*(int *)(pbVar24 + 4) = param_2" (pointer_expression "*(int *)(pbVar24 + 4)" * (cast_expression "(int *)(pbVar24 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar24 + 4)" ( (binary_expression "pbVar24 + 4" identifier + number_literal) )))) = identifier) ;) (expression_statement "pbVar24[0] = 0;" (assignment_expression "pbVar24[0] = 0" (subscript_expression "pbVar24[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar24[1] = 0;" (assignment_expression "pbVar24[1] = 0" (subscript_expression "pbVar24[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar24[2] = 0;" (assignment_expression "pbVar24[2] = 0" (subscript_expression "pbVar24[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar24[3] = 1;" (assignment_expression "pbVar24[3] = 1" (subscript_expression "pbVar24[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "ppbVar17 = local_b0;" (assignment_expression "ppbVar17 = local_b0" identifier = identifier) ;) (expression_statement "FUN_000970a0(&local_c4);" (call_expression "FUN_000970a0(&local_c4)" identifier (argument_list "(&local_c4)" ( (pointer_expression "&local_c4" & identifier) ))) ;) (expression_statement "pbVar20 = pbVar24;" (assignment_expression "pbVar20 = pbVar24" identifier = identifier) ;) })) (goto_statement "goto LAB_000b321c;" goto statement_identifier ;) })) (labeled_statement "LAB_000b2da8:\n    FUN_000b1f34(local_b0);" statement_identifier : (expression_statement "FUN_000b1f34(local_b0);" (call_expression "FUN_000b1f34(local_b0)" identifier (argument_list "(local_b0)" ( identifier ))) ;)) }) (else_clause "else {\nLAB_000b321c:\n    if (local_bc != 0) goto LAB_000b2da8;\n    ppbVar22 = (byte **)(*(code *)PTR_sqlite3_malloc_0015b640)(0x18);\n    *(byte ***)param_4 = ppbVar22;\n    if (ppbVar22 == (byte **)0x0) {\n      local_bc = 7;\n      goto LAB_000b2da8;\n    }\n    if (local_b0 == (byte **)0x0) {\n      if (local_bc == 0) {\n        pbVar21 = &DAT_00000028;\n        pbVar20 = (byte *)0x0;\n        pbVar24 = (byte *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc);\n        ppbVar22[2] = pbVar24;\n        if (pbVar24 != (byte *)0x0) {\n          pbVar24[4] = 0;\n          pbVar24[5] = 0;\n          pbVar24[6] = 0;\n          pbVar24[7] = 1;\n        }\n      }\n      else {\n        ppbVar22[2] = (byte *)0x0;\n      }\n    }\n    else {\n      ppbVar22[2] = (byte *)local_b0;\n    }\n    *ppbVar22 = (byte *)0x0;\n    ppbVar22[1] = (byte *)param_1;\n    ppbVar22[5] = local_b4;\n    ppbVar22[4] = local_b8;\n    local_b4 = (byte *)0x0;\n  }" else (compound_statement "{\nLAB_000b321c:\n    if (local_bc != 0) goto LAB_000b2da8;\n    ppbVar22 = (byte **)(*(code *)PTR_sqlite3_malloc_0015b640)(0x18);\n    *(byte ***)param_4 = ppbVar22;\n    if (ppbVar22 == (byte **)0x0) {\n      local_bc = 7;\n      goto LAB_000b2da8;\n    }\n    if (local_b0 == (byte **)0x0) {\n      if (local_bc == 0) {\n        pbVar21 = &DAT_00000028;\n        pbVar20 = (byte *)0x0;\n        pbVar24 = (byte *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc);\n        ppbVar22[2] = pbVar24;\n        if (pbVar24 != (byte *)0x0) {\n          pbVar24[4] = 0;\n          pbVar24[5] = 0;\n          pbVar24[6] = 0;\n          pbVar24[7] = 1;\n        }\n      }\n      else {\n        ppbVar22[2] = (byte *)0x0;\n      }\n    }\n    else {\n      ppbVar22[2] = (byte *)local_b0;\n    }\n    *ppbVar22 = (byte *)0x0;\n    ppbVar22[1] = (byte *)param_1;\n    ppbVar22[5] = local_b4;\n    ppbVar22[4] = local_b8;\n    local_b4 = (byte *)0x0;\n  }" { (labeled_statement "LAB_000b321c:\n    if (local_bc != 0) goto LAB_000b2da8;" statement_identifier : (if_statement "if (local_bc != 0) goto LAB_000b2da8;" if (parenthesized_expression "(local_bc != 0)" ( (binary_expression "local_bc != 0" identifier != number_literal) )) (goto_statement "goto LAB_000b2da8;" goto statement_identifier ;))) (expression_statement "ppbVar22 = (byte **)(*(code *)PTR_sqlite3_malloc_0015b640)(0x18);" (assignment_expression "ppbVar22 = (byte **)(*(code *)PTR_sqlite3_malloc_0015b640)(0x18)" identifier = (cast_expression "(byte **)(*(code *)PTR_sqlite3_malloc_0015b640)(0x18)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(*(code *)PTR_sqlite3_malloc_0015b640)(0x18)" (parenthesized_expression "(*(code *)PTR_sqlite3_malloc_0015b640)" ( (pointer_expression "*(code *)PTR_sqlite3_malloc_0015b640" * (cast_expression "(code *)PTR_sqlite3_malloc_0015b640" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x18)" ( number_literal ))))) ;) (expression_statement "*(byte ***)param_4 = ppbVar22;" (assignment_expression "*(byte ***)param_4 = ppbVar22" (pointer_expression "*(byte ***)param_4" * (cast_expression "(byte ***)param_4" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) = identifier) ;) (if_statement "if (ppbVar22 == (byte **)0x0) {\n      local_bc = 7;\n      goto LAB_000b2da8;\n    }" if (parenthesized_expression "(ppbVar22 == (byte **)0x0)" ( (binary_expression "ppbVar22 == (byte **)0x0" identifier == (cast_expression "(byte **)0x0" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n      local_bc = 7;\n      goto LAB_000b2da8;\n    }" { (expression_statement "local_bc = 7;" (assignment_expression "local_bc = 7" identifier = number_literal) ;) (goto_statement "goto LAB_000b2da8;" goto statement_identifier ;) })) (if_statement "if (local_b0 == (byte **)0x0) {\n      if (local_bc == 0) {\n        pbVar21 = &DAT_00000028;\n        pbVar20 = (byte *)0x0;\n        pbVar24 = (byte *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc);\n        ppbVar22[2] = pbVar24;\n        if (pbVar24 != (byte *)0x0) {\n          pbVar24[4] = 0;\n          pbVar24[5] = 0;\n          pbVar24[6] = 0;\n          pbVar24[7] = 1;\n        }\n      }\n      else {\n        ppbVar22[2] = (byte *)0x0;\n      }\n    }\n    else {\n      ppbVar22[2] = (byte *)local_b0;\n    }" if (parenthesized_expression "(local_b0 == (byte **)0x0)" ( (binary_expression "local_b0 == (byte **)0x0" identifier == (cast_expression "(byte **)0x0" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n      if (local_bc == 0) {\n        pbVar21 = &DAT_00000028;\n        pbVar20 = (byte *)0x0;\n        pbVar24 = (byte *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc);\n        ppbVar22[2] = pbVar24;\n        if (pbVar24 != (byte *)0x0) {\n          pbVar24[4] = 0;\n          pbVar24[5] = 0;\n          pbVar24[6] = 0;\n          pbVar24[7] = 1;\n        }\n      }\n      else {\n        ppbVar22[2] = (byte *)0x0;\n      }\n    }" { (if_statement "if (local_bc == 0) {\n        pbVar21 = &DAT_00000028;\n        pbVar20 = (byte *)0x0;\n        pbVar24 = (byte *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc);\n        ppbVar22[2] = pbVar24;\n        if (pbVar24 != (byte *)0x0) {\n          pbVar24[4] = 0;\n          pbVar24[5] = 0;\n          pbVar24[6] = 0;\n          pbVar24[7] = 1;\n        }\n      }\n      else {\n        ppbVar22[2] = (byte *)0x0;\n      }" if (parenthesized_expression "(local_bc == 0)" ( (binary_expression "local_bc == 0" identifier == number_literal) )) (compound_statement "{\n        pbVar21 = &DAT_00000028;\n        pbVar20 = (byte *)0x0;\n        pbVar24 = (byte *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc);\n        ppbVar22[2] = pbVar24;\n        if (pbVar24 != (byte *)0x0) {\n          pbVar24[4] = 0;\n          pbVar24[5] = 0;\n          pbVar24[6] = 0;\n          pbVar24[7] = 1;\n        }\n      }" { (expression_statement "pbVar21 = &DAT_00000028;" (assignment_expression "pbVar21 = &DAT_00000028" identifier = (pointer_expression "&DAT_00000028" & identifier)) ;) (expression_statement "pbVar20 = (byte *)0x0;" (assignment_expression "pbVar20 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar24 = (byte *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc);" (assignment_expression "pbVar24 = (byte *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc)" identifier = (cast_expression "(byte *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b700 + 0x108c))" ( (pointer_expression "*(code *)(PTR_LAB_0015b700 + 0x108c)" * (cast_expression "(code *)(PTR_LAB_0015b700 + 0x108c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b700 + 0x108c)" ( (binary_expression "PTR_LAB_0015b700 + 0x108c" identifier + number_literal) )))) )) (argument_list "(&local_bc)" ( (pointer_expression "&local_bc" & identifier) ))))) ;) (expression_statement "ppbVar22[2] = pbVar24;" (assignment_expression "ppbVar22[2] = pbVar24" (subscript_expression "ppbVar22[2]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (pbVar24 != (byte *)0x0) {\n          pbVar24[4] = 0;\n          pbVar24[5] = 0;\n          pbVar24[6] = 0;\n          pbVar24[7] = 1;\n        }" if (parenthesized_expression "(pbVar24 != (byte *)0x0)" ( (binary_expression "pbVar24 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          pbVar24[4] = 0;\n          pbVar24[5] = 0;\n          pbVar24[6] = 0;\n          pbVar24[7] = 1;\n        }" { (expression_statement "pbVar24[4] = 0;" (assignment_expression "pbVar24[4] = 0" (subscript_expression "pbVar24[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar24[5] = 0;" (assignment_expression "pbVar24[5] = 0" (subscript_expression "pbVar24[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar24[6] = 0;" (assignment_expression "pbVar24[6] = 0" (subscript_expression "pbVar24[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar24[7] = 1;" (assignment_expression "pbVar24[7] = 1" (subscript_expression "pbVar24[7]" identifier [ number_literal ]) = number_literal) ;) })) }) (else_clause "else {\n        ppbVar22[2] = (byte *)0x0;\n      }" else (compound_statement "{\n        ppbVar22[2] = (byte *)0x0;\n      }" { (expression_statement "ppbVar22[2] = (byte *)0x0;" (assignment_expression "ppbVar22[2] = (byte *)0x0" (subscript_expression "ppbVar22[2]" identifier [ number_literal ]) = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) }) (else_clause "else {\n      ppbVar22[2] = (byte *)local_b0;\n    }" else (compound_statement "{\n      ppbVar22[2] = (byte *)local_b0;\n    }" { (expression_statement "ppbVar22[2] = (byte *)local_b0;" (assignment_expression "ppbVar22[2] = (byte *)local_b0" (subscript_expression "ppbVar22[2]" identifier [ number_literal ]) = (cast_expression "(byte *)local_b0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) }))) (expression_statement "*ppbVar22 = (byte *)0x0;" (assignment_expression "*ppbVar22 = (byte *)0x0" (pointer_expression "*ppbVar22" * identifier) = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppbVar22[1] = (byte *)param_1;" (assignment_expression "ppbVar22[1] = (byte *)param_1" (subscript_expression "ppbVar22[1]" identifier [ number_literal ]) = (cast_expression "(byte *)param_1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "ppbVar22[5] = local_b4;" (assignment_expression "ppbVar22[5] = local_b4" (subscript_expression "ppbVar22[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppbVar22[4] = local_b8;" (assignment_expression "ppbVar22[4] = local_b8" (subscript_expression "ppbVar22[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_b4 = (byte *)0x0;" (assignment_expression "local_b4 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (expression_statement "(*(code *)PTR_sqlite3_free_0015b620)(local_b4);" (call_expression "(*(code *)PTR_sqlite3_free_0015b620)(local_b4)" (parenthesized_expression "(*(code *)PTR_sqlite3_free_0015b620)" ( (pointer_expression "*(code *)PTR_sqlite3_free_0015b620" * (cast_expression "(code *)PTR_sqlite3_free_0015b620" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_b4)" ( identifier ))) ;) (expression_statement "*param_5 = local_c0;" (assignment_expression "*param_5 = local_c0" (pointer_expression "*param_5" * identifier) = identifier) ;) (expression_statement "iVar5 = local_bc;" (assignment_expression "iVar5 = local_bc" identifier = identifier) ;) (expression_statement "param_1 = ppbVar22;" (assignment_expression "param_1 = ppbVar22" identifier = identifier) ;) (expression_statement "unaff_s3 = unaff_s2;" (assignment_expression "unaff_s3 = unaff_s2" identifier = identifier) ;) (expression_statement "unaff_s8 = pbVar4;" (assignment_expression "unaff_s8 = pbVar4" identifier = identifier) ;) (labeled_statement "LAB_000b3294:\n  if (local_2c == *(byte **)puVar3) {\n    return iVar5;\n  }" statement_identifier : (if_statement "if (local_2c == *(byte **)puVar3) {\n    return iVar5;\n  }" if (parenthesized_expression "(local_2c == *(byte **)puVar3)" ( (binary_expression "local_2c == *(byte **)puVar3" identifier == (pointer_expression "*(byte **)puVar3" * (cast_expression "(byte **)puVar3" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n    return iVar5;\n  }" { (return_statement "return iVar5;" return identifier ;) }))) (expression_statement "uVar19 = 0xb37f8;" (assignment_expression "uVar19 = 0xb37f8" identifier = number_literal) ;) (expression_statement "pbVar4 = local_2c;" (assignment_expression "pbVar4 = local_2c" identifier = identifier) ;) (expression_statement "puVar7 = PTR___stack_chk_fail_0015ba10;" (assignment_expression "puVar7 = PTR___stack_chk_fail_0015ba10" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_0015ba10)();" (call_expression "(*(code *)PTR___stack_chk_fail_0015ba10)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0015ba10)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_0015ba10" * (cast_expression "(code *)PTR___stack_chk_fail_0015ba10" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "puVar25 = auStack_138;" (assignment_expression "puVar25 = auStack_138" identifier = identifier) ;) (do_statement "do {\n    pbVar9 = pbVar21;\n    pbVar24 = pbVar4;\n    pcVar13 = *(code **)(puVar7 + 0xa7ed0);\n    *(byte **)(puVar25 + -0x20) = unaff_s2;\n    *(undefined **)(puVar25 + -0x50) = puVar7 + 0xafdb8;\n    *(undefined4 *)(puVar25 + -4) = uVar19;\n    *(byte ***)(puVar25 + -0xc) = unaff_s7;\n    *(byte **)(puVar25 + -0x10) = unaff_s6;\n    *(byte **)(puVar25 + -0x18) = unaff_s4;\n    *(byte **)(puVar25 + -0x1c) = unaff_s3;\n    *(byte **)(puVar25 + -8) = unaff_s8;\n    *(byte **)(puVar25 + -0x14) = unaff_s5;\n    *(byte ***)(puVar25 + -0x24) = unaff_s1;\n    *(byte ***)(puVar25 + -0x28) = param_1;\n    unaff_s2 = *(byte **)(puVar7 + 0xa8234);\n    *(undefined4 *)(puVar25 + -0x2c) = *(undefined4 *)unaff_s2;\n    pbVar21 = pbVar20;\n    uVar19 = (*pcVar13)();\n    pcVar13 = *(code **)(*(int *)(puVar25 + -0x50) + -0x7ed0);\n    *(undefined4 *)(puVar25 + -0x44) = uVar19;\n    uVar19 = (*pcVar13)(pbVar24);\n    iVar5 = *(int *)(puVar25 + -0x50);\n    *(undefined4 *)(puVar25 + -0x40) = uVar19;\n    *(undefined4 *)(puVar25 + -0x38) = 0;\n    *(undefined4 *)(puVar25 + -0x34) = 0;\n    *(undefined4 *)(puVar25 + -0x30) = 0;\n    unaff_s3 = pbVar20;\n    unaff_s7 = ppbVar17;\n    if ((int)ppbVar17 < 1) {\n      if (pbVar9 == (byte *)0x0) {\n        iVar11 = *(int *)(iVar5 + -0x7fb4) + -0x705c;\n      }\n      else {\n        iVar11 = *(int *)(iVar5 + -0x7fb4) + -0x706c;\n      }\n      ppbVar22 = (byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fb4) + -0x7048,iVar11)\n      ;\n      pbVar21 = (byte *)0xffffffff;\n      *(byte ***)(puVar25 + -0x38) = ppbVar22;\n      (**(code **)(*(int *)(puVar25 + -0x50) + -0x7e40))(pbVar24);\n      pbVar4 = *(byte **)(puVar25 + -0x38);\n      (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))();\n      iVar5 = *(int *)(puVar25 + -0x50);\n    }\n    else {\n      if (pbVar9 == (byte *)0x0) {\n        param_1 = (byte **)0x1;\n        *(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050;\nLAB_000b38a0:\n        unaff_s5 = (byte *)((int)ppbVar17 + (3 - (int)param_1));\n        ppbVar22 = (byte **)((int)unaff_s5 * 4);\n        unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (unaff_s1 == (byte **)0x0) {\nLAB_000b3a30:\n          pbVar4 = pbVar24;\n          (**(code **)(iVar5 + -0x7e2c))();\n          iVar5 = *(int *)(puVar25 + -0x50);\n          goto LAB_000b39d4;\n        }\n        *unaff_s1 = (byte *)0x0;\n        unaff_s1[1] = (byte *)(*(int *)(iVar5 + -0x7fc8) + 0x538c);\n        unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c);\n        if ((int)param_1 < (int)ppbVar17) {\n          unaff_s8 = pbVar20 + (int)param_1 * 4;\n          iVar11 = (int)ppbVar17 * 4;\n          ppbVar22 = unaff_s1 + 3;\n          do {\n            ppbVar17 = ppbVar22 + 1;\n            uVar19 = *(undefined4 *)unaff_s8;\n            unaff_s8 = unaff_s8 + 4;\n            pbVar21 = (byte *)(**(code **)(iVar5 + -0x7f9c))(uVar19);\n            iVar5 = *(int *)(puVar25 + -0x50);\n            *ppbVar22 = pbVar21;\n            ppbVar22 = ppbVar17;\n          } while (pbVar20 + iVar11 != unaff_s8);\n        }\n      }\n      else {\n        if (ppbVar17 != (byte **)0x1) {\n          param_1 = (byte **)&SUB_00000002;\n          uVar19 = (**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)(pbVar20 + 4));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          *(undefined4 *)(puVar25 + -0x3c) = uVar19;\n          goto LAB_000b38a0;\n        }\n        ppbVar22 = (byte **)&DAT_0000000c;\n        unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (unaff_s1 == (byte **)0x0) goto LAB_000b3a30;\n        iVar11 = *(int *)(iVar5 + -0x7fc8);\n        unaff_s5 = (byte *)0x3;\n        *unaff_s1 = (byte *)0x0;\n        unaff_s1[1] = (byte *)(iVar11 + 0x538c);\n        *(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050;\n        unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c);\n      }\n      param_1 = (byte **)(puVar25 + -0x38);\n      unaff_s3 = (byte *)(**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)pbVar20);\n      *(byte ***)(puVar25 + -0x54) = param_1;\n      *(undefined1 **)(puVar25 + -0x58) = puVar25 + -0x30;\n      pbVar21 = unaff_s5;\n      ppbVar22 = (byte **)FUN_000961e8(*(undefined4 *)(puVar25 + -0x44),\n                                       *(undefined4 *)(puVar25 + -0x40),unaff_s5,unaff_s1);\n      iVar5 = *(int *)(puVar25 + -0x50);\n      if (ppbVar22 == (byte **)0x0) {\n        uVar19 = *(undefined4 *)(*(int *)(puVar25 + -0x30) + 0xc);\n        *(byte ***)(puVar25 + -0x58) = param_1;\n        pbVar20 = unaff_s3;\n        ppbVar22 = (byte **)FUN_000b2950(*(int *)(puVar25 + -0x30),uVar19,unaff_s3,puVar25 + -0x34);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        pbVar21 = pbVar20;\n        if (ppbVar22 != (byte **)0x0) goto LAB_000b3964;\n        pbVar21 = *(byte **)(*(int *)(puVar25 + -0x34) + 8);\n        if (*(int *)(pbVar21 + 0xc) == 0) {\n          param_1 = (byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fc8) + 0x53f4);\n          iVar5 = *(int *)(puVar25 + -0x50);\nLAB_000b3aa4:\n          ppbVar10 = *(byte ***)(puVar25 + -0x38);\n          pbVar21 = pbVar20;\n          if (param_1 != (byte **)0x0) goto LAB_000b3aac;\nLAB_000b3b54:\n          ppbVar22 = (byte **)&DAT_00000007;\n          if (ppbVar10 == (byte **)0x0) {\n            pcVar13 = *(code **)(iVar5 + -0x7e34);\n            goto LAB_000b3b60;\n          }\n          goto LAB_000b3970;\n        }\n        if (pbVar9 == (byte *)0x0) {\n          param_1 = (byte **)FUN_00097660();\n          iVar5 = *(int *)(puVar25 + -0x50);\n          goto LAB_000b3aa4;\n        }\n        param_1 = (byte **)FUN_00097234(*(undefined4 *)(puVar25 + -0x30),\n                                        *(undefined4 *)(puVar25 + -0x3c));\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (param_1 == (byte **)0x0) {\n          ppbVar10 = *(byte ***)(puVar25 + -0x38);\n          goto LAB_000b3b54;\n        }\nLAB_000b3aac:\n        pbVar21 = (byte *)0xffffffff;\n        ppbVar22 = param_1;\n        (**(code **)(iVar5 + -0x7f34))(pbVar24,param_1,0xffffffff,0xffffffff);\n        (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(param_1);\n        iVar5 = *(int *)(puVar25 + -0x50);\n      }\n      else {\nLAB_000b3964:\n        ppbVar10 = *(byte ***)(puVar25 + -0x38);\n        pcVar13 = *(code **)(iVar5 + -0x7e34);\n        if (ppbVar10 == (byte **)0x0) {\nLAB_000b3b60:\n          (*pcVar13)(pbVar24);\n          iVar5 = *(int *)(puVar25 + -0x50);\n        }\n        else {\nLAB_000b3970:\n          pbVar21 = (byte *)0xffffffff;\n          (**(code **)(iVar5 + -0x7e40))(pbVar24);\n          (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(*(undefined4 *)(puVar25 + -0x38));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          ppbVar22 = ppbVar10;\n        }\n      }\n      (**(code **)(iVar5 + -0x7f90))(unaff_s1);\n      (*(code *)(*(int *)(*(int *)(puVar25 + -0x50) + -0x7ef0) + -0xe08))\n                (*(undefined4 *)(puVar25 + -0x30));\n      pbVar4 = *(byte **)(puVar25 + -0x34);\n      iVar5 = *(int *)(puVar25 + -0x50);\n      unaff_s7 = ppbVar17;\n      if (pbVar4 != (byte *)0x0) {\n        FUN_000b1fe4();\n        iVar5 = *(int *)(puVar25 + -0x50);\n      }\n    }\nLAB_000b39d4:\n    if (*(int *)(puVar25 + -0x2c) == *(int *)unaff_s2) {\n      return *(int *)unaff_s2;\n    }\n    pcVar13 = *(code **)(iVar5 + -0x7ba0);\n    uVar19 = 0xb3bf0;\n    (*pcVar13)();\n    puVar7 = (undefined *)(*(int *)(pcVar13 + 0xa7b08) + 0x37f8);\n    ppbVar17 = ppbVar22;\n    pbVar20 = pbVar21;\n    pbVar21 = (byte *)0x1;\n    unaff_s4 = pbVar24;\n    unaff_s6 = pbVar9;\n    puVar25 = puVar25 + -0x68;\n  } while( true );" do (compound_statement "{\n    pbVar9 = pbVar21;\n    pbVar24 = pbVar4;\n    pcVar13 = *(code **)(puVar7 + 0xa7ed0);\n    *(byte **)(puVar25 + -0x20) = unaff_s2;\n    *(undefined **)(puVar25 + -0x50) = puVar7 + 0xafdb8;\n    *(undefined4 *)(puVar25 + -4) = uVar19;\n    *(byte ***)(puVar25 + -0xc) = unaff_s7;\n    *(byte **)(puVar25 + -0x10) = unaff_s6;\n    *(byte **)(puVar25 + -0x18) = unaff_s4;\n    *(byte **)(puVar25 + -0x1c) = unaff_s3;\n    *(byte **)(puVar25 + -8) = unaff_s8;\n    *(byte **)(puVar25 + -0x14) = unaff_s5;\n    *(byte ***)(puVar25 + -0x24) = unaff_s1;\n    *(byte ***)(puVar25 + -0x28) = param_1;\n    unaff_s2 = *(byte **)(puVar7 + 0xa8234);\n    *(undefined4 *)(puVar25 + -0x2c) = *(undefined4 *)unaff_s2;\n    pbVar21 = pbVar20;\n    uVar19 = (*pcVar13)();\n    pcVar13 = *(code **)(*(int *)(puVar25 + -0x50) + -0x7ed0);\n    *(undefined4 *)(puVar25 + -0x44) = uVar19;\n    uVar19 = (*pcVar13)(pbVar24);\n    iVar5 = *(int *)(puVar25 + -0x50);\n    *(undefined4 *)(puVar25 + -0x40) = uVar19;\n    *(undefined4 *)(puVar25 + -0x38) = 0;\n    *(undefined4 *)(puVar25 + -0x34) = 0;\n    *(undefined4 *)(puVar25 + -0x30) = 0;\n    unaff_s3 = pbVar20;\n    unaff_s7 = ppbVar17;\n    if ((int)ppbVar17 < 1) {\n      if (pbVar9 == (byte *)0x0) {\n        iVar11 = *(int *)(iVar5 + -0x7fb4) + -0x705c;\n      }\n      else {\n        iVar11 = *(int *)(iVar5 + -0x7fb4) + -0x706c;\n      }\n      ppbVar22 = (byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fb4) + -0x7048,iVar11)\n      ;\n      pbVar21 = (byte *)0xffffffff;\n      *(byte ***)(puVar25 + -0x38) = ppbVar22;\n      (**(code **)(*(int *)(puVar25 + -0x50) + -0x7e40))(pbVar24);\n      pbVar4 = *(byte **)(puVar25 + -0x38);\n      (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))();\n      iVar5 = *(int *)(puVar25 + -0x50);\n    }\n    else {\n      if (pbVar9 == (byte *)0x0) {\n        param_1 = (byte **)0x1;\n        *(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050;\nLAB_000b38a0:\n        unaff_s5 = (byte *)((int)ppbVar17 + (3 - (int)param_1));\n        ppbVar22 = (byte **)((int)unaff_s5 * 4);\n        unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (unaff_s1 == (byte **)0x0) {\nLAB_000b3a30:\n          pbVar4 = pbVar24;\n          (**(code **)(iVar5 + -0x7e2c))();\n          iVar5 = *(int *)(puVar25 + -0x50);\n          goto LAB_000b39d4;\n        }\n        *unaff_s1 = (byte *)0x0;\n        unaff_s1[1] = (byte *)(*(int *)(iVar5 + -0x7fc8) + 0x538c);\n        unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c);\n        if ((int)param_1 < (int)ppbVar17) {\n          unaff_s8 = pbVar20 + (int)param_1 * 4;\n          iVar11 = (int)ppbVar17 * 4;\n          ppbVar22 = unaff_s1 + 3;\n          do {\n            ppbVar17 = ppbVar22 + 1;\n            uVar19 = *(undefined4 *)unaff_s8;\n            unaff_s8 = unaff_s8 + 4;\n            pbVar21 = (byte *)(**(code **)(iVar5 + -0x7f9c))(uVar19);\n            iVar5 = *(int *)(puVar25 + -0x50);\n            *ppbVar22 = pbVar21;\n            ppbVar22 = ppbVar17;\n          } while (pbVar20 + iVar11 != unaff_s8);\n        }\n      }\n      else {\n        if (ppbVar17 != (byte **)0x1) {\n          param_1 = (byte **)&SUB_00000002;\n          uVar19 = (**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)(pbVar20 + 4));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          *(undefined4 *)(puVar25 + -0x3c) = uVar19;\n          goto LAB_000b38a0;\n        }\n        ppbVar22 = (byte **)&DAT_0000000c;\n        unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (unaff_s1 == (byte **)0x0) goto LAB_000b3a30;\n        iVar11 = *(int *)(iVar5 + -0x7fc8);\n        unaff_s5 = (byte *)0x3;\n        *unaff_s1 = (byte *)0x0;\n        unaff_s1[1] = (byte *)(iVar11 + 0x538c);\n        *(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050;\n        unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c);\n      }\n      param_1 = (byte **)(puVar25 + -0x38);\n      unaff_s3 = (byte *)(**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)pbVar20);\n      *(byte ***)(puVar25 + -0x54) = param_1;\n      *(undefined1 **)(puVar25 + -0x58) = puVar25 + -0x30;\n      pbVar21 = unaff_s5;\n      ppbVar22 = (byte **)FUN_000961e8(*(undefined4 *)(puVar25 + -0x44),\n                                       *(undefined4 *)(puVar25 + -0x40),unaff_s5,unaff_s1);\n      iVar5 = *(int *)(puVar25 + -0x50);\n      if (ppbVar22 == (byte **)0x0) {\n        uVar19 = *(undefined4 *)(*(int *)(puVar25 + -0x30) + 0xc);\n        *(byte ***)(puVar25 + -0x58) = param_1;\n        pbVar20 = unaff_s3;\n        ppbVar22 = (byte **)FUN_000b2950(*(int *)(puVar25 + -0x30),uVar19,unaff_s3,puVar25 + -0x34);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        pbVar21 = pbVar20;\n        if (ppbVar22 != (byte **)0x0) goto LAB_000b3964;\n        pbVar21 = *(byte **)(*(int *)(puVar25 + -0x34) + 8);\n        if (*(int *)(pbVar21 + 0xc) == 0) {\n          param_1 = (byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fc8) + 0x53f4);\n          iVar5 = *(int *)(puVar25 + -0x50);\nLAB_000b3aa4:\n          ppbVar10 = *(byte ***)(puVar25 + -0x38);\n          pbVar21 = pbVar20;\n          if (param_1 != (byte **)0x0) goto LAB_000b3aac;\nLAB_000b3b54:\n          ppbVar22 = (byte **)&DAT_00000007;\n          if (ppbVar10 == (byte **)0x0) {\n            pcVar13 = *(code **)(iVar5 + -0x7e34);\n            goto LAB_000b3b60;\n          }\n          goto LAB_000b3970;\n        }\n        if (pbVar9 == (byte *)0x0) {\n          param_1 = (byte **)FUN_00097660();\n          iVar5 = *(int *)(puVar25 + -0x50);\n          goto LAB_000b3aa4;\n        }\n        param_1 = (byte **)FUN_00097234(*(undefined4 *)(puVar25 + -0x30),\n                                        *(undefined4 *)(puVar25 + -0x3c));\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (param_1 == (byte **)0x0) {\n          ppbVar10 = *(byte ***)(puVar25 + -0x38);\n          goto LAB_000b3b54;\n        }\nLAB_000b3aac:\n        pbVar21 = (byte *)0xffffffff;\n        ppbVar22 = param_1;\n        (**(code **)(iVar5 + -0x7f34))(pbVar24,param_1,0xffffffff,0xffffffff);\n        (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(param_1);\n        iVar5 = *(int *)(puVar25 + -0x50);\n      }\n      else {\nLAB_000b3964:\n        ppbVar10 = *(byte ***)(puVar25 + -0x38);\n        pcVar13 = *(code **)(iVar5 + -0x7e34);\n        if (ppbVar10 == (byte **)0x0) {\nLAB_000b3b60:\n          (*pcVar13)(pbVar24);\n          iVar5 = *(int *)(puVar25 + -0x50);\n        }\n        else {\nLAB_000b3970:\n          pbVar21 = (byte *)0xffffffff;\n          (**(code **)(iVar5 + -0x7e40))(pbVar24);\n          (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(*(undefined4 *)(puVar25 + -0x38));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          ppbVar22 = ppbVar10;\n        }\n      }\n      (**(code **)(iVar5 + -0x7f90))(unaff_s1);\n      (*(code *)(*(int *)(*(int *)(puVar25 + -0x50) + -0x7ef0) + -0xe08))\n                (*(undefined4 *)(puVar25 + -0x30));\n      pbVar4 = *(byte **)(puVar25 + -0x34);\n      iVar5 = *(int *)(puVar25 + -0x50);\n      unaff_s7 = ppbVar17;\n      if (pbVar4 != (byte *)0x0) {\n        FUN_000b1fe4();\n        iVar5 = *(int *)(puVar25 + -0x50);\n      }\n    }\nLAB_000b39d4:\n    if (*(int *)(puVar25 + -0x2c) == *(int *)unaff_s2) {\n      return *(int *)unaff_s2;\n    }\n    pcVar13 = *(code **)(iVar5 + -0x7ba0);\n    uVar19 = 0xb3bf0;\n    (*pcVar13)();\n    puVar7 = (undefined *)(*(int *)(pcVar13 + 0xa7b08) + 0x37f8);\n    ppbVar17 = ppbVar22;\n    pbVar20 = pbVar21;\n    pbVar21 = (byte *)0x1;\n    unaff_s4 = pbVar24;\n    unaff_s6 = pbVar9;\n    puVar25 = puVar25 + -0x68;\n  }" { (expression_statement "pbVar9 = pbVar21;" (assignment_expression "pbVar9 = pbVar21" identifier = identifier) ;) (expression_statement "pbVar24 = pbVar4;" (assignment_expression "pbVar24 = pbVar4" identifier = identifier) ;) (expression_statement "pcVar13 = *(code **)(puVar7 + 0xa7ed0);" (assignment_expression "pcVar13 = *(code **)(puVar7 + 0xa7ed0)" identifier = (pointer_expression "*(code **)(puVar7 + 0xa7ed0)" * (cast_expression "(code **)(puVar7 + 0xa7ed0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0xa7ed0)" ( (binary_expression "puVar7 + 0xa7ed0" identifier + number_literal) ))))) ;) (expression_statement "*(byte **)(puVar25 + -0x20) = unaff_s2;" (assignment_expression "*(byte **)(puVar25 + -0x20) = unaff_s2" (pointer_expression "*(byte **)(puVar25 + -0x20)" * (cast_expression "(byte **)(puVar25 + -0x20)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x20)" ( (binary_expression "puVar25 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar25 + -0x50) = puVar7 + 0xafdb8;" (assignment_expression "*(undefined **)(puVar25 + -0x50) = puVar7 + 0xafdb8" (pointer_expression "*(undefined **)(puVar25 + -0x50)" * (cast_expression "(undefined **)(puVar25 + -0x50)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x50)" ( (binary_expression "puVar25 + -0x50" identifier + number_literal) )))) = (binary_expression "puVar7 + 0xafdb8" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar25 + -4) = uVar19;" (assignment_expression "*(undefined4 *)(puVar25 + -4) = uVar19" (pointer_expression "*(undefined4 *)(puVar25 + -4)" * (cast_expression "(undefined4 *)(puVar25 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -4)" ( (binary_expression "puVar25 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(byte ***)(puVar25 + -0xc) = unaff_s7;" (assignment_expression "*(byte ***)(puVar25 + -0xc) = unaff_s7" (pointer_expression "*(byte ***)(puVar25 + -0xc)" * (cast_expression "(byte ***)(puVar25 + -0xc)" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar25 + -0xc)" ( (binary_expression "puVar25 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(byte **)(puVar25 + -0x10) = unaff_s6;" (assignment_expression "*(byte **)(puVar25 + -0x10) = unaff_s6" (pointer_expression "*(byte **)(puVar25 + -0x10)" * (cast_expression "(byte **)(puVar25 + -0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(byte **)(puVar25 + -0x18) = unaff_s4;" (assignment_expression "*(byte **)(puVar25 + -0x18) = unaff_s4" (pointer_expression "*(byte **)(puVar25 + -0x18)" * (cast_expression "(byte **)(puVar25 + -0x18)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x18)" ( (binary_expression "puVar25 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(byte **)(puVar25 + -0x1c) = unaff_s3;" (assignment_expression "*(byte **)(puVar25 + -0x1c) = unaff_s3" (pointer_expression "*(byte **)(puVar25 + -0x1c)" * (cast_expression "(byte **)(puVar25 + -0x1c)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x1c)" ( (binary_expression "puVar25 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(byte **)(puVar25 + -8) = unaff_s8;" (assignment_expression "*(byte **)(puVar25 + -8) = unaff_s8" (pointer_expression "*(byte **)(puVar25 + -8)" * (cast_expression "(byte **)(puVar25 + -8)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -8)" ( (binary_expression "puVar25 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(byte **)(puVar25 + -0x14) = unaff_s5;" (assignment_expression "*(byte **)(puVar25 + -0x14) = unaff_s5" (pointer_expression "*(byte **)(puVar25 + -0x14)" * (cast_expression "(byte **)(puVar25 + -0x14)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x14)" ( (binary_expression "puVar25 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(byte ***)(puVar25 + -0x24) = unaff_s1;" (assignment_expression "*(byte ***)(puVar25 + -0x24) = unaff_s1" (pointer_expression "*(byte ***)(puVar25 + -0x24)" * (cast_expression "(byte ***)(puVar25 + -0x24)" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar25 + -0x24)" ( (binary_expression "puVar25 + -0x24" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(byte ***)(puVar25 + -0x28) = param_1;" (assignment_expression "*(byte ***)(puVar25 + -0x28) = param_1" (pointer_expression "*(byte ***)(puVar25 + -0x28)" * (cast_expression "(byte ***)(puVar25 + -0x28)" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar25 + -0x28)" ( (binary_expression "puVar25 + -0x28" identifier + number_literal) )))) = identifier) ;) (expression_statement "unaff_s2 = *(byte **)(puVar7 + 0xa8234);" (assignment_expression "unaff_s2 = *(byte **)(puVar7 + 0xa8234)" identifier = (pointer_expression "*(byte **)(puVar7 + 0xa8234)" * (cast_expression "(byte **)(puVar7 + 0xa8234)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0xa8234)" ( (binary_expression "puVar7 + 0xa8234" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x2c) = *(undefined4 *)unaff_s2;" (assignment_expression "*(undefined4 *)(puVar25 + -0x2c) = *(undefined4 *)unaff_s2" (pointer_expression "*(undefined4 *)(puVar25 + -0x2c)" * (cast_expression "(undefined4 *)(puVar25 + -0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x2c)" ( (binary_expression "puVar25 + -0x2c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)unaff_s2" * (cast_expression "(undefined4 *)unaff_s2" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "pbVar21 = pbVar20;" (assignment_expression "pbVar21 = pbVar20" identifier = identifier) ;) (expression_statement "uVar19 = (*pcVar13)();" (assignment_expression "uVar19 = (*pcVar13)()" identifier = (call_expression "(*pcVar13)()" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "()" ( )))) ;) (expression_statement "pcVar13 = *(code **)(*(int *)(puVar25 + -0x50) + -0x7ed0);" (assignment_expression "pcVar13 = *(code **)(*(int *)(puVar25 + -0x50) + -0x7ed0)" identifier = (pointer_expression "*(code **)(*(int *)(puVar25 + -0x50) + -0x7ed0)" * (cast_expression "(code **)(*(int *)(puVar25 + -0x50) + -0x7ed0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(puVar25 + -0x50) + -0x7ed0)" ( (binary_expression "*(int *)(puVar25 + -0x50) + -0x7ed0" (pointer_expression "*(int *)(puVar25 + -0x50)" * (cast_expression "(int *)(puVar25 + -0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x50)" ( (binary_expression "puVar25 + -0x50" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x44) = uVar19;" (assignment_expression "*(undefined4 *)(puVar25 + -0x44) = uVar19" (pointer_expression "*(undefined4 *)(puVar25 + -0x44)" * (cast_expression "(undefined4 *)(puVar25 + -0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x44)" ( (binary_expression "puVar25 + -0x44" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar19 = (*pcVar13)(pbVar24);" (assignment_expression "uVar19 = (*pcVar13)(pbVar24)" identifier = (call_expression "(*pcVar13)(pbVar24)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(pbVar24)" ( identifier )))) ;) (expression_statement "iVar5 = *(int *)(puVar25 + -0x50);" (assignment_expression "iVar5 = *(int *)(puVar25 + -0x50)" identifier = (pointer_expression "*(int *)(puVar25 + -0x50)" * (cast_expression "(int *)(puVar25 + -0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x50)" ( (binary_expression "puVar25 + -0x50" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x40) = uVar19;" (assignment_expression "*(undefined4 *)(puVar25 + -0x40) = uVar19" (pointer_expression "*(undefined4 *)(puVar25 + -0x40)" * (cast_expression "(undefined4 *)(puVar25 + -0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x40)" ( (binary_expression "puVar25 + -0x40" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x38) = 0;" (assignment_expression "*(undefined4 *)(puVar25 + -0x38) = 0" (pointer_expression "*(undefined4 *)(puVar25 + -0x38)" * (cast_expression "(undefined4 *)(puVar25 + -0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x38)" ( (binary_expression "puVar25 + -0x38" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x34) = 0;" (assignment_expression "*(undefined4 *)(puVar25 + -0x34) = 0" (pointer_expression "*(undefined4 *)(puVar25 + -0x34)" * (cast_expression "(undefined4 *)(puVar25 + -0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x34)" ( (binary_expression "puVar25 + -0x34" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x30) = 0;" (assignment_expression "*(undefined4 *)(puVar25 + -0x30) = 0" (pointer_expression "*(undefined4 *)(puVar25 + -0x30)" * (cast_expression "(undefined4 *)(puVar25 + -0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x30)" ( (binary_expression "puVar25 + -0x30" identifier + number_literal) )))) = number_literal) ;) (expression_statement "unaff_s3 = pbVar20;" (assignment_expression "unaff_s3 = pbVar20" identifier = identifier) ;) (expression_statement "unaff_s7 = ppbVar17;" (assignment_expression "unaff_s7 = ppbVar17" identifier = identifier) ;) (if_statement "if ((int)ppbVar17 < 1) {\n      if (pbVar9 == (byte *)0x0) {\n        iVar11 = *(int *)(iVar5 + -0x7fb4) + -0x705c;\n      }\n      else {\n        iVar11 = *(int *)(iVar5 + -0x7fb4) + -0x706c;\n      }\n      ppbVar22 = (byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fb4) + -0x7048,iVar11)\n      ;\n      pbVar21 = (byte *)0xffffffff;\n      *(byte ***)(puVar25 + -0x38) = ppbVar22;\n      (**(code **)(*(int *)(puVar25 + -0x50) + -0x7e40))(pbVar24);\n      pbVar4 = *(byte **)(puVar25 + -0x38);\n      (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))();\n      iVar5 = *(int *)(puVar25 + -0x50);\n    }\n    else {\n      if (pbVar9 == (byte *)0x0) {\n        param_1 = (byte **)0x1;\n        *(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050;\nLAB_000b38a0:\n        unaff_s5 = (byte *)((int)ppbVar17 + (3 - (int)param_1));\n        ppbVar22 = (byte **)((int)unaff_s5 * 4);\n        unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (unaff_s1 == (byte **)0x0) {\nLAB_000b3a30:\n          pbVar4 = pbVar24;\n          (**(code **)(iVar5 + -0x7e2c))();\n          iVar5 = *(int *)(puVar25 + -0x50);\n          goto LAB_000b39d4;\n        }\n        *unaff_s1 = (byte *)0x0;\n        unaff_s1[1] = (byte *)(*(int *)(iVar5 + -0x7fc8) + 0x538c);\n        unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c);\n        if ((int)param_1 < (int)ppbVar17) {\n          unaff_s8 = pbVar20 + (int)param_1 * 4;\n          iVar11 = (int)ppbVar17 * 4;\n          ppbVar22 = unaff_s1 + 3;\n          do {\n            ppbVar17 = ppbVar22 + 1;\n            uVar19 = *(undefined4 *)unaff_s8;\n            unaff_s8 = unaff_s8 + 4;\n            pbVar21 = (byte *)(**(code **)(iVar5 + -0x7f9c))(uVar19);\n            iVar5 = *(int *)(puVar25 + -0x50);\n            *ppbVar22 = pbVar21;\n            ppbVar22 = ppbVar17;\n          } while (pbVar20 + iVar11 != unaff_s8);\n        }\n      }\n      else {\n        if (ppbVar17 != (byte **)0x1) {\n          param_1 = (byte **)&SUB_00000002;\n          uVar19 = (**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)(pbVar20 + 4));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          *(undefined4 *)(puVar25 + -0x3c) = uVar19;\n          goto LAB_000b38a0;\n        }\n        ppbVar22 = (byte **)&DAT_0000000c;\n        unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (unaff_s1 == (byte **)0x0) goto LAB_000b3a30;\n        iVar11 = *(int *)(iVar5 + -0x7fc8);\n        unaff_s5 = (byte *)0x3;\n        *unaff_s1 = (byte *)0x0;\n        unaff_s1[1] = (byte *)(iVar11 + 0x538c);\n        *(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050;\n        unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c);\n      }\n      param_1 = (byte **)(puVar25 + -0x38);\n      unaff_s3 = (byte *)(**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)pbVar20);\n      *(byte ***)(puVar25 + -0x54) = param_1;\n      *(undefined1 **)(puVar25 + -0x58) = puVar25 + -0x30;\n      pbVar21 = unaff_s5;\n      ppbVar22 = (byte **)FUN_000961e8(*(undefined4 *)(puVar25 + -0x44),\n                                       *(undefined4 *)(puVar25 + -0x40),unaff_s5,unaff_s1);\n      iVar5 = *(int *)(puVar25 + -0x50);\n      if (ppbVar22 == (byte **)0x0) {\n        uVar19 = *(undefined4 *)(*(int *)(puVar25 + -0x30) + 0xc);\n        *(byte ***)(puVar25 + -0x58) = param_1;\n        pbVar20 = unaff_s3;\n        ppbVar22 = (byte **)FUN_000b2950(*(int *)(puVar25 + -0x30),uVar19,unaff_s3,puVar25 + -0x34);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        pbVar21 = pbVar20;\n        if (ppbVar22 != (byte **)0x0) goto LAB_000b3964;\n        pbVar21 = *(byte **)(*(int *)(puVar25 + -0x34) + 8);\n        if (*(int *)(pbVar21 + 0xc) == 0) {\n          param_1 = (byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fc8) + 0x53f4);\n          iVar5 = *(int *)(puVar25 + -0x50);\nLAB_000b3aa4:\n          ppbVar10 = *(byte ***)(puVar25 + -0x38);\n          pbVar21 = pbVar20;\n          if (param_1 != (byte **)0x0) goto LAB_000b3aac;\nLAB_000b3b54:\n          ppbVar22 = (byte **)&DAT_00000007;\n          if (ppbVar10 == (byte **)0x0) {\n            pcVar13 = *(code **)(iVar5 + -0x7e34);\n            goto LAB_000b3b60;\n          }\n          goto LAB_000b3970;\n        }\n        if (pbVar9 == (byte *)0x0) {\n          param_1 = (byte **)FUN_00097660();\n          iVar5 = *(int *)(puVar25 + -0x50);\n          goto LAB_000b3aa4;\n        }\n        param_1 = (byte **)FUN_00097234(*(undefined4 *)(puVar25 + -0x30),\n                                        *(undefined4 *)(puVar25 + -0x3c));\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (param_1 == (byte **)0x0) {\n          ppbVar10 = *(byte ***)(puVar25 + -0x38);\n          goto LAB_000b3b54;\n        }\nLAB_000b3aac:\n        pbVar21 = (byte *)0xffffffff;\n        ppbVar22 = param_1;\n        (**(code **)(iVar5 + -0x7f34))(pbVar24,param_1,0xffffffff,0xffffffff);\n        (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(param_1);\n        iVar5 = *(int *)(puVar25 + -0x50);\n      }\n      else {\nLAB_000b3964:\n        ppbVar10 = *(byte ***)(puVar25 + -0x38);\n        pcVar13 = *(code **)(iVar5 + -0x7e34);\n        if (ppbVar10 == (byte **)0x0) {\nLAB_000b3b60:\n          (*pcVar13)(pbVar24);\n          iVar5 = *(int *)(puVar25 + -0x50);\n        }\n        else {\nLAB_000b3970:\n          pbVar21 = (byte *)0xffffffff;\n          (**(code **)(iVar5 + -0x7e40))(pbVar24);\n          (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(*(undefined4 *)(puVar25 + -0x38));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          ppbVar22 = ppbVar10;\n        }\n      }\n      (**(code **)(iVar5 + -0x7f90))(unaff_s1);\n      (*(code *)(*(int *)(*(int *)(puVar25 + -0x50) + -0x7ef0) + -0xe08))\n                (*(undefined4 *)(puVar25 + -0x30));\n      pbVar4 = *(byte **)(puVar25 + -0x34);\n      iVar5 = *(int *)(puVar25 + -0x50);\n      unaff_s7 = ppbVar17;\n      if (pbVar4 != (byte *)0x0) {\n        FUN_000b1fe4();\n        iVar5 = *(int *)(puVar25 + -0x50);\n      }\n    }" if (parenthesized_expression "((int)ppbVar17 < 1)" ( (binary_expression "(int)ppbVar17 < 1" (cast_expression "(int)ppbVar17" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      if (pbVar9 == (byte *)0x0) {\n        iVar11 = *(int *)(iVar5 + -0x7fb4) + -0x705c;\n      }\n      else {\n        iVar11 = *(int *)(iVar5 + -0x7fb4) + -0x706c;\n      }\n      ppbVar22 = (byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fb4) + -0x7048,iVar11)\n      ;\n      pbVar21 = (byte *)0xffffffff;\n      *(byte ***)(puVar25 + -0x38) = ppbVar22;\n      (**(code **)(*(int *)(puVar25 + -0x50) + -0x7e40))(pbVar24);\n      pbVar4 = *(byte **)(puVar25 + -0x38);\n      (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))();\n      iVar5 = *(int *)(puVar25 + -0x50);\n    }" { (if_statement "if (pbVar9 == (byte *)0x0) {\n        iVar11 = *(int *)(iVar5 + -0x7fb4) + -0x705c;\n      }\n      else {\n        iVar11 = *(int *)(iVar5 + -0x7fb4) + -0x706c;\n      }" if (parenthesized_expression "(pbVar9 == (byte *)0x0)" ( (binary_expression "pbVar9 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        iVar11 = *(int *)(iVar5 + -0x7fb4) + -0x705c;\n      }" { (expression_statement "iVar11 = *(int *)(iVar5 + -0x7fb4) + -0x705c;" (assignment_expression "iVar11 = *(int *)(iVar5 + -0x7fb4) + -0x705c" identifier = (binary_expression "*(int *)(iVar5 + -0x7fb4) + -0x705c" (pointer_expression "*(int *)(iVar5 + -0x7fb4)" * (cast_expression "(int *)(iVar5 + -0x7fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + -0x7fb4)" ( (binary_expression "iVar5 + -0x7fb4" identifier + number_literal) )))) + number_literal)) ;) }) (else_clause "else {\n        iVar11 = *(int *)(iVar5 + -0x7fb4) + -0x706c;\n      }" else (compound_statement "{\n        iVar11 = *(int *)(iVar5 + -0x7fb4) + -0x706c;\n      }" { (expression_statement "iVar11 = *(int *)(iVar5 + -0x7fb4) + -0x706c;" (assignment_expression "iVar11 = *(int *)(iVar5 + -0x7fb4) + -0x706c" identifier = (binary_expression "*(int *)(iVar5 + -0x7fb4) + -0x706c" (pointer_expression "*(int *)(iVar5 + -0x7fb4)" * (cast_expression "(int *)(iVar5 + -0x7fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + -0x7fb4)" ( (binary_expression "iVar5 + -0x7fb4" identifier + number_literal) )))) + number_literal)) ;) }))) (expression_statement "ppbVar22 = (byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fb4) + -0x7048,iVar11)\n      ;" (assignment_expression "ppbVar22 = (byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fb4) + -0x7048,iVar11)" identifier = (cast_expression "(byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fb4) + -0x7048,iVar11)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fb4) + -0x7048,iVar11)" (parenthesized_expression "(**(code **)(iVar5 + -0x7f88))" ( (pointer_expression "**(code **)(iVar5 + -0x7f88)" * (pointer_expression "*(code **)(iVar5 + -0x7f88)" * (cast_expression "(code **)(iVar5 + -0x7f88)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + -0x7f88)" ( (binary_expression "iVar5 + -0x7f88" identifier + number_literal) ))))) )) (argument_list "(*(int *)(iVar5 + -0x7fb4) + -0x7048,iVar11)" ( (binary_expression "*(int *)(iVar5 + -0x7fb4) + -0x7048" (pointer_expression "*(int *)(iVar5 + -0x7fb4)" * (cast_expression "(int *)(iVar5 + -0x7fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + -0x7fb4)" ( (binary_expression "iVar5 + -0x7fb4" identifier + number_literal) )))) + number_literal) , identifier ))))) ;) (expression_statement "pbVar21 = (byte *)0xffffffff;" (assignment_expression "pbVar21 = (byte *)0xffffffff" identifier = (cast_expression "(byte *)0xffffffff" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(byte ***)(puVar25 + -0x38) = ppbVar22;" (assignment_expression "*(byte ***)(puVar25 + -0x38) = ppbVar22" (pointer_expression "*(byte ***)(puVar25 + -0x38)" * (cast_expression "(byte ***)(puVar25 + -0x38)" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar25 + -0x38)" ( (binary_expression "puVar25 + -0x38" identifier + number_literal) )))) = identifier) ;) (expression_statement "(**(code **)(*(int *)(puVar25 + -0x50) + -0x7e40))(pbVar24);" (call_expression "(**(code **)(*(int *)(puVar25 + -0x50) + -0x7e40))(pbVar24)" (parenthesized_expression "(**(code **)(*(int *)(puVar25 + -0x50) + -0x7e40))" ( (pointer_expression "**(code **)(*(int *)(puVar25 + -0x50) + -0x7e40)" * (pointer_expression "*(code **)(*(int *)(puVar25 + -0x50) + -0x7e40)" * (cast_expression "(code **)(*(int *)(puVar25 + -0x50) + -0x7e40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(puVar25 + -0x50) + -0x7e40)" ( (binary_expression "*(int *)(puVar25 + -0x50) + -0x7e40" (pointer_expression "*(int *)(puVar25 + -0x50)" * (cast_expression "(int *)(puVar25 + -0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x50)" ( (binary_expression "puVar25 + -0x50" identifier + number_literal) )))) + number_literal) ))))) )) (argument_list "(pbVar24)" ( identifier ))) ;) (expression_statement "pbVar4 = *(byte **)(puVar25 + -0x38);" (assignment_expression "pbVar4 = *(byte **)(puVar25 + -0x38)" identifier = (pointer_expression "*(byte **)(puVar25 + -0x38)" * (cast_expression "(byte **)(puVar25 + -0x38)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x38)" ( (binary_expression "puVar25 + -0x38" identifier + number_literal) ))))) ;) (expression_statement "(**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))();" (call_expression "(**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))()" (parenthesized_expression "(**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))" ( (pointer_expression "**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90)" * (pointer_expression "*(code **)(*(int *)(puVar25 + -0x50) + -0x7f90)" * (cast_expression "(code **)(*(int *)(puVar25 + -0x50) + -0x7f90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(puVar25 + -0x50) + -0x7f90)" ( (binary_expression "*(int *)(puVar25 + -0x50) + -0x7f90" (pointer_expression "*(int *)(puVar25 + -0x50)" * (cast_expression "(int *)(puVar25 + -0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x50)" ( (binary_expression "puVar25 + -0x50" identifier + number_literal) )))) + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "iVar5 = *(int *)(puVar25 + -0x50);" (assignment_expression "iVar5 = *(int *)(puVar25 + -0x50)" identifier = (pointer_expression "*(int *)(puVar25 + -0x50)" * (cast_expression "(int *)(puVar25 + -0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x50)" ( (binary_expression "puVar25 + -0x50" identifier + number_literal) ))))) ;) }) (else_clause "else {\n      if (pbVar9 == (byte *)0x0) {\n        param_1 = (byte **)0x1;\n        *(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050;\nLAB_000b38a0:\n        unaff_s5 = (byte *)((int)ppbVar17 + (3 - (int)param_1));\n        ppbVar22 = (byte **)((int)unaff_s5 * 4);\n        unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (unaff_s1 == (byte **)0x0) {\nLAB_000b3a30:\n          pbVar4 = pbVar24;\n          (**(code **)(iVar5 + -0x7e2c))();\n          iVar5 = *(int *)(puVar25 + -0x50);\n          goto LAB_000b39d4;\n        }\n        *unaff_s1 = (byte *)0x0;\n        unaff_s1[1] = (byte *)(*(int *)(iVar5 + -0x7fc8) + 0x538c);\n        unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c);\n        if ((int)param_1 < (int)ppbVar17) {\n          unaff_s8 = pbVar20 + (int)param_1 * 4;\n          iVar11 = (int)ppbVar17 * 4;\n          ppbVar22 = unaff_s1 + 3;\n          do {\n            ppbVar17 = ppbVar22 + 1;\n            uVar19 = *(undefined4 *)unaff_s8;\n            unaff_s8 = unaff_s8 + 4;\n            pbVar21 = (byte *)(**(code **)(iVar5 + -0x7f9c))(uVar19);\n            iVar5 = *(int *)(puVar25 + -0x50);\n            *ppbVar22 = pbVar21;\n            ppbVar22 = ppbVar17;\n          } while (pbVar20 + iVar11 != unaff_s8);\n        }\n      }\n      else {\n        if (ppbVar17 != (byte **)0x1) {\n          param_1 = (byte **)&SUB_00000002;\n          uVar19 = (**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)(pbVar20 + 4));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          *(undefined4 *)(puVar25 + -0x3c) = uVar19;\n          goto LAB_000b38a0;\n        }\n        ppbVar22 = (byte **)&DAT_0000000c;\n        unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (unaff_s1 == (byte **)0x0) goto LAB_000b3a30;\n        iVar11 = *(int *)(iVar5 + -0x7fc8);\n        unaff_s5 = (byte *)0x3;\n        *unaff_s1 = (byte *)0x0;\n        unaff_s1[1] = (byte *)(iVar11 + 0x538c);\n        *(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050;\n        unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c);\n      }\n      param_1 = (byte **)(puVar25 + -0x38);\n      unaff_s3 = (byte *)(**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)pbVar20);\n      *(byte ***)(puVar25 + -0x54) = param_1;\n      *(undefined1 **)(puVar25 + -0x58) = puVar25 + -0x30;\n      pbVar21 = unaff_s5;\n      ppbVar22 = (byte **)FUN_000961e8(*(undefined4 *)(puVar25 + -0x44),\n                                       *(undefined4 *)(puVar25 + -0x40),unaff_s5,unaff_s1);\n      iVar5 = *(int *)(puVar25 + -0x50);\n      if (ppbVar22 == (byte **)0x0) {\n        uVar19 = *(undefined4 *)(*(int *)(puVar25 + -0x30) + 0xc);\n        *(byte ***)(puVar25 + -0x58) = param_1;\n        pbVar20 = unaff_s3;\n        ppbVar22 = (byte **)FUN_000b2950(*(int *)(puVar25 + -0x30),uVar19,unaff_s3,puVar25 + -0x34);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        pbVar21 = pbVar20;\n        if (ppbVar22 != (byte **)0x0) goto LAB_000b3964;\n        pbVar21 = *(byte **)(*(int *)(puVar25 + -0x34) + 8);\n        if (*(int *)(pbVar21 + 0xc) == 0) {\n          param_1 = (byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fc8) + 0x53f4);\n          iVar5 = *(int *)(puVar25 + -0x50);\nLAB_000b3aa4:\n          ppbVar10 = *(byte ***)(puVar25 + -0x38);\n          pbVar21 = pbVar20;\n          if (param_1 != (byte **)0x0) goto LAB_000b3aac;\nLAB_000b3b54:\n          ppbVar22 = (byte **)&DAT_00000007;\n          if (ppbVar10 == (byte **)0x0) {\n            pcVar13 = *(code **)(iVar5 + -0x7e34);\n            goto LAB_000b3b60;\n          }\n          goto LAB_000b3970;\n        }\n        if (pbVar9 == (byte *)0x0) {\n          param_1 = (byte **)FUN_00097660();\n          iVar5 = *(int *)(puVar25 + -0x50);\n          goto LAB_000b3aa4;\n        }\n        param_1 = (byte **)FUN_00097234(*(undefined4 *)(puVar25 + -0x30),\n                                        *(undefined4 *)(puVar25 + -0x3c));\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (param_1 == (byte **)0x0) {\n          ppbVar10 = *(byte ***)(puVar25 + -0x38);\n          goto LAB_000b3b54;\n        }\nLAB_000b3aac:\n        pbVar21 = (byte *)0xffffffff;\n        ppbVar22 = param_1;\n        (**(code **)(iVar5 + -0x7f34))(pbVar24,param_1,0xffffffff,0xffffffff);\n        (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(param_1);\n        iVar5 = *(int *)(puVar25 + -0x50);\n      }\n      else {\nLAB_000b3964:\n        ppbVar10 = *(byte ***)(puVar25 + -0x38);\n        pcVar13 = *(code **)(iVar5 + -0x7e34);\n        if (ppbVar10 == (byte **)0x0) {\nLAB_000b3b60:\n          (*pcVar13)(pbVar24);\n          iVar5 = *(int *)(puVar25 + -0x50);\n        }\n        else {\nLAB_000b3970:\n          pbVar21 = (byte *)0xffffffff;\n          (**(code **)(iVar5 + -0x7e40))(pbVar24);\n          (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(*(undefined4 *)(puVar25 + -0x38));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          ppbVar22 = ppbVar10;\n        }\n      }\n      (**(code **)(iVar5 + -0x7f90))(unaff_s1);\n      (*(code *)(*(int *)(*(int *)(puVar25 + -0x50) + -0x7ef0) + -0xe08))\n                (*(undefined4 *)(puVar25 + -0x30));\n      pbVar4 = *(byte **)(puVar25 + -0x34);\n      iVar5 = *(int *)(puVar25 + -0x50);\n      unaff_s7 = ppbVar17;\n      if (pbVar4 != (byte *)0x0) {\n        FUN_000b1fe4();\n        iVar5 = *(int *)(puVar25 + -0x50);\n      }\n    }" else (compound_statement "{\n      if (pbVar9 == (byte *)0x0) {\n        param_1 = (byte **)0x1;\n        *(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050;\nLAB_000b38a0:\n        unaff_s5 = (byte *)((int)ppbVar17 + (3 - (int)param_1));\n        ppbVar22 = (byte **)((int)unaff_s5 * 4);\n        unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (unaff_s1 == (byte **)0x0) {\nLAB_000b3a30:\n          pbVar4 = pbVar24;\n          (**(code **)(iVar5 + -0x7e2c))();\n          iVar5 = *(int *)(puVar25 + -0x50);\n          goto LAB_000b39d4;\n        }\n        *unaff_s1 = (byte *)0x0;\n        unaff_s1[1] = (byte *)(*(int *)(iVar5 + -0x7fc8) + 0x538c);\n        unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c);\n        if ((int)param_1 < (int)ppbVar17) {\n          unaff_s8 = pbVar20 + (int)param_1 * 4;\n          iVar11 = (int)ppbVar17 * 4;\n          ppbVar22 = unaff_s1 + 3;\n          do {\n            ppbVar17 = ppbVar22 + 1;\n            uVar19 = *(undefined4 *)unaff_s8;\n            unaff_s8 = unaff_s8 + 4;\n            pbVar21 = (byte *)(**(code **)(iVar5 + -0x7f9c))(uVar19);\n            iVar5 = *(int *)(puVar25 + -0x50);\n            *ppbVar22 = pbVar21;\n            ppbVar22 = ppbVar17;\n          } while (pbVar20 + iVar11 != unaff_s8);\n        }\n      }\n      else {\n        if (ppbVar17 != (byte **)0x1) {\n          param_1 = (byte **)&SUB_00000002;\n          uVar19 = (**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)(pbVar20 + 4));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          *(undefined4 *)(puVar25 + -0x3c) = uVar19;\n          goto LAB_000b38a0;\n        }\n        ppbVar22 = (byte **)&DAT_0000000c;\n        unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (unaff_s1 == (byte **)0x0) goto LAB_000b3a30;\n        iVar11 = *(int *)(iVar5 + -0x7fc8);\n        unaff_s5 = (byte *)0x3;\n        *unaff_s1 = (byte *)0x0;\n        unaff_s1[1] = (byte *)(iVar11 + 0x538c);\n        *(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050;\n        unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c);\n      }\n      param_1 = (byte **)(puVar25 + -0x38);\n      unaff_s3 = (byte *)(**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)pbVar20);\n      *(byte ***)(puVar25 + -0x54) = param_1;\n      *(undefined1 **)(puVar25 + -0x58) = puVar25 + -0x30;\n      pbVar21 = unaff_s5;\n      ppbVar22 = (byte **)FUN_000961e8(*(undefined4 *)(puVar25 + -0x44),\n                                       *(undefined4 *)(puVar25 + -0x40),unaff_s5,unaff_s1);\n      iVar5 = *(int *)(puVar25 + -0x50);\n      if (ppbVar22 == (byte **)0x0) {\n        uVar19 = *(undefined4 *)(*(int *)(puVar25 + -0x30) + 0xc);\n        *(byte ***)(puVar25 + -0x58) = param_1;\n        pbVar20 = unaff_s3;\n        ppbVar22 = (byte **)FUN_000b2950(*(int *)(puVar25 + -0x30),uVar19,unaff_s3,puVar25 + -0x34);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        pbVar21 = pbVar20;\n        if (ppbVar22 != (byte **)0x0) goto LAB_000b3964;\n        pbVar21 = *(byte **)(*(int *)(puVar25 + -0x34) + 8);\n        if (*(int *)(pbVar21 + 0xc) == 0) {\n          param_1 = (byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fc8) + 0x53f4);\n          iVar5 = *(int *)(puVar25 + -0x50);\nLAB_000b3aa4:\n          ppbVar10 = *(byte ***)(puVar25 + -0x38);\n          pbVar21 = pbVar20;\n          if (param_1 != (byte **)0x0) goto LAB_000b3aac;\nLAB_000b3b54:\n          ppbVar22 = (byte **)&DAT_00000007;\n          if (ppbVar10 == (byte **)0x0) {\n            pcVar13 = *(code **)(iVar5 + -0x7e34);\n            goto LAB_000b3b60;\n          }\n          goto LAB_000b3970;\n        }\n        if (pbVar9 == (byte *)0x0) {\n          param_1 = (byte **)FUN_00097660();\n          iVar5 = *(int *)(puVar25 + -0x50);\n          goto LAB_000b3aa4;\n        }\n        param_1 = (byte **)FUN_00097234(*(undefined4 *)(puVar25 + -0x30),\n                                        *(undefined4 *)(puVar25 + -0x3c));\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (param_1 == (byte **)0x0) {\n          ppbVar10 = *(byte ***)(puVar25 + -0x38);\n          goto LAB_000b3b54;\n        }\nLAB_000b3aac:\n        pbVar21 = (byte *)0xffffffff;\n        ppbVar22 = param_1;\n        (**(code **)(iVar5 + -0x7f34))(pbVar24,param_1,0xffffffff,0xffffffff);\n        (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(param_1);\n        iVar5 = *(int *)(puVar25 + -0x50);\n      }\n      else {\nLAB_000b3964:\n        ppbVar10 = *(byte ***)(puVar25 + -0x38);\n        pcVar13 = *(code **)(iVar5 + -0x7e34);\n        if (ppbVar10 == (byte **)0x0) {\nLAB_000b3b60:\n          (*pcVar13)(pbVar24);\n          iVar5 = *(int *)(puVar25 + -0x50);\n        }\n        else {\nLAB_000b3970:\n          pbVar21 = (byte *)0xffffffff;\n          (**(code **)(iVar5 + -0x7e40))(pbVar24);\n          (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(*(undefined4 *)(puVar25 + -0x38));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          ppbVar22 = ppbVar10;\n        }\n      }\n      (**(code **)(iVar5 + -0x7f90))(unaff_s1);\n      (*(code *)(*(int *)(*(int *)(puVar25 + -0x50) + -0x7ef0) + -0xe08))\n                (*(undefined4 *)(puVar25 + -0x30));\n      pbVar4 = *(byte **)(puVar25 + -0x34);\n      iVar5 = *(int *)(puVar25 + -0x50);\n      unaff_s7 = ppbVar17;\n      if (pbVar4 != (byte *)0x0) {\n        FUN_000b1fe4();\n        iVar5 = *(int *)(puVar25 + -0x50);\n      }\n    }" { (if_statement "if (pbVar9 == (byte *)0x0) {\n        param_1 = (byte **)0x1;\n        *(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050;\nLAB_000b38a0:\n        unaff_s5 = (byte *)((int)ppbVar17 + (3 - (int)param_1));\n        ppbVar22 = (byte **)((int)unaff_s5 * 4);\n        unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (unaff_s1 == (byte **)0x0) {\nLAB_000b3a30:\n          pbVar4 = pbVar24;\n          (**(code **)(iVar5 + -0x7e2c))();\n          iVar5 = *(int *)(puVar25 + -0x50);\n          goto LAB_000b39d4;\n        }\n        *unaff_s1 = (byte *)0x0;\n        unaff_s1[1] = (byte *)(*(int *)(iVar5 + -0x7fc8) + 0x538c);\n        unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c);\n        if ((int)param_1 < (int)ppbVar17) {\n          unaff_s8 = pbVar20 + (int)param_1 * 4;\n          iVar11 = (int)ppbVar17 * 4;\n          ppbVar22 = unaff_s1 + 3;\n          do {\n            ppbVar17 = ppbVar22 + 1;\n            uVar19 = *(undefined4 *)unaff_s8;\n            unaff_s8 = unaff_s8 + 4;\n            pbVar21 = (byte *)(**(code **)(iVar5 + -0x7f9c))(uVar19);\n            iVar5 = *(int *)(puVar25 + -0x50);\n            *ppbVar22 = pbVar21;\n            ppbVar22 = ppbVar17;\n          } while (pbVar20 + iVar11 != unaff_s8);\n        }\n      }\n      else {\n        if (ppbVar17 != (byte **)0x1) {\n          param_1 = (byte **)&SUB_00000002;\n          uVar19 = (**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)(pbVar20 + 4));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          *(undefined4 *)(puVar25 + -0x3c) = uVar19;\n          goto LAB_000b38a0;\n        }\n        ppbVar22 = (byte **)&DAT_0000000c;\n        unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (unaff_s1 == (byte **)0x0) goto LAB_000b3a30;\n        iVar11 = *(int *)(iVar5 + -0x7fc8);\n        unaff_s5 = (byte *)0x3;\n        *unaff_s1 = (byte *)0x0;\n        unaff_s1[1] = (byte *)(iVar11 + 0x538c);\n        *(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050;\n        unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c);\n      }" if (parenthesized_expression "(pbVar9 == (byte *)0x0)" ( (binary_expression "pbVar9 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        param_1 = (byte **)0x1;\n        *(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050;\nLAB_000b38a0:\n        unaff_s5 = (byte *)((int)ppbVar17 + (3 - (int)param_1));\n        ppbVar22 = (byte **)((int)unaff_s5 * 4);\n        unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (unaff_s1 == (byte **)0x0) {\nLAB_000b3a30:\n          pbVar4 = pbVar24;\n          (**(code **)(iVar5 + -0x7e2c))();\n          iVar5 = *(int *)(puVar25 + -0x50);\n          goto LAB_000b39d4;\n        }\n        *unaff_s1 = (byte *)0x0;\n        unaff_s1[1] = (byte *)(*(int *)(iVar5 + -0x7fc8) + 0x538c);\n        unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c);\n        if ((int)param_1 < (int)ppbVar17) {\n          unaff_s8 = pbVar20 + (int)param_1 * 4;\n          iVar11 = (int)ppbVar17 * 4;\n          ppbVar22 = unaff_s1 + 3;\n          do {\n            ppbVar17 = ppbVar22 + 1;\n            uVar19 = *(undefined4 *)unaff_s8;\n            unaff_s8 = unaff_s8 + 4;\n            pbVar21 = (byte *)(**(code **)(iVar5 + -0x7f9c))(uVar19);\n            iVar5 = *(int *)(puVar25 + -0x50);\n            *ppbVar22 = pbVar21;\n            ppbVar22 = ppbVar17;\n          } while (pbVar20 + iVar11 != unaff_s8);\n        }\n      }" { (expression_statement "param_1 = (byte **)0x1;" (assignment_expression "param_1 = (byte **)0x1" identifier = (cast_expression "(byte **)0x1" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "*(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050;" (assignment_expression "*(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050" (pointer_expression "*(int *)(puVar25 + -0x3c)" * (cast_expression "(int *)(puVar25 + -0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x3c)" ( (binary_expression "puVar25 + -0x3c" identifier + number_literal) )))) = (binary_expression "*(int *)(iVar5 + -0x7fb4) + -0x7050" (pointer_expression "*(int *)(iVar5 + -0x7fb4)" * (cast_expression "(int *)(iVar5 + -0x7fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + -0x7fb4)" ( (binary_expression "iVar5 + -0x7fb4" identifier + number_literal) )))) + number_literal)) ;) (labeled_statement "LAB_000b38a0:\n        unaff_s5 = (byte *)((int)ppbVar17 + (3 - (int)param_1));" statement_identifier : (expression_statement "unaff_s5 = (byte *)((int)ppbVar17 + (3 - (int)param_1));" (assignment_expression "unaff_s5 = (byte *)((int)ppbVar17 + (3 - (int)param_1))" identifier = (cast_expression "(byte *)((int)ppbVar17 + (3 - (int)param_1))" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppbVar17 + (3 - (int)param_1))" ( (binary_expression "(int)ppbVar17 + (3 - (int)param_1)" (cast_expression "(int)ppbVar17" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(3 - (int)param_1)" ( (binary_expression "3 - (int)param_1" number_literal - (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) ;)) (expression_statement "ppbVar22 = (byte **)((int)unaff_s5 * 4);" (assignment_expression "ppbVar22 = (byte **)((int)unaff_s5 * 4)" identifier = (cast_expression "(byte **)((int)unaff_s5 * 4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)unaff_s5 * 4)" ( (binary_expression "(int)unaff_s5 * 4" (cast_expression "(int)unaff_s5" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ;) (expression_statement "unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0);" (assignment_expression "unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0)" identifier = (cast_expression "(byte **)(**(code **)(iVar5 + -0x7e50))(0)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(**(code **)(iVar5 + -0x7e50))(0)" (parenthesized_expression "(**(code **)(iVar5 + -0x7e50))" ( (pointer_expression "**(code **)(iVar5 + -0x7e50)" * (pointer_expression "*(code **)(iVar5 + -0x7e50)" * (cast_expression "(code **)(iVar5 + -0x7e50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + -0x7e50)" ( (binary_expression "iVar5 + -0x7e50" identifier + number_literal) ))))) )) (argument_list "(0)" ( number_literal ))))) ;) (expression_statement "iVar5 = *(int *)(puVar25 + -0x50);" (assignment_expression "iVar5 = *(int *)(puVar25 + -0x50)" identifier = (pointer_expression "*(int *)(puVar25 + -0x50)" * (cast_expression "(int *)(puVar25 + -0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x50)" ( (binary_expression "puVar25 + -0x50" identifier + number_literal) ))))) ;) (if_statement "if (unaff_s1 == (byte **)0x0) {\nLAB_000b3a30:\n          pbVar4 = pbVar24;\n          (**(code **)(iVar5 + -0x7e2c))();\n          iVar5 = *(int *)(puVar25 + -0x50);\n          goto LAB_000b39d4;\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 "*" *))) ) number_literal)) )) (compound_statement "{\nLAB_000b3a30:\n          pbVar4 = pbVar24;\n          (**(code **)(iVar5 + -0x7e2c))();\n          iVar5 = *(int *)(puVar25 + -0x50);\n          goto LAB_000b39d4;\n        }" { (labeled_statement "LAB_000b3a30:\n          pbVar4 = pbVar24;" statement_identifier : (expression_statement "pbVar4 = pbVar24;" (assignment_expression "pbVar4 = pbVar24" identifier = identifier) ;)) (expression_statement "(**(code **)(iVar5 + -0x7e2c))();" (call_expression "(**(code **)(iVar5 + -0x7e2c))()" (parenthesized_expression "(**(code **)(iVar5 + -0x7e2c))" ( (pointer_expression "**(code **)(iVar5 + -0x7e2c)" * (pointer_expression "*(code **)(iVar5 + -0x7e2c)" * (cast_expression "(code **)(iVar5 + -0x7e2c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + -0x7e2c)" ( (binary_expression "iVar5 + -0x7e2c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "iVar5 = *(int *)(puVar25 + -0x50);" (assignment_expression "iVar5 = *(int *)(puVar25 + -0x50)" identifier = (pointer_expression "*(int *)(puVar25 + -0x50)" * (cast_expression "(int *)(puVar25 + -0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x50)" ( (binary_expression "puVar25 + -0x50" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_000b39d4;" goto statement_identifier ;) })) (expression_statement "*unaff_s1 = (byte *)0x0;" (assignment_expression "*unaff_s1 = (byte *)0x0" (pointer_expression "*unaff_s1" * identifier) = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "unaff_s1[1] = (byte *)(*(int *)(iVar5 + -0x7fc8) + 0x538c);" (assignment_expression "unaff_s1[1] = (byte *)(*(int *)(iVar5 + -0x7fc8) + 0x538c)" (subscript_expression "unaff_s1[1]" identifier [ number_literal ]) = (cast_expression "(byte *)(*(int *)(iVar5 + -0x7fc8) + 0x538c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar5 + -0x7fc8) + 0x538c)" ( (binary_expression "*(int *)(iVar5 + -0x7fc8) + 0x538c" (pointer_expression "*(int *)(iVar5 + -0x7fc8)" * (cast_expression "(int *)(iVar5 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + -0x7fc8)" ( (binary_expression "iVar5 + -0x7fc8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c);" (assignment_expression "unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c)" (subscript_expression "unaff_s1[2]" identifier [ number_literal ]) = (cast_expression "(byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar5 + -0x7fb4) + -0x701c)" ( (binary_expression "*(int *)(iVar5 + -0x7fb4) + -0x701c" (pointer_expression "*(int *)(iVar5 + -0x7fb4)" * (cast_expression "(int *)(iVar5 + -0x7fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + -0x7fb4)" ( (binary_expression "iVar5 + -0x7fb4" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if ((int)param_1 < (int)ppbVar17) {\n          unaff_s8 = pbVar20 + (int)param_1 * 4;\n          iVar11 = (int)ppbVar17 * 4;\n          ppbVar22 = unaff_s1 + 3;\n          do {\n            ppbVar17 = ppbVar22 + 1;\n            uVar19 = *(undefined4 *)unaff_s8;\n            unaff_s8 = unaff_s8 + 4;\n            pbVar21 = (byte *)(**(code **)(iVar5 + -0x7f9c))(uVar19);\n            iVar5 = *(int *)(puVar25 + -0x50);\n            *ppbVar22 = pbVar21;\n            ppbVar22 = ppbVar17;\n          } while (pbVar20 + iVar11 != unaff_s8);\n        }" if (parenthesized_expression "((int)param_1 < (int)ppbVar17)" ( (binary_expression "(int)param_1 < (int)ppbVar17" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)ppbVar17" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          unaff_s8 = pbVar20 + (int)param_1 * 4;\n          iVar11 = (int)ppbVar17 * 4;\n          ppbVar22 = unaff_s1 + 3;\n          do {\n            ppbVar17 = ppbVar22 + 1;\n            uVar19 = *(undefined4 *)unaff_s8;\n            unaff_s8 = unaff_s8 + 4;\n            pbVar21 = (byte *)(**(code **)(iVar5 + -0x7f9c))(uVar19);\n            iVar5 = *(int *)(puVar25 + -0x50);\n            *ppbVar22 = pbVar21;\n            ppbVar22 = ppbVar17;\n          } while (pbVar20 + iVar11 != unaff_s8);\n        }" { (expression_statement "unaff_s8 = pbVar20 + (int)param_1 * 4;" (assignment_expression "unaff_s8 = pbVar20 + (int)param_1 * 4" identifier = (binary_expression "pbVar20 + (int)param_1 * 4" identifier + (binary_expression "(int)param_1 * 4" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal))) ;) (expression_statement "iVar11 = (int)ppbVar17 * 4;" (assignment_expression "iVar11 = (int)ppbVar17 * 4" identifier = (binary_expression "(int)ppbVar17 * 4" (cast_expression "(int)ppbVar17" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ;) (expression_statement "ppbVar22 = unaff_s1 + 3;" (assignment_expression "ppbVar22 = unaff_s1 + 3" identifier = (binary_expression "unaff_s1 + 3" identifier + number_literal)) ;) (do_statement "do {\n            ppbVar17 = ppbVar22 + 1;\n            uVar19 = *(undefined4 *)unaff_s8;\n            unaff_s8 = unaff_s8 + 4;\n            pbVar21 = (byte *)(**(code **)(iVar5 + -0x7f9c))(uVar19);\n            iVar5 = *(int *)(puVar25 + -0x50);\n            *ppbVar22 = pbVar21;\n            ppbVar22 = ppbVar17;\n          } while (pbVar20 + iVar11 != unaff_s8);" do (compound_statement "{\n            ppbVar17 = ppbVar22 + 1;\n            uVar19 = *(undefined4 *)unaff_s8;\n            unaff_s8 = unaff_s8 + 4;\n            pbVar21 = (byte *)(**(code **)(iVar5 + -0x7f9c))(uVar19);\n            iVar5 = *(int *)(puVar25 + -0x50);\n            *ppbVar22 = pbVar21;\n            ppbVar22 = ppbVar17;\n          }" { (expression_statement "ppbVar17 = ppbVar22 + 1;" (assignment_expression "ppbVar17 = ppbVar22 + 1" identifier = (binary_expression "ppbVar22 + 1" identifier + number_literal)) ;) (expression_statement "uVar19 = *(undefined4 *)unaff_s8;" (assignment_expression "uVar19 = *(undefined4 *)unaff_s8" identifier = (pointer_expression "*(undefined4 *)unaff_s8" * (cast_expression "(undefined4 *)unaff_s8" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "unaff_s8 = unaff_s8 + 4;" (assignment_expression "unaff_s8 = unaff_s8 + 4" identifier = (binary_expression "unaff_s8 + 4" identifier + number_literal)) ;) (expression_statement "pbVar21 = (byte *)(**(code **)(iVar5 + -0x7f9c))(uVar19);" (assignment_expression "pbVar21 = (byte *)(**(code **)(iVar5 + -0x7f9c))(uVar19)" identifier = (cast_expression "(byte *)(**(code **)(iVar5 + -0x7f9c))(uVar19)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(iVar5 + -0x7f9c))(uVar19)" (parenthesized_expression "(**(code **)(iVar5 + -0x7f9c))" ( (pointer_expression "**(code **)(iVar5 + -0x7f9c)" * (pointer_expression "*(code **)(iVar5 + -0x7f9c)" * (cast_expression "(code **)(iVar5 + -0x7f9c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + -0x7f9c)" ( (binary_expression "iVar5 + -0x7f9c" identifier + number_literal) ))))) )) (argument_list "(uVar19)" ( identifier ))))) ;) (expression_statement "iVar5 = *(int *)(puVar25 + -0x50);" (assignment_expression "iVar5 = *(int *)(puVar25 + -0x50)" identifier = (pointer_expression "*(int *)(puVar25 + -0x50)" * (cast_expression "(int *)(puVar25 + -0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x50)" ( (binary_expression "puVar25 + -0x50" identifier + number_literal) ))))) ;) (expression_statement "*ppbVar22 = pbVar21;" (assignment_expression "*ppbVar22 = pbVar21" (pointer_expression "*ppbVar22" * identifier) = identifier) ;) (expression_statement "ppbVar22 = ppbVar17;" (assignment_expression "ppbVar22 = ppbVar17" identifier = identifier) ;) }) while (parenthesized_expression "(pbVar20 + iVar11 != unaff_s8)" ( (binary_expression "pbVar20 + iVar11 != unaff_s8" (binary_expression "pbVar20 + iVar11" identifier + identifier) != identifier) )) ;) })) }) (else_clause "else {\n        if (ppbVar17 != (byte **)0x1) {\n          param_1 = (byte **)&SUB_00000002;\n          uVar19 = (**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)(pbVar20 + 4));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          *(undefined4 *)(puVar25 + -0x3c) = uVar19;\n          goto LAB_000b38a0;\n        }\n        ppbVar22 = (byte **)&DAT_0000000c;\n        unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (unaff_s1 == (byte **)0x0) goto LAB_000b3a30;\n        iVar11 = *(int *)(iVar5 + -0x7fc8);\n        unaff_s5 = (byte *)0x3;\n        *unaff_s1 = (byte *)0x0;\n        unaff_s1[1] = (byte *)(iVar11 + 0x538c);\n        *(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050;\n        unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c);\n      }" else (compound_statement "{\n        if (ppbVar17 != (byte **)0x1) {\n          param_1 = (byte **)&SUB_00000002;\n          uVar19 = (**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)(pbVar20 + 4));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          *(undefined4 *)(puVar25 + -0x3c) = uVar19;\n          goto LAB_000b38a0;\n        }\n        ppbVar22 = (byte **)&DAT_0000000c;\n        unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (unaff_s1 == (byte **)0x0) goto LAB_000b3a30;\n        iVar11 = *(int *)(iVar5 + -0x7fc8);\n        unaff_s5 = (byte *)0x3;\n        *unaff_s1 = (byte *)0x0;\n        unaff_s1[1] = (byte *)(iVar11 + 0x538c);\n        *(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050;\n        unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c);\n      }" { (if_statement "if (ppbVar17 != (byte **)0x1) {\n          param_1 = (byte **)&SUB_00000002;\n          uVar19 = (**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)(pbVar20 + 4));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          *(undefined4 *)(puVar25 + -0x3c) = uVar19;\n          goto LAB_000b38a0;\n        }" if (parenthesized_expression "(ppbVar17 != (byte **)0x1)" ( (binary_expression "ppbVar17 != (byte **)0x1" identifier != (cast_expression "(byte **)0x1" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n          param_1 = (byte **)&SUB_00000002;\n          uVar19 = (**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)(pbVar20 + 4));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          *(undefined4 *)(puVar25 + -0x3c) = uVar19;\n          goto LAB_000b38a0;\n        }" { (expression_statement "param_1 = (byte **)&SUB_00000002;" (assignment_expression "param_1 = (byte **)&SUB_00000002" identifier = (cast_expression "(byte **)&SUB_00000002" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&SUB_00000002" & identifier))) ;) (expression_statement "uVar19 = (**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)(pbVar20 + 4));" (assignment_expression "uVar19 = (**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)(pbVar20 + 4))" identifier = (call_expression "(**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)(pbVar20 + 4))" (parenthesized_expression "(**(code **)(iVar5 + -0x7f9c))" ( (pointer_expression "**(code **)(iVar5 + -0x7f9c)" * (pointer_expression "*(code **)(iVar5 + -0x7f9c)" * (cast_expression "(code **)(iVar5 + -0x7f9c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + -0x7f9c)" ( (binary_expression "iVar5 + -0x7f9c" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(pbVar20 + 4))" ( (pointer_expression "*(undefined4 *)(pbVar20 + 4)" * (cast_expression "(undefined4 *)(pbVar20 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar20 + 4)" ( (binary_expression "pbVar20 + 4" identifier + number_literal) )))) )))) ;) (expression_statement "iVar5 = *(int *)(puVar25 + -0x50);" (assignment_expression "iVar5 = *(int *)(puVar25 + -0x50)" identifier = (pointer_expression "*(int *)(puVar25 + -0x50)" * (cast_expression "(int *)(puVar25 + -0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x50)" ( (binary_expression "puVar25 + -0x50" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x3c) = uVar19;" (assignment_expression "*(undefined4 *)(puVar25 + -0x3c) = uVar19" (pointer_expression "*(undefined4 *)(puVar25 + -0x3c)" * (cast_expression "(undefined4 *)(puVar25 + -0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x3c)" ( (binary_expression "puVar25 + -0x3c" identifier + number_literal) )))) = identifier) ;) (goto_statement "goto LAB_000b38a0;" goto statement_identifier ;) })) (expression_statement "ppbVar22 = (byte **)&DAT_0000000c;" (assignment_expression "ppbVar22 = (byte **)&DAT_0000000c" identifier = (cast_expression "(byte **)&DAT_0000000c" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&DAT_0000000c" & identifier))) ;) (expression_statement "unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0);" (assignment_expression "unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0)" identifier = (cast_expression "(byte **)(**(code **)(iVar5 + -0x7e50))(0)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(**(code **)(iVar5 + -0x7e50))(0)" (parenthesized_expression "(**(code **)(iVar5 + -0x7e50))" ( (pointer_expression "**(code **)(iVar5 + -0x7e50)" * (pointer_expression "*(code **)(iVar5 + -0x7e50)" * (cast_expression "(code **)(iVar5 + -0x7e50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + -0x7e50)" ( (binary_expression "iVar5 + -0x7e50" identifier + number_literal) ))))) )) (argument_list "(0)" ( number_literal ))))) ;) (expression_statement "iVar5 = *(int *)(puVar25 + -0x50);" (assignment_expression "iVar5 = *(int *)(puVar25 + -0x50)" identifier = (pointer_expression "*(int *)(puVar25 + -0x50)" * (cast_expression "(int *)(puVar25 + -0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x50)" ( (binary_expression "puVar25 + -0x50" identifier + number_literal) ))))) ;) (if_statement "if (unaff_s1 == (byte **)0x0) goto LAB_000b3a30;" 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 "*" *))) ) number_literal)) )) (goto_statement "goto LAB_000b3a30;" goto statement_identifier ;)) (expression_statement "iVar11 = *(int *)(iVar5 + -0x7fc8);" (assignment_expression "iVar11 = *(int *)(iVar5 + -0x7fc8)" identifier = (pointer_expression "*(int *)(iVar5 + -0x7fc8)" * (cast_expression "(int *)(iVar5 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + -0x7fc8)" ( (binary_expression "iVar5 + -0x7fc8" identifier + number_literal) ))))) ;) (expression_statement "unaff_s5 = (byte *)0x3;" (assignment_expression "unaff_s5 = (byte *)0x3" identifier = (cast_expression "(byte *)0x3" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*unaff_s1 = (byte *)0x0;" (assignment_expression "*unaff_s1 = (byte *)0x0" (pointer_expression "*unaff_s1" * identifier) = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "unaff_s1[1] = (byte *)(iVar11 + 0x538c);" (assignment_expression "unaff_s1[1] = (byte *)(iVar11 + 0x538c)" (subscript_expression "unaff_s1[1]" identifier [ number_literal ]) = (cast_expression "(byte *)(iVar11 + 0x538c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x538c)" ( (binary_expression "iVar11 + 0x538c" identifier + number_literal) )))) ;) (expression_statement "*(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050;" (assignment_expression "*(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050" (pointer_expression "*(int *)(puVar25 + -0x3c)" * (cast_expression "(int *)(puVar25 + -0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x3c)" ( (binary_expression "puVar25 + -0x3c" identifier + number_literal) )))) = (binary_expression "*(int *)(iVar5 + -0x7fb4) + -0x7050" (pointer_expression "*(int *)(iVar5 + -0x7fb4)" * (cast_expression "(int *)(iVar5 + -0x7fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + -0x7fb4)" ( (binary_expression "iVar5 + -0x7fb4" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c);" (assignment_expression "unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c)" (subscript_expression "unaff_s1[2]" identifier [ number_literal ]) = (cast_expression "(byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar5 + -0x7fb4) + -0x701c)" ( (binary_expression "*(int *)(iVar5 + -0x7fb4) + -0x701c" (pointer_expression "*(int *)(iVar5 + -0x7fb4)" * (cast_expression "(int *)(iVar5 + -0x7fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + -0x7fb4)" ( (binary_expression "iVar5 + -0x7fb4" identifier + number_literal) )))) + number_literal) )))) ;) }))) (expression_statement "param_1 = (byte **)(puVar25 + -0x38);" (assignment_expression "param_1 = (byte **)(puVar25 + -0x38)" identifier = (cast_expression "(byte **)(puVar25 + -0x38)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x38)" ( (binary_expression "puVar25 + -0x38" identifier + number_literal) )))) ;) (expression_statement "unaff_s3 = (byte *)(**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)pbVar20);" (assignment_expression "unaff_s3 = (byte *)(**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)pbVar20)" identifier = (cast_expression "(byte *)(**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)pbVar20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)pbVar20)" (parenthesized_expression "(**(code **)(iVar5 + -0x7f9c))" ( (pointer_expression "**(code **)(iVar5 + -0x7f9c)" * (pointer_expression "*(code **)(iVar5 + -0x7f9c)" * (cast_expression "(code **)(iVar5 + -0x7f9c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + -0x7f9c)" ( (binary_expression "iVar5 + -0x7f9c" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)pbVar20)" ( (pointer_expression "*(undefined4 *)pbVar20" * (cast_expression "(undefined4 *)pbVar20" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))))) ;) (expression_statement "*(byte ***)(puVar25 + -0x54) = param_1;" (assignment_expression "*(byte ***)(puVar25 + -0x54) = param_1" (pointer_expression "*(byte ***)(puVar25 + -0x54)" * (cast_expression "(byte ***)(puVar25 + -0x54)" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar25 + -0x54)" ( (binary_expression "puVar25 + -0x54" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 **)(puVar25 + -0x58) = puVar25 + -0x30;" (assignment_expression "*(undefined1 **)(puVar25 + -0x58) = puVar25 + -0x30" (pointer_expression "*(undefined1 **)(puVar25 + -0x58)" * (cast_expression "(undefined1 **)(puVar25 + -0x58)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x58)" ( (binary_expression "puVar25 + -0x58" identifier + number_literal) )))) = (binary_expression "puVar25 + -0x30" identifier + number_literal)) ;) (expression_statement "pbVar21 = unaff_s5;" (assignment_expression "pbVar21 = unaff_s5" identifier = identifier) ;) (expression_statement "ppbVar22 = (byte **)FUN_000961e8(*(undefined4 *)(puVar25 + -0x44),\n                                       *(undefined4 *)(puVar25 + -0x40),unaff_s5,unaff_s1);" (assignment_expression "ppbVar22 = (byte **)FUN_000961e8(*(undefined4 *)(puVar25 + -0x44),\n                                       *(undefined4 *)(puVar25 + -0x40),unaff_s5,unaff_s1)" identifier = (cast_expression "(byte **)FUN_000961e8(*(undefined4 *)(puVar25 + -0x44),\n                                       *(undefined4 *)(puVar25 + -0x40),unaff_s5,unaff_s1)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "FUN_000961e8(*(undefined4 *)(puVar25 + -0x44),\n                                       *(undefined4 *)(puVar25 + -0x40),unaff_s5,unaff_s1)" identifier (argument_list "(*(undefined4 *)(puVar25 + -0x44),\n                                       *(undefined4 *)(puVar25 + -0x40),unaff_s5,unaff_s1)" ( (pointer_expression "*(undefined4 *)(puVar25 + -0x44)" * (cast_expression "(undefined4 *)(puVar25 + -0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x44)" ( (binary_expression "puVar25 + -0x44" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(puVar25 + -0x40)" * (cast_expression "(undefined4 *)(puVar25 + -0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x40)" ( (binary_expression "puVar25 + -0x40" identifier + number_literal) )))) , identifier , identifier ))))) ;) (expression_statement "iVar5 = *(int *)(puVar25 + -0x50);" (assignment_expression "iVar5 = *(int *)(puVar25 + -0x50)" identifier = (pointer_expression "*(int *)(puVar25 + -0x50)" * (cast_expression "(int *)(puVar25 + -0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x50)" ( (binary_expression "puVar25 + -0x50" identifier + number_literal) ))))) ;) (if_statement "if (ppbVar22 == (byte **)0x0) {\n        uVar19 = *(undefined4 *)(*(int *)(puVar25 + -0x30) + 0xc);\n        *(byte ***)(puVar25 + -0x58) = param_1;\n        pbVar20 = unaff_s3;\n        ppbVar22 = (byte **)FUN_000b2950(*(int *)(puVar25 + -0x30),uVar19,unaff_s3,puVar25 + -0x34);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        pbVar21 = pbVar20;\n        if (ppbVar22 != (byte **)0x0) goto LAB_000b3964;\n        pbVar21 = *(byte **)(*(int *)(puVar25 + -0x34) + 8);\n        if (*(int *)(pbVar21 + 0xc) == 0) {\n          param_1 = (byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fc8) + 0x53f4);\n          iVar5 = *(int *)(puVar25 + -0x50);\nLAB_000b3aa4:\n          ppbVar10 = *(byte ***)(puVar25 + -0x38);\n          pbVar21 = pbVar20;\n          if (param_1 != (byte **)0x0) goto LAB_000b3aac;\nLAB_000b3b54:\n          ppbVar22 = (byte **)&DAT_00000007;\n          if (ppbVar10 == (byte **)0x0) {\n            pcVar13 = *(code **)(iVar5 + -0x7e34);\n            goto LAB_000b3b60;\n          }\n          goto LAB_000b3970;\n        }\n        if (pbVar9 == (byte *)0x0) {\n          param_1 = (byte **)FUN_00097660();\n          iVar5 = *(int *)(puVar25 + -0x50);\n          goto LAB_000b3aa4;\n        }\n        param_1 = (byte **)FUN_00097234(*(undefined4 *)(puVar25 + -0x30),\n                                        *(undefined4 *)(puVar25 + -0x3c));\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (param_1 == (byte **)0x0) {\n          ppbVar10 = *(byte ***)(puVar25 + -0x38);\n          goto LAB_000b3b54;\n        }\nLAB_000b3aac:\n        pbVar21 = (byte *)0xffffffff;\n        ppbVar22 = param_1;\n        (**(code **)(iVar5 + -0x7f34))(pbVar24,param_1,0xffffffff,0xffffffff);\n        (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(param_1);\n        iVar5 = *(int *)(puVar25 + -0x50);\n      }\n      else {\nLAB_000b3964:\n        ppbVar10 = *(byte ***)(puVar25 + -0x38);\n        pcVar13 = *(code **)(iVar5 + -0x7e34);\n        if (ppbVar10 == (byte **)0x0) {\nLAB_000b3b60:\n          (*pcVar13)(pbVar24);\n          iVar5 = *(int *)(puVar25 + -0x50);\n        }\n        else {\nLAB_000b3970:\n          pbVar21 = (byte *)0xffffffff;\n          (**(code **)(iVar5 + -0x7e40))(pbVar24);\n          (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(*(undefined4 *)(puVar25 + -0x38));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          ppbVar22 = ppbVar10;\n        }\n      }" if (parenthesized_expression "(ppbVar22 == (byte **)0x0)" ( (binary_expression "ppbVar22 == (byte **)0x0" identifier == (cast_expression "(byte **)0x0" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n        uVar19 = *(undefined4 *)(*(int *)(puVar25 + -0x30) + 0xc);\n        *(byte ***)(puVar25 + -0x58) = param_1;\n        pbVar20 = unaff_s3;\n        ppbVar22 = (byte **)FUN_000b2950(*(int *)(puVar25 + -0x30),uVar19,unaff_s3,puVar25 + -0x34);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        pbVar21 = pbVar20;\n        if (ppbVar22 != (byte **)0x0) goto LAB_000b3964;\n        pbVar21 = *(byte **)(*(int *)(puVar25 + -0x34) + 8);\n        if (*(int *)(pbVar21 + 0xc) == 0) {\n          param_1 = (byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fc8) + 0x53f4);\n          iVar5 = *(int *)(puVar25 + -0x50);\nLAB_000b3aa4:\n          ppbVar10 = *(byte ***)(puVar25 + -0x38);\n          pbVar21 = pbVar20;\n          if (param_1 != (byte **)0x0) goto LAB_000b3aac;\nLAB_000b3b54:\n          ppbVar22 = (byte **)&DAT_00000007;\n          if (ppbVar10 == (byte **)0x0) {\n            pcVar13 = *(code **)(iVar5 + -0x7e34);\n            goto LAB_000b3b60;\n          }\n          goto LAB_000b3970;\n        }\n        if (pbVar9 == (byte *)0x0) {\n          param_1 = (byte **)FUN_00097660();\n          iVar5 = *(int *)(puVar25 + -0x50);\n          goto LAB_000b3aa4;\n        }\n        param_1 = (byte **)FUN_00097234(*(undefined4 *)(puVar25 + -0x30),\n                                        *(undefined4 *)(puVar25 + -0x3c));\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (param_1 == (byte **)0x0) {\n          ppbVar10 = *(byte ***)(puVar25 + -0x38);\n          goto LAB_000b3b54;\n        }\nLAB_000b3aac:\n        pbVar21 = (byte *)0xffffffff;\n        ppbVar22 = param_1;\n        (**(code **)(iVar5 + -0x7f34))(pbVar24,param_1,0xffffffff,0xffffffff);\n        (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(param_1);\n        iVar5 = *(int *)(puVar25 + -0x50);\n      }" { (expression_statement "uVar19 = *(undefined4 *)(*(int *)(puVar25 + -0x30) + 0xc);" (assignment_expression "uVar19 = *(undefined4 *)(*(int *)(puVar25 + -0x30) + 0xc)" identifier = (pointer_expression "*(undefined4 *)(*(int *)(puVar25 + -0x30) + 0xc)" * (cast_expression "(undefined4 *)(*(int *)(puVar25 + -0x30) + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar25 + -0x30) + 0xc)" ( (binary_expression "*(int *)(puVar25 + -0x30) + 0xc" (pointer_expression "*(int *)(puVar25 + -0x30)" * (cast_expression "(int *)(puVar25 + -0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x30)" ( (binary_expression "puVar25 + -0x30" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*(byte ***)(puVar25 + -0x58) = param_1;" (assignment_expression "*(byte ***)(puVar25 + -0x58) = param_1" (pointer_expression "*(byte ***)(puVar25 + -0x58)" * (cast_expression "(byte ***)(puVar25 + -0x58)" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar25 + -0x58)" ( (binary_expression "puVar25 + -0x58" identifier + number_literal) )))) = identifier) ;) (expression_statement "pbVar20 = unaff_s3;" (assignment_expression "pbVar20 = unaff_s3" identifier = identifier) ;) (expression_statement "ppbVar22 = (byte **)FUN_000b2950(*(int *)(puVar25 + -0x30),uVar19,unaff_s3,puVar25 + -0x34);" (assignment_expression "ppbVar22 = (byte **)FUN_000b2950(*(int *)(puVar25 + -0x30),uVar19,unaff_s3,puVar25 + -0x34)" identifier = (cast_expression "(byte **)FUN_000b2950(*(int *)(puVar25 + -0x30),uVar19,unaff_s3,puVar25 + -0x34)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "FUN_000b2950(*(int *)(puVar25 + -0x30),uVar19,unaff_s3,puVar25 + -0x34)" identifier (argument_list "(*(int *)(puVar25 + -0x30),uVar19,unaff_s3,puVar25 + -0x34)" ( (pointer_expression "*(int *)(puVar25 + -0x30)" * (cast_expression "(int *)(puVar25 + -0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x30)" ( (binary_expression "puVar25 + -0x30" identifier + number_literal) )))) , identifier , identifier , (binary_expression "puVar25 + -0x34" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = *(int *)(puVar25 + -0x50);" (assignment_expression "iVar5 = *(int *)(puVar25 + -0x50)" identifier = (pointer_expression "*(int *)(puVar25 + -0x50)" * (cast_expression "(int *)(puVar25 + -0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x50)" ( (binary_expression "puVar25 + -0x50" identifier + number_literal) ))))) ;) (expression_statement "pbVar21 = pbVar20;" (assignment_expression "pbVar21 = pbVar20" identifier = identifier) ;) (if_statement "if (ppbVar22 != (byte **)0x0) goto LAB_000b3964;" if (parenthesized_expression "(ppbVar22 != (byte **)0x0)" ( (binary_expression "ppbVar22 != (byte **)0x0" identifier != (cast_expression "(byte **)0x0" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (goto_statement "goto LAB_000b3964;" goto statement_identifier ;)) (expression_statement "pbVar21 = *(byte **)(*(int *)(puVar25 + -0x34) + 8);" (assignment_expression "pbVar21 = *(byte **)(*(int *)(puVar25 + -0x34) + 8)" identifier = (pointer_expression "*(byte **)(*(int *)(puVar25 + -0x34) + 8)" * (cast_expression "(byte **)(*(int *)(puVar25 + -0x34) + 8)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(puVar25 + -0x34) + 8)" ( (binary_expression "*(int *)(puVar25 + -0x34) + 8" (pointer_expression "*(int *)(puVar25 + -0x34)" * (cast_expression "(int *)(puVar25 + -0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x34)" ( (binary_expression "puVar25 + -0x34" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (*(int *)(pbVar21 + 0xc) == 0) {\n          param_1 = (byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fc8) + 0x53f4);\n          iVar5 = *(int *)(puVar25 + -0x50);\nLAB_000b3aa4:\n          ppbVar10 = *(byte ***)(puVar25 + -0x38);\n          pbVar21 = pbVar20;\n          if (param_1 != (byte **)0x0) goto LAB_000b3aac;\nLAB_000b3b54:\n          ppbVar22 = (byte **)&DAT_00000007;\n          if (ppbVar10 == (byte **)0x0) {\n            pcVar13 = *(code **)(iVar5 + -0x7e34);\n            goto LAB_000b3b60;\n          }\n          goto LAB_000b3970;\n        }" if (parenthesized_expression "(*(int *)(pbVar21 + 0xc) == 0)" ( (binary_expression "*(int *)(pbVar21 + 0xc) == 0" (pointer_expression "*(int *)(pbVar21 + 0xc)" * (cast_expression "(int *)(pbVar21 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar21 + 0xc)" ( (binary_expression "pbVar21 + 0xc" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n          param_1 = (byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fc8) + 0x53f4);\n          iVar5 = *(int *)(puVar25 + -0x50);\nLAB_000b3aa4:\n          ppbVar10 = *(byte ***)(puVar25 + -0x38);\n          pbVar21 = pbVar20;\n          if (param_1 != (byte **)0x0) goto LAB_000b3aac;\nLAB_000b3b54:\n          ppbVar22 = (byte **)&DAT_00000007;\n          if (ppbVar10 == (byte **)0x0) {\n            pcVar13 = *(code **)(iVar5 + -0x7e34);\n            goto LAB_000b3b60;\n          }\n          goto LAB_000b3970;\n        }" { (expression_statement "param_1 = (byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fc8) + 0x53f4);" (assignment_expression "param_1 = (byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fc8) + 0x53f4)" identifier = (cast_expression "(byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fc8) + 0x53f4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fc8) + 0x53f4)" (parenthesized_expression "(**(code **)(iVar5 + -0x7f88))" ( (pointer_expression "**(code **)(iVar5 + -0x7f88)" * (pointer_expression "*(code **)(iVar5 + -0x7f88)" * (cast_expression "(code **)(iVar5 + -0x7f88)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + -0x7f88)" ( (binary_expression "iVar5 + -0x7f88" identifier + number_literal) ))))) )) (argument_list "(*(int *)(iVar5 + -0x7fc8) + 0x53f4)" ( (binary_expression "*(int *)(iVar5 + -0x7fc8) + 0x53f4" (pointer_expression "*(int *)(iVar5 + -0x7fc8)" * (cast_expression "(int *)(iVar5 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + -0x7fc8)" ( (binary_expression "iVar5 + -0x7fc8" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "iVar5 = *(int *)(puVar25 + -0x50);" (assignment_expression "iVar5 = *(int *)(puVar25 + -0x50)" identifier = (pointer_expression "*(int *)(puVar25 + -0x50)" * (cast_expression "(int *)(puVar25 + -0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x50)" ( (binary_expression "puVar25 + -0x50" identifier + number_literal) ))))) ;) (labeled_statement "LAB_000b3aa4:\n          ppbVar10 = *(byte ***)(puVar25 + -0x38);" statement_identifier : (expression_statement "ppbVar10 = *(byte ***)(puVar25 + -0x38);" (assignment_expression "ppbVar10 = *(byte ***)(puVar25 + -0x38)" identifier = (pointer_expression "*(byte ***)(puVar25 + -0x38)" * (cast_expression "(byte ***)(puVar25 + -0x38)" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar25 + -0x38)" ( (binary_expression "puVar25 + -0x38" identifier + number_literal) ))))) ;)) (expression_statement "pbVar21 = pbVar20;" (assignment_expression "pbVar21 = pbVar20" identifier = identifier) ;) (if_statement "if (param_1 != (byte **)0x0) goto LAB_000b3aac;" if (parenthesized_expression "(param_1 != (byte **)0x0)" ( (binary_expression "param_1 != (byte **)0x0" identifier != (cast_expression "(byte **)0x0" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (goto_statement "goto LAB_000b3aac;" goto statement_identifier ;)) (labeled_statement "LAB_000b3b54:\n          ppbVar22 = (byte **)&DAT_00000007;" statement_identifier : (expression_statement "ppbVar22 = (byte **)&DAT_00000007;" (assignment_expression "ppbVar22 = (byte **)&DAT_00000007" identifier = (cast_expression "(byte **)&DAT_00000007" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&DAT_00000007" & identifier))) ;)) (if_statement "if (ppbVar10 == (byte **)0x0) {\n            pcVar13 = *(code **)(iVar5 + -0x7e34);\n            goto LAB_000b3b60;\n          }" if (parenthesized_expression "(ppbVar10 == (byte **)0x0)" ( (binary_expression "ppbVar10 == (byte **)0x0" identifier == (cast_expression "(byte **)0x0" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n            pcVar13 = *(code **)(iVar5 + -0x7e34);\n            goto LAB_000b3b60;\n          }" { (expression_statement "pcVar13 = *(code **)(iVar5 + -0x7e34);" (assignment_expression "pcVar13 = *(code **)(iVar5 + -0x7e34)" identifier = (pointer_expression "*(code **)(iVar5 + -0x7e34)" * (cast_expression "(code **)(iVar5 + -0x7e34)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + -0x7e34)" ( (binary_expression "iVar5 + -0x7e34" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_000b3b60;" goto statement_identifier ;) })) (goto_statement "goto LAB_000b3970;" goto statement_identifier ;) })) (if_statement "if (pbVar9 == (byte *)0x0) {\n          param_1 = (byte **)FUN_00097660();\n          iVar5 = *(int *)(puVar25 + -0x50);\n          goto LAB_000b3aa4;\n        }" if (parenthesized_expression "(pbVar9 == (byte *)0x0)" ( (binary_expression "pbVar9 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          param_1 = (byte **)FUN_00097660();\n          iVar5 = *(int *)(puVar25 + -0x50);\n          goto LAB_000b3aa4;\n        }" { (expression_statement "param_1 = (byte **)FUN_00097660();" (assignment_expression "param_1 = (byte **)FUN_00097660()" identifier = (cast_expression "(byte **)FUN_00097660()" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "FUN_00097660()" identifier (argument_list "()" ( ))))) ;) (expression_statement "iVar5 = *(int *)(puVar25 + -0x50);" (assignment_expression "iVar5 = *(int *)(puVar25 + -0x50)" identifier = (pointer_expression "*(int *)(puVar25 + -0x50)" * (cast_expression "(int *)(puVar25 + -0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x50)" ( (binary_expression "puVar25 + -0x50" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_000b3aa4;" goto statement_identifier ;) })) (expression_statement "param_1 = (byte **)FUN_00097234(*(undefined4 *)(puVar25 + -0x30),\n                                        *(undefined4 *)(puVar25 + -0x3c));" (assignment_expression "param_1 = (byte **)FUN_00097234(*(undefined4 *)(puVar25 + -0x30),\n                                        *(undefined4 *)(puVar25 + -0x3c))" identifier = (cast_expression "(byte **)FUN_00097234(*(undefined4 *)(puVar25 + -0x30),\n                                        *(undefined4 *)(puVar25 + -0x3c))" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "FUN_00097234(*(undefined4 *)(puVar25 + -0x30),\n                                        *(undefined4 *)(puVar25 + -0x3c))" identifier (argument_list "(*(undefined4 *)(puVar25 + -0x30),\n                                        *(undefined4 *)(puVar25 + -0x3c))" ( (pointer_expression "*(undefined4 *)(puVar25 + -0x30)" * (cast_expression "(undefined4 *)(puVar25 + -0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x30)" ( (binary_expression "puVar25 + -0x30" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(puVar25 + -0x3c)" * (cast_expression "(undefined4 *)(puVar25 + -0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x3c)" ( (binary_expression "puVar25 + -0x3c" identifier + number_literal) )))) ))))) ;) (expression_statement "iVar5 = *(int *)(puVar25 + -0x50);" (assignment_expression "iVar5 = *(int *)(puVar25 + -0x50)" identifier = (pointer_expression "*(int *)(puVar25 + -0x50)" * (cast_expression "(int *)(puVar25 + -0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x50)" ( (binary_expression "puVar25 + -0x50" identifier + number_literal) ))))) ;) (if_statement "if (param_1 == (byte **)0x0) {\n          ppbVar10 = *(byte ***)(puVar25 + -0x38);\n          goto LAB_000b3b54;\n        }" if (parenthesized_expression "(param_1 == (byte **)0x0)" ( (binary_expression "param_1 == (byte **)0x0" identifier == (cast_expression "(byte **)0x0" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n          ppbVar10 = *(byte ***)(puVar25 + -0x38);\n          goto LAB_000b3b54;\n        }" { (expression_statement "ppbVar10 = *(byte ***)(puVar25 + -0x38);" (assignment_expression "ppbVar10 = *(byte ***)(puVar25 + -0x38)" identifier = (pointer_expression "*(byte ***)(puVar25 + -0x38)" * (cast_expression "(byte ***)(puVar25 + -0x38)" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar25 + -0x38)" ( (binary_expression "puVar25 + -0x38" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_000b3b54;" goto statement_identifier ;) })) (labeled_statement "LAB_000b3aac:\n        pbVar21 = (byte *)0xffffffff;" statement_identifier : (expression_statement "pbVar21 = (byte *)0xffffffff;" (assignment_expression "pbVar21 = (byte *)0xffffffff" identifier = (cast_expression "(byte *)0xffffffff" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "ppbVar22 = param_1;" (assignment_expression "ppbVar22 = param_1" identifier = identifier) ;) (expression_statement "(**(code **)(iVar5 + -0x7f34))(pbVar24,param_1,0xffffffff,0xffffffff);" (call_expression "(**(code **)(iVar5 + -0x7f34))(pbVar24,param_1,0xffffffff,0xffffffff)" (parenthesized_expression "(**(code **)(iVar5 + -0x7f34))" ( (pointer_expression "**(code **)(iVar5 + -0x7f34)" * (pointer_expression "*(code **)(iVar5 + -0x7f34)" * (cast_expression "(code **)(iVar5 + -0x7f34)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + -0x7f34)" ( (binary_expression "iVar5 + -0x7f34" identifier + number_literal) ))))) )) (argument_list "(pbVar24,param_1,0xffffffff,0xffffffff)" ( identifier , identifier , number_literal , number_literal ))) ;) (expression_statement "(**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(param_1);" (call_expression "(**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(param_1)" (parenthesized_expression "(**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))" ( (pointer_expression "**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90)" * (pointer_expression "*(code **)(*(int *)(puVar25 + -0x50) + -0x7f90)" * (cast_expression "(code **)(*(int *)(puVar25 + -0x50) + -0x7f90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(puVar25 + -0x50) + -0x7f90)" ( (binary_expression "*(int *)(puVar25 + -0x50) + -0x7f90" (pointer_expression "*(int *)(puVar25 + -0x50)" * (cast_expression "(int *)(puVar25 + -0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x50)" ( (binary_expression "puVar25 + -0x50" identifier + number_literal) )))) + number_literal) ))))) )) (argument_list "(param_1)" ( identifier ))) ;) (expression_statement "iVar5 = *(int *)(puVar25 + -0x50);" (assignment_expression "iVar5 = *(int *)(puVar25 + -0x50)" identifier = (pointer_expression "*(int *)(puVar25 + -0x50)" * (cast_expression "(int *)(puVar25 + -0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x50)" ( (binary_expression "puVar25 + -0x50" identifier + number_literal) ))))) ;) }) (else_clause "else {\nLAB_000b3964:\n        ppbVar10 = *(byte ***)(puVar25 + -0x38);\n        pcVar13 = *(code **)(iVar5 + -0x7e34);\n        if (ppbVar10 == (byte **)0x0) {\nLAB_000b3b60:\n          (*pcVar13)(pbVar24);\n          iVar5 = *(int *)(puVar25 + -0x50);\n        }\n        else {\nLAB_000b3970:\n          pbVar21 = (byte *)0xffffffff;\n          (**(code **)(iVar5 + -0x7e40))(pbVar24);\n          (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(*(undefined4 *)(puVar25 + -0x38));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          ppbVar22 = ppbVar10;\n        }\n      }" else (compound_statement "{\nLAB_000b3964:\n        ppbVar10 = *(byte ***)(puVar25 + -0x38);\n        pcVar13 = *(code **)(iVar5 + -0x7e34);\n        if (ppbVar10 == (byte **)0x0) {\nLAB_000b3b60:\n          (*pcVar13)(pbVar24);\n          iVar5 = *(int *)(puVar25 + -0x50);\n        }\n        else {\nLAB_000b3970:\n          pbVar21 = (byte *)0xffffffff;\n          (**(code **)(iVar5 + -0x7e40))(pbVar24);\n          (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(*(undefined4 *)(puVar25 + -0x38));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          ppbVar22 = ppbVar10;\n        }\n      }" { (labeled_statement "LAB_000b3964:\n        ppbVar10 = *(byte ***)(puVar25 + -0x38);" statement_identifier : (expression_statement "ppbVar10 = *(byte ***)(puVar25 + -0x38);" (assignment_expression "ppbVar10 = *(byte ***)(puVar25 + -0x38)" identifier = (pointer_expression "*(byte ***)(puVar25 + -0x38)" * (cast_expression "(byte ***)(puVar25 + -0x38)" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar25 + -0x38)" ( (binary_expression "puVar25 + -0x38" identifier + number_literal) ))))) ;)) (expression_statement "pcVar13 = *(code **)(iVar5 + -0x7e34);" (assignment_expression "pcVar13 = *(code **)(iVar5 + -0x7e34)" identifier = (pointer_expression "*(code **)(iVar5 + -0x7e34)" * (cast_expression "(code **)(iVar5 + -0x7e34)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + -0x7e34)" ( (binary_expression "iVar5 + -0x7e34" identifier + number_literal) ))))) ;) (if_statement "if (ppbVar10 == (byte **)0x0) {\nLAB_000b3b60:\n          (*pcVar13)(pbVar24);\n          iVar5 = *(int *)(puVar25 + -0x50);\n        }\n        else {\nLAB_000b3970:\n          pbVar21 = (byte *)0xffffffff;\n          (**(code **)(iVar5 + -0x7e40))(pbVar24);\n          (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(*(undefined4 *)(puVar25 + -0x38));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          ppbVar22 = ppbVar10;\n        }" if (parenthesized_expression "(ppbVar10 == (byte **)0x0)" ( (binary_expression "ppbVar10 == (byte **)0x0" identifier == (cast_expression "(byte **)0x0" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\nLAB_000b3b60:\n          (*pcVar13)(pbVar24);\n          iVar5 = *(int *)(puVar25 + -0x50);\n        }" { (labeled_statement "LAB_000b3b60:\n          (*pcVar13)(pbVar24);" statement_identifier : (expression_statement "(*pcVar13)(pbVar24);" (call_expression "(*pcVar13)(pbVar24)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(pbVar24)" ( identifier ))) ;)) (expression_statement "iVar5 = *(int *)(puVar25 + -0x50);" (assignment_expression "iVar5 = *(int *)(puVar25 + -0x50)" identifier = (pointer_expression "*(int *)(puVar25 + -0x50)" * (cast_expression "(int *)(puVar25 + -0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x50)" ( (binary_expression "puVar25 + -0x50" identifier + number_literal) ))))) ;) }) (else_clause "else {\nLAB_000b3970:\n          pbVar21 = (byte *)0xffffffff;\n          (**(code **)(iVar5 + -0x7e40))(pbVar24);\n          (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(*(undefined4 *)(puVar25 + -0x38));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          ppbVar22 = ppbVar10;\n        }" else (compound_statement "{\nLAB_000b3970:\n          pbVar21 = (byte *)0xffffffff;\n          (**(code **)(iVar5 + -0x7e40))(pbVar24);\n          (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(*(undefined4 *)(puVar25 + -0x38));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          ppbVar22 = ppbVar10;\n        }" { (labeled_statement "LAB_000b3970:\n          pbVar21 = (byte *)0xffffffff;" statement_identifier : (expression_statement "pbVar21 = (byte *)0xffffffff;" (assignment_expression "pbVar21 = (byte *)0xffffffff" identifier = (cast_expression "(byte *)0xffffffff" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "(**(code **)(iVar5 + -0x7e40))(pbVar24);" (call_expression "(**(code **)(iVar5 + -0x7e40))(pbVar24)" (parenthesized_expression "(**(code **)(iVar5 + -0x7e40))" ( (pointer_expression "**(code **)(iVar5 + -0x7e40)" * (pointer_expression "*(code **)(iVar5 + -0x7e40)" * (cast_expression "(code **)(iVar5 + -0x7e40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + -0x7e40)" ( (binary_expression "iVar5 + -0x7e40" identifier + number_literal) ))))) )) (argument_list "(pbVar24)" ( identifier ))) ;) (expression_statement "(**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(*(undefined4 *)(puVar25 + -0x38));" (call_expression "(**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(*(undefined4 *)(puVar25 + -0x38))" (parenthesized_expression "(**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))" ( (pointer_expression "**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90)" * (pointer_expression "*(code **)(*(int *)(puVar25 + -0x50) + -0x7f90)" * (cast_expression "(code **)(*(int *)(puVar25 + -0x50) + -0x7f90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(puVar25 + -0x50) + -0x7f90)" ( (binary_expression "*(int *)(puVar25 + -0x50) + -0x7f90" (pointer_expression "*(int *)(puVar25 + -0x50)" * (cast_expression "(int *)(puVar25 + -0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x50)" ( (binary_expression "puVar25 + -0x50" identifier + number_literal) )))) + number_literal) ))))) )) (argument_list "(*(undefined4 *)(puVar25 + -0x38))" ( (pointer_expression "*(undefined4 *)(puVar25 + -0x38)" * (cast_expression "(undefined4 *)(puVar25 + -0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x38)" ( (binary_expression "puVar25 + -0x38" identifier + number_literal) )))) ))) ;) (expression_statement "iVar5 = *(int *)(puVar25 + -0x50);" (assignment_expression "iVar5 = *(int *)(puVar25 + -0x50)" identifier = (pointer_expression "*(int *)(puVar25 + -0x50)" * (cast_expression "(int *)(puVar25 + -0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x50)" ( (binary_expression "puVar25 + -0x50" identifier + number_literal) ))))) ;) (expression_statement "ppbVar22 = ppbVar10;" (assignment_expression "ppbVar22 = ppbVar10" identifier = identifier) ;) }))) }))) (expression_statement "(**(code **)(iVar5 + -0x7f90))(unaff_s1);" (call_expression "(**(code **)(iVar5 + -0x7f90))(unaff_s1)" (parenthesized_expression "(**(code **)(iVar5 + -0x7f90))" ( (pointer_expression "**(code **)(iVar5 + -0x7f90)" * (pointer_expression "*(code **)(iVar5 + -0x7f90)" * (cast_expression "(code **)(iVar5 + -0x7f90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + -0x7f90)" ( (binary_expression "iVar5 + -0x7f90" identifier + number_literal) ))))) )) (argument_list "(unaff_s1)" ( identifier ))) ;) (expression_statement "(*(code *)(*(int *)(*(int *)(puVar25 + -0x50) + -0x7ef0) + -0xe08))\n                (*(undefined4 *)(puVar25 + -0x30));" (call_expression "(*(code *)(*(int *)(*(int *)(puVar25 + -0x50) + -0x7ef0) + -0xe08))\n                (*(undefined4 *)(puVar25 + -0x30))" (parenthesized_expression "(*(code *)(*(int *)(*(int *)(puVar25 + -0x50) + -0x7ef0) + -0xe08))" ( (pointer_expression "*(code *)(*(int *)(*(int *)(puVar25 + -0x50) + -0x7ef0) + -0xe08)" * (cast_expression "(code *)(*(int *)(*(int *)(puVar25 + -0x50) + -0x7ef0) + -0xe08)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(puVar25 + -0x50) + -0x7ef0) + -0xe08)" ( (binary_expression "*(int *)(*(int *)(puVar25 + -0x50) + -0x7ef0) + -0xe08" (pointer_expression "*(int *)(*(int *)(puVar25 + -0x50) + -0x7ef0)" * (cast_expression "(int *)(*(int *)(puVar25 + -0x50) + -0x7ef0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar25 + -0x50) + -0x7ef0)" ( (binary_expression "*(int *)(puVar25 + -0x50) + -0x7ef0" (pointer_expression "*(int *)(puVar25 + -0x50)" * (cast_expression "(int *)(puVar25 + -0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x50)" ( (binary_expression "puVar25 + -0x50" identifier + number_literal) )))) + number_literal) )))) + number_literal) )))) )) (argument_list "(*(undefined4 *)(puVar25 + -0x30))" ( (pointer_expression "*(undefined4 *)(puVar25 + -0x30)" * (cast_expression "(undefined4 *)(puVar25 + -0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x30)" ( (binary_expression "puVar25 + -0x30" identifier + number_literal) )))) ))) ;) (expression_statement "pbVar4 = *(byte **)(puVar25 + -0x34);" (assignment_expression "pbVar4 = *(byte **)(puVar25 + -0x34)" identifier = (pointer_expression "*(byte **)(puVar25 + -0x34)" * (cast_expression "(byte **)(puVar25 + -0x34)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x34)" ( (binary_expression "puVar25 + -0x34" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = *(int *)(puVar25 + -0x50);" (assignment_expression "iVar5 = *(int *)(puVar25 + -0x50)" identifier = (pointer_expression "*(int *)(puVar25 + -0x50)" * (cast_expression "(int *)(puVar25 + -0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x50)" ( (binary_expression "puVar25 + -0x50" identifier + number_literal) ))))) ;) (expression_statement "unaff_s7 = ppbVar17;" (assignment_expression "unaff_s7 = ppbVar17" identifier = identifier) ;) (if_statement "if (pbVar4 != (byte *)0x0) {\n        FUN_000b1fe4();\n        iVar5 = *(int *)(puVar25 + -0x50);\n      }" if (parenthesized_expression "(pbVar4 != (byte *)0x0)" ( (binary_expression "pbVar4 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        FUN_000b1fe4();\n        iVar5 = *(int *)(puVar25 + -0x50);\n      }" { (expression_statement "FUN_000b1fe4();" (call_expression "FUN_000b1fe4()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar5 = *(int *)(puVar25 + -0x50);" (assignment_expression "iVar5 = *(int *)(puVar25 + -0x50)" identifier = (pointer_expression "*(int *)(puVar25 + -0x50)" * (cast_expression "(int *)(puVar25 + -0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x50)" ( (binary_expression "puVar25 + -0x50" identifier + number_literal) ))))) ;) })) }))) (labeled_statement "LAB_000b39d4:\n    if (*(int *)(puVar25 + -0x2c) == *(int *)unaff_s2) {\n      return *(int *)unaff_s2;\n    }" statement_identifier : (if_statement "if (*(int *)(puVar25 + -0x2c) == *(int *)unaff_s2) {\n      return *(int *)unaff_s2;\n    }" if (parenthesized_expression "(*(int *)(puVar25 + -0x2c) == *(int *)unaff_s2)" ( (binary_expression "*(int *)(puVar25 + -0x2c) == *(int *)unaff_s2" (pointer_expression "*(int *)(puVar25 + -0x2c)" * (cast_expression "(int *)(puVar25 + -0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x2c)" ( (binary_expression "puVar25 + -0x2c" identifier + number_literal) )))) == (pointer_expression "*(int *)unaff_s2" * (cast_expression "(int *)unaff_s2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n      return *(int *)unaff_s2;\n    }" { (return_statement "return *(int *)unaff_s2;" return (pointer_expression "*(int *)unaff_s2" * (cast_expression "(int *)unaff_s2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) }))) (expression_statement "pcVar13 = *(code **)(iVar5 + -0x7ba0);" (assignment_expression "pcVar13 = *(code **)(iVar5 + -0x7ba0)" identifier = (pointer_expression "*(code **)(iVar5 + -0x7ba0)" * (cast_expression "(code **)(iVar5 + -0x7ba0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + -0x7ba0)" ( (binary_expression "iVar5 + -0x7ba0" identifier + number_literal) ))))) ;) (expression_statement "uVar19 = 0xb3bf0;" (assignment_expression "uVar19 = 0xb3bf0" identifier = number_literal) ;) (expression_statement "(*pcVar13)();" (call_expression "(*pcVar13)()" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "puVar7 = (undefined *)(*(int *)(pcVar13 + 0xa7b08) + 0x37f8);" (assignment_expression "puVar7 = (undefined *)(*(int *)(pcVar13 + 0xa7b08) + 0x37f8)" identifier = (cast_expression "(undefined *)(*(int *)(pcVar13 + 0xa7b08) + 0x37f8)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar13 + 0xa7b08) + 0x37f8)" ( (binary_expression "*(int *)(pcVar13 + 0xa7b08) + 0x37f8" (pointer_expression "*(int *)(pcVar13 + 0xa7b08)" * (cast_expression "(int *)(pcVar13 + 0xa7b08)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0xa7b08)" ( (binary_expression "pcVar13 + 0xa7b08" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "ppbVar17 = ppbVar22;" (assignment_expression "ppbVar17 = ppbVar22" identifier = identifier) ;) (expression_statement "pbVar20 = pbVar21;" (assignment_expression "pbVar20 = pbVar21" identifier = identifier) ;) (expression_statement "pbVar21 = (byte *)0x1;" (assignment_expression "pbVar21 = (byte *)0x1" identifier = (cast_expression "(byte *)0x1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "unaff_s4 = pbVar24;" (assignment_expression "unaff_s4 = pbVar24" identifier = identifier) ;) (expression_statement "unaff_s6 = pbVar9;" (assignment_expression "unaff_s6 = pbVar9" identifier = identifier) ;) (expression_statement "puVar25 = puVar25 + -0x68;" (assignment_expression "puVar25 = puVar25 + -0x68" identifier = (binary_expression "puVar25 + -0x68" identifier + number_literal)) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(translation_unit "int sqlite3Fts5ExprNew(Fts5Config *pConfig,int iCol,char *zExpr,Fts5Expr **ppNew,char **pzErr)\n\n{\n  byte bVar1;\n  byte bVar2;\n  char ***pppcVar3;\n  Fts5ExprNode *pFVar4;\n  undefined *puVar5;\n  undefined *puVar6;\n  sqlite3_context *pCtx;\n  fts5yyParser *fts5yypParser;\n  int iVar7;\n  undefined4 *puVar8;\n  undefined *puVar9;\n  undefined *puVar10;\n  fts5yyStackEntry *pfVar11;\n  char cVar14;\n  Fts5Global *pGlobal;\n  sqlite3 *db;\n  char **azArg;\n  char *pcVar12;\n  sqlite3_context *psVar13;\n  code *pcVar15;\n  undefined4 *puVar16;\n  undefined4 *puVar17;\n  u8 *puVar18;\n  fts5YYMINORTYPE *pfVar19;\n  undefined4 *puVar20;\n  sqlite3_context *nArg;\n  undefined4 uVar21;\n  fts5YYMINORTYPE *fts5yypminor;\n  fts5YYMINORTYPE *pfVar22;\n  Fts5Config *pFVar23;\n  fts5yyStackEntry *unaff_s1;\n  fts5YYMINORTYPE *pfVar24;\n  fts5yyParser *unaff_s2;\n  fts5yyParser *pfVar25;\n  int *piVar26;\n  fts5yyParser *unaff_s3;\n  fts5YYMINORTYPE *unaff_s4;\n  int unaff_s5;\n  fts5YYMINORTYPE *nArg_00;\n  undefined *unaff_s6;\n  fts5yyStackEntry *unaff_s7;\n  char **ppcVar27;\n  fts5yyParser *unaff_s8;\n  char *pcVar28;\n  char *pcStack_174;\n  sqlite3_context *psStack_170;\n  sqlite3_context *psStack_16c;\n  Fts5Config *pFStack_168;\n  int iStack_164;\n  Fts5Config *pFStack_160;\n  fts5yyStackEntry *pfStack_15c;\n  fts5yyParser *pfStack_158;\n  fts5yyParser *pfStack_154;\n  fts5YYMINORTYPE *pfStack_150;\n  int iStack_14c;\n  undefined *puStack_148;\n  fts5yyStackEntry *pfStack_144;\n  fts5yyParser *pfStack_140;\n  code *pcStack_13c;\n  fts5YYMINORTYPE *pfStack_110;\n  fts5YYMINORTYPE fts5yyminorunion;\n  Fts5Parse sParse;\n  u8 aBareword [128];\n  \n  puVar6 = PTR___stack_chk_guard_0015ba2c;\n  puVar9 = PTR_sqlite3_malloc64_0015b760;\n  pfVar19 = (fts5YYMINORTYPE *)0x4bc;\n  sParse.pConfig = (Fts5Config *)0x0;\n  sParse.zErr = (char *)0x0;\n  sParse.rc = 0;\n  sParse.nPhrase = 0;\n  sParse.apPhrase = (Fts5ExprPhrase **)0x0;\n  sParse.pExpr = (Fts5ExprNode *)0x0;\n  pCtx = *(sqlite3_context **)PTR___stack_chk_guard_0015ba2c;\n  *ppNew = (Fts5Expr *)0x0;\n  *pzErr = (char *)0x0;\n  fts5yypminor = (fts5YYMINORTYPE *)zExpr;\n  pfVar22 = (fts5YYMINORTYPE *)ppNew;\n  fts5yypParser = (fts5yyParser *)(*(code *)puVar9)(0);\n  puVar9 = PTR_DAT_0015b5fc;\n  if (fts5yypParser != (fts5yyParser *)0x0) {\n    unaff_s1 = fts5yypParser->fts5yystack;\n    fts5yypParser->fts5yystack[0].stateno = '\0';\n    puVar10 = PTR_LAB_0015b71c;\n    fts5yypParser->fts5yystack[0].major = '\0';\n    puVar20 = (undefined4 *)(puVar9 + 0x638);\n    fts5yypParser->fts5yystackEnd = fts5yypParser->fts5yystack + 99;\n    puVar5 = PTR_DAT_0015b5fc;\n    pcVar15 = (code *)(puVar10 + 0x2288);\n    fts5yypParser->fts5yytos = unaff_s1;\n    puVar16 = (undefined4 *)(puVar9 + 0x6b8);\n    sParse.pConfig = pConfig;\n    pfStack_110 = (fts5YYMINORTYPE *)zExpr;\nLAB_000b2a68:\n    do {\n      unaff_s4 = (fts5YYMINORTYPE *)zExpr;\n      iVar7 = (int)*(char *)unaff_s4;\n      if ((iVar7 - 9U & 0xff) < 0x18) {\n        puVar18 = aBareword;\n        puVar8 = puVar20;\n        if ((int)((0x800013U >> (iVar7 - 9U & 0x1f)) << 0x1f) < 0) {\n          zExpr = (char *)((int)&(unaff_s4->fts5yy0).p + 1);\n          goto LAB_000b2a68;\n        }\n        do {\n          puVar17 = puVar8 + 4;\n          *(undefined4 *)puVar18 = *puVar8;\n          pfVar22 = (fts5YYMINORTYPE *)puVar8[1];\n          uVar21 = puVar8[2];\n          *(undefined4 *)(puVar18 + 0xc) = puVar8[3];\n          *(fts5YYMINORTYPE **)(puVar18 + 4) = pfVar22;\n          *(undefined4 *)(puVar18 + 8) = uVar21;\n          puVar8 = puVar17;\n          puVar18 = puVar18 + 0x10;\n        } while (puVar17 != puVar16);\nLAB_000b34f0:\n        if (aBareword[iVar7] != '\0') {\nLAB_000b2b04:\n          pfVar24 = unaff_s4;\n          do {\n            pfVar24 = (fts5YYMINORTYPE *)((int)&(pfVar24->fts5yy0).p + 1);\n            cVar14 = *(char *)pfVar24;\n            puVar8 = puVar20;\n            puVar18 = aBareword;\n            do {\n              pfVar22 = (fts5YYMINORTYPE *)*puVar8;\n              puVar17 = puVar8 + 4;\n              *(fts5YYMINORTYPE **)puVar18 = pfVar22;\n              fts5yypminor = (fts5YYMINORTYPE *)puVar8[1];\n              pfVar19 = (fts5YYMINORTYPE *)puVar8[2];\n              *(undefined4 *)(puVar18 + 0xc) = puVar8[3];\n              *(fts5YYMINORTYPE **)(puVar18 + 4) = fts5yypminor;\n              *(fts5YYMINORTYPE **)(puVar18 + 8) = pfVar19;\n              puVar8 = puVar17;\n              puVar18 = puVar18 + 0x10;\n            } while (puVar17 != puVar16);\n          } while ((cVar14 < 0) || (aBareword[cVar14] != '\0'));\n          pfVar24 = (fts5YYMINORTYPE *)((int)pfVar24 - (int)unaff_s4);\n          if (pfVar24 == (fts5YYMINORTYPE *)0x2) {\n            if ((*(char *)unaff_s4 == 'O') && (*(char *)((int)&(unaff_s4->fts5yy0).p + 1) == 'R')) {\n              unaff_s2 = (fts5yyParser *)0x1;\n              pfStack_110 = (fts5YYMINORTYPE *)0x2;\n            }\n            else {\n              unaff_s2 = (fts5yyParser *)&DAT_00000009;\n              pfStack_110 = (fts5YYMINORTYPE *)0x2;\n            }\n          }\n          else if (pfVar24 == (fts5YYMINORTYPE *)0x3) {\n            if ((*(char *)unaff_s4 == 'N') &&\n               (pfVar25 = (fts5yyParser *)&DAT_00000009,\n               *(char *)((int)&(unaff_s4->fts5yy0).p + 1) == 'O')) {\n              if (*(char *)((int)&(unaff_s4->fts5yy0).p + 2) == 'T') {\n                pfVar25 = (fts5yyParser *)0x3;\n              }\n            }\n            else {\n              pfVar25 = (fts5yyParser *)&DAT_00000009;\n            }\n            if (((*(char *)unaff_s4 == 'A') && (*(char *)((int)&(unaff_s4->fts5yy0).p + 1) == 'N'))\n               && (unaff_s2 = (fts5yyParser *)0x2, *(char *)((int)&(unaff_s4->fts5yy0).p + 2) == 'D'\n                  )) {\n              pfStack_110 = (fts5YYMINORTYPE *)0x3;\n            }\n            else {\n              pfStack_110 = (fts5YYMINORTYPE *)0x3;\n              unaff_s2 = pfVar25;\n            }\n          }\n          else {\n            unaff_s2 = (fts5yyParser *)&DAT_00000009;\n            pfStack_110 = pfVar24;\n          }\n          goto LAB_000b2b98;\n        }\n        pfVar24 = (fts5YYMINORTYPE *)0x1;\n        pfVar19 = (fts5YYMINORTYPE *)(PTR_DAT_0015b5fc + -0x70cc);\n        fts5yypminor = unaff_s4;\n        (*pcVar15)(&sParse);\n        unaff_s2 = (fts5yyParser *)0x0;\n      }\n      else {\n        pfVar19 = (fts5YYMINORTYPE *)0x0;\n        if (iVar7 == 0x2b) {\n          unaff_s2 = (fts5yyParser *)&DAT_0000000e;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\n        else if (iVar7 < 0x2c) {\n          if (iVar7 == 0x28) {\n            unaff_s2 = (fts5yyParser *)&DAT_0000000a;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else if (iVar7 < 0x29) {\n            if (iVar7 != 0) {\n              pcVar28 = (char *)((int)&(unaff_s4->fts5yy0).p + 1);\n              if (iVar7 != 0x22) {\nLAB_000b2abc:\n                puVar8 = puVar20;\n                puVar18 = aBareword;\n                do {\n                  puVar17 = puVar8 + 4;\n                  *(undefined4 *)puVar18 = *puVar8;\n                  pfVar22 = (fts5YYMINORTYPE *)puVar8[1];\n                  uVar21 = puVar8[2];\n                  *(undefined4 *)(puVar18 + 0xc) = puVar8[3];\n                  *(fts5YYMINORTYPE **)(puVar18 + 4) = pfVar22;\n                  *(undefined4 *)(puVar18 + 8) = uVar21;\n                  puVar8 = puVar17;\n                  puVar18 = puVar18 + 0x10;\n                } while (puVar17 != puVar16);\n                if (-1 < iVar7) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              cVar14 = *pcVar28;\n              if (cVar14 == '\"') goto LAB_000b3320;\n              while (pfVar19 = (fts5YYMINORTYPE *)PTR_DAT_0015b5fc, cVar14 != '\0') {\n                while( true ) {\n                  pcVar28 = pcVar28 + 1;\n                  cVar14 = *pcVar28;\n                  if (cVar14 != '\"') break;\nLAB_000b3320:\n                  pcVar12 = pcVar28 + 1;\n                  pcVar28 = pcVar28 + 1;\n                  if (*pcVar12 != '\"') {\n                    pfStack_110 = (fts5YYMINORTYPE *)(pcVar28 + -(int)unaff_s4);\n                    unaff_s2 = (fts5yyParser *)&DAT_00000009;\n                    pfVar24 = pfStack_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (fts5yyParser *)0x0;\n              pfVar24 = (fts5YYMINORTYPE *)0x1;\n              pfVar19 = (fts5YYMINORTYPE *)(PTR_DAT_0015b5fc + -0x70e0);\n              (*pcVar15)(&sParse);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (fts5yyParser *)0x0;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else if (iVar7 == 0x29) {\n            unaff_s2 = (fts5yyParser *)&DAT_0000000b;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else {\n            unaff_s2 = (fts5yyParser *)0xf;\n            if (iVar7 != 0x2a) goto LAB_000b2abc;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n        }\n        else if (iVar7 == 0x3a) {\n          unaff_s2 = (fts5yyParser *)&DAT_00000005;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\n        else if (iVar7 < 0x3b) {\n          if (iVar7 == 0x2c) {\n            unaff_s2 = (fts5yyParser *)&DAT_0000000d;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else {\n            unaff_s2 = (fts5yyParser *)&DAT_00000006;\n            if (iVar7 != 0x2d) goto LAB_000b2abc;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n        }\n        else if (iVar7 == 0x7b) {\n          unaff_s2 = (fts5yyParser *)&DAT_00000007;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\n        else if (iVar7 == 0x7d) {\n          unaff_s2 = (fts5yyParser *)&DAT_00000008;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\n        else {\n          unaff_s2 = (fts5yyParser *)&DAT_0000000c;\n          if (iVar7 != 0x5e) goto LAB_000b2abc;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\nLAB_000b2b98:\n        pfStack_110 = (fts5YYMINORTYPE *)((int)unaff_s4 + (int)pfStack_110);\n      }\nLAB_000b2ba0:\n      unaff_s6 = PTR_DAT_0015b5fc;\n      unaff_s7 = fts5yypParser->fts5yytos;\n      puVar9 = PTR_DAT_0015b5fc + 0x4920;\n      fts5yypParser->pParse = &sParse;\n      pFVar23 = (Fts5Config *)(uint)unaff_s7->stateno;\n      puVar10 = PTR_DAT_0015b5fc + 0x48fc;\n      do {\n        pFVar4 = (Fts5ExprNode *)PTR_DAT_0015b5fc;\n        if ((Fts5Config *)&DAT_00000022 < pFVar23) goto joined_r0x000b33cc;\n        pfVar11 = (fts5yyStackEntry *)\n                  ((int)unaff_s2->fts5yystack + ((byte)puVar10[(int)pFVar23] - 8));\n        if ((fts5yyStackEntry *)0x78 < pfVar11) goto LAB_000b2c10;\n        while( true ) {\n          if ((fts5yyParser *)(uint)(byte)puVar9[(int)&pfVar11->stateno] == unaff_s2) {\n            pFVar23 = (Fts5Config *)(uint)(byte)(unaff_s6 + 0x499c)[(int)&pfVar11->stateno];\n            pFVar4 = (Fts5ExprNode *)PTR_DAT_0015b5fc;\n          }\n          else {\nLAB_000b2c10:\n            pFVar23 = (Fts5Config *)(uint)(byte)(puVar5 + 0x48c4)[(int)&pFVar23->db];\n            pFVar4 = (Fts5ExprNode *)PTR_DAT_0015b5fc;\n          }\njoined_r0x000b33cc:\n          PTR_DAT_0015b5fc = (undefined *)pFVar4;\n          if (pFVar23 < (Fts5Config *)0x53) {\n            if (pFVar23 < (Fts5Config *)0x50) {\n              fts5yypParser->fts5yytos = unaff_s7 + 1;\n              if (fts5yypParser->fts5yystackEnd < unaff_s7 + 1) {\n                fts5yypParser->fts5yytos = unaff_s7;\n                fts5yyStackOverflow(fts5yypParser);\n              }\n              else {\n                if ((Fts5Config *)&DAT_00000022 < pFVar23) {\n                  pFVar23 = (Fts5Config *)((uint)((int)&pFVar23->aPrefix + 3) & 0xff);\n                }\n                unaff_s7[1].stateno = (uchar)pFVar23;\n                unaff_s7[1].major = (uchar)unaff_s2;\n                unaff_s7[1].minor.fts5yy11 = (Fts5Colset *)unaff_s4;\n                unaff_s7[1].minor.fts5yy0.n = (int)pfVar24;\n              }\n            }\n            else if (pFVar23 == (Fts5Config *)0x51) {\n              fts5yypParser->fts5yytos = unaff_s7 + -1;\n              pfVar19 = (fts5YYMINORTYPE *)pFVar4;\n            }\n            else {\n              pFVar23 = (Fts5Config *)fts5yypParser->pParse;\n              pfVar22 = unaff_s4;\n              fts5yyminorunion.fts5yy11 = (Fts5Colset *)unaff_s4;\n              fts5yyminorunion.fts5yy0.n = (int)pfVar24;\n              (*pcVar15)(pFVar23,&pFVar4[-0x2d2].field_0x24);\n              pfVar19 = &fts5yyminorunion;\n              fts5yypParser->pParse = (Fts5Parse *)pFVar23;\n              fts5yy_destructor(unaff_s2,(uchar)pfVar19,pfVar24);\n              fts5yypminor = pfVar24;\n            }\n            goto LAB_000b2d18;\n          }\n          pppcVar3 = &pFVar23[-1].azCol;\n          pFVar23 = (Fts5Config *)((int)pppcVar3 + 1);\n          unaff_s5 = (int)(char)(unaff_s6 + 0x488c)[(int)&pFVar23->db];\n          if ((unaff_s5 != 0) || (unaff_s7 < fts5yypParser->fts5yystackEnd)) break;\n          fts5yyStackOverflow(fts5yypParser);\n          unaff_s7 = fts5yypParser->fts5yytos;\n          if (unaff_s7 <= unaff_s1) goto LAB_000b2d18;\n          pfVar11 = unaff_s2->fts5yystack + 3;\n          pFVar23 = (Fts5Config *)0x0;\n        }\n        if (pFVar23 < (Fts5Config *)0x1c) {\n                    /* WARNING: Could not emulate address calculation at 0x000b2c68 */\n                    /* WARNING: Treating indirect jump as call */\n          iVar7 = (*(code *)(&_gp + (int)pFVar4[0x59].apChild[(int)((int)pppcVar3 + -2)]))();\n          return iVar7;\n        }\n        fts5yypminor = (fts5YYMINORTYPE *)(unaff_s6 + 0x499c);\n        bVar1 = unaff_s7[unaff_s5].stateno;\n        pfVar11 = unaff_s7 + unaff_s5 + 1;\n        bVar2 = *(byte *)((int)((Fts5ExprNode *)(pFVar4[0x1d1].apChild + -8))->apChild +\n                         (int)pppcVar3 + -0x1f);\n        fts5yypParser->fts5yytos = pfVar11;\n        pfVar11->major = bVar2;\n        bVar1 = *(byte *)((uint)bVar2 + (int)*(char *)((int)pFVar4[0x1d2].apChild + (bVar1 - 8)) +\n                         (int)fts5yypminor);\n        pFVar23 = (Fts5Config *)(uint)bVar1;\n        pfVar11->stateno = bVar1;\n        unaff_s7 = fts5yypParser->fts5yytos;\n        pfVar19 = (fts5YYMINORTYPE *)pFVar4;\n      } while (unaff_s1 < unaff_s7);\nLAB_000b2d18:\n      if ((sParse.rc != 0) || (zExpr = (char *)pfStack_110, unaff_s2 == (fts5yyParser *)0x0))\n      goto LAB_000b2d2c;\n    } while( true );\n  }\n  iVar7 = 7;\nLAB_000b3294:\n  if (pCtx == *(sqlite3_context **)puVar6) {\n    return iVar7;\n  }\n  pcVar15 = fts5ExprFunction;\n  puVar9 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  piVar26 = *(int **)(puVar9 + 0xa8234);\n  iStack_164 = *piVar26;\n  pfVar24 = fts5yypminor;\n  pFStack_160 = pConfig;\n  pfStack_15c = unaff_s1;\n  pfStack_158 = unaff_s2;\n  pfStack_154 = unaff_s3;\n  pfStack_150 = unaff_s4;\n  iStack_14c = unaff_s5;\n  puStack_148 = unaff_s6;\n  pfStack_144 = unaff_s7;\n  pfStack_140 = unaff_s8;\n  pcStack_13c = pcVar15;\n  pGlobal = (Fts5Global *)(**(code **)(puVar9 + 0xa7ed0))();\n  db = (sqlite3 *)(**(code **)(puVar9 + 0xa7ee8))(pCtx);\n  psStack_170 = (sqlite3_context *)0x0;\n  psStack_16c = (sqlite3_context *)0x0;\n  pFStack_168 = (Fts5Config *)0x0;\n  if ((int)pfVar19 < 1) {\n    if (pfVar22 == (fts5YYMINORTYPE *)0x0) {\n      iVar7 = *(int *)(puVar9 + 0xa7e04) + -0x705c;\n    }\n    else {\n      iVar7 = *(int *)(puVar9 + 0xa7e04) + -0x706c;\n    }\n    nArg = (sqlite3_context *)\n           (**(code **)(puVar9 + 0xa7e30))(*(int *)(puVar9 + 0xa7e04) + -0x7048,iVar7);\n    pfVar24 = (fts5YYMINORTYPE *)0xffffffff;\n    psStack_170 = nArg;\n    (**(code **)(puVar9 + 0xa7f78))(pCtx);\n    pCtx = psStack_170;\n    (**(code **)(puVar9 + 0xa7e28))();\n    goto LAB_000b39d4;\n  }\n  if (pfVar22 == (fts5YYMINORTYPE *)0x0) {\n    iVar7 = 1;\n    pcStack_174 = (char *)(*(int *)(puVar9 + 0xa7e04) + -0x7050);\nLAB_000b38a0:\n    nArg_00 = (fts5YYMINORTYPE *)((int)pfVar19 + (3 - iVar7));\n    nArg = (sqlite3_context *)((int)nArg_00 * 4);\n    azArg = (char **)(**(code **)(puVar9 + 0xa7f68))(0);\n    if (azArg == (char **)0x0) {\nLAB_000b3a30:\n      (**(code **)(puVar9 + 0xa7f8c))();\n      goto LAB_000b39d4;\n    }\n    *azArg = (char *)0x0;\n    azArg[1] = (char *)(*(int *)(puVar9 + 0xa7df0) + 0x538c);\n    azArg[2] = (char *)(*(int *)(puVar9 + 0xa7e04) + -0x701c);\n    if (iVar7 < (int)pfVar19) {\n      pcVar28 = (char *)((int)fts5yypminor + iVar7 * 4);\n      ppcVar27 = azArg + 3;\n      do {\n        uVar21 = *(undefined4 *)pcVar28;\n        pcVar28 = pcVar28 + 4;\n        pcVar12 = (char *)(**(code **)(puVar9 + 0xa7e1c))(uVar21);\n        *ppcVar27 = pcVar12;\n        ppcVar27 = ppcVar27 + 1;\n      } while ((char *)((int)fts5yypminor + (int)pfVar19 * 4) != pcVar28);\n    }\n  }\n  else {\n    if ((Fts5ExprNode *)pfVar19 != (Fts5ExprNode *)0x1) {\n      iVar7 = 2;\n      pcStack_174 = (char *)(**(code **)(puVar9 + 0xa7e1c))((fts5yypminor->fts5yy0).n);\n      goto LAB_000b38a0;\n    }\n    nArg = (sqlite3_context *)&DAT_0000000c;\n    azArg = (char **)(**(code **)(puVar9 + 0xa7f68))(0);\n    if (azArg == (char **)0x0) goto LAB_000b3a30;\n    iVar7 = *(int *)(puVar9 + 0xa7df0);\n    nArg_00 = (fts5YYMINORTYPE *)0x3;\n    *azArg = (char *)0x0;\n    azArg[1] = (char *)(iVar7 + 0x538c);\n    pcStack_174 = (char *)(*(int *)(puVar9 + 0xa7e04) + -0x7050);\n    azArg[2] = (char *)(*(int *)(puVar9 + 0xa7e04) + -0x701c);\n  }\n  pfVar19 = (fts5YYMINORTYPE *)(**(code **)(puVar9 + 0xa7e1c))(fts5yypminor->fts5yyinit);\n  nArg = (sqlite3_context *)\n         sqlite3Fts5ConfigParse(pGlobal,db,(int)nArg_00,azArg,&pFStack_168,(char **)&psStack_170);\n  pfVar24 = nArg_00;\n  if ((nArg == (sqlite3_context *)0x0) &&\n     (nArg = (sqlite3_context *)\n             sqlite3Fts5ExprNew(pFStack_168,pFStack_168->nCol,(char *)&pfVar19->fts5yyinit,\n                                (Fts5Expr **)&psStack_16c,(char **)&psStack_170), pfVar24 = pfVar19,\n     nArg == (sqlite3_context *)0x0)) {\n    pfVar24 = (fts5YYMINORTYPE *)psStack_16c->pMem;\n    if (*(int *)((int)pfVar24 + 0xc) == 0) {\n      psVar13 = (sqlite3_context *)\n                (**(code **)(puVar9 + 0xa7e30))(*(int *)(puVar9 + 0xa7df0) + 0x53f4);\n      pfVar24 = pfVar19;\n    }\n    else if (pfVar22 == (fts5YYMINORTYPE *)0x0) {\n      psVar13 = (sqlite3_context *)fts5ExprPrint(pFStack_168,(Fts5ExprNode *)&pfVar24->fts5yy0);\n      pfVar24 = pfVar19;\n    }\n    else {\n      psVar13 = (sqlite3_context *)\n                fts5ExprPrintTcl(pFStack_168,pcStack_174,(Fts5ExprNode *)&pfVar24->fts5yy0);\n    }\n    if (psVar13 == (sqlite3_context *)0x0) {\n      nArg = (sqlite3_context *)&DAT_00000007;\n      if (psStack_170 == (sqlite3_context *)0x0) {\n        pcVar15 = *(code **)(puVar9 + 0xa7f84);\n        goto LAB_000b3b60;\n      }\nLAB_000b3970:\n      pfVar24 = (fts5YYMINORTYPE *)0xffffffff;\n      nArg = psStack_170;\n      (**(code **)(puVar9 + 0xa7f78))(pCtx);\n      (**(code **)(puVar9 + 0xa7e28))(psStack_170);\n    }\n    else {\n      pfVar24 = (fts5YYMINORTYPE *)0xffffffff;\n      nArg = psVar13;\n      (**(code **)(puVar9 + 0xa7e84))(pCtx,psVar13,0xffffffff,0xffffffff);\n      (**(code **)(puVar9 + 0xa7e28))(psVar13);\n    }\n  }\n  else {\n    pcVar15 = *(code **)(puVar9 + 0xa7f84);\n    if (psStack_170 != (sqlite3_context *)0x0) goto LAB_000b3970;\nLAB_000b3b60:\n    (*pcVar15)(pCtx);\n  }\n  (**(code **)(puVar9 + 0xa7e28))(azArg);\n  (*(code *)(*(int *)(puVar9 + 0xa7ec8) + -0xe08))(pFStack_168);\n  pCtx = psStack_16c;\n  if (psStack_16c != (sqlite3_context *)0x0) {\n    sqlite3Fts5ExprFree((Fts5Expr *)psStack_16c);\n  }\nLAB_000b39d4:\n  iVar7 = *piVar26;\n  if (iStack_164 == iVar7) {\n    return iVar7;\n  }\n  iVar7 = (**(code **)(puVar9 + 0xa8218))();\n  fts5ExprFunction(pCtx,(int)nArg,(sqlite3_value **)&pfVar24->fts5yy11,1);\n  return iVar7;\nLAB_000b2d2c:\n  pfVar11 = fts5yypParser->fts5yytos;\n  if (unaff_s1 < pfVar11) {\n    pFVar23 = (Fts5Config *)(PTR_LAB_0015b6f8 + 0x23c0);\n    do {\n      pfVar19 = &pfVar11->minor;\n      fts5yypParser->fts5yytos = pfVar11 + -1;\n      fts5yy_destructor((fts5yyParser *)(uint)pfVar11->major,(uchar)pfVar19,fts5yypminor);\n      pfVar11 = fts5yypParser->fts5yytos;\n    } while (unaff_s1 < pfVar11);\n  }\n  (*(code *)PTR_sqlite3_free_0015b620)(fts5yypParser);\n  if ((iCol < pConfig->nCol) && (sParse.pExpr != (Fts5ExprNode *)0x0)) {\n    if (sParse.rc == 0) {\n      pfVar22 = (fts5YYMINORTYPE *)&DAT_00000008;\n      fts5yypminor = (fts5YYMINORTYPE *)0x0;\n      pfVar24 = (fts5YYMINORTYPE *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&sParse.rc);\n      if (pfVar24 != (fts5YYMINORTYPE *)0x0) {\n        (pfVar24->fts5yy0).n = iCol;\n        pfVar24->fts5yyinit = 1;\n        pfVar19 = (fts5YYMINORTYPE *)sParse.pExpr;\n        sqlite3Fts5ParseSetColset(&sParse,sParse.pExpr,(Fts5Colset *)&pfVar24->fts5yy0);\n        fts5yypminor = pfVar24;\n      }\n      goto LAB_000b321c;\n    }\nLAB_000b2da8:\n    sqlite3Fts5ParseNodeFree(sParse.pExpr);\n  }\n  else {\nLAB_000b321c:\n    if (sParse.rc != 0) goto LAB_000b2da8;\n    pFVar23 = (Fts5Config *)(*(code *)PTR_sqlite3_malloc_0015b640)(0x18);\n    *ppNew = (Fts5Expr *)pFVar23;\n    if (pFVar23 == (Fts5Config *)0x0) {\n      sParse.rc = 7;\n      goto LAB_000b2da8;\n    }\n    if (sParse.pExpr == (Fts5ExprNode *)0x0) {\n      if (sParse.rc == 0) {\n        pfVar22 = (fts5YYMINORTYPE *)&DAT_00000028;\n        fts5yypminor = (fts5YYMINORTYPE *)0x0;\n        pcVar28 = (char *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&sParse.rc);\n        pFVar23->zName = pcVar28;\n        if (pcVar28 != (char *)0x0) {\n          pcVar28[4] = '\0';\n          pcVar28[5] = '\0';\n          pcVar28[6] = '\0';\n          pcVar28[7] = '\x01';\n        }\n      }\n      else {\n        pFVar23->zName = (char *)0x0;\n      }\n    }\n    else {\n      pFVar23->zName = (char *)sParse.pExpr;\n    }\n    pFVar23->db = (sqlite3 *)0x0;\n    pFVar23->zDb = (char *)pConfig;\n    pFVar23->abUnindexed = (u8 *)sParse.apPhrase;\n    pFVar23->azCol = (char **)sParse.nPhrase;\n    sParse.apPhrase = (Fts5ExprPhrase **)0x0;\n  }\n  (*(code *)PTR_sqlite3_free_0015b620)(sParse.apPhrase);\n  *pzErr = sParse.zErr;\n  iVar7 = sParse.rc;\n  pConfig = pFVar23;\n  unaff_s3 = unaff_s2;\n  unaff_s8 = fts5yypParser;\n  goto LAB_000b3294;\n}\n\n" (function_definition "int sqlite3Fts5ExprNew(Fts5Config *pConfig,int iCol,char *zExpr,Fts5Expr **ppNew,char **pzErr)\n\n{\n  byte bVar1;\n  byte bVar2;\n  char ***pppcVar3;\n  Fts5ExprNode *pFVar4;\n  undefined *puVar5;\n  undefined *puVar6;\n  sqlite3_context *pCtx;\n  fts5yyParser *fts5yypParser;\n  int iVar7;\n  undefined4 *puVar8;\n  undefined *puVar9;\n  undefined *puVar10;\n  fts5yyStackEntry *pfVar11;\n  char cVar14;\n  Fts5Global *pGlobal;\n  sqlite3 *db;\n  char **azArg;\n  char *pcVar12;\n  sqlite3_context *psVar13;\n  code *pcVar15;\n  undefined4 *puVar16;\n  undefined4 *puVar17;\n  u8 *puVar18;\n  fts5YYMINORTYPE *pfVar19;\n  undefined4 *puVar20;\n  sqlite3_context *nArg;\n  undefined4 uVar21;\n  fts5YYMINORTYPE *fts5yypminor;\n  fts5YYMINORTYPE *pfVar22;\n  Fts5Config *pFVar23;\n  fts5yyStackEntry *unaff_s1;\n  fts5YYMINORTYPE *pfVar24;\n  fts5yyParser *unaff_s2;\n  fts5yyParser *pfVar25;\n  int *piVar26;\n  fts5yyParser *unaff_s3;\n  fts5YYMINORTYPE *unaff_s4;\n  int unaff_s5;\n  fts5YYMINORTYPE *nArg_00;\n  undefined *unaff_s6;\n  fts5yyStackEntry *unaff_s7;\n  char **ppcVar27;\n  fts5yyParser *unaff_s8;\n  char *pcVar28;\n  char *pcStack_174;\n  sqlite3_context *psStack_170;\n  sqlite3_context *psStack_16c;\n  Fts5Config *pFStack_168;\n  int iStack_164;\n  Fts5Config *pFStack_160;\n  fts5yyStackEntry *pfStack_15c;\n  fts5yyParser *pfStack_158;\n  fts5yyParser *pfStack_154;\n  fts5YYMINORTYPE *pfStack_150;\n  int iStack_14c;\n  undefined *puStack_148;\n  fts5yyStackEntry *pfStack_144;\n  fts5yyParser *pfStack_140;\n  code *pcStack_13c;\n  fts5YYMINORTYPE *pfStack_110;\n  fts5YYMINORTYPE fts5yyminorunion;\n  Fts5Parse sParse;\n  u8 aBareword [128];\n  \n  puVar6 = PTR___stack_chk_guard_0015ba2c;\n  puVar9 = PTR_sqlite3_malloc64_0015b760;\n  pfVar19 = (fts5YYMINORTYPE *)0x4bc;\n  sParse.pConfig = (Fts5Config *)0x0;\n  sParse.zErr = (char *)0x0;\n  sParse.rc = 0;\n  sParse.nPhrase = 0;\n  sParse.apPhrase = (Fts5ExprPhrase **)0x0;\n  sParse.pExpr = (Fts5ExprNode *)0x0;\n  pCtx = *(sqlite3_context **)PTR___stack_chk_guard_0015ba2c;\n  *ppNew = (Fts5Expr *)0x0;\n  *pzErr = (char *)0x0;\n  fts5yypminor = (fts5YYMINORTYPE *)zExpr;\n  pfVar22 = (fts5YYMINORTYPE *)ppNew;\n  fts5yypParser = (fts5yyParser *)(*(code *)puVar9)(0);\n  puVar9 = PTR_DAT_0015b5fc;\n  if (fts5yypParser != (fts5yyParser *)0x0) {\n    unaff_s1 = fts5yypParser->fts5yystack;\n    fts5yypParser->fts5yystack[0].stateno = '\0';\n    puVar10 = PTR_LAB_0015b71c;\n    fts5yypParser->fts5yystack[0].major = '\0';\n    puVar20 = (undefined4 *)(puVar9 + 0x638);\n    fts5yypParser->fts5yystackEnd = fts5yypParser->fts5yystack + 99;\n    puVar5 = PTR_DAT_0015b5fc;\n    pcVar15 = (code *)(puVar10 + 0x2288);\n    fts5yypParser->fts5yytos = unaff_s1;\n    puVar16 = (undefined4 *)(puVar9 + 0x6b8);\n    sParse.pConfig = pConfig;\n    pfStack_110 = (fts5YYMINORTYPE *)zExpr;\nLAB_000b2a68:\n    do {\n      unaff_s4 = (fts5YYMINORTYPE *)zExpr;\n      iVar7 = (int)*(char *)unaff_s4;\n      if ((iVar7 - 9U & 0xff) < 0x18) {\n        puVar18 = aBareword;\n        puVar8 = puVar20;\n        if ((int)((0x800013U >> (iVar7 - 9U & 0x1f)) << 0x1f) < 0) {\n          zExpr = (char *)((int)&(unaff_s4->fts5yy0).p + 1);\n          goto LAB_000b2a68;\n        }\n        do {\n          puVar17 = puVar8 + 4;\n          *(undefined4 *)puVar18 = *puVar8;\n          pfVar22 = (fts5YYMINORTYPE *)puVar8[1];\n          uVar21 = puVar8[2];\n          *(undefined4 *)(puVar18 + 0xc) = puVar8[3];\n          *(fts5YYMINORTYPE **)(puVar18 + 4) = pfVar22;\n          *(undefined4 *)(puVar18 + 8) = uVar21;\n          puVar8 = puVar17;\n          puVar18 = puVar18 + 0x10;\n        } while (puVar17 != puVar16);\nLAB_000b34f0:\n        if (aBareword[iVar7] != '\0') {\nLAB_000b2b04:\n          pfVar24 = unaff_s4;\n          do {\n            pfVar24 = (fts5YYMINORTYPE *)((int)&(pfVar24->fts5yy0).p + 1);\n            cVar14 = *(char *)pfVar24;\n            puVar8 = puVar20;\n            puVar18 = aBareword;\n            do {\n              pfVar22 = (fts5YYMINORTYPE *)*puVar8;\n              puVar17 = puVar8 + 4;\n              *(fts5YYMINORTYPE **)puVar18 = pfVar22;\n              fts5yypminor = (fts5YYMINORTYPE *)puVar8[1];\n              pfVar19 = (fts5YYMINORTYPE *)puVar8[2];\n              *(undefined4 *)(puVar18 + 0xc) = puVar8[3];\n              *(fts5YYMINORTYPE **)(puVar18 + 4) = fts5yypminor;\n              *(fts5YYMINORTYPE **)(puVar18 + 8) = pfVar19;\n              puVar8 = puVar17;\n              puVar18 = puVar18 + 0x10;\n            } while (puVar17 != puVar16);\n          } while ((cVar14 < 0) || (aBareword[cVar14] != '\0'));\n          pfVar24 = (fts5YYMINORTYPE *)((int)pfVar24 - (int)unaff_s4);\n          if (pfVar24 == (fts5YYMINORTYPE *)0x2) {\n            if ((*(char *)unaff_s4 == 'O') && (*(char *)((int)&(unaff_s4->fts5yy0).p + 1) == 'R')) {\n              unaff_s2 = (fts5yyParser *)0x1;\n              pfStack_110 = (fts5YYMINORTYPE *)0x2;\n            }\n            else {\n              unaff_s2 = (fts5yyParser *)&DAT_00000009;\n              pfStack_110 = (fts5YYMINORTYPE *)0x2;\n            }\n          }\n          else if (pfVar24 == (fts5YYMINORTYPE *)0x3) {\n            if ((*(char *)unaff_s4 == 'N') &&\n               (pfVar25 = (fts5yyParser *)&DAT_00000009,\n               *(char *)((int)&(unaff_s4->fts5yy0).p + 1) == 'O')) {\n              if (*(char *)((int)&(unaff_s4->fts5yy0).p + 2) == 'T') {\n                pfVar25 = (fts5yyParser *)0x3;\n              }\n            }\n            else {\n              pfVar25 = (fts5yyParser *)&DAT_00000009;\n            }\n            if (((*(char *)unaff_s4 == 'A') && (*(char *)((int)&(unaff_s4->fts5yy0).p + 1) == 'N'))\n               && (unaff_s2 = (fts5yyParser *)0x2, *(char *)((int)&(unaff_s4->fts5yy0).p + 2) == 'D'\n                  )) {\n              pfStack_110 = (fts5YYMINORTYPE *)0x3;\n            }\n            else {\n              pfStack_110 = (fts5YYMINORTYPE *)0x3;\n              unaff_s2 = pfVar25;\n            }\n          }\n          else {\n            unaff_s2 = (fts5yyParser *)&DAT_00000009;\n            pfStack_110 = pfVar24;\n          }\n          goto LAB_000b2b98;\n        }\n        pfVar24 = (fts5YYMINORTYPE *)0x1;\n        pfVar19 = (fts5YYMINORTYPE *)(PTR_DAT_0015b5fc + -0x70cc);\n        fts5yypminor = unaff_s4;\n        (*pcVar15)(&sParse);\n        unaff_s2 = (fts5yyParser *)0x0;\n      }\n      else {\n        pfVar19 = (fts5YYMINORTYPE *)0x0;\n        if (iVar7 == 0x2b) {\n          unaff_s2 = (fts5yyParser *)&DAT_0000000e;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\n        else if (iVar7 < 0x2c) {\n          if (iVar7 == 0x28) {\n            unaff_s2 = (fts5yyParser *)&DAT_0000000a;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else if (iVar7 < 0x29) {\n            if (iVar7 != 0) {\n              pcVar28 = (char *)((int)&(unaff_s4->fts5yy0).p + 1);\n              if (iVar7 != 0x22) {\nLAB_000b2abc:\n                puVar8 = puVar20;\n                puVar18 = aBareword;\n                do {\n                  puVar17 = puVar8 + 4;\n                  *(undefined4 *)puVar18 = *puVar8;\n                  pfVar22 = (fts5YYMINORTYPE *)puVar8[1];\n                  uVar21 = puVar8[2];\n                  *(undefined4 *)(puVar18 + 0xc) = puVar8[3];\n                  *(fts5YYMINORTYPE **)(puVar18 + 4) = pfVar22;\n                  *(undefined4 *)(puVar18 + 8) = uVar21;\n                  puVar8 = puVar17;\n                  puVar18 = puVar18 + 0x10;\n                } while (puVar17 != puVar16);\n                if (-1 < iVar7) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              cVar14 = *pcVar28;\n              if (cVar14 == '\"') goto LAB_000b3320;\n              while (pfVar19 = (fts5YYMINORTYPE *)PTR_DAT_0015b5fc, cVar14 != '\0') {\n                while( true ) {\n                  pcVar28 = pcVar28 + 1;\n                  cVar14 = *pcVar28;\n                  if (cVar14 != '\"') break;\nLAB_000b3320:\n                  pcVar12 = pcVar28 + 1;\n                  pcVar28 = pcVar28 + 1;\n                  if (*pcVar12 != '\"') {\n                    pfStack_110 = (fts5YYMINORTYPE *)(pcVar28 + -(int)unaff_s4);\n                    unaff_s2 = (fts5yyParser *)&DAT_00000009;\n                    pfVar24 = pfStack_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (fts5yyParser *)0x0;\n              pfVar24 = (fts5YYMINORTYPE *)0x1;\n              pfVar19 = (fts5YYMINORTYPE *)(PTR_DAT_0015b5fc + -0x70e0);\n              (*pcVar15)(&sParse);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (fts5yyParser *)0x0;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else if (iVar7 == 0x29) {\n            unaff_s2 = (fts5yyParser *)&DAT_0000000b;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else {\n            unaff_s2 = (fts5yyParser *)0xf;\n            if (iVar7 != 0x2a) goto LAB_000b2abc;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n        }\n        else if (iVar7 == 0x3a) {\n          unaff_s2 = (fts5yyParser *)&DAT_00000005;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\n        else if (iVar7 < 0x3b) {\n          if (iVar7 == 0x2c) {\n            unaff_s2 = (fts5yyParser *)&DAT_0000000d;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else {\n            unaff_s2 = (fts5yyParser *)&DAT_00000006;\n            if (iVar7 != 0x2d) goto LAB_000b2abc;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n        }\n        else if (iVar7 == 0x7b) {\n          unaff_s2 = (fts5yyParser *)&DAT_00000007;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\n        else if (iVar7 == 0x7d) {\n          unaff_s2 = (fts5yyParser *)&DAT_00000008;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\n        else {\n          unaff_s2 = (fts5yyParser *)&DAT_0000000c;\n          if (iVar7 != 0x5e) goto LAB_000b2abc;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\nLAB_000b2b98:\n        pfStack_110 = (fts5YYMINORTYPE *)((int)unaff_s4 + (int)pfStack_110);\n      }\nLAB_000b2ba0:\n      unaff_s6 = PTR_DAT_0015b5fc;\n      unaff_s7 = fts5yypParser->fts5yytos;\n      puVar9 = PTR_DAT_0015b5fc + 0x4920;\n      fts5yypParser->pParse = &sParse;\n      pFVar23 = (Fts5Config *)(uint)unaff_s7->stateno;\n      puVar10 = PTR_DAT_0015b5fc + 0x48fc;\n      do {\n        pFVar4 = (Fts5ExprNode *)PTR_DAT_0015b5fc;\n        if ((Fts5Config *)&DAT_00000022 < pFVar23) goto joined_r0x000b33cc;\n        pfVar11 = (fts5yyStackEntry *)\n                  ((int)unaff_s2->fts5yystack + ((byte)puVar10[(int)pFVar23] - 8));\n        if ((fts5yyStackEntry *)0x78 < pfVar11) goto LAB_000b2c10;\n        while( true ) {\n          if ((fts5yyParser *)(uint)(byte)puVar9[(int)&pfVar11->stateno] == unaff_s2) {\n            pFVar23 = (Fts5Config *)(uint)(byte)(unaff_s6 + 0x499c)[(int)&pfVar11->stateno];\n            pFVar4 = (Fts5ExprNode *)PTR_DAT_0015b5fc;\n          }\n          else {\nLAB_000b2c10:\n            pFVar23 = (Fts5Config *)(uint)(byte)(puVar5 + 0x48c4)[(int)&pFVar23->db];\n            pFVar4 = (Fts5ExprNode *)PTR_DAT_0015b5fc;\n          }\njoined_r0x000b33cc:\n          PTR_DAT_0015b5fc = (undefined *)pFVar4;\n          if (pFVar23 < (Fts5Config *)0x53) {\n            if (pFVar23 < (Fts5Config *)0x50) {\n              fts5yypParser->fts5yytos = unaff_s7 + 1;\n              if (fts5yypParser->fts5yystackEnd < unaff_s7 + 1) {\n                fts5yypParser->fts5yytos = unaff_s7;\n                fts5yyStackOverflow(fts5yypParser);\n              }\n              else {\n                if ((Fts5Config *)&DAT_00000022 < pFVar23) {\n                  pFVar23 = (Fts5Config *)((uint)((int)&pFVar23->aPrefix + 3) & 0xff);\n                }\n                unaff_s7[1].stateno = (uchar)pFVar23;\n                unaff_s7[1].major = (uchar)unaff_s2;\n                unaff_s7[1].minor.fts5yy11 = (Fts5Colset *)unaff_s4;\n                unaff_s7[1].minor.fts5yy0.n = (int)pfVar24;\n              }\n            }\n            else if (pFVar23 == (Fts5Config *)0x51) {\n              fts5yypParser->fts5yytos = unaff_s7 + -1;\n              pfVar19 = (fts5YYMINORTYPE *)pFVar4;\n            }\n            else {\n              pFVar23 = (Fts5Config *)fts5yypParser->pParse;\n              pfVar22 = unaff_s4;\n              fts5yyminorunion.fts5yy11 = (Fts5Colset *)unaff_s4;\n              fts5yyminorunion.fts5yy0.n = (int)pfVar24;\n              (*pcVar15)(pFVar23,&pFVar4[-0x2d2].field_0x24);\n              pfVar19 = &fts5yyminorunion;\n              fts5yypParser->pParse = (Fts5Parse *)pFVar23;\n              fts5yy_destructor(unaff_s2,(uchar)pfVar19,pfVar24);\n              fts5yypminor = pfVar24;\n            }\n            goto LAB_000b2d18;\n          }\n          pppcVar3 = &pFVar23[-1].azCol;\n          pFVar23 = (Fts5Config *)((int)pppcVar3 + 1);\n          unaff_s5 = (int)(char)(unaff_s6 + 0x488c)[(int)&pFVar23->db];\n          if ((unaff_s5 != 0) || (unaff_s7 < fts5yypParser->fts5yystackEnd)) break;\n          fts5yyStackOverflow(fts5yypParser);\n          unaff_s7 = fts5yypParser->fts5yytos;\n          if (unaff_s7 <= unaff_s1) goto LAB_000b2d18;\n          pfVar11 = unaff_s2->fts5yystack + 3;\n          pFVar23 = (Fts5Config *)0x0;\n        }\n        if (pFVar23 < (Fts5Config *)0x1c) {\n                    /* WARNING: Could not emulate address calculation at 0x000b2c68 */\n                    /* WARNING: Treating indirect jump as call */\n          iVar7 = (*(code *)(&_gp + (int)pFVar4[0x59].apChild[(int)((int)pppcVar3 + -2)]))();\n          return iVar7;\n        }\n        fts5yypminor = (fts5YYMINORTYPE *)(unaff_s6 + 0x499c);\n        bVar1 = unaff_s7[unaff_s5].stateno;\n        pfVar11 = unaff_s7 + unaff_s5 + 1;\n        bVar2 = *(byte *)((int)((Fts5ExprNode *)(pFVar4[0x1d1].apChild + -8))->apChild +\n                         (int)pppcVar3 + -0x1f);\n        fts5yypParser->fts5yytos = pfVar11;\n        pfVar11->major = bVar2;\n        bVar1 = *(byte *)((uint)bVar2 + (int)*(char *)((int)pFVar4[0x1d2].apChild + (bVar1 - 8)) +\n                         (int)fts5yypminor);\n        pFVar23 = (Fts5Config *)(uint)bVar1;\n        pfVar11->stateno = bVar1;\n        unaff_s7 = fts5yypParser->fts5yytos;\n        pfVar19 = (fts5YYMINORTYPE *)pFVar4;\n      } while (unaff_s1 < unaff_s7);\nLAB_000b2d18:\n      if ((sParse.rc != 0) || (zExpr = (char *)pfStack_110, unaff_s2 == (fts5yyParser *)0x0))\n      goto LAB_000b2d2c;\n    } while( true );\n  }\n  iVar7 = 7;\nLAB_000b3294:\n  if (pCtx == *(sqlite3_context **)puVar6) {\n    return iVar7;\n  }\n  pcVar15 = fts5ExprFunction;\n  puVar9 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  piVar26 = *(int **)(puVar9 + 0xa8234);\n  iStack_164 = *piVar26;\n  pfVar24 = fts5yypminor;\n  pFStack_160 = pConfig;\n  pfStack_15c = unaff_s1;\n  pfStack_158 = unaff_s2;\n  pfStack_154 = unaff_s3;\n  pfStack_150 = unaff_s4;\n  iStack_14c = unaff_s5;\n  puStack_148 = unaff_s6;\n  pfStack_144 = unaff_s7;\n  pfStack_140 = unaff_s8;\n  pcStack_13c = pcVar15;\n  pGlobal = (Fts5Global *)(**(code **)(puVar9 + 0xa7ed0))();\n  db = (sqlite3 *)(**(code **)(puVar9 + 0xa7ee8))(pCtx);\n  psStack_170 = (sqlite3_context *)0x0;\n  psStack_16c = (sqlite3_context *)0x0;\n  pFStack_168 = (Fts5Config *)0x0;\n  if ((int)pfVar19 < 1) {\n    if (pfVar22 == (fts5YYMINORTYPE *)0x0) {\n      iVar7 = *(int *)(puVar9 + 0xa7e04) + -0x705c;\n    }\n    else {\n      iVar7 = *(int *)(puVar9 + 0xa7e04) + -0x706c;\n    }\n    nArg = (sqlite3_context *)\n           (**(code **)(puVar9 + 0xa7e30))(*(int *)(puVar9 + 0xa7e04) + -0x7048,iVar7);\n    pfVar24 = (fts5YYMINORTYPE *)0xffffffff;\n    psStack_170 = nArg;\n    (**(code **)(puVar9 + 0xa7f78))(pCtx);\n    pCtx = psStack_170;\n    (**(code **)(puVar9 + 0xa7e28))();\n    goto LAB_000b39d4;\n  }\n  if (pfVar22 == (fts5YYMINORTYPE *)0x0) {\n    iVar7 = 1;\n    pcStack_174 = (char *)(*(int *)(puVar9 + 0xa7e04) + -0x7050);\nLAB_000b38a0:\n    nArg_00 = (fts5YYMINORTYPE *)((int)pfVar19 + (3 - iVar7));\n    nArg = (sqlite3_context *)((int)nArg_00 * 4);\n    azArg = (char **)(**(code **)(puVar9 + 0xa7f68))(0);\n    if (azArg == (char **)0x0) {\nLAB_000b3a30:\n      (**(code **)(puVar9 + 0xa7f8c))();\n      goto LAB_000b39d4;\n    }\n    *azArg = (char *)0x0;\n    azArg[1] = (char *)(*(int *)(puVar9 + 0xa7df0) + 0x538c);\n    azArg[2] = (char *)(*(int *)(puVar9 + 0xa7e04) + -0x701c);\n    if (iVar7 < (int)pfVar19) {\n      pcVar28 = (char *)((int)fts5yypminor + iVar7 * 4);\n      ppcVar27 = azArg + 3;\n      do {\n        uVar21 = *(undefined4 *)pcVar28;\n        pcVar28 = pcVar28 + 4;\n        pcVar12 = (char *)(**(code **)(puVar9 + 0xa7e1c))(uVar21);\n        *ppcVar27 = pcVar12;\n        ppcVar27 = ppcVar27 + 1;\n      } while ((char *)((int)fts5yypminor + (int)pfVar19 * 4) != pcVar28);\n    }\n  }\n  else {\n    if ((Fts5ExprNode *)pfVar19 != (Fts5ExprNode *)0x1) {\n      iVar7 = 2;\n      pcStack_174 = (char *)(**(code **)(puVar9 + 0xa7e1c))((fts5yypminor->fts5yy0).n);\n      goto LAB_000b38a0;\n    }\n    nArg = (sqlite3_context *)&DAT_0000000c;\n    azArg = (char **)(**(code **)(puVar9 + 0xa7f68))(0);\n    if (azArg == (char **)0x0) goto LAB_000b3a30;\n    iVar7 = *(int *)(puVar9 + 0xa7df0);\n    nArg_00 = (fts5YYMINORTYPE *)0x3;\n    *azArg = (char *)0x0;\n    azArg[1] = (char *)(iVar7 + 0x538c);\n    pcStack_174 = (char *)(*(int *)(puVar9 + 0xa7e04) + -0x7050);\n    azArg[2] = (char *)(*(int *)(puVar9 + 0xa7e04) + -0x701c);\n  }\n  pfVar19 = (fts5YYMINORTYPE *)(**(code **)(puVar9 + 0xa7e1c))(fts5yypminor->fts5yyinit);\n  nArg = (sqlite3_context *)\n         sqlite3Fts5ConfigParse(pGlobal,db,(int)nArg_00,azArg,&pFStack_168,(char **)&psStack_170);\n  pfVar24 = nArg_00;\n  if ((nArg == (sqlite3_context *)0x0) &&\n     (nArg = (sqlite3_context *)\n             sqlite3Fts5ExprNew(pFStack_168,pFStack_168->nCol,(char *)&pfVar19->fts5yyinit,\n                                (Fts5Expr **)&psStack_16c,(char **)&psStack_170), pfVar24 = pfVar19,\n     nArg == (sqlite3_context *)0x0)) {\n    pfVar24 = (fts5YYMINORTYPE *)psStack_16c->pMem;\n    if (*(int *)((int)pfVar24 + 0xc) == 0) {\n      psVar13 = (sqlite3_context *)\n                (**(code **)(puVar9 + 0xa7e30))(*(int *)(puVar9 + 0xa7df0) + 0x53f4);\n      pfVar24 = pfVar19;\n    }\n    else if (pfVar22 == (fts5YYMINORTYPE *)0x0) {\n      psVar13 = (sqlite3_context *)fts5ExprPrint(pFStack_168,(Fts5ExprNode *)&pfVar24->fts5yy0);\n      pfVar24 = pfVar19;\n    }\n    else {\n      psVar13 = (sqlite3_context *)\n                fts5ExprPrintTcl(pFStack_168,pcStack_174,(Fts5ExprNode *)&pfVar24->fts5yy0);\n    }\n    if (psVar13 == (sqlite3_context *)0x0) {\n      nArg = (sqlite3_context *)&DAT_00000007;\n      if (psStack_170 == (sqlite3_context *)0x0) {\n        pcVar15 = *(code **)(puVar9 + 0xa7f84);\n        goto LAB_000b3b60;\n      }\nLAB_000b3970:\n      pfVar24 = (fts5YYMINORTYPE *)0xffffffff;\n      nArg = psStack_170;\n      (**(code **)(puVar9 + 0xa7f78))(pCtx);\n      (**(code **)(puVar9 + 0xa7e28))(psStack_170);\n    }\n    else {\n      pfVar24 = (fts5YYMINORTYPE *)0xffffffff;\n      nArg = psVar13;\n      (**(code **)(puVar9 + 0xa7e84))(pCtx,psVar13,0xffffffff,0xffffffff);\n      (**(code **)(puVar9 + 0xa7e28))(psVar13);\n    }\n  }\n  else {\n    pcVar15 = *(code **)(puVar9 + 0xa7f84);\n    if (psStack_170 != (sqlite3_context *)0x0) goto LAB_000b3970;\nLAB_000b3b60:\n    (*pcVar15)(pCtx);\n  }\n  (**(code **)(puVar9 + 0xa7e28))(azArg);\n  (*(code *)(*(int *)(puVar9 + 0xa7ec8) + -0xe08))(pFStack_168);\n  pCtx = psStack_16c;\n  if (psStack_16c != (sqlite3_context *)0x0) {\n    sqlite3Fts5ExprFree((Fts5Expr *)psStack_16c);\n  }\nLAB_000b39d4:\n  iVar7 = *piVar26;\n  if (iStack_164 == iVar7) {\n    return iVar7;\n  }\n  iVar7 = (**(code **)(puVar9 + 0xa8218))();\n  fts5ExprFunction(pCtx,(int)nArg,(sqlite3_value **)&pfVar24->fts5yy11,1);\n  return iVar7;\nLAB_000b2d2c:\n  pfVar11 = fts5yypParser->fts5yytos;\n  if (unaff_s1 < pfVar11) {\n    pFVar23 = (Fts5Config *)(PTR_LAB_0015b6f8 + 0x23c0);\n    do {\n      pfVar19 = &pfVar11->minor;\n      fts5yypParser->fts5yytos = pfVar11 + -1;\n      fts5yy_destructor((fts5yyParser *)(uint)pfVar11->major,(uchar)pfVar19,fts5yypminor);\n      pfVar11 = fts5yypParser->fts5yytos;\n    } while (unaff_s1 < pfVar11);\n  }\n  (*(code *)PTR_sqlite3_free_0015b620)(fts5yypParser);\n  if ((iCol < pConfig->nCol) && (sParse.pExpr != (Fts5ExprNode *)0x0)) {\n    if (sParse.rc == 0) {\n      pfVar22 = (fts5YYMINORTYPE *)&DAT_00000008;\n      fts5yypminor = (fts5YYMINORTYPE *)0x0;\n      pfVar24 = (fts5YYMINORTYPE *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&sParse.rc);\n      if (pfVar24 != (fts5YYMINORTYPE *)0x0) {\n        (pfVar24->fts5yy0).n = iCol;\n        pfVar24->fts5yyinit = 1;\n        pfVar19 = (fts5YYMINORTYPE *)sParse.pExpr;\n        sqlite3Fts5ParseSetColset(&sParse,sParse.pExpr,(Fts5Colset *)&pfVar24->fts5yy0);\n        fts5yypminor = pfVar24;\n      }\n      goto LAB_000b321c;\n    }\nLAB_000b2da8:\n    sqlite3Fts5ParseNodeFree(sParse.pExpr);\n  }\n  else {\nLAB_000b321c:\n    if (sParse.rc != 0) goto LAB_000b2da8;\n    pFVar23 = (Fts5Config *)(*(code *)PTR_sqlite3_malloc_0015b640)(0x18);\n    *ppNew = (Fts5Expr *)pFVar23;\n    if (pFVar23 == (Fts5Config *)0x0) {\n      sParse.rc = 7;\n      goto LAB_000b2da8;\n    }\n    if (sParse.pExpr == (Fts5ExprNode *)0x0) {\n      if (sParse.rc == 0) {\n        pfVar22 = (fts5YYMINORTYPE *)&DAT_00000028;\n        fts5yypminor = (fts5YYMINORTYPE *)0x0;\n        pcVar28 = (char *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&sParse.rc);\n        pFVar23->zName = pcVar28;\n        if (pcVar28 != (char *)0x0) {\n          pcVar28[4] = '\0';\n          pcVar28[5] = '\0';\n          pcVar28[6] = '\0';\n          pcVar28[7] = '\x01';\n        }\n      }\n      else {\n        pFVar23->zName = (char *)0x0;\n      }\n    }\n    else {\n      pFVar23->zName = (char *)sParse.pExpr;\n    }\n    pFVar23->db = (sqlite3 *)0x0;\n    pFVar23->zDb = (char *)pConfig;\n    pFVar23->abUnindexed = (u8 *)sParse.apPhrase;\n    pFVar23->azCol = (char **)sParse.nPhrase;\n    sParse.apPhrase = (Fts5ExprPhrase **)0x0;\n  }\n  (*(code *)PTR_sqlite3_free_0015b620)(sParse.apPhrase);\n  *pzErr = sParse.zErr;\n  iVar7 = sParse.rc;\n  pConfig = pFVar23;\n  unaff_s3 = unaff_s2;\n  unaff_s8 = fts5yypParser;\n  goto LAB_000b3294;\n}" primitive_type (function_declarator "sqlite3Fts5ExprNew(Fts5Config *pConfig,int iCol,char *zExpr,Fts5Expr **ppNew,char **pzErr)" identifier (parameter_list "(Fts5Config *pConfig,int iCol,char *zExpr,Fts5Expr **ppNew,char **pzErr)" ( (parameter_declaration "Fts5Config *pConfig" type_identifier (pointer_declarator "*pConfig" * identifier)) , (parameter_declaration "int iCol" primitive_type identifier) , (parameter_declaration "char *zExpr" primitive_type (pointer_declarator "*zExpr" * identifier)) , (parameter_declaration "Fts5Expr **ppNew" type_identifier (pointer_declarator "**ppNew" * (pointer_declarator "*ppNew" * identifier))) , (parameter_declaration "char **pzErr" primitive_type (pointer_declarator "**pzErr" * (pointer_declarator "*pzErr" * identifier))) ))) (compound_statement "{\n  byte bVar1;\n  byte bVar2;\n  char ***pppcVar3;\n  Fts5ExprNode *pFVar4;\n  undefined *puVar5;\n  undefined *puVar6;\n  sqlite3_context *pCtx;\n  fts5yyParser *fts5yypParser;\n  int iVar7;\n  undefined4 *puVar8;\n  undefined *puVar9;\n  undefined *puVar10;\n  fts5yyStackEntry *pfVar11;\n  char cVar14;\n  Fts5Global *pGlobal;\n  sqlite3 *db;\n  char **azArg;\n  char *pcVar12;\n  sqlite3_context *psVar13;\n  code *pcVar15;\n  undefined4 *puVar16;\n  undefined4 *puVar17;\n  u8 *puVar18;\n  fts5YYMINORTYPE *pfVar19;\n  undefined4 *puVar20;\n  sqlite3_context *nArg;\n  undefined4 uVar21;\n  fts5YYMINORTYPE *fts5yypminor;\n  fts5YYMINORTYPE *pfVar22;\n  Fts5Config *pFVar23;\n  fts5yyStackEntry *unaff_s1;\n  fts5YYMINORTYPE *pfVar24;\n  fts5yyParser *unaff_s2;\n  fts5yyParser *pfVar25;\n  int *piVar26;\n  fts5yyParser *unaff_s3;\n  fts5YYMINORTYPE *unaff_s4;\n  int unaff_s5;\n  fts5YYMINORTYPE *nArg_00;\n  undefined *unaff_s6;\n  fts5yyStackEntry *unaff_s7;\n  char **ppcVar27;\n  fts5yyParser *unaff_s8;\n  char *pcVar28;\n  char *pcStack_174;\n  sqlite3_context *psStack_170;\n  sqlite3_context *psStack_16c;\n  Fts5Config *pFStack_168;\n  int iStack_164;\n  Fts5Config *pFStack_160;\n  fts5yyStackEntry *pfStack_15c;\n  fts5yyParser *pfStack_158;\n  fts5yyParser *pfStack_154;\n  fts5YYMINORTYPE *pfStack_150;\n  int iStack_14c;\n  undefined *puStack_148;\n  fts5yyStackEntry *pfStack_144;\n  fts5yyParser *pfStack_140;\n  code *pcStack_13c;\n  fts5YYMINORTYPE *pfStack_110;\n  fts5YYMINORTYPE fts5yyminorunion;\n  Fts5Parse sParse;\n  u8 aBareword [128];\n  \n  puVar6 = PTR___stack_chk_guard_0015ba2c;\n  puVar9 = PTR_sqlite3_malloc64_0015b760;\n  pfVar19 = (fts5YYMINORTYPE *)0x4bc;\n  sParse.pConfig = (Fts5Config *)0x0;\n  sParse.zErr = (char *)0x0;\n  sParse.rc = 0;\n  sParse.nPhrase = 0;\n  sParse.apPhrase = (Fts5ExprPhrase **)0x0;\n  sParse.pExpr = (Fts5ExprNode *)0x0;\n  pCtx = *(sqlite3_context **)PTR___stack_chk_guard_0015ba2c;\n  *ppNew = (Fts5Expr *)0x0;\n  *pzErr = (char *)0x0;\n  fts5yypminor = (fts5YYMINORTYPE *)zExpr;\n  pfVar22 = (fts5YYMINORTYPE *)ppNew;\n  fts5yypParser = (fts5yyParser *)(*(code *)puVar9)(0);\n  puVar9 = PTR_DAT_0015b5fc;\n  if (fts5yypParser != (fts5yyParser *)0x0) {\n    unaff_s1 = fts5yypParser->fts5yystack;\n    fts5yypParser->fts5yystack[0].stateno = '\0';\n    puVar10 = PTR_LAB_0015b71c;\n    fts5yypParser->fts5yystack[0].major = '\0';\n    puVar20 = (undefined4 *)(puVar9 + 0x638);\n    fts5yypParser->fts5yystackEnd = fts5yypParser->fts5yystack + 99;\n    puVar5 = PTR_DAT_0015b5fc;\n    pcVar15 = (code *)(puVar10 + 0x2288);\n    fts5yypParser->fts5yytos = unaff_s1;\n    puVar16 = (undefined4 *)(puVar9 + 0x6b8);\n    sParse.pConfig = pConfig;\n    pfStack_110 = (fts5YYMINORTYPE *)zExpr;\nLAB_000b2a68:\n    do {\n      unaff_s4 = (fts5YYMINORTYPE *)zExpr;\n      iVar7 = (int)*(char *)unaff_s4;\n      if ((iVar7 - 9U & 0xff) < 0x18) {\n        puVar18 = aBareword;\n        puVar8 = puVar20;\n        if ((int)((0x800013U >> (iVar7 - 9U & 0x1f)) << 0x1f) < 0) {\n          zExpr = (char *)((int)&(unaff_s4->fts5yy0).p + 1);\n          goto LAB_000b2a68;\n        }\n        do {\n          puVar17 = puVar8 + 4;\n          *(undefined4 *)puVar18 = *puVar8;\n          pfVar22 = (fts5YYMINORTYPE *)puVar8[1];\n          uVar21 = puVar8[2];\n          *(undefined4 *)(puVar18 + 0xc) = puVar8[3];\n          *(fts5YYMINORTYPE **)(puVar18 + 4) = pfVar22;\n          *(undefined4 *)(puVar18 + 8) = uVar21;\n          puVar8 = puVar17;\n          puVar18 = puVar18 + 0x10;\n        } while (puVar17 != puVar16);\nLAB_000b34f0:\n        if (aBareword[iVar7] != '\0') {\nLAB_000b2b04:\n          pfVar24 = unaff_s4;\n          do {\n            pfVar24 = (fts5YYMINORTYPE *)((int)&(pfVar24->fts5yy0).p + 1);\n            cVar14 = *(char *)pfVar24;\n            puVar8 = puVar20;\n            puVar18 = aBareword;\n            do {\n              pfVar22 = (fts5YYMINORTYPE *)*puVar8;\n              puVar17 = puVar8 + 4;\n              *(fts5YYMINORTYPE **)puVar18 = pfVar22;\n              fts5yypminor = (fts5YYMINORTYPE *)puVar8[1];\n              pfVar19 = (fts5YYMINORTYPE *)puVar8[2];\n              *(undefined4 *)(puVar18 + 0xc) = puVar8[3];\n              *(fts5YYMINORTYPE **)(puVar18 + 4) = fts5yypminor;\n              *(fts5YYMINORTYPE **)(puVar18 + 8) = pfVar19;\n              puVar8 = puVar17;\n              puVar18 = puVar18 + 0x10;\n            } while (puVar17 != puVar16);\n          } while ((cVar14 < 0) || (aBareword[cVar14] != '\0'));\n          pfVar24 = (fts5YYMINORTYPE *)((int)pfVar24 - (int)unaff_s4);\n          if (pfVar24 == (fts5YYMINORTYPE *)0x2) {\n            if ((*(char *)unaff_s4 == 'O') && (*(char *)((int)&(unaff_s4->fts5yy0).p + 1) == 'R')) {\n              unaff_s2 = (fts5yyParser *)0x1;\n              pfStack_110 = (fts5YYMINORTYPE *)0x2;\n            }\n            else {\n              unaff_s2 = (fts5yyParser *)&DAT_00000009;\n              pfStack_110 = (fts5YYMINORTYPE *)0x2;\n            }\n          }\n          else if (pfVar24 == (fts5YYMINORTYPE *)0x3) {\n            if ((*(char *)unaff_s4 == 'N') &&\n               (pfVar25 = (fts5yyParser *)&DAT_00000009,\n               *(char *)((int)&(unaff_s4->fts5yy0).p + 1) == 'O')) {\n              if (*(char *)((int)&(unaff_s4->fts5yy0).p + 2) == 'T') {\n                pfVar25 = (fts5yyParser *)0x3;\n              }\n            }\n            else {\n              pfVar25 = (fts5yyParser *)&DAT_00000009;\n            }\n            if (((*(char *)unaff_s4 == 'A') && (*(char *)((int)&(unaff_s4->fts5yy0).p + 1) == 'N'))\n               && (unaff_s2 = (fts5yyParser *)0x2, *(char *)((int)&(unaff_s4->fts5yy0).p + 2) == 'D'\n                  )) {\n              pfStack_110 = (fts5YYMINORTYPE *)0x3;\n            }\n            else {\n              pfStack_110 = (fts5YYMINORTYPE *)0x3;\n              unaff_s2 = pfVar25;\n            }\n          }\n          else {\n            unaff_s2 = (fts5yyParser *)&DAT_00000009;\n            pfStack_110 = pfVar24;\n          }\n          goto LAB_000b2b98;\n        }\n        pfVar24 = (fts5YYMINORTYPE *)0x1;\n        pfVar19 = (fts5YYMINORTYPE *)(PTR_DAT_0015b5fc + -0x70cc);\n        fts5yypminor = unaff_s4;\n        (*pcVar15)(&sParse);\n        unaff_s2 = (fts5yyParser *)0x0;\n      }\n      else {\n        pfVar19 = (fts5YYMINORTYPE *)0x0;\n        if (iVar7 == 0x2b) {\n          unaff_s2 = (fts5yyParser *)&DAT_0000000e;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\n        else if (iVar7 < 0x2c) {\n          if (iVar7 == 0x28) {\n            unaff_s2 = (fts5yyParser *)&DAT_0000000a;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else if (iVar7 < 0x29) {\n            if (iVar7 != 0) {\n              pcVar28 = (char *)((int)&(unaff_s4->fts5yy0).p + 1);\n              if (iVar7 != 0x22) {\nLAB_000b2abc:\n                puVar8 = puVar20;\n                puVar18 = aBareword;\n                do {\n                  puVar17 = puVar8 + 4;\n                  *(undefined4 *)puVar18 = *puVar8;\n                  pfVar22 = (fts5YYMINORTYPE *)puVar8[1];\n                  uVar21 = puVar8[2];\n                  *(undefined4 *)(puVar18 + 0xc) = puVar8[3];\n                  *(fts5YYMINORTYPE **)(puVar18 + 4) = pfVar22;\n                  *(undefined4 *)(puVar18 + 8) = uVar21;\n                  puVar8 = puVar17;\n                  puVar18 = puVar18 + 0x10;\n                } while (puVar17 != puVar16);\n                if (-1 < iVar7) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              cVar14 = *pcVar28;\n              if (cVar14 == '\"') goto LAB_000b3320;\n              while (pfVar19 = (fts5YYMINORTYPE *)PTR_DAT_0015b5fc, cVar14 != '\0') {\n                while( true ) {\n                  pcVar28 = pcVar28 + 1;\n                  cVar14 = *pcVar28;\n                  if (cVar14 != '\"') break;\nLAB_000b3320:\n                  pcVar12 = pcVar28 + 1;\n                  pcVar28 = pcVar28 + 1;\n                  if (*pcVar12 != '\"') {\n                    pfStack_110 = (fts5YYMINORTYPE *)(pcVar28 + -(int)unaff_s4);\n                    unaff_s2 = (fts5yyParser *)&DAT_00000009;\n                    pfVar24 = pfStack_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (fts5yyParser *)0x0;\n              pfVar24 = (fts5YYMINORTYPE *)0x1;\n              pfVar19 = (fts5YYMINORTYPE *)(PTR_DAT_0015b5fc + -0x70e0);\n              (*pcVar15)(&sParse);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (fts5yyParser *)0x0;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else if (iVar7 == 0x29) {\n            unaff_s2 = (fts5yyParser *)&DAT_0000000b;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else {\n            unaff_s2 = (fts5yyParser *)0xf;\n            if (iVar7 != 0x2a) goto LAB_000b2abc;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n        }\n        else if (iVar7 == 0x3a) {\n          unaff_s2 = (fts5yyParser *)&DAT_00000005;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\n        else if (iVar7 < 0x3b) {\n          if (iVar7 == 0x2c) {\n            unaff_s2 = (fts5yyParser *)&DAT_0000000d;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else {\n            unaff_s2 = (fts5yyParser *)&DAT_00000006;\n            if (iVar7 != 0x2d) goto LAB_000b2abc;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n        }\n        else if (iVar7 == 0x7b) {\n          unaff_s2 = (fts5yyParser *)&DAT_00000007;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\n        else if (iVar7 == 0x7d) {\n          unaff_s2 = (fts5yyParser *)&DAT_00000008;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\n        else {\n          unaff_s2 = (fts5yyParser *)&DAT_0000000c;\n          if (iVar7 != 0x5e) goto LAB_000b2abc;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\nLAB_000b2b98:\n        pfStack_110 = (fts5YYMINORTYPE *)((int)unaff_s4 + (int)pfStack_110);\n      }\nLAB_000b2ba0:\n      unaff_s6 = PTR_DAT_0015b5fc;\n      unaff_s7 = fts5yypParser->fts5yytos;\n      puVar9 = PTR_DAT_0015b5fc + 0x4920;\n      fts5yypParser->pParse = &sParse;\n      pFVar23 = (Fts5Config *)(uint)unaff_s7->stateno;\n      puVar10 = PTR_DAT_0015b5fc + 0x48fc;\n      do {\n        pFVar4 = (Fts5ExprNode *)PTR_DAT_0015b5fc;\n        if ((Fts5Config *)&DAT_00000022 < pFVar23) goto joined_r0x000b33cc;\n        pfVar11 = (fts5yyStackEntry *)\n                  ((int)unaff_s2->fts5yystack + ((byte)puVar10[(int)pFVar23] - 8));\n        if ((fts5yyStackEntry *)0x78 < pfVar11) goto LAB_000b2c10;\n        while( true ) {\n          if ((fts5yyParser *)(uint)(byte)puVar9[(int)&pfVar11->stateno] == unaff_s2) {\n            pFVar23 = (Fts5Config *)(uint)(byte)(unaff_s6 + 0x499c)[(int)&pfVar11->stateno];\n            pFVar4 = (Fts5ExprNode *)PTR_DAT_0015b5fc;\n          }\n          else {\nLAB_000b2c10:\n            pFVar23 = (Fts5Config *)(uint)(byte)(puVar5 + 0x48c4)[(int)&pFVar23->db];\n            pFVar4 = (Fts5ExprNode *)PTR_DAT_0015b5fc;\n          }\njoined_r0x000b33cc:\n          PTR_DAT_0015b5fc = (undefined *)pFVar4;\n          if (pFVar23 < (Fts5Config *)0x53) {\n            if (pFVar23 < (Fts5Config *)0x50) {\n              fts5yypParser->fts5yytos = unaff_s7 + 1;\n              if (fts5yypParser->fts5yystackEnd < unaff_s7 + 1) {\n                fts5yypParser->fts5yytos = unaff_s7;\n                fts5yyStackOverflow(fts5yypParser);\n              }\n              else {\n                if ((Fts5Config *)&DAT_00000022 < pFVar23) {\n                  pFVar23 = (Fts5Config *)((uint)((int)&pFVar23->aPrefix + 3) & 0xff);\n                }\n                unaff_s7[1].stateno = (uchar)pFVar23;\n                unaff_s7[1].major = (uchar)unaff_s2;\n                unaff_s7[1].minor.fts5yy11 = (Fts5Colset *)unaff_s4;\n                unaff_s7[1].minor.fts5yy0.n = (int)pfVar24;\n              }\n            }\n            else if (pFVar23 == (Fts5Config *)0x51) {\n              fts5yypParser->fts5yytos = unaff_s7 + -1;\n              pfVar19 = (fts5YYMINORTYPE *)pFVar4;\n            }\n            else {\n              pFVar23 = (Fts5Config *)fts5yypParser->pParse;\n              pfVar22 = unaff_s4;\n              fts5yyminorunion.fts5yy11 = (Fts5Colset *)unaff_s4;\n              fts5yyminorunion.fts5yy0.n = (int)pfVar24;\n              (*pcVar15)(pFVar23,&pFVar4[-0x2d2].field_0x24);\n              pfVar19 = &fts5yyminorunion;\n              fts5yypParser->pParse = (Fts5Parse *)pFVar23;\n              fts5yy_destructor(unaff_s2,(uchar)pfVar19,pfVar24);\n              fts5yypminor = pfVar24;\n            }\n            goto LAB_000b2d18;\n          }\n          pppcVar3 = &pFVar23[-1].azCol;\n          pFVar23 = (Fts5Config *)((int)pppcVar3 + 1);\n          unaff_s5 = (int)(char)(unaff_s6 + 0x488c)[(int)&pFVar23->db];\n          if ((unaff_s5 != 0) || (unaff_s7 < fts5yypParser->fts5yystackEnd)) break;\n          fts5yyStackOverflow(fts5yypParser);\n          unaff_s7 = fts5yypParser->fts5yytos;\n          if (unaff_s7 <= unaff_s1) goto LAB_000b2d18;\n          pfVar11 = unaff_s2->fts5yystack + 3;\n          pFVar23 = (Fts5Config *)0x0;\n        }\n        if (pFVar23 < (Fts5Config *)0x1c) {\n                    /* WARNING: Could not emulate address calculation at 0x000b2c68 */\n                    /* WARNING: Treating indirect jump as call */\n          iVar7 = (*(code *)(&_gp + (int)pFVar4[0x59].apChild[(int)((int)pppcVar3 + -2)]))();\n          return iVar7;\n        }\n        fts5yypminor = (fts5YYMINORTYPE *)(unaff_s6 + 0x499c);\n        bVar1 = unaff_s7[unaff_s5].stateno;\n        pfVar11 = unaff_s7 + unaff_s5 + 1;\n        bVar2 = *(byte *)((int)((Fts5ExprNode *)(pFVar4[0x1d1].apChild + -8))->apChild +\n                         (int)pppcVar3 + -0x1f);\n        fts5yypParser->fts5yytos = pfVar11;\n        pfVar11->major = bVar2;\n        bVar1 = *(byte *)((uint)bVar2 + (int)*(char *)((int)pFVar4[0x1d2].apChild + (bVar1 - 8)) +\n                         (int)fts5yypminor);\n        pFVar23 = (Fts5Config *)(uint)bVar1;\n        pfVar11->stateno = bVar1;\n        unaff_s7 = fts5yypParser->fts5yytos;\n        pfVar19 = (fts5YYMINORTYPE *)pFVar4;\n      } while (unaff_s1 < unaff_s7);\nLAB_000b2d18:\n      if ((sParse.rc != 0) || (zExpr = (char *)pfStack_110, unaff_s2 == (fts5yyParser *)0x0))\n      goto LAB_000b2d2c;\n    } while( true );\n  }\n  iVar7 = 7;\nLAB_000b3294:\n  if (pCtx == *(sqlite3_context **)puVar6) {\n    return iVar7;\n  }\n  pcVar15 = fts5ExprFunction;\n  puVar9 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  piVar26 = *(int **)(puVar9 + 0xa8234);\n  iStack_164 = *piVar26;\n  pfVar24 = fts5yypminor;\n  pFStack_160 = pConfig;\n  pfStack_15c = unaff_s1;\n  pfStack_158 = unaff_s2;\n  pfStack_154 = unaff_s3;\n  pfStack_150 = unaff_s4;\n  iStack_14c = unaff_s5;\n  puStack_148 = unaff_s6;\n  pfStack_144 = unaff_s7;\n  pfStack_140 = unaff_s8;\n  pcStack_13c = pcVar15;\n  pGlobal = (Fts5Global *)(**(code **)(puVar9 + 0xa7ed0))();\n  db = (sqlite3 *)(**(code **)(puVar9 + 0xa7ee8))(pCtx);\n  psStack_170 = (sqlite3_context *)0x0;\n  psStack_16c = (sqlite3_context *)0x0;\n  pFStack_168 = (Fts5Config *)0x0;\n  if ((int)pfVar19 < 1) {\n    if (pfVar22 == (fts5YYMINORTYPE *)0x0) {\n      iVar7 = *(int *)(puVar9 + 0xa7e04) + -0x705c;\n    }\n    else {\n      iVar7 = *(int *)(puVar9 + 0xa7e04) + -0x706c;\n    }\n    nArg = (sqlite3_context *)\n           (**(code **)(puVar9 + 0xa7e30))(*(int *)(puVar9 + 0xa7e04) + -0x7048,iVar7);\n    pfVar24 = (fts5YYMINORTYPE *)0xffffffff;\n    psStack_170 = nArg;\n    (**(code **)(puVar9 + 0xa7f78))(pCtx);\n    pCtx = psStack_170;\n    (**(code **)(puVar9 + 0xa7e28))();\n    goto LAB_000b39d4;\n  }\n  if (pfVar22 == (fts5YYMINORTYPE *)0x0) {\n    iVar7 = 1;\n    pcStack_174 = (char *)(*(int *)(puVar9 + 0xa7e04) + -0x7050);\nLAB_000b38a0:\n    nArg_00 = (fts5YYMINORTYPE *)((int)pfVar19 + (3 - iVar7));\n    nArg = (sqlite3_context *)((int)nArg_00 * 4);\n    azArg = (char **)(**(code **)(puVar9 + 0xa7f68))(0);\n    if (azArg == (char **)0x0) {\nLAB_000b3a30:\n      (**(code **)(puVar9 + 0xa7f8c))();\n      goto LAB_000b39d4;\n    }\n    *azArg = (char *)0x0;\n    azArg[1] = (char *)(*(int *)(puVar9 + 0xa7df0) + 0x538c);\n    azArg[2] = (char *)(*(int *)(puVar9 + 0xa7e04) + -0x701c);\n    if (iVar7 < (int)pfVar19) {\n      pcVar28 = (char *)((int)fts5yypminor + iVar7 * 4);\n      ppcVar27 = azArg + 3;\n      do {\n        uVar21 = *(undefined4 *)pcVar28;\n        pcVar28 = pcVar28 + 4;\n        pcVar12 = (char *)(**(code **)(puVar9 + 0xa7e1c))(uVar21);\n        *ppcVar27 = pcVar12;\n        ppcVar27 = ppcVar27 + 1;\n      } while ((char *)((int)fts5yypminor + (int)pfVar19 * 4) != pcVar28);\n    }\n  }\n  else {\n    if ((Fts5ExprNode *)pfVar19 != (Fts5ExprNode *)0x1) {\n      iVar7 = 2;\n      pcStack_174 = (char *)(**(code **)(puVar9 + 0xa7e1c))((fts5yypminor->fts5yy0).n);\n      goto LAB_000b38a0;\n    }\n    nArg = (sqlite3_context *)&DAT_0000000c;\n    azArg = (char **)(**(code **)(puVar9 + 0xa7f68))(0);\n    if (azArg == (char **)0x0) goto LAB_000b3a30;\n    iVar7 = *(int *)(puVar9 + 0xa7df0);\n    nArg_00 = (fts5YYMINORTYPE *)0x3;\n    *azArg = (char *)0x0;\n    azArg[1] = (char *)(iVar7 + 0x538c);\n    pcStack_174 = (char *)(*(int *)(puVar9 + 0xa7e04) + -0x7050);\n    azArg[2] = (char *)(*(int *)(puVar9 + 0xa7e04) + -0x701c);\n  }\n  pfVar19 = (fts5YYMINORTYPE *)(**(code **)(puVar9 + 0xa7e1c))(fts5yypminor->fts5yyinit);\n  nArg = (sqlite3_context *)\n         sqlite3Fts5ConfigParse(pGlobal,db,(int)nArg_00,azArg,&pFStack_168,(char **)&psStack_170);\n  pfVar24 = nArg_00;\n  if ((nArg == (sqlite3_context *)0x0) &&\n     (nArg = (sqlite3_context *)\n             sqlite3Fts5ExprNew(pFStack_168,pFStack_168->nCol,(char *)&pfVar19->fts5yyinit,\n                                (Fts5Expr **)&psStack_16c,(char **)&psStack_170), pfVar24 = pfVar19,\n     nArg == (sqlite3_context *)0x0)) {\n    pfVar24 = (fts5YYMINORTYPE *)psStack_16c->pMem;\n    if (*(int *)((int)pfVar24 + 0xc) == 0) {\n      psVar13 = (sqlite3_context *)\n                (**(code **)(puVar9 + 0xa7e30))(*(int *)(puVar9 + 0xa7df0) + 0x53f4);\n      pfVar24 = pfVar19;\n    }\n    else if (pfVar22 == (fts5YYMINORTYPE *)0x0) {\n      psVar13 = (sqlite3_context *)fts5ExprPrint(pFStack_168,(Fts5ExprNode *)&pfVar24->fts5yy0);\n      pfVar24 = pfVar19;\n    }\n    else {\n      psVar13 = (sqlite3_context *)\n                fts5ExprPrintTcl(pFStack_168,pcStack_174,(Fts5ExprNode *)&pfVar24->fts5yy0);\n    }\n    if (psVar13 == (sqlite3_context *)0x0) {\n      nArg = (sqlite3_context *)&DAT_00000007;\n      if (psStack_170 == (sqlite3_context *)0x0) {\n        pcVar15 = *(code **)(puVar9 + 0xa7f84);\n        goto LAB_000b3b60;\n      }\nLAB_000b3970:\n      pfVar24 = (fts5YYMINORTYPE *)0xffffffff;\n      nArg = psStack_170;\n      (**(code **)(puVar9 + 0xa7f78))(pCtx);\n      (**(code **)(puVar9 + 0xa7e28))(psStack_170);\n    }\n    else {\n      pfVar24 = (fts5YYMINORTYPE *)0xffffffff;\n      nArg = psVar13;\n      (**(code **)(puVar9 + 0xa7e84))(pCtx,psVar13,0xffffffff,0xffffffff);\n      (**(code **)(puVar9 + 0xa7e28))(psVar13);\n    }\n  }\n  else {\n    pcVar15 = *(code **)(puVar9 + 0xa7f84);\n    if (psStack_170 != (sqlite3_context *)0x0) goto LAB_000b3970;\nLAB_000b3b60:\n    (*pcVar15)(pCtx);\n  }\n  (**(code **)(puVar9 + 0xa7e28))(azArg);\n  (*(code *)(*(int *)(puVar9 + 0xa7ec8) + -0xe08))(pFStack_168);\n  pCtx = psStack_16c;\n  if (psStack_16c != (sqlite3_context *)0x0) {\n    sqlite3Fts5ExprFree((Fts5Expr *)psStack_16c);\n  }\nLAB_000b39d4:\n  iVar7 = *piVar26;\n  if (iStack_164 == iVar7) {\n    return iVar7;\n  }\n  iVar7 = (**(code **)(puVar9 + 0xa8218))();\n  fts5ExprFunction(pCtx,(int)nArg,(sqlite3_value **)&pfVar24->fts5yy11,1);\n  return iVar7;\nLAB_000b2d2c:\n  pfVar11 = fts5yypParser->fts5yytos;\n  if (unaff_s1 < pfVar11) {\n    pFVar23 = (Fts5Config *)(PTR_LAB_0015b6f8 + 0x23c0);\n    do {\n      pfVar19 = &pfVar11->minor;\n      fts5yypParser->fts5yytos = pfVar11 + -1;\n      fts5yy_destructor((fts5yyParser *)(uint)pfVar11->major,(uchar)pfVar19,fts5yypminor);\n      pfVar11 = fts5yypParser->fts5yytos;\n    } while (unaff_s1 < pfVar11);\n  }\n  (*(code *)PTR_sqlite3_free_0015b620)(fts5yypParser);\n  if ((iCol < pConfig->nCol) && (sParse.pExpr != (Fts5ExprNode *)0x0)) {\n    if (sParse.rc == 0) {\n      pfVar22 = (fts5YYMINORTYPE *)&DAT_00000008;\n      fts5yypminor = (fts5YYMINORTYPE *)0x0;\n      pfVar24 = (fts5YYMINORTYPE *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&sParse.rc);\n      if (pfVar24 != (fts5YYMINORTYPE *)0x0) {\n        (pfVar24->fts5yy0).n = iCol;\n        pfVar24->fts5yyinit = 1;\n        pfVar19 = (fts5YYMINORTYPE *)sParse.pExpr;\n        sqlite3Fts5ParseSetColset(&sParse,sParse.pExpr,(Fts5Colset *)&pfVar24->fts5yy0);\n        fts5yypminor = pfVar24;\n      }\n      goto LAB_000b321c;\n    }\nLAB_000b2da8:\n    sqlite3Fts5ParseNodeFree(sParse.pExpr);\n  }\n  else {\nLAB_000b321c:\n    if (sParse.rc != 0) goto LAB_000b2da8;\n    pFVar23 = (Fts5Config *)(*(code *)PTR_sqlite3_malloc_0015b640)(0x18);\n    *ppNew = (Fts5Expr *)pFVar23;\n    if (pFVar23 == (Fts5Config *)0x0) {\n      sParse.rc = 7;\n      goto LAB_000b2da8;\n    }\n    if (sParse.pExpr == (Fts5ExprNode *)0x0) {\n      if (sParse.rc == 0) {\n        pfVar22 = (fts5YYMINORTYPE *)&DAT_00000028;\n        fts5yypminor = (fts5YYMINORTYPE *)0x0;\n        pcVar28 = (char *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&sParse.rc);\n        pFVar23->zName = pcVar28;\n        if (pcVar28 != (char *)0x0) {\n          pcVar28[4] = '\0';\n          pcVar28[5] = '\0';\n          pcVar28[6] = '\0';\n          pcVar28[7] = '\x01';\n        }\n      }\n      else {\n        pFVar23->zName = (char *)0x0;\n      }\n    }\n    else {\n      pFVar23->zName = (char *)sParse.pExpr;\n    }\n    pFVar23->db = (sqlite3 *)0x0;\n    pFVar23->zDb = (char *)pConfig;\n    pFVar23->abUnindexed = (u8 *)sParse.apPhrase;\n    pFVar23->azCol = (char **)sParse.nPhrase;\n    sParse.apPhrase = (Fts5ExprPhrase **)0x0;\n  }\n  (*(code *)PTR_sqlite3_free_0015b620)(sParse.apPhrase);\n  *pzErr = sParse.zErr;\n  iVar7 = sParse.rc;\n  pConfig = pFVar23;\n  unaff_s3 = unaff_s2;\n  unaff_s8 = fts5yypParser;\n  goto LAB_000b3294;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "char ***pppcVar3;" primitive_type (pointer_declarator "***pppcVar3" * (pointer_declarator "**pppcVar3" * (pointer_declarator "*pppcVar3" * identifier))) ;) (declaration "Fts5ExprNode *pFVar4;" type_identifier (pointer_declarator "*pFVar4" * identifier) ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "undefined *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "sqlite3_context *pCtx;" type_identifier (pointer_declarator "*pCtx" * identifier) ;) (declaration "fts5yyParser *fts5yypParser;" type_identifier (pointer_declarator "*fts5yypParser" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "undefined4 *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "undefined *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "undefined *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "fts5yyStackEntry *pfVar11;" type_identifier (pointer_declarator "*pfVar11" * identifier) ;) (declaration "char cVar14;" primitive_type identifier ;) (declaration "Fts5Global *pGlobal;" type_identifier (pointer_declarator "*pGlobal" * identifier) ;) (declaration "sqlite3 *db;" type_identifier (pointer_declarator "*db" * identifier) ;) (declaration "char **azArg;" primitive_type (pointer_declarator "**azArg" * (pointer_declarator "*azArg" * identifier)) ;) (declaration "char *pcVar12;" primitive_type (pointer_declarator "*pcVar12" * identifier) ;) (declaration "sqlite3_context *psVar13;" type_identifier (pointer_declarator "*psVar13" * identifier) ;) (declaration "code *pcVar15;" type_identifier (pointer_declarator "*pcVar15" * identifier) ;) (declaration "undefined4 *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "undefined4 *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "u8 *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "fts5YYMINORTYPE *pfVar19;" type_identifier (pointer_declarator "*pfVar19" * identifier) ;) (declaration "undefined4 *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "sqlite3_context *nArg;" type_identifier (pointer_declarator "*nArg" * identifier) ;) (declaration "undefined4 uVar21;" type_identifier identifier ;) (declaration "fts5YYMINORTYPE *fts5yypminor;" type_identifier (pointer_declarator "*fts5yypminor" * identifier) ;) (declaration "fts5YYMINORTYPE *pfVar22;" type_identifier (pointer_declarator "*pfVar22" * identifier) ;) (declaration "Fts5Config *pFVar23;" type_identifier (pointer_declarator "*pFVar23" * identifier) ;) (declaration "fts5yyStackEntry *unaff_s1;" type_identifier (pointer_declarator "*unaff_s1" * identifier) ;) (declaration "fts5YYMINORTYPE *pfVar24;" type_identifier (pointer_declarator "*pfVar24" * identifier) ;) (declaration "fts5yyParser *unaff_s2;" type_identifier (pointer_declarator "*unaff_s2" * identifier) ;) (declaration "fts5yyParser *pfVar25;" type_identifier (pointer_declarator "*pfVar25" * identifier) ;) (declaration "int *piVar26;" primitive_type (pointer_declarator "*piVar26" * identifier) ;) (declaration "fts5yyParser *unaff_s3;" type_identifier (pointer_declarator "*unaff_s3" * identifier) ;) (declaration "fts5YYMINORTYPE *unaff_s4;" type_identifier (pointer_declarator "*unaff_s4" * identifier) ;) (declaration "int unaff_s5;" primitive_type identifier ;) (declaration "fts5YYMINORTYPE *nArg_00;" type_identifier (pointer_declarator "*nArg_00" * identifier) ;) (declaration "undefined *unaff_s6;" type_identifier (pointer_declarator "*unaff_s6" * identifier) ;) (declaration "fts5yyStackEntry *unaff_s7;" type_identifier (pointer_declarator "*unaff_s7" * identifier) ;) (declaration "char **ppcVar27;" primitive_type (pointer_declarator "**ppcVar27" * (pointer_declarator "*ppcVar27" * identifier)) ;) (declaration "fts5yyParser *unaff_s8;" type_identifier (pointer_declarator "*unaff_s8" * identifier) ;) (declaration "char *pcVar28;" primitive_type (pointer_declarator "*pcVar28" * identifier) ;) (declaration "char *pcStack_174;" primitive_type (pointer_declarator "*pcStack_174" * identifier) ;) (declaration "sqlite3_context *psStack_170;" type_identifier (pointer_declarator "*psStack_170" * identifier) ;) (declaration "sqlite3_context *psStack_16c;" type_identifier (pointer_declarator "*psStack_16c" * identifier) ;) (declaration "Fts5Config *pFStack_168;" type_identifier (pointer_declarator "*pFStack_168" * identifier) ;) (declaration "int iStack_164;" primitive_type identifier ;) (declaration "Fts5Config *pFStack_160;" type_identifier (pointer_declarator "*pFStack_160" * identifier) ;) (declaration "fts5yyStackEntry *pfStack_15c;" type_identifier (pointer_declarator "*pfStack_15c" * identifier) ;) (declaration "fts5yyParser *pfStack_158;" type_identifier (pointer_declarator "*pfStack_158" * identifier) ;) (declaration "fts5yyParser *pfStack_154;" type_identifier (pointer_declarator "*pfStack_154" * identifier) ;) (declaration "fts5YYMINORTYPE *pfStack_150;" type_identifier (pointer_declarator "*pfStack_150" * identifier) ;) (declaration "int iStack_14c;" primitive_type identifier ;) (declaration "undefined *puStack_148;" type_identifier (pointer_declarator "*puStack_148" * identifier) ;) (declaration "fts5yyStackEntry *pfStack_144;" type_identifier (pointer_declarator "*pfStack_144" * identifier) ;) (declaration "fts5yyParser *pfStack_140;" type_identifier (pointer_declarator "*pfStack_140" * identifier) ;) (declaration "code *pcStack_13c;" type_identifier (pointer_declarator "*pcStack_13c" * identifier) ;) (declaration "fts5YYMINORTYPE *pfStack_110;" type_identifier (pointer_declarator "*pfStack_110" * identifier) ;) (declaration "fts5YYMINORTYPE fts5yyminorunion;" type_identifier identifier ;) (declaration "Fts5Parse sParse;" type_identifier identifier ;) (declaration "u8 aBareword [128];" type_identifier (array_declarator "aBareword [128]" identifier [ number_literal ]) ;) (expression_statement "puVar6 = PTR___stack_chk_guard_0015ba2c;" (assignment_expression "puVar6 = PTR___stack_chk_guard_0015ba2c" identifier = identifier) ;) (expression_statement "puVar9 = PTR_sqlite3_malloc64_0015b760;" (assignment_expression "puVar9 = PTR_sqlite3_malloc64_0015b760" identifier = identifier) ;) (expression_statement "pfVar19 = (fts5YYMINORTYPE *)0x4bc;" (assignment_expression "pfVar19 = (fts5YYMINORTYPE *)0x4bc" identifier = (cast_expression "(fts5YYMINORTYPE *)0x4bc" ( (type_descriptor "fts5YYMINORTYPE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "sParse.pConfig = (Fts5Config *)0x0;" (assignment_expression "sParse.pConfig = (Fts5Config *)0x0" (field_expression "sParse.pConfig" identifier . field_identifier) = (cast_expression "(Fts5Config *)0x0" ( (type_descriptor "Fts5Config *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "sParse.zErr = (char *)0x0;" (assignment_expression "sParse.zErr = (char *)0x0" (field_expression "sParse.zErr" identifier . field_identifier) = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "sParse.rc = 0;" (assignment_expression "sParse.rc = 0" (field_expression "sParse.rc" identifier . field_identifier) = number_literal) ;) (expression_statement "sParse.nPhrase = 0;" (assignment_expression "sParse.nPhrase = 0" (field_expression "sParse.nPhrase" identifier . field_identifier) = number_literal) ;) (expression_statement "sParse.apPhrase = (Fts5ExprPhrase **)0x0;" (assignment_expression "sParse.apPhrase = (Fts5ExprPhrase **)0x0" (field_expression "sParse.apPhrase" identifier . field_identifier) = (cast_expression "(Fts5ExprPhrase **)0x0" ( (type_descriptor "Fts5ExprPhrase **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "sParse.pExpr = (Fts5ExprNode *)0x0;" (assignment_expression "sParse.pExpr = (Fts5ExprNode *)0x0" (field_expression "sParse.pExpr" identifier . field_identifier) = (cast_expression "(Fts5ExprNode *)0x0" ( (type_descriptor "Fts5ExprNode *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pCtx = *(sqlite3_context **)PTR___stack_chk_guard_0015ba2c;" (assignment_expression "pCtx = *(sqlite3_context **)PTR___stack_chk_guard_0015ba2c" identifier = (pointer_expression "*(sqlite3_context **)PTR___stack_chk_guard_0015ba2c" * (cast_expression "(sqlite3_context **)PTR___stack_chk_guard_0015ba2c" ( (type_descriptor "sqlite3_context **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "*ppNew = (Fts5Expr *)0x0;" (assignment_expression "*ppNew = (Fts5Expr *)0x0" (pointer_expression "*ppNew" * identifier) = (cast_expression "(Fts5Expr *)0x0" ( (type_descriptor "Fts5Expr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*pzErr = (char *)0x0;" (assignment_expression "*pzErr = (char *)0x0" (pointer_expression "*pzErr" * identifier) = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "fts5yypminor = (fts5YYMINORTYPE *)zExpr;" (assignment_expression "fts5yypminor = (fts5YYMINORTYPE *)zExpr" identifier = (cast_expression "(fts5YYMINORTYPE *)zExpr" ( (type_descriptor "fts5YYMINORTYPE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pfVar22 = (fts5YYMINORTYPE *)ppNew;" (assignment_expression "pfVar22 = (fts5YYMINORTYPE *)ppNew" identifier = (cast_expression "(fts5YYMINORTYPE *)ppNew" ( (type_descriptor "fts5YYMINORTYPE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "fts5yypParser = (fts5yyParser *)(*(code *)puVar9)(0);" (assignment_expression "fts5yypParser = (fts5yyParser *)(*(code *)puVar9)(0)" identifier = (cast_expression "(fts5yyParser *)(*(code *)puVar9)(0)" ( (type_descriptor "fts5yyParser *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)puVar9)(0)" (parenthesized_expression "(*(code *)puVar9)" ( (pointer_expression "*(code *)puVar9" * (cast_expression "(code *)puVar9" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0)" ( number_literal ))))) ;) (expression_statement "puVar9 = PTR_DAT_0015b5fc;" (assignment_expression "puVar9 = PTR_DAT_0015b5fc" identifier = identifier) ;) (if_statement "if (fts5yypParser != (fts5yyParser *)0x0) {\n    unaff_s1 = fts5yypParser->fts5yystack;\n    fts5yypParser->fts5yystack[0].stateno = '\0';\n    puVar10 = PTR_LAB_0015b71c;\n    fts5yypParser->fts5yystack[0].major = '\0';\n    puVar20 = (undefined4 *)(puVar9 + 0x638);\n    fts5yypParser->fts5yystackEnd = fts5yypParser->fts5yystack + 99;\n    puVar5 = PTR_DAT_0015b5fc;\n    pcVar15 = (code *)(puVar10 + 0x2288);\n    fts5yypParser->fts5yytos = unaff_s1;\n    puVar16 = (undefined4 *)(puVar9 + 0x6b8);\n    sParse.pConfig = pConfig;\n    pfStack_110 = (fts5YYMINORTYPE *)zExpr;\nLAB_000b2a68:\n    do {\n      unaff_s4 = (fts5YYMINORTYPE *)zExpr;\n      iVar7 = (int)*(char *)unaff_s4;\n      if ((iVar7 - 9U & 0xff) < 0x18) {\n        puVar18 = aBareword;\n        puVar8 = puVar20;\n        if ((int)((0x800013U >> (iVar7 - 9U & 0x1f)) << 0x1f) < 0) {\n          zExpr = (char *)((int)&(unaff_s4->fts5yy0).p + 1);\n          goto LAB_000b2a68;\n        }\n        do {\n          puVar17 = puVar8 + 4;\n          *(undefined4 *)puVar18 = *puVar8;\n          pfVar22 = (fts5YYMINORTYPE *)puVar8[1];\n          uVar21 = puVar8[2];\n          *(undefined4 *)(puVar18 + 0xc) = puVar8[3];\n          *(fts5YYMINORTYPE **)(puVar18 + 4) = pfVar22;\n          *(undefined4 *)(puVar18 + 8) = uVar21;\n          puVar8 = puVar17;\n          puVar18 = puVar18 + 0x10;\n        } while (puVar17 != puVar16);\nLAB_000b34f0:\n        if (aBareword[iVar7] != '\0') {\nLAB_000b2b04:\n          pfVar24 = unaff_s4;\n          do {\n            pfVar24 = (fts5YYMINORTYPE *)((int)&(pfVar24->fts5yy0).p + 1);\n            cVar14 = *(char *)pfVar24;\n            puVar8 = puVar20;\n            puVar18 = aBareword;\n            do {\n              pfVar22 = (fts5YYMINORTYPE *)*puVar8;\n              puVar17 = puVar8 + 4;\n              *(fts5YYMINORTYPE **)puVar18 = pfVar22;\n              fts5yypminor = (fts5YYMINORTYPE *)puVar8[1];\n              pfVar19 = (fts5YYMINORTYPE *)puVar8[2];\n              *(undefined4 *)(puVar18 + 0xc) = puVar8[3];\n              *(fts5YYMINORTYPE **)(puVar18 + 4) = fts5yypminor;\n              *(fts5YYMINORTYPE **)(puVar18 + 8) = pfVar19;\n              puVar8 = puVar17;\n              puVar18 = puVar18 + 0x10;\n            } while (puVar17 != puVar16);\n          } while ((cVar14 < 0) || (aBareword[cVar14] != '\0'));\n          pfVar24 = (fts5YYMINORTYPE *)((int)pfVar24 - (int)unaff_s4);\n          if (pfVar24 == (fts5YYMINORTYPE *)0x2) {\n            if ((*(char *)unaff_s4 == 'O') && (*(char *)((int)&(unaff_s4->fts5yy0).p + 1) == 'R')) {\n              unaff_s2 = (fts5yyParser *)0x1;\n              pfStack_110 = (fts5YYMINORTYPE *)0x2;\n            }\n            else {\n              unaff_s2 = (fts5yyParser *)&DAT_00000009;\n              pfStack_110 = (fts5YYMINORTYPE *)0x2;\n            }\n          }\n          else if (pfVar24 == (fts5YYMINORTYPE *)0x3) {\n            if ((*(char *)unaff_s4 == 'N') &&\n               (pfVar25 = (fts5yyParser *)&DAT_00000009,\n               *(char *)((int)&(unaff_s4->fts5yy0).p + 1) == 'O')) {\n              if (*(char *)((int)&(unaff_s4->fts5yy0).p + 2) == 'T') {\n                pfVar25 = (fts5yyParser *)0x3;\n              }\n            }\n            else {\n              pfVar25 = (fts5yyParser *)&DAT_00000009;\n            }\n            if (((*(char *)unaff_s4 == 'A') && (*(char *)((int)&(unaff_s4->fts5yy0).p + 1) == 'N'))\n               && (unaff_s2 = (fts5yyParser *)0x2, *(char *)((int)&(unaff_s4->fts5yy0).p + 2) == 'D'\n                  )) {\n              pfStack_110 = (fts5YYMINORTYPE *)0x3;\n            }\n            else {\n              pfStack_110 = (fts5YYMINORTYPE *)0x3;\n              unaff_s2 = pfVar25;\n            }\n          }\n          else {\n            unaff_s2 = (fts5yyParser *)&DAT_00000009;\n            pfStack_110 = pfVar24;\n          }\n          goto LAB_000b2b98;\n        }\n        pfVar24 = (fts5YYMINORTYPE *)0x1;\n        pfVar19 = (fts5YYMINORTYPE *)(PTR_DAT_0015b5fc + -0x70cc);\n        fts5yypminor = unaff_s4;\n        (*pcVar15)(&sParse);\n        unaff_s2 = (fts5yyParser *)0x0;\n      }\n      else {\n        pfVar19 = (fts5YYMINORTYPE *)0x0;\n        if (iVar7 == 0x2b) {\n          unaff_s2 = (fts5yyParser *)&DAT_0000000e;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\n        else if (iVar7 < 0x2c) {\n          if (iVar7 == 0x28) {\n            unaff_s2 = (fts5yyParser *)&DAT_0000000a;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else if (iVar7 < 0x29) {\n            if (iVar7 != 0) {\n              pcVar28 = (char *)((int)&(unaff_s4->fts5yy0).p + 1);\n              if (iVar7 != 0x22) {\nLAB_000b2abc:\n                puVar8 = puVar20;\n                puVar18 = aBareword;\n                do {\n                  puVar17 = puVar8 + 4;\n                  *(undefined4 *)puVar18 = *puVar8;\n                  pfVar22 = (fts5YYMINORTYPE *)puVar8[1];\n                  uVar21 = puVar8[2];\n                  *(undefined4 *)(puVar18 + 0xc) = puVar8[3];\n                  *(fts5YYMINORTYPE **)(puVar18 + 4) = pfVar22;\n                  *(undefined4 *)(puVar18 + 8) = uVar21;\n                  puVar8 = puVar17;\n                  puVar18 = puVar18 + 0x10;\n                } while (puVar17 != puVar16);\n                if (-1 < iVar7) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              cVar14 = *pcVar28;\n              if (cVar14 == '\"') goto LAB_000b3320;\n              while (pfVar19 = (fts5YYMINORTYPE *)PTR_DAT_0015b5fc, cVar14 != '\0') {\n                while( true ) {\n                  pcVar28 = pcVar28 + 1;\n                  cVar14 = *pcVar28;\n                  if (cVar14 != '\"') break;\nLAB_000b3320:\n                  pcVar12 = pcVar28 + 1;\n                  pcVar28 = pcVar28 + 1;\n                  if (*pcVar12 != '\"') {\n                    pfStack_110 = (fts5YYMINORTYPE *)(pcVar28 + -(int)unaff_s4);\n                    unaff_s2 = (fts5yyParser *)&DAT_00000009;\n                    pfVar24 = pfStack_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (fts5yyParser *)0x0;\n              pfVar24 = (fts5YYMINORTYPE *)0x1;\n              pfVar19 = (fts5YYMINORTYPE *)(PTR_DAT_0015b5fc + -0x70e0);\n              (*pcVar15)(&sParse);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (fts5yyParser *)0x0;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else if (iVar7 == 0x29) {\n            unaff_s2 = (fts5yyParser *)&DAT_0000000b;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else {\n            unaff_s2 = (fts5yyParser *)0xf;\n            if (iVar7 != 0x2a) goto LAB_000b2abc;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n        }\n        else if (iVar7 == 0x3a) {\n          unaff_s2 = (fts5yyParser *)&DAT_00000005;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\n        else if (iVar7 < 0x3b) {\n          if (iVar7 == 0x2c) {\n            unaff_s2 = (fts5yyParser *)&DAT_0000000d;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else {\n            unaff_s2 = (fts5yyParser *)&DAT_00000006;\n            if (iVar7 != 0x2d) goto LAB_000b2abc;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n        }\n        else if (iVar7 == 0x7b) {\n          unaff_s2 = (fts5yyParser *)&DAT_00000007;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\n        else if (iVar7 == 0x7d) {\n          unaff_s2 = (fts5yyParser *)&DAT_00000008;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\n        else {\n          unaff_s2 = (fts5yyParser *)&DAT_0000000c;\n          if (iVar7 != 0x5e) goto LAB_000b2abc;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\nLAB_000b2b98:\n        pfStack_110 = (fts5YYMINORTYPE *)((int)unaff_s4 + (int)pfStack_110);\n      }\nLAB_000b2ba0:\n      unaff_s6 = PTR_DAT_0015b5fc;\n      unaff_s7 = fts5yypParser->fts5yytos;\n      puVar9 = PTR_DAT_0015b5fc + 0x4920;\n      fts5yypParser->pParse = &sParse;\n      pFVar23 = (Fts5Config *)(uint)unaff_s7->stateno;\n      puVar10 = PTR_DAT_0015b5fc + 0x48fc;\n      do {\n        pFVar4 = (Fts5ExprNode *)PTR_DAT_0015b5fc;\n        if ((Fts5Config *)&DAT_00000022 < pFVar23) goto joined_r0x000b33cc;\n        pfVar11 = (fts5yyStackEntry *)\n                  ((int)unaff_s2->fts5yystack + ((byte)puVar10[(int)pFVar23] - 8));\n        if ((fts5yyStackEntry *)0x78 < pfVar11) goto LAB_000b2c10;\n        while( true ) {\n          if ((fts5yyParser *)(uint)(byte)puVar9[(int)&pfVar11->stateno] == unaff_s2) {\n            pFVar23 = (Fts5Config *)(uint)(byte)(unaff_s6 + 0x499c)[(int)&pfVar11->stateno];\n            pFVar4 = (Fts5ExprNode *)PTR_DAT_0015b5fc;\n          }\n          else {\nLAB_000b2c10:\n            pFVar23 = (Fts5Config *)(uint)(byte)(puVar5 + 0x48c4)[(int)&pFVar23->db];\n            pFVar4 = (Fts5ExprNode *)PTR_DAT_0015b5fc;\n          }\njoined_r0x000b33cc:\n          PTR_DAT_0015b5fc = (undefined *)pFVar4;\n          if (pFVar23 < (Fts5Config *)0x53) {\n            if (pFVar23 < (Fts5Config *)0x50) {\n              fts5yypParser->fts5yytos = unaff_s7 + 1;\n              if (fts5yypParser->fts5yystackEnd < unaff_s7 + 1) {\n                fts5yypParser->fts5yytos = unaff_s7;\n                fts5yyStackOverflow(fts5yypParser);\n              }\n              else {\n                if ((Fts5Config *)&DAT_00000022 < pFVar23) {\n                  pFVar23 = (Fts5Config *)((uint)((int)&pFVar23->aPrefix + 3) & 0xff);\n                }\n                unaff_s7[1].stateno = (uchar)pFVar23;\n                unaff_s7[1].major = (uchar)unaff_s2;\n                unaff_s7[1].minor.fts5yy11 = (Fts5Colset *)unaff_s4;\n                unaff_s7[1].minor.fts5yy0.n = (int)pfVar24;\n              }\n            }\n            else if (pFVar23 == (Fts5Config *)0x51) {\n              fts5yypParser->fts5yytos = unaff_s7 + -1;\n              pfVar19 = (fts5YYMINORTYPE *)pFVar4;\n            }\n            else {\n              pFVar23 = (Fts5Config *)fts5yypParser->pParse;\n              pfVar22 = unaff_s4;\n              fts5yyminorunion.fts5yy11 = (Fts5Colset *)unaff_s4;\n              fts5yyminorunion.fts5yy0.n = (int)pfVar24;\n              (*pcVar15)(pFVar23,&pFVar4[-0x2d2].field_0x24);\n              pfVar19 = &fts5yyminorunion;\n              fts5yypParser->pParse = (Fts5Parse *)pFVar23;\n              fts5yy_destructor(unaff_s2,(uchar)pfVar19,pfVar24);\n              fts5yypminor = pfVar24;\n            }\n            goto LAB_000b2d18;\n          }\n          pppcVar3 = &pFVar23[-1].azCol;\n          pFVar23 = (Fts5Config *)((int)pppcVar3 + 1);\n          unaff_s5 = (int)(char)(unaff_s6 + 0x488c)[(int)&pFVar23->db];\n          if ((unaff_s5 != 0) || (unaff_s7 < fts5yypParser->fts5yystackEnd)) break;\n          fts5yyStackOverflow(fts5yypParser);\n          unaff_s7 = fts5yypParser->fts5yytos;\n          if (unaff_s7 <= unaff_s1) goto LAB_000b2d18;\n          pfVar11 = unaff_s2->fts5yystack + 3;\n          pFVar23 = (Fts5Config *)0x0;\n        }\n        if (pFVar23 < (Fts5Config *)0x1c) {\n                    /* WARNING: Could not emulate address calculation at 0x000b2c68 */\n                    /* WARNING: Treating indirect jump as call */\n          iVar7 = (*(code *)(&_gp + (int)pFVar4[0x59].apChild[(int)((int)pppcVar3 + -2)]))();\n          return iVar7;\n        }\n        fts5yypminor = (fts5YYMINORTYPE *)(unaff_s6 + 0x499c);\n        bVar1 = unaff_s7[unaff_s5].stateno;\n        pfVar11 = unaff_s7 + unaff_s5 + 1;\n        bVar2 = *(byte *)((int)((Fts5ExprNode *)(pFVar4[0x1d1].apChild + -8))->apChild +\n                         (int)pppcVar3 + -0x1f);\n        fts5yypParser->fts5yytos = pfVar11;\n        pfVar11->major = bVar2;\n        bVar1 = *(byte *)((uint)bVar2 + (int)*(char *)((int)pFVar4[0x1d2].apChild + (bVar1 - 8)) +\n                         (int)fts5yypminor);\n        pFVar23 = (Fts5Config *)(uint)bVar1;\n        pfVar11->stateno = bVar1;\n        unaff_s7 = fts5yypParser->fts5yytos;\n        pfVar19 = (fts5YYMINORTYPE *)pFVar4;\n      } while (unaff_s1 < unaff_s7);\nLAB_000b2d18:\n      if ((sParse.rc != 0) || (zExpr = (char *)pfStack_110, unaff_s2 == (fts5yyParser *)0x0))\n      goto LAB_000b2d2c;\n    } while( true );\n  }" if (parenthesized_expression "(fts5yypParser != (fts5yyParser *)0x0)" ( (binary_expression "fts5yypParser != (fts5yyParser *)0x0" identifier != (cast_expression "(fts5yyParser *)0x0" ( (type_descriptor "fts5yyParser *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    unaff_s1 = fts5yypParser->fts5yystack;\n    fts5yypParser->fts5yystack[0].stateno = '\0';\n    puVar10 = PTR_LAB_0015b71c;\n    fts5yypParser->fts5yystack[0].major = '\0';\n    puVar20 = (undefined4 *)(puVar9 + 0x638);\n    fts5yypParser->fts5yystackEnd = fts5yypParser->fts5yystack + 99;\n    puVar5 = PTR_DAT_0015b5fc;\n    pcVar15 = (code *)(puVar10 + 0x2288);\n    fts5yypParser->fts5yytos = unaff_s1;\n    puVar16 = (undefined4 *)(puVar9 + 0x6b8);\n    sParse.pConfig = pConfig;\n    pfStack_110 = (fts5YYMINORTYPE *)zExpr;\nLAB_000b2a68:\n    do {\n      unaff_s4 = (fts5YYMINORTYPE *)zExpr;\n      iVar7 = (int)*(char *)unaff_s4;\n      if ((iVar7 - 9U & 0xff) < 0x18) {\n        puVar18 = aBareword;\n        puVar8 = puVar20;\n        if ((int)((0x800013U >> (iVar7 - 9U & 0x1f)) << 0x1f) < 0) {\n          zExpr = (char *)((int)&(unaff_s4->fts5yy0).p + 1);\n          goto LAB_000b2a68;\n        }\n        do {\n          puVar17 = puVar8 + 4;\n          *(undefined4 *)puVar18 = *puVar8;\n          pfVar22 = (fts5YYMINORTYPE *)puVar8[1];\n          uVar21 = puVar8[2];\n          *(undefined4 *)(puVar18 + 0xc) = puVar8[3];\n          *(fts5YYMINORTYPE **)(puVar18 + 4) = pfVar22;\n          *(undefined4 *)(puVar18 + 8) = uVar21;\n          puVar8 = puVar17;\n          puVar18 = puVar18 + 0x10;\n        } while (puVar17 != puVar16);\nLAB_000b34f0:\n        if (aBareword[iVar7] != '\0') {\nLAB_000b2b04:\n          pfVar24 = unaff_s4;\n          do {\n            pfVar24 = (fts5YYMINORTYPE *)((int)&(pfVar24->fts5yy0).p + 1);\n            cVar14 = *(char *)pfVar24;\n            puVar8 = puVar20;\n            puVar18 = aBareword;\n            do {\n              pfVar22 = (fts5YYMINORTYPE *)*puVar8;\n              puVar17 = puVar8 + 4;\n              *(fts5YYMINORTYPE **)puVar18 = pfVar22;\n              fts5yypminor = (fts5YYMINORTYPE *)puVar8[1];\n              pfVar19 = (fts5YYMINORTYPE *)puVar8[2];\n              *(undefined4 *)(puVar18 + 0xc) = puVar8[3];\n              *(fts5YYMINORTYPE **)(puVar18 + 4) = fts5yypminor;\n              *(fts5YYMINORTYPE **)(puVar18 + 8) = pfVar19;\n              puVar8 = puVar17;\n              puVar18 = puVar18 + 0x10;\n            } while (puVar17 != puVar16);\n          } while ((cVar14 < 0) || (aBareword[cVar14] != '\0'));\n          pfVar24 = (fts5YYMINORTYPE *)((int)pfVar24 - (int)unaff_s4);\n          if (pfVar24 == (fts5YYMINORTYPE *)0x2) {\n            if ((*(char *)unaff_s4 == 'O') && (*(char *)((int)&(unaff_s4->fts5yy0).p + 1) == 'R')) {\n              unaff_s2 = (fts5yyParser *)0x1;\n              pfStack_110 = (fts5YYMINORTYPE *)0x2;\n            }\n            else {\n              unaff_s2 = (fts5yyParser *)&DAT_00000009;\n              pfStack_110 = (fts5YYMINORTYPE *)0x2;\n            }\n          }\n          else if (pfVar24 == (fts5YYMINORTYPE *)0x3) {\n            if ((*(char *)unaff_s4 == 'N') &&\n               (pfVar25 = (fts5yyParser *)&DAT_00000009,\n               *(char *)((int)&(unaff_s4->fts5yy0).p + 1) == 'O')) {\n              if (*(char *)((int)&(unaff_s4->fts5yy0).p + 2) == 'T') {\n                pfVar25 = (fts5yyParser *)0x3;\n              }\n            }\n            else {\n              pfVar25 = (fts5yyParser *)&DAT_00000009;\n            }\n            if (((*(char *)unaff_s4 == 'A') && (*(char *)((int)&(unaff_s4->fts5yy0).p + 1) == 'N'))\n               && (unaff_s2 = (fts5yyParser *)0x2, *(char *)((int)&(unaff_s4->fts5yy0).p + 2) == 'D'\n                  )) {\n              pfStack_110 = (fts5YYMINORTYPE *)0x3;\n            }\n            else {\n              pfStack_110 = (fts5YYMINORTYPE *)0x3;\n              unaff_s2 = pfVar25;\n            }\n          }\n          else {\n            unaff_s2 = (fts5yyParser *)&DAT_00000009;\n            pfStack_110 = pfVar24;\n          }\n          goto LAB_000b2b98;\n        }\n        pfVar24 = (fts5YYMINORTYPE *)0x1;\n        pfVar19 = (fts5YYMINORTYPE *)(PTR_DAT_0015b5fc + -0x70cc);\n        fts5yypminor = unaff_s4;\n        (*pcVar15)(&sParse);\n        unaff_s2 = (fts5yyParser *)0x0;\n      }\n      else {\n        pfVar19 = (fts5YYMINORTYPE *)0x0;\n        if (iVar7 == 0x2b) {\n          unaff_s2 = (fts5yyParser *)&DAT_0000000e;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\n        else if (iVar7 < 0x2c) {\n          if (iVar7 == 0x28) {\n            unaff_s2 = (fts5yyParser *)&DAT_0000000a;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else if (iVar7 < 0x29) {\n            if (iVar7 != 0) {\n              pcVar28 = (char *)((int)&(unaff_s4->fts5yy0).p + 1);\n              if (iVar7 != 0x22) {\nLAB_000b2abc:\n                puVar8 = puVar20;\n                puVar18 = aBareword;\n                do {\n                  puVar17 = puVar8 + 4;\n                  *(undefined4 *)puVar18 = *puVar8;\n                  pfVar22 = (fts5YYMINORTYPE *)puVar8[1];\n                  uVar21 = puVar8[2];\n                  *(undefined4 *)(puVar18 + 0xc) = puVar8[3];\n                  *(fts5YYMINORTYPE **)(puVar18 + 4) = pfVar22;\n                  *(undefined4 *)(puVar18 + 8) = uVar21;\n                  puVar8 = puVar17;\n                  puVar18 = puVar18 + 0x10;\n                } while (puVar17 != puVar16);\n                if (-1 < iVar7) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              cVar14 = *pcVar28;\n              if (cVar14 == '\"') goto LAB_000b3320;\n              while (pfVar19 = (fts5YYMINORTYPE *)PTR_DAT_0015b5fc, cVar14 != '\0') {\n                while( true ) {\n                  pcVar28 = pcVar28 + 1;\n                  cVar14 = *pcVar28;\n                  if (cVar14 != '\"') break;\nLAB_000b3320:\n                  pcVar12 = pcVar28 + 1;\n                  pcVar28 = pcVar28 + 1;\n                  if (*pcVar12 != '\"') {\n                    pfStack_110 = (fts5YYMINORTYPE *)(pcVar28 + -(int)unaff_s4);\n                    unaff_s2 = (fts5yyParser *)&DAT_00000009;\n                    pfVar24 = pfStack_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (fts5yyParser *)0x0;\n              pfVar24 = (fts5YYMINORTYPE *)0x1;\n              pfVar19 = (fts5YYMINORTYPE *)(PTR_DAT_0015b5fc + -0x70e0);\n              (*pcVar15)(&sParse);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (fts5yyParser *)0x0;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else if (iVar7 == 0x29) {\n            unaff_s2 = (fts5yyParser *)&DAT_0000000b;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else {\n            unaff_s2 = (fts5yyParser *)0xf;\n            if (iVar7 != 0x2a) goto LAB_000b2abc;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n        }\n        else if (iVar7 == 0x3a) {\n          unaff_s2 = (fts5yyParser *)&DAT_00000005;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\n        else if (iVar7 < 0x3b) {\n          if (iVar7 == 0x2c) {\n            unaff_s2 = (fts5yyParser *)&DAT_0000000d;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else {\n            unaff_s2 = (fts5yyParser *)&DAT_00000006;\n            if (iVar7 != 0x2d) goto LAB_000b2abc;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n        }\n        else if (iVar7 == 0x7b) {\n          unaff_s2 = (fts5yyParser *)&DAT_00000007;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\n        else if (iVar7 == 0x7d) {\n          unaff_s2 = (fts5yyParser *)&DAT_00000008;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\n        else {\n          unaff_s2 = (fts5yyParser *)&DAT_0000000c;\n          if (iVar7 != 0x5e) goto LAB_000b2abc;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\nLAB_000b2b98:\n        pfStack_110 = (fts5YYMINORTYPE *)((int)unaff_s4 + (int)pfStack_110);\n      }\nLAB_000b2ba0:\n      unaff_s6 = PTR_DAT_0015b5fc;\n      unaff_s7 = fts5yypParser->fts5yytos;\n      puVar9 = PTR_DAT_0015b5fc + 0x4920;\n      fts5yypParser->pParse = &sParse;\n      pFVar23 = (Fts5Config *)(uint)unaff_s7->stateno;\n      puVar10 = PTR_DAT_0015b5fc + 0x48fc;\n      do {\n        pFVar4 = (Fts5ExprNode *)PTR_DAT_0015b5fc;\n        if ((Fts5Config *)&DAT_00000022 < pFVar23) goto joined_r0x000b33cc;\n        pfVar11 = (fts5yyStackEntry *)\n                  ((int)unaff_s2->fts5yystack + ((byte)puVar10[(int)pFVar23] - 8));\n        if ((fts5yyStackEntry *)0x78 < pfVar11) goto LAB_000b2c10;\n        while( true ) {\n          if ((fts5yyParser *)(uint)(byte)puVar9[(int)&pfVar11->stateno] == unaff_s2) {\n            pFVar23 = (Fts5Config *)(uint)(byte)(unaff_s6 + 0x499c)[(int)&pfVar11->stateno];\n            pFVar4 = (Fts5ExprNode *)PTR_DAT_0015b5fc;\n          }\n          else {\nLAB_000b2c10:\n            pFVar23 = (Fts5Config *)(uint)(byte)(puVar5 + 0x48c4)[(int)&pFVar23->db];\n            pFVar4 = (Fts5ExprNode *)PTR_DAT_0015b5fc;\n          }\njoined_r0x000b33cc:\n          PTR_DAT_0015b5fc = (undefined *)pFVar4;\n          if (pFVar23 < (Fts5Config *)0x53) {\n            if (pFVar23 < (Fts5Config *)0x50) {\n              fts5yypParser->fts5yytos = unaff_s7 + 1;\n              if (fts5yypParser->fts5yystackEnd < unaff_s7 + 1) {\n                fts5yypParser->fts5yytos = unaff_s7;\n                fts5yyStackOverflow(fts5yypParser);\n              }\n              else {\n                if ((Fts5Config *)&DAT_00000022 < pFVar23) {\n                  pFVar23 = (Fts5Config *)((uint)((int)&pFVar23->aPrefix + 3) & 0xff);\n                }\n                unaff_s7[1].stateno = (uchar)pFVar23;\n                unaff_s7[1].major = (uchar)unaff_s2;\n                unaff_s7[1].minor.fts5yy11 = (Fts5Colset *)unaff_s4;\n                unaff_s7[1].minor.fts5yy0.n = (int)pfVar24;\n              }\n            }\n            else if (pFVar23 == (Fts5Config *)0x51) {\n              fts5yypParser->fts5yytos = unaff_s7 + -1;\n              pfVar19 = (fts5YYMINORTYPE *)pFVar4;\n            }\n            else {\n              pFVar23 = (Fts5Config *)fts5yypParser->pParse;\n              pfVar22 = unaff_s4;\n              fts5yyminorunion.fts5yy11 = (Fts5Colset *)unaff_s4;\n              fts5yyminorunion.fts5yy0.n = (int)pfVar24;\n              (*pcVar15)(pFVar23,&pFVar4[-0x2d2].field_0x24);\n              pfVar19 = &fts5yyminorunion;\n              fts5yypParser->pParse = (Fts5Parse *)pFVar23;\n              fts5yy_destructor(unaff_s2,(uchar)pfVar19,pfVar24);\n              fts5yypminor = pfVar24;\n            }\n            goto LAB_000b2d18;\n          }\n          pppcVar3 = &pFVar23[-1].azCol;\n          pFVar23 = (Fts5Config *)((int)pppcVar3 + 1);\n          unaff_s5 = (int)(char)(unaff_s6 + 0x488c)[(int)&pFVar23->db];\n          if ((unaff_s5 != 0) || (unaff_s7 < fts5yypParser->fts5yystackEnd)) break;\n          fts5yyStackOverflow(fts5yypParser);\n          unaff_s7 = fts5yypParser->fts5yytos;\n          if (unaff_s7 <= unaff_s1) goto LAB_000b2d18;\n          pfVar11 = unaff_s2->fts5yystack + 3;\n          pFVar23 = (Fts5Config *)0x0;\n        }\n        if (pFVar23 < (Fts5Config *)0x1c) {\n                    /* WARNING: Could not emulate address calculation at 0x000b2c68 */\n                    /* WARNING: Treating indirect jump as call */\n          iVar7 = (*(code *)(&_gp + (int)pFVar4[0x59].apChild[(int)((int)pppcVar3 + -2)]))();\n          return iVar7;\n        }\n        fts5yypminor = (fts5YYMINORTYPE *)(unaff_s6 + 0x499c);\n        bVar1 = unaff_s7[unaff_s5].stateno;\n        pfVar11 = unaff_s7 + unaff_s5 + 1;\n        bVar2 = *(byte *)((int)((Fts5ExprNode *)(pFVar4[0x1d1].apChild + -8))->apChild +\n                         (int)pppcVar3 + -0x1f);\n        fts5yypParser->fts5yytos = pfVar11;\n        pfVar11->major = bVar2;\n        bVar1 = *(byte *)((uint)bVar2 + (int)*(char *)((int)pFVar4[0x1d2].apChild + (bVar1 - 8)) +\n                         (int)fts5yypminor);\n        pFVar23 = (Fts5Config *)(uint)bVar1;\n        pfVar11->stateno = bVar1;\n        unaff_s7 = fts5yypParser->fts5yytos;\n        pfVar19 = (fts5YYMINORTYPE *)pFVar4;\n      } while (unaff_s1 < unaff_s7);\nLAB_000b2d18:\n      if ((sParse.rc != 0) || (zExpr = (char *)pfStack_110, unaff_s2 == (fts5yyParser *)0x0))\n      goto LAB_000b2d2c;\n    } while( true );\n  }" { (expression_statement "unaff_s1 = fts5yypParser->fts5yystack;" (assignment_expression "unaff_s1 = fts5yypParser->fts5yystack" identifier = (field_expression "fts5yypParser->fts5yystack" identifier -> field_identifier)) ;) (expression_statement "fts5yypParser->fts5yystack[0].stateno = '\0';" (assignment_expression "fts5yypParser->fts5yystack[0].stateno = '\0'" (field_expression "fts5yypParser->fts5yystack[0].stateno" (subscript_expression "fts5yypParser->fts5yystack[0]" (field_expression "fts5yypParser->fts5yystack" identifier -> field_identifier) [ number_literal ]) . field_identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar10 = PTR_LAB_0015b71c;" (assignment_expression "puVar10 = PTR_LAB_0015b71c" identifier = identifier) ;) (expression_statement "fts5yypParser->fts5yystack[0].major = '\0';" (assignment_expression "fts5yypParser->fts5yystack[0].major = '\0'" (field_expression "fts5yypParser->fts5yystack[0].major" (subscript_expression "fts5yypParser->fts5yystack[0]" (field_expression "fts5yypParser->fts5yystack" identifier -> field_identifier) [ number_literal ]) . field_identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "puVar20 = (undefined4 *)(puVar9 + 0x638);" (assignment_expression "puVar20 = (undefined4 *)(puVar9 + 0x638)" identifier = (cast_expression "(undefined4 *)(puVar9 + 0x638)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0x638)" ( (binary_expression "puVar9 + 0x638" identifier + number_literal) )))) ;) (expression_statement "fts5yypParser->fts5yystackEnd = fts5yypParser->fts5yystack + 99;" (assignment_expression "fts5yypParser->fts5yystackEnd = fts5yypParser->fts5yystack + 99" (field_expression "fts5yypParser->fts5yystackEnd" identifier -> field_identifier) = (binary_expression "fts5yypParser->fts5yystack + 99" (field_expression "fts5yypParser->fts5yystack" identifier -> field_identifier) + number_literal)) ;) (expression_statement "puVar5 = PTR_DAT_0015b5fc;" (assignment_expression "puVar5 = PTR_DAT_0015b5fc" identifier = identifier) ;) (expression_statement "pcVar15 = (code *)(puVar10 + 0x2288);" (assignment_expression "pcVar15 = (code *)(puVar10 + 0x2288)" identifier = (cast_expression "(code *)(puVar10 + 0x2288)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x2288)" ( (binary_expression "puVar10 + 0x2288" identifier + number_literal) )))) ;) (expression_statement "fts5yypParser->fts5yytos = unaff_s1;" (assignment_expression "fts5yypParser->fts5yytos = unaff_s1" (field_expression "fts5yypParser->fts5yytos" identifier -> field_identifier) = identifier) ;) (expression_statement "puVar16 = (undefined4 *)(puVar9 + 0x6b8);" (assignment_expression "puVar16 = (undefined4 *)(puVar9 + 0x6b8)" identifier = (cast_expression "(undefined4 *)(puVar9 + 0x6b8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0x6b8)" ( (binary_expression "puVar9 + 0x6b8" identifier + number_literal) )))) ;) (expression_statement "sParse.pConfig = pConfig;" (assignment_expression "sParse.pConfig = pConfig" (field_expression "sParse.pConfig" identifier . field_identifier) = identifier) ;) (expression_statement "pfStack_110 = (fts5YYMINORTYPE *)zExpr;" (assignment_expression "pfStack_110 = (fts5YYMINORTYPE *)zExpr" identifier = (cast_expression "(fts5YYMINORTYPE *)zExpr" ( (type_descriptor "fts5YYMINORTYPE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (labeled_statement "LAB_000b2a68:\n    do {\n      unaff_s4 = (fts5YYMINORTYPE *)zExpr;\n      iVar7 = (int)*(char *)unaff_s4;\n      if ((iVar7 - 9U & 0xff) < 0x18) {\n        puVar18 = aBareword;\n        puVar8 = puVar20;\n        if ((int)((0x800013U >> (iVar7 - 9U & 0x1f)) << 0x1f) < 0) {\n          zExpr = (char *)((int)&(unaff_s4->fts5yy0).p + 1);\n          goto LAB_000b2a68;\n        }\n        do {\n          puVar17 = puVar8 + 4;\n          *(undefined4 *)puVar18 = *puVar8;\n          pfVar22 = (fts5YYMINORTYPE *)puVar8[1];\n          uVar21 = puVar8[2];\n          *(undefined4 *)(puVar18 + 0xc) = puVar8[3];\n          *(fts5YYMINORTYPE **)(puVar18 + 4) = pfVar22;\n          *(undefined4 *)(puVar18 + 8) = uVar21;\n          puVar8 = puVar17;\n          puVar18 = puVar18 + 0x10;\n        } while (puVar17 != puVar16);\nLAB_000b34f0:\n        if (aBareword[iVar7] != '\0') {\nLAB_000b2b04:\n          pfVar24 = unaff_s4;\n          do {\n            pfVar24 = (fts5YYMINORTYPE *)((int)&(pfVar24->fts5yy0).p + 1);\n            cVar14 = *(char *)pfVar24;\n            puVar8 = puVar20;\n            puVar18 = aBareword;\n            do {\n              pfVar22 = (fts5YYMINORTYPE *)*puVar8;\n              puVar17 = puVar8 + 4;\n              *(fts5YYMINORTYPE **)puVar18 = pfVar22;\n              fts5yypminor = (fts5YYMINORTYPE *)puVar8[1];\n              pfVar19 = (fts5YYMINORTYPE *)puVar8[2];\n              *(undefined4 *)(puVar18 + 0xc) = puVar8[3];\n              *(fts5YYMINORTYPE **)(puVar18 + 4) = fts5yypminor;\n              *(fts5YYMINORTYPE **)(puVar18 + 8) = pfVar19;\n              puVar8 = puVar17;\n              puVar18 = puVar18 + 0x10;\n            } while (puVar17 != puVar16);\n          } while ((cVar14 < 0) || (aBareword[cVar14] != '\0'));\n          pfVar24 = (fts5YYMINORTYPE *)((int)pfVar24 - (int)unaff_s4);\n          if (pfVar24 == (fts5YYMINORTYPE *)0x2) {\n            if ((*(char *)unaff_s4 == 'O') && (*(char *)((int)&(unaff_s4->fts5yy0).p + 1) == 'R')) {\n              unaff_s2 = (fts5yyParser *)0x1;\n              pfStack_110 = (fts5YYMINORTYPE *)0x2;\n            }\n            else {\n              unaff_s2 = (fts5yyParser *)&DAT_00000009;\n              pfStack_110 = (fts5YYMINORTYPE *)0x2;\n            }\n          }\n          else if (pfVar24 == (fts5YYMINORTYPE *)0x3) {\n            if ((*(char *)unaff_s4 == 'N') &&\n               (pfVar25 = (fts5yyParser *)&DAT_00000009,\n               *(char *)((int)&(unaff_s4->fts5yy0).p + 1) == 'O')) {\n              if (*(char *)((int)&(unaff_s4->fts5yy0).p + 2) == 'T') {\n                pfVar25 = (fts5yyParser *)0x3;\n              }\n            }\n            else {\n              pfVar25 = (fts5yyParser *)&DAT_00000009;\n            }\n            if (((*(char *)unaff_s4 == 'A') && (*(char *)((int)&(unaff_s4->fts5yy0).p + 1) == 'N'))\n               && (unaff_s2 = (fts5yyParser *)0x2, *(char *)((int)&(unaff_s4->fts5yy0).p + 2) == 'D'\n                  )) {\n              pfStack_110 = (fts5YYMINORTYPE *)0x3;\n            }\n            else {\n              pfStack_110 = (fts5YYMINORTYPE *)0x3;\n              unaff_s2 = pfVar25;\n            }\n          }\n          else {\n            unaff_s2 = (fts5yyParser *)&DAT_00000009;\n            pfStack_110 = pfVar24;\n          }\n          goto LAB_000b2b98;\n        }\n        pfVar24 = (fts5YYMINORTYPE *)0x1;\n        pfVar19 = (fts5YYMINORTYPE *)(PTR_DAT_0015b5fc + -0x70cc);\n        fts5yypminor = unaff_s4;\n        (*pcVar15)(&sParse);\n        unaff_s2 = (fts5yyParser *)0x0;\n      }\n      else {\n        pfVar19 = (fts5YYMINORTYPE *)0x0;\n        if (iVar7 == 0x2b) {\n          unaff_s2 = (fts5yyParser *)&DAT_0000000e;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\n        else if (iVar7 < 0x2c) {\n          if (iVar7 == 0x28) {\n            unaff_s2 = (fts5yyParser *)&DAT_0000000a;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else if (iVar7 < 0x29) {\n            if (iVar7 != 0) {\n              pcVar28 = (char *)((int)&(unaff_s4->fts5yy0).p + 1);\n              if (iVar7 != 0x22) {\nLAB_000b2abc:\n                puVar8 = puVar20;\n                puVar18 = aBareword;\n                do {\n                  puVar17 = puVar8 + 4;\n                  *(undefined4 *)puVar18 = *puVar8;\n                  pfVar22 = (fts5YYMINORTYPE *)puVar8[1];\n                  uVar21 = puVar8[2];\n                  *(undefined4 *)(puVar18 + 0xc) = puVar8[3];\n                  *(fts5YYMINORTYPE **)(puVar18 + 4) = pfVar22;\n                  *(undefined4 *)(puVar18 + 8) = uVar21;\n                  puVar8 = puVar17;\n                  puVar18 = puVar18 + 0x10;\n                } while (puVar17 != puVar16);\n                if (-1 < iVar7) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              cVar14 = *pcVar28;\n              if (cVar14 == '\"') goto LAB_000b3320;\n              while (pfVar19 = (fts5YYMINORTYPE *)PTR_DAT_0015b5fc, cVar14 != '\0') {\n                while( true ) {\n                  pcVar28 = pcVar28 + 1;\n                  cVar14 = *pcVar28;\n                  if (cVar14 != '\"') break;\nLAB_000b3320:\n                  pcVar12 = pcVar28 + 1;\n                  pcVar28 = pcVar28 + 1;\n                  if (*pcVar12 != '\"') {\n                    pfStack_110 = (fts5YYMINORTYPE *)(pcVar28 + -(int)unaff_s4);\n                    unaff_s2 = (fts5yyParser *)&DAT_00000009;\n                    pfVar24 = pfStack_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (fts5yyParser *)0x0;\n              pfVar24 = (fts5YYMINORTYPE *)0x1;\n              pfVar19 = (fts5YYMINORTYPE *)(PTR_DAT_0015b5fc + -0x70e0);\n              (*pcVar15)(&sParse);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (fts5yyParser *)0x0;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else if (iVar7 == 0x29) {\n            unaff_s2 = (fts5yyParser *)&DAT_0000000b;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else {\n            unaff_s2 = (fts5yyParser *)0xf;\n            if (iVar7 != 0x2a) goto LAB_000b2abc;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n        }\n        else if (iVar7 == 0x3a) {\n          unaff_s2 = (fts5yyParser *)&DAT_00000005;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\n        else if (iVar7 < 0x3b) {\n          if (iVar7 == 0x2c) {\n            unaff_s2 = (fts5yyParser *)&DAT_0000000d;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else {\n            unaff_s2 = (fts5yyParser *)&DAT_00000006;\n            if (iVar7 != 0x2d) goto LAB_000b2abc;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n        }\n        else if (iVar7 == 0x7b) {\n          unaff_s2 = (fts5yyParser *)&DAT_00000007;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\n        else if (iVar7 == 0x7d) {\n          unaff_s2 = (fts5yyParser *)&DAT_00000008;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\n        else {\n          unaff_s2 = (fts5yyParser *)&DAT_0000000c;\n          if (iVar7 != 0x5e) goto LAB_000b2abc;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\nLAB_000b2b98:\n        pfStack_110 = (fts5YYMINORTYPE *)((int)unaff_s4 + (int)pfStack_110);\n      }\nLAB_000b2ba0:\n      unaff_s6 = PTR_DAT_0015b5fc;\n      unaff_s7 = fts5yypParser->fts5yytos;\n      puVar9 = PTR_DAT_0015b5fc + 0x4920;\n      fts5yypParser->pParse = &sParse;\n      pFVar23 = (Fts5Config *)(uint)unaff_s7->stateno;\n      puVar10 = PTR_DAT_0015b5fc + 0x48fc;\n      do {\n        pFVar4 = (Fts5ExprNode *)PTR_DAT_0015b5fc;\n        if ((Fts5Config *)&DAT_00000022 < pFVar23) goto joined_r0x000b33cc;\n        pfVar11 = (fts5yyStackEntry *)\n                  ((int)unaff_s2->fts5yystack + ((byte)puVar10[(int)pFVar23] - 8));\n        if ((fts5yyStackEntry *)0x78 < pfVar11) goto LAB_000b2c10;\n        while( true ) {\n          if ((fts5yyParser *)(uint)(byte)puVar9[(int)&pfVar11->stateno] == unaff_s2) {\n            pFVar23 = (Fts5Config *)(uint)(byte)(unaff_s6 + 0x499c)[(int)&pfVar11->stateno];\n            pFVar4 = (Fts5ExprNode *)PTR_DAT_0015b5fc;\n          }\n          else {\nLAB_000b2c10:\n            pFVar23 = (Fts5Config *)(uint)(byte)(puVar5 + 0x48c4)[(int)&pFVar23->db];\n            pFVar4 = (Fts5ExprNode *)PTR_DAT_0015b5fc;\n          }\njoined_r0x000b33cc:\n          PTR_DAT_0015b5fc = (undefined *)pFVar4;\n          if (pFVar23 < (Fts5Config *)0x53) {\n            if (pFVar23 < (Fts5Config *)0x50) {\n              fts5yypParser->fts5yytos = unaff_s7 + 1;\n              if (fts5yypParser->fts5yystackEnd < unaff_s7 + 1) {\n                fts5yypParser->fts5yytos = unaff_s7;\n                fts5yyStackOverflow(fts5yypParser);\n              }\n              else {\n                if ((Fts5Config *)&DAT_00000022 < pFVar23) {\n                  pFVar23 = (Fts5Config *)((uint)((int)&pFVar23->aPrefix + 3) & 0xff);\n                }\n                unaff_s7[1].stateno = (uchar)pFVar23;\n                unaff_s7[1].major = (uchar)unaff_s2;\n                unaff_s7[1].minor.fts5yy11 = (Fts5Colset *)unaff_s4;\n                unaff_s7[1].minor.fts5yy0.n = (int)pfVar24;\n              }\n            }\n            else if (pFVar23 == (Fts5Config *)0x51) {\n              fts5yypParser->fts5yytos = unaff_s7 + -1;\n              pfVar19 = (fts5YYMINORTYPE *)pFVar4;\n            }\n            else {\n              pFVar23 = (Fts5Config *)fts5yypParser->pParse;\n              pfVar22 = unaff_s4;\n              fts5yyminorunion.fts5yy11 = (Fts5Colset *)unaff_s4;\n              fts5yyminorunion.fts5yy0.n = (int)pfVar24;\n              (*pcVar15)(pFVar23,&pFVar4[-0x2d2].field_0x24);\n              pfVar19 = &fts5yyminorunion;\n              fts5yypParser->pParse = (Fts5Parse *)pFVar23;\n              fts5yy_destructor(unaff_s2,(uchar)pfVar19,pfVar24);\n              fts5yypminor = pfVar24;\n            }\n            goto LAB_000b2d18;\n          }\n          pppcVar3 = &pFVar23[-1].azCol;\n          pFVar23 = (Fts5Config *)((int)pppcVar3 + 1);\n          unaff_s5 = (int)(char)(unaff_s6 + 0x488c)[(int)&pFVar23->db];\n          if ((unaff_s5 != 0) || (unaff_s7 < fts5yypParser->fts5yystackEnd)) break;\n          fts5yyStackOverflow(fts5yypParser);\n          unaff_s7 = fts5yypParser->fts5yytos;\n          if (unaff_s7 <= unaff_s1) goto LAB_000b2d18;\n          pfVar11 = unaff_s2->fts5yystack + 3;\n          pFVar23 = (Fts5Config *)0x0;\n        }\n        if (pFVar23 < (Fts5Config *)0x1c) {\n                    /* WARNING: Could not emulate address calculation at 0x000b2c68 */\n                    /* WARNING: Treating indirect jump as call */\n          iVar7 = (*(code *)(&_gp + (int)pFVar4[0x59].apChild[(int)((int)pppcVar3 + -2)]))();\n          return iVar7;\n        }\n        fts5yypminor = (fts5YYMINORTYPE *)(unaff_s6 + 0x499c);\n        bVar1 = unaff_s7[unaff_s5].stateno;\n        pfVar11 = unaff_s7 + unaff_s5 + 1;\n        bVar2 = *(byte *)((int)((Fts5ExprNode *)(pFVar4[0x1d1].apChild + -8))->apChild +\n                         (int)pppcVar3 + -0x1f);\n        fts5yypParser->fts5yytos = pfVar11;\n        pfVar11->major = bVar2;\n        bVar1 = *(byte *)((uint)bVar2 + (int)*(char *)((int)pFVar4[0x1d2].apChild + (bVar1 - 8)) +\n                         (int)fts5yypminor);\n        pFVar23 = (Fts5Config *)(uint)bVar1;\n        pfVar11->stateno = bVar1;\n        unaff_s7 = fts5yypParser->fts5yytos;\n        pfVar19 = (fts5YYMINORTYPE *)pFVar4;\n      } while (unaff_s1 < unaff_s7);\nLAB_000b2d18:\n      if ((sParse.rc != 0) || (zExpr = (char *)pfStack_110, unaff_s2 == (fts5yyParser *)0x0))\n      goto LAB_000b2d2c;\n    } while( true );" statement_identifier : (do_statement "do {\n      unaff_s4 = (fts5YYMINORTYPE *)zExpr;\n      iVar7 = (int)*(char *)unaff_s4;\n      if ((iVar7 - 9U & 0xff) < 0x18) {\n        puVar18 = aBareword;\n        puVar8 = puVar20;\n        if ((int)((0x800013U >> (iVar7 - 9U & 0x1f)) << 0x1f) < 0) {\n          zExpr = (char *)((int)&(unaff_s4->fts5yy0).p + 1);\n          goto LAB_000b2a68;\n        }\n        do {\n          puVar17 = puVar8 + 4;\n          *(undefined4 *)puVar18 = *puVar8;\n          pfVar22 = (fts5YYMINORTYPE *)puVar8[1];\n          uVar21 = puVar8[2];\n          *(undefined4 *)(puVar18 + 0xc) = puVar8[3];\n          *(fts5YYMINORTYPE **)(puVar18 + 4) = pfVar22;\n          *(undefined4 *)(puVar18 + 8) = uVar21;\n          puVar8 = puVar17;\n          puVar18 = puVar18 + 0x10;\n        } while (puVar17 != puVar16);\nLAB_000b34f0:\n        if (aBareword[iVar7] != '\0') {\nLAB_000b2b04:\n          pfVar24 = unaff_s4;\n          do {\n            pfVar24 = (fts5YYMINORTYPE *)((int)&(pfVar24->fts5yy0).p + 1);\n            cVar14 = *(char *)pfVar24;\n            puVar8 = puVar20;\n            puVar18 = aBareword;\n            do {\n              pfVar22 = (fts5YYMINORTYPE *)*puVar8;\n              puVar17 = puVar8 + 4;\n              *(fts5YYMINORTYPE **)puVar18 = pfVar22;\n              fts5yypminor = (fts5YYMINORTYPE *)puVar8[1];\n              pfVar19 = (fts5YYMINORTYPE *)puVar8[2];\n              *(undefined4 *)(puVar18 + 0xc) = puVar8[3];\n              *(fts5YYMINORTYPE **)(puVar18 + 4) = fts5yypminor;\n              *(fts5YYMINORTYPE **)(puVar18 + 8) = pfVar19;\n              puVar8 = puVar17;\n              puVar18 = puVar18 + 0x10;\n            } while (puVar17 != puVar16);\n          } while ((cVar14 < 0) || (aBareword[cVar14] != '\0'));\n          pfVar24 = (fts5YYMINORTYPE *)((int)pfVar24 - (int)unaff_s4);\n          if (pfVar24 == (fts5YYMINORTYPE *)0x2) {\n            if ((*(char *)unaff_s4 == 'O') && (*(char *)((int)&(unaff_s4->fts5yy0).p + 1) == 'R')) {\n              unaff_s2 = (fts5yyParser *)0x1;\n              pfStack_110 = (fts5YYMINORTYPE *)0x2;\n            }\n            else {\n              unaff_s2 = (fts5yyParser *)&DAT_00000009;\n              pfStack_110 = (fts5YYMINORTYPE *)0x2;\n            }\n          }\n          else if (pfVar24 == (fts5YYMINORTYPE *)0x3) {\n            if ((*(char *)unaff_s4 == 'N') &&\n               (pfVar25 = (fts5yyParser *)&DAT_00000009,\n               *(char *)((int)&(unaff_s4->fts5yy0).p + 1) == 'O')) {\n              if (*(char *)((int)&(unaff_s4->fts5yy0).p + 2) == 'T') {\n                pfVar25 = (fts5yyParser *)0x3;\n              }\n            }\n            else {\n              pfVar25 = (fts5yyParser *)&DAT_00000009;\n            }\n            if (((*(char *)unaff_s4 == 'A') && (*(char *)((int)&(unaff_s4->fts5yy0).p + 1) == 'N'))\n               && (unaff_s2 = (fts5yyParser *)0x2, *(char *)((int)&(unaff_s4->fts5yy0).p + 2) == 'D'\n                  )) {\n              pfStack_110 = (fts5YYMINORTYPE *)0x3;\n            }\n            else {\n              pfStack_110 = (fts5YYMINORTYPE *)0x3;\n              unaff_s2 = pfVar25;\n            }\n          }\n          else {\n            unaff_s2 = (fts5yyParser *)&DAT_00000009;\n            pfStack_110 = pfVar24;\n          }\n          goto LAB_000b2b98;\n        }\n        pfVar24 = (fts5YYMINORTYPE *)0x1;\n        pfVar19 = (fts5YYMINORTYPE *)(PTR_DAT_0015b5fc + -0x70cc);\n        fts5yypminor = unaff_s4;\n        (*pcVar15)(&sParse);\n        unaff_s2 = (fts5yyParser *)0x0;\n      }\n      else {\n        pfVar19 = (fts5YYMINORTYPE *)0x0;\n        if (iVar7 == 0x2b) {\n          unaff_s2 = (fts5yyParser *)&DAT_0000000e;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\n        else if (iVar7 < 0x2c) {\n          if (iVar7 == 0x28) {\n            unaff_s2 = (fts5yyParser *)&DAT_0000000a;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else if (iVar7 < 0x29) {\n            if (iVar7 != 0) {\n              pcVar28 = (char *)((int)&(unaff_s4->fts5yy0).p + 1);\n              if (iVar7 != 0x22) {\nLAB_000b2abc:\n                puVar8 = puVar20;\n                puVar18 = aBareword;\n                do {\n                  puVar17 = puVar8 + 4;\n                  *(undefined4 *)puVar18 = *puVar8;\n                  pfVar22 = (fts5YYMINORTYPE *)puVar8[1];\n                  uVar21 = puVar8[2];\n                  *(undefined4 *)(puVar18 + 0xc) = puVar8[3];\n                  *(fts5YYMINORTYPE **)(puVar18 + 4) = pfVar22;\n                  *(undefined4 *)(puVar18 + 8) = uVar21;\n                  puVar8 = puVar17;\n                  puVar18 = puVar18 + 0x10;\n                } while (puVar17 != puVar16);\n                if (-1 < iVar7) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              cVar14 = *pcVar28;\n              if (cVar14 == '\"') goto LAB_000b3320;\n              while (pfVar19 = (fts5YYMINORTYPE *)PTR_DAT_0015b5fc, cVar14 != '\0') {\n                while( true ) {\n                  pcVar28 = pcVar28 + 1;\n                  cVar14 = *pcVar28;\n                  if (cVar14 != '\"') break;\nLAB_000b3320:\n                  pcVar12 = pcVar28 + 1;\n                  pcVar28 = pcVar28 + 1;\n                  if (*pcVar12 != '\"') {\n                    pfStack_110 = (fts5YYMINORTYPE *)(pcVar28 + -(int)unaff_s4);\n                    unaff_s2 = (fts5yyParser *)&DAT_00000009;\n                    pfVar24 = pfStack_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (fts5yyParser *)0x0;\n              pfVar24 = (fts5YYMINORTYPE *)0x1;\n              pfVar19 = (fts5YYMINORTYPE *)(PTR_DAT_0015b5fc + -0x70e0);\n              (*pcVar15)(&sParse);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (fts5yyParser *)0x0;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else if (iVar7 == 0x29) {\n            unaff_s2 = (fts5yyParser *)&DAT_0000000b;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else {\n            unaff_s2 = (fts5yyParser *)0xf;\n            if (iVar7 != 0x2a) goto LAB_000b2abc;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n        }\n        else if (iVar7 == 0x3a) {\n          unaff_s2 = (fts5yyParser *)&DAT_00000005;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\n        else if (iVar7 < 0x3b) {\n          if (iVar7 == 0x2c) {\n            unaff_s2 = (fts5yyParser *)&DAT_0000000d;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else {\n            unaff_s2 = (fts5yyParser *)&DAT_00000006;\n            if (iVar7 != 0x2d) goto LAB_000b2abc;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n        }\n        else if (iVar7 == 0x7b) {\n          unaff_s2 = (fts5yyParser *)&DAT_00000007;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\n        else if (iVar7 == 0x7d) {\n          unaff_s2 = (fts5yyParser *)&DAT_00000008;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\n        else {\n          unaff_s2 = (fts5yyParser *)&DAT_0000000c;\n          if (iVar7 != 0x5e) goto LAB_000b2abc;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\nLAB_000b2b98:\n        pfStack_110 = (fts5YYMINORTYPE *)((int)unaff_s4 + (int)pfStack_110);\n      }\nLAB_000b2ba0:\n      unaff_s6 = PTR_DAT_0015b5fc;\n      unaff_s7 = fts5yypParser->fts5yytos;\n      puVar9 = PTR_DAT_0015b5fc + 0x4920;\n      fts5yypParser->pParse = &sParse;\n      pFVar23 = (Fts5Config *)(uint)unaff_s7->stateno;\n      puVar10 = PTR_DAT_0015b5fc + 0x48fc;\n      do {\n        pFVar4 = (Fts5ExprNode *)PTR_DAT_0015b5fc;\n        if ((Fts5Config *)&DAT_00000022 < pFVar23) goto joined_r0x000b33cc;\n        pfVar11 = (fts5yyStackEntry *)\n                  ((int)unaff_s2->fts5yystack + ((byte)puVar10[(int)pFVar23] - 8));\n        if ((fts5yyStackEntry *)0x78 < pfVar11) goto LAB_000b2c10;\n        while( true ) {\n          if ((fts5yyParser *)(uint)(byte)puVar9[(int)&pfVar11->stateno] == unaff_s2) {\n            pFVar23 = (Fts5Config *)(uint)(byte)(unaff_s6 + 0x499c)[(int)&pfVar11->stateno];\n            pFVar4 = (Fts5ExprNode *)PTR_DAT_0015b5fc;\n          }\n          else {\nLAB_000b2c10:\n            pFVar23 = (Fts5Config *)(uint)(byte)(puVar5 + 0x48c4)[(int)&pFVar23->db];\n            pFVar4 = (Fts5ExprNode *)PTR_DAT_0015b5fc;\n          }\njoined_r0x000b33cc:\n          PTR_DAT_0015b5fc = (undefined *)pFVar4;\n          if (pFVar23 < (Fts5Config *)0x53) {\n            if (pFVar23 < (Fts5Config *)0x50) {\n              fts5yypParser->fts5yytos = unaff_s7 + 1;\n              if (fts5yypParser->fts5yystackEnd < unaff_s7 + 1) {\n                fts5yypParser->fts5yytos = unaff_s7;\n                fts5yyStackOverflow(fts5yypParser);\n              }\n              else {\n                if ((Fts5Config *)&DAT_00000022 < pFVar23) {\n                  pFVar23 = (Fts5Config *)((uint)((int)&pFVar23->aPrefix + 3) & 0xff);\n                }\n                unaff_s7[1].stateno = (uchar)pFVar23;\n                unaff_s7[1].major = (uchar)unaff_s2;\n                unaff_s7[1].minor.fts5yy11 = (Fts5Colset *)unaff_s4;\n                unaff_s7[1].minor.fts5yy0.n = (int)pfVar24;\n              }\n            }\n            else if (pFVar23 == (Fts5Config *)0x51) {\n              fts5yypParser->fts5yytos = unaff_s7 + -1;\n              pfVar19 = (fts5YYMINORTYPE *)pFVar4;\n            }\n            else {\n              pFVar23 = (Fts5Config *)fts5yypParser->pParse;\n              pfVar22 = unaff_s4;\n              fts5yyminorunion.fts5yy11 = (Fts5Colset *)unaff_s4;\n              fts5yyminorunion.fts5yy0.n = (int)pfVar24;\n              (*pcVar15)(pFVar23,&pFVar4[-0x2d2].field_0x24);\n              pfVar19 = &fts5yyminorunion;\n              fts5yypParser->pParse = (Fts5Parse *)pFVar23;\n              fts5yy_destructor(unaff_s2,(uchar)pfVar19,pfVar24);\n              fts5yypminor = pfVar24;\n            }\n            goto LAB_000b2d18;\n          }\n          pppcVar3 = &pFVar23[-1].azCol;\n          pFVar23 = (Fts5Config *)((int)pppcVar3 + 1);\n          unaff_s5 = (int)(char)(unaff_s6 + 0x488c)[(int)&pFVar23->db];\n          if ((unaff_s5 != 0) || (unaff_s7 < fts5yypParser->fts5yystackEnd)) break;\n          fts5yyStackOverflow(fts5yypParser);\n          unaff_s7 = fts5yypParser->fts5yytos;\n          if (unaff_s7 <= unaff_s1) goto LAB_000b2d18;\n          pfVar11 = unaff_s2->fts5yystack + 3;\n          pFVar23 = (Fts5Config *)0x0;\n        }\n        if (pFVar23 < (Fts5Config *)0x1c) {\n                    /* WARNING: Could not emulate address calculation at 0x000b2c68 */\n                    /* WARNING: Treating indirect jump as call */\n          iVar7 = (*(code *)(&_gp + (int)pFVar4[0x59].apChild[(int)((int)pppcVar3 + -2)]))();\n          return iVar7;\n        }\n        fts5yypminor = (fts5YYMINORTYPE *)(unaff_s6 + 0x499c);\n        bVar1 = unaff_s7[unaff_s5].stateno;\n        pfVar11 = unaff_s7 + unaff_s5 + 1;\n        bVar2 = *(byte *)((int)((Fts5ExprNode *)(pFVar4[0x1d1].apChild + -8))->apChild +\n                         (int)pppcVar3 + -0x1f);\n        fts5yypParser->fts5yytos = pfVar11;\n        pfVar11->major = bVar2;\n        bVar1 = *(byte *)((uint)bVar2 + (int)*(char *)((int)pFVar4[0x1d2].apChild + (bVar1 - 8)) +\n                         (int)fts5yypminor);\n        pFVar23 = (Fts5Config *)(uint)bVar1;\n        pfVar11->stateno = bVar1;\n        unaff_s7 = fts5yypParser->fts5yytos;\n        pfVar19 = (fts5YYMINORTYPE *)pFVar4;\n      } while (unaff_s1 < unaff_s7);\nLAB_000b2d18:\n      if ((sParse.rc != 0) || (zExpr = (char *)pfStack_110, unaff_s2 == (fts5yyParser *)0x0))\n      goto LAB_000b2d2c;\n    } while( true );" do (compound_statement "{\n      unaff_s4 = (fts5YYMINORTYPE *)zExpr;\n      iVar7 = (int)*(char *)unaff_s4;\n      if ((iVar7 - 9U & 0xff) < 0x18) {\n        puVar18 = aBareword;\n        puVar8 = puVar20;\n        if ((int)((0x800013U >> (iVar7 - 9U & 0x1f)) << 0x1f) < 0) {\n          zExpr = (char *)((int)&(unaff_s4->fts5yy0).p + 1);\n          goto LAB_000b2a68;\n        }\n        do {\n          puVar17 = puVar8 + 4;\n          *(undefined4 *)puVar18 = *puVar8;\n          pfVar22 = (fts5YYMINORTYPE *)puVar8[1];\n          uVar21 = puVar8[2];\n          *(undefined4 *)(puVar18 + 0xc) = puVar8[3];\n          *(fts5YYMINORTYPE **)(puVar18 + 4) = pfVar22;\n          *(undefined4 *)(puVar18 + 8) = uVar21;\n          puVar8 = puVar17;\n          puVar18 = puVar18 + 0x10;\n        } while (puVar17 != puVar16);\nLAB_000b34f0:\n        if (aBareword[iVar7] != '\0') {\nLAB_000b2b04:\n          pfVar24 = unaff_s4;\n          do {\n            pfVar24 = (fts5YYMINORTYPE *)((int)&(pfVar24->fts5yy0).p + 1);\n            cVar14 = *(char *)pfVar24;\n            puVar8 = puVar20;\n            puVar18 = aBareword;\n            do {\n              pfVar22 = (fts5YYMINORTYPE *)*puVar8;\n              puVar17 = puVar8 + 4;\n              *(fts5YYMINORTYPE **)puVar18 = pfVar22;\n              fts5yypminor = (fts5YYMINORTYPE *)puVar8[1];\n              pfVar19 = (fts5YYMINORTYPE *)puVar8[2];\n              *(undefined4 *)(puVar18 + 0xc) = puVar8[3];\n              *(fts5YYMINORTYPE **)(puVar18 + 4) = fts5yypminor;\n              *(fts5YYMINORTYPE **)(puVar18 + 8) = pfVar19;\n              puVar8 = puVar17;\n              puVar18 = puVar18 + 0x10;\n            } while (puVar17 != puVar16);\n          } while ((cVar14 < 0) || (aBareword[cVar14] != '\0'));\n          pfVar24 = (fts5YYMINORTYPE *)((int)pfVar24 - (int)unaff_s4);\n          if (pfVar24 == (fts5YYMINORTYPE *)0x2) {\n            if ((*(char *)unaff_s4 == 'O') && (*(char *)((int)&(unaff_s4->fts5yy0).p + 1) == 'R')) {\n              unaff_s2 = (fts5yyParser *)0x1;\n              pfStack_110 = (fts5YYMINORTYPE *)0x2;\n            }\n            else {\n              unaff_s2 = (fts5yyParser *)&DAT_00000009;\n              pfStack_110 = (fts5YYMINORTYPE *)0x2;\n            }\n          }\n          else if (pfVar24 == (fts5YYMINORTYPE *)0x3) {\n            if ((*(char *)unaff_s4 == 'N') &&\n               (pfVar25 = (fts5yyParser *)&DAT_00000009,\n               *(char *)((int)&(unaff_s4->fts5yy0).p + 1) == 'O')) {\n              if (*(char *)((int)&(unaff_s4->fts5yy0).p + 2) == 'T') {\n                pfVar25 = (fts5yyParser *)0x3;\n              }\n            }\n            else {\n              pfVar25 = (fts5yyParser *)&DAT_00000009;\n            }\n            if (((*(char *)unaff_s4 == 'A') && (*(char *)((int)&(unaff_s4->fts5yy0).p + 1) == 'N'))\n               && (unaff_s2 = (fts5yyParser *)0x2, *(char *)((int)&(unaff_s4->fts5yy0).p + 2) == 'D'\n                  )) {\n              pfStack_110 = (fts5YYMINORTYPE *)0x3;\n            }\n            else {\n              pfStack_110 = (fts5YYMINORTYPE *)0x3;\n              unaff_s2 = pfVar25;\n            }\n          }\n          else {\n            unaff_s2 = (fts5yyParser *)&DAT_00000009;\n            pfStack_110 = pfVar24;\n          }\n          goto LAB_000b2b98;\n        }\n        pfVar24 = (fts5YYMINORTYPE *)0x1;\n        pfVar19 = (fts5YYMINORTYPE *)(PTR_DAT_0015b5fc + -0x70cc);\n        fts5yypminor = unaff_s4;\n        (*pcVar15)(&sParse);\n        unaff_s2 = (fts5yyParser *)0x0;\n      }\n      else {\n        pfVar19 = (fts5YYMINORTYPE *)0x0;\n        if (iVar7 == 0x2b) {\n          unaff_s2 = (fts5yyParser *)&DAT_0000000e;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\n        else if (iVar7 < 0x2c) {\n          if (iVar7 == 0x28) {\n            unaff_s2 = (fts5yyParser *)&DAT_0000000a;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else if (iVar7 < 0x29) {\n            if (iVar7 != 0) {\n              pcVar28 = (char *)((int)&(unaff_s4->fts5yy0).p + 1);\n              if (iVar7 != 0x22) {\nLAB_000b2abc:\n                puVar8 = puVar20;\n                puVar18 = aBareword;\n                do {\n                  puVar17 = puVar8 + 4;\n                  *(undefined4 *)puVar18 = *puVar8;\n                  pfVar22 = (fts5YYMINORTYPE *)puVar8[1];\n                  uVar21 = puVar8[2];\n                  *(undefined4 *)(puVar18 + 0xc) = puVar8[3];\n                  *(fts5YYMINORTYPE **)(puVar18 + 4) = pfVar22;\n                  *(undefined4 *)(puVar18 + 8) = uVar21;\n                  puVar8 = puVar17;\n                  puVar18 = puVar18 + 0x10;\n                } while (puVar17 != puVar16);\n                if (-1 < iVar7) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              cVar14 = *pcVar28;\n              if (cVar14 == '\"') goto LAB_000b3320;\n              while (pfVar19 = (fts5YYMINORTYPE *)PTR_DAT_0015b5fc, cVar14 != '\0') {\n                while( true ) {\n                  pcVar28 = pcVar28 + 1;\n                  cVar14 = *pcVar28;\n                  if (cVar14 != '\"') break;\nLAB_000b3320:\n                  pcVar12 = pcVar28 + 1;\n                  pcVar28 = pcVar28 + 1;\n                  if (*pcVar12 != '\"') {\n                    pfStack_110 = (fts5YYMINORTYPE *)(pcVar28 + -(int)unaff_s4);\n                    unaff_s2 = (fts5yyParser *)&DAT_00000009;\n                    pfVar24 = pfStack_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (fts5yyParser *)0x0;\n              pfVar24 = (fts5YYMINORTYPE *)0x1;\n              pfVar19 = (fts5YYMINORTYPE *)(PTR_DAT_0015b5fc + -0x70e0);\n              (*pcVar15)(&sParse);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (fts5yyParser *)0x0;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else if (iVar7 == 0x29) {\n            unaff_s2 = (fts5yyParser *)&DAT_0000000b;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else {\n            unaff_s2 = (fts5yyParser *)0xf;\n            if (iVar7 != 0x2a) goto LAB_000b2abc;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n        }\n        else if (iVar7 == 0x3a) {\n          unaff_s2 = (fts5yyParser *)&DAT_00000005;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\n        else if (iVar7 < 0x3b) {\n          if (iVar7 == 0x2c) {\n            unaff_s2 = (fts5yyParser *)&DAT_0000000d;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else {\n            unaff_s2 = (fts5yyParser *)&DAT_00000006;\n            if (iVar7 != 0x2d) goto LAB_000b2abc;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n        }\n        else if (iVar7 == 0x7b) {\n          unaff_s2 = (fts5yyParser *)&DAT_00000007;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\n        else if (iVar7 == 0x7d) {\n          unaff_s2 = (fts5yyParser *)&DAT_00000008;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\n        else {\n          unaff_s2 = (fts5yyParser *)&DAT_0000000c;\n          if (iVar7 != 0x5e) goto LAB_000b2abc;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\nLAB_000b2b98:\n        pfStack_110 = (fts5YYMINORTYPE *)((int)unaff_s4 + (int)pfStack_110);\n      }\nLAB_000b2ba0:\n      unaff_s6 = PTR_DAT_0015b5fc;\n      unaff_s7 = fts5yypParser->fts5yytos;\n      puVar9 = PTR_DAT_0015b5fc + 0x4920;\n      fts5yypParser->pParse = &sParse;\n      pFVar23 = (Fts5Config *)(uint)unaff_s7->stateno;\n      puVar10 = PTR_DAT_0015b5fc + 0x48fc;\n      do {\n        pFVar4 = (Fts5ExprNode *)PTR_DAT_0015b5fc;\n        if ((Fts5Config *)&DAT_00000022 < pFVar23) goto joined_r0x000b33cc;\n        pfVar11 = (fts5yyStackEntry *)\n                  ((int)unaff_s2->fts5yystack + ((byte)puVar10[(int)pFVar23] - 8));\n        if ((fts5yyStackEntry *)0x78 < pfVar11) goto LAB_000b2c10;\n        while( true ) {\n          if ((fts5yyParser *)(uint)(byte)puVar9[(int)&pfVar11->stateno] == unaff_s2) {\n            pFVar23 = (Fts5Config *)(uint)(byte)(unaff_s6 + 0x499c)[(int)&pfVar11->stateno];\n            pFVar4 = (Fts5ExprNode *)PTR_DAT_0015b5fc;\n          }\n          else {\nLAB_000b2c10:\n            pFVar23 = (Fts5Config *)(uint)(byte)(puVar5 + 0x48c4)[(int)&pFVar23->db];\n            pFVar4 = (Fts5ExprNode *)PTR_DAT_0015b5fc;\n          }\njoined_r0x000b33cc:\n          PTR_DAT_0015b5fc = (undefined *)pFVar4;\n          if (pFVar23 < (Fts5Config *)0x53) {\n            if (pFVar23 < (Fts5Config *)0x50) {\n              fts5yypParser->fts5yytos = unaff_s7 + 1;\n              if (fts5yypParser->fts5yystackEnd < unaff_s7 + 1) {\n                fts5yypParser->fts5yytos = unaff_s7;\n                fts5yyStackOverflow(fts5yypParser);\n              }\n              else {\n                if ((Fts5Config *)&DAT_00000022 < pFVar23) {\n                  pFVar23 = (Fts5Config *)((uint)((int)&pFVar23->aPrefix + 3) & 0xff);\n                }\n                unaff_s7[1].stateno = (uchar)pFVar23;\n                unaff_s7[1].major = (uchar)unaff_s2;\n                unaff_s7[1].minor.fts5yy11 = (Fts5Colset *)unaff_s4;\n                unaff_s7[1].minor.fts5yy0.n = (int)pfVar24;\n              }\n            }\n            else if (pFVar23 == (Fts5Config *)0x51) {\n              fts5yypParser->fts5yytos = unaff_s7 + -1;\n              pfVar19 = (fts5YYMINORTYPE *)pFVar4;\n            }\n            else {\n              pFVar23 = (Fts5Config *)fts5yypParser->pParse;\n              pfVar22 = unaff_s4;\n              fts5yyminorunion.fts5yy11 = (Fts5Colset *)unaff_s4;\n              fts5yyminorunion.fts5yy0.n = (int)pfVar24;\n              (*pcVar15)(pFVar23,&pFVar4[-0x2d2].field_0x24);\n              pfVar19 = &fts5yyminorunion;\n              fts5yypParser->pParse = (Fts5Parse *)pFVar23;\n              fts5yy_destructor(unaff_s2,(uchar)pfVar19,pfVar24);\n              fts5yypminor = pfVar24;\n            }\n            goto LAB_000b2d18;\n          }\n          pppcVar3 = &pFVar23[-1].azCol;\n          pFVar23 = (Fts5Config *)((int)pppcVar3 + 1);\n          unaff_s5 = (int)(char)(unaff_s6 + 0x488c)[(int)&pFVar23->db];\n          if ((unaff_s5 != 0) || (unaff_s7 < fts5yypParser->fts5yystackEnd)) break;\n          fts5yyStackOverflow(fts5yypParser);\n          unaff_s7 = fts5yypParser->fts5yytos;\n          if (unaff_s7 <= unaff_s1) goto LAB_000b2d18;\n          pfVar11 = unaff_s2->fts5yystack + 3;\n          pFVar23 = (Fts5Config *)0x0;\n        }\n        if (pFVar23 < (Fts5Config *)0x1c) {\n                    /* WARNING: Could not emulate address calculation at 0x000b2c68 */\n                    /* WARNING: Treating indirect jump as call */\n          iVar7 = (*(code *)(&_gp + (int)pFVar4[0x59].apChild[(int)((int)pppcVar3 + -2)]))();\n          return iVar7;\n        }\n        fts5yypminor = (fts5YYMINORTYPE *)(unaff_s6 + 0x499c);\n        bVar1 = unaff_s7[unaff_s5].stateno;\n        pfVar11 = unaff_s7 + unaff_s5 + 1;\n        bVar2 = *(byte *)((int)((Fts5ExprNode *)(pFVar4[0x1d1].apChild + -8))->apChild +\n                         (int)pppcVar3 + -0x1f);\n        fts5yypParser->fts5yytos = pfVar11;\n        pfVar11->major = bVar2;\n        bVar1 = *(byte *)((uint)bVar2 + (int)*(char *)((int)pFVar4[0x1d2].apChild + (bVar1 - 8)) +\n                         (int)fts5yypminor);\n        pFVar23 = (Fts5Config *)(uint)bVar1;\n        pfVar11->stateno = bVar1;\n        unaff_s7 = fts5yypParser->fts5yytos;\n        pfVar19 = (fts5YYMINORTYPE *)pFVar4;\n      } while (unaff_s1 < unaff_s7);\nLAB_000b2d18:\n      if ((sParse.rc != 0) || (zExpr = (char *)pfStack_110, unaff_s2 == (fts5yyParser *)0x0))\n      goto LAB_000b2d2c;\n    }" { (expression_statement "unaff_s4 = (fts5YYMINORTYPE *)zExpr;" (assignment_expression "unaff_s4 = (fts5YYMINORTYPE *)zExpr" identifier = (cast_expression "(fts5YYMINORTYPE *)zExpr" ( (type_descriptor "fts5YYMINORTYPE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "iVar7 = (int)*(char *)unaff_s4;" (assignment_expression "iVar7 = (int)*(char *)unaff_s4" identifier = (cast_expression "(int)*(char *)unaff_s4" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(char *)unaff_s4" * (cast_expression "(char *)unaff_s4" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (if_statement "if ((iVar7 - 9U & 0xff) < 0x18) {\n        puVar18 = aBareword;\n        puVar8 = puVar20;\n        if ((int)((0x800013U >> (iVar7 - 9U & 0x1f)) << 0x1f) < 0) {\n          zExpr = (char *)((int)&(unaff_s4->fts5yy0).p + 1);\n          goto LAB_000b2a68;\n        }\n        do {\n          puVar17 = puVar8 + 4;\n          *(undefined4 *)puVar18 = *puVar8;\n          pfVar22 = (fts5YYMINORTYPE *)puVar8[1];\n          uVar21 = puVar8[2];\n          *(undefined4 *)(puVar18 + 0xc) = puVar8[3];\n          *(fts5YYMINORTYPE **)(puVar18 + 4) = pfVar22;\n          *(undefined4 *)(puVar18 + 8) = uVar21;\n          puVar8 = puVar17;\n          puVar18 = puVar18 + 0x10;\n        } while (puVar17 != puVar16);\nLAB_000b34f0:\n        if (aBareword[iVar7] != '\0') {\nLAB_000b2b04:\n          pfVar24 = unaff_s4;\n          do {\n            pfVar24 = (fts5YYMINORTYPE *)((int)&(pfVar24->fts5yy0).p + 1);\n            cVar14 = *(char *)pfVar24;\n            puVar8 = puVar20;\n            puVar18 = aBareword;\n            do {\n              pfVar22 = (fts5YYMINORTYPE *)*puVar8;\n              puVar17 = puVar8 + 4;\n              *(fts5YYMINORTYPE **)puVar18 = pfVar22;\n              fts5yypminor = (fts5YYMINORTYPE *)puVar8[1];\n              pfVar19 = (fts5YYMINORTYPE *)puVar8[2];\n              *(undefined4 *)(puVar18 + 0xc) = puVar8[3];\n              *(fts5YYMINORTYPE **)(puVar18 + 4) = fts5yypminor;\n              *(fts5YYMINORTYPE **)(puVar18 + 8) = pfVar19;\n              puVar8 = puVar17;\n              puVar18 = puVar18 + 0x10;\n            } while (puVar17 != puVar16);\n          } while ((cVar14 < 0) || (aBareword[cVar14] != '\0'));\n          pfVar24 = (fts5YYMINORTYPE *)((int)pfVar24 - (int)unaff_s4);\n          if (pfVar24 == (fts5YYMINORTYPE *)0x2) {\n            if ((*(char *)unaff_s4 == 'O') && (*(char *)((int)&(unaff_s4->fts5yy0).p + 1) == 'R')) {\n              unaff_s2 = (fts5yyParser *)0x1;\n              pfStack_110 = (fts5YYMINORTYPE *)0x2;\n            }\n            else {\n              unaff_s2 = (fts5yyParser *)&DAT_00000009;\n              pfStack_110 = (fts5YYMINORTYPE *)0x2;\n            }\n          }\n          else if (pfVar24 == (fts5YYMINORTYPE *)0x3) {\n            if ((*(char *)unaff_s4 == 'N') &&\n               (pfVar25 = (fts5yyParser *)&DAT_00000009,\n               *(char *)((int)&(unaff_s4->fts5yy0).p + 1) == 'O')) {\n              if (*(char *)((int)&(unaff_s4->fts5yy0).p + 2) == 'T') {\n                pfVar25 = (fts5yyParser *)0x3;\n              }\n            }\n            else {\n              pfVar25 = (fts5yyParser *)&DAT_00000009;\n            }\n            if (((*(char *)unaff_s4 == 'A') && (*(char *)((int)&(unaff_s4->fts5yy0).p + 1) == 'N'))\n               && (unaff_s2 = (fts5yyParser *)0x2, *(char *)((int)&(unaff_s4->fts5yy0).p + 2) == 'D'\n                  )) {\n              pfStack_110 = (fts5YYMINORTYPE *)0x3;\n            }\n            else {\n              pfStack_110 = (fts5YYMINORTYPE *)0x3;\n              unaff_s2 = pfVar25;\n            }\n          }\n          else {\n            unaff_s2 = (fts5yyParser *)&DAT_00000009;\n            pfStack_110 = pfVar24;\n          }\n          goto LAB_000b2b98;\n        }\n        pfVar24 = (fts5YYMINORTYPE *)0x1;\n        pfVar19 = (fts5YYMINORTYPE *)(PTR_DAT_0015b5fc + -0x70cc);\n        fts5yypminor = unaff_s4;\n        (*pcVar15)(&sParse);\n        unaff_s2 = (fts5yyParser *)0x0;\n      }\n      else {\n        pfVar19 = (fts5YYMINORTYPE *)0x0;\n        if (iVar7 == 0x2b) {\n          unaff_s2 = (fts5yyParser *)&DAT_0000000e;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\n        else if (iVar7 < 0x2c) {\n          if (iVar7 == 0x28) {\n            unaff_s2 = (fts5yyParser *)&DAT_0000000a;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else if (iVar7 < 0x29) {\n            if (iVar7 != 0) {\n              pcVar28 = (char *)((int)&(unaff_s4->fts5yy0).p + 1);\n              if (iVar7 != 0x22) {\nLAB_000b2abc:\n                puVar8 = puVar20;\n                puVar18 = aBareword;\n                do {\n                  puVar17 = puVar8 + 4;\n                  *(undefined4 *)puVar18 = *puVar8;\n                  pfVar22 = (fts5YYMINORTYPE *)puVar8[1];\n                  uVar21 = puVar8[2];\n                  *(undefined4 *)(puVar18 + 0xc) = puVar8[3];\n                  *(fts5YYMINORTYPE **)(puVar18 + 4) = pfVar22;\n                  *(undefined4 *)(puVar18 + 8) = uVar21;\n                  puVar8 = puVar17;\n                  puVar18 = puVar18 + 0x10;\n                } while (puVar17 != puVar16);\n                if (-1 < iVar7) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              cVar14 = *pcVar28;\n              if (cVar14 == '\"') goto LAB_000b3320;\n              while (pfVar19 = (fts5YYMINORTYPE *)PTR_DAT_0015b5fc, cVar14 != '\0') {\n                while( true ) {\n                  pcVar28 = pcVar28 + 1;\n                  cVar14 = *pcVar28;\n                  if (cVar14 != '\"') break;\nLAB_000b3320:\n                  pcVar12 = pcVar28 + 1;\n                  pcVar28 = pcVar28 + 1;\n                  if (*pcVar12 != '\"') {\n                    pfStack_110 = (fts5YYMINORTYPE *)(pcVar28 + -(int)unaff_s4);\n                    unaff_s2 = (fts5yyParser *)&DAT_00000009;\n                    pfVar24 = pfStack_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (fts5yyParser *)0x0;\n              pfVar24 = (fts5YYMINORTYPE *)0x1;\n              pfVar19 = (fts5YYMINORTYPE *)(PTR_DAT_0015b5fc + -0x70e0);\n              (*pcVar15)(&sParse);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (fts5yyParser *)0x0;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else if (iVar7 == 0x29) {\n            unaff_s2 = (fts5yyParser *)&DAT_0000000b;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else {\n            unaff_s2 = (fts5yyParser *)0xf;\n            if (iVar7 != 0x2a) goto LAB_000b2abc;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n        }\n        else if (iVar7 == 0x3a) {\n          unaff_s2 = (fts5yyParser *)&DAT_00000005;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\n        else if (iVar7 < 0x3b) {\n          if (iVar7 == 0x2c) {\n            unaff_s2 = (fts5yyParser *)&DAT_0000000d;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else {\n            unaff_s2 = (fts5yyParser *)&DAT_00000006;\n            if (iVar7 != 0x2d) goto LAB_000b2abc;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n        }\n        else if (iVar7 == 0x7b) {\n          unaff_s2 = (fts5yyParser *)&DAT_00000007;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\n        else if (iVar7 == 0x7d) {\n          unaff_s2 = (fts5yyParser *)&DAT_00000008;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\n        else {\n          unaff_s2 = (fts5yyParser *)&DAT_0000000c;\n          if (iVar7 != 0x5e) goto LAB_000b2abc;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\nLAB_000b2b98:\n        pfStack_110 = (fts5YYMINORTYPE *)((int)unaff_s4 + (int)pfStack_110);\n      }" if (parenthesized_expression "((iVar7 - 9U & 0xff) < 0x18)" ( (binary_expression "(iVar7 - 9U & 0xff) < 0x18" (parenthesized_expression "(iVar7 - 9U & 0xff)" ( (binary_expression "iVar7 - 9U & 0xff" (binary_expression "iVar7 - 9U" identifier - number_literal) & number_literal) )) < number_literal) )) (compound_statement "{\n        puVar18 = aBareword;\n        puVar8 = puVar20;\n        if ((int)((0x800013U >> (iVar7 - 9U & 0x1f)) << 0x1f) < 0) {\n          zExpr = (char *)((int)&(unaff_s4->fts5yy0).p + 1);\n          goto LAB_000b2a68;\n        }\n        do {\n          puVar17 = puVar8 + 4;\n          *(undefined4 *)puVar18 = *puVar8;\n          pfVar22 = (fts5YYMINORTYPE *)puVar8[1];\n          uVar21 = puVar8[2];\n          *(undefined4 *)(puVar18 + 0xc) = puVar8[3];\n          *(fts5YYMINORTYPE **)(puVar18 + 4) = pfVar22;\n          *(undefined4 *)(puVar18 + 8) = uVar21;\n          puVar8 = puVar17;\n          puVar18 = puVar18 + 0x10;\n        } while (puVar17 != puVar16);\nLAB_000b34f0:\n        if (aBareword[iVar7] != '\0') {\nLAB_000b2b04:\n          pfVar24 = unaff_s4;\n          do {\n            pfVar24 = (fts5YYMINORTYPE *)((int)&(pfVar24->fts5yy0).p + 1);\n            cVar14 = *(char *)pfVar24;\n            puVar8 = puVar20;\n            puVar18 = aBareword;\n            do {\n              pfVar22 = (fts5YYMINORTYPE *)*puVar8;\n              puVar17 = puVar8 + 4;\n              *(fts5YYMINORTYPE **)puVar18 = pfVar22;\n              fts5yypminor = (fts5YYMINORTYPE *)puVar8[1];\n              pfVar19 = (fts5YYMINORTYPE *)puVar8[2];\n              *(undefined4 *)(puVar18 + 0xc) = puVar8[3];\n              *(fts5YYMINORTYPE **)(puVar18 + 4) = fts5yypminor;\n              *(fts5YYMINORTYPE **)(puVar18 + 8) = pfVar19;\n              puVar8 = puVar17;\n              puVar18 = puVar18 + 0x10;\n            } while (puVar17 != puVar16);\n          } while ((cVar14 < 0) || (aBareword[cVar14] != '\0'));\n          pfVar24 = (fts5YYMINORTYPE *)((int)pfVar24 - (int)unaff_s4);\n          if (pfVar24 == (fts5YYMINORTYPE *)0x2) {\n            if ((*(char *)unaff_s4 == 'O') && (*(char *)((int)&(unaff_s4->fts5yy0).p + 1) == 'R')) {\n              unaff_s2 = (fts5yyParser *)0x1;\n              pfStack_110 = (fts5YYMINORTYPE *)0x2;\n            }\n            else {\n              unaff_s2 = (fts5yyParser *)&DAT_00000009;\n              pfStack_110 = (fts5YYMINORTYPE *)0x2;\n            }\n          }\n          else if (pfVar24 == (fts5YYMINORTYPE *)0x3) {\n            if ((*(char *)unaff_s4 == 'N') &&\n               (pfVar25 = (fts5yyParser *)&DAT_00000009,\n               *(char *)((int)&(unaff_s4->fts5yy0).p + 1) == 'O')) {\n              if (*(char *)((int)&(unaff_s4->fts5yy0).p + 2) == 'T') {\n                pfVar25 = (fts5yyParser *)0x3;\n              }\n            }\n            else {\n              pfVar25 = (fts5yyParser *)&DAT_00000009;\n            }\n            if (((*(char *)unaff_s4 == 'A') && (*(char *)((int)&(unaff_s4->fts5yy0).p + 1) == 'N'))\n               && (unaff_s2 = (fts5yyParser *)0x2, *(char *)((int)&(unaff_s4->fts5yy0).p + 2) == 'D'\n                  )) {\n              pfStack_110 = (fts5YYMINORTYPE *)0x3;\n            }\n            else {\n              pfStack_110 = (fts5YYMINORTYPE *)0x3;\n              unaff_s2 = pfVar25;\n            }\n          }\n          else {\n            unaff_s2 = (fts5yyParser *)&DAT_00000009;\n            pfStack_110 = pfVar24;\n          }\n          goto LAB_000b2b98;\n        }\n        pfVar24 = (fts5YYMINORTYPE *)0x1;\n        pfVar19 = (fts5YYMINORTYPE *)(PTR_DAT_0015b5fc + -0x70cc);\n        fts5yypminor = unaff_s4;\n        (*pcVar15)(&sParse);\n        unaff_s2 = (fts5yyParser *)0x0;\n      }" { (expression_statement "puVar18 = aBareword;" (assignment_expression "puVar18 = aBareword" identifier = identifier) ;) (expression_statement "puVar8 = puVar20;" (assignment_expression "puVar8 = puVar20" identifier = identifier) ;) (if_statement "if ((int)((0x800013U >> (iVar7 - 9U & 0x1f)) << 0x1f) < 0) {\n          zExpr = (char *)((int)&(unaff_s4->fts5yy0).p + 1);\n          goto LAB_000b2a68;\n        }" if (parenthesized_expression "((int)((0x800013U >> (iVar7 - 9U & 0x1f)) << 0x1f) < 0)" ( (binary_expression "(int)((0x800013U >> (iVar7 - 9U & 0x1f)) << 0x1f) < 0" (cast_expression "(int)((0x800013U >> (iVar7 - 9U & 0x1f)) << 0x1f)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((0x800013U >> (iVar7 - 9U & 0x1f)) << 0x1f)" ( (binary_expression "(0x800013U >> (iVar7 - 9U & 0x1f)) << 0x1f" (parenthesized_expression "(0x800013U >> (iVar7 - 9U & 0x1f))" ( (binary_expression "0x800013U >> (iVar7 - 9U & 0x1f)" number_literal >> (parenthesized_expression "(iVar7 - 9U & 0x1f)" ( (binary_expression "iVar7 - 9U & 0x1f" (binary_expression "iVar7 - 9U" identifier - number_literal) & number_literal) ))) )) << number_literal) ))) < number_literal) )) (compound_statement "{\n          zExpr = (char *)((int)&(unaff_s4->fts5yy0).p + 1);\n          goto LAB_000b2a68;\n        }" { (expression_statement "zExpr = (char *)((int)&(unaff_s4->fts5yy0).p + 1);" (assignment_expression "zExpr = (char *)((int)&(unaff_s4->fts5yy0).p + 1)" identifier = (cast_expression "(char *)((int)&(unaff_s4->fts5yy0).p + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(unaff_s4->fts5yy0).p + 1)" ( (binary_expression "(int)&(unaff_s4->fts5yy0).p + 1" (cast_expression "(int)&(unaff_s4->fts5yy0).p" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(unaff_s4->fts5yy0).p" & (field_expression "(unaff_s4->fts5yy0).p" (parenthesized_expression "(unaff_s4->fts5yy0)" ( (field_expression "unaff_s4->fts5yy0" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) ;) (goto_statement "goto LAB_000b2a68;" goto statement_identifier ;) })) (do_statement "do {\n          puVar17 = puVar8 + 4;\n          *(undefined4 *)puVar18 = *puVar8;\n          pfVar22 = (fts5YYMINORTYPE *)puVar8[1];\n          uVar21 = puVar8[2];\n          *(undefined4 *)(puVar18 + 0xc) = puVar8[3];\n          *(fts5YYMINORTYPE **)(puVar18 + 4) = pfVar22;\n          *(undefined4 *)(puVar18 + 8) = uVar21;\n          puVar8 = puVar17;\n          puVar18 = puVar18 + 0x10;\n        } while (puVar17 != puVar16);" do (compound_statement "{\n          puVar17 = puVar8 + 4;\n          *(undefined4 *)puVar18 = *puVar8;\n          pfVar22 = (fts5YYMINORTYPE *)puVar8[1];\n          uVar21 = puVar8[2];\n          *(undefined4 *)(puVar18 + 0xc) = puVar8[3];\n          *(fts5YYMINORTYPE **)(puVar18 + 4) = pfVar22;\n          *(undefined4 *)(puVar18 + 8) = uVar21;\n          puVar8 = puVar17;\n          puVar18 = puVar18 + 0x10;\n        }" { (expression_statement "puVar17 = puVar8 + 4;" (assignment_expression "puVar17 = puVar8 + 4" identifier = (binary_expression "puVar8 + 4" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)puVar18 = *puVar8;" (assignment_expression "*(undefined4 *)puVar18 = *puVar8" (pointer_expression "*(undefined4 *)puVar18" * (cast_expression "(undefined4 *)puVar18" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (pointer_expression "*puVar8" * identifier)) ;) (expression_statement "pfVar22 = (fts5YYMINORTYPE *)puVar8[1];" (assignment_expression "pfVar22 = (fts5YYMINORTYPE *)puVar8[1]" identifier = (cast_expression "(fts5YYMINORTYPE *)puVar8[1]" ( (type_descriptor "fts5YYMINORTYPE *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar8[1]" identifier [ number_literal ]))) ;) (expression_statement "uVar21 = puVar8[2];" (assignment_expression "uVar21 = puVar8[2]" identifier = (subscript_expression "puVar8[2]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar18 + 0xc) = puVar8[3];" (assignment_expression "*(undefined4 *)(puVar18 + 0xc) = puVar8[3]" (pointer_expression "*(undefined4 *)(puVar18 + 0xc)" * (cast_expression "(undefined4 *)(puVar18 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0xc)" ( (binary_expression "puVar18 + 0xc" identifier + number_literal) )))) = (subscript_expression "puVar8[3]" identifier [ number_literal ])) ;) (expression_statement "*(fts5YYMINORTYPE **)(puVar18 + 4) = pfVar22;" (assignment_expression "*(fts5YYMINORTYPE **)(puVar18 + 4) = pfVar22" (pointer_expression "*(fts5YYMINORTYPE **)(puVar18 + 4)" * (cast_expression "(fts5YYMINORTYPE **)(puVar18 + 4)" ( (type_descriptor "fts5YYMINORTYPE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 4)" ( (binary_expression "puVar18 + 4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar18 + 8) = uVar21;" (assignment_expression "*(undefined4 *)(puVar18 + 8) = uVar21" (pointer_expression "*(undefined4 *)(puVar18 + 8)" * (cast_expression "(undefined4 *)(puVar18 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 8)" ( (binary_expression "puVar18 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar8 = puVar17;" (assignment_expression "puVar8 = puVar17" identifier = identifier) ;) (expression_statement "puVar18 = puVar18 + 0x10;" (assignment_expression "puVar18 = puVar18 + 0x10" identifier = (binary_expression "puVar18 + 0x10" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar17 != puVar16)" ( (binary_expression "puVar17 != puVar16" identifier != identifier) )) ;) (labeled_statement "LAB_000b34f0:\n        if (aBareword[iVar7] != '\0') {\nLAB_000b2b04:\n          pfVar24 = unaff_s4;\n          do {\n            pfVar24 = (fts5YYMINORTYPE *)((int)&(pfVar24->fts5yy0).p + 1);\n            cVar14 = *(char *)pfVar24;\n            puVar8 = puVar20;\n            puVar18 = aBareword;\n            do {\n              pfVar22 = (fts5YYMINORTYPE *)*puVar8;\n              puVar17 = puVar8 + 4;\n              *(fts5YYMINORTYPE **)puVar18 = pfVar22;\n              fts5yypminor = (fts5YYMINORTYPE *)puVar8[1];\n              pfVar19 = (fts5YYMINORTYPE *)puVar8[2];\n              *(undefined4 *)(puVar18 + 0xc) = puVar8[3];\n              *(fts5YYMINORTYPE **)(puVar18 + 4) = fts5yypminor;\n              *(fts5YYMINORTYPE **)(puVar18 + 8) = pfVar19;\n              puVar8 = puVar17;\n              puVar18 = puVar18 + 0x10;\n            } while (puVar17 != puVar16);\n          } while ((cVar14 < 0) || (aBareword[cVar14] != '\0'));\n          pfVar24 = (fts5YYMINORTYPE *)((int)pfVar24 - (int)unaff_s4);\n          if (pfVar24 == (fts5YYMINORTYPE *)0x2) {\n            if ((*(char *)unaff_s4 == 'O') && (*(char *)((int)&(unaff_s4->fts5yy0).p + 1) == 'R')) {\n              unaff_s2 = (fts5yyParser *)0x1;\n              pfStack_110 = (fts5YYMINORTYPE *)0x2;\n            }\n            else {\n              unaff_s2 = (fts5yyParser *)&DAT_00000009;\n              pfStack_110 = (fts5YYMINORTYPE *)0x2;\n            }\n          }\n          else if (pfVar24 == (fts5YYMINORTYPE *)0x3) {\n            if ((*(char *)unaff_s4 == 'N') &&\n               (pfVar25 = (fts5yyParser *)&DAT_00000009,\n               *(char *)((int)&(unaff_s4->fts5yy0).p + 1) == 'O')) {\n              if (*(char *)((int)&(unaff_s4->fts5yy0).p + 2) == 'T') {\n                pfVar25 = (fts5yyParser *)0x3;\n              }\n            }\n            else {\n              pfVar25 = (fts5yyParser *)&DAT_00000009;\n            }\n            if (((*(char *)unaff_s4 == 'A') && (*(char *)((int)&(unaff_s4->fts5yy0).p + 1) == 'N'))\n               && (unaff_s2 = (fts5yyParser *)0x2, *(char *)((int)&(unaff_s4->fts5yy0).p + 2) == 'D'\n                  )) {\n              pfStack_110 = (fts5YYMINORTYPE *)0x3;\n            }\n            else {\n              pfStack_110 = (fts5YYMINORTYPE *)0x3;\n              unaff_s2 = pfVar25;\n            }\n          }\n          else {\n            unaff_s2 = (fts5yyParser *)&DAT_00000009;\n            pfStack_110 = pfVar24;\n          }\n          goto LAB_000b2b98;\n        }" statement_identifier : (if_statement "if (aBareword[iVar7] != '\0') {\nLAB_000b2b04:\n          pfVar24 = unaff_s4;\n          do {\n            pfVar24 = (fts5YYMINORTYPE *)((int)&(pfVar24->fts5yy0).p + 1);\n            cVar14 = *(char *)pfVar24;\n            puVar8 = puVar20;\n            puVar18 = aBareword;\n            do {\n              pfVar22 = (fts5YYMINORTYPE *)*puVar8;\n              puVar17 = puVar8 + 4;\n              *(fts5YYMINORTYPE **)puVar18 = pfVar22;\n              fts5yypminor = (fts5YYMINORTYPE *)puVar8[1];\n              pfVar19 = (fts5YYMINORTYPE *)puVar8[2];\n              *(undefined4 *)(puVar18 + 0xc) = puVar8[3];\n              *(fts5YYMINORTYPE **)(puVar18 + 4) = fts5yypminor;\n              *(fts5YYMINORTYPE **)(puVar18 + 8) = pfVar19;\n              puVar8 = puVar17;\n              puVar18 = puVar18 + 0x10;\n            } while (puVar17 != puVar16);\n          } while ((cVar14 < 0) || (aBareword[cVar14] != '\0'));\n          pfVar24 = (fts5YYMINORTYPE *)((int)pfVar24 - (int)unaff_s4);\n          if (pfVar24 == (fts5YYMINORTYPE *)0x2) {\n            if ((*(char *)unaff_s4 == 'O') && (*(char *)((int)&(unaff_s4->fts5yy0).p + 1) == 'R')) {\n              unaff_s2 = (fts5yyParser *)0x1;\n              pfStack_110 = (fts5YYMINORTYPE *)0x2;\n            }\n            else {\n              unaff_s2 = (fts5yyParser *)&DAT_00000009;\n              pfStack_110 = (fts5YYMINORTYPE *)0x2;\n            }\n          }\n          else if (pfVar24 == (fts5YYMINORTYPE *)0x3) {\n            if ((*(char *)unaff_s4 == 'N') &&\n               (pfVar25 = (fts5yyParser *)&DAT_00000009,\n               *(char *)((int)&(unaff_s4->fts5yy0).p + 1) == 'O')) {\n              if (*(char *)((int)&(unaff_s4->fts5yy0).p + 2) == 'T') {\n                pfVar25 = (fts5yyParser *)0x3;\n              }\n            }\n            else {\n              pfVar25 = (fts5yyParser *)&DAT_00000009;\n            }\n            if (((*(char *)unaff_s4 == 'A') && (*(char *)((int)&(unaff_s4->fts5yy0).p + 1) == 'N'))\n               && (unaff_s2 = (fts5yyParser *)0x2, *(char *)((int)&(unaff_s4->fts5yy0).p + 2) == 'D'\n                  )) {\n              pfStack_110 = (fts5YYMINORTYPE *)0x3;\n            }\n            else {\n              pfStack_110 = (fts5YYMINORTYPE *)0x3;\n              unaff_s2 = pfVar25;\n            }\n          }\n          else {\n            unaff_s2 = (fts5yyParser *)&DAT_00000009;\n            pfStack_110 = pfVar24;\n          }\n          goto LAB_000b2b98;\n        }" if (parenthesized_expression "(aBareword[iVar7] != '\0')" ( (binary_expression "aBareword[iVar7] != '\0'" (subscript_expression "aBareword[iVar7]" identifier [ identifier ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_000b2b04:\n          pfVar24 = unaff_s4;\n          do {\n            pfVar24 = (fts5YYMINORTYPE *)((int)&(pfVar24->fts5yy0).p + 1);\n            cVar14 = *(char *)pfVar24;\n            puVar8 = puVar20;\n            puVar18 = aBareword;\n            do {\n              pfVar22 = (fts5YYMINORTYPE *)*puVar8;\n              puVar17 = puVar8 + 4;\n              *(fts5YYMINORTYPE **)puVar18 = pfVar22;\n              fts5yypminor = (fts5YYMINORTYPE *)puVar8[1];\n              pfVar19 = (fts5YYMINORTYPE *)puVar8[2];\n              *(undefined4 *)(puVar18 + 0xc) = puVar8[3];\n              *(fts5YYMINORTYPE **)(puVar18 + 4) = fts5yypminor;\n              *(fts5YYMINORTYPE **)(puVar18 + 8) = pfVar19;\n              puVar8 = puVar17;\n              puVar18 = puVar18 + 0x10;\n            } while (puVar17 != puVar16);\n          } while ((cVar14 < 0) || (aBareword[cVar14] != '\0'));\n          pfVar24 = (fts5YYMINORTYPE *)((int)pfVar24 - (int)unaff_s4);\n          if (pfVar24 == (fts5YYMINORTYPE *)0x2) {\n            if ((*(char *)unaff_s4 == 'O') && (*(char *)((int)&(unaff_s4->fts5yy0).p + 1) == 'R')) {\n              unaff_s2 = (fts5yyParser *)0x1;\n              pfStack_110 = (fts5YYMINORTYPE *)0x2;\n            }\n            else {\n              unaff_s2 = (fts5yyParser *)&DAT_00000009;\n              pfStack_110 = (fts5YYMINORTYPE *)0x2;\n            }\n          }\n          else if (pfVar24 == (fts5YYMINORTYPE *)0x3) {\n            if ((*(char *)unaff_s4 == 'N') &&\n               (pfVar25 = (fts5yyParser *)&DAT_00000009,\n               *(char *)((int)&(unaff_s4->fts5yy0).p + 1) == 'O')) {\n              if (*(char *)((int)&(unaff_s4->fts5yy0).p + 2) == 'T') {\n                pfVar25 = (fts5yyParser *)0x3;\n              }\n            }\n            else {\n              pfVar25 = (fts5yyParser *)&DAT_00000009;\n            }\n            if (((*(char *)unaff_s4 == 'A') && (*(char *)((int)&(unaff_s4->fts5yy0).p + 1) == 'N'))\n               && (unaff_s2 = (fts5yyParser *)0x2, *(char *)((int)&(unaff_s4->fts5yy0).p + 2) == 'D'\n                  )) {\n              pfStack_110 = (fts5YYMINORTYPE *)0x3;\n            }\n            else {\n              pfStack_110 = (fts5YYMINORTYPE *)0x3;\n              unaff_s2 = pfVar25;\n            }\n          }\n          else {\n            unaff_s2 = (fts5yyParser *)&DAT_00000009;\n            pfStack_110 = pfVar24;\n          }\n          goto LAB_000b2b98;\n        }" { (labeled_statement "LAB_000b2b04:\n          pfVar24 = unaff_s4;" statement_identifier : (expression_statement "pfVar24 = unaff_s4;" (assignment_expression "pfVar24 = unaff_s4" identifier = identifier) ;)) (do_statement "do {\n            pfVar24 = (fts5YYMINORTYPE *)((int)&(pfVar24->fts5yy0).p + 1);\n            cVar14 = *(char *)pfVar24;\n            puVar8 = puVar20;\n            puVar18 = aBareword;\n            do {\n              pfVar22 = (fts5YYMINORTYPE *)*puVar8;\n              puVar17 = puVar8 + 4;\n              *(fts5YYMINORTYPE **)puVar18 = pfVar22;\n              fts5yypminor = (fts5YYMINORTYPE *)puVar8[1];\n              pfVar19 = (fts5YYMINORTYPE *)puVar8[2];\n              *(undefined4 *)(puVar18 + 0xc) = puVar8[3];\n              *(fts5YYMINORTYPE **)(puVar18 + 4) = fts5yypminor;\n              *(fts5YYMINORTYPE **)(puVar18 + 8) = pfVar19;\n              puVar8 = puVar17;\n              puVar18 = puVar18 + 0x10;\n            } while (puVar17 != puVar16);\n          } while ((cVar14 < 0) || (aBareword[cVar14] != '\0'));" do (compound_statement "{\n            pfVar24 = (fts5YYMINORTYPE *)((int)&(pfVar24->fts5yy0).p + 1);\n            cVar14 = *(char *)pfVar24;\n            puVar8 = puVar20;\n            puVar18 = aBareword;\n            do {\n              pfVar22 = (fts5YYMINORTYPE *)*puVar8;\n              puVar17 = puVar8 + 4;\n              *(fts5YYMINORTYPE **)puVar18 = pfVar22;\n              fts5yypminor = (fts5YYMINORTYPE *)puVar8[1];\n              pfVar19 = (fts5YYMINORTYPE *)puVar8[2];\n              *(undefined4 *)(puVar18 + 0xc) = puVar8[3];\n              *(fts5YYMINORTYPE **)(puVar18 + 4) = fts5yypminor;\n              *(fts5YYMINORTYPE **)(puVar18 + 8) = pfVar19;\n              puVar8 = puVar17;\n              puVar18 = puVar18 + 0x10;\n            } while (puVar17 != puVar16);\n          }" { (expression_statement "pfVar24 = (fts5YYMINORTYPE *)((int)&(pfVar24->fts5yy0).p + 1);" (assignment_expression "pfVar24 = (fts5YYMINORTYPE *)((int)&(pfVar24->fts5yy0).p + 1)" identifier = (cast_expression "(fts5YYMINORTYPE *)((int)&(pfVar24->fts5yy0).p + 1)" ( (type_descriptor "fts5YYMINORTYPE *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pfVar24->fts5yy0).p + 1)" ( (binary_expression "(int)&(pfVar24->fts5yy0).p + 1" (cast_expression "(int)&(pfVar24->fts5yy0).p" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pfVar24->fts5yy0).p" & (field_expression "(pfVar24->fts5yy0).p" (parenthesized_expression "(pfVar24->fts5yy0)" ( (field_expression "pfVar24->fts5yy0" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) ;) (expression_statement "cVar14 = *(char *)pfVar24;" (assignment_expression "cVar14 = *(char *)pfVar24" identifier = (pointer_expression "*(char *)pfVar24" * (cast_expression "(char *)pfVar24" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "puVar8 = puVar20;" (assignment_expression "puVar8 = puVar20" identifier = identifier) ;) (expression_statement "puVar18 = aBareword;" (assignment_expression "puVar18 = aBareword" identifier = identifier) ;) (do_statement "do {\n              pfVar22 = (fts5YYMINORTYPE *)*puVar8;\n              puVar17 = puVar8 + 4;\n              *(fts5YYMINORTYPE **)puVar18 = pfVar22;\n              fts5yypminor = (fts5YYMINORTYPE *)puVar8[1];\n              pfVar19 = (fts5YYMINORTYPE *)puVar8[2];\n              *(undefined4 *)(puVar18 + 0xc) = puVar8[3];\n              *(fts5YYMINORTYPE **)(puVar18 + 4) = fts5yypminor;\n              *(fts5YYMINORTYPE **)(puVar18 + 8) = pfVar19;\n              puVar8 = puVar17;\n              puVar18 = puVar18 + 0x10;\n            } while (puVar17 != puVar16);" do (compound_statement "{\n              pfVar22 = (fts5YYMINORTYPE *)*puVar8;\n              puVar17 = puVar8 + 4;\n              *(fts5YYMINORTYPE **)puVar18 = pfVar22;\n              fts5yypminor = (fts5YYMINORTYPE *)puVar8[1];\n              pfVar19 = (fts5YYMINORTYPE *)puVar8[2];\n              *(undefined4 *)(puVar18 + 0xc) = puVar8[3];\n              *(fts5YYMINORTYPE **)(puVar18 + 4) = fts5yypminor;\n              *(fts5YYMINORTYPE **)(puVar18 + 8) = pfVar19;\n              puVar8 = puVar17;\n              puVar18 = puVar18 + 0x10;\n            }" { (expression_statement "pfVar22 = (fts5YYMINORTYPE *)*puVar8;" (assignment_expression "pfVar22 = (fts5YYMINORTYPE *)*puVar8" identifier = (cast_expression "(fts5YYMINORTYPE *)*puVar8" ( (type_descriptor "fts5YYMINORTYPE *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar8" * identifier))) ;) (expression_statement "puVar17 = puVar8 + 4;" (assignment_expression "puVar17 = puVar8 + 4" identifier = (binary_expression "puVar8 + 4" identifier + number_literal)) ;) (expression_statement "*(fts5YYMINORTYPE **)puVar18 = pfVar22;" (assignment_expression "*(fts5YYMINORTYPE **)puVar18 = pfVar22" (pointer_expression "*(fts5YYMINORTYPE **)puVar18" * (cast_expression "(fts5YYMINORTYPE **)puVar18" ( (type_descriptor "fts5YYMINORTYPE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = identifier) ;) (expression_statement "fts5yypminor = (fts5YYMINORTYPE *)puVar8[1];" (assignment_expression "fts5yypminor = (fts5YYMINORTYPE *)puVar8[1]" identifier = (cast_expression "(fts5YYMINORTYPE *)puVar8[1]" ( (type_descriptor "fts5YYMINORTYPE *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar8[1]" identifier [ number_literal ]))) ;) (expression_statement "pfVar19 = (fts5YYMINORTYPE *)puVar8[2];" (assignment_expression "pfVar19 = (fts5YYMINORTYPE *)puVar8[2]" identifier = (cast_expression "(fts5YYMINORTYPE *)puVar8[2]" ( (type_descriptor "fts5YYMINORTYPE *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar8[2]" identifier [ number_literal ]))) ;) (expression_statement "*(undefined4 *)(puVar18 + 0xc) = puVar8[3];" (assignment_expression "*(undefined4 *)(puVar18 + 0xc) = puVar8[3]" (pointer_expression "*(undefined4 *)(puVar18 + 0xc)" * (cast_expression "(undefined4 *)(puVar18 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0xc)" ( (binary_expression "puVar18 + 0xc" identifier + number_literal) )))) = (subscript_expression "puVar8[3]" identifier [ number_literal ])) ;) (expression_statement "*(fts5YYMINORTYPE **)(puVar18 + 4) = fts5yypminor;" (assignment_expression "*(fts5YYMINORTYPE **)(puVar18 + 4) = fts5yypminor" (pointer_expression "*(fts5YYMINORTYPE **)(puVar18 + 4)" * (cast_expression "(fts5YYMINORTYPE **)(puVar18 + 4)" ( (type_descriptor "fts5YYMINORTYPE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 4)" ( (binary_expression "puVar18 + 4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(fts5YYMINORTYPE **)(puVar18 + 8) = pfVar19;" (assignment_expression "*(fts5YYMINORTYPE **)(puVar18 + 8) = pfVar19" (pointer_expression "*(fts5YYMINORTYPE **)(puVar18 + 8)" * (cast_expression "(fts5YYMINORTYPE **)(puVar18 + 8)" ( (type_descriptor "fts5YYMINORTYPE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 8)" ( (binary_expression "puVar18 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar8 = puVar17;" (assignment_expression "puVar8 = puVar17" identifier = identifier) ;) (expression_statement "puVar18 = puVar18 + 0x10;" (assignment_expression "puVar18 = puVar18 + 0x10" identifier = (binary_expression "puVar18 + 0x10" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar17 != puVar16)" ( (binary_expression "puVar17 != puVar16" identifier != identifier) )) ;) }) while (parenthesized_expression "((cVar14 < 0) || (aBareword[cVar14] != '\0'))" ( (binary_expression "(cVar14 < 0) || (aBareword[cVar14] != '\0')" (parenthesized_expression "(cVar14 < 0)" ( (binary_expression "cVar14 < 0" identifier < number_literal) )) || (parenthesized_expression "(aBareword[cVar14] != '\0')" ( (binary_expression "aBareword[cVar14] != '\0'" (subscript_expression "aBareword[cVar14]" identifier [ identifier ]) != (char_literal "'\0'" ' escape_sequence ')) ))) )) ;) (expression_statement "pfVar24 = (fts5YYMINORTYPE *)((int)pfVar24 - (int)unaff_s4);" (assignment_expression "pfVar24 = (fts5YYMINORTYPE *)((int)pfVar24 - (int)unaff_s4)" identifier = (cast_expression "(fts5YYMINORTYPE *)((int)pfVar24 - (int)unaff_s4)" ( (type_descriptor "fts5YYMINORTYPE *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar24 - (int)unaff_s4)" ( (binary_expression "(int)pfVar24 - (int)unaff_s4" (cast_expression "(int)pfVar24" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (if_statement "if (pfVar24 == (fts5YYMINORTYPE *)0x2) {\n            if ((*(char *)unaff_s4 == 'O') && (*(char *)((int)&(unaff_s4->fts5yy0).p + 1) == 'R')) {\n              unaff_s2 = (fts5yyParser *)0x1;\n              pfStack_110 = (fts5YYMINORTYPE *)0x2;\n            }\n            else {\n              unaff_s2 = (fts5yyParser *)&DAT_00000009;\n              pfStack_110 = (fts5YYMINORTYPE *)0x2;\n            }\n          }\n          else if (pfVar24 == (fts5YYMINORTYPE *)0x3) {\n            if ((*(char *)unaff_s4 == 'N') &&\n               (pfVar25 = (fts5yyParser *)&DAT_00000009,\n               *(char *)((int)&(unaff_s4->fts5yy0).p + 1) == 'O')) {\n              if (*(char *)((int)&(unaff_s4->fts5yy0).p + 2) == 'T') {\n                pfVar25 = (fts5yyParser *)0x3;\n              }\n            }\n            else {\n              pfVar25 = (fts5yyParser *)&DAT_00000009;\n            }\n            if (((*(char *)unaff_s4 == 'A') && (*(char *)((int)&(unaff_s4->fts5yy0).p + 1) == 'N'))\n               && (unaff_s2 = (fts5yyParser *)0x2, *(char *)((int)&(unaff_s4->fts5yy0).p + 2) == 'D'\n                  )) {\n              pfStack_110 = (fts5YYMINORTYPE *)0x3;\n            }\n            else {\n              pfStack_110 = (fts5YYMINORTYPE *)0x3;\n              unaff_s2 = pfVar25;\n            }\n          }\n          else {\n            unaff_s2 = (fts5yyParser *)&DAT_00000009;\n            pfStack_110 = pfVar24;\n          }" if (parenthesized_expression "(pfVar24 == (fts5YYMINORTYPE *)0x2)" ( (binary_expression "pfVar24 == (fts5YYMINORTYPE *)0x2" identifier == (cast_expression "(fts5YYMINORTYPE *)0x2" ( (type_descriptor "fts5YYMINORTYPE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            if ((*(char *)unaff_s4 == 'O') && (*(char *)((int)&(unaff_s4->fts5yy0).p + 1) == 'R')) {\n              unaff_s2 = (fts5yyParser *)0x1;\n              pfStack_110 = (fts5YYMINORTYPE *)0x2;\n            }\n            else {\n              unaff_s2 = (fts5yyParser *)&DAT_00000009;\n              pfStack_110 = (fts5YYMINORTYPE *)0x2;\n            }\n          }" { (if_statement "if ((*(char *)unaff_s4 == 'O') && (*(char *)((int)&(unaff_s4->fts5yy0).p + 1) == 'R')) {\n              unaff_s2 = (fts5yyParser *)0x1;\n              pfStack_110 = (fts5YYMINORTYPE *)0x2;\n            }\n            else {\n              unaff_s2 = (fts5yyParser *)&DAT_00000009;\n              pfStack_110 = (fts5YYMINORTYPE *)0x2;\n            }" if (parenthesized_expression "((*(char *)unaff_s4 == 'O') && (*(char *)((int)&(unaff_s4->fts5yy0).p + 1) == 'R'))" ( (binary_expression "(*(char *)unaff_s4 == 'O') && (*(char *)((int)&(unaff_s4->fts5yy0).p + 1) == 'R')" (parenthesized_expression "(*(char *)unaff_s4 == 'O')" ( (binary_expression "*(char *)unaff_s4 == 'O'" (pointer_expression "*(char *)unaff_s4" * (cast_expression "(char *)unaff_s4" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == (char_literal "'O'" ' character ')) )) && (parenthesized_expression "(*(char *)((int)&(unaff_s4->fts5yy0).p + 1) == 'R')" ( (binary_expression "*(char *)((int)&(unaff_s4->fts5yy0).p + 1) == 'R'" (pointer_expression "*(char *)((int)&(unaff_s4->fts5yy0).p + 1)" * (cast_expression "(char *)((int)&(unaff_s4->fts5yy0).p + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(unaff_s4->fts5yy0).p + 1)" ( (binary_expression "(int)&(unaff_s4->fts5yy0).p + 1" (cast_expression "(int)&(unaff_s4->fts5yy0).p" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(unaff_s4->fts5yy0).p" & (field_expression "(unaff_s4->fts5yy0).p" (parenthesized_expression "(unaff_s4->fts5yy0)" ( (field_expression "unaff_s4->fts5yy0" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) == (char_literal "'R'" ' character ')) ))) )) (compound_statement "{\n              unaff_s2 = (fts5yyParser *)0x1;\n              pfStack_110 = (fts5YYMINORTYPE *)0x2;\n            }" { (expression_statement "unaff_s2 = (fts5yyParser *)0x1;" (assignment_expression "unaff_s2 = (fts5yyParser *)0x1" identifier = (cast_expression "(fts5yyParser *)0x1" ( (type_descriptor "fts5yyParser *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pfStack_110 = (fts5YYMINORTYPE *)0x2;" (assignment_expression "pfStack_110 = (fts5YYMINORTYPE *)0x2" identifier = (cast_expression "(fts5YYMINORTYPE *)0x2" ( (type_descriptor "fts5YYMINORTYPE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n              unaff_s2 = (fts5yyParser *)&DAT_00000009;\n              pfStack_110 = (fts5YYMINORTYPE *)0x2;\n            }" else (compound_statement "{\n              unaff_s2 = (fts5yyParser *)&DAT_00000009;\n              pfStack_110 = (fts5YYMINORTYPE *)0x2;\n            }" { (expression_statement "unaff_s2 = (fts5yyParser *)&DAT_00000009;" (assignment_expression "unaff_s2 = (fts5yyParser *)&DAT_00000009" identifier = (cast_expression "(fts5yyParser *)&DAT_00000009" ( (type_descriptor "fts5yyParser *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000009" & identifier))) ;) (expression_statement "pfStack_110 = (fts5YYMINORTYPE *)0x2;" (assignment_expression "pfStack_110 = (fts5YYMINORTYPE *)0x2" identifier = (cast_expression "(fts5YYMINORTYPE *)0x2" ( (type_descriptor "fts5YYMINORTYPE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) }) (else_clause "else if (pfVar24 == (fts5YYMINORTYPE *)0x3) {\n            if ((*(char *)unaff_s4 == 'N') &&\n               (pfVar25 = (fts5yyParser *)&DAT_00000009,\n               *(char *)((int)&(unaff_s4->fts5yy0).p + 1) == 'O')) {\n              if (*(char *)((int)&(unaff_s4->fts5yy0).p + 2) == 'T') {\n                pfVar25 = (fts5yyParser *)0x3;\n              }\n            }\n            else {\n              pfVar25 = (fts5yyParser *)&DAT_00000009;\n            }\n            if (((*(char *)unaff_s4 == 'A') && (*(char *)((int)&(unaff_s4->fts5yy0).p + 1) == 'N'))\n               && (unaff_s2 = (fts5yyParser *)0x2, *(char *)((int)&(unaff_s4->fts5yy0).p + 2) == 'D'\n                  )) {\n              pfStack_110 = (fts5YYMINORTYPE *)0x3;\n            }\n            else {\n              pfStack_110 = (fts5YYMINORTYPE *)0x3;\n              unaff_s2 = pfVar25;\n            }\n          }\n          else {\n            unaff_s2 = (fts5yyParser *)&DAT_00000009;\n            pfStack_110 = pfVar24;\n          }" else (if_statement "if (pfVar24 == (fts5YYMINORTYPE *)0x3) {\n            if ((*(char *)unaff_s4 == 'N') &&\n               (pfVar25 = (fts5yyParser *)&DAT_00000009,\n               *(char *)((int)&(unaff_s4->fts5yy0).p + 1) == 'O')) {\n              if (*(char *)((int)&(unaff_s4->fts5yy0).p + 2) == 'T') {\n                pfVar25 = (fts5yyParser *)0x3;\n              }\n            }\n            else {\n              pfVar25 = (fts5yyParser *)&DAT_00000009;\n            }\n            if (((*(char *)unaff_s4 == 'A') && (*(char *)((int)&(unaff_s4->fts5yy0).p + 1) == 'N'))\n               && (unaff_s2 = (fts5yyParser *)0x2, *(char *)((int)&(unaff_s4->fts5yy0).p + 2) == 'D'\n                  )) {\n              pfStack_110 = (fts5YYMINORTYPE *)0x3;\n            }\n            else {\n              pfStack_110 = (fts5YYMINORTYPE *)0x3;\n              unaff_s2 = pfVar25;\n            }\n          }\n          else {\n            unaff_s2 = (fts5yyParser *)&DAT_00000009;\n            pfStack_110 = pfVar24;\n          }" if (parenthesized_expression "(pfVar24 == (fts5YYMINORTYPE *)0x3)" ( (binary_expression "pfVar24 == (fts5YYMINORTYPE *)0x3" identifier == (cast_expression "(fts5YYMINORTYPE *)0x3" ( (type_descriptor "fts5YYMINORTYPE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            if ((*(char *)unaff_s4 == 'N') &&\n               (pfVar25 = (fts5yyParser *)&DAT_00000009,\n               *(char *)((int)&(unaff_s4->fts5yy0).p + 1) == 'O')) {\n              if (*(char *)((int)&(unaff_s4->fts5yy0).p + 2) == 'T') {\n                pfVar25 = (fts5yyParser *)0x3;\n              }\n            }\n            else {\n              pfVar25 = (fts5yyParser *)&DAT_00000009;\n            }\n            if (((*(char *)unaff_s4 == 'A') && (*(char *)((int)&(unaff_s4->fts5yy0).p + 1) == 'N'))\n               && (unaff_s2 = (fts5yyParser *)0x2, *(char *)((int)&(unaff_s4->fts5yy0).p + 2) == 'D'\n                  )) {\n              pfStack_110 = (fts5YYMINORTYPE *)0x3;\n            }\n            else {\n              pfStack_110 = (fts5YYMINORTYPE *)0x3;\n              unaff_s2 = pfVar25;\n            }\n          }" { (if_statement "if ((*(char *)unaff_s4 == 'N') &&\n               (pfVar25 = (fts5yyParser *)&DAT_00000009,\n               *(char *)((int)&(unaff_s4->fts5yy0).p + 1) == 'O')) {\n              if (*(char *)((int)&(unaff_s4->fts5yy0).p + 2) == 'T') {\n                pfVar25 = (fts5yyParser *)0x3;\n              }\n            }\n            else {\n              pfVar25 = (fts5yyParser *)&DAT_00000009;\n            }" if (parenthesized_expression "((*(char *)unaff_s4 == 'N') &&\n               (pfVar25 = (fts5yyParser *)&DAT_00000009,\n               *(char *)((int)&(unaff_s4->fts5yy0).p + 1) == 'O'))" ( (binary_expression "(*(char *)unaff_s4 == 'N') &&\n               (pfVar25 = (fts5yyParser *)&DAT_00000009,\n               *(char *)((int)&(unaff_s4->fts5yy0).p + 1) == 'O')" (parenthesized_expression "(*(char *)unaff_s4 == 'N')" ( (binary_expression "*(char *)unaff_s4 == 'N'" (pointer_expression "*(char *)unaff_s4" * (cast_expression "(char *)unaff_s4" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == (char_literal "'N'" ' character ')) )) && (parenthesized_expression "(pfVar25 = (fts5yyParser *)&DAT_00000009,\n               *(char *)((int)&(unaff_s4->fts5yy0).p + 1) == 'O')" ( (comma_expression "pfVar25 = (fts5yyParser *)&DAT_00000009,\n               *(char *)((int)&(unaff_s4->fts5yy0).p + 1) == 'O'" (assignment_expression "pfVar25 = (fts5yyParser *)&DAT_00000009" identifier = (cast_expression "(fts5yyParser *)&DAT_00000009" ( (type_descriptor "fts5yyParser *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000009" & identifier))) , (binary_expression "*(char *)((int)&(unaff_s4->fts5yy0).p + 1) == 'O'" (pointer_expression "*(char *)((int)&(unaff_s4->fts5yy0).p + 1)" * (cast_expression "(char *)((int)&(unaff_s4->fts5yy0).p + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(unaff_s4->fts5yy0).p + 1)" ( (binary_expression "(int)&(unaff_s4->fts5yy0).p + 1" (cast_expression "(int)&(unaff_s4->fts5yy0).p" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(unaff_s4->fts5yy0).p" & (field_expression "(unaff_s4->fts5yy0).p" (parenthesized_expression "(unaff_s4->fts5yy0)" ( (field_expression "unaff_s4->fts5yy0" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) == (char_literal "'O'" ' character '))) ))) )) (compound_statement "{\n              if (*(char *)((int)&(unaff_s4->fts5yy0).p + 2) == 'T') {\n                pfVar25 = (fts5yyParser *)0x3;\n              }\n            }" { (if_statement "if (*(char *)((int)&(unaff_s4->fts5yy0).p + 2) == 'T') {\n                pfVar25 = (fts5yyParser *)0x3;\n              }" if (parenthesized_expression "(*(char *)((int)&(unaff_s4->fts5yy0).p + 2) == 'T')" ( (binary_expression "*(char *)((int)&(unaff_s4->fts5yy0).p + 2) == 'T'" (pointer_expression "*(char *)((int)&(unaff_s4->fts5yy0).p + 2)" * (cast_expression "(char *)((int)&(unaff_s4->fts5yy0).p + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(unaff_s4->fts5yy0).p + 2)" ( (binary_expression "(int)&(unaff_s4->fts5yy0).p + 2" (cast_expression "(int)&(unaff_s4->fts5yy0).p" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(unaff_s4->fts5yy0).p" & (field_expression "(unaff_s4->fts5yy0).p" (parenthesized_expression "(unaff_s4->fts5yy0)" ( (field_expression "unaff_s4->fts5yy0" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) == (char_literal "'T'" ' character ')) )) (compound_statement "{\n                pfVar25 = (fts5yyParser *)0x3;\n              }" { (expression_statement "pfVar25 = (fts5yyParser *)0x3;" (assignment_expression "pfVar25 = (fts5yyParser *)0x3" identifier = (cast_expression "(fts5yyParser *)0x3" ( (type_descriptor "fts5yyParser *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) }) (else_clause "else {\n              pfVar25 = (fts5yyParser *)&DAT_00000009;\n            }" else (compound_statement "{\n              pfVar25 = (fts5yyParser *)&DAT_00000009;\n            }" { (expression_statement "pfVar25 = (fts5yyParser *)&DAT_00000009;" (assignment_expression "pfVar25 = (fts5yyParser *)&DAT_00000009" identifier = (cast_expression "(fts5yyParser *)&DAT_00000009" ( (type_descriptor "fts5yyParser *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000009" & identifier))) ;) }))) (if_statement "if (((*(char *)unaff_s4 == 'A') && (*(char *)((int)&(unaff_s4->fts5yy0).p + 1) == 'N'))\n               && (unaff_s2 = (fts5yyParser *)0x2, *(char *)((int)&(unaff_s4->fts5yy0).p + 2) == 'D'\n                  )) {\n              pfStack_110 = (fts5YYMINORTYPE *)0x3;\n            }\n            else {\n              pfStack_110 = (fts5YYMINORTYPE *)0x3;\n              unaff_s2 = pfVar25;\n            }" if (parenthesized_expression "(((*(char *)unaff_s4 == 'A') && (*(char *)((int)&(unaff_s4->fts5yy0).p + 1) == 'N'))\n               && (unaff_s2 = (fts5yyParser *)0x2, *(char *)((int)&(unaff_s4->fts5yy0).p + 2) == 'D'\n                  ))" ( (binary_expression "((*(char *)unaff_s4 == 'A') && (*(char *)((int)&(unaff_s4->fts5yy0).p + 1) == 'N'))\n               && (unaff_s2 = (fts5yyParser *)0x2, *(char *)((int)&(unaff_s4->fts5yy0).p + 2) == 'D'\n                  )" (parenthesized_expression "((*(char *)unaff_s4 == 'A') && (*(char *)((int)&(unaff_s4->fts5yy0).p + 1) == 'N'))" ( (binary_expression "(*(char *)unaff_s4 == 'A') && (*(char *)((int)&(unaff_s4->fts5yy0).p + 1) == 'N')" (parenthesized_expression "(*(char *)unaff_s4 == 'A')" ( (binary_expression "*(char *)unaff_s4 == 'A'" (pointer_expression "*(char *)unaff_s4" * (cast_expression "(char *)unaff_s4" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == (char_literal "'A'" ' character ')) )) && (parenthesized_expression "(*(char *)((int)&(unaff_s4->fts5yy0).p + 1) == 'N')" ( (binary_expression "*(char *)((int)&(unaff_s4->fts5yy0).p + 1) == 'N'" (pointer_expression "*(char *)((int)&(unaff_s4->fts5yy0).p + 1)" * (cast_expression "(char *)((int)&(unaff_s4->fts5yy0).p + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(unaff_s4->fts5yy0).p + 1)" ( (binary_expression "(int)&(unaff_s4->fts5yy0).p + 1" (cast_expression "(int)&(unaff_s4->fts5yy0).p" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(unaff_s4->fts5yy0).p" & (field_expression "(unaff_s4->fts5yy0).p" (parenthesized_expression "(unaff_s4->fts5yy0)" ( (field_expression "unaff_s4->fts5yy0" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) == (char_literal "'N'" ' character ')) ))) )) && (parenthesized_expression "(unaff_s2 = (fts5yyParser *)0x2, *(char *)((int)&(unaff_s4->fts5yy0).p + 2) == 'D'\n                  )" ( (comma_expression "unaff_s2 = (fts5yyParser *)0x2, *(char *)((int)&(unaff_s4->fts5yy0).p + 2) == 'D'" (assignment_expression "unaff_s2 = (fts5yyParser *)0x2" identifier = (cast_expression "(fts5yyParser *)0x2" ( (type_descriptor "fts5yyParser *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) , (binary_expression "*(char *)((int)&(unaff_s4->fts5yy0).p + 2) == 'D'" (pointer_expression "*(char *)((int)&(unaff_s4->fts5yy0).p + 2)" * (cast_expression "(char *)((int)&(unaff_s4->fts5yy0).p + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(unaff_s4->fts5yy0).p + 2)" ( (binary_expression "(int)&(unaff_s4->fts5yy0).p + 2" (cast_expression "(int)&(unaff_s4->fts5yy0).p" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(unaff_s4->fts5yy0).p" & (field_expression "(unaff_s4->fts5yy0).p" (parenthesized_expression "(unaff_s4->fts5yy0)" ( (field_expression "unaff_s4->fts5yy0" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) == (char_literal "'D'" ' character '))) ))) )) (compound_statement "{\n              pfStack_110 = (fts5YYMINORTYPE *)0x3;\n            }" { (expression_statement "pfStack_110 = (fts5YYMINORTYPE *)0x3;" (assignment_expression "pfStack_110 = (fts5YYMINORTYPE *)0x3" identifier = (cast_expression "(fts5YYMINORTYPE *)0x3" ( (type_descriptor "fts5YYMINORTYPE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n              pfStack_110 = (fts5YYMINORTYPE *)0x3;\n              unaff_s2 = pfVar25;\n            }" else (compound_statement "{\n              pfStack_110 = (fts5YYMINORTYPE *)0x3;\n              unaff_s2 = pfVar25;\n            }" { (expression_statement "pfStack_110 = (fts5YYMINORTYPE *)0x3;" (assignment_expression "pfStack_110 = (fts5YYMINORTYPE *)0x3" identifier = (cast_expression "(fts5YYMINORTYPE *)0x3" ( (type_descriptor "fts5YYMINORTYPE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "unaff_s2 = pfVar25;" (assignment_expression "unaff_s2 = pfVar25" identifier = identifier) ;) }))) }) (else_clause "else {\n            unaff_s2 = (fts5yyParser *)&DAT_00000009;\n            pfStack_110 = pfVar24;\n          }" else (compound_statement "{\n            unaff_s2 = (fts5yyParser *)&DAT_00000009;\n            pfStack_110 = pfVar24;\n          }" { (expression_statement "unaff_s2 = (fts5yyParser *)&DAT_00000009;" (assignment_expression "unaff_s2 = (fts5yyParser *)&DAT_00000009" identifier = (cast_expression "(fts5yyParser *)&DAT_00000009" ( (type_descriptor "fts5yyParser *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000009" & identifier))) ;) (expression_statement "pfStack_110 = pfVar24;" (assignment_expression "pfStack_110 = pfVar24" identifier = identifier) ;) }))))) (goto_statement "goto LAB_000b2b98;" goto statement_identifier ;) }))) (expression_statement "pfVar24 = (fts5YYMINORTYPE *)0x1;" (assignment_expression "pfVar24 = (fts5YYMINORTYPE *)0x1" identifier = (cast_expression "(fts5YYMINORTYPE *)0x1" ( (type_descriptor "fts5YYMINORTYPE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pfVar19 = (fts5YYMINORTYPE *)(PTR_DAT_0015b5fc + -0x70cc);" (assignment_expression "pfVar19 = (fts5YYMINORTYPE *)(PTR_DAT_0015b5fc + -0x70cc)" identifier = (cast_expression "(fts5YYMINORTYPE *)(PTR_DAT_0015b5fc + -0x70cc)" ( (type_descriptor "fts5YYMINORTYPE *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0015b5fc + -0x70cc)" ( (binary_expression "PTR_DAT_0015b5fc + -0x70cc" identifier + number_literal) )))) ;) (expression_statement "fts5yypminor = unaff_s4;" (assignment_expression "fts5yypminor = unaff_s4" identifier = identifier) ;) (expression_statement "(*pcVar15)(&sParse);" (call_expression "(*pcVar15)(&sParse)" (parenthesized_expression "(*pcVar15)" ( (pointer_expression "*pcVar15" * identifier) )) (argument_list "(&sParse)" ( (pointer_expression "&sParse" & identifier) ))) ;) (expression_statement "unaff_s2 = (fts5yyParser *)0x0;" (assignment_expression "unaff_s2 = (fts5yyParser *)0x0" identifier = (cast_expression "(fts5yyParser *)0x0" ( (type_descriptor "fts5yyParser *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n        pfVar19 = (fts5YYMINORTYPE *)0x0;\n        if (iVar7 == 0x2b) {\n          unaff_s2 = (fts5yyParser *)&DAT_0000000e;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\n        else if (iVar7 < 0x2c) {\n          if (iVar7 == 0x28) {\n            unaff_s2 = (fts5yyParser *)&DAT_0000000a;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else if (iVar7 < 0x29) {\n            if (iVar7 != 0) {\n              pcVar28 = (char *)((int)&(unaff_s4->fts5yy0).p + 1);\n              if (iVar7 != 0x22) {\nLAB_000b2abc:\n                puVar8 = puVar20;\n                puVar18 = aBareword;\n                do {\n                  puVar17 = puVar8 + 4;\n                  *(undefined4 *)puVar18 = *puVar8;\n                  pfVar22 = (fts5YYMINORTYPE *)puVar8[1];\n                  uVar21 = puVar8[2];\n                  *(undefined4 *)(puVar18 + 0xc) = puVar8[3];\n                  *(fts5YYMINORTYPE **)(puVar18 + 4) = pfVar22;\n                  *(undefined4 *)(puVar18 + 8) = uVar21;\n                  puVar8 = puVar17;\n                  puVar18 = puVar18 + 0x10;\n                } while (puVar17 != puVar16);\n                if (-1 < iVar7) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              cVar14 = *pcVar28;\n              if (cVar14 == '\"') goto LAB_000b3320;\n              while (pfVar19 = (fts5YYMINORTYPE *)PTR_DAT_0015b5fc, cVar14 != '\0') {\n                while( true ) {\n                  pcVar28 = pcVar28 + 1;\n                  cVar14 = *pcVar28;\n                  if (cVar14 != '\"') break;\nLAB_000b3320:\n                  pcVar12 = pcVar28 + 1;\n                  pcVar28 = pcVar28 + 1;\n                  if (*pcVar12 != '\"') {\n                    pfStack_110 = (fts5YYMINORTYPE *)(pcVar28 + -(int)unaff_s4);\n                    unaff_s2 = (fts5yyParser *)&DAT_00000009;\n                    pfVar24 = pfStack_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (fts5yyParser *)0x0;\n              pfVar24 = (fts5YYMINORTYPE *)0x1;\n              pfVar19 = (fts5YYMINORTYPE *)(PTR_DAT_0015b5fc + -0x70e0);\n              (*pcVar15)(&sParse);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (fts5yyParser *)0x0;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else if (iVar7 == 0x29) {\n            unaff_s2 = (fts5yyParser *)&DAT_0000000b;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else {\n            unaff_s2 = (fts5yyParser *)0xf;\n            if (iVar7 != 0x2a) goto LAB_000b2abc;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n        }\n        else if (iVar7 == 0x3a) {\n          unaff_s2 = (fts5yyParser *)&DAT_00000005;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\n        else if (iVar7 < 0x3b) {\n          if (iVar7 == 0x2c) {\n            unaff_s2 = (fts5yyParser *)&DAT_0000000d;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else {\n            unaff_s2 = (fts5yyParser *)&DAT_00000006;\n            if (iVar7 != 0x2d) goto LAB_000b2abc;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n        }\n        else if (iVar7 == 0x7b) {\n          unaff_s2 = (fts5yyParser *)&DAT_00000007;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\n        else if (iVar7 == 0x7d) {\n          unaff_s2 = (fts5yyParser *)&DAT_00000008;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\n        else {\n          unaff_s2 = (fts5yyParser *)&DAT_0000000c;\n          if (iVar7 != 0x5e) goto LAB_000b2abc;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\nLAB_000b2b98:\n        pfStack_110 = (fts5YYMINORTYPE *)((int)unaff_s4 + (int)pfStack_110);\n      }" else (compound_statement "{\n        pfVar19 = (fts5YYMINORTYPE *)0x0;\n        if (iVar7 == 0x2b) {\n          unaff_s2 = (fts5yyParser *)&DAT_0000000e;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\n        else if (iVar7 < 0x2c) {\n          if (iVar7 == 0x28) {\n            unaff_s2 = (fts5yyParser *)&DAT_0000000a;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else if (iVar7 < 0x29) {\n            if (iVar7 != 0) {\n              pcVar28 = (char *)((int)&(unaff_s4->fts5yy0).p + 1);\n              if (iVar7 != 0x22) {\nLAB_000b2abc:\n                puVar8 = puVar20;\n                puVar18 = aBareword;\n                do {\n                  puVar17 = puVar8 + 4;\n                  *(undefined4 *)puVar18 = *puVar8;\n                  pfVar22 = (fts5YYMINORTYPE *)puVar8[1];\n                  uVar21 = puVar8[2];\n                  *(undefined4 *)(puVar18 + 0xc) = puVar8[3];\n                  *(fts5YYMINORTYPE **)(puVar18 + 4) = pfVar22;\n                  *(undefined4 *)(puVar18 + 8) = uVar21;\n                  puVar8 = puVar17;\n                  puVar18 = puVar18 + 0x10;\n                } while (puVar17 != puVar16);\n                if (-1 < iVar7) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              cVar14 = *pcVar28;\n              if (cVar14 == '\"') goto LAB_000b3320;\n              while (pfVar19 = (fts5YYMINORTYPE *)PTR_DAT_0015b5fc, cVar14 != '\0') {\n                while( true ) {\n                  pcVar28 = pcVar28 + 1;\n                  cVar14 = *pcVar28;\n                  if (cVar14 != '\"') break;\nLAB_000b3320:\n                  pcVar12 = pcVar28 + 1;\n                  pcVar28 = pcVar28 + 1;\n                  if (*pcVar12 != '\"') {\n                    pfStack_110 = (fts5YYMINORTYPE *)(pcVar28 + -(int)unaff_s4);\n                    unaff_s2 = (fts5yyParser *)&DAT_00000009;\n                    pfVar24 = pfStack_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (fts5yyParser *)0x0;\n              pfVar24 = (fts5YYMINORTYPE *)0x1;\n              pfVar19 = (fts5YYMINORTYPE *)(PTR_DAT_0015b5fc + -0x70e0);\n              (*pcVar15)(&sParse);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (fts5yyParser *)0x0;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else if (iVar7 == 0x29) {\n            unaff_s2 = (fts5yyParser *)&DAT_0000000b;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else {\n            unaff_s2 = (fts5yyParser *)0xf;\n            if (iVar7 != 0x2a) goto LAB_000b2abc;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n        }\n        else if (iVar7 == 0x3a) {\n          unaff_s2 = (fts5yyParser *)&DAT_00000005;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\n        else if (iVar7 < 0x3b) {\n          if (iVar7 == 0x2c) {\n            unaff_s2 = (fts5yyParser *)&DAT_0000000d;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else {\n            unaff_s2 = (fts5yyParser *)&DAT_00000006;\n            if (iVar7 != 0x2d) goto LAB_000b2abc;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n        }\n        else if (iVar7 == 0x7b) {\n          unaff_s2 = (fts5yyParser *)&DAT_00000007;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\n        else if (iVar7 == 0x7d) {\n          unaff_s2 = (fts5yyParser *)&DAT_00000008;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\n        else {\n          unaff_s2 = (fts5yyParser *)&DAT_0000000c;\n          if (iVar7 != 0x5e) goto LAB_000b2abc;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\nLAB_000b2b98:\n        pfStack_110 = (fts5YYMINORTYPE *)((int)unaff_s4 + (int)pfStack_110);\n      }" { (expression_statement "pfVar19 = (fts5YYMINORTYPE *)0x0;" (assignment_expression "pfVar19 = (fts5YYMINORTYPE *)0x0" identifier = (cast_expression "(fts5YYMINORTYPE *)0x0" ( (type_descriptor "fts5YYMINORTYPE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (iVar7 == 0x2b) {\n          unaff_s2 = (fts5yyParser *)&DAT_0000000e;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\n        else if (iVar7 < 0x2c) {\n          if (iVar7 == 0x28) {\n            unaff_s2 = (fts5yyParser *)&DAT_0000000a;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else if (iVar7 < 0x29) {\n            if (iVar7 != 0) {\n              pcVar28 = (char *)((int)&(unaff_s4->fts5yy0).p + 1);\n              if (iVar7 != 0x22) {\nLAB_000b2abc:\n                puVar8 = puVar20;\n                puVar18 = aBareword;\n                do {\n                  puVar17 = puVar8 + 4;\n                  *(undefined4 *)puVar18 = *puVar8;\n                  pfVar22 = (fts5YYMINORTYPE *)puVar8[1];\n                  uVar21 = puVar8[2];\n                  *(undefined4 *)(puVar18 + 0xc) = puVar8[3];\n                  *(fts5YYMINORTYPE **)(puVar18 + 4) = pfVar22;\n                  *(undefined4 *)(puVar18 + 8) = uVar21;\n                  puVar8 = puVar17;\n                  puVar18 = puVar18 + 0x10;\n                } while (puVar17 != puVar16);\n                if (-1 < iVar7) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              cVar14 = *pcVar28;\n              if (cVar14 == '\"') goto LAB_000b3320;\n              while (pfVar19 = (fts5YYMINORTYPE *)PTR_DAT_0015b5fc, cVar14 != '\0') {\n                while( true ) {\n                  pcVar28 = pcVar28 + 1;\n                  cVar14 = *pcVar28;\n                  if (cVar14 != '\"') break;\nLAB_000b3320:\n                  pcVar12 = pcVar28 + 1;\n                  pcVar28 = pcVar28 + 1;\n                  if (*pcVar12 != '\"') {\n                    pfStack_110 = (fts5YYMINORTYPE *)(pcVar28 + -(int)unaff_s4);\n                    unaff_s2 = (fts5yyParser *)&DAT_00000009;\n                    pfVar24 = pfStack_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (fts5yyParser *)0x0;\n              pfVar24 = (fts5YYMINORTYPE *)0x1;\n              pfVar19 = (fts5YYMINORTYPE *)(PTR_DAT_0015b5fc + -0x70e0);\n              (*pcVar15)(&sParse);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (fts5yyParser *)0x0;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else if (iVar7 == 0x29) {\n            unaff_s2 = (fts5yyParser *)&DAT_0000000b;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else {\n            unaff_s2 = (fts5yyParser *)0xf;\n            if (iVar7 != 0x2a) goto LAB_000b2abc;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n        }\n        else if (iVar7 == 0x3a) {\n          unaff_s2 = (fts5yyParser *)&DAT_00000005;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\n        else if (iVar7 < 0x3b) {\n          if (iVar7 == 0x2c) {\n            unaff_s2 = (fts5yyParser *)&DAT_0000000d;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else {\n            unaff_s2 = (fts5yyParser *)&DAT_00000006;\n            if (iVar7 != 0x2d) goto LAB_000b2abc;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n        }\n        else if (iVar7 == 0x7b) {\n          unaff_s2 = (fts5yyParser *)&DAT_00000007;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\n        else if (iVar7 == 0x7d) {\n          unaff_s2 = (fts5yyParser *)&DAT_00000008;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\n        else {\n          unaff_s2 = (fts5yyParser *)&DAT_0000000c;\n          if (iVar7 != 0x5e) goto LAB_000b2abc;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }" if (parenthesized_expression "(iVar7 == 0x2b)" ( (binary_expression "iVar7 == 0x2b" identifier == number_literal) )) (compound_statement "{\n          unaff_s2 = (fts5yyParser *)&DAT_0000000e;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }" { (expression_statement "unaff_s2 = (fts5yyParser *)&DAT_0000000e;" (assignment_expression "unaff_s2 = (fts5yyParser *)&DAT_0000000e" identifier = (cast_expression "(fts5yyParser *)&DAT_0000000e" ( (type_descriptor "fts5yyParser *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_0000000e" & identifier))) ;) (expression_statement "pfStack_110 = (fts5YYMINORTYPE *)0x1;" (assignment_expression "pfStack_110 = (fts5YYMINORTYPE *)0x1" identifier = (cast_expression "(fts5YYMINORTYPE *)0x1" ( (type_descriptor "fts5YYMINORTYPE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pfVar24 = (fts5YYMINORTYPE *)0x1;" (assignment_expression "pfVar24 = (fts5YYMINORTYPE *)0x1" identifier = (cast_expression "(fts5YYMINORTYPE *)0x1" ( (type_descriptor "fts5YYMINORTYPE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else if (iVar7 < 0x2c) {\n          if (iVar7 == 0x28) {\n            unaff_s2 = (fts5yyParser *)&DAT_0000000a;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else if (iVar7 < 0x29) {\n            if (iVar7 != 0) {\n              pcVar28 = (char *)((int)&(unaff_s4->fts5yy0).p + 1);\n              if (iVar7 != 0x22) {\nLAB_000b2abc:\n                puVar8 = puVar20;\n                puVar18 = aBareword;\n                do {\n                  puVar17 = puVar8 + 4;\n                  *(undefined4 *)puVar18 = *puVar8;\n                  pfVar22 = (fts5YYMINORTYPE *)puVar8[1];\n                  uVar21 = puVar8[2];\n                  *(undefined4 *)(puVar18 + 0xc) = puVar8[3];\n                  *(fts5YYMINORTYPE **)(puVar18 + 4) = pfVar22;\n                  *(undefined4 *)(puVar18 + 8) = uVar21;\n                  puVar8 = puVar17;\n                  puVar18 = puVar18 + 0x10;\n                } while (puVar17 != puVar16);\n                if (-1 < iVar7) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              cVar14 = *pcVar28;\n              if (cVar14 == '\"') goto LAB_000b3320;\n              while (pfVar19 = (fts5YYMINORTYPE *)PTR_DAT_0015b5fc, cVar14 != '\0') {\n                while( true ) {\n                  pcVar28 = pcVar28 + 1;\n                  cVar14 = *pcVar28;\n                  if (cVar14 != '\"') break;\nLAB_000b3320:\n                  pcVar12 = pcVar28 + 1;\n                  pcVar28 = pcVar28 + 1;\n                  if (*pcVar12 != '\"') {\n                    pfStack_110 = (fts5YYMINORTYPE *)(pcVar28 + -(int)unaff_s4);\n                    unaff_s2 = (fts5yyParser *)&DAT_00000009;\n                    pfVar24 = pfStack_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (fts5yyParser *)0x0;\n              pfVar24 = (fts5YYMINORTYPE *)0x1;\n              pfVar19 = (fts5YYMINORTYPE *)(PTR_DAT_0015b5fc + -0x70e0);\n              (*pcVar15)(&sParse);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (fts5yyParser *)0x0;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else if (iVar7 == 0x29) {\n            unaff_s2 = (fts5yyParser *)&DAT_0000000b;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else {\n            unaff_s2 = (fts5yyParser *)0xf;\n            if (iVar7 != 0x2a) goto LAB_000b2abc;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n        }\n        else if (iVar7 == 0x3a) {\n          unaff_s2 = (fts5yyParser *)&DAT_00000005;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\n        else if (iVar7 < 0x3b) {\n          if (iVar7 == 0x2c) {\n            unaff_s2 = (fts5yyParser *)&DAT_0000000d;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else {\n            unaff_s2 = (fts5yyParser *)&DAT_00000006;\n            if (iVar7 != 0x2d) goto LAB_000b2abc;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n        }\n        else if (iVar7 == 0x7b) {\n          unaff_s2 = (fts5yyParser *)&DAT_00000007;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\n        else if (iVar7 == 0x7d) {\n          unaff_s2 = (fts5yyParser *)&DAT_00000008;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\n        else {\n          unaff_s2 = (fts5yyParser *)&DAT_0000000c;\n          if (iVar7 != 0x5e) goto LAB_000b2abc;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }" else (if_statement "if (iVar7 < 0x2c) {\n          if (iVar7 == 0x28) {\n            unaff_s2 = (fts5yyParser *)&DAT_0000000a;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else if (iVar7 < 0x29) {\n            if (iVar7 != 0) {\n              pcVar28 = (char *)((int)&(unaff_s4->fts5yy0).p + 1);\n              if (iVar7 != 0x22) {\nLAB_000b2abc:\n                puVar8 = puVar20;\n                puVar18 = aBareword;\n                do {\n                  puVar17 = puVar8 + 4;\n                  *(undefined4 *)puVar18 = *puVar8;\n                  pfVar22 = (fts5YYMINORTYPE *)puVar8[1];\n                  uVar21 = puVar8[2];\n                  *(undefined4 *)(puVar18 + 0xc) = puVar8[3];\n                  *(fts5YYMINORTYPE **)(puVar18 + 4) = pfVar22;\n                  *(undefined4 *)(puVar18 + 8) = uVar21;\n                  puVar8 = puVar17;\n                  puVar18 = puVar18 + 0x10;\n                } while (puVar17 != puVar16);\n                if (-1 < iVar7) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              cVar14 = *pcVar28;\n              if (cVar14 == '\"') goto LAB_000b3320;\n              while (pfVar19 = (fts5YYMINORTYPE *)PTR_DAT_0015b5fc, cVar14 != '\0') {\n                while( true ) {\n                  pcVar28 = pcVar28 + 1;\n                  cVar14 = *pcVar28;\n                  if (cVar14 != '\"') break;\nLAB_000b3320:\n                  pcVar12 = pcVar28 + 1;\n                  pcVar28 = pcVar28 + 1;\n                  if (*pcVar12 != '\"') {\n                    pfStack_110 = (fts5YYMINORTYPE *)(pcVar28 + -(int)unaff_s4);\n                    unaff_s2 = (fts5yyParser *)&DAT_00000009;\n                    pfVar24 = pfStack_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (fts5yyParser *)0x0;\n              pfVar24 = (fts5YYMINORTYPE *)0x1;\n              pfVar19 = (fts5YYMINORTYPE *)(PTR_DAT_0015b5fc + -0x70e0);\n              (*pcVar15)(&sParse);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (fts5yyParser *)0x0;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else if (iVar7 == 0x29) {\n            unaff_s2 = (fts5yyParser *)&DAT_0000000b;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else {\n            unaff_s2 = (fts5yyParser *)0xf;\n            if (iVar7 != 0x2a) goto LAB_000b2abc;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n        }\n        else if (iVar7 == 0x3a) {\n          unaff_s2 = (fts5yyParser *)&DAT_00000005;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\n        else if (iVar7 < 0x3b) {\n          if (iVar7 == 0x2c) {\n            unaff_s2 = (fts5yyParser *)&DAT_0000000d;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else {\n            unaff_s2 = (fts5yyParser *)&DAT_00000006;\n            if (iVar7 != 0x2d) goto LAB_000b2abc;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n        }\n        else if (iVar7 == 0x7b) {\n          unaff_s2 = (fts5yyParser *)&DAT_00000007;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\n        else if (iVar7 == 0x7d) {\n          unaff_s2 = (fts5yyParser *)&DAT_00000008;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\n        else {\n          unaff_s2 = (fts5yyParser *)&DAT_0000000c;\n          if (iVar7 != 0x5e) goto LAB_000b2abc;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }" if (parenthesized_expression "(iVar7 < 0x2c)" ( (binary_expression "iVar7 < 0x2c" identifier < number_literal) )) (compound_statement "{\n          if (iVar7 == 0x28) {\n            unaff_s2 = (fts5yyParser *)&DAT_0000000a;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else if (iVar7 < 0x29) {\n            if (iVar7 != 0) {\n              pcVar28 = (char *)((int)&(unaff_s4->fts5yy0).p + 1);\n              if (iVar7 != 0x22) {\nLAB_000b2abc:\n                puVar8 = puVar20;\n                puVar18 = aBareword;\n                do {\n                  puVar17 = puVar8 + 4;\n                  *(undefined4 *)puVar18 = *puVar8;\n                  pfVar22 = (fts5YYMINORTYPE *)puVar8[1];\n                  uVar21 = puVar8[2];\n                  *(undefined4 *)(puVar18 + 0xc) = puVar8[3];\n                  *(fts5YYMINORTYPE **)(puVar18 + 4) = pfVar22;\n                  *(undefined4 *)(puVar18 + 8) = uVar21;\n                  puVar8 = puVar17;\n                  puVar18 = puVar18 + 0x10;\n                } while (puVar17 != puVar16);\n                if (-1 < iVar7) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              cVar14 = *pcVar28;\n              if (cVar14 == '\"') goto LAB_000b3320;\n              while (pfVar19 = (fts5YYMINORTYPE *)PTR_DAT_0015b5fc, cVar14 != '\0') {\n                while( true ) {\n                  pcVar28 = pcVar28 + 1;\n                  cVar14 = *pcVar28;\n                  if (cVar14 != '\"') break;\nLAB_000b3320:\n                  pcVar12 = pcVar28 + 1;\n                  pcVar28 = pcVar28 + 1;\n                  if (*pcVar12 != '\"') {\n                    pfStack_110 = (fts5YYMINORTYPE *)(pcVar28 + -(int)unaff_s4);\n                    unaff_s2 = (fts5yyParser *)&DAT_00000009;\n                    pfVar24 = pfStack_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (fts5yyParser *)0x0;\n              pfVar24 = (fts5YYMINORTYPE *)0x1;\n              pfVar19 = (fts5YYMINORTYPE *)(PTR_DAT_0015b5fc + -0x70e0);\n              (*pcVar15)(&sParse);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (fts5yyParser *)0x0;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else if (iVar7 == 0x29) {\n            unaff_s2 = (fts5yyParser *)&DAT_0000000b;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else {\n            unaff_s2 = (fts5yyParser *)0xf;\n            if (iVar7 != 0x2a) goto LAB_000b2abc;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n        }" { (if_statement "if (iVar7 == 0x28) {\n            unaff_s2 = (fts5yyParser *)&DAT_0000000a;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else if (iVar7 < 0x29) {\n            if (iVar7 != 0) {\n              pcVar28 = (char *)((int)&(unaff_s4->fts5yy0).p + 1);\n              if (iVar7 != 0x22) {\nLAB_000b2abc:\n                puVar8 = puVar20;\n                puVar18 = aBareword;\n                do {\n                  puVar17 = puVar8 + 4;\n                  *(undefined4 *)puVar18 = *puVar8;\n                  pfVar22 = (fts5YYMINORTYPE *)puVar8[1];\n                  uVar21 = puVar8[2];\n                  *(undefined4 *)(puVar18 + 0xc) = puVar8[3];\n                  *(fts5YYMINORTYPE **)(puVar18 + 4) = pfVar22;\n                  *(undefined4 *)(puVar18 + 8) = uVar21;\n                  puVar8 = puVar17;\n                  puVar18 = puVar18 + 0x10;\n                } while (puVar17 != puVar16);\n                if (-1 < iVar7) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              cVar14 = *pcVar28;\n              if (cVar14 == '\"') goto LAB_000b3320;\n              while (pfVar19 = (fts5YYMINORTYPE *)PTR_DAT_0015b5fc, cVar14 != '\0') {\n                while( true ) {\n                  pcVar28 = pcVar28 + 1;\n                  cVar14 = *pcVar28;\n                  if (cVar14 != '\"') break;\nLAB_000b3320:\n                  pcVar12 = pcVar28 + 1;\n                  pcVar28 = pcVar28 + 1;\n                  if (*pcVar12 != '\"') {\n                    pfStack_110 = (fts5YYMINORTYPE *)(pcVar28 + -(int)unaff_s4);\n                    unaff_s2 = (fts5yyParser *)&DAT_00000009;\n                    pfVar24 = pfStack_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (fts5yyParser *)0x0;\n              pfVar24 = (fts5YYMINORTYPE *)0x1;\n              pfVar19 = (fts5YYMINORTYPE *)(PTR_DAT_0015b5fc + -0x70e0);\n              (*pcVar15)(&sParse);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (fts5yyParser *)0x0;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else if (iVar7 == 0x29) {\n            unaff_s2 = (fts5yyParser *)&DAT_0000000b;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else {\n            unaff_s2 = (fts5yyParser *)0xf;\n            if (iVar7 != 0x2a) goto LAB_000b2abc;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }" if (parenthesized_expression "(iVar7 == 0x28)" ( (binary_expression "iVar7 == 0x28" identifier == number_literal) )) (compound_statement "{\n            unaff_s2 = (fts5yyParser *)&DAT_0000000a;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }" { (expression_statement "unaff_s2 = (fts5yyParser *)&DAT_0000000a;" (assignment_expression "unaff_s2 = (fts5yyParser *)&DAT_0000000a" identifier = (cast_expression "(fts5yyParser *)&DAT_0000000a" ( (type_descriptor "fts5yyParser *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_0000000a" & identifier))) ;) (expression_statement "pfStack_110 = (fts5YYMINORTYPE *)0x1;" (assignment_expression "pfStack_110 = (fts5YYMINORTYPE *)0x1" identifier = (cast_expression "(fts5YYMINORTYPE *)0x1" ( (type_descriptor "fts5YYMINORTYPE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pfVar24 = (fts5YYMINORTYPE *)0x1;" (assignment_expression "pfVar24 = (fts5YYMINORTYPE *)0x1" identifier = (cast_expression "(fts5YYMINORTYPE *)0x1" ( (type_descriptor "fts5YYMINORTYPE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else if (iVar7 < 0x29) {\n            if (iVar7 != 0) {\n              pcVar28 = (char *)((int)&(unaff_s4->fts5yy0).p + 1);\n              if (iVar7 != 0x22) {\nLAB_000b2abc:\n                puVar8 = puVar20;\n                puVar18 = aBareword;\n                do {\n                  puVar17 = puVar8 + 4;\n                  *(undefined4 *)puVar18 = *puVar8;\n                  pfVar22 = (fts5YYMINORTYPE *)puVar8[1];\n                  uVar21 = puVar8[2];\n                  *(undefined4 *)(puVar18 + 0xc) = puVar8[3];\n                  *(fts5YYMINORTYPE **)(puVar18 + 4) = pfVar22;\n                  *(undefined4 *)(puVar18 + 8) = uVar21;\n                  puVar8 = puVar17;\n                  puVar18 = puVar18 + 0x10;\n                } while (puVar17 != puVar16);\n                if (-1 < iVar7) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              cVar14 = *pcVar28;\n              if (cVar14 == '\"') goto LAB_000b3320;\n              while (pfVar19 = (fts5YYMINORTYPE *)PTR_DAT_0015b5fc, cVar14 != '\0') {\n                while( true ) {\n                  pcVar28 = pcVar28 + 1;\n                  cVar14 = *pcVar28;\n                  if (cVar14 != '\"') break;\nLAB_000b3320:\n                  pcVar12 = pcVar28 + 1;\n                  pcVar28 = pcVar28 + 1;\n                  if (*pcVar12 != '\"') {\n                    pfStack_110 = (fts5YYMINORTYPE *)(pcVar28 + -(int)unaff_s4);\n                    unaff_s2 = (fts5yyParser *)&DAT_00000009;\n                    pfVar24 = pfStack_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (fts5yyParser *)0x0;\n              pfVar24 = (fts5YYMINORTYPE *)0x1;\n              pfVar19 = (fts5YYMINORTYPE *)(PTR_DAT_0015b5fc + -0x70e0);\n              (*pcVar15)(&sParse);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (fts5yyParser *)0x0;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else if (iVar7 == 0x29) {\n            unaff_s2 = (fts5yyParser *)&DAT_0000000b;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else {\n            unaff_s2 = (fts5yyParser *)0xf;\n            if (iVar7 != 0x2a) goto LAB_000b2abc;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }" else (if_statement "if (iVar7 < 0x29) {\n            if (iVar7 != 0) {\n              pcVar28 = (char *)((int)&(unaff_s4->fts5yy0).p + 1);\n              if (iVar7 != 0x22) {\nLAB_000b2abc:\n                puVar8 = puVar20;\n                puVar18 = aBareword;\n                do {\n                  puVar17 = puVar8 + 4;\n                  *(undefined4 *)puVar18 = *puVar8;\n                  pfVar22 = (fts5YYMINORTYPE *)puVar8[1];\n                  uVar21 = puVar8[2];\n                  *(undefined4 *)(puVar18 + 0xc) = puVar8[3];\n                  *(fts5YYMINORTYPE **)(puVar18 + 4) = pfVar22;\n                  *(undefined4 *)(puVar18 + 8) = uVar21;\n                  puVar8 = puVar17;\n                  puVar18 = puVar18 + 0x10;\n                } while (puVar17 != puVar16);\n                if (-1 < iVar7) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              cVar14 = *pcVar28;\n              if (cVar14 == '\"') goto LAB_000b3320;\n              while (pfVar19 = (fts5YYMINORTYPE *)PTR_DAT_0015b5fc, cVar14 != '\0') {\n                while( true ) {\n                  pcVar28 = pcVar28 + 1;\n                  cVar14 = *pcVar28;\n                  if (cVar14 != '\"') break;\nLAB_000b3320:\n                  pcVar12 = pcVar28 + 1;\n                  pcVar28 = pcVar28 + 1;\n                  if (*pcVar12 != '\"') {\n                    pfStack_110 = (fts5YYMINORTYPE *)(pcVar28 + -(int)unaff_s4);\n                    unaff_s2 = (fts5yyParser *)&DAT_00000009;\n                    pfVar24 = pfStack_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (fts5yyParser *)0x0;\n              pfVar24 = (fts5YYMINORTYPE *)0x1;\n              pfVar19 = (fts5YYMINORTYPE *)(PTR_DAT_0015b5fc + -0x70e0);\n              (*pcVar15)(&sParse);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (fts5yyParser *)0x0;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else if (iVar7 == 0x29) {\n            unaff_s2 = (fts5yyParser *)&DAT_0000000b;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else {\n            unaff_s2 = (fts5yyParser *)0xf;\n            if (iVar7 != 0x2a) goto LAB_000b2abc;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }" if (parenthesized_expression "(iVar7 < 0x29)" ( (binary_expression "iVar7 < 0x29" identifier < number_literal) )) (compound_statement "{\n            if (iVar7 != 0) {\n              pcVar28 = (char *)((int)&(unaff_s4->fts5yy0).p + 1);\n              if (iVar7 != 0x22) {\nLAB_000b2abc:\n                puVar8 = puVar20;\n                puVar18 = aBareword;\n                do {\n                  puVar17 = puVar8 + 4;\n                  *(undefined4 *)puVar18 = *puVar8;\n                  pfVar22 = (fts5YYMINORTYPE *)puVar8[1];\n                  uVar21 = puVar8[2];\n                  *(undefined4 *)(puVar18 + 0xc) = puVar8[3];\n                  *(fts5YYMINORTYPE **)(puVar18 + 4) = pfVar22;\n                  *(undefined4 *)(puVar18 + 8) = uVar21;\n                  puVar8 = puVar17;\n                  puVar18 = puVar18 + 0x10;\n                } while (puVar17 != puVar16);\n                if (-1 < iVar7) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              cVar14 = *pcVar28;\n              if (cVar14 == '\"') goto LAB_000b3320;\n              while (pfVar19 = (fts5YYMINORTYPE *)PTR_DAT_0015b5fc, cVar14 != '\0') {\n                while( true ) {\n                  pcVar28 = pcVar28 + 1;\n                  cVar14 = *pcVar28;\n                  if (cVar14 != '\"') break;\nLAB_000b3320:\n                  pcVar12 = pcVar28 + 1;\n                  pcVar28 = pcVar28 + 1;\n                  if (*pcVar12 != '\"') {\n                    pfStack_110 = (fts5YYMINORTYPE *)(pcVar28 + -(int)unaff_s4);\n                    unaff_s2 = (fts5yyParser *)&DAT_00000009;\n                    pfVar24 = pfStack_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (fts5yyParser *)0x0;\n              pfVar24 = (fts5YYMINORTYPE *)0x1;\n              pfVar19 = (fts5YYMINORTYPE *)(PTR_DAT_0015b5fc + -0x70e0);\n              (*pcVar15)(&sParse);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (fts5yyParser *)0x0;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }" { (if_statement "if (iVar7 != 0) {\n              pcVar28 = (char *)((int)&(unaff_s4->fts5yy0).p + 1);\n              if (iVar7 != 0x22) {\nLAB_000b2abc:\n                puVar8 = puVar20;\n                puVar18 = aBareword;\n                do {\n                  puVar17 = puVar8 + 4;\n                  *(undefined4 *)puVar18 = *puVar8;\n                  pfVar22 = (fts5YYMINORTYPE *)puVar8[1];\n                  uVar21 = puVar8[2];\n                  *(undefined4 *)(puVar18 + 0xc) = puVar8[3];\n                  *(fts5YYMINORTYPE **)(puVar18 + 4) = pfVar22;\n                  *(undefined4 *)(puVar18 + 8) = uVar21;\n                  puVar8 = puVar17;\n                  puVar18 = puVar18 + 0x10;\n                } while (puVar17 != puVar16);\n                if (-1 < iVar7) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              cVar14 = *pcVar28;\n              if (cVar14 == '\"') goto LAB_000b3320;\n              while (pfVar19 = (fts5YYMINORTYPE *)PTR_DAT_0015b5fc, cVar14 != '\0') {\n                while( true ) {\n                  pcVar28 = pcVar28 + 1;\n                  cVar14 = *pcVar28;\n                  if (cVar14 != '\"') break;\nLAB_000b3320:\n                  pcVar12 = pcVar28 + 1;\n                  pcVar28 = pcVar28 + 1;\n                  if (*pcVar12 != '\"') {\n                    pfStack_110 = (fts5YYMINORTYPE *)(pcVar28 + -(int)unaff_s4);\n                    unaff_s2 = (fts5yyParser *)&DAT_00000009;\n                    pfVar24 = pfStack_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (fts5yyParser *)0x0;\n              pfVar24 = (fts5YYMINORTYPE *)0x1;\n              pfVar19 = (fts5YYMINORTYPE *)(PTR_DAT_0015b5fc + -0x70e0);\n              (*pcVar15)(&sParse);\n              goto LAB_000b2ba0;\n            }" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (compound_statement "{\n              pcVar28 = (char *)((int)&(unaff_s4->fts5yy0).p + 1);\n              if (iVar7 != 0x22) {\nLAB_000b2abc:\n                puVar8 = puVar20;\n                puVar18 = aBareword;\n                do {\n                  puVar17 = puVar8 + 4;\n                  *(undefined4 *)puVar18 = *puVar8;\n                  pfVar22 = (fts5YYMINORTYPE *)puVar8[1];\n                  uVar21 = puVar8[2];\n                  *(undefined4 *)(puVar18 + 0xc) = puVar8[3];\n                  *(fts5YYMINORTYPE **)(puVar18 + 4) = pfVar22;\n                  *(undefined4 *)(puVar18 + 8) = uVar21;\n                  puVar8 = puVar17;\n                  puVar18 = puVar18 + 0x10;\n                } while (puVar17 != puVar16);\n                if (-1 < iVar7) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              cVar14 = *pcVar28;\n              if (cVar14 == '\"') goto LAB_000b3320;\n              while (pfVar19 = (fts5YYMINORTYPE *)PTR_DAT_0015b5fc, cVar14 != '\0') {\n                while( true ) {\n                  pcVar28 = pcVar28 + 1;\n                  cVar14 = *pcVar28;\n                  if (cVar14 != '\"') break;\nLAB_000b3320:\n                  pcVar12 = pcVar28 + 1;\n                  pcVar28 = pcVar28 + 1;\n                  if (*pcVar12 != '\"') {\n                    pfStack_110 = (fts5YYMINORTYPE *)(pcVar28 + -(int)unaff_s4);\n                    unaff_s2 = (fts5yyParser *)&DAT_00000009;\n                    pfVar24 = pfStack_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (fts5yyParser *)0x0;\n              pfVar24 = (fts5YYMINORTYPE *)0x1;\n              pfVar19 = (fts5YYMINORTYPE *)(PTR_DAT_0015b5fc + -0x70e0);\n              (*pcVar15)(&sParse);\n              goto LAB_000b2ba0;\n            }" { (expression_statement "pcVar28 = (char *)((int)&(unaff_s4->fts5yy0).p + 1);" (assignment_expression "pcVar28 = (char *)((int)&(unaff_s4->fts5yy0).p + 1)" identifier = (cast_expression "(char *)((int)&(unaff_s4->fts5yy0).p + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(unaff_s4->fts5yy0).p + 1)" ( (binary_expression "(int)&(unaff_s4->fts5yy0).p + 1" (cast_expression "(int)&(unaff_s4->fts5yy0).p" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(unaff_s4->fts5yy0).p" & (field_expression "(unaff_s4->fts5yy0).p" (parenthesized_expression "(unaff_s4->fts5yy0)" ( (field_expression "unaff_s4->fts5yy0" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) ;) (if_statement "if (iVar7 != 0x22) {\nLAB_000b2abc:\n                puVar8 = puVar20;\n                puVar18 = aBareword;\n                do {\n                  puVar17 = puVar8 + 4;\n                  *(undefined4 *)puVar18 = *puVar8;\n                  pfVar22 = (fts5YYMINORTYPE *)puVar8[1];\n                  uVar21 = puVar8[2];\n                  *(undefined4 *)(puVar18 + 0xc) = puVar8[3];\n                  *(fts5YYMINORTYPE **)(puVar18 + 4) = pfVar22;\n                  *(undefined4 *)(puVar18 + 8) = uVar21;\n                  puVar8 = puVar17;\n                  puVar18 = puVar18 + 0x10;\n                } while (puVar17 != puVar16);\n                if (-1 < iVar7) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }" if (parenthesized_expression "(iVar7 != 0x22)" ( (binary_expression "iVar7 != 0x22" identifier != number_literal) )) (compound_statement "{\nLAB_000b2abc:\n                puVar8 = puVar20;\n                puVar18 = aBareword;\n                do {\n                  puVar17 = puVar8 + 4;\n                  *(undefined4 *)puVar18 = *puVar8;\n                  pfVar22 = (fts5YYMINORTYPE *)puVar8[1];\n                  uVar21 = puVar8[2];\n                  *(undefined4 *)(puVar18 + 0xc) = puVar8[3];\n                  *(fts5YYMINORTYPE **)(puVar18 + 4) = pfVar22;\n                  *(undefined4 *)(puVar18 + 8) = uVar21;\n                  puVar8 = puVar17;\n                  puVar18 = puVar18 + 0x10;\n                } while (puVar17 != puVar16);\n                if (-1 < iVar7) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }" { (labeled_statement "LAB_000b2abc:\n                puVar8 = puVar20;" statement_identifier : (expression_statement "puVar8 = puVar20;" (assignment_expression "puVar8 = puVar20" identifier = identifier) ;)) (expression_statement "puVar18 = aBareword;" (assignment_expression "puVar18 = aBareword" identifier = identifier) ;) (do_statement "do {\n                  puVar17 = puVar8 + 4;\n                  *(undefined4 *)puVar18 = *puVar8;\n                  pfVar22 = (fts5YYMINORTYPE *)puVar8[1];\n                  uVar21 = puVar8[2];\n                  *(undefined4 *)(puVar18 + 0xc) = puVar8[3];\n                  *(fts5YYMINORTYPE **)(puVar18 + 4) = pfVar22;\n                  *(undefined4 *)(puVar18 + 8) = uVar21;\n                  puVar8 = puVar17;\n                  puVar18 = puVar18 + 0x10;\n                } while (puVar17 != puVar16);" do (compound_statement "{\n                  puVar17 = puVar8 + 4;\n                  *(undefined4 *)puVar18 = *puVar8;\n                  pfVar22 = (fts5YYMINORTYPE *)puVar8[1];\n                  uVar21 = puVar8[2];\n                  *(undefined4 *)(puVar18 + 0xc) = puVar8[3];\n                  *(fts5YYMINORTYPE **)(puVar18 + 4) = pfVar22;\n                  *(undefined4 *)(puVar18 + 8) = uVar21;\n                  puVar8 = puVar17;\n                  puVar18 = puVar18 + 0x10;\n                }" { (expression_statement "puVar17 = puVar8 + 4;" (assignment_expression "puVar17 = puVar8 + 4" identifier = (binary_expression "puVar8 + 4" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)puVar18 = *puVar8;" (assignment_expression "*(undefined4 *)puVar18 = *puVar8" (pointer_expression "*(undefined4 *)puVar18" * (cast_expression "(undefined4 *)puVar18" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (pointer_expression "*puVar8" * identifier)) ;) (expression_statement "pfVar22 = (fts5YYMINORTYPE *)puVar8[1];" (assignment_expression "pfVar22 = (fts5YYMINORTYPE *)puVar8[1]" identifier = (cast_expression "(fts5YYMINORTYPE *)puVar8[1]" ( (type_descriptor "fts5YYMINORTYPE *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar8[1]" identifier [ number_literal ]))) ;) (expression_statement "uVar21 = puVar8[2];" (assignment_expression "uVar21 = puVar8[2]" identifier = (subscript_expression "puVar8[2]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar18 + 0xc) = puVar8[3];" (assignment_expression "*(undefined4 *)(puVar18 + 0xc) = puVar8[3]" (pointer_expression "*(undefined4 *)(puVar18 + 0xc)" * (cast_expression "(undefined4 *)(puVar18 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 0xc)" ( (binary_expression "puVar18 + 0xc" identifier + number_literal) )))) = (subscript_expression "puVar8[3]" identifier [ number_literal ])) ;) (expression_statement "*(fts5YYMINORTYPE **)(puVar18 + 4) = pfVar22;" (assignment_expression "*(fts5YYMINORTYPE **)(puVar18 + 4) = pfVar22" (pointer_expression "*(fts5YYMINORTYPE **)(puVar18 + 4)" * (cast_expression "(fts5YYMINORTYPE **)(puVar18 + 4)" ( (type_descriptor "fts5YYMINORTYPE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + 4)" ( (binary_expression "puVar18 + 4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar18 + 8) = uVar21;" (assignment_expression "*(undefined4 *)(puVar18 + 8) = uVar21" (pointer_expression "*(undefined4 *)(puVar18 + 8)" * (cast_expression "(undefined4 *)(puVar18 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + 8)" ( (binary_expression "puVar18 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar8 = puVar17;" (assignment_expression "puVar8 = puVar17" identifier = identifier) ;) (expression_statement "puVar18 = puVar18 + 0x10;" (assignment_expression "puVar18 = puVar18 + 0x10" identifier = (binary_expression "puVar18 + 0x10" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar17 != puVar16)" ( (binary_expression "puVar17 != puVar16" identifier != identifier) )) ;) (if_statement "if (-1 < iVar7) goto LAB_000b34f0;" if (parenthesized_expression "(-1 < iVar7)" ( (binary_expression "-1 < iVar7" number_literal < identifier) )) (goto_statement "goto LAB_000b34f0;" goto statement_identifier ;)) (goto_statement "goto LAB_000b2b04;" goto statement_identifier ;) })) (expression_statement "cVar14 = *pcVar28;" (assignment_expression "cVar14 = *pcVar28" identifier = (pointer_expression "*pcVar28" * identifier)) ;) (if_statement "if (cVar14 == '\"') goto LAB_000b3320;" if (parenthesized_expression "(cVar14 == '\"')" ( (binary_expression "cVar14 == '\"'" identifier == (char_literal "'\"'" ' escape_sequence ')) )) (goto_statement "goto LAB_000b3320;" goto statement_identifier ;)) (while_statement "while (pfVar19 = (fts5YYMINORTYPE *)PTR_DAT_0015b5fc, cVar14 != '\0') {\n                while( true ) {\n                  pcVar28 = pcVar28 + 1;\n                  cVar14 = *pcVar28;\n                  if (cVar14 != '\"') break;\nLAB_000b3320:\n                  pcVar12 = pcVar28 + 1;\n                  pcVar28 = pcVar28 + 1;\n                  if (*pcVar12 != '\"') {\n                    pfStack_110 = (fts5YYMINORTYPE *)(pcVar28 + -(int)unaff_s4);\n                    unaff_s2 = (fts5yyParser *)&DAT_00000009;\n                    pfVar24 = pfStack_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }" while (parenthesized_expression "(pfVar19 = (fts5YYMINORTYPE *)PTR_DAT_0015b5fc, cVar14 != '\0')" ( (comma_expression "pfVar19 = (fts5YYMINORTYPE *)PTR_DAT_0015b5fc, cVar14 != '\0'" (assignment_expression "pfVar19 = (fts5YYMINORTYPE *)PTR_DAT_0015b5fc" identifier = (cast_expression "(fts5YYMINORTYPE *)PTR_DAT_0015b5fc" ( (type_descriptor "fts5YYMINORTYPE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , (binary_expression "cVar14 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence '))) )) (compound_statement "{\n                while( true ) {\n                  pcVar28 = pcVar28 + 1;\n                  cVar14 = *pcVar28;\n                  if (cVar14 != '\"') break;\nLAB_000b3320:\n                  pcVar12 = pcVar28 + 1;\n                  pcVar28 = pcVar28 + 1;\n                  if (*pcVar12 != '\"') {\n                    pfStack_110 = (fts5YYMINORTYPE *)(pcVar28 + -(int)unaff_s4);\n                    unaff_s2 = (fts5yyParser *)&DAT_00000009;\n                    pfVar24 = pfStack_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }" { (while_statement "while( true ) {\n                  pcVar28 = pcVar28 + 1;\n                  cVar14 = *pcVar28;\n                  if (cVar14 != '\"') break;\nLAB_000b3320:\n                  pcVar12 = pcVar28 + 1;\n                  pcVar28 = pcVar28 + 1;\n                  if (*pcVar12 != '\"') {\n                    pfStack_110 = (fts5YYMINORTYPE *)(pcVar28 + -(int)unaff_s4);\n                    unaff_s2 = (fts5yyParser *)&DAT_00000009;\n                    pfVar24 = pfStack_110;\n                    goto LAB_000b2b98;\n                  }\n                }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                  pcVar28 = pcVar28 + 1;\n                  cVar14 = *pcVar28;\n                  if (cVar14 != '\"') break;\nLAB_000b3320:\n                  pcVar12 = pcVar28 + 1;\n                  pcVar28 = pcVar28 + 1;\n                  if (*pcVar12 != '\"') {\n                    pfStack_110 = (fts5YYMINORTYPE *)(pcVar28 + -(int)unaff_s4);\n                    unaff_s2 = (fts5yyParser *)&DAT_00000009;\n                    pfVar24 = pfStack_110;\n                    goto LAB_000b2b98;\n                  }\n                }" { (expression_statement "pcVar28 = pcVar28 + 1;" (assignment_expression "pcVar28 = pcVar28 + 1" identifier = (binary_expression "pcVar28 + 1" identifier + number_literal)) ;) (expression_statement "cVar14 = *pcVar28;" (assignment_expression "cVar14 = *pcVar28" identifier = (pointer_expression "*pcVar28" * identifier)) ;) (if_statement "if (cVar14 != '\"') break;" if (parenthesized_expression "(cVar14 != '\"')" ( (binary_expression "cVar14 != '\"'" identifier != (char_literal "'\"'" ' escape_sequence ')) )) (break_statement "break;" break ;)) (labeled_statement "LAB_000b3320:\n                  pcVar12 = pcVar28 + 1;" statement_identifier : (expression_statement "pcVar12 = pcVar28 + 1;" (assignment_expression "pcVar12 = pcVar28 + 1" identifier = (binary_expression "pcVar28 + 1" identifier + number_literal)) ;)) (expression_statement "pcVar28 = pcVar28 + 1;" (assignment_expression "pcVar28 = pcVar28 + 1" identifier = (binary_expression "pcVar28 + 1" identifier + number_literal)) ;) (if_statement "if (*pcVar12 != '\"') {\n                    pfStack_110 = (fts5YYMINORTYPE *)(pcVar28 + -(int)unaff_s4);\n                    unaff_s2 = (fts5yyParser *)&DAT_00000009;\n                    pfVar24 = pfStack_110;\n                    goto LAB_000b2b98;\n                  }" if (parenthesized_expression "(*pcVar12 != '\"')" ( (binary_expression "*pcVar12 != '\"'" (pointer_expression "*pcVar12" * identifier) != (char_literal "'\"'" ' escape_sequence ')) )) (compound_statement "{\n                    pfStack_110 = (fts5YYMINORTYPE *)(pcVar28 + -(int)unaff_s4);\n                    unaff_s2 = (fts5yyParser *)&DAT_00000009;\n                    pfVar24 = pfStack_110;\n                    goto LAB_000b2b98;\n                  }" { (expression_statement "pfStack_110 = (fts5YYMINORTYPE *)(pcVar28 + -(int)unaff_s4);" (assignment_expression "pfStack_110 = (fts5YYMINORTYPE *)(pcVar28 + -(int)unaff_s4)" identifier = (cast_expression "(fts5YYMINORTYPE *)(pcVar28 + -(int)unaff_s4)" ( (type_descriptor "fts5YYMINORTYPE *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + -(int)unaff_s4)" ( (binary_expression "pcVar28 + -(int)unaff_s4" identifier + (unary_expression "-(int)unaff_s4" - (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier))) )))) ;) (expression_statement "unaff_s2 = (fts5yyParser *)&DAT_00000009;" (assignment_expression "unaff_s2 = (fts5yyParser *)&DAT_00000009" identifier = (cast_expression "(fts5yyParser *)&DAT_00000009" ( (type_descriptor "fts5yyParser *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000009" & identifier))) ;) (expression_statement "pfVar24 = pfStack_110;" (assignment_expression "pfVar24 = pfStack_110" identifier = identifier) ;) (goto_statement "goto LAB_000b2b98;" goto statement_identifier ;) })) })) })) (expression_statement "unaff_s2 = (fts5yyParser *)0x0;" (assignment_expression "unaff_s2 = (fts5yyParser *)0x0" identifier = (cast_expression "(fts5yyParser *)0x0" ( (type_descriptor "fts5yyParser *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pfVar24 = (fts5YYMINORTYPE *)0x1;" (assignment_expression "pfVar24 = (fts5YYMINORTYPE *)0x1" identifier = (cast_expression "(fts5YYMINORTYPE *)0x1" ( (type_descriptor "fts5YYMINORTYPE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pfVar19 = (fts5YYMINORTYPE *)(PTR_DAT_0015b5fc + -0x70e0);" (assignment_expression "pfVar19 = (fts5YYMINORTYPE *)(PTR_DAT_0015b5fc + -0x70e0)" identifier = (cast_expression "(fts5YYMINORTYPE *)(PTR_DAT_0015b5fc + -0x70e0)" ( (type_descriptor "fts5YYMINORTYPE *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0015b5fc + -0x70e0)" ( (binary_expression "PTR_DAT_0015b5fc + -0x70e0" identifier + number_literal) )))) ;) (expression_statement "(*pcVar15)(&sParse);" (call_expression "(*pcVar15)(&sParse)" (parenthesized_expression "(*pcVar15)" ( (pointer_expression "*pcVar15" * identifier) )) (argument_list "(&sParse)" ( (pointer_expression "&sParse" & identifier) ))) ;) (goto_statement "goto LAB_000b2ba0;" goto statement_identifier ;) })) (expression_statement "unaff_s2 = (fts5yyParser *)0x0;" (assignment_expression "unaff_s2 = (fts5yyParser *)0x0" identifier = (cast_expression "(fts5yyParser *)0x0" ( (type_descriptor "fts5yyParser *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pfStack_110 = (fts5YYMINORTYPE *)0x1;" (assignment_expression "pfStack_110 = (fts5YYMINORTYPE *)0x1" identifier = (cast_expression "(fts5YYMINORTYPE *)0x1" ( (type_descriptor "fts5YYMINORTYPE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pfVar24 = (fts5YYMINORTYPE *)0x1;" (assignment_expression "pfVar24 = (fts5YYMINORTYPE *)0x1" identifier = (cast_expression "(fts5YYMINORTYPE *)0x1" ( (type_descriptor "fts5YYMINORTYPE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else if (iVar7 == 0x29) {\n            unaff_s2 = (fts5yyParser *)&DAT_0000000b;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else {\n            unaff_s2 = (fts5yyParser *)0xf;\n            if (iVar7 != 0x2a) goto LAB_000b2abc;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }" else (if_statement "if (iVar7 == 0x29) {\n            unaff_s2 = (fts5yyParser *)&DAT_0000000b;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else {\n            unaff_s2 = (fts5yyParser *)0xf;\n            if (iVar7 != 0x2a) goto LAB_000b2abc;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }" if (parenthesized_expression "(iVar7 == 0x29)" ( (binary_expression "iVar7 == 0x29" identifier == number_literal) )) (compound_statement "{\n            unaff_s2 = (fts5yyParser *)&DAT_0000000b;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }" { (expression_statement "unaff_s2 = (fts5yyParser *)&DAT_0000000b;" (assignment_expression "unaff_s2 = (fts5yyParser *)&DAT_0000000b" identifier = (cast_expression "(fts5yyParser *)&DAT_0000000b" ( (type_descriptor "fts5yyParser *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_0000000b" & identifier))) ;) (expression_statement "pfStack_110 = (fts5YYMINORTYPE *)0x1;" (assignment_expression "pfStack_110 = (fts5YYMINORTYPE *)0x1" identifier = (cast_expression "(fts5YYMINORTYPE *)0x1" ( (type_descriptor "fts5YYMINORTYPE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pfVar24 = (fts5YYMINORTYPE *)0x1;" (assignment_expression "pfVar24 = (fts5YYMINORTYPE *)0x1" identifier = (cast_expression "(fts5YYMINORTYPE *)0x1" ( (type_descriptor "fts5YYMINORTYPE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n            unaff_s2 = (fts5yyParser *)0xf;\n            if (iVar7 != 0x2a) goto LAB_000b2abc;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }" else (compound_statement "{\n            unaff_s2 = (fts5yyParser *)0xf;\n            if (iVar7 != 0x2a) goto LAB_000b2abc;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }" { (expression_statement "unaff_s2 = (fts5yyParser *)0xf;" (assignment_expression "unaff_s2 = (fts5yyParser *)0xf" identifier = (cast_expression "(fts5yyParser *)0xf" ( (type_descriptor "fts5yyParser *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (iVar7 != 0x2a) goto LAB_000b2abc;" if (parenthesized_expression "(iVar7 != 0x2a)" ( (binary_expression "iVar7 != 0x2a" identifier != number_literal) )) (goto_statement "goto LAB_000b2abc;" goto statement_identifier ;)) (expression_statement "pfStack_110 = (fts5YYMINORTYPE *)0x1;" (assignment_expression "pfStack_110 = (fts5YYMINORTYPE *)0x1" identifier = (cast_expression "(fts5YYMINORTYPE *)0x1" ( (type_descriptor "fts5YYMINORTYPE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pfVar24 = (fts5YYMINORTYPE *)0x1;" (assignment_expression "pfVar24 = (fts5YYMINORTYPE *)0x1" identifier = (cast_expression "(fts5YYMINORTYPE *)0x1" ( (type_descriptor "fts5YYMINORTYPE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))))))) }) (else_clause "else if (iVar7 == 0x3a) {\n          unaff_s2 = (fts5yyParser *)&DAT_00000005;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\n        else if (iVar7 < 0x3b) {\n          if (iVar7 == 0x2c) {\n            unaff_s2 = (fts5yyParser *)&DAT_0000000d;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else {\n            unaff_s2 = (fts5yyParser *)&DAT_00000006;\n            if (iVar7 != 0x2d) goto LAB_000b2abc;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n        }\n        else if (iVar7 == 0x7b) {\n          unaff_s2 = (fts5yyParser *)&DAT_00000007;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\n        else if (iVar7 == 0x7d) {\n          unaff_s2 = (fts5yyParser *)&DAT_00000008;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\n        else {\n          unaff_s2 = (fts5yyParser *)&DAT_0000000c;\n          if (iVar7 != 0x5e) goto LAB_000b2abc;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }" else (if_statement "if (iVar7 == 0x3a) {\n          unaff_s2 = (fts5yyParser *)&DAT_00000005;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\n        else if (iVar7 < 0x3b) {\n          if (iVar7 == 0x2c) {\n            unaff_s2 = (fts5yyParser *)&DAT_0000000d;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else {\n            unaff_s2 = (fts5yyParser *)&DAT_00000006;\n            if (iVar7 != 0x2d) goto LAB_000b2abc;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n        }\n        else if (iVar7 == 0x7b) {\n          unaff_s2 = (fts5yyParser *)&DAT_00000007;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\n        else if (iVar7 == 0x7d) {\n          unaff_s2 = (fts5yyParser *)&DAT_00000008;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\n        else {\n          unaff_s2 = (fts5yyParser *)&DAT_0000000c;\n          if (iVar7 != 0x5e) goto LAB_000b2abc;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }" if (parenthesized_expression "(iVar7 == 0x3a)" ( (binary_expression "iVar7 == 0x3a" identifier == number_literal) )) (compound_statement "{\n          unaff_s2 = (fts5yyParser *)&DAT_00000005;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }" { (expression_statement "unaff_s2 = (fts5yyParser *)&DAT_00000005;" (assignment_expression "unaff_s2 = (fts5yyParser *)&DAT_00000005" identifier = (cast_expression "(fts5yyParser *)&DAT_00000005" ( (type_descriptor "fts5yyParser *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000005" & identifier))) ;) (expression_statement "pfStack_110 = (fts5YYMINORTYPE *)0x1;" (assignment_expression "pfStack_110 = (fts5YYMINORTYPE *)0x1" identifier = (cast_expression "(fts5YYMINORTYPE *)0x1" ( (type_descriptor "fts5YYMINORTYPE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pfVar24 = (fts5YYMINORTYPE *)0x1;" (assignment_expression "pfVar24 = (fts5YYMINORTYPE *)0x1" identifier = (cast_expression "(fts5YYMINORTYPE *)0x1" ( (type_descriptor "fts5YYMINORTYPE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else if (iVar7 < 0x3b) {\n          if (iVar7 == 0x2c) {\n            unaff_s2 = (fts5yyParser *)&DAT_0000000d;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else {\n            unaff_s2 = (fts5yyParser *)&DAT_00000006;\n            if (iVar7 != 0x2d) goto LAB_000b2abc;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n        }\n        else if (iVar7 == 0x7b) {\n          unaff_s2 = (fts5yyParser *)&DAT_00000007;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\n        else if (iVar7 == 0x7d) {\n          unaff_s2 = (fts5yyParser *)&DAT_00000008;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\n        else {\n          unaff_s2 = (fts5yyParser *)&DAT_0000000c;\n          if (iVar7 != 0x5e) goto LAB_000b2abc;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }" else (if_statement "if (iVar7 < 0x3b) {\n          if (iVar7 == 0x2c) {\n            unaff_s2 = (fts5yyParser *)&DAT_0000000d;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else {\n            unaff_s2 = (fts5yyParser *)&DAT_00000006;\n            if (iVar7 != 0x2d) goto LAB_000b2abc;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n        }\n        else if (iVar7 == 0x7b) {\n          unaff_s2 = (fts5yyParser *)&DAT_00000007;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\n        else if (iVar7 == 0x7d) {\n          unaff_s2 = (fts5yyParser *)&DAT_00000008;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\n        else {\n          unaff_s2 = (fts5yyParser *)&DAT_0000000c;\n          if (iVar7 != 0x5e) goto LAB_000b2abc;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }" if (parenthesized_expression "(iVar7 < 0x3b)" ( (binary_expression "iVar7 < 0x3b" identifier < number_literal) )) (compound_statement "{\n          if (iVar7 == 0x2c) {\n            unaff_s2 = (fts5yyParser *)&DAT_0000000d;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else {\n            unaff_s2 = (fts5yyParser *)&DAT_00000006;\n            if (iVar7 != 0x2d) goto LAB_000b2abc;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n        }" { (if_statement "if (iVar7 == 0x2c) {\n            unaff_s2 = (fts5yyParser *)&DAT_0000000d;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }\n          else {\n            unaff_s2 = (fts5yyParser *)&DAT_00000006;\n            if (iVar7 != 0x2d) goto LAB_000b2abc;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }" if (parenthesized_expression "(iVar7 == 0x2c)" ( (binary_expression "iVar7 == 0x2c" identifier == number_literal) )) (compound_statement "{\n            unaff_s2 = (fts5yyParser *)&DAT_0000000d;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }" { (expression_statement "unaff_s2 = (fts5yyParser *)&DAT_0000000d;" (assignment_expression "unaff_s2 = (fts5yyParser *)&DAT_0000000d" identifier = (cast_expression "(fts5yyParser *)&DAT_0000000d" ( (type_descriptor "fts5yyParser *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_0000000d" & identifier))) ;) (expression_statement "pfStack_110 = (fts5YYMINORTYPE *)0x1;" (assignment_expression "pfStack_110 = (fts5YYMINORTYPE *)0x1" identifier = (cast_expression "(fts5YYMINORTYPE *)0x1" ( (type_descriptor "fts5YYMINORTYPE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pfVar24 = (fts5YYMINORTYPE *)0x1;" (assignment_expression "pfVar24 = (fts5YYMINORTYPE *)0x1" identifier = (cast_expression "(fts5YYMINORTYPE *)0x1" ( (type_descriptor "fts5YYMINORTYPE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n            unaff_s2 = (fts5yyParser *)&DAT_00000006;\n            if (iVar7 != 0x2d) goto LAB_000b2abc;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }" else (compound_statement "{\n            unaff_s2 = (fts5yyParser *)&DAT_00000006;\n            if (iVar7 != 0x2d) goto LAB_000b2abc;\n            pfStack_110 = (fts5YYMINORTYPE *)0x1;\n            pfVar24 = (fts5YYMINORTYPE *)0x1;\n          }" { (expression_statement "unaff_s2 = (fts5yyParser *)&DAT_00000006;" (assignment_expression "unaff_s2 = (fts5yyParser *)&DAT_00000006" identifier = (cast_expression "(fts5yyParser *)&DAT_00000006" ( (type_descriptor "fts5yyParser *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000006" & identifier))) ;) (if_statement "if (iVar7 != 0x2d) goto LAB_000b2abc;" if (parenthesized_expression "(iVar7 != 0x2d)" ( (binary_expression "iVar7 != 0x2d" identifier != number_literal) )) (goto_statement "goto LAB_000b2abc;" goto statement_identifier ;)) (expression_statement "pfStack_110 = (fts5YYMINORTYPE *)0x1;" (assignment_expression "pfStack_110 = (fts5YYMINORTYPE *)0x1" identifier = (cast_expression "(fts5YYMINORTYPE *)0x1" ( (type_descriptor "fts5YYMINORTYPE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pfVar24 = (fts5YYMINORTYPE *)0x1;" (assignment_expression "pfVar24 = (fts5YYMINORTYPE *)0x1" identifier = (cast_expression "(fts5YYMINORTYPE *)0x1" ( (type_descriptor "fts5YYMINORTYPE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) }) (else_clause "else if (iVar7 == 0x7b) {\n          unaff_s2 = (fts5yyParser *)&DAT_00000007;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\n        else if (iVar7 == 0x7d) {\n          unaff_s2 = (fts5yyParser *)&DAT_00000008;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\n        else {\n          unaff_s2 = (fts5yyParser *)&DAT_0000000c;\n          if (iVar7 != 0x5e) goto LAB_000b2abc;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }" else (if_statement "if (iVar7 == 0x7b) {\n          unaff_s2 = (fts5yyParser *)&DAT_00000007;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\n        else if (iVar7 == 0x7d) {\n          unaff_s2 = (fts5yyParser *)&DAT_00000008;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\n        else {\n          unaff_s2 = (fts5yyParser *)&DAT_0000000c;\n          if (iVar7 != 0x5e) goto LAB_000b2abc;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }" if (parenthesized_expression "(iVar7 == 0x7b)" ( (binary_expression "iVar7 == 0x7b" identifier == number_literal) )) (compound_statement "{\n          unaff_s2 = (fts5yyParser *)&DAT_00000007;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }" { (expression_statement "unaff_s2 = (fts5yyParser *)&DAT_00000007;" (assignment_expression "unaff_s2 = (fts5yyParser *)&DAT_00000007" identifier = (cast_expression "(fts5yyParser *)&DAT_00000007" ( (type_descriptor "fts5yyParser *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000007" & identifier))) ;) (expression_statement "pfStack_110 = (fts5YYMINORTYPE *)0x1;" (assignment_expression "pfStack_110 = (fts5YYMINORTYPE *)0x1" identifier = (cast_expression "(fts5YYMINORTYPE *)0x1" ( (type_descriptor "fts5YYMINORTYPE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pfVar24 = (fts5YYMINORTYPE *)0x1;" (assignment_expression "pfVar24 = (fts5YYMINORTYPE *)0x1" identifier = (cast_expression "(fts5YYMINORTYPE *)0x1" ( (type_descriptor "fts5YYMINORTYPE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else if (iVar7 == 0x7d) {\n          unaff_s2 = (fts5yyParser *)&DAT_00000008;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\n        else {\n          unaff_s2 = (fts5yyParser *)&DAT_0000000c;\n          if (iVar7 != 0x5e) goto LAB_000b2abc;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }" else (if_statement "if (iVar7 == 0x7d) {\n          unaff_s2 = (fts5yyParser *)&DAT_00000008;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }\n        else {\n          unaff_s2 = (fts5yyParser *)&DAT_0000000c;\n          if (iVar7 != 0x5e) goto LAB_000b2abc;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }" if (parenthesized_expression "(iVar7 == 0x7d)" ( (binary_expression "iVar7 == 0x7d" identifier == number_literal) )) (compound_statement "{\n          unaff_s2 = (fts5yyParser *)&DAT_00000008;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }" { (expression_statement "unaff_s2 = (fts5yyParser *)&DAT_00000008;" (assignment_expression "unaff_s2 = (fts5yyParser *)&DAT_00000008" identifier = (cast_expression "(fts5yyParser *)&DAT_00000008" ( (type_descriptor "fts5yyParser *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000008" & identifier))) ;) (expression_statement "pfStack_110 = (fts5YYMINORTYPE *)0x1;" (assignment_expression "pfStack_110 = (fts5YYMINORTYPE *)0x1" identifier = (cast_expression "(fts5YYMINORTYPE *)0x1" ( (type_descriptor "fts5YYMINORTYPE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pfVar24 = (fts5YYMINORTYPE *)0x1;" (assignment_expression "pfVar24 = (fts5YYMINORTYPE *)0x1" identifier = (cast_expression "(fts5YYMINORTYPE *)0x1" ( (type_descriptor "fts5YYMINORTYPE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n          unaff_s2 = (fts5yyParser *)&DAT_0000000c;\n          if (iVar7 != 0x5e) goto LAB_000b2abc;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }" else (compound_statement "{\n          unaff_s2 = (fts5yyParser *)&DAT_0000000c;\n          if (iVar7 != 0x5e) goto LAB_000b2abc;\n          pfStack_110 = (fts5YYMINORTYPE *)0x1;\n          pfVar24 = (fts5YYMINORTYPE *)0x1;\n        }" { (expression_statement "unaff_s2 = (fts5yyParser *)&DAT_0000000c;" (assignment_expression "unaff_s2 = (fts5yyParser *)&DAT_0000000c" identifier = (cast_expression "(fts5yyParser *)&DAT_0000000c" ( (type_descriptor "fts5yyParser *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_0000000c" & identifier))) ;) (if_statement "if (iVar7 != 0x5e) goto LAB_000b2abc;" if (parenthesized_expression "(iVar7 != 0x5e)" ( (binary_expression "iVar7 != 0x5e" identifier != number_literal) )) (goto_statement "goto LAB_000b2abc;" goto statement_identifier ;)) (expression_statement "pfStack_110 = (fts5YYMINORTYPE *)0x1;" (assignment_expression "pfStack_110 = (fts5YYMINORTYPE *)0x1" identifier = (cast_expression "(fts5YYMINORTYPE *)0x1" ( (type_descriptor "fts5YYMINORTYPE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pfVar24 = (fts5YYMINORTYPE *)0x1;" (assignment_expression "pfVar24 = (fts5YYMINORTYPE *)0x1" identifier = (cast_expression "(fts5YYMINORTYPE *)0x1" ( (type_descriptor "fts5YYMINORTYPE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))))))))))))) (labeled_statement "LAB_000b2b98:\n        pfStack_110 = (fts5YYMINORTYPE *)((int)unaff_s4 + (int)pfStack_110);" statement_identifier : (expression_statement "pfStack_110 = (fts5YYMINORTYPE *)((int)unaff_s4 + (int)pfStack_110);" (assignment_expression "pfStack_110 = (fts5YYMINORTYPE *)((int)unaff_s4 + (int)pfStack_110)" identifier = (cast_expression "(fts5YYMINORTYPE *)((int)unaff_s4 + (int)pfStack_110)" ( (type_descriptor "fts5YYMINORTYPE *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s4 + (int)pfStack_110)" ( (binary_expression "(int)unaff_s4 + (int)pfStack_110" (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pfStack_110" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;)) }))) (labeled_statement "LAB_000b2ba0:\n      unaff_s6 = PTR_DAT_0015b5fc;" statement_identifier : (expression_statement "unaff_s6 = PTR_DAT_0015b5fc;" (assignment_expression "unaff_s6 = PTR_DAT_0015b5fc" identifier = identifier) ;)) (expression_statement "unaff_s7 = fts5yypParser->fts5yytos;" (assignment_expression "unaff_s7 = fts5yypParser->fts5yytos" identifier = (field_expression "fts5yypParser->fts5yytos" identifier -> field_identifier)) ;) (expression_statement "puVar9 = PTR_DAT_0015b5fc + 0x4920;" (assignment_expression "puVar9 = PTR_DAT_0015b5fc + 0x4920" identifier = (binary_expression "PTR_DAT_0015b5fc + 0x4920" identifier + number_literal)) ;) (expression_statement "fts5yypParser->pParse = &sParse;" (assignment_expression "fts5yypParser->pParse = &sParse" (field_expression "fts5yypParser->pParse" identifier -> field_identifier) = (pointer_expression "&sParse" & identifier)) ;) (expression_statement "pFVar23 = (Fts5Config *)(uint)unaff_s7->stateno;" (assignment_expression "pFVar23 = (Fts5Config *)(uint)unaff_s7->stateno" identifier = (cast_expression "(Fts5Config *)(uint)unaff_s7->stateno" ( (type_descriptor "Fts5Config *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)unaff_s7->stateno" ( (type_descriptor "uint" type_identifier) ) (field_expression "unaff_s7->stateno" identifier -> field_identifier)))) ;) (expression_statement "puVar10 = PTR_DAT_0015b5fc + 0x48fc;" (assignment_expression "puVar10 = PTR_DAT_0015b5fc + 0x48fc" identifier = (binary_expression "PTR_DAT_0015b5fc + 0x48fc" identifier + number_literal)) ;) (do_statement "do {\n        pFVar4 = (Fts5ExprNode *)PTR_DAT_0015b5fc;\n        if ((Fts5Config *)&DAT_00000022 < pFVar23) goto joined_r0x000b33cc;\n        pfVar11 = (fts5yyStackEntry *)\n                  ((int)unaff_s2->fts5yystack + ((byte)puVar10[(int)pFVar23] - 8));\n        if ((fts5yyStackEntry *)0x78 < pfVar11) goto LAB_000b2c10;\n        while( true ) {\n          if ((fts5yyParser *)(uint)(byte)puVar9[(int)&pfVar11->stateno] == unaff_s2) {\n            pFVar23 = (Fts5Config *)(uint)(byte)(unaff_s6 + 0x499c)[(int)&pfVar11->stateno];\n            pFVar4 = (Fts5ExprNode *)PTR_DAT_0015b5fc;\n          }\n          else {\nLAB_000b2c10:\n            pFVar23 = (Fts5Config *)(uint)(byte)(puVar5 + 0x48c4)[(int)&pFVar23->db];\n            pFVar4 = (Fts5ExprNode *)PTR_DAT_0015b5fc;\n          }\njoined_r0x000b33cc:\n          PTR_DAT_0015b5fc = (undefined *)pFVar4;\n          if (pFVar23 < (Fts5Config *)0x53) {\n            if (pFVar23 < (Fts5Config *)0x50) {\n              fts5yypParser->fts5yytos = unaff_s7 + 1;\n              if (fts5yypParser->fts5yystackEnd < unaff_s7 + 1) {\n                fts5yypParser->fts5yytos = unaff_s7;\n                fts5yyStackOverflow(fts5yypParser);\n              }\n              else {\n                if ((Fts5Config *)&DAT_00000022 < pFVar23) {\n                  pFVar23 = (Fts5Config *)((uint)((int)&pFVar23->aPrefix + 3) & 0xff);\n                }\n                unaff_s7[1].stateno = (uchar)pFVar23;\n                unaff_s7[1].major = (uchar)unaff_s2;\n                unaff_s7[1].minor.fts5yy11 = (Fts5Colset *)unaff_s4;\n                unaff_s7[1].minor.fts5yy0.n = (int)pfVar24;\n              }\n            }\n            else if (pFVar23 == (Fts5Config *)0x51) {\n              fts5yypParser->fts5yytos = unaff_s7 + -1;\n              pfVar19 = (fts5YYMINORTYPE *)pFVar4;\n            }\n            else {\n              pFVar23 = (Fts5Config *)fts5yypParser->pParse;\n              pfVar22 = unaff_s4;\n              fts5yyminorunion.fts5yy11 = (Fts5Colset *)unaff_s4;\n              fts5yyminorunion.fts5yy0.n = (int)pfVar24;\n              (*pcVar15)(pFVar23,&pFVar4[-0x2d2].field_0x24);\n              pfVar19 = &fts5yyminorunion;\n              fts5yypParser->pParse = (Fts5Parse *)pFVar23;\n              fts5yy_destructor(unaff_s2,(uchar)pfVar19,pfVar24);\n              fts5yypminor = pfVar24;\n            }\n            goto LAB_000b2d18;\n          }\n          pppcVar3 = &pFVar23[-1].azCol;\n          pFVar23 = (Fts5Config *)((int)pppcVar3 + 1);\n          unaff_s5 = (int)(char)(unaff_s6 + 0x488c)[(int)&pFVar23->db];\n          if ((unaff_s5 != 0) || (unaff_s7 < fts5yypParser->fts5yystackEnd)) break;\n          fts5yyStackOverflow(fts5yypParser);\n          unaff_s7 = fts5yypParser->fts5yytos;\n          if (unaff_s7 <= unaff_s1) goto LAB_000b2d18;\n          pfVar11 = unaff_s2->fts5yystack + 3;\n          pFVar23 = (Fts5Config *)0x0;\n        }\n        if (pFVar23 < (Fts5Config *)0x1c) {\n                    /* WARNING: Could not emulate address calculation at 0x000b2c68 */\n                    /* WARNING: Treating indirect jump as call */\n          iVar7 = (*(code *)(&_gp + (int)pFVar4[0x59].apChild[(int)((int)pppcVar3 + -2)]))();\n          return iVar7;\n        }\n        fts5yypminor = (fts5YYMINORTYPE *)(unaff_s6 + 0x499c);\n        bVar1 = unaff_s7[unaff_s5].stateno;\n        pfVar11 = unaff_s7 + unaff_s5 + 1;\n        bVar2 = *(byte *)((int)((Fts5ExprNode *)(pFVar4[0x1d1].apChild + -8))->apChild +\n                         (int)pppcVar3 + -0x1f);\n        fts5yypParser->fts5yytos = pfVar11;\n        pfVar11->major = bVar2;\n        bVar1 = *(byte *)((uint)bVar2 + (int)*(char *)((int)pFVar4[0x1d2].apChild + (bVar1 - 8)) +\n                         (int)fts5yypminor);\n        pFVar23 = (Fts5Config *)(uint)bVar1;\n        pfVar11->stateno = bVar1;\n        unaff_s7 = fts5yypParser->fts5yytos;\n        pfVar19 = (fts5YYMINORTYPE *)pFVar4;\n      } while (unaff_s1 < unaff_s7);" do (compound_statement "{\n        pFVar4 = (Fts5ExprNode *)PTR_DAT_0015b5fc;\n        if ((Fts5Config *)&DAT_00000022 < pFVar23) goto joined_r0x000b33cc;\n        pfVar11 = (fts5yyStackEntry *)\n                  ((int)unaff_s2->fts5yystack + ((byte)puVar10[(int)pFVar23] - 8));\n        if ((fts5yyStackEntry *)0x78 < pfVar11) goto LAB_000b2c10;\n        while( true ) {\n          if ((fts5yyParser *)(uint)(byte)puVar9[(int)&pfVar11->stateno] == unaff_s2) {\n            pFVar23 = (Fts5Config *)(uint)(byte)(unaff_s6 + 0x499c)[(int)&pfVar11->stateno];\n            pFVar4 = (Fts5ExprNode *)PTR_DAT_0015b5fc;\n          }\n          else {\nLAB_000b2c10:\n            pFVar23 = (Fts5Config *)(uint)(byte)(puVar5 + 0x48c4)[(int)&pFVar23->db];\n            pFVar4 = (Fts5ExprNode *)PTR_DAT_0015b5fc;\n          }\njoined_r0x000b33cc:\n          PTR_DAT_0015b5fc = (undefined *)pFVar4;\n          if (pFVar23 < (Fts5Config *)0x53) {\n            if (pFVar23 < (Fts5Config *)0x50) {\n              fts5yypParser->fts5yytos = unaff_s7 + 1;\n              if (fts5yypParser->fts5yystackEnd < unaff_s7 + 1) {\n                fts5yypParser->fts5yytos = unaff_s7;\n                fts5yyStackOverflow(fts5yypParser);\n              }\n              else {\n                if ((Fts5Config *)&DAT_00000022 < pFVar23) {\n                  pFVar23 = (Fts5Config *)((uint)((int)&pFVar23->aPrefix + 3) & 0xff);\n                }\n                unaff_s7[1].stateno = (uchar)pFVar23;\n                unaff_s7[1].major = (uchar)unaff_s2;\n                unaff_s7[1].minor.fts5yy11 = (Fts5Colset *)unaff_s4;\n                unaff_s7[1].minor.fts5yy0.n = (int)pfVar24;\n              }\n            }\n            else if (pFVar23 == (Fts5Config *)0x51) {\n              fts5yypParser->fts5yytos = unaff_s7 + -1;\n              pfVar19 = (fts5YYMINORTYPE *)pFVar4;\n            }\n            else {\n              pFVar23 = (Fts5Config *)fts5yypParser->pParse;\n              pfVar22 = unaff_s4;\n              fts5yyminorunion.fts5yy11 = (Fts5Colset *)unaff_s4;\n              fts5yyminorunion.fts5yy0.n = (int)pfVar24;\n              (*pcVar15)(pFVar23,&pFVar4[-0x2d2].field_0x24);\n              pfVar19 = &fts5yyminorunion;\n              fts5yypParser->pParse = (Fts5Parse *)pFVar23;\n              fts5yy_destructor(unaff_s2,(uchar)pfVar19,pfVar24);\n              fts5yypminor = pfVar24;\n            }\n            goto LAB_000b2d18;\n          }\n          pppcVar3 = &pFVar23[-1].azCol;\n          pFVar23 = (Fts5Config *)((int)pppcVar3 + 1);\n          unaff_s5 = (int)(char)(unaff_s6 + 0x488c)[(int)&pFVar23->db];\n          if ((unaff_s5 != 0) || (unaff_s7 < fts5yypParser->fts5yystackEnd)) break;\n          fts5yyStackOverflow(fts5yypParser);\n          unaff_s7 = fts5yypParser->fts5yytos;\n          if (unaff_s7 <= unaff_s1) goto LAB_000b2d18;\n          pfVar11 = unaff_s2->fts5yystack + 3;\n          pFVar23 = (Fts5Config *)0x0;\n        }\n        if (pFVar23 < (Fts5Config *)0x1c) {\n                    /* WARNING: Could not emulate address calculation at 0x000b2c68 */\n                    /* WARNING: Treating indirect jump as call */\n          iVar7 = (*(code *)(&_gp + (int)pFVar4[0x59].apChild[(int)((int)pppcVar3 + -2)]))();\n          return iVar7;\n        }\n        fts5yypminor = (fts5YYMINORTYPE *)(unaff_s6 + 0x499c);\n        bVar1 = unaff_s7[unaff_s5].stateno;\n        pfVar11 = unaff_s7 + unaff_s5 + 1;\n        bVar2 = *(byte *)((int)((Fts5ExprNode *)(pFVar4[0x1d1].apChild + -8))->apChild +\n                         (int)pppcVar3 + -0x1f);\n        fts5yypParser->fts5yytos = pfVar11;\n        pfVar11->major = bVar2;\n        bVar1 = *(byte *)((uint)bVar2 + (int)*(char *)((int)pFVar4[0x1d2].apChild + (bVar1 - 8)) +\n                         (int)fts5yypminor);\n        pFVar23 = (Fts5Config *)(uint)bVar1;\n        pfVar11->stateno = bVar1;\n        unaff_s7 = fts5yypParser->fts5yytos;\n        pfVar19 = (fts5YYMINORTYPE *)pFVar4;\n      }" { (expression_statement "pFVar4 = (Fts5ExprNode *)PTR_DAT_0015b5fc;" (assignment_expression "pFVar4 = (Fts5ExprNode *)PTR_DAT_0015b5fc" identifier = (cast_expression "(Fts5ExprNode *)PTR_DAT_0015b5fc" ( (type_descriptor "Fts5ExprNode *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if ((Fts5Config *)&DAT_00000022 < pFVar23) goto joined_r0x000b33cc;" if (parenthesized_expression "((Fts5Config *)&DAT_00000022 < pFVar23)" ( (binary_expression "(Fts5Config *)&DAT_00000022 < pFVar23" (cast_expression "(Fts5Config *)&DAT_00000022" ( (type_descriptor "Fts5Config *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000022" & identifier)) < identifier) )) (goto_statement "goto joined_r0x000b33cc;" goto statement_identifier ;)) (expression_statement "pfVar11 = (fts5yyStackEntry *)\n                  ((int)unaff_s2->fts5yystack + ((byte)puVar10[(int)pFVar23] - 8));" (assignment_expression "pfVar11 = (fts5yyStackEntry *)\n                  ((int)unaff_s2->fts5yystack + ((byte)puVar10[(int)pFVar23] - 8))" identifier = (cast_expression "(fts5yyStackEntry *)\n                  ((int)unaff_s2->fts5yystack + ((byte)puVar10[(int)pFVar23] - 8))" ( (type_descriptor "fts5yyStackEntry *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s2->fts5yystack + ((byte)puVar10[(int)pFVar23] - 8))" ( (binary_expression "(int)unaff_s2->fts5yystack + ((byte)puVar10[(int)pFVar23] - 8)" (cast_expression "(int)unaff_s2->fts5yystack" ( (type_descriptor "int" primitive_type) ) (field_expression "unaff_s2->fts5yystack" identifier -> field_identifier)) + (parenthesized_expression "((byte)puVar10[(int)pFVar23] - 8)" ( (binary_expression "(byte)puVar10[(int)pFVar23] - 8" (cast_expression "(byte)puVar10[(int)pFVar23]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar10[(int)pFVar23]" identifier [ (cast_expression "(int)pFVar23" ( (type_descriptor "int" primitive_type) ) identifier) ])) - number_literal) ))) )))) ;) (if_statement "if ((fts5yyStackEntry *)0x78 < pfVar11) goto LAB_000b2c10;" if (parenthesized_expression "((fts5yyStackEntry *)0x78 < pfVar11)" ( (binary_expression "(fts5yyStackEntry *)0x78 < pfVar11" (cast_expression "(fts5yyStackEntry *)0x78" ( (type_descriptor "fts5yyStackEntry *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < identifier) )) (goto_statement "goto LAB_000b2c10;" goto statement_identifier ;)) (while_statement "while( true ) {\n          if ((fts5yyParser *)(uint)(byte)puVar9[(int)&pfVar11->stateno] == unaff_s2) {\n            pFVar23 = (Fts5Config *)(uint)(byte)(unaff_s6 + 0x499c)[(int)&pfVar11->stateno];\n            pFVar4 = (Fts5ExprNode *)PTR_DAT_0015b5fc;\n          }\n          else {\nLAB_000b2c10:\n            pFVar23 = (Fts5Config *)(uint)(byte)(puVar5 + 0x48c4)[(int)&pFVar23->db];\n            pFVar4 = (Fts5ExprNode *)PTR_DAT_0015b5fc;\n          }\njoined_r0x000b33cc:\n          PTR_DAT_0015b5fc = (undefined *)pFVar4;\n          if (pFVar23 < (Fts5Config *)0x53) {\n            if (pFVar23 < (Fts5Config *)0x50) {\n              fts5yypParser->fts5yytos = unaff_s7 + 1;\n              if (fts5yypParser->fts5yystackEnd < unaff_s7 + 1) {\n                fts5yypParser->fts5yytos = unaff_s7;\n                fts5yyStackOverflow(fts5yypParser);\n              }\n              else {\n                if ((Fts5Config *)&DAT_00000022 < pFVar23) {\n                  pFVar23 = (Fts5Config *)((uint)((int)&pFVar23->aPrefix + 3) & 0xff);\n                }\n                unaff_s7[1].stateno = (uchar)pFVar23;\n                unaff_s7[1].major = (uchar)unaff_s2;\n                unaff_s7[1].minor.fts5yy11 = (Fts5Colset *)unaff_s4;\n                unaff_s7[1].minor.fts5yy0.n = (int)pfVar24;\n              }\n            }\n            else if (pFVar23 == (Fts5Config *)0x51) {\n              fts5yypParser->fts5yytos = unaff_s7 + -1;\n              pfVar19 = (fts5YYMINORTYPE *)pFVar4;\n            }\n            else {\n              pFVar23 = (Fts5Config *)fts5yypParser->pParse;\n              pfVar22 = unaff_s4;\n              fts5yyminorunion.fts5yy11 = (Fts5Colset *)unaff_s4;\n              fts5yyminorunion.fts5yy0.n = (int)pfVar24;\n              (*pcVar15)(pFVar23,&pFVar4[-0x2d2].field_0x24);\n              pfVar19 = &fts5yyminorunion;\n              fts5yypParser->pParse = (Fts5Parse *)pFVar23;\n              fts5yy_destructor(unaff_s2,(uchar)pfVar19,pfVar24);\n              fts5yypminor = pfVar24;\n            }\n            goto LAB_000b2d18;\n          }\n          pppcVar3 = &pFVar23[-1].azCol;\n          pFVar23 = (Fts5Config *)((int)pppcVar3 + 1);\n          unaff_s5 = (int)(char)(unaff_s6 + 0x488c)[(int)&pFVar23->db];\n          if ((unaff_s5 != 0) || (unaff_s7 < fts5yypParser->fts5yystackEnd)) break;\n          fts5yyStackOverflow(fts5yypParser);\n          unaff_s7 = fts5yypParser->fts5yytos;\n          if (unaff_s7 <= unaff_s1) goto LAB_000b2d18;\n          pfVar11 = unaff_s2->fts5yystack + 3;\n          pFVar23 = (Fts5Config *)0x0;\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          if ((fts5yyParser *)(uint)(byte)puVar9[(int)&pfVar11->stateno] == unaff_s2) {\n            pFVar23 = (Fts5Config *)(uint)(byte)(unaff_s6 + 0x499c)[(int)&pfVar11->stateno];\n            pFVar4 = (Fts5ExprNode *)PTR_DAT_0015b5fc;\n          }\n          else {\nLAB_000b2c10:\n            pFVar23 = (Fts5Config *)(uint)(byte)(puVar5 + 0x48c4)[(int)&pFVar23->db];\n            pFVar4 = (Fts5ExprNode *)PTR_DAT_0015b5fc;\n          }\njoined_r0x000b33cc:\n          PTR_DAT_0015b5fc = (undefined *)pFVar4;\n          if (pFVar23 < (Fts5Config *)0x53) {\n            if (pFVar23 < (Fts5Config *)0x50) {\n              fts5yypParser->fts5yytos = unaff_s7 + 1;\n              if (fts5yypParser->fts5yystackEnd < unaff_s7 + 1) {\n                fts5yypParser->fts5yytos = unaff_s7;\n                fts5yyStackOverflow(fts5yypParser);\n              }\n              else {\n                if ((Fts5Config *)&DAT_00000022 < pFVar23) {\n                  pFVar23 = (Fts5Config *)((uint)((int)&pFVar23->aPrefix + 3) & 0xff);\n                }\n                unaff_s7[1].stateno = (uchar)pFVar23;\n                unaff_s7[1].major = (uchar)unaff_s2;\n                unaff_s7[1].minor.fts5yy11 = (Fts5Colset *)unaff_s4;\n                unaff_s7[1].minor.fts5yy0.n = (int)pfVar24;\n              }\n            }\n            else if (pFVar23 == (Fts5Config *)0x51) {\n              fts5yypParser->fts5yytos = unaff_s7 + -1;\n              pfVar19 = (fts5YYMINORTYPE *)pFVar4;\n            }\n            else {\n              pFVar23 = (Fts5Config *)fts5yypParser->pParse;\n              pfVar22 = unaff_s4;\n              fts5yyminorunion.fts5yy11 = (Fts5Colset *)unaff_s4;\n              fts5yyminorunion.fts5yy0.n = (int)pfVar24;\n              (*pcVar15)(pFVar23,&pFVar4[-0x2d2].field_0x24);\n              pfVar19 = &fts5yyminorunion;\n              fts5yypParser->pParse = (Fts5Parse *)pFVar23;\n              fts5yy_destructor(unaff_s2,(uchar)pfVar19,pfVar24);\n              fts5yypminor = pfVar24;\n            }\n            goto LAB_000b2d18;\n          }\n          pppcVar3 = &pFVar23[-1].azCol;\n          pFVar23 = (Fts5Config *)((int)pppcVar3 + 1);\n          unaff_s5 = (int)(char)(unaff_s6 + 0x488c)[(int)&pFVar23->db];\n          if ((unaff_s5 != 0) || (unaff_s7 < fts5yypParser->fts5yystackEnd)) break;\n          fts5yyStackOverflow(fts5yypParser);\n          unaff_s7 = fts5yypParser->fts5yytos;\n          if (unaff_s7 <= unaff_s1) goto LAB_000b2d18;\n          pfVar11 = unaff_s2->fts5yystack + 3;\n          pFVar23 = (Fts5Config *)0x0;\n        }" { (if_statement "if ((fts5yyParser *)(uint)(byte)puVar9[(int)&pfVar11->stateno] == unaff_s2) {\n            pFVar23 = (Fts5Config *)(uint)(byte)(unaff_s6 + 0x499c)[(int)&pfVar11->stateno];\n            pFVar4 = (Fts5ExprNode *)PTR_DAT_0015b5fc;\n          }\n          else {\nLAB_000b2c10:\n            pFVar23 = (Fts5Config *)(uint)(byte)(puVar5 + 0x48c4)[(int)&pFVar23->db];\n            pFVar4 = (Fts5ExprNode *)PTR_DAT_0015b5fc;\n          }" if (parenthesized_expression "((fts5yyParser *)(uint)(byte)puVar9[(int)&pfVar11->stateno] == unaff_s2)" ( (binary_expression "(fts5yyParser *)(uint)(byte)puVar9[(int)&pfVar11->stateno] == unaff_s2" (cast_expression "(fts5yyParser *)(uint)(byte)puVar9[(int)&pfVar11->stateno]" ( (type_descriptor "fts5yyParser *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)(byte)puVar9[(int)&pfVar11->stateno]" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(byte)puVar9[(int)&pfVar11->stateno]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar9[(int)&pfVar11->stateno]" identifier [ (cast_expression "(int)&pfVar11->stateno" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pfVar11->stateno" & (field_expression "pfVar11->stateno" identifier -> field_identifier))) ])))) == identifier) )) (compound_statement "{\n            pFVar23 = (Fts5Config *)(uint)(byte)(unaff_s6 + 0x499c)[(int)&pfVar11->stateno];\n            pFVar4 = (Fts5ExprNode *)PTR_DAT_0015b5fc;\n          }" { (expression_statement "pFVar23 = (Fts5Config *)(uint)(byte)(unaff_s6 + 0x499c)[(int)&pfVar11->stateno];" (assignment_expression "pFVar23 = (Fts5Config *)(uint)(byte)(unaff_s6 + 0x499c)[(int)&pfVar11->stateno]" identifier = (cast_expression "(Fts5Config *)(uint)(byte)(unaff_s6 + 0x499c)[(int)&pfVar11->stateno]" ( (type_descriptor "Fts5Config *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "(uint)(byte)(unaff_s6 + 0x499c)[(int)&pfVar11->stateno]" (call_expression "(uint)(byte)(unaff_s6 + 0x499c)" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "(unaff_s6 + 0x499c)" ( (binary_expression "unaff_s6 + 0x499c" identifier + number_literal) ))) [ (cast_expression "(int)&pfVar11->stateno" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pfVar11->stateno" & (field_expression "pfVar11->stateno" identifier -> field_identifier))) ]))) ;) (expression_statement "pFVar4 = (Fts5ExprNode *)PTR_DAT_0015b5fc;" (assignment_expression "pFVar4 = (Fts5ExprNode *)PTR_DAT_0015b5fc" identifier = (cast_expression "(Fts5ExprNode *)PTR_DAT_0015b5fc" ( (type_descriptor "Fts5ExprNode *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) }) (else_clause "else {\nLAB_000b2c10:\n            pFVar23 = (Fts5Config *)(uint)(byte)(puVar5 + 0x48c4)[(int)&pFVar23->db];\n            pFVar4 = (Fts5ExprNode *)PTR_DAT_0015b5fc;\n          }" else (compound_statement "{\nLAB_000b2c10:\n            pFVar23 = (Fts5Config *)(uint)(byte)(puVar5 + 0x48c4)[(int)&pFVar23->db];\n            pFVar4 = (Fts5ExprNode *)PTR_DAT_0015b5fc;\n          }" { (labeled_statement "LAB_000b2c10:\n            pFVar23 = (Fts5Config *)(uint)(byte)(puVar5 + 0x48c4)[(int)&pFVar23->db];" statement_identifier : (expression_statement "pFVar23 = (Fts5Config *)(uint)(byte)(puVar5 + 0x48c4)[(int)&pFVar23->db];" (assignment_expression "pFVar23 = (Fts5Config *)(uint)(byte)(puVar5 + 0x48c4)[(int)&pFVar23->db]" identifier = (cast_expression "(Fts5Config *)(uint)(byte)(puVar5 + 0x48c4)[(int)&pFVar23->db]" ( (type_descriptor "Fts5Config *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "(uint)(byte)(puVar5 + 0x48c4)[(int)&pFVar23->db]" (call_expression "(uint)(byte)(puVar5 + 0x48c4)" (call_expression "(uint)(byte)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(byte)" ( identifier ))) (argument_list "(puVar5 + 0x48c4)" ( (binary_expression "puVar5 + 0x48c4" identifier + number_literal) ))) [ (cast_expression "(int)&pFVar23->db" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pFVar23->db" & (field_expression "pFVar23->db" identifier -> field_identifier))) ]))) ;)) (expression_statement "pFVar4 = (Fts5ExprNode *)PTR_DAT_0015b5fc;" (assignment_expression "pFVar4 = (Fts5ExprNode *)PTR_DAT_0015b5fc" identifier = (cast_expression "(Fts5ExprNode *)PTR_DAT_0015b5fc" ( (type_descriptor "Fts5ExprNode *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) }))) (labeled_statement "joined_r0x000b33cc:\n          PTR_DAT_0015b5fc = (undefined *)pFVar4;" statement_identifier : (expression_statement "PTR_DAT_0015b5fc = (undefined *)pFVar4;" (assignment_expression "PTR_DAT_0015b5fc = (undefined *)pFVar4" identifier = (cast_expression "(undefined *)pFVar4" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (if_statement "if (pFVar23 < (Fts5Config *)0x53) {\n            if (pFVar23 < (Fts5Config *)0x50) {\n              fts5yypParser->fts5yytos = unaff_s7 + 1;\n              if (fts5yypParser->fts5yystackEnd < unaff_s7 + 1) {\n                fts5yypParser->fts5yytos = unaff_s7;\n                fts5yyStackOverflow(fts5yypParser);\n              }\n              else {\n                if ((Fts5Config *)&DAT_00000022 < pFVar23) {\n                  pFVar23 = (Fts5Config *)((uint)((int)&pFVar23->aPrefix + 3) & 0xff);\n                }\n                unaff_s7[1].stateno = (uchar)pFVar23;\n                unaff_s7[1].major = (uchar)unaff_s2;\n                unaff_s7[1].minor.fts5yy11 = (Fts5Colset *)unaff_s4;\n                unaff_s7[1].minor.fts5yy0.n = (int)pfVar24;\n              }\n            }\n            else if (pFVar23 == (Fts5Config *)0x51) {\n              fts5yypParser->fts5yytos = unaff_s7 + -1;\n              pfVar19 = (fts5YYMINORTYPE *)pFVar4;\n            }\n            else {\n              pFVar23 = (Fts5Config *)fts5yypParser->pParse;\n              pfVar22 = unaff_s4;\n              fts5yyminorunion.fts5yy11 = (Fts5Colset *)unaff_s4;\n              fts5yyminorunion.fts5yy0.n = (int)pfVar24;\n              (*pcVar15)(pFVar23,&pFVar4[-0x2d2].field_0x24);\n              pfVar19 = &fts5yyminorunion;\n              fts5yypParser->pParse = (Fts5Parse *)pFVar23;\n              fts5yy_destructor(unaff_s2,(uchar)pfVar19,pfVar24);\n              fts5yypminor = pfVar24;\n            }\n            goto LAB_000b2d18;\n          }" if (parenthesized_expression "(pFVar23 < (Fts5Config *)0x53)" ( (binary_expression "pFVar23 < (Fts5Config *)0x53" identifier < (cast_expression "(Fts5Config *)0x53" ( (type_descriptor "Fts5Config *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            if (pFVar23 < (Fts5Config *)0x50) {\n              fts5yypParser->fts5yytos = unaff_s7 + 1;\n              if (fts5yypParser->fts5yystackEnd < unaff_s7 + 1) {\n                fts5yypParser->fts5yytos = unaff_s7;\n                fts5yyStackOverflow(fts5yypParser);\n              }\n              else {\n                if ((Fts5Config *)&DAT_00000022 < pFVar23) {\n                  pFVar23 = (Fts5Config *)((uint)((int)&pFVar23->aPrefix + 3) & 0xff);\n                }\n                unaff_s7[1].stateno = (uchar)pFVar23;\n                unaff_s7[1].major = (uchar)unaff_s2;\n                unaff_s7[1].minor.fts5yy11 = (Fts5Colset *)unaff_s4;\n                unaff_s7[1].minor.fts5yy0.n = (int)pfVar24;\n              }\n            }\n            else if (pFVar23 == (Fts5Config *)0x51) {\n              fts5yypParser->fts5yytos = unaff_s7 + -1;\n              pfVar19 = (fts5YYMINORTYPE *)pFVar4;\n            }\n            else {\n              pFVar23 = (Fts5Config *)fts5yypParser->pParse;\n              pfVar22 = unaff_s4;\n              fts5yyminorunion.fts5yy11 = (Fts5Colset *)unaff_s4;\n              fts5yyminorunion.fts5yy0.n = (int)pfVar24;\n              (*pcVar15)(pFVar23,&pFVar4[-0x2d2].field_0x24);\n              pfVar19 = &fts5yyminorunion;\n              fts5yypParser->pParse = (Fts5Parse *)pFVar23;\n              fts5yy_destructor(unaff_s2,(uchar)pfVar19,pfVar24);\n              fts5yypminor = pfVar24;\n            }\n            goto LAB_000b2d18;\n          }" { (if_statement "if (pFVar23 < (Fts5Config *)0x50) {\n              fts5yypParser->fts5yytos = unaff_s7 + 1;\n              if (fts5yypParser->fts5yystackEnd < unaff_s7 + 1) {\n                fts5yypParser->fts5yytos = unaff_s7;\n                fts5yyStackOverflow(fts5yypParser);\n              }\n              else {\n                if ((Fts5Config *)&DAT_00000022 < pFVar23) {\n                  pFVar23 = (Fts5Config *)((uint)((int)&pFVar23->aPrefix + 3) & 0xff);\n                }\n                unaff_s7[1].stateno = (uchar)pFVar23;\n                unaff_s7[1].major = (uchar)unaff_s2;\n                unaff_s7[1].minor.fts5yy11 = (Fts5Colset *)unaff_s4;\n                unaff_s7[1].minor.fts5yy0.n = (int)pfVar24;\n              }\n            }\n            else if (pFVar23 == (Fts5Config *)0x51) {\n              fts5yypParser->fts5yytos = unaff_s7 + -1;\n              pfVar19 = (fts5YYMINORTYPE *)pFVar4;\n            }\n            else {\n              pFVar23 = (Fts5Config *)fts5yypParser->pParse;\n              pfVar22 = unaff_s4;\n              fts5yyminorunion.fts5yy11 = (Fts5Colset *)unaff_s4;\n              fts5yyminorunion.fts5yy0.n = (int)pfVar24;\n              (*pcVar15)(pFVar23,&pFVar4[-0x2d2].field_0x24);\n              pfVar19 = &fts5yyminorunion;\n              fts5yypParser->pParse = (Fts5Parse *)pFVar23;\n              fts5yy_destructor(unaff_s2,(uchar)pfVar19,pfVar24);\n              fts5yypminor = pfVar24;\n            }" if (parenthesized_expression "(pFVar23 < (Fts5Config *)0x50)" ( (binary_expression "pFVar23 < (Fts5Config *)0x50" identifier < (cast_expression "(Fts5Config *)0x50" ( (type_descriptor "Fts5Config *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              fts5yypParser->fts5yytos = unaff_s7 + 1;\n              if (fts5yypParser->fts5yystackEnd < unaff_s7 + 1) {\n                fts5yypParser->fts5yytos = unaff_s7;\n                fts5yyStackOverflow(fts5yypParser);\n              }\n              else {\n                if ((Fts5Config *)&DAT_00000022 < pFVar23) {\n                  pFVar23 = (Fts5Config *)((uint)((int)&pFVar23->aPrefix + 3) & 0xff);\n                }\n                unaff_s7[1].stateno = (uchar)pFVar23;\n                unaff_s7[1].major = (uchar)unaff_s2;\n                unaff_s7[1].minor.fts5yy11 = (Fts5Colset *)unaff_s4;\n                unaff_s7[1].minor.fts5yy0.n = (int)pfVar24;\n              }\n            }" { (expression_statement "fts5yypParser->fts5yytos = unaff_s7 + 1;" (assignment_expression "fts5yypParser->fts5yytos = unaff_s7 + 1" (field_expression "fts5yypParser->fts5yytos" identifier -> field_identifier) = (binary_expression "unaff_s7 + 1" identifier + number_literal)) ;) (if_statement "if (fts5yypParser->fts5yystackEnd < unaff_s7 + 1) {\n                fts5yypParser->fts5yytos = unaff_s7;\n                fts5yyStackOverflow(fts5yypParser);\n              }\n              else {\n                if ((Fts5Config *)&DAT_00000022 < pFVar23) {\n                  pFVar23 = (Fts5Config *)((uint)((int)&pFVar23->aPrefix + 3) & 0xff);\n                }\n                unaff_s7[1].stateno = (uchar)pFVar23;\n                unaff_s7[1].major = (uchar)unaff_s2;\n                unaff_s7[1].minor.fts5yy11 = (Fts5Colset *)unaff_s4;\n                unaff_s7[1].minor.fts5yy0.n = (int)pfVar24;\n              }" if (parenthesized_expression "(fts5yypParser->fts5yystackEnd < unaff_s7 + 1)" ( (binary_expression "fts5yypParser->fts5yystackEnd < unaff_s7 + 1" (field_expression "fts5yypParser->fts5yystackEnd" identifier -> field_identifier) < (binary_expression "unaff_s7 + 1" identifier + number_literal)) )) (compound_statement "{\n                fts5yypParser->fts5yytos = unaff_s7;\n                fts5yyStackOverflow(fts5yypParser);\n              }" { (expression_statement "fts5yypParser->fts5yytos = unaff_s7;" (assignment_expression "fts5yypParser->fts5yytos = unaff_s7" (field_expression "fts5yypParser->fts5yytos" identifier -> field_identifier) = identifier) ;) (expression_statement "fts5yyStackOverflow(fts5yypParser);" (call_expression "fts5yyStackOverflow(fts5yypParser)" identifier (argument_list "(fts5yypParser)" ( identifier ))) ;) }) (else_clause "else {\n                if ((Fts5Config *)&DAT_00000022 < pFVar23) {\n                  pFVar23 = (Fts5Config *)((uint)((int)&pFVar23->aPrefix + 3) & 0xff);\n                }\n                unaff_s7[1].stateno = (uchar)pFVar23;\n                unaff_s7[1].major = (uchar)unaff_s2;\n                unaff_s7[1].minor.fts5yy11 = (Fts5Colset *)unaff_s4;\n                unaff_s7[1].minor.fts5yy0.n = (int)pfVar24;\n              }" else (compound_statement "{\n                if ((Fts5Config *)&DAT_00000022 < pFVar23) {\n                  pFVar23 = (Fts5Config *)((uint)((int)&pFVar23->aPrefix + 3) & 0xff);\n                }\n                unaff_s7[1].stateno = (uchar)pFVar23;\n                unaff_s7[1].major = (uchar)unaff_s2;\n                unaff_s7[1].minor.fts5yy11 = (Fts5Colset *)unaff_s4;\n                unaff_s7[1].minor.fts5yy0.n = (int)pfVar24;\n              }" { (if_statement "if ((Fts5Config *)&DAT_00000022 < pFVar23) {\n                  pFVar23 = (Fts5Config *)((uint)((int)&pFVar23->aPrefix + 3) & 0xff);\n                }" if (parenthesized_expression "((Fts5Config *)&DAT_00000022 < pFVar23)" ( (binary_expression "(Fts5Config *)&DAT_00000022 < pFVar23" (cast_expression "(Fts5Config *)&DAT_00000022" ( (type_descriptor "Fts5Config *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000022" & identifier)) < identifier) )) (compound_statement "{\n                  pFVar23 = (Fts5Config *)((uint)((int)&pFVar23->aPrefix + 3) & 0xff);\n                }" { (expression_statement "pFVar23 = (Fts5Config *)((uint)((int)&pFVar23->aPrefix + 3) & 0xff);" (assignment_expression "pFVar23 = (Fts5Config *)((uint)((int)&pFVar23->aPrefix + 3) & 0xff)" identifier = (cast_expression "(Fts5Config *)((uint)((int)&pFVar23->aPrefix + 3) & 0xff)" ( (type_descriptor "Fts5Config *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)((int)&pFVar23->aPrefix + 3) & 0xff)" ( (binary_expression "(uint)((int)&pFVar23->aPrefix + 3) & 0xff" (call_expression "(uint)((int)&pFVar23->aPrefix + 3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)&pFVar23->aPrefix + 3)" ( (binary_expression "(int)&pFVar23->aPrefix + 3" (cast_expression "(int)&pFVar23->aPrefix" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pFVar23->aPrefix" & (field_expression "pFVar23->aPrefix" identifier -> field_identifier))) + number_literal) ))) & number_literal) )))) ;) })) (expression_statement "unaff_s7[1].stateno = (uchar)pFVar23;" (assignment_expression "unaff_s7[1].stateno = (uchar)pFVar23" (field_expression "unaff_s7[1].stateno" (subscript_expression "unaff_s7[1]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(uchar)pFVar23" ( (type_descriptor "uchar" type_identifier) ) identifier)) ;) (expression_statement "unaff_s7[1].major = (uchar)unaff_s2;" (assignment_expression "unaff_s7[1].major = (uchar)unaff_s2" (field_expression "unaff_s7[1].major" (subscript_expression "unaff_s7[1]" identifier [ number_literal ]) . field_identifier) = (cast_expression "(uchar)unaff_s2" ( (type_descriptor "uchar" type_identifier) ) identifier)) ;) (expression_statement "unaff_s7[1].minor.fts5yy11 = (Fts5Colset *)unaff_s4;" (assignment_expression "unaff_s7[1].minor.fts5yy11 = (Fts5Colset *)unaff_s4" (field_expression "unaff_s7[1].minor.fts5yy11" (field_expression "unaff_s7[1].minor" (subscript_expression "unaff_s7[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) = (cast_expression "(Fts5Colset *)unaff_s4" ( (type_descriptor "Fts5Colset *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "unaff_s7[1].minor.fts5yy0.n = (int)pfVar24;" (assignment_expression "unaff_s7[1].minor.fts5yy0.n = (int)pfVar24" (field_expression "unaff_s7[1].minor.fts5yy0.n" (field_expression "unaff_s7[1].minor.fts5yy0" (field_expression "unaff_s7[1].minor" (subscript_expression "unaff_s7[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(int)pfVar24" ( (type_descriptor "int" primitive_type) ) identifier)) ;) }))) }) (else_clause "else if (pFVar23 == (Fts5Config *)0x51) {\n              fts5yypParser->fts5yytos = unaff_s7 + -1;\n              pfVar19 = (fts5YYMINORTYPE *)pFVar4;\n            }\n            else {\n              pFVar23 = (Fts5Config *)fts5yypParser->pParse;\n              pfVar22 = unaff_s4;\n              fts5yyminorunion.fts5yy11 = (Fts5Colset *)unaff_s4;\n              fts5yyminorunion.fts5yy0.n = (int)pfVar24;\n              (*pcVar15)(pFVar23,&pFVar4[-0x2d2].field_0x24);\n              pfVar19 = &fts5yyminorunion;\n              fts5yypParser->pParse = (Fts5Parse *)pFVar23;\n              fts5yy_destructor(unaff_s2,(uchar)pfVar19,pfVar24);\n              fts5yypminor = pfVar24;\n            }" else (if_statement "if (pFVar23 == (Fts5Config *)0x51) {\n              fts5yypParser->fts5yytos = unaff_s7 + -1;\n              pfVar19 = (fts5YYMINORTYPE *)pFVar4;\n            }\n            else {\n              pFVar23 = (Fts5Config *)fts5yypParser->pParse;\n              pfVar22 = unaff_s4;\n              fts5yyminorunion.fts5yy11 = (Fts5Colset *)unaff_s4;\n              fts5yyminorunion.fts5yy0.n = (int)pfVar24;\n              (*pcVar15)(pFVar23,&pFVar4[-0x2d2].field_0x24);\n              pfVar19 = &fts5yyminorunion;\n              fts5yypParser->pParse = (Fts5Parse *)pFVar23;\n              fts5yy_destructor(unaff_s2,(uchar)pfVar19,pfVar24);\n              fts5yypminor = pfVar24;\n            }" if (parenthesized_expression "(pFVar23 == (Fts5Config *)0x51)" ( (binary_expression "pFVar23 == (Fts5Config *)0x51" identifier == (cast_expression "(Fts5Config *)0x51" ( (type_descriptor "Fts5Config *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              fts5yypParser->fts5yytos = unaff_s7 + -1;\n              pfVar19 = (fts5YYMINORTYPE *)pFVar4;\n            }" { (expression_statement "fts5yypParser->fts5yytos = unaff_s7 + -1;" (assignment_expression "fts5yypParser->fts5yytos = unaff_s7 + -1" (field_expression "fts5yypParser->fts5yytos" identifier -> field_identifier) = (binary_expression "unaff_s7 + -1" identifier + number_literal)) ;) (expression_statement "pfVar19 = (fts5YYMINORTYPE *)pFVar4;" (assignment_expression "pfVar19 = (fts5YYMINORTYPE *)pFVar4" identifier = (cast_expression "(fts5YYMINORTYPE *)pFVar4" ( (type_descriptor "fts5YYMINORTYPE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) }) (else_clause "else {\n              pFVar23 = (Fts5Config *)fts5yypParser->pParse;\n              pfVar22 = unaff_s4;\n              fts5yyminorunion.fts5yy11 = (Fts5Colset *)unaff_s4;\n              fts5yyminorunion.fts5yy0.n = (int)pfVar24;\n              (*pcVar15)(pFVar23,&pFVar4[-0x2d2].field_0x24);\n              pfVar19 = &fts5yyminorunion;\n              fts5yypParser->pParse = (Fts5Parse *)pFVar23;\n              fts5yy_destructor(unaff_s2,(uchar)pfVar19,pfVar24);\n              fts5yypminor = pfVar24;\n            }" else (compound_statement "{\n              pFVar23 = (Fts5Config *)fts5yypParser->pParse;\n              pfVar22 = unaff_s4;\n              fts5yyminorunion.fts5yy11 = (Fts5Colset *)unaff_s4;\n              fts5yyminorunion.fts5yy0.n = (int)pfVar24;\n              (*pcVar15)(pFVar23,&pFVar4[-0x2d2].field_0x24);\n              pfVar19 = &fts5yyminorunion;\n              fts5yypParser->pParse = (Fts5Parse *)pFVar23;\n              fts5yy_destructor(unaff_s2,(uchar)pfVar19,pfVar24);\n              fts5yypminor = pfVar24;\n            }" { (expression_statement "pFVar23 = (Fts5Config *)fts5yypParser->pParse;" (assignment_expression "pFVar23 = (Fts5Config *)fts5yypParser->pParse" identifier = (cast_expression "(Fts5Config *)fts5yypParser->pParse" ( (type_descriptor "Fts5Config *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "fts5yypParser->pParse" identifier -> field_identifier))) ;) (expression_statement "pfVar22 = unaff_s4;" (assignment_expression "pfVar22 = unaff_s4" identifier = identifier) ;) (expression_statement "fts5yyminorunion.fts5yy11 = (Fts5Colset *)unaff_s4;" (assignment_expression "fts5yyminorunion.fts5yy11 = (Fts5Colset *)unaff_s4" (field_expression "fts5yyminorunion.fts5yy11" identifier . field_identifier) = (cast_expression "(Fts5Colset *)unaff_s4" ( (type_descriptor "Fts5Colset *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "fts5yyminorunion.fts5yy0.n = (int)pfVar24;" (assignment_expression "fts5yyminorunion.fts5yy0.n = (int)pfVar24" (field_expression "fts5yyminorunion.fts5yy0.n" (field_expression "fts5yyminorunion.fts5yy0" identifier . field_identifier) . field_identifier) = (cast_expression "(int)pfVar24" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "(*pcVar15)(pFVar23,&pFVar4[-0x2d2].field_0x24);" (call_expression "(*pcVar15)(pFVar23,&pFVar4[-0x2d2].field_0x24)" (parenthesized_expression "(*pcVar15)" ( (pointer_expression "*pcVar15" * identifier) )) (argument_list "(pFVar23,&pFVar4[-0x2d2].field_0x24)" ( identifier , (pointer_expression "&pFVar4[-0x2d2].field_0x24" & (field_expression "pFVar4[-0x2d2].field_0x24" (subscript_expression "pFVar4[-0x2d2]" identifier [ number_literal ]) . field_identifier)) ))) ;) (expression_statement "pfVar19 = &fts5yyminorunion;" (assignment_expression "pfVar19 = &fts5yyminorunion" identifier = (pointer_expression "&fts5yyminorunion" & identifier)) ;) (expression_statement "fts5yypParser->pParse = (Fts5Parse *)pFVar23;" (assignment_expression "fts5yypParser->pParse = (Fts5Parse *)pFVar23" (field_expression "fts5yypParser->pParse" identifier -> field_identifier) = (cast_expression "(Fts5Parse *)pFVar23" ( (type_descriptor "Fts5Parse *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "fts5yy_destructor(unaff_s2,(uchar)pfVar19,pfVar24);" (call_expression "fts5yy_destructor(unaff_s2,(uchar)pfVar19,pfVar24)" identifier (argument_list "(unaff_s2,(uchar)pfVar19,pfVar24)" ( identifier , (cast_expression "(uchar)pfVar19" ( (type_descriptor "uchar" type_identifier) ) identifier) , identifier ))) ;) (expression_statement "fts5yypminor = pfVar24;" (assignment_expression "fts5yypminor = pfVar24" identifier = identifier) ;) }))))) (goto_statement "goto LAB_000b2d18;" goto statement_identifier ;) })) (expression_statement "pppcVar3 = &pFVar23[-1].azCol;" (assignment_expression "pppcVar3 = &pFVar23[-1].azCol" identifier = (pointer_expression "&pFVar23[-1].azCol" & (field_expression "pFVar23[-1].azCol" (subscript_expression "pFVar23[-1]" identifier [ number_literal ]) . field_identifier))) ;) (expression_statement "pFVar23 = (Fts5Config *)((int)pppcVar3 + 1);" (assignment_expression "pFVar23 = (Fts5Config *)((int)pppcVar3 + 1)" identifier = (cast_expression "(Fts5Config *)((int)pppcVar3 + 1)" ( (type_descriptor "Fts5Config *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pppcVar3 + 1)" ( (binary_expression "(int)pppcVar3 + 1" (cast_expression "(int)pppcVar3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "unaff_s5 = (int)(char)(unaff_s6 + 0x488c)[(int)&pFVar23->db];" (assignment_expression "unaff_s5 = (int)(char)(unaff_s6 + 0x488c)[(int)&pFVar23->db]" identifier = (cast_expression "(int)(char)(unaff_s6 + 0x488c)[(int)&pFVar23->db]" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)(unaff_s6 + 0x488c)[(int)&pFVar23->db]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "(unaff_s6 + 0x488c)[(int)&pFVar23->db]" (parenthesized_expression "(unaff_s6 + 0x488c)" ( (binary_expression "unaff_s6 + 0x488c" identifier + number_literal) )) [ (cast_expression "(int)&pFVar23->db" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pFVar23->db" & (field_expression "pFVar23->db" identifier -> field_identifier))) ])))) ;) (if_statement "if ((unaff_s5 != 0) || (unaff_s7 < fts5yypParser->fts5yystackEnd)) break;" if (parenthesized_expression "((unaff_s5 != 0) || (unaff_s7 < fts5yypParser->fts5yystackEnd))" ( (binary_expression "(unaff_s5 != 0) || (unaff_s7 < fts5yypParser->fts5yystackEnd)" (parenthesized_expression "(unaff_s5 != 0)" ( (binary_expression "unaff_s5 != 0" identifier != number_literal) )) || (parenthesized_expression "(unaff_s7 < fts5yypParser->fts5yystackEnd)" ( (binary_expression "unaff_s7 < fts5yypParser->fts5yystackEnd" identifier < (field_expression "fts5yypParser->fts5yystackEnd" identifier -> field_identifier)) ))) )) (break_statement "break;" break ;)) (expression_statement "fts5yyStackOverflow(fts5yypParser);" (call_expression "fts5yyStackOverflow(fts5yypParser)" identifier (argument_list "(fts5yypParser)" ( identifier ))) ;) (expression_statement "unaff_s7 = fts5yypParser->fts5yytos;" (assignment_expression "unaff_s7 = fts5yypParser->fts5yytos" identifier = (field_expression "fts5yypParser->fts5yytos" identifier -> field_identifier)) ;) (if_statement "if (unaff_s7 <= unaff_s1) goto LAB_000b2d18;" if (parenthesized_expression "(unaff_s7 <= unaff_s1)" ( (binary_expression "unaff_s7 <= unaff_s1" identifier <= identifier) )) (goto_statement "goto LAB_000b2d18;" goto statement_identifier ;)) (expression_statement "pfVar11 = unaff_s2->fts5yystack + 3;" (assignment_expression "pfVar11 = unaff_s2->fts5yystack + 3" identifier = (binary_expression "unaff_s2->fts5yystack + 3" (field_expression "unaff_s2->fts5yystack" identifier -> field_identifier) + number_literal)) ;) (expression_statement "pFVar23 = (Fts5Config *)0x0;" (assignment_expression "pFVar23 = (Fts5Config *)0x0" identifier = (cast_expression "(Fts5Config *)0x0" ( (type_descriptor "Fts5Config *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) (if_statement "if (pFVar23 < (Fts5Config *)0x1c) {\n                    /* WARNING: Could not emulate address calculation at 0x000b2c68 */\n                    /* WARNING: Treating indirect jump as call */\n          iVar7 = (*(code *)(&_gp + (int)pFVar4[0x59].apChild[(int)((int)pppcVar3 + -2)]))();\n          return iVar7;\n        }" if (parenthesized_expression "(pFVar23 < (Fts5Config *)0x1c)" ( (binary_expression "pFVar23 < (Fts5Config *)0x1c" identifier < (cast_expression "(Fts5Config *)0x1c" ( (type_descriptor "Fts5Config *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Could not emulate address calculation at 0x000b2c68 */\n                    /* WARNING: Treating indirect jump as call */\n          iVar7 = (*(code *)(&_gp + (int)pFVar4[0x59].apChild[(int)((int)pppcVar3 + -2)]))();\n          return iVar7;\n        }" { comment comment (expression_statement "iVar7 = (*(code *)(&_gp + (int)pFVar4[0x59].apChild[(int)((int)pppcVar3 + -2)]))();" (assignment_expression "iVar7 = (*(code *)(&_gp + (int)pFVar4[0x59].apChild[(int)((int)pppcVar3 + -2)]))()" identifier = (call_expression "(*(code *)(&_gp + (int)pFVar4[0x59].apChild[(int)((int)pppcVar3 + -2)]))()" (parenthesized_expression "(*(code *)(&_gp + (int)pFVar4[0x59].apChild[(int)((int)pppcVar3 + -2)]))" ( (pointer_expression "*(code *)(&_gp + (int)pFVar4[0x59].apChild[(int)((int)pppcVar3 + -2)])" * (cast_expression "(code *)(&_gp + (int)pFVar4[0x59].apChild[(int)((int)pppcVar3 + -2)])" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&_gp + (int)pFVar4[0x59].apChild[(int)((int)pppcVar3 + -2)])" ( (binary_expression "&_gp + (int)pFVar4[0x59].apChild[(int)((int)pppcVar3 + -2)]" (pointer_expression "&_gp" & identifier) + (cast_expression "(int)pFVar4[0x59].apChild[(int)((int)pppcVar3 + -2)]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pFVar4[0x59].apChild[(int)((int)pppcVar3 + -2)]" (field_expression "pFVar4[0x59].apChild" (subscript_expression "pFVar4[0x59]" identifier [ number_literal ]) . field_identifier) [ (cast_expression "(int)((int)pppcVar3 + -2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)pppcVar3 + -2)" ( (binary_expression "(int)pppcVar3 + -2" (cast_expression "(int)pppcVar3" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) ]))) )))) )) (argument_list "()" ( )))) ;) (return_statement "return iVar7;" return identifier ;) })) (expression_statement "fts5yypminor = (fts5YYMINORTYPE *)(unaff_s6 + 0x499c);" (assignment_expression "fts5yypminor = (fts5YYMINORTYPE *)(unaff_s6 + 0x499c)" identifier = (cast_expression "(fts5YYMINORTYPE *)(unaff_s6 + 0x499c)" ( (type_descriptor "fts5YYMINORTYPE *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s6 + 0x499c)" ( (binary_expression "unaff_s6 + 0x499c" identifier + number_literal) )))) ;) (expression_statement "bVar1 = unaff_s7[unaff_s5].stateno;" (assignment_expression "bVar1 = unaff_s7[unaff_s5].stateno" identifier = (field_expression "unaff_s7[unaff_s5].stateno" (subscript_expression "unaff_s7[unaff_s5]" identifier [ identifier ]) . field_identifier)) ;) (expression_statement "pfVar11 = unaff_s7 + unaff_s5 + 1;" (assignment_expression "pfVar11 = unaff_s7 + unaff_s5 + 1" identifier = (binary_expression "unaff_s7 + unaff_s5 + 1" (binary_expression "unaff_s7 + unaff_s5" identifier + identifier) + number_literal)) ;) (expression_statement "bVar2 = *(byte *)((int)((Fts5ExprNode *)(pFVar4[0x1d1].apChild + -8))->apChild +\n                         (int)pppcVar3 + -0x1f);" (assignment_expression "bVar2 = *(byte *)((int)((Fts5ExprNode *)(pFVar4[0x1d1].apChild + -8))->apChild +\n                         (int)pppcVar3 + -0x1f)" identifier = (pointer_expression "*(byte *)((int)((Fts5ExprNode *)(pFVar4[0x1d1].apChild + -8))->apChild +\n                         (int)pppcVar3 + -0x1f)" * (cast_expression "(byte *)((int)((Fts5ExprNode *)(pFVar4[0x1d1].apChild + -8))->apChild +\n                         (int)pppcVar3 + -0x1f)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)((Fts5ExprNode *)(pFVar4[0x1d1].apChild + -8))->apChild +\n                         (int)pppcVar3 + -0x1f)" ( (binary_expression "(int)((Fts5ExprNode *)(pFVar4[0x1d1].apChild + -8))->apChild +\n                         (int)pppcVar3 + -0x1f" (binary_expression "(int)((Fts5ExprNode *)(pFVar4[0x1d1].apChild + -8))->apChild +\n                         (int)pppcVar3" (cast_expression "(int)((Fts5ExprNode *)(pFVar4[0x1d1].apChild + -8))->apChild" ( (type_descriptor "int" primitive_type) ) (field_expression "((Fts5ExprNode *)(pFVar4[0x1d1].apChild + -8))->apChild" (parenthesized_expression "((Fts5ExprNode *)(pFVar4[0x1d1].apChild + -8))" ( (cast_expression "(Fts5ExprNode *)(pFVar4[0x1d1].apChild + -8)" ( (type_descriptor "Fts5ExprNode *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pFVar4[0x1d1].apChild + -8)" ( (binary_expression "pFVar4[0x1d1].apChild + -8" (field_expression "pFVar4[0x1d1].apChild" (subscript_expression "pFVar4[0x1d1]" identifier [ number_literal ]) . field_identifier) + number_literal) ))) )) -> field_identifier)) + (cast_expression "(int)pppcVar3" ( (type_descriptor "int" primitive_type) ) identifier)) + number_literal) ))))) ;) (expression_statement "fts5yypParser->fts5yytos = pfVar11;" (assignment_expression "fts5yypParser->fts5yytos = pfVar11" (field_expression "fts5yypParser->fts5yytos" identifier -> field_identifier) = identifier) ;) (expression_statement "pfVar11->major = bVar2;" (assignment_expression "pfVar11->major = bVar2" (field_expression "pfVar11->major" identifier -> field_identifier) = identifier) ;) (expression_statement "bVar1 = *(byte *)((uint)bVar2 + (int)*(char *)((int)pFVar4[0x1d2].apChild + (bVar1 - 8)) +\n                         (int)fts5yypminor);" (assignment_expression "bVar1 = *(byte *)((uint)bVar2 + (int)*(char *)((int)pFVar4[0x1d2].apChild + (bVar1 - 8)) +\n                         (int)fts5yypminor)" identifier = (pointer_expression "*(byte *)((uint)bVar2 + (int)*(char *)((int)pFVar4[0x1d2].apChild + (bVar1 - 8)) +\n                         (int)fts5yypminor)" * (cast_expression "(byte *)((uint)bVar2 + (int)*(char *)((int)pFVar4[0x1d2].apChild + (bVar1 - 8)) +\n                         (int)fts5yypminor)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)bVar2 + (int)*(char *)((int)pFVar4[0x1d2].apChild + (bVar1 - 8)) +\n                         (int)fts5yypminor)" ( (binary_expression "(uint)bVar2 + (int)*(char *)((int)pFVar4[0x1d2].apChild + (bVar1 - 8)) +\n                         (int)fts5yypminor" (binary_expression "(uint)bVar2 + (int)*(char *)((int)pFVar4[0x1d2].apChild + (bVar1 - 8))" (cast_expression "(uint)bVar2" ( (type_descriptor "uint" type_identifier) ) identifier) + (cast_expression "(int)*(char *)((int)pFVar4[0x1d2].apChild + (bVar1 - 8))" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*(char *)((int)pFVar4[0x1d2].apChild + (bVar1 - 8))" * (cast_expression "(char *)((int)pFVar4[0x1d2].apChild + (bVar1 - 8))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pFVar4[0x1d2].apChild + (bVar1 - 8))" ( (binary_expression "(int)pFVar4[0x1d2].apChild + (bVar1 - 8)" (cast_expression "(int)pFVar4[0x1d2].apChild" ( (type_descriptor "int" primitive_type) ) (field_expression "pFVar4[0x1d2].apChild" (subscript_expression "pFVar4[0x1d2]" identifier [ number_literal ]) . field_identifier)) + (parenthesized_expression "(bVar1 - 8)" ( (binary_expression "bVar1 - 8" identifier - number_literal) ))) )))))) + (cast_expression "(int)fts5yypminor" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;) (expression_statement "pFVar23 = (Fts5Config *)(uint)bVar1;" (assignment_expression "pFVar23 = (Fts5Config *)(uint)bVar1" identifier = (cast_expression "(Fts5Config *)(uint)bVar1" ( (type_descriptor "Fts5Config *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "pfVar11->stateno = bVar1;" (assignment_expression "pfVar11->stateno = bVar1" (field_expression "pfVar11->stateno" identifier -> field_identifier) = identifier) ;) (expression_statement "unaff_s7 = fts5yypParser->fts5yytos;" (assignment_expression "unaff_s7 = fts5yypParser->fts5yytos" identifier = (field_expression "fts5yypParser->fts5yytos" identifier -> field_identifier)) ;) (expression_statement "pfVar19 = (fts5YYMINORTYPE *)pFVar4;" (assignment_expression "pfVar19 = (fts5YYMINORTYPE *)pFVar4" identifier = (cast_expression "(fts5YYMINORTYPE *)pFVar4" ( (type_descriptor "fts5YYMINORTYPE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) }) while (parenthesized_expression "(unaff_s1 < unaff_s7)" ( (binary_expression "unaff_s1 < unaff_s7" identifier < identifier) )) ;) (labeled_statement "LAB_000b2d18:\n      if ((sParse.rc != 0) || (zExpr = (char *)pfStack_110, unaff_s2 == (fts5yyParser *)0x0))\n      goto LAB_000b2d2c;" statement_identifier : (if_statement "if ((sParse.rc != 0) || (zExpr = (char *)pfStack_110, unaff_s2 == (fts5yyParser *)0x0))\n      goto LAB_000b2d2c;" if (parenthesized_expression "((sParse.rc != 0) || (zExpr = (char *)pfStack_110, unaff_s2 == (fts5yyParser *)0x0))" ( (binary_expression "(sParse.rc != 0) || (zExpr = (char *)pfStack_110, unaff_s2 == (fts5yyParser *)0x0)" (parenthesized_expression "(sParse.rc != 0)" ( (binary_expression "sParse.rc != 0" (field_expression "sParse.rc" identifier . field_identifier) != number_literal) )) || (parenthesized_expression "(zExpr = (char *)pfStack_110, unaff_s2 == (fts5yyParser *)0x0)" ( (comma_expression "zExpr = (char *)pfStack_110, unaff_s2 == (fts5yyParser *)0x0" (assignment_expression "zExpr = (char *)pfStack_110" identifier = (cast_expression "(char *)pfStack_110" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) , (binary_expression "unaff_s2 == (fts5yyParser *)0x0" identifier == (cast_expression "(fts5yyParser *)0x0" ( (type_descriptor "fts5yyParser *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (goto_statement "goto LAB_000b2d2c;" goto statement_identifier ;))) }) while (parenthesized_expression "( true )" ( true )) ;)) })) (expression_statement "iVar7 = 7;" (assignment_expression "iVar7 = 7" identifier = number_literal) ;) (labeled_statement "LAB_000b3294:\n  if (pCtx == *(sqlite3_context **)puVar6) {\n    return iVar7;\n  }" statement_identifier : (if_statement "if (pCtx == *(sqlite3_context **)puVar6) {\n    return iVar7;\n  }" if (parenthesized_expression "(pCtx == *(sqlite3_context **)puVar6)" ( (binary_expression "pCtx == *(sqlite3_context **)puVar6" identifier == (pointer_expression "*(sqlite3_context **)puVar6" * (cast_expression "(sqlite3_context **)puVar6" ( (type_descriptor "sqlite3_context **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n    return iVar7;\n  }" { (return_statement "return iVar7;" return identifier ;) }))) (expression_statement "pcVar15 = fts5ExprFunction;" (assignment_expression "pcVar15 = fts5ExprFunction" identifier = identifier) ;) (expression_statement "puVar9 = PTR___stack_chk_fail_0015ba10;" (assignment_expression "puVar9 = PTR___stack_chk_fail_0015ba10" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_0015ba10)();" (call_expression "(*(code *)PTR___stack_chk_fail_0015ba10)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0015ba10)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_0015ba10" * (cast_expression "(code *)PTR___stack_chk_fail_0015ba10" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "piVar26 = *(int **)(puVar9 + 0xa8234);" (assignment_expression "piVar26 = *(int **)(puVar9 + 0xa8234)" identifier = (pointer_expression "*(int **)(puVar9 + 0xa8234)" * (cast_expression "(int **)(puVar9 + 0xa8234)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0xa8234)" ( (binary_expression "puVar9 + 0xa8234" identifier + number_literal) ))))) ;) (expression_statement "iStack_164 = *piVar26;" (assignment_expression "iStack_164 = *piVar26" identifier = (pointer_expression "*piVar26" * identifier)) ;) (expression_statement "pfVar24 = fts5yypminor;" (assignment_expression "pfVar24 = fts5yypminor" identifier = identifier) ;) (expression_statement "pFStack_160 = pConfig;" (assignment_expression "pFStack_160 = pConfig" identifier = identifier) ;) (expression_statement "pfStack_15c = unaff_s1;" (assignment_expression "pfStack_15c = unaff_s1" identifier = identifier) ;) (expression_statement "pfStack_158 = unaff_s2;" (assignment_expression "pfStack_158 = unaff_s2" identifier = identifier) ;) (expression_statement "pfStack_154 = unaff_s3;" (assignment_expression "pfStack_154 = unaff_s3" identifier = identifier) ;) (expression_statement "pfStack_150 = unaff_s4;" (assignment_expression "pfStack_150 = unaff_s4" identifier = identifier) ;) (expression_statement "iStack_14c = unaff_s5;" (assignment_expression "iStack_14c = unaff_s5" identifier = identifier) ;) (expression_statement "puStack_148 = unaff_s6;" (assignment_expression "puStack_148 = unaff_s6" identifier = identifier) ;) (expression_statement "pfStack_144 = unaff_s7;" (assignment_expression "pfStack_144 = unaff_s7" identifier = identifier) ;) (expression_statement "pfStack_140 = unaff_s8;" (assignment_expression "pfStack_140 = unaff_s8" identifier = identifier) ;) (expression_statement "pcStack_13c = pcVar15;" (assignment_expression "pcStack_13c = pcVar15" identifier = identifier) ;) (expression_statement "pGlobal = (Fts5Global *)(**(code **)(puVar9 + 0xa7ed0))();" (assignment_expression "pGlobal = (Fts5Global *)(**(code **)(puVar9 + 0xa7ed0))()" identifier = (cast_expression "(Fts5Global *)(**(code **)(puVar9 + 0xa7ed0))()" ( (type_descriptor "Fts5Global *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar9 + 0xa7ed0))()" (parenthesized_expression "(**(code **)(puVar9 + 0xa7ed0))" ( (pointer_expression "**(code **)(puVar9 + 0xa7ed0)" * (pointer_expression "*(code **)(puVar9 + 0xa7ed0)" * (cast_expression "(code **)(puVar9 + 0xa7ed0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0xa7ed0)" ( (binary_expression "puVar9 + 0xa7ed0" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "db = (sqlite3 *)(**(code **)(puVar9 + 0xa7ee8))(pCtx);" (assignment_expression "db = (sqlite3 *)(**(code **)(puVar9 + 0xa7ee8))(pCtx)" identifier = (cast_expression "(sqlite3 *)(**(code **)(puVar9 + 0xa7ee8))(pCtx)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar9 + 0xa7ee8))(pCtx)" (parenthesized_expression "(**(code **)(puVar9 + 0xa7ee8))" ( (pointer_expression "**(code **)(puVar9 + 0xa7ee8)" * (pointer_expression "*(code **)(puVar9 + 0xa7ee8)" * (cast_expression "(code **)(puVar9 + 0xa7ee8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0xa7ee8)" ( (binary_expression "puVar9 + 0xa7ee8" identifier + number_literal) ))))) )) (argument_list "(pCtx)" ( identifier ))))) ;) (expression_statement "psStack_170 = (sqlite3_context *)0x0;" (assignment_expression "psStack_170 = (sqlite3_context *)0x0" identifier = (cast_expression "(sqlite3_context *)0x0" ( (type_descriptor "sqlite3_context *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psStack_16c = (sqlite3_context *)0x0;" (assignment_expression "psStack_16c = (sqlite3_context *)0x0" identifier = (cast_expression "(sqlite3_context *)0x0" ( (type_descriptor "sqlite3_context *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pFStack_168 = (Fts5Config *)0x0;" (assignment_expression "pFStack_168 = (Fts5Config *)0x0" identifier = (cast_expression "(Fts5Config *)0x0" ( (type_descriptor "Fts5Config *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if ((int)pfVar19 < 1) {\n    if (pfVar22 == (fts5YYMINORTYPE *)0x0) {\n      iVar7 = *(int *)(puVar9 + 0xa7e04) + -0x705c;\n    }\n    else {\n      iVar7 = *(int *)(puVar9 + 0xa7e04) + -0x706c;\n    }\n    nArg = (sqlite3_context *)\n           (**(code **)(puVar9 + 0xa7e30))(*(int *)(puVar9 + 0xa7e04) + -0x7048,iVar7);\n    pfVar24 = (fts5YYMINORTYPE *)0xffffffff;\n    psStack_170 = nArg;\n    (**(code **)(puVar9 + 0xa7f78))(pCtx);\n    pCtx = psStack_170;\n    (**(code **)(puVar9 + 0xa7e28))();\n    goto LAB_000b39d4;\n  }" if (parenthesized_expression "((int)pfVar19 < 1)" ( (binary_expression "(int)pfVar19 < 1" (cast_expression "(int)pfVar19" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n    if (pfVar22 == (fts5YYMINORTYPE *)0x0) {\n      iVar7 = *(int *)(puVar9 + 0xa7e04) + -0x705c;\n    }\n    else {\n      iVar7 = *(int *)(puVar9 + 0xa7e04) + -0x706c;\n    }\n    nArg = (sqlite3_context *)\n           (**(code **)(puVar9 + 0xa7e30))(*(int *)(puVar9 + 0xa7e04) + -0x7048,iVar7);\n    pfVar24 = (fts5YYMINORTYPE *)0xffffffff;\n    psStack_170 = nArg;\n    (**(code **)(puVar9 + 0xa7f78))(pCtx);\n    pCtx = psStack_170;\n    (**(code **)(puVar9 + 0xa7e28))();\n    goto LAB_000b39d4;\n  }" { (if_statement "if (pfVar22 == (fts5YYMINORTYPE *)0x0) {\n      iVar7 = *(int *)(puVar9 + 0xa7e04) + -0x705c;\n    }\n    else {\n      iVar7 = *(int *)(puVar9 + 0xa7e04) + -0x706c;\n    }" if (parenthesized_expression "(pfVar22 == (fts5YYMINORTYPE *)0x0)" ( (binary_expression "pfVar22 == (fts5YYMINORTYPE *)0x0" identifier == (cast_expression "(fts5YYMINORTYPE *)0x0" ( (type_descriptor "fts5YYMINORTYPE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      iVar7 = *(int *)(puVar9 + 0xa7e04) + -0x705c;\n    }" { (expression_statement "iVar7 = *(int *)(puVar9 + 0xa7e04) + -0x705c;" (assignment_expression "iVar7 = *(int *)(puVar9 + 0xa7e04) + -0x705c" identifier = (binary_expression "*(int *)(puVar9 + 0xa7e04) + -0x705c" (pointer_expression "*(int *)(puVar9 + 0xa7e04)" * (cast_expression "(int *)(puVar9 + 0xa7e04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0xa7e04)" ( (binary_expression "puVar9 + 0xa7e04" identifier + number_literal) )))) + number_literal)) ;) }) (else_clause "else {\n      iVar7 = *(int *)(puVar9 + 0xa7e04) + -0x706c;\n    }" else (compound_statement "{\n      iVar7 = *(int *)(puVar9 + 0xa7e04) + -0x706c;\n    }" { (expression_statement "iVar7 = *(int *)(puVar9 + 0xa7e04) + -0x706c;" (assignment_expression "iVar7 = *(int *)(puVar9 + 0xa7e04) + -0x706c" identifier = (binary_expression "*(int *)(puVar9 + 0xa7e04) + -0x706c" (pointer_expression "*(int *)(puVar9 + 0xa7e04)" * (cast_expression "(int *)(puVar9 + 0xa7e04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0xa7e04)" ( (binary_expression "puVar9 + 0xa7e04" identifier + number_literal) )))) + number_literal)) ;) }))) (expression_statement "nArg = (sqlite3_context *)\n           (**(code **)(puVar9 + 0xa7e30))(*(int *)(puVar9 + 0xa7e04) + -0x7048,iVar7);" (assignment_expression "nArg = (sqlite3_context *)\n           (**(code **)(puVar9 + 0xa7e30))(*(int *)(puVar9 + 0xa7e04) + -0x7048,iVar7)" identifier = (cast_expression "(sqlite3_context *)\n           (**(code **)(puVar9 + 0xa7e30))(*(int *)(puVar9 + 0xa7e04) + -0x7048,iVar7)" ( (type_descriptor "sqlite3_context *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar9 + 0xa7e30))(*(int *)(puVar9 + 0xa7e04) + -0x7048,iVar7)" (parenthesized_expression "(**(code **)(puVar9 + 0xa7e30))" ( (pointer_expression "**(code **)(puVar9 + 0xa7e30)" * (pointer_expression "*(code **)(puVar9 + 0xa7e30)" * (cast_expression "(code **)(puVar9 + 0xa7e30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0xa7e30)" ( (binary_expression "puVar9 + 0xa7e30" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar9 + 0xa7e04) + -0x7048,iVar7)" ( (binary_expression "*(int *)(puVar9 + 0xa7e04) + -0x7048" (pointer_expression "*(int *)(puVar9 + 0xa7e04)" * (cast_expression "(int *)(puVar9 + 0xa7e04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0xa7e04)" ( (binary_expression "puVar9 + 0xa7e04" identifier + number_literal) )))) + number_literal) , identifier ))))) ;) (expression_statement "pfVar24 = (fts5YYMINORTYPE *)0xffffffff;" (assignment_expression "pfVar24 = (fts5YYMINORTYPE *)0xffffffff" identifier = (cast_expression "(fts5YYMINORTYPE *)0xffffffff" ( (type_descriptor "fts5YYMINORTYPE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "psStack_170 = nArg;" (assignment_expression "psStack_170 = nArg" identifier = identifier) ;) (expression_statement "(**(code **)(puVar9 + 0xa7f78))(pCtx);" (call_expression "(**(code **)(puVar9 + 0xa7f78))(pCtx)" (parenthesized_expression "(**(code **)(puVar9 + 0xa7f78))" ( (pointer_expression "**(code **)(puVar9 + 0xa7f78)" * (pointer_expression "*(code **)(puVar9 + 0xa7f78)" * (cast_expression "(code **)(puVar9 + 0xa7f78)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0xa7f78)" ( (binary_expression "puVar9 + 0xa7f78" identifier + number_literal) ))))) )) (argument_list "(pCtx)" ( identifier ))) ;) (expression_statement "pCtx = psStack_170;" (assignment_expression "pCtx = psStack_170" identifier = identifier) ;) (expression_statement "(**(code **)(puVar9 + 0xa7e28))();" (call_expression "(**(code **)(puVar9 + 0xa7e28))()" (parenthesized_expression "(**(code **)(puVar9 + 0xa7e28))" ( (pointer_expression "**(code **)(puVar9 + 0xa7e28)" * (pointer_expression "*(code **)(puVar9 + 0xa7e28)" * (cast_expression "(code **)(puVar9 + 0xa7e28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0xa7e28)" ( (binary_expression "puVar9 + 0xa7e28" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (goto_statement "goto LAB_000b39d4;" goto statement_identifier ;) })) (if_statement "if (pfVar22 == (fts5YYMINORTYPE *)0x0) {\n    iVar7 = 1;\n    pcStack_174 = (char *)(*(int *)(puVar9 + 0xa7e04) + -0x7050);\nLAB_000b38a0:\n    nArg_00 = (fts5YYMINORTYPE *)((int)pfVar19 + (3 - iVar7));\n    nArg = (sqlite3_context *)((int)nArg_00 * 4);\n    azArg = (char **)(**(code **)(puVar9 + 0xa7f68))(0);\n    if (azArg == (char **)0x0) {\nLAB_000b3a30:\n      (**(code **)(puVar9 + 0xa7f8c))();\n      goto LAB_000b39d4;\n    }\n    *azArg = (char *)0x0;\n    azArg[1] = (char *)(*(int *)(puVar9 + 0xa7df0) + 0x538c);\n    azArg[2] = (char *)(*(int *)(puVar9 + 0xa7e04) + -0x701c);\n    if (iVar7 < (int)pfVar19) {\n      pcVar28 = (char *)((int)fts5yypminor + iVar7 * 4);\n      ppcVar27 = azArg + 3;\n      do {\n        uVar21 = *(undefined4 *)pcVar28;\n        pcVar28 = pcVar28 + 4;\n        pcVar12 = (char *)(**(code **)(puVar9 + 0xa7e1c))(uVar21);\n        *ppcVar27 = pcVar12;\n        ppcVar27 = ppcVar27 + 1;\n      } while ((char *)((int)fts5yypminor + (int)pfVar19 * 4) != pcVar28);\n    }\n  }\n  else {\n    if ((Fts5ExprNode *)pfVar19 != (Fts5ExprNode *)0x1) {\n      iVar7 = 2;\n      pcStack_174 = (char *)(**(code **)(puVar9 + 0xa7e1c))((fts5yypminor->fts5yy0).n);\n      goto LAB_000b38a0;\n    }\n    nArg = (sqlite3_context *)&DAT_0000000c;\n    azArg = (char **)(**(code **)(puVar9 + 0xa7f68))(0);\n    if (azArg == (char **)0x0) goto LAB_000b3a30;\n    iVar7 = *(int *)(puVar9 + 0xa7df0);\n    nArg_00 = (fts5YYMINORTYPE *)0x3;\n    *azArg = (char *)0x0;\n    azArg[1] = (char *)(iVar7 + 0x538c);\n    pcStack_174 = (char *)(*(int *)(puVar9 + 0xa7e04) + -0x7050);\n    azArg[2] = (char *)(*(int *)(puVar9 + 0xa7e04) + -0x701c);\n  }" if (parenthesized_expression "(pfVar22 == (fts5YYMINORTYPE *)0x0)" ( (binary_expression "pfVar22 == (fts5YYMINORTYPE *)0x0" identifier == (cast_expression "(fts5YYMINORTYPE *)0x0" ( (type_descriptor "fts5YYMINORTYPE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar7 = 1;\n    pcStack_174 = (char *)(*(int *)(puVar9 + 0xa7e04) + -0x7050);\nLAB_000b38a0:\n    nArg_00 = (fts5YYMINORTYPE *)((int)pfVar19 + (3 - iVar7));\n    nArg = (sqlite3_context *)((int)nArg_00 * 4);\n    azArg = (char **)(**(code **)(puVar9 + 0xa7f68))(0);\n    if (azArg == (char **)0x0) {\nLAB_000b3a30:\n      (**(code **)(puVar9 + 0xa7f8c))();\n      goto LAB_000b39d4;\n    }\n    *azArg = (char *)0x0;\n    azArg[1] = (char *)(*(int *)(puVar9 + 0xa7df0) + 0x538c);\n    azArg[2] = (char *)(*(int *)(puVar9 + 0xa7e04) + -0x701c);\n    if (iVar7 < (int)pfVar19) {\n      pcVar28 = (char *)((int)fts5yypminor + iVar7 * 4);\n      ppcVar27 = azArg + 3;\n      do {\n        uVar21 = *(undefined4 *)pcVar28;\n        pcVar28 = pcVar28 + 4;\n        pcVar12 = (char *)(**(code **)(puVar9 + 0xa7e1c))(uVar21);\n        *ppcVar27 = pcVar12;\n        ppcVar27 = ppcVar27 + 1;\n      } while ((char *)((int)fts5yypminor + (int)pfVar19 * 4) != pcVar28);\n    }\n  }" { (expression_statement "iVar7 = 1;" (assignment_expression "iVar7 = 1" identifier = number_literal) ;) (expression_statement "pcStack_174 = (char *)(*(int *)(puVar9 + 0xa7e04) + -0x7050);" (assignment_expression "pcStack_174 = (char *)(*(int *)(puVar9 + 0xa7e04) + -0x7050)" identifier = (cast_expression "(char *)(*(int *)(puVar9 + 0xa7e04) + -0x7050)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar9 + 0xa7e04) + -0x7050)" ( (binary_expression "*(int *)(puVar9 + 0xa7e04) + -0x7050" (pointer_expression "*(int *)(puVar9 + 0xa7e04)" * (cast_expression "(int *)(puVar9 + 0xa7e04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0xa7e04)" ( (binary_expression "puVar9 + 0xa7e04" identifier + number_literal) )))) + number_literal) )))) ;) (labeled_statement "LAB_000b38a0:\n    nArg_00 = (fts5YYMINORTYPE *)((int)pfVar19 + (3 - iVar7));" statement_identifier : (expression_statement "nArg_00 = (fts5YYMINORTYPE *)((int)pfVar19 + (3 - iVar7));" (assignment_expression "nArg_00 = (fts5YYMINORTYPE *)((int)pfVar19 + (3 - iVar7))" identifier = (cast_expression "(fts5YYMINORTYPE *)((int)pfVar19 + (3 - iVar7))" ( (type_descriptor "fts5YYMINORTYPE *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar19 + (3 - iVar7))" ( (binary_expression "(int)pfVar19 + (3 - iVar7)" (cast_expression "(int)pfVar19" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(3 - iVar7)" ( (binary_expression "3 - iVar7" number_literal - identifier) ))) )))) ;)) (expression_statement "nArg = (sqlite3_context *)((int)nArg_00 * 4);" (assignment_expression "nArg = (sqlite3_context *)((int)nArg_00 * 4)" identifier = (cast_expression "(sqlite3_context *)((int)nArg_00 * 4)" ( (type_descriptor "sqlite3_context *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)nArg_00 * 4)" ( (binary_expression "(int)nArg_00 * 4" (cast_expression "(int)nArg_00" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ;) (expression_statement "azArg = (char **)(**(code **)(puVar9 + 0xa7f68))(0);" (assignment_expression "azArg = (char **)(**(code **)(puVar9 + 0xa7f68))(0)" identifier = (cast_expression "(char **)(**(code **)(puVar9 + 0xa7f68))(0)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(**(code **)(puVar9 + 0xa7f68))(0)" (parenthesized_expression "(**(code **)(puVar9 + 0xa7f68))" ( (pointer_expression "**(code **)(puVar9 + 0xa7f68)" * (pointer_expression "*(code **)(puVar9 + 0xa7f68)" * (cast_expression "(code **)(puVar9 + 0xa7f68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0xa7f68)" ( (binary_expression "puVar9 + 0xa7f68" identifier + number_literal) ))))) )) (argument_list "(0)" ( number_literal ))))) ;) (if_statement "if (azArg == (char **)0x0) {\nLAB_000b3a30:\n      (**(code **)(puVar9 + 0xa7f8c))();\n      goto LAB_000b39d4;\n    }" if (parenthesized_expression "(azArg == (char **)0x0)" ( (binary_expression "azArg == (char **)0x0" identifier == (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\nLAB_000b3a30:\n      (**(code **)(puVar9 + 0xa7f8c))();\n      goto LAB_000b39d4;\n    }" { (labeled_statement "LAB_000b3a30:\n      (**(code **)(puVar9 + 0xa7f8c))();" statement_identifier : (expression_statement "(**(code **)(puVar9 + 0xa7f8c))();" (call_expression "(**(code **)(puVar9 + 0xa7f8c))()" (parenthesized_expression "(**(code **)(puVar9 + 0xa7f8c))" ( (pointer_expression "**(code **)(puVar9 + 0xa7f8c)" * (pointer_expression "*(code **)(puVar9 + 0xa7f8c)" * (cast_expression "(code **)(puVar9 + 0xa7f8c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0xa7f8c)" ( (binary_expression "puVar9 + 0xa7f8c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;)) (goto_statement "goto LAB_000b39d4;" goto statement_identifier ;) })) (expression_statement "*azArg = (char *)0x0;" (assignment_expression "*azArg = (char *)0x0" (pointer_expression "*azArg" * identifier) = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "azArg[1] = (char *)(*(int *)(puVar9 + 0xa7df0) + 0x538c);" (assignment_expression "azArg[1] = (char *)(*(int *)(puVar9 + 0xa7df0) + 0x538c)" (subscript_expression "azArg[1]" identifier [ number_literal ]) = (cast_expression "(char *)(*(int *)(puVar9 + 0xa7df0) + 0x538c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar9 + 0xa7df0) + 0x538c)" ( (binary_expression "*(int *)(puVar9 + 0xa7df0) + 0x538c" (pointer_expression "*(int *)(puVar9 + 0xa7df0)" * (cast_expression "(int *)(puVar9 + 0xa7df0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0xa7df0)" ( (binary_expression "puVar9 + 0xa7df0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "azArg[2] = (char *)(*(int *)(puVar9 + 0xa7e04) + -0x701c);" (assignment_expression "azArg[2] = (char *)(*(int *)(puVar9 + 0xa7e04) + -0x701c)" (subscript_expression "azArg[2]" identifier [ number_literal ]) = (cast_expression "(char *)(*(int *)(puVar9 + 0xa7e04) + -0x701c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar9 + 0xa7e04) + -0x701c)" ( (binary_expression "*(int *)(puVar9 + 0xa7e04) + -0x701c" (pointer_expression "*(int *)(puVar9 + 0xa7e04)" * (cast_expression "(int *)(puVar9 + 0xa7e04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0xa7e04)" ( (binary_expression "puVar9 + 0xa7e04" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if (iVar7 < (int)pfVar19) {\n      pcVar28 = (char *)((int)fts5yypminor + iVar7 * 4);\n      ppcVar27 = azArg + 3;\n      do {\n        uVar21 = *(undefined4 *)pcVar28;\n        pcVar28 = pcVar28 + 4;\n        pcVar12 = (char *)(**(code **)(puVar9 + 0xa7e1c))(uVar21);\n        *ppcVar27 = pcVar12;\n        ppcVar27 = ppcVar27 + 1;\n      } while ((char *)((int)fts5yypminor + (int)pfVar19 * 4) != pcVar28);\n    }" if (parenthesized_expression "(iVar7 < (int)pfVar19)" ( (binary_expression "iVar7 < (int)pfVar19" identifier < (cast_expression "(int)pfVar19" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      pcVar28 = (char *)((int)fts5yypminor + iVar7 * 4);\n      ppcVar27 = azArg + 3;\n      do {\n        uVar21 = *(undefined4 *)pcVar28;\n        pcVar28 = pcVar28 + 4;\n        pcVar12 = (char *)(**(code **)(puVar9 + 0xa7e1c))(uVar21);\n        *ppcVar27 = pcVar12;\n        ppcVar27 = ppcVar27 + 1;\n      } while ((char *)((int)fts5yypminor + (int)pfVar19 * 4) != pcVar28);\n    }" { (expression_statement "pcVar28 = (char *)((int)fts5yypminor + iVar7 * 4);" (assignment_expression "pcVar28 = (char *)((int)fts5yypminor + iVar7 * 4)" identifier = (cast_expression "(char *)((int)fts5yypminor + iVar7 * 4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fts5yypminor + iVar7 * 4)" ( (binary_expression "(int)fts5yypminor + iVar7 * 4" (cast_expression "(int)fts5yypminor" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "iVar7 * 4" identifier * number_literal)) )))) ;) (expression_statement "ppcVar27 = azArg + 3;" (assignment_expression "ppcVar27 = azArg + 3" identifier = (binary_expression "azArg + 3" identifier + number_literal)) ;) (do_statement "do {\n        uVar21 = *(undefined4 *)pcVar28;\n        pcVar28 = pcVar28 + 4;\n        pcVar12 = (char *)(**(code **)(puVar9 + 0xa7e1c))(uVar21);\n        *ppcVar27 = pcVar12;\n        ppcVar27 = ppcVar27 + 1;\n      } while ((char *)((int)fts5yypminor + (int)pfVar19 * 4) != pcVar28);" do (compound_statement "{\n        uVar21 = *(undefined4 *)pcVar28;\n        pcVar28 = pcVar28 + 4;\n        pcVar12 = (char *)(**(code **)(puVar9 + 0xa7e1c))(uVar21);\n        *ppcVar27 = pcVar12;\n        ppcVar27 = ppcVar27 + 1;\n      }" { (expression_statement "uVar21 = *(undefined4 *)pcVar28;" (assignment_expression "uVar21 = *(undefined4 *)pcVar28" identifier = (pointer_expression "*(undefined4 *)pcVar28" * (cast_expression "(undefined4 *)pcVar28" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "pcVar28 = pcVar28 + 4;" (assignment_expression "pcVar28 = pcVar28 + 4" identifier = (binary_expression "pcVar28 + 4" identifier + number_literal)) ;) (expression_statement "pcVar12 = (char *)(**(code **)(puVar9 + 0xa7e1c))(uVar21);" (assignment_expression "pcVar12 = (char *)(**(code **)(puVar9 + 0xa7e1c))(uVar21)" identifier = (cast_expression "(char *)(**(code **)(puVar9 + 0xa7e1c))(uVar21)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar9 + 0xa7e1c))(uVar21)" (parenthesized_expression "(**(code **)(puVar9 + 0xa7e1c))" ( (pointer_expression "**(code **)(puVar9 + 0xa7e1c)" * (pointer_expression "*(code **)(puVar9 + 0xa7e1c)" * (cast_expression "(code **)(puVar9 + 0xa7e1c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0xa7e1c)" ( (binary_expression "puVar9 + 0xa7e1c" identifier + number_literal) ))))) )) (argument_list "(uVar21)" ( identifier ))))) ;) (expression_statement "*ppcVar27 = pcVar12;" (assignment_expression "*ppcVar27 = pcVar12" (pointer_expression "*ppcVar27" * identifier) = identifier) ;) (expression_statement "ppcVar27 = ppcVar27 + 1;" (assignment_expression "ppcVar27 = ppcVar27 + 1" identifier = (binary_expression "ppcVar27 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "((char *)((int)fts5yypminor + (int)pfVar19 * 4) != pcVar28)" ( (binary_expression "(char *)((int)fts5yypminor + (int)pfVar19 * 4) != pcVar28" (cast_expression "(char *)((int)fts5yypminor + (int)pfVar19 * 4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)fts5yypminor + (int)pfVar19 * 4)" ( (binary_expression "(int)fts5yypminor + (int)pfVar19 * 4" (cast_expression "(int)fts5yypminor" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "(int)pfVar19 * 4" (cast_expression "(int)pfVar19" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ))) != identifier) )) ;) })) }) (else_clause "else {\n    if ((Fts5ExprNode *)pfVar19 != (Fts5ExprNode *)0x1) {\n      iVar7 = 2;\n      pcStack_174 = (char *)(**(code **)(puVar9 + 0xa7e1c))((fts5yypminor->fts5yy0).n);\n      goto LAB_000b38a0;\n    }\n    nArg = (sqlite3_context *)&DAT_0000000c;\n    azArg = (char **)(**(code **)(puVar9 + 0xa7f68))(0);\n    if (azArg == (char **)0x0) goto LAB_000b3a30;\n    iVar7 = *(int *)(puVar9 + 0xa7df0);\n    nArg_00 = (fts5YYMINORTYPE *)0x3;\n    *azArg = (char *)0x0;\n    azArg[1] = (char *)(iVar7 + 0x538c);\n    pcStack_174 = (char *)(*(int *)(puVar9 + 0xa7e04) + -0x7050);\n    azArg[2] = (char *)(*(int *)(puVar9 + 0xa7e04) + -0x701c);\n  }" else (compound_statement "{\n    if ((Fts5ExprNode *)pfVar19 != (Fts5ExprNode *)0x1) {\n      iVar7 = 2;\n      pcStack_174 = (char *)(**(code **)(puVar9 + 0xa7e1c))((fts5yypminor->fts5yy0).n);\n      goto LAB_000b38a0;\n    }\n    nArg = (sqlite3_context *)&DAT_0000000c;\n    azArg = (char **)(**(code **)(puVar9 + 0xa7f68))(0);\n    if (azArg == (char **)0x0) goto LAB_000b3a30;\n    iVar7 = *(int *)(puVar9 + 0xa7df0);\n    nArg_00 = (fts5YYMINORTYPE *)0x3;\n    *azArg = (char *)0x0;\n    azArg[1] = (char *)(iVar7 + 0x538c);\n    pcStack_174 = (char *)(*(int *)(puVar9 + 0xa7e04) + -0x7050);\n    azArg[2] = (char *)(*(int *)(puVar9 + 0xa7e04) + -0x701c);\n  }" { (if_statement "if ((Fts5ExprNode *)pfVar19 != (Fts5ExprNode *)0x1) {\n      iVar7 = 2;\n      pcStack_174 = (char *)(**(code **)(puVar9 + 0xa7e1c))((fts5yypminor->fts5yy0).n);\n      goto LAB_000b38a0;\n    }" if (parenthesized_expression "((Fts5ExprNode *)pfVar19 != (Fts5ExprNode *)0x1)" ( (binary_expression "(Fts5ExprNode *)pfVar19 != (Fts5ExprNode *)0x1" (cast_expression "(Fts5ExprNode *)pfVar19" ( (type_descriptor "Fts5ExprNode *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) != (cast_expression "(Fts5ExprNode *)0x1" ( (type_descriptor "Fts5ExprNode *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      iVar7 = 2;\n      pcStack_174 = (char *)(**(code **)(puVar9 + 0xa7e1c))((fts5yypminor->fts5yy0).n);\n      goto LAB_000b38a0;\n    }" { (expression_statement "iVar7 = 2;" (assignment_expression "iVar7 = 2" identifier = number_literal) ;) (expression_statement "pcStack_174 = (char *)(**(code **)(puVar9 + 0xa7e1c))((fts5yypminor->fts5yy0).n);" (assignment_expression "pcStack_174 = (char *)(**(code **)(puVar9 + 0xa7e1c))((fts5yypminor->fts5yy0).n)" identifier = (cast_expression "(char *)(**(code **)(puVar9 + 0xa7e1c))((fts5yypminor->fts5yy0).n)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar9 + 0xa7e1c))((fts5yypminor->fts5yy0).n)" (parenthesized_expression "(**(code **)(puVar9 + 0xa7e1c))" ( (pointer_expression "**(code **)(puVar9 + 0xa7e1c)" * (pointer_expression "*(code **)(puVar9 + 0xa7e1c)" * (cast_expression "(code **)(puVar9 + 0xa7e1c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0xa7e1c)" ( (binary_expression "puVar9 + 0xa7e1c" identifier + number_literal) ))))) )) (argument_list "((fts5yypminor->fts5yy0).n)" ( (field_expression "(fts5yypminor->fts5yy0).n" (parenthesized_expression "(fts5yypminor->fts5yy0)" ( (field_expression "fts5yypminor->fts5yy0" identifier -> field_identifier) )) . field_identifier) ))))) ;) (goto_statement "goto LAB_000b38a0;" goto statement_identifier ;) })) (expression_statement "nArg = (sqlite3_context *)&DAT_0000000c;" (assignment_expression "nArg = (sqlite3_context *)&DAT_0000000c" identifier = (cast_expression "(sqlite3_context *)&DAT_0000000c" ( (type_descriptor "sqlite3_context *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_0000000c" & identifier))) ;) (expression_statement "azArg = (char **)(**(code **)(puVar9 + 0xa7f68))(0);" (assignment_expression "azArg = (char **)(**(code **)(puVar9 + 0xa7f68))(0)" identifier = (cast_expression "(char **)(**(code **)(puVar9 + 0xa7f68))(0)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(**(code **)(puVar9 + 0xa7f68))(0)" (parenthesized_expression "(**(code **)(puVar9 + 0xa7f68))" ( (pointer_expression "**(code **)(puVar9 + 0xa7f68)" * (pointer_expression "*(code **)(puVar9 + 0xa7f68)" * (cast_expression "(code **)(puVar9 + 0xa7f68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0xa7f68)" ( (binary_expression "puVar9 + 0xa7f68" identifier + number_literal) ))))) )) (argument_list "(0)" ( number_literal ))))) ;) (if_statement "if (azArg == (char **)0x0) goto LAB_000b3a30;" if (parenthesized_expression "(azArg == (char **)0x0)" ( (binary_expression "azArg == (char **)0x0" identifier == (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (goto_statement "goto LAB_000b3a30;" goto statement_identifier ;)) (expression_statement "iVar7 = *(int *)(puVar9 + 0xa7df0);" (assignment_expression "iVar7 = *(int *)(puVar9 + 0xa7df0)" identifier = (pointer_expression "*(int *)(puVar9 + 0xa7df0)" * (cast_expression "(int *)(puVar9 + 0xa7df0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0xa7df0)" ( (binary_expression "puVar9 + 0xa7df0" identifier + number_literal) ))))) ;) (expression_statement "nArg_00 = (fts5YYMINORTYPE *)0x3;" (assignment_expression "nArg_00 = (fts5YYMINORTYPE *)0x3" identifier = (cast_expression "(fts5YYMINORTYPE *)0x3" ( (type_descriptor "fts5YYMINORTYPE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*azArg = (char *)0x0;" (assignment_expression "*azArg = (char *)0x0" (pointer_expression "*azArg" * identifier) = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "azArg[1] = (char *)(iVar7 + 0x538c);" (assignment_expression "azArg[1] = (char *)(iVar7 + 0x538c)" (subscript_expression "azArg[1]" identifier [ number_literal ]) = (cast_expression "(char *)(iVar7 + 0x538c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x538c)" ( (binary_expression "iVar7 + 0x538c" identifier + number_literal) )))) ;) (expression_statement "pcStack_174 = (char *)(*(int *)(puVar9 + 0xa7e04) + -0x7050);" (assignment_expression "pcStack_174 = (char *)(*(int *)(puVar9 + 0xa7e04) + -0x7050)" identifier = (cast_expression "(char *)(*(int *)(puVar9 + 0xa7e04) + -0x7050)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar9 + 0xa7e04) + -0x7050)" ( (binary_expression "*(int *)(puVar9 + 0xa7e04) + -0x7050" (pointer_expression "*(int *)(puVar9 + 0xa7e04)" * (cast_expression "(int *)(puVar9 + 0xa7e04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0xa7e04)" ( (binary_expression "puVar9 + 0xa7e04" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "azArg[2] = (char *)(*(int *)(puVar9 + 0xa7e04) + -0x701c);" (assignment_expression "azArg[2] = (char *)(*(int *)(puVar9 + 0xa7e04) + -0x701c)" (subscript_expression "azArg[2]" identifier [ number_literal ]) = (cast_expression "(char *)(*(int *)(puVar9 + 0xa7e04) + -0x701c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar9 + 0xa7e04) + -0x701c)" ( (binary_expression "*(int *)(puVar9 + 0xa7e04) + -0x701c" (pointer_expression "*(int *)(puVar9 + 0xa7e04)" * (cast_expression "(int *)(puVar9 + 0xa7e04)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0xa7e04)" ( (binary_expression "puVar9 + 0xa7e04" identifier + number_literal) )))) + number_literal) )))) ;) }))) (expression_statement "pfVar19 = (fts5YYMINORTYPE *)(**(code **)(puVar9 + 0xa7e1c))(fts5yypminor->fts5yyinit);" (assignment_expression "pfVar19 = (fts5YYMINORTYPE *)(**(code **)(puVar9 + 0xa7e1c))(fts5yypminor->fts5yyinit)" identifier = (cast_expression "(fts5YYMINORTYPE *)(**(code **)(puVar9 + 0xa7e1c))(fts5yypminor->fts5yyinit)" ( (type_descriptor "fts5YYMINORTYPE *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar9 + 0xa7e1c))(fts5yypminor->fts5yyinit)" (parenthesized_expression "(**(code **)(puVar9 + 0xa7e1c))" ( (pointer_expression "**(code **)(puVar9 + 0xa7e1c)" * (pointer_expression "*(code **)(puVar9 + 0xa7e1c)" * (cast_expression "(code **)(puVar9 + 0xa7e1c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0xa7e1c)" ( (binary_expression "puVar9 + 0xa7e1c" identifier + number_literal) ))))) )) (argument_list "(fts5yypminor->fts5yyinit)" ( (field_expression "fts5yypminor->fts5yyinit" identifier -> field_identifier) ))))) ;) (expression_statement "nArg = (sqlite3_context *)\n         sqlite3Fts5ConfigParse(pGlobal,db,(int)nArg_00,azArg,&pFStack_168,(char **)&psStack_170);" (assignment_expression "nArg = (sqlite3_context *)\n         sqlite3Fts5ConfigParse(pGlobal,db,(int)nArg_00,azArg,&pFStack_168,(char **)&psStack_170)" identifier = (cast_expression "(sqlite3_context *)\n         sqlite3Fts5ConfigParse(pGlobal,db,(int)nArg_00,azArg,&pFStack_168,(char **)&psStack_170)" ( (type_descriptor "sqlite3_context *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sqlite3Fts5ConfigParse(pGlobal,db,(int)nArg_00,azArg,&pFStack_168,(char **)&psStack_170)" identifier (argument_list "(pGlobal,db,(int)nArg_00,azArg,&pFStack_168,(char **)&psStack_170)" ( identifier , identifier , (cast_expression "(int)nArg_00" ( (type_descriptor "int" primitive_type) ) identifier) , identifier , (pointer_expression "&pFStack_168" & identifier) , (cast_expression "(char **)&psStack_170" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&psStack_170" & identifier)) ))))) ;) (expression_statement "pfVar24 = nArg_00;" (assignment_expression "pfVar24 = nArg_00" identifier = identifier) ;) (if_statement "if ((nArg == (sqlite3_context *)0x0) &&\n     (nArg = (sqlite3_context *)\n             sqlite3Fts5ExprNew(pFStack_168,pFStack_168->nCol,(char *)&pfVar19->fts5yyinit,\n                                (Fts5Expr **)&psStack_16c,(char **)&psStack_170), pfVar24 = pfVar19,\n     nArg == (sqlite3_context *)0x0)) {\n    pfVar24 = (fts5YYMINORTYPE *)psStack_16c->pMem;\n    if (*(int *)((int)pfVar24 + 0xc) == 0) {\n      psVar13 = (sqlite3_context *)\n                (**(code **)(puVar9 + 0xa7e30))(*(int *)(puVar9 + 0xa7df0) + 0x53f4);\n      pfVar24 = pfVar19;\n    }\n    else if (pfVar22 == (fts5YYMINORTYPE *)0x0) {\n      psVar13 = (sqlite3_context *)fts5ExprPrint(pFStack_168,(Fts5ExprNode *)&pfVar24->fts5yy0);\n      pfVar24 = pfVar19;\n    }\n    else {\n      psVar13 = (sqlite3_context *)\n                fts5ExprPrintTcl(pFStack_168,pcStack_174,(Fts5ExprNode *)&pfVar24->fts5yy0);\n    }\n    if (psVar13 == (sqlite3_context *)0x0) {\n      nArg = (sqlite3_context *)&DAT_00000007;\n      if (psStack_170 == (sqlite3_context *)0x0) {\n        pcVar15 = *(code **)(puVar9 + 0xa7f84);\n        goto LAB_000b3b60;\n      }\nLAB_000b3970:\n      pfVar24 = (fts5YYMINORTYPE *)0xffffffff;\n      nArg = psStack_170;\n      (**(code **)(puVar9 + 0xa7f78))(pCtx);\n      (**(code **)(puVar9 + 0xa7e28))(psStack_170);\n    }\n    else {\n      pfVar24 = (fts5YYMINORTYPE *)0xffffffff;\n      nArg = psVar13;\n      (**(code **)(puVar9 + 0xa7e84))(pCtx,psVar13,0xffffffff,0xffffffff);\n      (**(code **)(puVar9 + 0xa7e28))(psVar13);\n    }\n  }\n  else {\n    pcVar15 = *(code **)(puVar9 + 0xa7f84);\n    if (psStack_170 != (sqlite3_context *)0x0) goto LAB_000b3970;\nLAB_000b3b60:\n    (*pcVar15)(pCtx);\n  }" if (parenthesized_expression "((nArg == (sqlite3_context *)0x0) &&\n     (nArg = (sqlite3_context *)\n             sqlite3Fts5ExprNew(pFStack_168,pFStack_168->nCol,(char *)&pfVar19->fts5yyinit,\n                                (Fts5Expr **)&psStack_16c,(char **)&psStack_170), pfVar24 = pfVar19,\n     nArg == (sqlite3_context *)0x0))" ( (binary_expression "(nArg == (sqlite3_context *)0x0) &&\n     (nArg = (sqlite3_context *)\n             sqlite3Fts5ExprNew(pFStack_168,pFStack_168->nCol,(char *)&pfVar19->fts5yyinit,\n                                (Fts5Expr **)&psStack_16c,(char **)&psStack_170), pfVar24 = pfVar19,\n     nArg == (sqlite3_context *)0x0)" (parenthesized_expression "(nArg == (sqlite3_context *)0x0)" ( (binary_expression "nArg == (sqlite3_context *)0x0" identifier == (cast_expression "(sqlite3_context *)0x0" ( (type_descriptor "sqlite3_context *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(nArg = (sqlite3_context *)\n             sqlite3Fts5ExprNew(pFStack_168,pFStack_168->nCol,(char *)&pfVar19->fts5yyinit,\n                                (Fts5Expr **)&psStack_16c,(char **)&psStack_170), pfVar24 = pfVar19,\n     nArg == (sqlite3_context *)0x0)" ( (comma_expression "nArg = (sqlite3_context *)\n             sqlite3Fts5ExprNew(pFStack_168,pFStack_168->nCol,(char *)&pfVar19->fts5yyinit,\n                                (Fts5Expr **)&psStack_16c,(char **)&psStack_170), pfVar24 = pfVar19,\n     nArg == (sqlite3_context *)0x0" (assignment_expression "nArg = (sqlite3_context *)\n             sqlite3Fts5ExprNew(pFStack_168,pFStack_168->nCol,(char *)&pfVar19->fts5yyinit,\n                                (Fts5Expr **)&psStack_16c,(char **)&psStack_170)" identifier = (cast_expression "(sqlite3_context *)\n             sqlite3Fts5ExprNew(pFStack_168,pFStack_168->nCol,(char *)&pfVar19->fts5yyinit,\n                                (Fts5Expr **)&psStack_16c,(char **)&psStack_170)" ( (type_descriptor "sqlite3_context *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "sqlite3Fts5ExprNew(pFStack_168,pFStack_168->nCol,(char *)&pfVar19->fts5yyinit,\n                                (Fts5Expr **)&psStack_16c,(char **)&psStack_170)" identifier (argument_list "(pFStack_168,pFStack_168->nCol,(char *)&pfVar19->fts5yyinit,\n                                (Fts5Expr **)&psStack_16c,(char **)&psStack_170)" ( identifier , (field_expression "pFStack_168->nCol" identifier -> field_identifier) , (cast_expression "(char *)&pfVar19->fts5yyinit" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pfVar19->fts5yyinit" & (field_expression "pfVar19->fts5yyinit" identifier -> field_identifier))) , (cast_expression "(Fts5Expr **)&psStack_16c" ( (type_descriptor "Fts5Expr **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&psStack_16c" & identifier)) , (cast_expression "(char **)&psStack_170" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&psStack_170" & identifier)) ))))) , (comma_expression "pfVar24 = pfVar19,\n     nArg == (sqlite3_context *)0x0" (assignment_expression "pfVar24 = pfVar19" identifier = identifier) , (binary_expression "nArg == (sqlite3_context *)0x0" identifier == (cast_expression "(sqlite3_context *)0x0" ( (type_descriptor "sqlite3_context *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)))) ))) )) (compound_statement "{\n    pfVar24 = (fts5YYMINORTYPE *)psStack_16c->pMem;\n    if (*(int *)((int)pfVar24 + 0xc) == 0) {\n      psVar13 = (sqlite3_context *)\n                (**(code **)(puVar9 + 0xa7e30))(*(int *)(puVar9 + 0xa7df0) + 0x53f4);\n      pfVar24 = pfVar19;\n    }\n    else if (pfVar22 == (fts5YYMINORTYPE *)0x0) {\n      psVar13 = (sqlite3_context *)fts5ExprPrint(pFStack_168,(Fts5ExprNode *)&pfVar24->fts5yy0);\n      pfVar24 = pfVar19;\n    }\n    else {\n      psVar13 = (sqlite3_context *)\n                fts5ExprPrintTcl(pFStack_168,pcStack_174,(Fts5ExprNode *)&pfVar24->fts5yy0);\n    }\n    if (psVar13 == (sqlite3_context *)0x0) {\n      nArg = (sqlite3_context *)&DAT_00000007;\n      if (psStack_170 == (sqlite3_context *)0x0) {\n        pcVar15 = *(code **)(puVar9 + 0xa7f84);\n        goto LAB_000b3b60;\n      }\nLAB_000b3970:\n      pfVar24 = (fts5YYMINORTYPE *)0xffffffff;\n      nArg = psStack_170;\n      (**(code **)(puVar9 + 0xa7f78))(pCtx);\n      (**(code **)(puVar9 + 0xa7e28))(psStack_170);\n    }\n    else {\n      pfVar24 = (fts5YYMINORTYPE *)0xffffffff;\n      nArg = psVar13;\n      (**(code **)(puVar9 + 0xa7e84))(pCtx,psVar13,0xffffffff,0xffffffff);\n      (**(code **)(puVar9 + 0xa7e28))(psVar13);\n    }\n  }" { (expression_statement "pfVar24 = (fts5YYMINORTYPE *)psStack_16c->pMem;" (assignment_expression "pfVar24 = (fts5YYMINORTYPE *)psStack_16c->pMem" identifier = (cast_expression "(fts5YYMINORTYPE *)psStack_16c->pMem" ( (type_descriptor "fts5YYMINORTYPE *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "psStack_16c->pMem" identifier -> field_identifier))) ;) (if_statement "if (*(int *)((int)pfVar24 + 0xc) == 0) {\n      psVar13 = (sqlite3_context *)\n                (**(code **)(puVar9 + 0xa7e30))(*(int *)(puVar9 + 0xa7df0) + 0x53f4);\n      pfVar24 = pfVar19;\n    }\n    else if (pfVar22 == (fts5YYMINORTYPE *)0x0) {\n      psVar13 = (sqlite3_context *)fts5ExprPrint(pFStack_168,(Fts5ExprNode *)&pfVar24->fts5yy0);\n      pfVar24 = pfVar19;\n    }\n    else {\n      psVar13 = (sqlite3_context *)\n                fts5ExprPrintTcl(pFStack_168,pcStack_174,(Fts5ExprNode *)&pfVar24->fts5yy0);\n    }" if (parenthesized_expression "(*(int *)((int)pfVar24 + 0xc) == 0)" ( (binary_expression "*(int *)((int)pfVar24 + 0xc) == 0" (pointer_expression "*(int *)((int)pfVar24 + 0xc)" * (cast_expression "(int *)((int)pfVar24 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pfVar24 + 0xc)" ( (binary_expression "(int)pfVar24 + 0xc" (cast_expression "(int)pfVar24" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == number_literal) )) (compound_statement "{\n      psVar13 = (sqlite3_context *)\n                (**(code **)(puVar9 + 0xa7e30))(*(int *)(puVar9 + 0xa7df0) + 0x53f4);\n      pfVar24 = pfVar19;\n    }" { (expression_statement "psVar13 = (sqlite3_context *)\n                (**(code **)(puVar9 + 0xa7e30))(*(int *)(puVar9 + 0xa7df0) + 0x53f4);" (assignment_expression "psVar13 = (sqlite3_context *)\n                (**(code **)(puVar9 + 0xa7e30))(*(int *)(puVar9 + 0xa7df0) + 0x53f4)" identifier = (cast_expression "(sqlite3_context *)\n                (**(code **)(puVar9 + 0xa7e30))(*(int *)(puVar9 + 0xa7df0) + 0x53f4)" ( (type_descriptor "sqlite3_context *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(puVar9 + 0xa7e30))(*(int *)(puVar9 + 0xa7df0) + 0x53f4)" (parenthesized_expression "(**(code **)(puVar9 + 0xa7e30))" ( (pointer_expression "**(code **)(puVar9 + 0xa7e30)" * (pointer_expression "*(code **)(puVar9 + 0xa7e30)" * (cast_expression "(code **)(puVar9 + 0xa7e30)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0xa7e30)" ( (binary_expression "puVar9 + 0xa7e30" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar9 + 0xa7df0) + 0x53f4)" ( (binary_expression "*(int *)(puVar9 + 0xa7df0) + 0x53f4" (pointer_expression "*(int *)(puVar9 + 0xa7df0)" * (cast_expression "(int *)(puVar9 + 0xa7df0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0xa7df0)" ( (binary_expression "puVar9 + 0xa7df0" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "pfVar24 = pfVar19;" (assignment_expression "pfVar24 = pfVar19" identifier = identifier) ;) }) (else_clause "else if (pfVar22 == (fts5YYMINORTYPE *)0x0) {\n      psVar13 = (sqlite3_context *)fts5ExprPrint(pFStack_168,(Fts5ExprNode *)&pfVar24->fts5yy0);\n      pfVar24 = pfVar19;\n    }\n    else {\n      psVar13 = (sqlite3_context *)\n                fts5ExprPrintTcl(pFStack_168,pcStack_174,(Fts5ExprNode *)&pfVar24->fts5yy0);\n    }" else (if_statement "if (pfVar22 == (fts5YYMINORTYPE *)0x0) {\n      psVar13 = (sqlite3_context *)fts5ExprPrint(pFStack_168,(Fts5ExprNode *)&pfVar24->fts5yy0);\n      pfVar24 = pfVar19;\n    }\n    else {\n      psVar13 = (sqlite3_context *)\n                fts5ExprPrintTcl(pFStack_168,pcStack_174,(Fts5ExprNode *)&pfVar24->fts5yy0);\n    }" if (parenthesized_expression "(pfVar22 == (fts5YYMINORTYPE *)0x0)" ( (binary_expression "pfVar22 == (fts5YYMINORTYPE *)0x0" identifier == (cast_expression "(fts5YYMINORTYPE *)0x0" ( (type_descriptor "fts5YYMINORTYPE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      psVar13 = (sqlite3_context *)fts5ExprPrint(pFStack_168,(Fts5ExprNode *)&pfVar24->fts5yy0);\n      pfVar24 = pfVar19;\n    }" { (expression_statement "psVar13 = (sqlite3_context *)fts5ExprPrint(pFStack_168,(Fts5ExprNode *)&pfVar24->fts5yy0);" (assignment_expression "psVar13 = (sqlite3_context *)fts5ExprPrint(pFStack_168,(Fts5ExprNode *)&pfVar24->fts5yy0)" identifier = (cast_expression "(sqlite3_context *)fts5ExprPrint(pFStack_168,(Fts5ExprNode *)&pfVar24->fts5yy0)" ( (type_descriptor "sqlite3_context *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "fts5ExprPrint(pFStack_168,(Fts5ExprNode *)&pfVar24->fts5yy0)" identifier (argument_list "(pFStack_168,(Fts5ExprNode *)&pfVar24->fts5yy0)" ( identifier , (cast_expression "(Fts5ExprNode *)&pfVar24->fts5yy0" ( (type_descriptor "Fts5ExprNode *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pfVar24->fts5yy0" & (field_expression "pfVar24->fts5yy0" identifier -> field_identifier))) ))))) ;) (expression_statement "pfVar24 = pfVar19;" (assignment_expression "pfVar24 = pfVar19" identifier = identifier) ;) }) (else_clause "else {\n      psVar13 = (sqlite3_context *)\n                fts5ExprPrintTcl(pFStack_168,pcStack_174,(Fts5ExprNode *)&pfVar24->fts5yy0);\n    }" else (compound_statement "{\n      psVar13 = (sqlite3_context *)\n                fts5ExprPrintTcl(pFStack_168,pcStack_174,(Fts5ExprNode *)&pfVar24->fts5yy0);\n    }" { (expression_statement "psVar13 = (sqlite3_context *)\n                fts5ExprPrintTcl(pFStack_168,pcStack_174,(Fts5ExprNode *)&pfVar24->fts5yy0);" (assignment_expression "psVar13 = (sqlite3_context *)\n                fts5ExprPrintTcl(pFStack_168,pcStack_174,(Fts5ExprNode *)&pfVar24->fts5yy0)" identifier = (cast_expression "(sqlite3_context *)\n                fts5ExprPrintTcl(pFStack_168,pcStack_174,(Fts5ExprNode *)&pfVar24->fts5yy0)" ( (type_descriptor "sqlite3_context *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "fts5ExprPrintTcl(pFStack_168,pcStack_174,(Fts5ExprNode *)&pfVar24->fts5yy0)" identifier (argument_list "(pFStack_168,pcStack_174,(Fts5ExprNode *)&pfVar24->fts5yy0)" ( identifier , identifier , (cast_expression "(Fts5ExprNode *)&pfVar24->fts5yy0" ( (type_descriptor "Fts5ExprNode *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pfVar24->fts5yy0" & (field_expression "pfVar24->fts5yy0" identifier -> field_identifier))) ))))) ;) }))))) (if_statement "if (psVar13 == (sqlite3_context *)0x0) {\n      nArg = (sqlite3_context *)&DAT_00000007;\n      if (psStack_170 == (sqlite3_context *)0x0) {\n        pcVar15 = *(code **)(puVar9 + 0xa7f84);\n        goto LAB_000b3b60;\n      }\nLAB_000b3970:\n      pfVar24 = (fts5YYMINORTYPE *)0xffffffff;\n      nArg = psStack_170;\n      (**(code **)(puVar9 + 0xa7f78))(pCtx);\n      (**(code **)(puVar9 + 0xa7e28))(psStack_170);\n    }\n    else {\n      pfVar24 = (fts5YYMINORTYPE *)0xffffffff;\n      nArg = psVar13;\n      (**(code **)(puVar9 + 0xa7e84))(pCtx,psVar13,0xffffffff,0xffffffff);\n      (**(code **)(puVar9 + 0xa7e28))(psVar13);\n    }" if (parenthesized_expression "(psVar13 == (sqlite3_context *)0x0)" ( (binary_expression "psVar13 == (sqlite3_context *)0x0" identifier == (cast_expression "(sqlite3_context *)0x0" ( (type_descriptor "sqlite3_context *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      nArg = (sqlite3_context *)&DAT_00000007;\n      if (psStack_170 == (sqlite3_context *)0x0) {\n        pcVar15 = *(code **)(puVar9 + 0xa7f84);\n        goto LAB_000b3b60;\n      }\nLAB_000b3970:\n      pfVar24 = (fts5YYMINORTYPE *)0xffffffff;\n      nArg = psStack_170;\n      (**(code **)(puVar9 + 0xa7f78))(pCtx);\n      (**(code **)(puVar9 + 0xa7e28))(psStack_170);\n    }" { (expression_statement "nArg = (sqlite3_context *)&DAT_00000007;" (assignment_expression "nArg = (sqlite3_context *)&DAT_00000007" identifier = (cast_expression "(sqlite3_context *)&DAT_00000007" ( (type_descriptor "sqlite3_context *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000007" & identifier))) ;) (if_statement "if (psStack_170 == (sqlite3_context *)0x0) {\n        pcVar15 = *(code **)(puVar9 + 0xa7f84);\n        goto LAB_000b3b60;\n      }" if (parenthesized_expression "(psStack_170 == (sqlite3_context *)0x0)" ( (binary_expression "psStack_170 == (sqlite3_context *)0x0" identifier == (cast_expression "(sqlite3_context *)0x0" ( (type_descriptor "sqlite3_context *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pcVar15 = *(code **)(puVar9 + 0xa7f84);\n        goto LAB_000b3b60;\n      }" { (expression_statement "pcVar15 = *(code **)(puVar9 + 0xa7f84);" (assignment_expression "pcVar15 = *(code **)(puVar9 + 0xa7f84)" identifier = (pointer_expression "*(code **)(puVar9 + 0xa7f84)" * (cast_expression "(code **)(puVar9 + 0xa7f84)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0xa7f84)" ( (binary_expression "puVar9 + 0xa7f84" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_000b3b60;" goto statement_identifier ;) })) (labeled_statement "LAB_000b3970:\n      pfVar24 = (fts5YYMINORTYPE *)0xffffffff;" statement_identifier : (expression_statement "pfVar24 = (fts5YYMINORTYPE *)0xffffffff;" (assignment_expression "pfVar24 = (fts5YYMINORTYPE *)0xffffffff" identifier = (cast_expression "(fts5YYMINORTYPE *)0xffffffff" ( (type_descriptor "fts5YYMINORTYPE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "nArg = psStack_170;" (assignment_expression "nArg = psStack_170" identifier = identifier) ;) (expression_statement "(**(code **)(puVar9 + 0xa7f78))(pCtx);" (call_expression "(**(code **)(puVar9 + 0xa7f78))(pCtx)" (parenthesized_expression "(**(code **)(puVar9 + 0xa7f78))" ( (pointer_expression "**(code **)(puVar9 + 0xa7f78)" * (pointer_expression "*(code **)(puVar9 + 0xa7f78)" * (cast_expression "(code **)(puVar9 + 0xa7f78)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0xa7f78)" ( (binary_expression "puVar9 + 0xa7f78" identifier + number_literal) ))))) )) (argument_list "(pCtx)" ( identifier ))) ;) (expression_statement "(**(code **)(puVar9 + 0xa7e28))(psStack_170);" (call_expression "(**(code **)(puVar9 + 0xa7e28))(psStack_170)" (parenthesized_expression "(**(code **)(puVar9 + 0xa7e28))" ( (pointer_expression "**(code **)(puVar9 + 0xa7e28)" * (pointer_expression "*(code **)(puVar9 + 0xa7e28)" * (cast_expression "(code **)(puVar9 + 0xa7e28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0xa7e28)" ( (binary_expression "puVar9 + 0xa7e28" identifier + number_literal) ))))) )) (argument_list "(psStack_170)" ( identifier ))) ;) }) (else_clause "else {\n      pfVar24 = (fts5YYMINORTYPE *)0xffffffff;\n      nArg = psVar13;\n      (**(code **)(puVar9 + 0xa7e84))(pCtx,psVar13,0xffffffff,0xffffffff);\n      (**(code **)(puVar9 + 0xa7e28))(psVar13);\n    }" else (compound_statement "{\n      pfVar24 = (fts5YYMINORTYPE *)0xffffffff;\n      nArg = psVar13;\n      (**(code **)(puVar9 + 0xa7e84))(pCtx,psVar13,0xffffffff,0xffffffff);\n      (**(code **)(puVar9 + 0xa7e28))(psVar13);\n    }" { (expression_statement "pfVar24 = (fts5YYMINORTYPE *)0xffffffff;" (assignment_expression "pfVar24 = (fts5YYMINORTYPE *)0xffffffff" identifier = (cast_expression "(fts5YYMINORTYPE *)0xffffffff" ( (type_descriptor "fts5YYMINORTYPE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "nArg = psVar13;" (assignment_expression "nArg = psVar13" identifier = identifier) ;) (expression_statement "(**(code **)(puVar9 + 0xa7e84))(pCtx,psVar13,0xffffffff,0xffffffff);" (call_expression "(**(code **)(puVar9 + 0xa7e84))(pCtx,psVar13,0xffffffff,0xffffffff)" (parenthesized_expression "(**(code **)(puVar9 + 0xa7e84))" ( (pointer_expression "**(code **)(puVar9 + 0xa7e84)" * (pointer_expression "*(code **)(puVar9 + 0xa7e84)" * (cast_expression "(code **)(puVar9 + 0xa7e84)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0xa7e84)" ( (binary_expression "puVar9 + 0xa7e84" identifier + number_literal) ))))) )) (argument_list "(pCtx,psVar13,0xffffffff,0xffffffff)" ( identifier , identifier , number_literal , number_literal ))) ;) (expression_statement "(**(code **)(puVar9 + 0xa7e28))(psVar13);" (call_expression "(**(code **)(puVar9 + 0xa7e28))(psVar13)" (parenthesized_expression "(**(code **)(puVar9 + 0xa7e28))" ( (pointer_expression "**(code **)(puVar9 + 0xa7e28)" * (pointer_expression "*(code **)(puVar9 + 0xa7e28)" * (cast_expression "(code **)(puVar9 + 0xa7e28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0xa7e28)" ( (binary_expression "puVar9 + 0xa7e28" identifier + number_literal) ))))) )) (argument_list "(psVar13)" ( identifier ))) ;) }))) }) (else_clause "else {\n    pcVar15 = *(code **)(puVar9 + 0xa7f84);\n    if (psStack_170 != (sqlite3_context *)0x0) goto LAB_000b3970;\nLAB_000b3b60:\n    (*pcVar15)(pCtx);\n  }" else (compound_statement "{\n    pcVar15 = *(code **)(puVar9 + 0xa7f84);\n    if (psStack_170 != (sqlite3_context *)0x0) goto LAB_000b3970;\nLAB_000b3b60:\n    (*pcVar15)(pCtx);\n  }" { (expression_statement "pcVar15 = *(code **)(puVar9 + 0xa7f84);" (assignment_expression "pcVar15 = *(code **)(puVar9 + 0xa7f84)" identifier = (pointer_expression "*(code **)(puVar9 + 0xa7f84)" * (cast_expression "(code **)(puVar9 + 0xa7f84)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0xa7f84)" ( (binary_expression "puVar9 + 0xa7f84" identifier + number_literal) ))))) ;) (if_statement "if (psStack_170 != (sqlite3_context *)0x0) goto LAB_000b3970;" if (parenthesized_expression "(psStack_170 != (sqlite3_context *)0x0)" ( (binary_expression "psStack_170 != (sqlite3_context *)0x0" identifier != (cast_expression "(sqlite3_context *)0x0" ( (type_descriptor "sqlite3_context *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000b3970;" goto statement_identifier ;)) (labeled_statement "LAB_000b3b60:\n    (*pcVar15)(pCtx);" statement_identifier : (expression_statement "(*pcVar15)(pCtx);" (call_expression "(*pcVar15)(pCtx)" (parenthesized_expression "(*pcVar15)" ( (pointer_expression "*pcVar15" * identifier) )) (argument_list "(pCtx)" ( identifier ))) ;)) }))) (expression_statement "(**(code **)(puVar9 + 0xa7e28))(azArg);" (call_expression "(**(code **)(puVar9 + 0xa7e28))(azArg)" (parenthesized_expression "(**(code **)(puVar9 + 0xa7e28))" ( (pointer_expression "**(code **)(puVar9 + 0xa7e28)" * (pointer_expression "*(code **)(puVar9 + 0xa7e28)" * (cast_expression "(code **)(puVar9 + 0xa7e28)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0xa7e28)" ( (binary_expression "puVar9 + 0xa7e28" identifier + number_literal) ))))) )) (argument_list "(azArg)" ( identifier ))) ;) (expression_statement "(*(code *)(*(int *)(puVar9 + 0xa7ec8) + -0xe08))(pFStack_168);" (call_expression "(*(code *)(*(int *)(puVar9 + 0xa7ec8) + -0xe08))(pFStack_168)" (parenthesized_expression "(*(code *)(*(int *)(puVar9 + 0xa7ec8) + -0xe08))" ( (pointer_expression "*(code *)(*(int *)(puVar9 + 0xa7ec8) + -0xe08)" * (cast_expression "(code *)(*(int *)(puVar9 + 0xa7ec8) + -0xe08)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar9 + 0xa7ec8) + -0xe08)" ( (binary_expression "*(int *)(puVar9 + 0xa7ec8) + -0xe08" (pointer_expression "*(int *)(puVar9 + 0xa7ec8)" * (cast_expression "(int *)(puVar9 + 0xa7ec8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + 0xa7ec8)" ( (binary_expression "puVar9 + 0xa7ec8" identifier + number_literal) )))) + number_literal) )))) )) (argument_list "(pFStack_168)" ( identifier ))) ;) (expression_statement "pCtx = psStack_16c;" (assignment_expression "pCtx = psStack_16c" identifier = identifier) ;) (if_statement "if (psStack_16c != (sqlite3_context *)0x0) {\n    sqlite3Fts5ExprFree((Fts5Expr *)psStack_16c);\n  }" if (parenthesized_expression "(psStack_16c != (sqlite3_context *)0x0)" ( (binary_expression "psStack_16c != (sqlite3_context *)0x0" identifier != (cast_expression "(sqlite3_context *)0x0" ( (type_descriptor "sqlite3_context *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    sqlite3Fts5ExprFree((Fts5Expr *)psStack_16c);\n  }" { (expression_statement "sqlite3Fts5ExprFree((Fts5Expr *)psStack_16c);" (call_expression "sqlite3Fts5ExprFree((Fts5Expr *)psStack_16c)" identifier (argument_list "((Fts5Expr *)psStack_16c)" ( (cast_expression "(Fts5Expr *)psStack_16c" ( (type_descriptor "Fts5Expr *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) })) (labeled_statement "LAB_000b39d4:\n  iVar7 = *piVar26;" statement_identifier : (expression_statement "iVar7 = *piVar26;" (assignment_expression "iVar7 = *piVar26" identifier = (pointer_expression "*piVar26" * identifier)) ;)) (if_statement "if (iStack_164 == iVar7) {\n    return iVar7;\n  }" if (parenthesized_expression "(iStack_164 == iVar7)" ( (binary_expression "iStack_164 == iVar7" identifier == identifier) )) (compound_statement "{\n    return iVar7;\n  }" { (return_statement "return iVar7;" return identifier ;) })) (expression_statement "iVar7 = (**(code **)(puVar9 + 0xa8218))();" (assignment_expression "iVar7 = (**(code **)(puVar9 + 0xa8218))()" identifier = (call_expression "(**(code **)(puVar9 + 0xa8218))()" (parenthesized_expression "(**(code **)(puVar9 + 0xa8218))" ( (pointer_expression "**(code **)(puVar9 + 0xa8218)" * (pointer_expression "*(code **)(puVar9 + 0xa8218)" * (cast_expression "(code **)(puVar9 + 0xa8218)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar9 + 0xa8218)" ( (binary_expression "puVar9 + 0xa8218" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "fts5ExprFunction(pCtx,(int)nArg,(sqlite3_value **)&pfVar24->fts5yy11,1);" (call_expression "fts5ExprFunction(pCtx,(int)nArg,(sqlite3_value **)&pfVar24->fts5yy11,1)" identifier (argument_list "(pCtx,(int)nArg,(sqlite3_value **)&pfVar24->fts5yy11,1)" ( identifier , (cast_expression "(int)nArg" ( (type_descriptor "int" primitive_type) ) identifier) , (cast_expression "(sqlite3_value **)&pfVar24->fts5yy11" ( (type_descriptor "sqlite3_value **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&pfVar24->fts5yy11" & (field_expression "pfVar24->fts5yy11" identifier -> field_identifier))) , number_literal ))) ;) (return_statement "return iVar7;" return identifier ;) (labeled_statement "LAB_000b2d2c:\n  pfVar11 = fts5yypParser->fts5yytos;" statement_identifier : (expression_statement "pfVar11 = fts5yypParser->fts5yytos;" (assignment_expression "pfVar11 = fts5yypParser->fts5yytos" identifier = (field_expression "fts5yypParser->fts5yytos" identifier -> field_identifier)) ;)) (if_statement "if (unaff_s1 < pfVar11) {\n    pFVar23 = (Fts5Config *)(PTR_LAB_0015b6f8 + 0x23c0);\n    do {\n      pfVar19 = &pfVar11->minor;\n      fts5yypParser->fts5yytos = pfVar11 + -1;\n      fts5yy_destructor((fts5yyParser *)(uint)pfVar11->major,(uchar)pfVar19,fts5yypminor);\n      pfVar11 = fts5yypParser->fts5yytos;\n    } while (unaff_s1 < pfVar11);\n  }" if (parenthesized_expression "(unaff_s1 < pfVar11)" ( (binary_expression "unaff_s1 < pfVar11" identifier < identifier) )) (compound_statement "{\n    pFVar23 = (Fts5Config *)(PTR_LAB_0015b6f8 + 0x23c0);\n    do {\n      pfVar19 = &pfVar11->minor;\n      fts5yypParser->fts5yytos = pfVar11 + -1;\n      fts5yy_destructor((fts5yyParser *)(uint)pfVar11->major,(uchar)pfVar19,fts5yypminor);\n      pfVar11 = fts5yypParser->fts5yytos;\n    } while (unaff_s1 < pfVar11);\n  }" { (expression_statement "pFVar23 = (Fts5Config *)(PTR_LAB_0015b6f8 + 0x23c0);" (assignment_expression "pFVar23 = (Fts5Config *)(PTR_LAB_0015b6f8 + 0x23c0)" identifier = (cast_expression "(Fts5Config *)(PTR_LAB_0015b6f8 + 0x23c0)" ( (type_descriptor "Fts5Config *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b6f8 + 0x23c0)" ( (binary_expression "PTR_LAB_0015b6f8 + 0x23c0" identifier + number_literal) )))) ;) (do_statement "do {\n      pfVar19 = &pfVar11->minor;\n      fts5yypParser->fts5yytos = pfVar11 + -1;\n      fts5yy_destructor((fts5yyParser *)(uint)pfVar11->major,(uchar)pfVar19,fts5yypminor);\n      pfVar11 = fts5yypParser->fts5yytos;\n    } while (unaff_s1 < pfVar11);" do (compound_statement "{\n      pfVar19 = &pfVar11->minor;\n      fts5yypParser->fts5yytos = pfVar11 + -1;\n      fts5yy_destructor((fts5yyParser *)(uint)pfVar11->major,(uchar)pfVar19,fts5yypminor);\n      pfVar11 = fts5yypParser->fts5yytos;\n    }" { (expression_statement "pfVar19 = &pfVar11->minor;" (assignment_expression "pfVar19 = &pfVar11->minor" identifier = (pointer_expression "&pfVar11->minor" & (field_expression "pfVar11->minor" identifier -> field_identifier))) ;) (expression_statement "fts5yypParser->fts5yytos = pfVar11 + -1;" (assignment_expression "fts5yypParser->fts5yytos = pfVar11 + -1" (field_expression "fts5yypParser->fts5yytos" identifier -> field_identifier) = (binary_expression "pfVar11 + -1" identifier + number_literal)) ;) (expression_statement "fts5yy_destructor((fts5yyParser *)(uint)pfVar11->major,(uchar)pfVar19,fts5yypminor);" (call_expression "fts5yy_destructor((fts5yyParser *)(uint)pfVar11->major,(uchar)pfVar19,fts5yypminor)" identifier (argument_list "((fts5yyParser *)(uint)pfVar11->major,(uchar)pfVar19,fts5yypminor)" ( (cast_expression "(fts5yyParser *)(uint)pfVar11->major" ( (type_descriptor "fts5yyParser *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)pfVar11->major" ( (type_descriptor "uint" type_identifier) ) (field_expression "pfVar11->major" identifier -> field_identifier))) , (cast_expression "(uchar)pfVar19" ( (type_descriptor "uchar" type_identifier) ) identifier) , identifier ))) ;) (expression_statement "pfVar11 = fts5yypParser->fts5yytos;" (assignment_expression "pfVar11 = fts5yypParser->fts5yytos" identifier = (field_expression "fts5yypParser->fts5yytos" identifier -> field_identifier)) ;) }) while (parenthesized_expression "(unaff_s1 < pfVar11)" ( (binary_expression "unaff_s1 < pfVar11" identifier < identifier) )) ;) })) (expression_statement "(*(code *)PTR_sqlite3_free_0015b620)(fts5yypParser);" (call_expression "(*(code *)PTR_sqlite3_free_0015b620)(fts5yypParser)" (parenthesized_expression "(*(code *)PTR_sqlite3_free_0015b620)" ( (pointer_expression "*(code *)PTR_sqlite3_free_0015b620" * (cast_expression "(code *)PTR_sqlite3_free_0015b620" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(fts5yypParser)" ( identifier ))) ;) (if_statement "if ((iCol < pConfig->nCol) && (sParse.pExpr != (Fts5ExprNode *)0x0)) {\n    if (sParse.rc == 0) {\n      pfVar22 = (fts5YYMINORTYPE *)&DAT_00000008;\n      fts5yypminor = (fts5YYMINORTYPE *)0x0;\n      pfVar24 = (fts5YYMINORTYPE *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&sParse.rc);\n      if (pfVar24 != (fts5YYMINORTYPE *)0x0) {\n        (pfVar24->fts5yy0).n = iCol;\n        pfVar24->fts5yyinit = 1;\n        pfVar19 = (fts5YYMINORTYPE *)sParse.pExpr;\n        sqlite3Fts5ParseSetColset(&sParse,sParse.pExpr,(Fts5Colset *)&pfVar24->fts5yy0);\n        fts5yypminor = pfVar24;\n      }\n      goto LAB_000b321c;\n    }\nLAB_000b2da8:\n    sqlite3Fts5ParseNodeFree(sParse.pExpr);\n  }\n  else {\nLAB_000b321c:\n    if (sParse.rc != 0) goto LAB_000b2da8;\n    pFVar23 = (Fts5Config *)(*(code *)PTR_sqlite3_malloc_0015b640)(0x18);\n    *ppNew = (Fts5Expr *)pFVar23;\n    if (pFVar23 == (Fts5Config *)0x0) {\n      sParse.rc = 7;\n      goto LAB_000b2da8;\n    }\n    if (sParse.pExpr == (Fts5ExprNode *)0x0) {\n      if (sParse.rc == 0) {\n        pfVar22 = (fts5YYMINORTYPE *)&DAT_00000028;\n        fts5yypminor = (fts5YYMINORTYPE *)0x0;\n        pcVar28 = (char *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&sParse.rc);\n        pFVar23->zName = pcVar28;\n        if (pcVar28 != (char *)0x0) {\n          pcVar28[4] = '\0';\n          pcVar28[5] = '\0';\n          pcVar28[6] = '\0';\n          pcVar28[7] = '\x01';\n        }\n      }\n      else {\n        pFVar23->zName = (char *)0x0;\n      }\n    }\n    else {\n      pFVar23->zName = (char *)sParse.pExpr;\n    }\n    pFVar23->db = (sqlite3 *)0x0;\n    pFVar23->zDb = (char *)pConfig;\n    pFVar23->abUnindexed = (u8 *)sParse.apPhrase;\n    pFVar23->azCol = (char **)sParse.nPhrase;\n    sParse.apPhrase = (Fts5ExprPhrase **)0x0;\n  }" if (parenthesized_expression "((iCol < pConfig->nCol) && (sParse.pExpr != (Fts5ExprNode *)0x0))" ( (binary_expression "(iCol < pConfig->nCol) && (sParse.pExpr != (Fts5ExprNode *)0x0)" (parenthesized_expression "(iCol < pConfig->nCol)" ( (binary_expression "iCol < pConfig->nCol" identifier < (field_expression "pConfig->nCol" identifier -> field_identifier)) )) && (parenthesized_expression "(sParse.pExpr != (Fts5ExprNode *)0x0)" ( (binary_expression "sParse.pExpr != (Fts5ExprNode *)0x0" (field_expression "sParse.pExpr" identifier . field_identifier) != (cast_expression "(Fts5ExprNode *)0x0" ( (type_descriptor "Fts5ExprNode *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n    if (sParse.rc == 0) {\n      pfVar22 = (fts5YYMINORTYPE *)&DAT_00000008;\n      fts5yypminor = (fts5YYMINORTYPE *)0x0;\n      pfVar24 = (fts5YYMINORTYPE *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&sParse.rc);\n      if (pfVar24 != (fts5YYMINORTYPE *)0x0) {\n        (pfVar24->fts5yy0).n = iCol;\n        pfVar24->fts5yyinit = 1;\n        pfVar19 = (fts5YYMINORTYPE *)sParse.pExpr;\n        sqlite3Fts5ParseSetColset(&sParse,sParse.pExpr,(Fts5Colset *)&pfVar24->fts5yy0);\n        fts5yypminor = pfVar24;\n      }\n      goto LAB_000b321c;\n    }\nLAB_000b2da8:\n    sqlite3Fts5ParseNodeFree(sParse.pExpr);\n  }" { (if_statement "if (sParse.rc == 0) {\n      pfVar22 = (fts5YYMINORTYPE *)&DAT_00000008;\n      fts5yypminor = (fts5YYMINORTYPE *)0x0;\n      pfVar24 = (fts5YYMINORTYPE *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&sParse.rc);\n      if (pfVar24 != (fts5YYMINORTYPE *)0x0) {\n        (pfVar24->fts5yy0).n = iCol;\n        pfVar24->fts5yyinit = 1;\n        pfVar19 = (fts5YYMINORTYPE *)sParse.pExpr;\n        sqlite3Fts5ParseSetColset(&sParse,sParse.pExpr,(Fts5Colset *)&pfVar24->fts5yy0);\n        fts5yypminor = pfVar24;\n      }\n      goto LAB_000b321c;\n    }" if (parenthesized_expression "(sParse.rc == 0)" ( (binary_expression "sParse.rc == 0" (field_expression "sParse.rc" identifier . field_identifier) == number_literal) )) (compound_statement "{\n      pfVar22 = (fts5YYMINORTYPE *)&DAT_00000008;\n      fts5yypminor = (fts5YYMINORTYPE *)0x0;\n      pfVar24 = (fts5YYMINORTYPE *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&sParse.rc);\n      if (pfVar24 != (fts5YYMINORTYPE *)0x0) {\n        (pfVar24->fts5yy0).n = iCol;\n        pfVar24->fts5yyinit = 1;\n        pfVar19 = (fts5YYMINORTYPE *)sParse.pExpr;\n        sqlite3Fts5ParseSetColset(&sParse,sParse.pExpr,(Fts5Colset *)&pfVar24->fts5yy0);\n        fts5yypminor = pfVar24;\n      }\n      goto LAB_000b321c;\n    }" { (expression_statement "pfVar22 = (fts5YYMINORTYPE *)&DAT_00000008;" (assignment_expression "pfVar22 = (fts5YYMINORTYPE *)&DAT_00000008" identifier = (cast_expression "(fts5YYMINORTYPE *)&DAT_00000008" ( (type_descriptor "fts5YYMINORTYPE *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000008" & identifier))) ;) (expression_statement "fts5yypminor = (fts5YYMINORTYPE *)0x0;" (assignment_expression "fts5yypminor = (fts5YYMINORTYPE *)0x0" identifier = (cast_expression "(fts5YYMINORTYPE *)0x0" ( (type_descriptor "fts5YYMINORTYPE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pfVar24 = (fts5YYMINORTYPE *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&sParse.rc);" (assignment_expression "pfVar24 = (fts5YYMINORTYPE *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&sParse.rc)" identifier = (cast_expression "(fts5YYMINORTYPE *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&sParse.rc)" ( (type_descriptor "fts5YYMINORTYPE *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(PTR_LAB_0015b700 + 0x108c))(&sParse.rc)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b700 + 0x108c))" ( (pointer_expression "*(code *)(PTR_LAB_0015b700 + 0x108c)" * (cast_expression "(code *)(PTR_LAB_0015b700 + 0x108c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b700 + 0x108c)" ( (binary_expression "PTR_LAB_0015b700 + 0x108c" identifier + number_literal) )))) )) (argument_list "(&sParse.rc)" ( (pointer_expression "&sParse.rc" & (field_expression "sParse.rc" identifier . field_identifier)) ))))) ;) (if_statement "if (pfVar24 != (fts5YYMINORTYPE *)0x0) {\n        (pfVar24->fts5yy0).n = iCol;\n        pfVar24->fts5yyinit = 1;\n        pfVar19 = (fts5YYMINORTYPE *)sParse.pExpr;\n        sqlite3Fts5ParseSetColset(&sParse,sParse.pExpr,(Fts5Colset *)&pfVar24->fts5yy0);\n        fts5yypminor = pfVar24;\n      }" if (parenthesized_expression "(pfVar24 != (fts5YYMINORTYPE *)0x0)" ( (binary_expression "pfVar24 != (fts5YYMINORTYPE *)0x0" identifier != (cast_expression "(fts5YYMINORTYPE *)0x0" ( (type_descriptor "fts5YYMINORTYPE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        (pfVar24->fts5yy0).n = iCol;\n        pfVar24->fts5yyinit = 1;\n        pfVar19 = (fts5YYMINORTYPE *)sParse.pExpr;\n        sqlite3Fts5ParseSetColset(&sParse,sParse.pExpr,(Fts5Colset *)&pfVar24->fts5yy0);\n        fts5yypminor = pfVar24;\n      }" { (expression_statement "(pfVar24->fts5yy0).n = iCol;" (assignment_expression "(pfVar24->fts5yy0).n = iCol" (field_expression "(pfVar24->fts5yy0).n" (parenthesized_expression "(pfVar24->fts5yy0)" ( (field_expression "pfVar24->fts5yy0" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "pfVar24->fts5yyinit = 1;" (assignment_expression "pfVar24->fts5yyinit = 1" (field_expression "pfVar24->fts5yyinit" identifier -> field_identifier) = number_literal) ;) (expression_statement "pfVar19 = (fts5YYMINORTYPE *)sParse.pExpr;" (assignment_expression "pfVar19 = (fts5YYMINORTYPE *)sParse.pExpr" identifier = (cast_expression "(fts5YYMINORTYPE *)sParse.pExpr" ( (type_descriptor "fts5YYMINORTYPE *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "sParse.pExpr" identifier . field_identifier))) ;) (expression_statement "sqlite3Fts5ParseSetColset(&sParse,sParse.pExpr,(Fts5Colset *)&pfVar24->fts5yy0);" (call_expression "sqlite3Fts5ParseSetColset(&sParse,sParse.pExpr,(Fts5Colset *)&pfVar24->fts5yy0)" identifier (argument_list "(&sParse,sParse.pExpr,(Fts5Colset *)&pfVar24->fts5yy0)" ( (pointer_expression "&sParse" & identifier) , (field_expression "sParse.pExpr" identifier . field_identifier) , (cast_expression "(Fts5Colset *)&pfVar24->fts5yy0" ( (type_descriptor "Fts5Colset *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pfVar24->fts5yy0" & (field_expression "pfVar24->fts5yy0" identifier -> field_identifier))) ))) ;) (expression_statement "fts5yypminor = pfVar24;" (assignment_expression "fts5yypminor = pfVar24" identifier = identifier) ;) })) (goto_statement "goto LAB_000b321c;" goto statement_identifier ;) })) (labeled_statement "LAB_000b2da8:\n    sqlite3Fts5ParseNodeFree(sParse.pExpr);" statement_identifier : (expression_statement "sqlite3Fts5ParseNodeFree(sParse.pExpr);" (call_expression "sqlite3Fts5ParseNodeFree(sParse.pExpr)" identifier (argument_list "(sParse.pExpr)" ( (field_expression "sParse.pExpr" identifier . field_identifier) ))) ;)) }) (else_clause "else {\nLAB_000b321c:\n    if (sParse.rc != 0) goto LAB_000b2da8;\n    pFVar23 = (Fts5Config *)(*(code *)PTR_sqlite3_malloc_0015b640)(0x18);\n    *ppNew = (Fts5Expr *)pFVar23;\n    if (pFVar23 == (Fts5Config *)0x0) {\n      sParse.rc = 7;\n      goto LAB_000b2da8;\n    }\n    if (sParse.pExpr == (Fts5ExprNode *)0x0) {\n      if (sParse.rc == 0) {\n        pfVar22 = (fts5YYMINORTYPE *)&DAT_00000028;\n        fts5yypminor = (fts5YYMINORTYPE *)0x0;\n        pcVar28 = (char *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&sParse.rc);\n        pFVar23->zName = pcVar28;\n        if (pcVar28 != (char *)0x0) {\n          pcVar28[4] = '\0';\n          pcVar28[5] = '\0';\n          pcVar28[6] = '\0';\n          pcVar28[7] = '\x01';\n        }\n      }\n      else {\n        pFVar23->zName = (char *)0x0;\n      }\n    }\n    else {\n      pFVar23->zName = (char *)sParse.pExpr;\n    }\n    pFVar23->db = (sqlite3 *)0x0;\n    pFVar23->zDb = (char *)pConfig;\n    pFVar23->abUnindexed = (u8 *)sParse.apPhrase;\n    pFVar23->azCol = (char **)sParse.nPhrase;\n    sParse.apPhrase = (Fts5ExprPhrase **)0x0;\n  }" else (compound_statement "{\nLAB_000b321c:\n    if (sParse.rc != 0) goto LAB_000b2da8;\n    pFVar23 = (Fts5Config *)(*(code *)PTR_sqlite3_malloc_0015b640)(0x18);\n    *ppNew = (Fts5Expr *)pFVar23;\n    if (pFVar23 == (Fts5Config *)0x0) {\n      sParse.rc = 7;\n      goto LAB_000b2da8;\n    }\n    if (sParse.pExpr == (Fts5ExprNode *)0x0) {\n      if (sParse.rc == 0) {\n        pfVar22 = (fts5YYMINORTYPE *)&DAT_00000028;\n        fts5yypminor = (fts5YYMINORTYPE *)0x0;\n        pcVar28 = (char *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&sParse.rc);\n        pFVar23->zName = pcVar28;\n        if (pcVar28 != (char *)0x0) {\n          pcVar28[4] = '\0';\n          pcVar28[5] = '\0';\n          pcVar28[6] = '\0';\n          pcVar28[7] = '\x01';\n        }\n      }\n      else {\n        pFVar23->zName = (char *)0x0;\n      }\n    }\n    else {\n      pFVar23->zName = (char *)sParse.pExpr;\n    }\n    pFVar23->db = (sqlite3 *)0x0;\n    pFVar23->zDb = (char *)pConfig;\n    pFVar23->abUnindexed = (u8 *)sParse.apPhrase;\n    pFVar23->azCol = (char **)sParse.nPhrase;\n    sParse.apPhrase = (Fts5ExprPhrase **)0x0;\n  }" { (labeled_statement "LAB_000b321c:\n    if (sParse.rc != 0) goto LAB_000b2da8;" statement_identifier : (if_statement "if (sParse.rc != 0) goto LAB_000b2da8;" if (parenthesized_expression "(sParse.rc != 0)" ( (binary_expression "sParse.rc != 0" (field_expression "sParse.rc" identifier . field_identifier) != number_literal) )) (goto_statement "goto LAB_000b2da8;" goto statement_identifier ;))) (expression_statement "pFVar23 = (Fts5Config *)(*(code *)PTR_sqlite3_malloc_0015b640)(0x18);" (assignment_expression "pFVar23 = (Fts5Config *)(*(code *)PTR_sqlite3_malloc_0015b640)(0x18)" identifier = (cast_expression "(Fts5Config *)(*(code *)PTR_sqlite3_malloc_0015b640)(0x18)" ( (type_descriptor "Fts5Config *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_sqlite3_malloc_0015b640)(0x18)" (parenthesized_expression "(*(code *)PTR_sqlite3_malloc_0015b640)" ( (pointer_expression "*(code *)PTR_sqlite3_malloc_0015b640" * (cast_expression "(code *)PTR_sqlite3_malloc_0015b640" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x18)" ( number_literal ))))) ;) (expression_statement "*ppNew = (Fts5Expr *)pFVar23;" (assignment_expression "*ppNew = (Fts5Expr *)pFVar23" (pointer_expression "*ppNew" * identifier) = (cast_expression "(Fts5Expr *)pFVar23" ( (type_descriptor "Fts5Expr *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (pFVar23 == (Fts5Config *)0x0) {\n      sParse.rc = 7;\n      goto LAB_000b2da8;\n    }" if (parenthesized_expression "(pFVar23 == (Fts5Config *)0x0)" ( (binary_expression "pFVar23 == (Fts5Config *)0x0" identifier == (cast_expression "(Fts5Config *)0x0" ( (type_descriptor "Fts5Config *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      sParse.rc = 7;\n      goto LAB_000b2da8;\n    }" { (expression_statement "sParse.rc = 7;" (assignment_expression "sParse.rc = 7" (field_expression "sParse.rc" identifier . field_identifier) = number_literal) ;) (goto_statement "goto LAB_000b2da8;" goto statement_identifier ;) })) (if_statement "if (sParse.pExpr == (Fts5ExprNode *)0x0) {\n      if (sParse.rc == 0) {\n        pfVar22 = (fts5YYMINORTYPE *)&DAT_00000028;\n        fts5yypminor = (fts5YYMINORTYPE *)0x0;\n        pcVar28 = (char *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&sParse.rc);\n        pFVar23->zName = pcVar28;\n        if (pcVar28 != (char *)0x0) {\n          pcVar28[4] = '\0';\n          pcVar28[5] = '\0';\n          pcVar28[6] = '\0';\n          pcVar28[7] = '\x01';\n        }\n      }\n      else {\n        pFVar23->zName = (char *)0x0;\n      }\n    }\n    else {\n      pFVar23->zName = (char *)sParse.pExpr;\n    }" if (parenthesized_expression "(sParse.pExpr == (Fts5ExprNode *)0x0)" ( (binary_expression "sParse.pExpr == (Fts5ExprNode *)0x0" (field_expression "sParse.pExpr" identifier . field_identifier) == (cast_expression "(Fts5ExprNode *)0x0" ( (type_descriptor "Fts5ExprNode *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      if (sParse.rc == 0) {\n        pfVar22 = (fts5YYMINORTYPE *)&DAT_00000028;\n        fts5yypminor = (fts5YYMINORTYPE *)0x0;\n        pcVar28 = (char *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&sParse.rc);\n        pFVar23->zName = pcVar28;\n        if (pcVar28 != (char *)0x0) {\n          pcVar28[4] = '\0';\n          pcVar28[5] = '\0';\n          pcVar28[6] = '\0';\n          pcVar28[7] = '\x01';\n        }\n      }\n      else {\n        pFVar23->zName = (char *)0x0;\n      }\n    }" { (if_statement "if (sParse.rc == 0) {\n        pfVar22 = (fts5YYMINORTYPE *)&DAT_00000028;\n        fts5yypminor = (fts5YYMINORTYPE *)0x0;\n        pcVar28 = (char *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&sParse.rc);\n        pFVar23->zName = pcVar28;\n        if (pcVar28 != (char *)0x0) {\n          pcVar28[4] = '\0';\n          pcVar28[5] = '\0';\n          pcVar28[6] = '\0';\n          pcVar28[7] = '\x01';\n        }\n      }\n      else {\n        pFVar23->zName = (char *)0x0;\n      }" if (parenthesized_expression "(sParse.rc == 0)" ( (binary_expression "sParse.rc == 0" (field_expression "sParse.rc" identifier . field_identifier) == number_literal) )) (compound_statement "{\n        pfVar22 = (fts5YYMINORTYPE *)&DAT_00000028;\n        fts5yypminor = (fts5YYMINORTYPE *)0x0;\n        pcVar28 = (char *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&sParse.rc);\n        pFVar23->zName = pcVar28;\n        if (pcVar28 != (char *)0x0) {\n          pcVar28[4] = '\0';\n          pcVar28[5] = '\0';\n          pcVar28[6] = '\0';\n          pcVar28[7] = '\x01';\n        }\n      }" { (expression_statement "pfVar22 = (fts5YYMINORTYPE *)&DAT_00000028;" (assignment_expression "pfVar22 = (fts5YYMINORTYPE *)&DAT_00000028" identifier = (cast_expression "(fts5YYMINORTYPE *)&DAT_00000028" ( (type_descriptor "fts5YYMINORTYPE *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000028" & identifier))) ;) (expression_statement "fts5yypminor = (fts5YYMINORTYPE *)0x0;" (assignment_expression "fts5yypminor = (fts5YYMINORTYPE *)0x0" identifier = (cast_expression "(fts5YYMINORTYPE *)0x0" ( (type_descriptor "fts5YYMINORTYPE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcVar28 = (char *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&sParse.rc);" (assignment_expression "pcVar28 = (char *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&sParse.rc)" identifier = (cast_expression "(char *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&sParse.rc)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(PTR_LAB_0015b700 + 0x108c))(&sParse.rc)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b700 + 0x108c))" ( (pointer_expression "*(code *)(PTR_LAB_0015b700 + 0x108c)" * (cast_expression "(code *)(PTR_LAB_0015b700 + 0x108c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b700 + 0x108c)" ( (binary_expression "PTR_LAB_0015b700 + 0x108c" identifier + number_literal) )))) )) (argument_list "(&sParse.rc)" ( (pointer_expression "&sParse.rc" & (field_expression "sParse.rc" identifier . field_identifier)) ))))) ;) (expression_statement "pFVar23->zName = pcVar28;" (assignment_expression "pFVar23->zName = pcVar28" (field_expression "pFVar23->zName" identifier -> field_identifier) = identifier) ;) (if_statement "if (pcVar28 != (char *)0x0) {\n          pcVar28[4] = '\0';\n          pcVar28[5] = '\0';\n          pcVar28[6] = '\0';\n          pcVar28[7] = '\x01';\n        }" if (parenthesized_expression "(pcVar28 != (char *)0x0)" ( (binary_expression "pcVar28 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          pcVar28[4] = '\0';\n          pcVar28[5] = '\0';\n          pcVar28[6] = '\0';\n          pcVar28[7] = '\x01';\n        }" { (expression_statement "pcVar28[4] = '\0';" (assignment_expression "pcVar28[4] = '\0'" (subscript_expression "pcVar28[4]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar28[5] = '\0';" (assignment_expression "pcVar28[5] = '\0'" (subscript_expression "pcVar28[5]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar28[6] = '\0';" (assignment_expression "pcVar28[6] = '\0'" (subscript_expression "pcVar28[6]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar28[7] = '\x01';" (assignment_expression "pcVar28[7] = '\x01'" (subscript_expression "pcVar28[7]" identifier [ number_literal ]) = (char_literal "'\x01'" ' escape_sequence ')) ;) })) }) (else_clause "else {\n        pFVar23->zName = (char *)0x0;\n      }" else (compound_statement "{\n        pFVar23->zName = (char *)0x0;\n      }" { (expression_statement "pFVar23->zName = (char *)0x0;" (assignment_expression "pFVar23->zName = (char *)0x0" (field_expression "pFVar23->zName" identifier -> field_identifier) = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) }) (else_clause "else {\n      pFVar23->zName = (char *)sParse.pExpr;\n    }" else (compound_statement "{\n      pFVar23->zName = (char *)sParse.pExpr;\n    }" { (expression_statement "pFVar23->zName = (char *)sParse.pExpr;" (assignment_expression "pFVar23->zName = (char *)sParse.pExpr" (field_expression "pFVar23->zName" identifier -> field_identifier) = (cast_expression "(char *)sParse.pExpr" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "sParse.pExpr" identifier . field_identifier))) ;) }))) (expression_statement "pFVar23->db = (sqlite3 *)0x0;" (assignment_expression "pFVar23->db = (sqlite3 *)0x0" (field_expression "pFVar23->db" identifier -> field_identifier) = (cast_expression "(sqlite3 *)0x0" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pFVar23->zDb = (char *)pConfig;" (assignment_expression "pFVar23->zDb = (char *)pConfig" (field_expression "pFVar23->zDb" identifier -> field_identifier) = (cast_expression "(char *)pConfig" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pFVar23->abUnindexed = (u8 *)sParse.apPhrase;" (assignment_expression "pFVar23->abUnindexed = (u8 *)sParse.apPhrase" (field_expression "pFVar23->abUnindexed" identifier -> field_identifier) = (cast_expression "(u8 *)sParse.apPhrase" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "sParse.apPhrase" identifier . field_identifier))) ;) (expression_statement "pFVar23->azCol = (char **)sParse.nPhrase;" (assignment_expression "pFVar23->azCol = (char **)sParse.nPhrase" (field_expression "pFVar23->azCol" identifier -> field_identifier) = (cast_expression "(char **)sParse.nPhrase" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (field_expression "sParse.nPhrase" identifier . field_identifier))) ;) (expression_statement "sParse.apPhrase = (Fts5ExprPhrase **)0x0;" (assignment_expression "sParse.apPhrase = (Fts5ExprPhrase **)0x0" (field_expression "sParse.apPhrase" identifier . field_identifier) = (cast_expression "(Fts5ExprPhrase **)0x0" ( (type_descriptor "Fts5ExprPhrase **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) }))) (expression_statement "(*(code *)PTR_sqlite3_free_0015b620)(sParse.apPhrase);" (call_expression "(*(code *)PTR_sqlite3_free_0015b620)(sParse.apPhrase)" (parenthesized_expression "(*(code *)PTR_sqlite3_free_0015b620)" ( (pointer_expression "*(code *)PTR_sqlite3_free_0015b620" * (cast_expression "(code *)PTR_sqlite3_free_0015b620" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(sParse.apPhrase)" ( (field_expression "sParse.apPhrase" identifier . field_identifier) ))) ;) (expression_statement "*pzErr = sParse.zErr;" (assignment_expression "*pzErr = sParse.zErr" (pointer_expression "*pzErr" * identifier) = (field_expression "sParse.zErr" identifier . field_identifier)) ;) (expression_statement "iVar7 = sParse.rc;" (assignment_expression "iVar7 = sParse.rc" identifier = (field_expression "sParse.rc" identifier . field_identifier)) ;) (expression_statement "pConfig = pFVar23;" (assignment_expression "pConfig = pFVar23" identifier = identifier) ;) (expression_statement "unaff_s3 = unaff_s2;" (assignment_expression "unaff_s3 = unaff_s2" identifier = identifier) ;) (expression_statement "unaff_s8 = fts5yypParser;" (assignment_expression "unaff_s8 = fts5yypParser" identifier = identifier) ;) (goto_statement "goto LAB_000b3294;" goto statement_identifier ;) })))
(translation_unit "int FUN_000b2950(byte **param_1,int param_2,byte *param_3,byte *param_4,undefined4 *param_5)\n\n{\n  byte bVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  byte *pbVar4;\n  int iVar5;\n  undefined4 *puVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  byte *pbVar9;\n  byte **ppbVar10;\n  byte bVar12;\n  int iVar11;\n  code *pcVar13;\n  undefined4 *puVar14;\n  undefined4 *puVar15;\n  char *pcVar16;\n  byte **ppbVar17;\n  undefined4 *puVar18;\n  undefined4 uVar19;\n  byte *pbVar20;\n  byte *pbVar21;\n  byte **ppbVar22;\n  byte **ppbVar23;\n  byte **unaff_s1;\n  byte *pbVar24;\n  byte *unaff_s2;\n  byte *unaff_s3;\n  byte *unaff_s4;\n  byte *unaff_s5;\n  byte *unaff_s6;\n  byte **unaff_s7;\n  undefined1 *puVar25;\n  byte *unaff_s8;\n  undefined1 auStack_138 [24];\n  byte *local_110;\n  byte *local_cc;\n  byte *local_c8;\n  byte **local_c4;\n  undefined4 local_c0;\n  int local_bc;\n  byte *local_b8;\n  byte *local_b4;\n  byte **local_b0;\n  char local_ac [4];\n  undefined4 local_a8 [31];\n  byte *local_2c;\n  \n  puVar3 = PTR___stack_chk_guard_0015ba2c;\n  puVar7 = PTR_sqlite3_malloc64_0015b760;\n  ppbVar17 = (byte **)0x4bc;\n  local_c4 = (byte **)0x0;\n  local_c0 = 0;\n  local_bc = 0;\n  local_b8 = (byte *)0x0;\n  local_b4 = (byte *)0x0;\n  local_b0 = (byte **)0x0;\n  local_2c = *(byte **)PTR___stack_chk_guard_0015ba2c;\n  param_4[0] = 0;\n  param_4[1] = 0;\n  param_4[2] = 0;\n  param_4[3] = 0;\n  *param_5 = 0;\n  pbVar20 = param_3;\n  pbVar21 = param_4;\n  pbVar4 = (byte *)(*(code *)puVar7)(0);\n  puVar7 = PTR_UINT_0015b5fc;\n  if (pbVar4 != (byte *)0x0) {\n    unaff_s1 = (byte **)(pbVar4 + 8);\n    pbVar4[8] = 0;\n    puVar8 = PTR_DAT_0015b71c;\n    pbVar4[9] = 0;\n    puVar18 = (undefined4 *)(puVar7 + 0x638);\n    *(byte **)(pbVar4 + 0x4b8) = pbVar4 + 0x4ac;\n    puVar2 = PTR_UINT_0015b5fc;\n    pcVar13 = (code *)(puVar8 + 0x2288);\n    *(byte ***)pbVar4 = unaff_s1;\n    puVar14 = (undefined4 *)(puVar7 + 0x6b8);\n    local_c4 = param_1;\n    local_110 = param_3;\nLAB_000b2a68:\n    do {\n      unaff_s4 = param_3;\n      iVar5 = (int)(char)*unaff_s4;\n      if ((iVar5 - 9U & 0xff) < 0x18) {\n        pcVar16 = local_ac;\n        puVar6 = puVar18;\n        if ((int)((0x800013U >> (iVar5 - 9U & 0x1f)) << 0x1f) < 0) {\n          param_3 = unaff_s4 + 1;\n          goto LAB_000b2a68;\n        }\n        do {\n          puVar15 = puVar6 + 4;\n          *(undefined4 *)pcVar16 = *puVar6;\n          pbVar21 = (byte *)puVar6[1];\n          uVar19 = puVar6[2];\n          *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n          *(byte **)(pcVar16 + 4) = pbVar21;\n          *(undefined4 *)(pcVar16 + 8) = uVar19;\n          puVar6 = puVar15;\n          pcVar16 = pcVar16 + 0x10;\n        } while (puVar15 != puVar14);\nLAB_000b34f0:\n        if (local_ac[iVar5] != '\0') {\nLAB_000b2b04:\n          pbVar24 = unaff_s4;\n          do {\n            pbVar24 = pbVar24 + 1;\n            bVar12 = *pbVar24;\n            puVar6 = puVar18;\n            pcVar16 = local_ac;\n            do {\n              pbVar21 = (byte *)*puVar6;\n              puVar15 = puVar6 + 4;\n              *(byte **)pcVar16 = pbVar21;\n              pbVar20 = (byte *)puVar6[1];\n              ppbVar17 = (byte **)puVar6[2];\n              *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n              *(byte **)(pcVar16 + 4) = pbVar20;\n              *(byte ***)(pcVar16 + 8) = ppbVar17;\n              puVar6 = puVar15;\n              pcVar16 = pcVar16 + 0x10;\n            } while (puVar15 != puVar14);\n          } while (((char)bVar12 < 0) || (local_ac[(char)bVar12] != '\0'));\n          pbVar24 = pbVar24 + -(int)unaff_s4;\n          if (pbVar24 == &SUB_00000002) {\n            if ((*unaff_s4 == 0x4f) && (unaff_s4[1] == 0x52)) {\n              unaff_s2 = (byte *)0x1;\n              local_110 = &SUB_00000002;\n            }\n            else {\n              unaff_s2 = &DAT_00000009;\n              local_110 = &SUB_00000002;\n            }\n          }\n          else if (pbVar24 == (byte *)0x3) {\n            if ((*unaff_s4 == 0x4e) && (pbVar9 = &DAT_00000009, unaff_s4[1] == 0x4f)) {\n              if (unaff_s4[2] == 0x54) {\n                pbVar9 = (byte *)0x3;\n              }\n            }\n            else {\n              pbVar9 = &DAT_00000009;\n            }\n            if (((*unaff_s4 == 0x41) && (unaff_s4[1] == 0x4e)) &&\n               (unaff_s2 = &SUB_00000002, unaff_s4[2] == 0x44)) {\n              local_110 = (byte *)0x3;\n            }\n            else {\n              local_110 = (byte *)0x3;\n              unaff_s2 = pbVar9;\n            }\n          }\n          else {\n            unaff_s2 = &DAT_00000009;\n            local_110 = pbVar24;\n          }\n          goto LAB_000b2b98;\n        }\n        pbVar24 = (byte *)0x1;\n        ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70cc);\n        pbVar20 = unaff_s4;\n        (*pcVar13)(&local_c4);\n        unaff_s2 = (byte *)0x0;\n      }\n      else {\n        ppbVar17 = (byte **)0x0;\n        if (iVar5 == 0x2b) {\n          unaff_s2 = &DAT_0000000e;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x2c) {\n          if (iVar5 == 0x28) {\n            unaff_s2 = &DAT_0000000a;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 < 0x29) {\n            if (iVar5 != 0) {\n              pbVar24 = unaff_s4 + 1;\n              if (iVar5 != 0x22) {\nLAB_000b2abc:\n                puVar6 = puVar18;\n                pcVar16 = local_ac;\n                do {\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                } while (puVar15 != puVar14);\n                if (-1 < iVar5) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              bVar12 = *pbVar24;\n              if (bVar12 == 0x22) goto LAB_000b3320;\n              while (ppbVar17 = (byte **)PTR_UINT_0015b5fc, bVar12 != 0) {\n                while( true ) {\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (byte *)0x0;\n              pbVar24 = (byte *)0x1;\n              ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70e0);\n              (*pcVar13)(&local_c4);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (byte *)0x0;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 == 0x29) {\n            unaff_s2 = &DAT_0000000b;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = (byte *)0xf;\n            if (iVar5 != 0x2a) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x3a) {\n          unaff_s2 = &DAT_00000005;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x3b) {\n          if (iVar5 == 0x2c) {\n            unaff_s2 = &DAT_0000000d;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = &DAT_00000006;\n            if (iVar5 != 0x2d) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x7b) {\n          unaff_s2 = &DAT_00000007;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 == 0x7d) {\n          unaff_s2 = &DAT_00000008;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else {\n          unaff_s2 = &DAT_0000000c;\n          if (iVar5 != 0x5e) goto LAB_000b2abc;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\nLAB_000b2b98:\n        local_110 = unaff_s4 + (int)local_110;\n      }\nLAB_000b2ba0:\n      unaff_s6 = PTR_UINT_0015b5fc;\n      unaff_s7 = *(byte ***)pbVar4;\n      puVar7 = PTR_UINT_0015b5fc + 0x4920;\n      *(byte ****)(pbVar4 + 4) = &local_c4;\n      ppbVar22 = (byte **)(uint)*(byte *)unaff_s7;\n      puVar8 = PTR_UINT_0015b5fc + 0x48fc;\n      do {\n        ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n        if ((byte **)0x22 < ppbVar22) goto joined_r0x000b33cc;\n        pbVar9 = unaff_s2 + (byte)puVar8[(int)ppbVar22];\n        if ((byte *)0x78 < pbVar9) goto LAB_000b2c10;\n        while( true ) {\n          if ((byte *)(uint)pbVar9[(int)puVar7] == unaff_s2) {\n            ppbVar22 = (byte **)(uint)pbVar9[(int)(unaff_s6 + 0x499c)];\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }\n          else {\nLAB_000b2c10:\n            ppbVar22 = (byte **)(uint)*(byte *)((int)ppbVar22 + (int)(puVar2 + 0x48c4));\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }\njoined_r0x000b33cc:\n          PTR_UINT_0015b5fc = (undefined *)ppbVar10;\n          if (ppbVar22 < (byte **)0x53) {\n            if (ppbVar22 < (byte **)0x50) {\n              *(byte ***)pbVar4 = unaff_s7 + 3;\n              if (*(byte ***)(pbVar4 + 0x4b8) < unaff_s7 + 3) {\n                *(byte ***)pbVar4 = unaff_s7;\n                FUN_000b2444(pbVar4);\n              }\n              else {\n                if ((byte **)0x22 < ppbVar22) {\n                  ppbVar22 = (byte **)((uint)((int)ppbVar22 + 0x1f) & 0xff);\n                }\n                *(byte *)(unaff_s7 + 3) = (byte)ppbVar22;\n                *(byte *)((int)unaff_s7 + 0xd) = (byte)unaff_s2;\n                unaff_s7[4] = unaff_s4;\n                unaff_s7[5] = pbVar24;\n              }\n            }\n            else if (ppbVar22 == (byte **)0x51) {\n              *(byte ***)pbVar4 = unaff_s7 + -3;\n              ppbVar17 = ppbVar10;\n            }\n            else {\n              ppbVar22 = *(byte ***)(pbVar4 + 4);\n              pbVar21 = unaff_s4;\n              local_cc = unaff_s4;\n              local_c8 = pbVar24;\n              (*pcVar13)(ppbVar22,ppbVar10 + -0x1c2b);\n              ppbVar17 = &local_cc;\n              *(byte ***)(pbVar4 + 4) = ppbVar22;\n              FUN_000b23c0(unaff_s2);\n              pbVar20 = pbVar24;\n            }\n            goto LAB_000b2d18;\n          }\n          ppbVar23 = (byte **)((int)ppbVar22 + -0x53);\n          unaff_s5 = (byte *)(int)(char)*(byte *)((int)ppbVar23 + (int)(unaff_s6 + 0x488c));\n          if ((unaff_s5 != (byte *)0x0) || (unaff_s7 < *(byte ***)(pbVar4 + 0x4b8))) break;\n          FUN_000b2444(pbVar4);\n          unaff_s7 = *(byte ***)pbVar4;\n          ppbVar22 = ppbVar23;\n          if (unaff_s7 <= unaff_s1) goto LAB_000b2d18;\n          pbVar9 = unaff_s2 + 0x2c;\n          ppbVar22 = (byte **)0x0;\n        }\n        if (ppbVar23 < (byte **)0x1c) {\n                    \n                    \n          iVar5 = (*(code *)(&_gp_1 + (int)ppbVar10[(int)(ppbVar22 + 0xcb)]))();\n          return iVar5;\n        }\n        pbVar20 = unaff_s6 + 0x499c;\n        bVar12 = *(byte *)(unaff_s7 + (int)unaff_s5 * 3);\n        ppbVar17 = unaff_s7 + (int)unaff_s5 * 3 + 3;\n        bVar1 = *(byte *)((int)(ppbVar10 + 0x122a) + (int)ppbVar23);\n        *(byte ***)pbVar4 = ppbVar17;\n        *(byte *)((int)ppbVar17 + 1) = bVar1;\n        ppbVar22 = (byte **)(uint)pbVar20[(uint)bVar1 +\n                                          (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)];\n        *(byte *)ppbVar17 =\n             pbVar20[(uint)bVar1 + (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)];\n        unaff_s7 = *(byte ***)pbVar4;\n        ppbVar17 = ppbVar10;\n      } while (unaff_s1 < unaff_s7);\nLAB_000b2d18:\n      if ((local_bc != 0) || (param_3 = local_110, unaff_s2 == (byte *)0x0)) goto LAB_000b2d2c;\n    } while( true );\n  }\n  iVar5 = 7;\n  goto LAB_000b3294;\nLAB_000b2d2c:\n  ppbVar10 = *(byte ***)pbVar4;\n  if (unaff_s1 < ppbVar10) {\n    ppbVar22 = (byte **)(PTR_LAB_0015b6f8 + 0x23c0);\n    do {\n      ppbVar17 = ppbVar10 + 1;\n      *(byte ***)pbVar4 = ppbVar10 + -3;\n      FUN_000b23c0(*(byte *)((int)ppbVar10 + 1));\n      ppbVar10 = *(byte ***)pbVar4;\n    } while (unaff_s1 < ppbVar10);\n  }\n  (*(code *)PTR_sqlite3_free_0015b620)(pbVar4);\n  if ((param_2 < (int)param_1[3]) && (local_b0 != (byte **)0x0)) {\n    if (local_bc == 0) {\n      pbVar21 = &DAT_00000008;\n      pbVar20 = (byte *)0x0;\n      pbVar24 = (byte *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc);\n      if (pbVar24 != (byte *)0x0) {\n        *(int *)(pbVar24 + 4) = param_2;\n        pbVar24[0] = 0;\n        pbVar24[1] = 0;\n        pbVar24[2] = 0;\n        pbVar24[3] = 1;\n        ppbVar17 = local_b0;\n        FUN_000970a0(&local_c4);\n        pbVar20 = pbVar24;\n      }\n      goto LAB_000b321c;\n    }\nLAB_000b2da8:\n    FUN_000b1f34(local_b0);\n  }\n  else {\nLAB_000b321c:\n    if (local_bc != 0) goto LAB_000b2da8;\n    ppbVar22 = (byte **)(*(code *)PTR_sqlite3_malloc_0015b640)(0x18);\n    *(byte ***)param_4 = ppbVar22;\n    if (ppbVar22 == (byte **)0x0) {\n      local_bc = 7;\n      goto LAB_000b2da8;\n    }\n    if (local_b0 == (byte **)0x0) {\n      if (local_bc == 0) {\n        pbVar21 = &DAT_00000028;\n        pbVar20 = (byte *)0x0;\n        pbVar24 = (byte *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc);\n        ppbVar22[2] = pbVar24;\n        if (pbVar24 != (byte *)0x0) {\n          pbVar24[4] = 0;\n          pbVar24[5] = 0;\n          pbVar24[6] = 0;\n          pbVar24[7] = 1;\n        }\n      }\n      else {\n        ppbVar22[2] = (byte *)0x0;\n      }\n    }\n    else {\n      ppbVar22[2] = (byte *)local_b0;\n    }\n    *ppbVar22 = (byte *)0x0;\n    ppbVar22[1] = (byte *)param_1;\n    ppbVar22[5] = local_b4;\n    ppbVar22[4] = local_b8;\n    local_b4 = (byte *)0x0;\n  }\n  (*(code *)PTR_sqlite3_free_0015b620)(local_b4);\n  *param_5 = local_c0;\n  iVar5 = local_bc;\n  param_1 = ppbVar22;\n  unaff_s3 = unaff_s2;\n  unaff_s8 = pbVar4;\nLAB_000b3294:\n  if (local_2c == *(byte **)puVar3) {\n    return iVar5;\n  }\n  uVar19 = 0xb37f8;\n  pbVar4 = local_2c;\n  puVar7 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  puVar25 = auStack_138;\n  do {\n    pbVar9 = pbVar21;\n    pbVar24 = pbVar4;\n    pcVar13 = *(code **)(puVar7 + 0xa7ed0);\n    *(byte **)(puVar25 + -0x20) = unaff_s2;\n    *(undefined **)(puVar25 + -0x50) = puVar7 + 0xafdb8;\n    *(undefined4 *)(puVar25 + -4) = uVar19;\n    *(byte ***)(puVar25 + -0xc) = unaff_s7;\n    *(byte **)(puVar25 + -0x10) = unaff_s6;\n    *(byte **)(puVar25 + -0x18) = unaff_s4;\n    *(byte **)(puVar25 + -0x1c) = unaff_s3;\n    *(byte **)(puVar25 + -8) = unaff_s8;\n    *(byte **)(puVar25 + -0x14) = unaff_s5;\n    *(byte ***)(puVar25 + -0x24) = unaff_s1;\n    *(byte ***)(puVar25 + -0x28) = param_1;\n    unaff_s2 = *(byte **)(puVar7 + 0xa8234);\n    *(undefined4 *)(puVar25 + -0x2c) = *(undefined4 *)unaff_s2;\n    pbVar21 = pbVar20;\n    uVar19 = (*pcVar13)();\n    pcVar13 = *(code **)(*(int *)(puVar25 + -0x50) + -0x7ed0);\n    *(undefined4 *)(puVar25 + -0x44) = uVar19;\n    uVar19 = (*pcVar13)(pbVar24);\n    iVar5 = *(int *)(puVar25 + -0x50);\n    *(undefined4 *)(puVar25 + -0x40) = uVar19;\n    *(undefined4 *)(puVar25 + -0x38) = 0;\n    *(undefined4 *)(puVar25 + -0x34) = 0;\n    *(undefined4 *)(puVar25 + -0x30) = 0;\n    unaff_s3 = pbVar20;\n    unaff_s7 = ppbVar17;\n    if ((int)ppbVar17 < 1) {\n      if (pbVar9 == (byte *)0x0) {\n        iVar11 = *(int *)(iVar5 + -0x7fb4) + -0x705c;\n      }\n      else {\n        iVar11 = *(int *)(iVar5 + -0x7fb4) + -0x706c;\n      }\n      ppbVar22 = (byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fb4) + -0x7048,iVar11)\n      ;\n      pbVar21 = (byte *)0xffffffff;\n      *(byte ***)(puVar25 + -0x38) = ppbVar22;\n      (**(code **)(*(int *)(puVar25 + -0x50) + -0x7e40))(pbVar24);\n      pbVar4 = *(byte **)(puVar25 + -0x38);\n      (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))();\n      iVar5 = *(int *)(puVar25 + -0x50);\n    }\n    else {\n      if (pbVar9 == (byte *)0x0) {\n        param_1 = (byte **)0x1;\n        *(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050;\nLAB_000b38a0:\n        unaff_s5 = (byte *)((int)ppbVar17 + (3 - (int)param_1));\n        ppbVar22 = (byte **)((int)unaff_s5 * 4);\n        unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (unaff_s1 == (byte **)0x0) {\nLAB_000b3a30:\n          pbVar4 = pbVar24;\n          (**(code **)(iVar5 + -0x7e2c))();\n          iVar5 = *(int *)(puVar25 + -0x50);\n          goto LAB_000b39d4;\n        }\n        *unaff_s1 = (byte *)0x0;\n        unaff_s1[1] = (byte *)(*(int *)(iVar5 + -0x7fc8) + 0x538c);\n        unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c);\n        if ((int)param_1 < (int)ppbVar17) {\n          unaff_s8 = pbVar20 + (int)param_1 * 4;\n          iVar11 = (int)ppbVar17 * 4;\n          ppbVar22 = unaff_s1 + 3;\n          do {\n            ppbVar17 = ppbVar22 + 1;\n            uVar19 = *(undefined4 *)unaff_s8;\n            unaff_s8 = unaff_s8 + 4;\n            pbVar21 = (byte *)(**(code **)(iVar5 + -0x7f9c))(uVar19);\n            iVar5 = *(int *)(puVar25 + -0x50);\n            *ppbVar22 = pbVar21;\n            ppbVar22 = ppbVar17;\n          } while (pbVar20 + iVar11 != unaff_s8);\n        }\n      }\n      else {\n        if (ppbVar17 != (byte **)0x1) {\n          param_1 = (byte **)&SUB_00000002;\n          uVar19 = (**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)(pbVar20 + 4));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          *(undefined4 *)(puVar25 + -0x3c) = uVar19;\n          goto LAB_000b38a0;\n        }\n        ppbVar22 = (byte **)&DAT_0000000c;\n        unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (unaff_s1 == (byte **)0x0) goto LAB_000b3a30;\n        iVar11 = *(int *)(iVar5 + -0x7fc8);\n        unaff_s5 = (byte *)0x3;\n        *unaff_s1 = (byte *)0x0;\n        unaff_s1[1] = (byte *)(iVar11 + 0x538c);\n        *(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050;\n        unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c);\n      }\n      param_1 = (byte **)(puVar25 + -0x38);\n      unaff_s3 = (byte *)(**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)pbVar20);\n      *(byte ***)(puVar25 + -0x54) = param_1;\n      *(undefined1 **)(puVar25 + -0x58) = puVar25 + -0x30;\n      pbVar21 = unaff_s5;\n      ppbVar22 = (byte **)FUN_000961e8(*(undefined4 *)(puVar25 + -0x44),\n                                       *(undefined4 *)(puVar25 + -0x40),unaff_s5,unaff_s1);\n      iVar5 = *(int *)(puVar25 + -0x50);\n      if (ppbVar22 == (byte **)0x0) {\n        uVar19 = *(undefined4 *)(*(int *)(puVar25 + -0x30) + 0xc);\n        *(byte ***)(puVar25 + -0x58) = param_1;\n        pbVar20 = unaff_s3;\n        ppbVar22 = (byte **)FUN_000b2950(*(int *)(puVar25 + -0x30),uVar19,unaff_s3,puVar25 + -0x34);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        pbVar21 = pbVar20;\n        if (ppbVar22 != (byte **)0x0) goto LAB_000b3964;\n        pbVar21 = *(byte **)(*(int *)(puVar25 + -0x34) + 8);\n        if (*(int *)(pbVar21 + 0xc) == 0) {\n          param_1 = (byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fc8) + 0x53f4);\n          iVar5 = *(int *)(puVar25 + -0x50);\nLAB_000b3aa4:\n          ppbVar10 = *(byte ***)(puVar25 + -0x38);\n          pbVar21 = pbVar20;\n          if (param_1 != (byte **)0x0) goto LAB_000b3aac;\nLAB_000b3b54:\n          ppbVar22 = (byte **)&DAT_00000007;\n          if (ppbVar10 == (byte **)0x0) {\n            pcVar13 = *(code **)(iVar5 + -0x7e34);\n            goto LAB_000b3b60;\n          }\n          goto LAB_000b3970;\n        }\n        if (pbVar9 == (byte *)0x0) {\n          param_1 = (byte **)FUN_00097660();\n          iVar5 = *(int *)(puVar25 + -0x50);\n          goto LAB_000b3aa4;\n        }\n        param_1 = (byte **)FUN_00097234(*(undefined4 *)(puVar25 + -0x30),\n                                        *(undefined4 *)(puVar25 + -0x3c));\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (param_1 == (byte **)0x0) {\n          ppbVar10 = *(byte ***)(puVar25 + -0x38);\n          goto LAB_000b3b54;\n        }\nLAB_000b3aac:\n        pbVar21 = (byte *)0xffffffff;\n        ppbVar22 = param_1;\n        (**(code **)(iVar5 + -0x7f34))(pbVar24,param_1,0xffffffff,0xffffffff);\n        (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(param_1);\n        iVar5 = *(int *)(puVar25 + -0x50);\n      }\n      else {\nLAB_000b3964:\n        ppbVar10 = *(byte ***)(puVar25 + -0x38);\n        pcVar13 = *(code **)(iVar5 + -0x7e34);\n        if (ppbVar10 == (byte **)0x0) {\nLAB_000b3b60:\n          (*pcVar13)(pbVar24);\n          iVar5 = *(int *)(puVar25 + -0x50);\n        }\n        else {\nLAB_000b3970:\n          pbVar21 = (byte *)0xffffffff;\n          (**(code **)(iVar5 + -0x7e40))(pbVar24);\n          (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(*(undefined4 *)(puVar25 + -0x38));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          ppbVar22 = ppbVar10;\n        }\n      }\n      (**(code **)(iVar5 + -0x7f90))(unaff_s1);\n      (*(code *)(*(int *)(*(int *)(puVar25 + -0x50) + -0x7ef0) + -0xe08))\n                (*(undefined4 *)(puVar25 + -0x30));\n      pbVar4 = *(byte **)(puVar25 + -0x34);\n      iVar5 = *(int *)(puVar25 + -0x50);\n      unaff_s7 = ppbVar17;\n      if (pbVar4 != (byte *)0x0) {\n        FUN_000b1fe4();\n        iVar5 = *(int *)(puVar25 + -0x50);\n      }\n    }\nLAB_000b39d4:\n    if (*(int *)(puVar25 + -0x2c) == *(int *)unaff_s2) {\n      return *(int *)unaff_s2;\n    }\n    pcVar13 = *(code **)(iVar5 + -0x7ba0);\n    uVar19 = 0xb3bf0;\n    (*pcVar13)();\n    puVar7 = (undefined *)(*(int *)(pcVar13 + 0xa7b08) + 0x37f8);\n    ppbVar17 = ppbVar22;\n    pbVar20 = pbVar21;\n    pbVar21 = (byte *)0x1;\n    unaff_s4 = pbVar24;\n    unaff_s6 = pbVar9;\n    puVar25 = puVar25 + -0x68;\n  } while( true );\n}\n\n" (function_definition "int FUN_000b2950(byte **param_1,int param_2,byte *param_3,byte *param_4,undefined4 *param_5)\n\n{\n  byte bVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  byte *pbVar4;\n  int iVar5;\n  undefined4 *puVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  byte *pbVar9;\n  byte **ppbVar10;\n  byte bVar12;\n  int iVar11;\n  code *pcVar13;\n  undefined4 *puVar14;\n  undefined4 *puVar15;\n  char *pcVar16;\n  byte **ppbVar17;\n  undefined4 *puVar18;\n  undefined4 uVar19;\n  byte *pbVar20;\n  byte *pbVar21;\n  byte **ppbVar22;\n  byte **ppbVar23;\n  byte **unaff_s1;\n  byte *pbVar24;\n  byte *unaff_s2;\n  byte *unaff_s3;\n  byte *unaff_s4;\n  byte *unaff_s5;\n  byte *unaff_s6;\n  byte **unaff_s7;\n  undefined1 *puVar25;\n  byte *unaff_s8;\n  undefined1 auStack_138 [24];\n  byte *local_110;\n  byte *local_cc;\n  byte *local_c8;\n  byte **local_c4;\n  undefined4 local_c0;\n  int local_bc;\n  byte *local_b8;\n  byte *local_b4;\n  byte **local_b0;\n  char local_ac [4];\n  undefined4 local_a8 [31];\n  byte *local_2c;\n  \n  puVar3 = PTR___stack_chk_guard_0015ba2c;\n  puVar7 = PTR_sqlite3_malloc64_0015b760;\n  ppbVar17 = (byte **)0x4bc;\n  local_c4 = (byte **)0x0;\n  local_c0 = 0;\n  local_bc = 0;\n  local_b8 = (byte *)0x0;\n  local_b4 = (byte *)0x0;\n  local_b0 = (byte **)0x0;\n  local_2c = *(byte **)PTR___stack_chk_guard_0015ba2c;\n  param_4[0] = 0;\n  param_4[1] = 0;\n  param_4[2] = 0;\n  param_4[3] = 0;\n  *param_5 = 0;\n  pbVar20 = param_3;\n  pbVar21 = param_4;\n  pbVar4 = (byte *)(*(code *)puVar7)(0);\n  puVar7 = PTR_UINT_0015b5fc;\n  if (pbVar4 != (byte *)0x0) {\n    unaff_s1 = (byte **)(pbVar4 + 8);\n    pbVar4[8] = 0;\n    puVar8 = PTR_DAT_0015b71c;\n    pbVar4[9] = 0;\n    puVar18 = (undefined4 *)(puVar7 + 0x638);\n    *(byte **)(pbVar4 + 0x4b8) = pbVar4 + 0x4ac;\n    puVar2 = PTR_UINT_0015b5fc;\n    pcVar13 = (code *)(puVar8 + 0x2288);\n    *(byte ***)pbVar4 = unaff_s1;\n    puVar14 = (undefined4 *)(puVar7 + 0x6b8);\n    local_c4 = param_1;\n    local_110 = param_3;\nLAB_000b2a68:\n    do {\n      unaff_s4 = param_3;\n      iVar5 = (int)(char)*unaff_s4;\n      if ((iVar5 - 9U & 0xff) < 0x18) {\n        pcVar16 = local_ac;\n        puVar6 = puVar18;\n        if ((int)((0x800013U >> (iVar5 - 9U & 0x1f)) << 0x1f) < 0) {\n          param_3 = unaff_s4 + 1;\n          goto LAB_000b2a68;\n        }\n        do {\n          puVar15 = puVar6 + 4;\n          *(undefined4 *)pcVar16 = *puVar6;\n          pbVar21 = (byte *)puVar6[1];\n          uVar19 = puVar6[2];\n          *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n          *(byte **)(pcVar16 + 4) = pbVar21;\n          *(undefined4 *)(pcVar16 + 8) = uVar19;\n          puVar6 = puVar15;\n          pcVar16 = pcVar16 + 0x10;\n        } while (puVar15 != puVar14);\nLAB_000b34f0:\n        if (local_ac[iVar5] != '\0') {\nLAB_000b2b04:\n          pbVar24 = unaff_s4;\n          do {\n            pbVar24 = pbVar24 + 1;\n            bVar12 = *pbVar24;\n            puVar6 = puVar18;\n            pcVar16 = local_ac;\n            do {\n              pbVar21 = (byte *)*puVar6;\n              puVar15 = puVar6 + 4;\n              *(byte **)pcVar16 = pbVar21;\n              pbVar20 = (byte *)puVar6[1];\n              ppbVar17 = (byte **)puVar6[2];\n              *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n              *(byte **)(pcVar16 + 4) = pbVar20;\n              *(byte ***)(pcVar16 + 8) = ppbVar17;\n              puVar6 = puVar15;\n              pcVar16 = pcVar16 + 0x10;\n            } while (puVar15 != puVar14);\n          } while (((char)bVar12 < 0) || (local_ac[(char)bVar12] != '\0'));\n          pbVar24 = pbVar24 + -(int)unaff_s4;\n          if (pbVar24 == &SUB_00000002) {\n            if ((*unaff_s4 == 0x4f) && (unaff_s4[1] == 0x52)) {\n              unaff_s2 = (byte *)0x1;\n              local_110 = &SUB_00000002;\n            }\n            else {\n              unaff_s2 = &DAT_00000009;\n              local_110 = &SUB_00000002;\n            }\n          }\n          else if (pbVar24 == (byte *)0x3) {\n            if ((*unaff_s4 == 0x4e) && (pbVar9 = &DAT_00000009, unaff_s4[1] == 0x4f)) {\n              if (unaff_s4[2] == 0x54) {\n                pbVar9 = (byte *)0x3;\n              }\n            }\n            else {\n              pbVar9 = &DAT_00000009;\n            }\n            if (((*unaff_s4 == 0x41) && (unaff_s4[1] == 0x4e)) &&\n               (unaff_s2 = &SUB_00000002, unaff_s4[2] == 0x44)) {\n              local_110 = (byte *)0x3;\n            }\n            else {\n              local_110 = (byte *)0x3;\n              unaff_s2 = pbVar9;\n            }\n          }\n          else {\n            unaff_s2 = &DAT_00000009;\n            local_110 = pbVar24;\n          }\n          goto LAB_000b2b98;\n        }\n        pbVar24 = (byte *)0x1;\n        ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70cc);\n        pbVar20 = unaff_s4;\n        (*pcVar13)(&local_c4);\n        unaff_s2 = (byte *)0x0;\n      }\n      else {\n        ppbVar17 = (byte **)0x0;\n        if (iVar5 == 0x2b) {\n          unaff_s2 = &DAT_0000000e;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x2c) {\n          if (iVar5 == 0x28) {\n            unaff_s2 = &DAT_0000000a;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 < 0x29) {\n            if (iVar5 != 0) {\n              pbVar24 = unaff_s4 + 1;\n              if (iVar5 != 0x22) {\nLAB_000b2abc:\n                puVar6 = puVar18;\n                pcVar16 = local_ac;\n                do {\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                } while (puVar15 != puVar14);\n                if (-1 < iVar5) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              bVar12 = *pbVar24;\n              if (bVar12 == 0x22) goto LAB_000b3320;\n              while (ppbVar17 = (byte **)PTR_UINT_0015b5fc, bVar12 != 0) {\n                while( true ) {\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (byte *)0x0;\n              pbVar24 = (byte *)0x1;\n              ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70e0);\n              (*pcVar13)(&local_c4);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (byte *)0x0;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 == 0x29) {\n            unaff_s2 = &DAT_0000000b;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = (byte *)0xf;\n            if (iVar5 != 0x2a) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x3a) {\n          unaff_s2 = &DAT_00000005;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x3b) {\n          if (iVar5 == 0x2c) {\n            unaff_s2 = &DAT_0000000d;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = &DAT_00000006;\n            if (iVar5 != 0x2d) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x7b) {\n          unaff_s2 = &DAT_00000007;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 == 0x7d) {\n          unaff_s2 = &DAT_00000008;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else {\n          unaff_s2 = &DAT_0000000c;\n          if (iVar5 != 0x5e) goto LAB_000b2abc;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\nLAB_000b2b98:\n        local_110 = unaff_s4 + (int)local_110;\n      }\nLAB_000b2ba0:\n      unaff_s6 = PTR_UINT_0015b5fc;\n      unaff_s7 = *(byte ***)pbVar4;\n      puVar7 = PTR_UINT_0015b5fc + 0x4920;\n      *(byte ****)(pbVar4 + 4) = &local_c4;\n      ppbVar22 = (byte **)(uint)*(byte *)unaff_s7;\n      puVar8 = PTR_UINT_0015b5fc + 0x48fc;\n      do {\n        ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n        if ((byte **)0x22 < ppbVar22) goto joined_r0x000b33cc;\n        pbVar9 = unaff_s2 + (byte)puVar8[(int)ppbVar22];\n        if ((byte *)0x78 < pbVar9) goto LAB_000b2c10;\n        while( true ) {\n          if ((byte *)(uint)pbVar9[(int)puVar7] == unaff_s2) {\n            ppbVar22 = (byte **)(uint)pbVar9[(int)(unaff_s6 + 0x499c)];\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }\n          else {\nLAB_000b2c10:\n            ppbVar22 = (byte **)(uint)*(byte *)((int)ppbVar22 + (int)(puVar2 + 0x48c4));\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }\njoined_r0x000b33cc:\n          PTR_UINT_0015b5fc = (undefined *)ppbVar10;\n          if (ppbVar22 < (byte **)0x53) {\n            if (ppbVar22 < (byte **)0x50) {\n              *(byte ***)pbVar4 = unaff_s7 + 3;\n              if (*(byte ***)(pbVar4 + 0x4b8) < unaff_s7 + 3) {\n                *(byte ***)pbVar4 = unaff_s7;\n                FUN_000b2444(pbVar4);\n              }\n              else {\n                if ((byte **)0x22 < ppbVar22) {\n                  ppbVar22 = (byte **)((uint)((int)ppbVar22 + 0x1f) & 0xff);\n                }\n                *(byte *)(unaff_s7 + 3) = (byte)ppbVar22;\n                *(byte *)((int)unaff_s7 + 0xd) = (byte)unaff_s2;\n                unaff_s7[4] = unaff_s4;\n                unaff_s7[5] = pbVar24;\n              }\n            }\n            else if (ppbVar22 == (byte **)0x51) {\n              *(byte ***)pbVar4 = unaff_s7 + -3;\n              ppbVar17 = ppbVar10;\n            }\n            else {\n              ppbVar22 = *(byte ***)(pbVar4 + 4);\n              pbVar21 = unaff_s4;\n              local_cc = unaff_s4;\n              local_c8 = pbVar24;\n              (*pcVar13)(ppbVar22,ppbVar10 + -0x1c2b);\n              ppbVar17 = &local_cc;\n              *(byte ***)(pbVar4 + 4) = ppbVar22;\n              FUN_000b23c0(unaff_s2);\n              pbVar20 = pbVar24;\n            }\n            goto LAB_000b2d18;\n          }\n          ppbVar23 = (byte **)((int)ppbVar22 + -0x53);\n          unaff_s5 = (byte *)(int)(char)*(byte *)((int)ppbVar23 + (int)(unaff_s6 + 0x488c));\n          if ((unaff_s5 != (byte *)0x0) || (unaff_s7 < *(byte ***)(pbVar4 + 0x4b8))) break;\n          FUN_000b2444(pbVar4);\n          unaff_s7 = *(byte ***)pbVar4;\n          ppbVar22 = ppbVar23;\n          if (unaff_s7 <= unaff_s1) goto LAB_000b2d18;\n          pbVar9 = unaff_s2 + 0x2c;\n          ppbVar22 = (byte **)0x0;\n        }\n        if (ppbVar23 < (byte **)0x1c) {\n                    \n                    \n          iVar5 = (*(code *)(&_gp_1 + (int)ppbVar10[(int)(ppbVar22 + 0xcb)]))();\n          return iVar5;\n        }\n        pbVar20 = unaff_s6 + 0x499c;\n        bVar12 = *(byte *)(unaff_s7 + (int)unaff_s5 * 3);\n        ppbVar17 = unaff_s7 + (int)unaff_s5 * 3 + 3;\n        bVar1 = *(byte *)((int)(ppbVar10 + 0x122a) + (int)ppbVar23);\n        *(byte ***)pbVar4 = ppbVar17;\n        *(byte *)((int)ppbVar17 + 1) = bVar1;\n        ppbVar22 = (byte **)(uint)pbVar20[(uint)bVar1 +\n                                          (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)];\n        *(byte *)ppbVar17 =\n             pbVar20[(uint)bVar1 + (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)];\n        unaff_s7 = *(byte ***)pbVar4;\n        ppbVar17 = ppbVar10;\n      } while (unaff_s1 < unaff_s7);\nLAB_000b2d18:\n      if ((local_bc != 0) || (param_3 = local_110, unaff_s2 == (byte *)0x0)) goto LAB_000b2d2c;\n    } while( true );\n  }\n  iVar5 = 7;\n  goto LAB_000b3294;\nLAB_000b2d2c:\n  ppbVar10 = *(byte ***)pbVar4;\n  if (unaff_s1 < ppbVar10) {\n    ppbVar22 = (byte **)(PTR_LAB_0015b6f8 + 0x23c0);\n    do {\n      ppbVar17 = ppbVar10 + 1;\n      *(byte ***)pbVar4 = ppbVar10 + -3;\n      FUN_000b23c0(*(byte *)((int)ppbVar10 + 1));\n      ppbVar10 = *(byte ***)pbVar4;\n    } while (unaff_s1 < ppbVar10);\n  }\n  (*(code *)PTR_sqlite3_free_0015b620)(pbVar4);\n  if ((param_2 < (int)param_1[3]) && (local_b0 != (byte **)0x0)) {\n    if (local_bc == 0) {\n      pbVar21 = &DAT_00000008;\n      pbVar20 = (byte *)0x0;\n      pbVar24 = (byte *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc);\n      if (pbVar24 != (byte *)0x0) {\n        *(int *)(pbVar24 + 4) = param_2;\n        pbVar24[0] = 0;\n        pbVar24[1] = 0;\n        pbVar24[2] = 0;\n        pbVar24[3] = 1;\n        ppbVar17 = local_b0;\n        FUN_000970a0(&local_c4);\n        pbVar20 = pbVar24;\n      }\n      goto LAB_000b321c;\n    }\nLAB_000b2da8:\n    FUN_000b1f34(local_b0);\n  }\n  else {\nLAB_000b321c:\n    if (local_bc != 0) goto LAB_000b2da8;\n    ppbVar22 = (byte **)(*(code *)PTR_sqlite3_malloc_0015b640)(0x18);\n    *(byte ***)param_4 = ppbVar22;\n    if (ppbVar22 == (byte **)0x0) {\n      local_bc = 7;\n      goto LAB_000b2da8;\n    }\n    if (local_b0 == (byte **)0x0) {\n      if (local_bc == 0) {\n        pbVar21 = &DAT_00000028;\n        pbVar20 = (byte *)0x0;\n        pbVar24 = (byte *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc);\n        ppbVar22[2] = pbVar24;\n        if (pbVar24 != (byte *)0x0) {\n          pbVar24[4] = 0;\n          pbVar24[5] = 0;\n          pbVar24[6] = 0;\n          pbVar24[7] = 1;\n        }\n      }\n      else {\n        ppbVar22[2] = (byte *)0x0;\n      }\n    }\n    else {\n      ppbVar22[2] = (byte *)local_b0;\n    }\n    *ppbVar22 = (byte *)0x0;\n    ppbVar22[1] = (byte *)param_1;\n    ppbVar22[5] = local_b4;\n    ppbVar22[4] = local_b8;\n    local_b4 = (byte *)0x0;\n  }\n  (*(code *)PTR_sqlite3_free_0015b620)(local_b4);\n  *param_5 = local_c0;\n  iVar5 = local_bc;\n  param_1 = ppbVar22;\n  unaff_s3 = unaff_s2;\n  unaff_s8 = pbVar4;\nLAB_000b3294:\n  if (local_2c == *(byte **)puVar3) {\n    return iVar5;\n  }\n  uVar19 = 0xb37f8;\n  pbVar4 = local_2c;\n  puVar7 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  puVar25 = auStack_138;\n  do {\n    pbVar9 = pbVar21;\n    pbVar24 = pbVar4;\n    pcVar13 = *(code **)(puVar7 + 0xa7ed0);\n    *(byte **)(puVar25 + -0x20) = unaff_s2;\n    *(undefined **)(puVar25 + -0x50) = puVar7 + 0xafdb8;\n    *(undefined4 *)(puVar25 + -4) = uVar19;\n    *(byte ***)(puVar25 + -0xc) = unaff_s7;\n    *(byte **)(puVar25 + -0x10) = unaff_s6;\n    *(byte **)(puVar25 + -0x18) = unaff_s4;\n    *(byte **)(puVar25 + -0x1c) = unaff_s3;\n    *(byte **)(puVar25 + -8) = unaff_s8;\n    *(byte **)(puVar25 + -0x14) = unaff_s5;\n    *(byte ***)(puVar25 + -0x24) = unaff_s1;\n    *(byte ***)(puVar25 + -0x28) = param_1;\n    unaff_s2 = *(byte **)(puVar7 + 0xa8234);\n    *(undefined4 *)(puVar25 + -0x2c) = *(undefined4 *)unaff_s2;\n    pbVar21 = pbVar20;\n    uVar19 = (*pcVar13)();\n    pcVar13 = *(code **)(*(int *)(puVar25 + -0x50) + -0x7ed0);\n    *(undefined4 *)(puVar25 + -0x44) = uVar19;\n    uVar19 = (*pcVar13)(pbVar24);\n    iVar5 = *(int *)(puVar25 + -0x50);\n    *(undefined4 *)(puVar25 + -0x40) = uVar19;\n    *(undefined4 *)(puVar25 + -0x38) = 0;\n    *(undefined4 *)(puVar25 + -0x34) = 0;\n    *(undefined4 *)(puVar25 + -0x30) = 0;\n    unaff_s3 = pbVar20;\n    unaff_s7 = ppbVar17;\n    if ((int)ppbVar17 < 1) {\n      if (pbVar9 == (byte *)0x0) {\n        iVar11 = *(int *)(iVar5 + -0x7fb4) + -0x705c;\n      }\n      else {\n        iVar11 = *(int *)(iVar5 + -0x7fb4) + -0x706c;\n      }\n      ppbVar22 = (byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fb4) + -0x7048,iVar11)\n      ;\n      pbVar21 = (byte *)0xffffffff;\n      *(byte ***)(puVar25 + -0x38) = ppbVar22;\n      (**(code **)(*(int *)(puVar25 + -0x50) + -0x7e40))(pbVar24);\n      pbVar4 = *(byte **)(puVar25 + -0x38);\n      (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))();\n      iVar5 = *(int *)(puVar25 + -0x50);\n    }\n    else {\n      if (pbVar9 == (byte *)0x0) {\n        param_1 = (byte **)0x1;\n        *(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050;\nLAB_000b38a0:\n        unaff_s5 = (byte *)((int)ppbVar17 + (3 - (int)param_1));\n        ppbVar22 = (byte **)((int)unaff_s5 * 4);\n        unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (unaff_s1 == (byte **)0x0) {\nLAB_000b3a30:\n          pbVar4 = pbVar24;\n          (**(code **)(iVar5 + -0x7e2c))();\n          iVar5 = *(int *)(puVar25 + -0x50);\n          goto LAB_000b39d4;\n        }\n        *unaff_s1 = (byte *)0x0;\n        unaff_s1[1] = (byte *)(*(int *)(iVar5 + -0x7fc8) + 0x538c);\n        unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c);\n        if ((int)param_1 < (int)ppbVar17) {\n          unaff_s8 = pbVar20 + (int)param_1 * 4;\n          iVar11 = (int)ppbVar17 * 4;\n          ppbVar22 = unaff_s1 + 3;\n          do {\n            ppbVar17 = ppbVar22 + 1;\n            uVar19 = *(undefined4 *)unaff_s8;\n            unaff_s8 = unaff_s8 + 4;\n            pbVar21 = (byte *)(**(code **)(iVar5 + -0x7f9c))(uVar19);\n            iVar5 = *(int *)(puVar25 + -0x50);\n            *ppbVar22 = pbVar21;\n            ppbVar22 = ppbVar17;\n          } while (pbVar20 + iVar11 != unaff_s8);\n        }\n      }\n      else {\n        if (ppbVar17 != (byte **)0x1) {\n          param_1 = (byte **)&SUB_00000002;\n          uVar19 = (**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)(pbVar20 + 4));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          *(undefined4 *)(puVar25 + -0x3c) = uVar19;\n          goto LAB_000b38a0;\n        }\n        ppbVar22 = (byte **)&DAT_0000000c;\n        unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (unaff_s1 == (byte **)0x0) goto LAB_000b3a30;\n        iVar11 = *(int *)(iVar5 + -0x7fc8);\n        unaff_s5 = (byte *)0x3;\n        *unaff_s1 = (byte *)0x0;\n        unaff_s1[1] = (byte *)(iVar11 + 0x538c);\n        *(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050;\n        unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c);\n      }\n      param_1 = (byte **)(puVar25 + -0x38);\n      unaff_s3 = (byte *)(**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)pbVar20);\n      *(byte ***)(puVar25 + -0x54) = param_1;\n      *(undefined1 **)(puVar25 + -0x58) = puVar25 + -0x30;\n      pbVar21 = unaff_s5;\n      ppbVar22 = (byte **)FUN_000961e8(*(undefined4 *)(puVar25 + -0x44),\n                                       *(undefined4 *)(puVar25 + -0x40),unaff_s5,unaff_s1);\n      iVar5 = *(int *)(puVar25 + -0x50);\n      if (ppbVar22 == (byte **)0x0) {\n        uVar19 = *(undefined4 *)(*(int *)(puVar25 + -0x30) + 0xc);\n        *(byte ***)(puVar25 + -0x58) = param_1;\n        pbVar20 = unaff_s3;\n        ppbVar22 = (byte **)FUN_000b2950(*(int *)(puVar25 + -0x30),uVar19,unaff_s3,puVar25 + -0x34);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        pbVar21 = pbVar20;\n        if (ppbVar22 != (byte **)0x0) goto LAB_000b3964;\n        pbVar21 = *(byte **)(*(int *)(puVar25 + -0x34) + 8);\n        if (*(int *)(pbVar21 + 0xc) == 0) {\n          param_1 = (byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fc8) + 0x53f4);\n          iVar5 = *(int *)(puVar25 + -0x50);\nLAB_000b3aa4:\n          ppbVar10 = *(byte ***)(puVar25 + -0x38);\n          pbVar21 = pbVar20;\n          if (param_1 != (byte **)0x0) goto LAB_000b3aac;\nLAB_000b3b54:\n          ppbVar22 = (byte **)&DAT_00000007;\n          if (ppbVar10 == (byte **)0x0) {\n            pcVar13 = *(code **)(iVar5 + -0x7e34);\n            goto LAB_000b3b60;\n          }\n          goto LAB_000b3970;\n        }\n        if (pbVar9 == (byte *)0x0) {\n          param_1 = (byte **)FUN_00097660();\n          iVar5 = *(int *)(puVar25 + -0x50);\n          goto LAB_000b3aa4;\n        }\n        param_1 = (byte **)FUN_00097234(*(undefined4 *)(puVar25 + -0x30),\n                                        *(undefined4 *)(puVar25 + -0x3c));\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (param_1 == (byte **)0x0) {\n          ppbVar10 = *(byte ***)(puVar25 + -0x38);\n          goto LAB_000b3b54;\n        }\nLAB_000b3aac:\n        pbVar21 = (byte *)0xffffffff;\n        ppbVar22 = param_1;\n        (**(code **)(iVar5 + -0x7f34))(pbVar24,param_1,0xffffffff,0xffffffff);\n        (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(param_1);\n        iVar5 = *(int *)(puVar25 + -0x50);\n      }\n      else {\nLAB_000b3964:\n        ppbVar10 = *(byte ***)(puVar25 + -0x38);\n        pcVar13 = *(code **)(iVar5 + -0x7e34);\n        if (ppbVar10 == (byte **)0x0) {\nLAB_000b3b60:\n          (*pcVar13)(pbVar24);\n          iVar5 = *(int *)(puVar25 + -0x50);\n        }\n        else {\nLAB_000b3970:\n          pbVar21 = (byte *)0xffffffff;\n          (**(code **)(iVar5 + -0x7e40))(pbVar24);\n          (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(*(undefined4 *)(puVar25 + -0x38));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          ppbVar22 = ppbVar10;\n        }\n      }\n      (**(code **)(iVar5 + -0x7f90))(unaff_s1);\n      (*(code *)(*(int *)(*(int *)(puVar25 + -0x50) + -0x7ef0) + -0xe08))\n                (*(undefined4 *)(puVar25 + -0x30));\n      pbVar4 = *(byte **)(puVar25 + -0x34);\n      iVar5 = *(int *)(puVar25 + -0x50);\n      unaff_s7 = ppbVar17;\n      if (pbVar4 != (byte *)0x0) {\n        FUN_000b1fe4();\n        iVar5 = *(int *)(puVar25 + -0x50);\n      }\n    }\nLAB_000b39d4:\n    if (*(int *)(puVar25 + -0x2c) == *(int *)unaff_s2) {\n      return *(int *)unaff_s2;\n    }\n    pcVar13 = *(code **)(iVar5 + -0x7ba0);\n    uVar19 = 0xb3bf0;\n    (*pcVar13)();\n    puVar7 = (undefined *)(*(int *)(pcVar13 + 0xa7b08) + 0x37f8);\n    ppbVar17 = ppbVar22;\n    pbVar20 = pbVar21;\n    pbVar21 = (byte *)0x1;\n    unaff_s4 = pbVar24;\n    unaff_s6 = pbVar9;\n    puVar25 = puVar25 + -0x68;\n  } while( true );\n}" primitive_type (function_declarator "FUN_000b2950(byte **param_1,int param_2,byte *param_3,byte *param_4,undefined4 *param_5)" identifier (parameter_list "(byte **param_1,int param_2,byte *param_3,byte *param_4,undefined4 *param_5)" ( (parameter_declaration "byte **param_1" type_identifier (pointer_declarator "**param_1" * (pointer_declarator "*param_1" * identifier))) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "byte *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "byte *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) , (parameter_declaration "undefined4 *param_5" type_identifier (pointer_declarator "*param_5" * identifier)) ))) (compound_statement "{\n  byte bVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  byte *pbVar4;\n  int iVar5;\n  undefined4 *puVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  byte *pbVar9;\n  byte **ppbVar10;\n  byte bVar12;\n  int iVar11;\n  code *pcVar13;\n  undefined4 *puVar14;\n  undefined4 *puVar15;\n  char *pcVar16;\n  byte **ppbVar17;\n  undefined4 *puVar18;\n  undefined4 uVar19;\n  byte *pbVar20;\n  byte *pbVar21;\n  byte **ppbVar22;\n  byte **ppbVar23;\n  byte **unaff_s1;\n  byte *pbVar24;\n  byte *unaff_s2;\n  byte *unaff_s3;\n  byte *unaff_s4;\n  byte *unaff_s5;\n  byte *unaff_s6;\n  byte **unaff_s7;\n  undefined1 *puVar25;\n  byte *unaff_s8;\n  undefined1 auStack_138 [24];\n  byte *local_110;\n  byte *local_cc;\n  byte *local_c8;\n  byte **local_c4;\n  undefined4 local_c0;\n  int local_bc;\n  byte *local_b8;\n  byte *local_b4;\n  byte **local_b0;\n  char local_ac [4];\n  undefined4 local_a8 [31];\n  byte *local_2c;\n  \n  puVar3 = PTR___stack_chk_guard_0015ba2c;\n  puVar7 = PTR_sqlite3_malloc64_0015b760;\n  ppbVar17 = (byte **)0x4bc;\n  local_c4 = (byte **)0x0;\n  local_c0 = 0;\n  local_bc = 0;\n  local_b8 = (byte *)0x0;\n  local_b4 = (byte *)0x0;\n  local_b0 = (byte **)0x0;\n  local_2c = *(byte **)PTR___stack_chk_guard_0015ba2c;\n  param_4[0] = 0;\n  param_4[1] = 0;\n  param_4[2] = 0;\n  param_4[3] = 0;\n  *param_5 = 0;\n  pbVar20 = param_3;\n  pbVar21 = param_4;\n  pbVar4 = (byte *)(*(code *)puVar7)(0);\n  puVar7 = PTR_UINT_0015b5fc;\n  if (pbVar4 != (byte *)0x0) {\n    unaff_s1 = (byte **)(pbVar4 + 8);\n    pbVar4[8] = 0;\n    puVar8 = PTR_DAT_0015b71c;\n    pbVar4[9] = 0;\n    puVar18 = (undefined4 *)(puVar7 + 0x638);\n    *(byte **)(pbVar4 + 0x4b8) = pbVar4 + 0x4ac;\n    puVar2 = PTR_UINT_0015b5fc;\n    pcVar13 = (code *)(puVar8 + 0x2288);\n    *(byte ***)pbVar4 = unaff_s1;\n    puVar14 = (undefined4 *)(puVar7 + 0x6b8);\n    local_c4 = param_1;\n    local_110 = param_3;\nLAB_000b2a68:\n    do {\n      unaff_s4 = param_3;\n      iVar5 = (int)(char)*unaff_s4;\n      if ((iVar5 - 9U & 0xff) < 0x18) {\n        pcVar16 = local_ac;\n        puVar6 = puVar18;\n        if ((int)((0x800013U >> (iVar5 - 9U & 0x1f)) << 0x1f) < 0) {\n          param_3 = unaff_s4 + 1;\n          goto LAB_000b2a68;\n        }\n        do {\n          puVar15 = puVar6 + 4;\n          *(undefined4 *)pcVar16 = *puVar6;\n          pbVar21 = (byte *)puVar6[1];\n          uVar19 = puVar6[2];\n          *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n          *(byte **)(pcVar16 + 4) = pbVar21;\n          *(undefined4 *)(pcVar16 + 8) = uVar19;\n          puVar6 = puVar15;\n          pcVar16 = pcVar16 + 0x10;\n        } while (puVar15 != puVar14);\nLAB_000b34f0:\n        if (local_ac[iVar5] != '\0') {\nLAB_000b2b04:\n          pbVar24 = unaff_s4;\n          do {\n            pbVar24 = pbVar24 + 1;\n            bVar12 = *pbVar24;\n            puVar6 = puVar18;\n            pcVar16 = local_ac;\n            do {\n              pbVar21 = (byte *)*puVar6;\n              puVar15 = puVar6 + 4;\n              *(byte **)pcVar16 = pbVar21;\n              pbVar20 = (byte *)puVar6[1];\n              ppbVar17 = (byte **)puVar6[2];\n              *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n              *(byte **)(pcVar16 + 4) = pbVar20;\n              *(byte ***)(pcVar16 + 8) = ppbVar17;\n              puVar6 = puVar15;\n              pcVar16 = pcVar16 + 0x10;\n            } while (puVar15 != puVar14);\n          } while (((char)bVar12 < 0) || (local_ac[(char)bVar12] != '\0'));\n          pbVar24 = pbVar24 + -(int)unaff_s4;\n          if (pbVar24 == &SUB_00000002) {\n            if ((*unaff_s4 == 0x4f) && (unaff_s4[1] == 0x52)) {\n              unaff_s2 = (byte *)0x1;\n              local_110 = &SUB_00000002;\n            }\n            else {\n              unaff_s2 = &DAT_00000009;\n              local_110 = &SUB_00000002;\n            }\n          }\n          else if (pbVar24 == (byte *)0x3) {\n            if ((*unaff_s4 == 0x4e) && (pbVar9 = &DAT_00000009, unaff_s4[1] == 0x4f)) {\n              if (unaff_s4[2] == 0x54) {\n                pbVar9 = (byte *)0x3;\n              }\n            }\n            else {\n              pbVar9 = &DAT_00000009;\n            }\n            if (((*unaff_s4 == 0x41) && (unaff_s4[1] == 0x4e)) &&\n               (unaff_s2 = &SUB_00000002, unaff_s4[2] == 0x44)) {\n              local_110 = (byte *)0x3;\n            }\n            else {\n              local_110 = (byte *)0x3;\n              unaff_s2 = pbVar9;\n            }\n          }\n          else {\n            unaff_s2 = &DAT_00000009;\n            local_110 = pbVar24;\n          }\n          goto LAB_000b2b98;\n        }\n        pbVar24 = (byte *)0x1;\n        ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70cc);\n        pbVar20 = unaff_s4;\n        (*pcVar13)(&local_c4);\n        unaff_s2 = (byte *)0x0;\n      }\n      else {\n        ppbVar17 = (byte **)0x0;\n        if (iVar5 == 0x2b) {\n          unaff_s2 = &DAT_0000000e;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x2c) {\n          if (iVar5 == 0x28) {\n            unaff_s2 = &DAT_0000000a;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 < 0x29) {\n            if (iVar5 != 0) {\n              pbVar24 = unaff_s4 + 1;\n              if (iVar5 != 0x22) {\nLAB_000b2abc:\n                puVar6 = puVar18;\n                pcVar16 = local_ac;\n                do {\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                } while (puVar15 != puVar14);\n                if (-1 < iVar5) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              bVar12 = *pbVar24;\n              if (bVar12 == 0x22) goto LAB_000b3320;\n              while (ppbVar17 = (byte **)PTR_UINT_0015b5fc, bVar12 != 0) {\n                while( true ) {\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (byte *)0x0;\n              pbVar24 = (byte *)0x1;\n              ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70e0);\n              (*pcVar13)(&local_c4);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (byte *)0x0;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 == 0x29) {\n            unaff_s2 = &DAT_0000000b;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = (byte *)0xf;\n            if (iVar5 != 0x2a) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x3a) {\n          unaff_s2 = &DAT_00000005;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x3b) {\n          if (iVar5 == 0x2c) {\n            unaff_s2 = &DAT_0000000d;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = &DAT_00000006;\n            if (iVar5 != 0x2d) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x7b) {\n          unaff_s2 = &DAT_00000007;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 == 0x7d) {\n          unaff_s2 = &DAT_00000008;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else {\n          unaff_s2 = &DAT_0000000c;\n          if (iVar5 != 0x5e) goto LAB_000b2abc;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\nLAB_000b2b98:\n        local_110 = unaff_s4 + (int)local_110;\n      }\nLAB_000b2ba0:\n      unaff_s6 = PTR_UINT_0015b5fc;\n      unaff_s7 = *(byte ***)pbVar4;\n      puVar7 = PTR_UINT_0015b5fc + 0x4920;\n      *(byte ****)(pbVar4 + 4) = &local_c4;\n      ppbVar22 = (byte **)(uint)*(byte *)unaff_s7;\n      puVar8 = PTR_UINT_0015b5fc + 0x48fc;\n      do {\n        ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n        if ((byte **)0x22 < ppbVar22) goto joined_r0x000b33cc;\n        pbVar9 = unaff_s2 + (byte)puVar8[(int)ppbVar22];\n        if ((byte *)0x78 < pbVar9) goto LAB_000b2c10;\n        while( true ) {\n          if ((byte *)(uint)pbVar9[(int)puVar7] == unaff_s2) {\n            ppbVar22 = (byte **)(uint)pbVar9[(int)(unaff_s6 + 0x499c)];\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }\n          else {\nLAB_000b2c10:\n            ppbVar22 = (byte **)(uint)*(byte *)((int)ppbVar22 + (int)(puVar2 + 0x48c4));\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }\njoined_r0x000b33cc:\n          PTR_UINT_0015b5fc = (undefined *)ppbVar10;\n          if (ppbVar22 < (byte **)0x53) {\n            if (ppbVar22 < (byte **)0x50) {\n              *(byte ***)pbVar4 = unaff_s7 + 3;\n              if (*(byte ***)(pbVar4 + 0x4b8) < unaff_s7 + 3) {\n                *(byte ***)pbVar4 = unaff_s7;\n                FUN_000b2444(pbVar4);\n              }\n              else {\n                if ((byte **)0x22 < ppbVar22) {\n                  ppbVar22 = (byte **)((uint)((int)ppbVar22 + 0x1f) & 0xff);\n                }\n                *(byte *)(unaff_s7 + 3) = (byte)ppbVar22;\n                *(byte *)((int)unaff_s7 + 0xd) = (byte)unaff_s2;\n                unaff_s7[4] = unaff_s4;\n                unaff_s7[5] = pbVar24;\n              }\n            }\n            else if (ppbVar22 == (byte **)0x51) {\n              *(byte ***)pbVar4 = unaff_s7 + -3;\n              ppbVar17 = ppbVar10;\n            }\n            else {\n              ppbVar22 = *(byte ***)(pbVar4 + 4);\n              pbVar21 = unaff_s4;\n              local_cc = unaff_s4;\n              local_c8 = pbVar24;\n              (*pcVar13)(ppbVar22,ppbVar10 + -0x1c2b);\n              ppbVar17 = &local_cc;\n              *(byte ***)(pbVar4 + 4) = ppbVar22;\n              FUN_000b23c0(unaff_s2);\n              pbVar20 = pbVar24;\n            }\n            goto LAB_000b2d18;\n          }\n          ppbVar23 = (byte **)((int)ppbVar22 + -0x53);\n          unaff_s5 = (byte *)(int)(char)*(byte *)((int)ppbVar23 + (int)(unaff_s6 + 0x488c));\n          if ((unaff_s5 != (byte *)0x0) || (unaff_s7 < *(byte ***)(pbVar4 + 0x4b8))) break;\n          FUN_000b2444(pbVar4);\n          unaff_s7 = *(byte ***)pbVar4;\n          ppbVar22 = ppbVar23;\n          if (unaff_s7 <= unaff_s1) goto LAB_000b2d18;\n          pbVar9 = unaff_s2 + 0x2c;\n          ppbVar22 = (byte **)0x0;\n        }\n        if (ppbVar23 < (byte **)0x1c) {\n                    \n                    \n          iVar5 = (*(code *)(&_gp_1 + (int)ppbVar10[(int)(ppbVar22 + 0xcb)]))();\n          return iVar5;\n        }\n        pbVar20 = unaff_s6 + 0x499c;\n        bVar12 = *(byte *)(unaff_s7 + (int)unaff_s5 * 3);\n        ppbVar17 = unaff_s7 + (int)unaff_s5 * 3 + 3;\n        bVar1 = *(byte *)((int)(ppbVar10 + 0x122a) + (int)ppbVar23);\n        *(byte ***)pbVar4 = ppbVar17;\n        *(byte *)((int)ppbVar17 + 1) = bVar1;\n        ppbVar22 = (byte **)(uint)pbVar20[(uint)bVar1 +\n                                          (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)];\n        *(byte *)ppbVar17 =\n             pbVar20[(uint)bVar1 + (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)];\n        unaff_s7 = *(byte ***)pbVar4;\n        ppbVar17 = ppbVar10;\n      } while (unaff_s1 < unaff_s7);\nLAB_000b2d18:\n      if ((local_bc != 0) || (param_3 = local_110, unaff_s2 == (byte *)0x0)) goto LAB_000b2d2c;\n    } while( true );\n  }\n  iVar5 = 7;\n  goto LAB_000b3294;\nLAB_000b2d2c:\n  ppbVar10 = *(byte ***)pbVar4;\n  if (unaff_s1 < ppbVar10) {\n    ppbVar22 = (byte **)(PTR_LAB_0015b6f8 + 0x23c0);\n    do {\n      ppbVar17 = ppbVar10 + 1;\n      *(byte ***)pbVar4 = ppbVar10 + -3;\n      FUN_000b23c0(*(byte *)((int)ppbVar10 + 1));\n      ppbVar10 = *(byte ***)pbVar4;\n    } while (unaff_s1 < ppbVar10);\n  }\n  (*(code *)PTR_sqlite3_free_0015b620)(pbVar4);\n  if ((param_2 < (int)param_1[3]) && (local_b0 != (byte **)0x0)) {\n    if (local_bc == 0) {\n      pbVar21 = &DAT_00000008;\n      pbVar20 = (byte *)0x0;\n      pbVar24 = (byte *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc);\n      if (pbVar24 != (byte *)0x0) {\n        *(int *)(pbVar24 + 4) = param_2;\n        pbVar24[0] = 0;\n        pbVar24[1] = 0;\n        pbVar24[2] = 0;\n        pbVar24[3] = 1;\n        ppbVar17 = local_b0;\n        FUN_000970a0(&local_c4);\n        pbVar20 = pbVar24;\n      }\n      goto LAB_000b321c;\n    }\nLAB_000b2da8:\n    FUN_000b1f34(local_b0);\n  }\n  else {\nLAB_000b321c:\n    if (local_bc != 0) goto LAB_000b2da8;\n    ppbVar22 = (byte **)(*(code *)PTR_sqlite3_malloc_0015b640)(0x18);\n    *(byte ***)param_4 = ppbVar22;\n    if (ppbVar22 == (byte **)0x0) {\n      local_bc = 7;\n      goto LAB_000b2da8;\n    }\n    if (local_b0 == (byte **)0x0) {\n      if (local_bc == 0) {\n        pbVar21 = &DAT_00000028;\n        pbVar20 = (byte *)0x0;\n        pbVar24 = (byte *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc);\n        ppbVar22[2] = pbVar24;\n        if (pbVar24 != (byte *)0x0) {\n          pbVar24[4] = 0;\n          pbVar24[5] = 0;\n          pbVar24[6] = 0;\n          pbVar24[7] = 1;\n        }\n      }\n      else {\n        ppbVar22[2] = (byte *)0x0;\n      }\n    }\n    else {\n      ppbVar22[2] = (byte *)local_b0;\n    }\n    *ppbVar22 = (byte *)0x0;\n    ppbVar22[1] = (byte *)param_1;\n    ppbVar22[5] = local_b4;\n    ppbVar22[4] = local_b8;\n    local_b4 = (byte *)0x0;\n  }\n  (*(code *)PTR_sqlite3_free_0015b620)(local_b4);\n  *param_5 = local_c0;\n  iVar5 = local_bc;\n  param_1 = ppbVar22;\n  unaff_s3 = unaff_s2;\n  unaff_s8 = pbVar4;\nLAB_000b3294:\n  if (local_2c == *(byte **)puVar3) {\n    return iVar5;\n  }\n  uVar19 = 0xb37f8;\n  pbVar4 = local_2c;\n  puVar7 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  puVar25 = auStack_138;\n  do {\n    pbVar9 = pbVar21;\n    pbVar24 = pbVar4;\n    pcVar13 = *(code **)(puVar7 + 0xa7ed0);\n    *(byte **)(puVar25 + -0x20) = unaff_s2;\n    *(undefined **)(puVar25 + -0x50) = puVar7 + 0xafdb8;\n    *(undefined4 *)(puVar25 + -4) = uVar19;\n    *(byte ***)(puVar25 + -0xc) = unaff_s7;\n    *(byte **)(puVar25 + -0x10) = unaff_s6;\n    *(byte **)(puVar25 + -0x18) = unaff_s4;\n    *(byte **)(puVar25 + -0x1c) = unaff_s3;\n    *(byte **)(puVar25 + -8) = unaff_s8;\n    *(byte **)(puVar25 + -0x14) = unaff_s5;\n    *(byte ***)(puVar25 + -0x24) = unaff_s1;\n    *(byte ***)(puVar25 + -0x28) = param_1;\n    unaff_s2 = *(byte **)(puVar7 + 0xa8234);\n    *(undefined4 *)(puVar25 + -0x2c) = *(undefined4 *)unaff_s2;\n    pbVar21 = pbVar20;\n    uVar19 = (*pcVar13)();\n    pcVar13 = *(code **)(*(int *)(puVar25 + -0x50) + -0x7ed0);\n    *(undefined4 *)(puVar25 + -0x44) = uVar19;\n    uVar19 = (*pcVar13)(pbVar24);\n    iVar5 = *(int *)(puVar25 + -0x50);\n    *(undefined4 *)(puVar25 + -0x40) = uVar19;\n    *(undefined4 *)(puVar25 + -0x38) = 0;\n    *(undefined4 *)(puVar25 + -0x34) = 0;\n    *(undefined4 *)(puVar25 + -0x30) = 0;\n    unaff_s3 = pbVar20;\n    unaff_s7 = ppbVar17;\n    if ((int)ppbVar17 < 1) {\n      if (pbVar9 == (byte *)0x0) {\n        iVar11 = *(int *)(iVar5 + -0x7fb4) + -0x705c;\n      }\n      else {\n        iVar11 = *(int *)(iVar5 + -0x7fb4) + -0x706c;\n      }\n      ppbVar22 = (byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fb4) + -0x7048,iVar11)\n      ;\n      pbVar21 = (byte *)0xffffffff;\n      *(byte ***)(puVar25 + -0x38) = ppbVar22;\n      (**(code **)(*(int *)(puVar25 + -0x50) + -0x7e40))(pbVar24);\n      pbVar4 = *(byte **)(puVar25 + -0x38);\n      (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))();\n      iVar5 = *(int *)(puVar25 + -0x50);\n    }\n    else {\n      if (pbVar9 == (byte *)0x0) {\n        param_1 = (byte **)0x1;\n        *(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050;\nLAB_000b38a0:\n        unaff_s5 = (byte *)((int)ppbVar17 + (3 - (int)param_1));\n        ppbVar22 = (byte **)((int)unaff_s5 * 4);\n        unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (unaff_s1 == (byte **)0x0) {\nLAB_000b3a30:\n          pbVar4 = pbVar24;\n          (**(code **)(iVar5 + -0x7e2c))();\n          iVar5 = *(int *)(puVar25 + -0x50);\n          goto LAB_000b39d4;\n        }\n        *unaff_s1 = (byte *)0x0;\n        unaff_s1[1] = (byte *)(*(int *)(iVar5 + -0x7fc8) + 0x538c);\n        unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c);\n        if ((int)param_1 < (int)ppbVar17) {\n          unaff_s8 = pbVar20 + (int)param_1 * 4;\n          iVar11 = (int)ppbVar17 * 4;\n          ppbVar22 = unaff_s1 + 3;\n          do {\n            ppbVar17 = ppbVar22 + 1;\n            uVar19 = *(undefined4 *)unaff_s8;\n            unaff_s8 = unaff_s8 + 4;\n            pbVar21 = (byte *)(**(code **)(iVar5 + -0x7f9c))(uVar19);\n            iVar5 = *(int *)(puVar25 + -0x50);\n            *ppbVar22 = pbVar21;\n            ppbVar22 = ppbVar17;\n          } while (pbVar20 + iVar11 != unaff_s8);\n        }\n      }\n      else {\n        if (ppbVar17 != (byte **)0x1) {\n          param_1 = (byte **)&SUB_00000002;\n          uVar19 = (**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)(pbVar20 + 4));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          *(undefined4 *)(puVar25 + -0x3c) = uVar19;\n          goto LAB_000b38a0;\n        }\n        ppbVar22 = (byte **)&DAT_0000000c;\n        unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (unaff_s1 == (byte **)0x0) goto LAB_000b3a30;\n        iVar11 = *(int *)(iVar5 + -0x7fc8);\n        unaff_s5 = (byte *)0x3;\n        *unaff_s1 = (byte *)0x0;\n        unaff_s1[1] = (byte *)(iVar11 + 0x538c);\n        *(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050;\n        unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c);\n      }\n      param_1 = (byte **)(puVar25 + -0x38);\n      unaff_s3 = (byte *)(**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)pbVar20);\n      *(byte ***)(puVar25 + -0x54) = param_1;\n      *(undefined1 **)(puVar25 + -0x58) = puVar25 + -0x30;\n      pbVar21 = unaff_s5;\n      ppbVar22 = (byte **)FUN_000961e8(*(undefined4 *)(puVar25 + -0x44),\n                                       *(undefined4 *)(puVar25 + -0x40),unaff_s5,unaff_s1);\n      iVar5 = *(int *)(puVar25 + -0x50);\n      if (ppbVar22 == (byte **)0x0) {\n        uVar19 = *(undefined4 *)(*(int *)(puVar25 + -0x30) + 0xc);\n        *(byte ***)(puVar25 + -0x58) = param_1;\n        pbVar20 = unaff_s3;\n        ppbVar22 = (byte **)FUN_000b2950(*(int *)(puVar25 + -0x30),uVar19,unaff_s3,puVar25 + -0x34);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        pbVar21 = pbVar20;\n        if (ppbVar22 != (byte **)0x0) goto LAB_000b3964;\n        pbVar21 = *(byte **)(*(int *)(puVar25 + -0x34) + 8);\n        if (*(int *)(pbVar21 + 0xc) == 0) {\n          param_1 = (byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fc8) + 0x53f4);\n          iVar5 = *(int *)(puVar25 + -0x50);\nLAB_000b3aa4:\n          ppbVar10 = *(byte ***)(puVar25 + -0x38);\n          pbVar21 = pbVar20;\n          if (param_1 != (byte **)0x0) goto LAB_000b3aac;\nLAB_000b3b54:\n          ppbVar22 = (byte **)&DAT_00000007;\n          if (ppbVar10 == (byte **)0x0) {\n            pcVar13 = *(code **)(iVar5 + -0x7e34);\n            goto LAB_000b3b60;\n          }\n          goto LAB_000b3970;\n        }\n        if (pbVar9 == (byte *)0x0) {\n          param_1 = (byte **)FUN_00097660();\n          iVar5 = *(int *)(puVar25 + -0x50);\n          goto LAB_000b3aa4;\n        }\n        param_1 = (byte **)FUN_00097234(*(undefined4 *)(puVar25 + -0x30),\n                                        *(undefined4 *)(puVar25 + -0x3c));\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (param_1 == (byte **)0x0) {\n          ppbVar10 = *(byte ***)(puVar25 + -0x38);\n          goto LAB_000b3b54;\n        }\nLAB_000b3aac:\n        pbVar21 = (byte *)0xffffffff;\n        ppbVar22 = param_1;\n        (**(code **)(iVar5 + -0x7f34))(pbVar24,param_1,0xffffffff,0xffffffff);\n        (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(param_1);\n        iVar5 = *(int *)(puVar25 + -0x50);\n      }\n      else {\nLAB_000b3964:\n        ppbVar10 = *(byte ***)(puVar25 + -0x38);\n        pcVar13 = *(code **)(iVar5 + -0x7e34);\n        if (ppbVar10 == (byte **)0x0) {\nLAB_000b3b60:\n          (*pcVar13)(pbVar24);\n          iVar5 = *(int *)(puVar25 + -0x50);\n        }\n        else {\nLAB_000b3970:\n          pbVar21 = (byte *)0xffffffff;\n          (**(code **)(iVar5 + -0x7e40))(pbVar24);\n          (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(*(undefined4 *)(puVar25 + -0x38));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          ppbVar22 = ppbVar10;\n        }\n      }\n      (**(code **)(iVar5 + -0x7f90))(unaff_s1);\n      (*(code *)(*(int *)(*(int *)(puVar25 + -0x50) + -0x7ef0) + -0xe08))\n                (*(undefined4 *)(puVar25 + -0x30));\n      pbVar4 = *(byte **)(puVar25 + -0x34);\n      iVar5 = *(int *)(puVar25 + -0x50);\n      unaff_s7 = ppbVar17;\n      if (pbVar4 != (byte *)0x0) {\n        FUN_000b1fe4();\n        iVar5 = *(int *)(puVar25 + -0x50);\n      }\n    }\nLAB_000b39d4:\n    if (*(int *)(puVar25 + -0x2c) == *(int *)unaff_s2) {\n      return *(int *)unaff_s2;\n    }\n    pcVar13 = *(code **)(iVar5 + -0x7ba0);\n    uVar19 = 0xb3bf0;\n    (*pcVar13)();\n    puVar7 = (undefined *)(*(int *)(pcVar13 + 0xa7b08) + 0x37f8);\n    ppbVar17 = ppbVar22;\n    pbVar20 = pbVar21;\n    pbVar21 = (byte *)0x1;\n    unaff_s4 = pbVar24;\n    unaff_s6 = pbVar9;\n    puVar25 = puVar25 + -0x68;\n  } while( true );\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "byte *pbVar4;" type_identifier (pointer_declarator "*pbVar4" * identifier) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "undefined4 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "undefined *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "undefined *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "byte *pbVar9;" type_identifier (pointer_declarator "*pbVar9" * identifier) ;) (declaration "byte **ppbVar10;" type_identifier (pointer_declarator "**ppbVar10" * (pointer_declarator "*ppbVar10" * identifier)) ;) (declaration "byte bVar12;" type_identifier identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "code *pcVar13;" type_identifier (pointer_declarator "*pcVar13" * identifier) ;) (declaration "undefined4 *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "undefined4 *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "char *pcVar16;" primitive_type (pointer_declarator "*pcVar16" * identifier) ;) (declaration "byte **ppbVar17;" type_identifier (pointer_declarator "**ppbVar17" * (pointer_declarator "*ppbVar17" * identifier)) ;) (declaration "undefined4 *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "undefined4 uVar19;" type_identifier identifier ;) (declaration "byte *pbVar20;" type_identifier (pointer_declarator "*pbVar20" * identifier) ;) (declaration "byte *pbVar21;" type_identifier (pointer_declarator "*pbVar21" * identifier) ;) (declaration "byte **ppbVar22;" type_identifier (pointer_declarator "**ppbVar22" * (pointer_declarator "*ppbVar22" * identifier)) ;) (declaration "byte **ppbVar23;" type_identifier (pointer_declarator "**ppbVar23" * (pointer_declarator "*ppbVar23" * identifier)) ;) (declaration "byte **unaff_s1;" type_identifier (pointer_declarator "**unaff_s1" * (pointer_declarator "*unaff_s1" * identifier)) ;) (declaration "byte *pbVar24;" type_identifier (pointer_declarator "*pbVar24" * identifier) ;) (declaration "byte *unaff_s2;" type_identifier (pointer_declarator "*unaff_s2" * identifier) ;) (declaration "byte *unaff_s3;" type_identifier (pointer_declarator "*unaff_s3" * identifier) ;) (declaration "byte *unaff_s4;" type_identifier (pointer_declarator "*unaff_s4" * identifier) ;) (declaration "byte *unaff_s5;" type_identifier (pointer_declarator "*unaff_s5" * identifier) ;) (declaration "byte *unaff_s6;" type_identifier (pointer_declarator "*unaff_s6" * identifier) ;) (declaration "byte **unaff_s7;" type_identifier (pointer_declarator "**unaff_s7" * (pointer_declarator "*unaff_s7" * identifier)) ;) (declaration "undefined1 *puVar25;" type_identifier (pointer_declarator "*puVar25" * identifier) ;) (declaration "byte *unaff_s8;" type_identifier (pointer_declarator "*unaff_s8" * identifier) ;) (declaration "undefined1 auStack_138 [24];" type_identifier (array_declarator "auStack_138 [24]" identifier [ number_literal ]) ;) (declaration "byte *local_110;" type_identifier (pointer_declarator "*local_110" * identifier) ;) (declaration "byte *local_cc;" type_identifier (pointer_declarator "*local_cc" * identifier) ;) (declaration "byte *local_c8;" type_identifier (pointer_declarator "*local_c8" * identifier) ;) (declaration "byte **local_c4;" type_identifier (pointer_declarator "**local_c4" * (pointer_declarator "*local_c4" * identifier)) ;) (declaration "undefined4 local_c0;" type_identifier identifier ;) (declaration "int local_bc;" primitive_type identifier ;) (declaration "byte *local_b8;" type_identifier (pointer_declarator "*local_b8" * identifier) ;) (declaration "byte *local_b4;" type_identifier (pointer_declarator "*local_b4" * identifier) ;) (declaration "byte **local_b0;" type_identifier (pointer_declarator "**local_b0" * (pointer_declarator "*local_b0" * identifier)) ;) (declaration "char local_ac [4];" primitive_type (array_declarator "local_ac [4]" identifier [ number_literal ]) ;) (declaration "undefined4 local_a8 [31];" type_identifier (array_declarator "local_a8 [31]" identifier [ number_literal ]) ;) (declaration "byte *local_2c;" type_identifier (pointer_declarator "*local_2c" * identifier) ;) (expression_statement "puVar3 = PTR___stack_chk_guard_0015ba2c;" (assignment_expression "puVar3 = PTR___stack_chk_guard_0015ba2c" identifier = identifier) ;) (expression_statement "puVar7 = PTR_sqlite3_malloc64_0015b760;" (assignment_expression "puVar7 = PTR_sqlite3_malloc64_0015b760" identifier = identifier) ;) (expression_statement "ppbVar17 = (byte **)0x4bc;" (assignment_expression "ppbVar17 = (byte **)0x4bc" identifier = (cast_expression "(byte **)0x4bc" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "local_c4 = (byte **)0x0;" (assignment_expression "local_c4 = (byte **)0x0" identifier = (cast_expression "(byte **)0x0" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "local_c0 = 0;" (assignment_expression "local_c0 = 0" identifier = number_literal) ;) (expression_statement "local_bc = 0;" (assignment_expression "local_bc = 0" identifier = number_literal) ;) (expression_statement "local_b8 = (byte *)0x0;" (assignment_expression "local_b8 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_b4 = (byte *)0x0;" (assignment_expression "local_b4 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_b0 = (byte **)0x0;" (assignment_expression "local_b0 = (byte **)0x0" identifier = (cast_expression "(byte **)0x0" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "local_2c = *(byte **)PTR___stack_chk_guard_0015ba2c;" (assignment_expression "local_2c = *(byte **)PTR___stack_chk_guard_0015ba2c" identifier = (pointer_expression "*(byte **)PTR___stack_chk_guard_0015ba2c" * (cast_expression "(byte **)PTR___stack_chk_guard_0015ba2c" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "param_4[0] = 0;" (assignment_expression "param_4[0] = 0" (subscript_expression "param_4[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_4[1] = 0;" (assignment_expression "param_4[1] = 0" (subscript_expression "param_4[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_4[2] = 0;" (assignment_expression "param_4[2] = 0" (subscript_expression "param_4[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_4[3] = 0;" (assignment_expression "param_4[3] = 0" (subscript_expression "param_4[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*param_5 = 0;" (assignment_expression "*param_5 = 0" (pointer_expression "*param_5" * identifier) = number_literal) ;) (expression_statement "pbVar20 = param_3;" (assignment_expression "pbVar20 = param_3" identifier = identifier) ;) (expression_statement "pbVar21 = param_4;" (assignment_expression "pbVar21 = param_4" identifier = identifier) ;) (expression_statement "pbVar4 = (byte *)(*(code *)puVar7)(0);" (assignment_expression "pbVar4 = (byte *)(*(code *)puVar7)(0)" identifier = (cast_expression "(byte *)(*(code *)puVar7)(0)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)puVar7)(0)" (parenthesized_expression "(*(code *)puVar7)" ( (pointer_expression "*(code *)puVar7" * (cast_expression "(code *)puVar7" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0)" ( number_literal ))))) ;) (expression_statement "puVar7 = PTR_UINT_0015b5fc;" (assignment_expression "puVar7 = PTR_UINT_0015b5fc" identifier = identifier) ;) (if_statement "if (pbVar4 != (byte *)0x0) {\n    unaff_s1 = (byte **)(pbVar4 + 8);\n    pbVar4[8] = 0;\n    puVar8 = PTR_DAT_0015b71c;\n    pbVar4[9] = 0;\n    puVar18 = (undefined4 *)(puVar7 + 0x638);\n    *(byte **)(pbVar4 + 0x4b8) = pbVar4 + 0x4ac;\n    puVar2 = PTR_UINT_0015b5fc;\n    pcVar13 = (code *)(puVar8 + 0x2288);\n    *(byte ***)pbVar4 = unaff_s1;\n    puVar14 = (undefined4 *)(puVar7 + 0x6b8);\n    local_c4 = param_1;\n    local_110 = param_3;\nLAB_000b2a68:\n    do {\n      unaff_s4 = param_3;\n      iVar5 = (int)(char)*unaff_s4;\n      if ((iVar5 - 9U & 0xff) < 0x18) {\n        pcVar16 = local_ac;\n        puVar6 = puVar18;\n        if ((int)((0x800013U >> (iVar5 - 9U & 0x1f)) << 0x1f) < 0) {\n          param_3 = unaff_s4 + 1;\n          goto LAB_000b2a68;\n        }\n        do {\n          puVar15 = puVar6 + 4;\n          *(undefined4 *)pcVar16 = *puVar6;\n          pbVar21 = (byte *)puVar6[1];\n          uVar19 = puVar6[2];\n          *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n          *(byte **)(pcVar16 + 4) = pbVar21;\n          *(undefined4 *)(pcVar16 + 8) = uVar19;\n          puVar6 = puVar15;\n          pcVar16 = pcVar16 + 0x10;\n        } while (puVar15 != puVar14);\nLAB_000b34f0:\n        if (local_ac[iVar5] != '\0') {\nLAB_000b2b04:\n          pbVar24 = unaff_s4;\n          do {\n            pbVar24 = pbVar24 + 1;\n            bVar12 = *pbVar24;\n            puVar6 = puVar18;\n            pcVar16 = local_ac;\n            do {\n              pbVar21 = (byte *)*puVar6;\n              puVar15 = puVar6 + 4;\n              *(byte **)pcVar16 = pbVar21;\n              pbVar20 = (byte *)puVar6[1];\n              ppbVar17 = (byte **)puVar6[2];\n              *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n              *(byte **)(pcVar16 + 4) = pbVar20;\n              *(byte ***)(pcVar16 + 8) = ppbVar17;\n              puVar6 = puVar15;\n              pcVar16 = pcVar16 + 0x10;\n            } while (puVar15 != puVar14);\n          } while (((char)bVar12 < 0) || (local_ac[(char)bVar12] != '\0'));\n          pbVar24 = pbVar24 + -(int)unaff_s4;\n          if (pbVar24 == &SUB_00000002) {\n            if ((*unaff_s4 == 0x4f) && (unaff_s4[1] == 0x52)) {\n              unaff_s2 = (byte *)0x1;\n              local_110 = &SUB_00000002;\n            }\n            else {\n              unaff_s2 = &DAT_00000009;\n              local_110 = &SUB_00000002;\n            }\n          }\n          else if (pbVar24 == (byte *)0x3) {\n            if ((*unaff_s4 == 0x4e) && (pbVar9 = &DAT_00000009, unaff_s4[1] == 0x4f)) {\n              if (unaff_s4[2] == 0x54) {\n                pbVar9 = (byte *)0x3;\n              }\n            }\n            else {\n              pbVar9 = &DAT_00000009;\n            }\n            if (((*unaff_s4 == 0x41) && (unaff_s4[1] == 0x4e)) &&\n               (unaff_s2 = &SUB_00000002, unaff_s4[2] == 0x44)) {\n              local_110 = (byte *)0x3;\n            }\n            else {\n              local_110 = (byte *)0x3;\n              unaff_s2 = pbVar9;\n            }\n          }\n          else {\n            unaff_s2 = &DAT_00000009;\n            local_110 = pbVar24;\n          }\n          goto LAB_000b2b98;\n        }\n        pbVar24 = (byte *)0x1;\n        ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70cc);\n        pbVar20 = unaff_s4;\n        (*pcVar13)(&local_c4);\n        unaff_s2 = (byte *)0x0;\n      }\n      else {\n        ppbVar17 = (byte **)0x0;\n        if (iVar5 == 0x2b) {\n          unaff_s2 = &DAT_0000000e;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x2c) {\n          if (iVar5 == 0x28) {\n            unaff_s2 = &DAT_0000000a;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 < 0x29) {\n            if (iVar5 != 0) {\n              pbVar24 = unaff_s4 + 1;\n              if (iVar5 != 0x22) {\nLAB_000b2abc:\n                puVar6 = puVar18;\n                pcVar16 = local_ac;\n                do {\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                } while (puVar15 != puVar14);\n                if (-1 < iVar5) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              bVar12 = *pbVar24;\n              if (bVar12 == 0x22) goto LAB_000b3320;\n              while (ppbVar17 = (byte **)PTR_UINT_0015b5fc, bVar12 != 0) {\n                while( true ) {\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (byte *)0x0;\n              pbVar24 = (byte *)0x1;\n              ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70e0);\n              (*pcVar13)(&local_c4);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (byte *)0x0;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 == 0x29) {\n            unaff_s2 = &DAT_0000000b;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = (byte *)0xf;\n            if (iVar5 != 0x2a) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x3a) {\n          unaff_s2 = &DAT_00000005;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x3b) {\n          if (iVar5 == 0x2c) {\n            unaff_s2 = &DAT_0000000d;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = &DAT_00000006;\n            if (iVar5 != 0x2d) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x7b) {\n          unaff_s2 = &DAT_00000007;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 == 0x7d) {\n          unaff_s2 = &DAT_00000008;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else {\n          unaff_s2 = &DAT_0000000c;\n          if (iVar5 != 0x5e) goto LAB_000b2abc;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\nLAB_000b2b98:\n        local_110 = unaff_s4 + (int)local_110;\n      }\nLAB_000b2ba0:\n      unaff_s6 = PTR_UINT_0015b5fc;\n      unaff_s7 = *(byte ***)pbVar4;\n      puVar7 = PTR_UINT_0015b5fc + 0x4920;\n      *(byte ****)(pbVar4 + 4) = &local_c4;\n      ppbVar22 = (byte **)(uint)*(byte *)unaff_s7;\n      puVar8 = PTR_UINT_0015b5fc + 0x48fc;\n      do {\n        ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n        if ((byte **)0x22 < ppbVar22) goto joined_r0x000b33cc;\n        pbVar9 = unaff_s2 + (byte)puVar8[(int)ppbVar22];\n        if ((byte *)0x78 < pbVar9) goto LAB_000b2c10;\n        while( true ) {\n          if ((byte *)(uint)pbVar9[(int)puVar7] == unaff_s2) {\n            ppbVar22 = (byte **)(uint)pbVar9[(int)(unaff_s6 + 0x499c)];\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }\n          else {\nLAB_000b2c10:\n            ppbVar22 = (byte **)(uint)*(byte *)((int)ppbVar22 + (int)(puVar2 + 0x48c4));\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }\njoined_r0x000b33cc:\n          PTR_UINT_0015b5fc = (undefined *)ppbVar10;\n          if (ppbVar22 < (byte **)0x53) {\n            if (ppbVar22 < (byte **)0x50) {\n              *(byte ***)pbVar4 = unaff_s7 + 3;\n              if (*(byte ***)(pbVar4 + 0x4b8) < unaff_s7 + 3) {\n                *(byte ***)pbVar4 = unaff_s7;\n                FUN_000b2444(pbVar4);\n              }\n              else {\n                if ((byte **)0x22 < ppbVar22) {\n                  ppbVar22 = (byte **)((uint)((int)ppbVar22 + 0x1f) & 0xff);\n                }\n                *(byte *)(unaff_s7 + 3) = (byte)ppbVar22;\n                *(byte *)((int)unaff_s7 + 0xd) = (byte)unaff_s2;\n                unaff_s7[4] = unaff_s4;\n                unaff_s7[5] = pbVar24;\n              }\n            }\n            else if (ppbVar22 == (byte **)0x51) {\n              *(byte ***)pbVar4 = unaff_s7 + -3;\n              ppbVar17 = ppbVar10;\n            }\n            else {\n              ppbVar22 = *(byte ***)(pbVar4 + 4);\n              pbVar21 = unaff_s4;\n              local_cc = unaff_s4;\n              local_c8 = pbVar24;\n              (*pcVar13)(ppbVar22,ppbVar10 + -0x1c2b);\n              ppbVar17 = &local_cc;\n              *(byte ***)(pbVar4 + 4) = ppbVar22;\n              FUN_000b23c0(unaff_s2);\n              pbVar20 = pbVar24;\n            }\n            goto LAB_000b2d18;\n          }\n          ppbVar23 = (byte **)((int)ppbVar22 + -0x53);\n          unaff_s5 = (byte *)(int)(char)*(byte *)((int)ppbVar23 + (int)(unaff_s6 + 0x488c));\n          if ((unaff_s5 != (byte *)0x0) || (unaff_s7 < *(byte ***)(pbVar4 + 0x4b8))) break;\n          FUN_000b2444(pbVar4);\n          unaff_s7 = *(byte ***)pbVar4;\n          ppbVar22 = ppbVar23;\n          if (unaff_s7 <= unaff_s1) goto LAB_000b2d18;\n          pbVar9 = unaff_s2 + 0x2c;\n          ppbVar22 = (byte **)0x0;\n        }\n        if (ppbVar23 < (byte **)0x1c) {\n                    \n                    \n          iVar5 = (*(code *)(&_gp_1 + (int)ppbVar10[(int)(ppbVar22 + 0xcb)]))();\n          return iVar5;\n        }\n        pbVar20 = unaff_s6 + 0x499c;\n        bVar12 = *(byte *)(unaff_s7 + (int)unaff_s5 * 3);\n        ppbVar17 = unaff_s7 + (int)unaff_s5 * 3 + 3;\n        bVar1 = *(byte *)((int)(ppbVar10 + 0x122a) + (int)ppbVar23);\n        *(byte ***)pbVar4 = ppbVar17;\n        *(byte *)((int)ppbVar17 + 1) = bVar1;\n        ppbVar22 = (byte **)(uint)pbVar20[(uint)bVar1 +\n                                          (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)];\n        *(byte *)ppbVar17 =\n             pbVar20[(uint)bVar1 + (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)];\n        unaff_s7 = *(byte ***)pbVar4;\n        ppbVar17 = ppbVar10;\n      } while (unaff_s1 < unaff_s7);\nLAB_000b2d18:\n      if ((local_bc != 0) || (param_3 = local_110, unaff_s2 == (byte *)0x0)) goto LAB_000b2d2c;\n    } while( true );\n  }" if (parenthesized_expression "(pbVar4 != (byte *)0x0)" ( (binary_expression "pbVar4 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    unaff_s1 = (byte **)(pbVar4 + 8);\n    pbVar4[8] = 0;\n    puVar8 = PTR_DAT_0015b71c;\n    pbVar4[9] = 0;\n    puVar18 = (undefined4 *)(puVar7 + 0x638);\n    *(byte **)(pbVar4 + 0x4b8) = pbVar4 + 0x4ac;\n    puVar2 = PTR_UINT_0015b5fc;\n    pcVar13 = (code *)(puVar8 + 0x2288);\n    *(byte ***)pbVar4 = unaff_s1;\n    puVar14 = (undefined4 *)(puVar7 + 0x6b8);\n    local_c4 = param_1;\n    local_110 = param_3;\nLAB_000b2a68:\n    do {\n      unaff_s4 = param_3;\n      iVar5 = (int)(char)*unaff_s4;\n      if ((iVar5 - 9U & 0xff) < 0x18) {\n        pcVar16 = local_ac;\n        puVar6 = puVar18;\n        if ((int)((0x800013U >> (iVar5 - 9U & 0x1f)) << 0x1f) < 0) {\n          param_3 = unaff_s4 + 1;\n          goto LAB_000b2a68;\n        }\n        do {\n          puVar15 = puVar6 + 4;\n          *(undefined4 *)pcVar16 = *puVar6;\n          pbVar21 = (byte *)puVar6[1];\n          uVar19 = puVar6[2];\n          *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n          *(byte **)(pcVar16 + 4) = pbVar21;\n          *(undefined4 *)(pcVar16 + 8) = uVar19;\n          puVar6 = puVar15;\n          pcVar16 = pcVar16 + 0x10;\n        } while (puVar15 != puVar14);\nLAB_000b34f0:\n        if (local_ac[iVar5] != '\0') {\nLAB_000b2b04:\n          pbVar24 = unaff_s4;\n          do {\n            pbVar24 = pbVar24 + 1;\n            bVar12 = *pbVar24;\n            puVar6 = puVar18;\n            pcVar16 = local_ac;\n            do {\n              pbVar21 = (byte *)*puVar6;\n              puVar15 = puVar6 + 4;\n              *(byte **)pcVar16 = pbVar21;\n              pbVar20 = (byte *)puVar6[1];\n              ppbVar17 = (byte **)puVar6[2];\n              *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n              *(byte **)(pcVar16 + 4) = pbVar20;\n              *(byte ***)(pcVar16 + 8) = ppbVar17;\n              puVar6 = puVar15;\n              pcVar16 = pcVar16 + 0x10;\n            } while (puVar15 != puVar14);\n          } while (((char)bVar12 < 0) || (local_ac[(char)bVar12] != '\0'));\n          pbVar24 = pbVar24 + -(int)unaff_s4;\n          if (pbVar24 == &SUB_00000002) {\n            if ((*unaff_s4 == 0x4f) && (unaff_s4[1] == 0x52)) {\n              unaff_s2 = (byte *)0x1;\n              local_110 = &SUB_00000002;\n            }\n            else {\n              unaff_s2 = &DAT_00000009;\n              local_110 = &SUB_00000002;\n            }\n          }\n          else if (pbVar24 == (byte *)0x3) {\n            if ((*unaff_s4 == 0x4e) && (pbVar9 = &DAT_00000009, unaff_s4[1] == 0x4f)) {\n              if (unaff_s4[2] == 0x54) {\n                pbVar9 = (byte *)0x3;\n              }\n            }\n            else {\n              pbVar9 = &DAT_00000009;\n            }\n            if (((*unaff_s4 == 0x41) && (unaff_s4[1] == 0x4e)) &&\n               (unaff_s2 = &SUB_00000002, unaff_s4[2] == 0x44)) {\n              local_110 = (byte *)0x3;\n            }\n            else {\n              local_110 = (byte *)0x3;\n              unaff_s2 = pbVar9;\n            }\n          }\n          else {\n            unaff_s2 = &DAT_00000009;\n            local_110 = pbVar24;\n          }\n          goto LAB_000b2b98;\n        }\n        pbVar24 = (byte *)0x1;\n        ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70cc);\n        pbVar20 = unaff_s4;\n        (*pcVar13)(&local_c4);\n        unaff_s2 = (byte *)0x0;\n      }\n      else {\n        ppbVar17 = (byte **)0x0;\n        if (iVar5 == 0x2b) {\n          unaff_s2 = &DAT_0000000e;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x2c) {\n          if (iVar5 == 0x28) {\n            unaff_s2 = &DAT_0000000a;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 < 0x29) {\n            if (iVar5 != 0) {\n              pbVar24 = unaff_s4 + 1;\n              if (iVar5 != 0x22) {\nLAB_000b2abc:\n                puVar6 = puVar18;\n                pcVar16 = local_ac;\n                do {\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                } while (puVar15 != puVar14);\n                if (-1 < iVar5) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              bVar12 = *pbVar24;\n              if (bVar12 == 0x22) goto LAB_000b3320;\n              while (ppbVar17 = (byte **)PTR_UINT_0015b5fc, bVar12 != 0) {\n                while( true ) {\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (byte *)0x0;\n              pbVar24 = (byte *)0x1;\n              ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70e0);\n              (*pcVar13)(&local_c4);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (byte *)0x0;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 == 0x29) {\n            unaff_s2 = &DAT_0000000b;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = (byte *)0xf;\n            if (iVar5 != 0x2a) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x3a) {\n          unaff_s2 = &DAT_00000005;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x3b) {\n          if (iVar5 == 0x2c) {\n            unaff_s2 = &DAT_0000000d;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = &DAT_00000006;\n            if (iVar5 != 0x2d) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x7b) {\n          unaff_s2 = &DAT_00000007;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 == 0x7d) {\n          unaff_s2 = &DAT_00000008;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else {\n          unaff_s2 = &DAT_0000000c;\n          if (iVar5 != 0x5e) goto LAB_000b2abc;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\nLAB_000b2b98:\n        local_110 = unaff_s4 + (int)local_110;\n      }\nLAB_000b2ba0:\n      unaff_s6 = PTR_UINT_0015b5fc;\n      unaff_s7 = *(byte ***)pbVar4;\n      puVar7 = PTR_UINT_0015b5fc + 0x4920;\n      *(byte ****)(pbVar4 + 4) = &local_c4;\n      ppbVar22 = (byte **)(uint)*(byte *)unaff_s7;\n      puVar8 = PTR_UINT_0015b5fc + 0x48fc;\n      do {\n        ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n        if ((byte **)0x22 < ppbVar22) goto joined_r0x000b33cc;\n        pbVar9 = unaff_s2 + (byte)puVar8[(int)ppbVar22];\n        if ((byte *)0x78 < pbVar9) goto LAB_000b2c10;\n        while( true ) {\n          if ((byte *)(uint)pbVar9[(int)puVar7] == unaff_s2) {\n            ppbVar22 = (byte **)(uint)pbVar9[(int)(unaff_s6 + 0x499c)];\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }\n          else {\nLAB_000b2c10:\n            ppbVar22 = (byte **)(uint)*(byte *)((int)ppbVar22 + (int)(puVar2 + 0x48c4));\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }\njoined_r0x000b33cc:\n          PTR_UINT_0015b5fc = (undefined *)ppbVar10;\n          if (ppbVar22 < (byte **)0x53) {\n            if (ppbVar22 < (byte **)0x50) {\n              *(byte ***)pbVar4 = unaff_s7 + 3;\n              if (*(byte ***)(pbVar4 + 0x4b8) < unaff_s7 + 3) {\n                *(byte ***)pbVar4 = unaff_s7;\n                FUN_000b2444(pbVar4);\n              }\n              else {\n                if ((byte **)0x22 < ppbVar22) {\n                  ppbVar22 = (byte **)((uint)((int)ppbVar22 + 0x1f) & 0xff);\n                }\n                *(byte *)(unaff_s7 + 3) = (byte)ppbVar22;\n                *(byte *)((int)unaff_s7 + 0xd) = (byte)unaff_s2;\n                unaff_s7[4] = unaff_s4;\n                unaff_s7[5] = pbVar24;\n              }\n            }\n            else if (ppbVar22 == (byte **)0x51) {\n              *(byte ***)pbVar4 = unaff_s7 + -3;\n              ppbVar17 = ppbVar10;\n            }\n            else {\n              ppbVar22 = *(byte ***)(pbVar4 + 4);\n              pbVar21 = unaff_s4;\n              local_cc = unaff_s4;\n              local_c8 = pbVar24;\n              (*pcVar13)(ppbVar22,ppbVar10 + -0x1c2b);\n              ppbVar17 = &local_cc;\n              *(byte ***)(pbVar4 + 4) = ppbVar22;\n              FUN_000b23c0(unaff_s2);\n              pbVar20 = pbVar24;\n            }\n            goto LAB_000b2d18;\n          }\n          ppbVar23 = (byte **)((int)ppbVar22 + -0x53);\n          unaff_s5 = (byte *)(int)(char)*(byte *)((int)ppbVar23 + (int)(unaff_s6 + 0x488c));\n          if ((unaff_s5 != (byte *)0x0) || (unaff_s7 < *(byte ***)(pbVar4 + 0x4b8))) break;\n          FUN_000b2444(pbVar4);\n          unaff_s7 = *(byte ***)pbVar4;\n          ppbVar22 = ppbVar23;\n          if (unaff_s7 <= unaff_s1) goto LAB_000b2d18;\n          pbVar9 = unaff_s2 + 0x2c;\n          ppbVar22 = (byte **)0x0;\n        }\n        if (ppbVar23 < (byte **)0x1c) {\n                    \n                    \n          iVar5 = (*(code *)(&_gp_1 + (int)ppbVar10[(int)(ppbVar22 + 0xcb)]))();\n          return iVar5;\n        }\n        pbVar20 = unaff_s6 + 0x499c;\n        bVar12 = *(byte *)(unaff_s7 + (int)unaff_s5 * 3);\n        ppbVar17 = unaff_s7 + (int)unaff_s5 * 3 + 3;\n        bVar1 = *(byte *)((int)(ppbVar10 + 0x122a) + (int)ppbVar23);\n        *(byte ***)pbVar4 = ppbVar17;\n        *(byte *)((int)ppbVar17 + 1) = bVar1;\n        ppbVar22 = (byte **)(uint)pbVar20[(uint)bVar1 +\n                                          (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)];\n        *(byte *)ppbVar17 =\n             pbVar20[(uint)bVar1 + (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)];\n        unaff_s7 = *(byte ***)pbVar4;\n        ppbVar17 = ppbVar10;\n      } while (unaff_s1 < unaff_s7);\nLAB_000b2d18:\n      if ((local_bc != 0) || (param_3 = local_110, unaff_s2 == (byte *)0x0)) goto LAB_000b2d2c;\n    } while( true );\n  }" { (expression_statement "unaff_s1 = (byte **)(pbVar4 + 8);" (assignment_expression "unaff_s1 = (byte **)(pbVar4 + 8)" identifier = (cast_expression "(byte **)(pbVar4 + 8)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pbVar4 + 8)" ( (binary_expression "pbVar4 + 8" identifier + number_literal) )))) ;) (expression_statement "pbVar4[8] = 0;" (assignment_expression "pbVar4[8] = 0" (subscript_expression "pbVar4[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar8 = PTR_DAT_0015b71c;" (assignment_expression "puVar8 = PTR_DAT_0015b71c" identifier = identifier) ;) (expression_statement "pbVar4[9] = 0;" (assignment_expression "pbVar4[9] = 0" (subscript_expression "pbVar4[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar18 = (undefined4 *)(puVar7 + 0x638);" (assignment_expression "puVar18 = (undefined4 *)(puVar7 + 0x638)" identifier = (cast_expression "(undefined4 *)(puVar7 + 0x638)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x638)" ( (binary_expression "puVar7 + 0x638" identifier + number_literal) )))) ;) (expression_statement "*(byte **)(pbVar4 + 0x4b8) = pbVar4 + 0x4ac;" (assignment_expression "*(byte **)(pbVar4 + 0x4b8) = pbVar4 + 0x4ac" (pointer_expression "*(byte **)(pbVar4 + 0x4b8)" * (cast_expression "(byte **)(pbVar4 + 0x4b8)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pbVar4 + 0x4b8)" ( (binary_expression "pbVar4 + 0x4b8" identifier + number_literal) )))) = (binary_expression "pbVar4 + 0x4ac" identifier + number_literal)) ;) (expression_statement "puVar2 = PTR_UINT_0015b5fc;" (assignment_expression "puVar2 = PTR_UINT_0015b5fc" identifier = identifier) ;) (expression_statement "pcVar13 = (code *)(puVar8 + 0x2288);" (assignment_expression "pcVar13 = (code *)(puVar8 + 0x2288)" identifier = (cast_expression "(code *)(puVar8 + 0x2288)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar8 + 0x2288)" ( (binary_expression "puVar8 + 0x2288" identifier + number_literal) )))) ;) (expression_statement "*(byte ***)pbVar4 = unaff_s1;" (assignment_expression "*(byte ***)pbVar4 = unaff_s1" (pointer_expression "*(byte ***)pbVar4" * (cast_expression "(byte ***)pbVar4" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) = identifier) ;) (expression_statement "puVar14 = (undefined4 *)(puVar7 + 0x6b8);" (assignment_expression "puVar14 = (undefined4 *)(puVar7 + 0x6b8)" identifier = (cast_expression "(undefined4 *)(puVar7 + 0x6b8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar7 + 0x6b8)" ( (binary_expression "puVar7 + 0x6b8" identifier + number_literal) )))) ;) (expression_statement "local_c4 = param_1;" (assignment_expression "local_c4 = param_1" identifier = identifier) ;) (expression_statement "local_110 = param_3;" (assignment_expression "local_110 = param_3" identifier = identifier) ;) (labeled_statement "LAB_000b2a68:\n    do {\n      unaff_s4 = param_3;\n      iVar5 = (int)(char)*unaff_s4;\n      if ((iVar5 - 9U & 0xff) < 0x18) {\n        pcVar16 = local_ac;\n        puVar6 = puVar18;\n        if ((int)((0x800013U >> (iVar5 - 9U & 0x1f)) << 0x1f) < 0) {\n          param_3 = unaff_s4 + 1;\n          goto LAB_000b2a68;\n        }\n        do {\n          puVar15 = puVar6 + 4;\n          *(undefined4 *)pcVar16 = *puVar6;\n          pbVar21 = (byte *)puVar6[1];\n          uVar19 = puVar6[2];\n          *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n          *(byte **)(pcVar16 + 4) = pbVar21;\n          *(undefined4 *)(pcVar16 + 8) = uVar19;\n          puVar6 = puVar15;\n          pcVar16 = pcVar16 + 0x10;\n        } while (puVar15 != puVar14);\nLAB_000b34f0:\n        if (local_ac[iVar5] != '\0') {\nLAB_000b2b04:\n          pbVar24 = unaff_s4;\n          do {\n            pbVar24 = pbVar24 + 1;\n            bVar12 = *pbVar24;\n            puVar6 = puVar18;\n            pcVar16 = local_ac;\n            do {\n              pbVar21 = (byte *)*puVar6;\n              puVar15 = puVar6 + 4;\n              *(byte **)pcVar16 = pbVar21;\n              pbVar20 = (byte *)puVar6[1];\n              ppbVar17 = (byte **)puVar6[2];\n              *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n              *(byte **)(pcVar16 + 4) = pbVar20;\n              *(byte ***)(pcVar16 + 8) = ppbVar17;\n              puVar6 = puVar15;\n              pcVar16 = pcVar16 + 0x10;\n            } while (puVar15 != puVar14);\n          } while (((char)bVar12 < 0) || (local_ac[(char)bVar12] != '\0'));\n          pbVar24 = pbVar24 + -(int)unaff_s4;\n          if (pbVar24 == &SUB_00000002) {\n            if ((*unaff_s4 == 0x4f) && (unaff_s4[1] == 0x52)) {\n              unaff_s2 = (byte *)0x1;\n              local_110 = &SUB_00000002;\n            }\n            else {\n              unaff_s2 = &DAT_00000009;\n              local_110 = &SUB_00000002;\n            }\n          }\n          else if (pbVar24 == (byte *)0x3) {\n            if ((*unaff_s4 == 0x4e) && (pbVar9 = &DAT_00000009, unaff_s4[1] == 0x4f)) {\n              if (unaff_s4[2] == 0x54) {\n                pbVar9 = (byte *)0x3;\n              }\n            }\n            else {\n              pbVar9 = &DAT_00000009;\n            }\n            if (((*unaff_s4 == 0x41) && (unaff_s4[1] == 0x4e)) &&\n               (unaff_s2 = &SUB_00000002, unaff_s4[2] == 0x44)) {\n              local_110 = (byte *)0x3;\n            }\n            else {\n              local_110 = (byte *)0x3;\n              unaff_s2 = pbVar9;\n            }\n          }\n          else {\n            unaff_s2 = &DAT_00000009;\n            local_110 = pbVar24;\n          }\n          goto LAB_000b2b98;\n        }\n        pbVar24 = (byte *)0x1;\n        ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70cc);\n        pbVar20 = unaff_s4;\n        (*pcVar13)(&local_c4);\n        unaff_s2 = (byte *)0x0;\n      }\n      else {\n        ppbVar17 = (byte **)0x0;\n        if (iVar5 == 0x2b) {\n          unaff_s2 = &DAT_0000000e;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x2c) {\n          if (iVar5 == 0x28) {\n            unaff_s2 = &DAT_0000000a;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 < 0x29) {\n            if (iVar5 != 0) {\n              pbVar24 = unaff_s4 + 1;\n              if (iVar5 != 0x22) {\nLAB_000b2abc:\n                puVar6 = puVar18;\n                pcVar16 = local_ac;\n                do {\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                } while (puVar15 != puVar14);\n                if (-1 < iVar5) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              bVar12 = *pbVar24;\n              if (bVar12 == 0x22) goto LAB_000b3320;\n              while (ppbVar17 = (byte **)PTR_UINT_0015b5fc, bVar12 != 0) {\n                while( true ) {\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (byte *)0x0;\n              pbVar24 = (byte *)0x1;\n              ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70e0);\n              (*pcVar13)(&local_c4);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (byte *)0x0;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 == 0x29) {\n            unaff_s2 = &DAT_0000000b;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = (byte *)0xf;\n            if (iVar5 != 0x2a) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x3a) {\n          unaff_s2 = &DAT_00000005;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x3b) {\n          if (iVar5 == 0x2c) {\n            unaff_s2 = &DAT_0000000d;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = &DAT_00000006;\n            if (iVar5 != 0x2d) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x7b) {\n          unaff_s2 = &DAT_00000007;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 == 0x7d) {\n          unaff_s2 = &DAT_00000008;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else {\n          unaff_s2 = &DAT_0000000c;\n          if (iVar5 != 0x5e) goto LAB_000b2abc;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\nLAB_000b2b98:\n        local_110 = unaff_s4 + (int)local_110;\n      }\nLAB_000b2ba0:\n      unaff_s6 = PTR_UINT_0015b5fc;\n      unaff_s7 = *(byte ***)pbVar4;\n      puVar7 = PTR_UINT_0015b5fc + 0x4920;\n      *(byte ****)(pbVar4 + 4) = &local_c4;\n      ppbVar22 = (byte **)(uint)*(byte *)unaff_s7;\n      puVar8 = PTR_UINT_0015b5fc + 0x48fc;\n      do {\n        ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n        if ((byte **)0x22 < ppbVar22) goto joined_r0x000b33cc;\n        pbVar9 = unaff_s2 + (byte)puVar8[(int)ppbVar22];\n        if ((byte *)0x78 < pbVar9) goto LAB_000b2c10;\n        while( true ) {\n          if ((byte *)(uint)pbVar9[(int)puVar7] == unaff_s2) {\n            ppbVar22 = (byte **)(uint)pbVar9[(int)(unaff_s6 + 0x499c)];\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }\n          else {\nLAB_000b2c10:\n            ppbVar22 = (byte **)(uint)*(byte *)((int)ppbVar22 + (int)(puVar2 + 0x48c4));\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }\njoined_r0x000b33cc:\n          PTR_UINT_0015b5fc = (undefined *)ppbVar10;\n          if (ppbVar22 < (byte **)0x53) {\n            if (ppbVar22 < (byte **)0x50) {\n              *(byte ***)pbVar4 = unaff_s7 + 3;\n              if (*(byte ***)(pbVar4 + 0x4b8) < unaff_s7 + 3) {\n                *(byte ***)pbVar4 = unaff_s7;\n                FUN_000b2444(pbVar4);\n              }\n              else {\n                if ((byte **)0x22 < ppbVar22) {\n                  ppbVar22 = (byte **)((uint)((int)ppbVar22 + 0x1f) & 0xff);\n                }\n                *(byte *)(unaff_s7 + 3) = (byte)ppbVar22;\n                *(byte *)((int)unaff_s7 + 0xd) = (byte)unaff_s2;\n                unaff_s7[4] = unaff_s4;\n                unaff_s7[5] = pbVar24;\n              }\n            }\n            else if (ppbVar22 == (byte **)0x51) {\n              *(byte ***)pbVar4 = unaff_s7 + -3;\n              ppbVar17 = ppbVar10;\n            }\n            else {\n              ppbVar22 = *(byte ***)(pbVar4 + 4);\n              pbVar21 = unaff_s4;\n              local_cc = unaff_s4;\n              local_c8 = pbVar24;\n              (*pcVar13)(ppbVar22,ppbVar10 + -0x1c2b);\n              ppbVar17 = &local_cc;\n              *(byte ***)(pbVar4 + 4) = ppbVar22;\n              FUN_000b23c0(unaff_s2);\n              pbVar20 = pbVar24;\n            }\n            goto LAB_000b2d18;\n          }\n          ppbVar23 = (byte **)((int)ppbVar22 + -0x53);\n          unaff_s5 = (byte *)(int)(char)*(byte *)((int)ppbVar23 + (int)(unaff_s6 + 0x488c));\n          if ((unaff_s5 != (byte *)0x0) || (unaff_s7 < *(byte ***)(pbVar4 + 0x4b8))) break;\n          FUN_000b2444(pbVar4);\n          unaff_s7 = *(byte ***)pbVar4;\n          ppbVar22 = ppbVar23;\n          if (unaff_s7 <= unaff_s1) goto LAB_000b2d18;\n          pbVar9 = unaff_s2 + 0x2c;\n          ppbVar22 = (byte **)0x0;\n        }\n        if (ppbVar23 < (byte **)0x1c) {\n                    \n                    \n          iVar5 = (*(code *)(&_gp_1 + (int)ppbVar10[(int)(ppbVar22 + 0xcb)]))();\n          return iVar5;\n        }\n        pbVar20 = unaff_s6 + 0x499c;\n        bVar12 = *(byte *)(unaff_s7 + (int)unaff_s5 * 3);\n        ppbVar17 = unaff_s7 + (int)unaff_s5 * 3 + 3;\n        bVar1 = *(byte *)((int)(ppbVar10 + 0x122a) + (int)ppbVar23);\n        *(byte ***)pbVar4 = ppbVar17;\n        *(byte *)((int)ppbVar17 + 1) = bVar1;\n        ppbVar22 = (byte **)(uint)pbVar20[(uint)bVar1 +\n                                          (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)];\n        *(byte *)ppbVar17 =\n             pbVar20[(uint)bVar1 + (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)];\n        unaff_s7 = *(byte ***)pbVar4;\n        ppbVar17 = ppbVar10;\n      } while (unaff_s1 < unaff_s7);\nLAB_000b2d18:\n      if ((local_bc != 0) || (param_3 = local_110, unaff_s2 == (byte *)0x0)) goto LAB_000b2d2c;\n    } while( true );" statement_identifier : (do_statement "do {\n      unaff_s4 = param_3;\n      iVar5 = (int)(char)*unaff_s4;\n      if ((iVar5 - 9U & 0xff) < 0x18) {\n        pcVar16 = local_ac;\n        puVar6 = puVar18;\n        if ((int)((0x800013U >> (iVar5 - 9U & 0x1f)) << 0x1f) < 0) {\n          param_3 = unaff_s4 + 1;\n          goto LAB_000b2a68;\n        }\n        do {\n          puVar15 = puVar6 + 4;\n          *(undefined4 *)pcVar16 = *puVar6;\n          pbVar21 = (byte *)puVar6[1];\n          uVar19 = puVar6[2];\n          *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n          *(byte **)(pcVar16 + 4) = pbVar21;\n          *(undefined4 *)(pcVar16 + 8) = uVar19;\n          puVar6 = puVar15;\n          pcVar16 = pcVar16 + 0x10;\n        } while (puVar15 != puVar14);\nLAB_000b34f0:\n        if (local_ac[iVar5] != '\0') {\nLAB_000b2b04:\n          pbVar24 = unaff_s4;\n          do {\n            pbVar24 = pbVar24 + 1;\n            bVar12 = *pbVar24;\n            puVar6 = puVar18;\n            pcVar16 = local_ac;\n            do {\n              pbVar21 = (byte *)*puVar6;\n              puVar15 = puVar6 + 4;\n              *(byte **)pcVar16 = pbVar21;\n              pbVar20 = (byte *)puVar6[1];\n              ppbVar17 = (byte **)puVar6[2];\n              *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n              *(byte **)(pcVar16 + 4) = pbVar20;\n              *(byte ***)(pcVar16 + 8) = ppbVar17;\n              puVar6 = puVar15;\n              pcVar16 = pcVar16 + 0x10;\n            } while (puVar15 != puVar14);\n          } while (((char)bVar12 < 0) || (local_ac[(char)bVar12] != '\0'));\n          pbVar24 = pbVar24 + -(int)unaff_s4;\n          if (pbVar24 == &SUB_00000002) {\n            if ((*unaff_s4 == 0x4f) && (unaff_s4[1] == 0x52)) {\n              unaff_s2 = (byte *)0x1;\n              local_110 = &SUB_00000002;\n            }\n            else {\n              unaff_s2 = &DAT_00000009;\n              local_110 = &SUB_00000002;\n            }\n          }\n          else if (pbVar24 == (byte *)0x3) {\n            if ((*unaff_s4 == 0x4e) && (pbVar9 = &DAT_00000009, unaff_s4[1] == 0x4f)) {\n              if (unaff_s4[2] == 0x54) {\n                pbVar9 = (byte *)0x3;\n              }\n            }\n            else {\n              pbVar9 = &DAT_00000009;\n            }\n            if (((*unaff_s4 == 0x41) && (unaff_s4[1] == 0x4e)) &&\n               (unaff_s2 = &SUB_00000002, unaff_s4[2] == 0x44)) {\n              local_110 = (byte *)0x3;\n            }\n            else {\n              local_110 = (byte *)0x3;\n              unaff_s2 = pbVar9;\n            }\n          }\n          else {\n            unaff_s2 = &DAT_00000009;\n            local_110 = pbVar24;\n          }\n          goto LAB_000b2b98;\n        }\n        pbVar24 = (byte *)0x1;\n        ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70cc);\n        pbVar20 = unaff_s4;\n        (*pcVar13)(&local_c4);\n        unaff_s2 = (byte *)0x0;\n      }\n      else {\n        ppbVar17 = (byte **)0x0;\n        if (iVar5 == 0x2b) {\n          unaff_s2 = &DAT_0000000e;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x2c) {\n          if (iVar5 == 0x28) {\n            unaff_s2 = &DAT_0000000a;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 < 0x29) {\n            if (iVar5 != 0) {\n              pbVar24 = unaff_s4 + 1;\n              if (iVar5 != 0x22) {\nLAB_000b2abc:\n                puVar6 = puVar18;\n                pcVar16 = local_ac;\n                do {\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                } while (puVar15 != puVar14);\n                if (-1 < iVar5) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              bVar12 = *pbVar24;\n              if (bVar12 == 0x22) goto LAB_000b3320;\n              while (ppbVar17 = (byte **)PTR_UINT_0015b5fc, bVar12 != 0) {\n                while( true ) {\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (byte *)0x0;\n              pbVar24 = (byte *)0x1;\n              ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70e0);\n              (*pcVar13)(&local_c4);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (byte *)0x0;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 == 0x29) {\n            unaff_s2 = &DAT_0000000b;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = (byte *)0xf;\n            if (iVar5 != 0x2a) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x3a) {\n          unaff_s2 = &DAT_00000005;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x3b) {\n          if (iVar5 == 0x2c) {\n            unaff_s2 = &DAT_0000000d;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = &DAT_00000006;\n            if (iVar5 != 0x2d) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x7b) {\n          unaff_s2 = &DAT_00000007;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 == 0x7d) {\n          unaff_s2 = &DAT_00000008;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else {\n          unaff_s2 = &DAT_0000000c;\n          if (iVar5 != 0x5e) goto LAB_000b2abc;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\nLAB_000b2b98:\n        local_110 = unaff_s4 + (int)local_110;\n      }\nLAB_000b2ba0:\n      unaff_s6 = PTR_UINT_0015b5fc;\n      unaff_s7 = *(byte ***)pbVar4;\n      puVar7 = PTR_UINT_0015b5fc + 0x4920;\n      *(byte ****)(pbVar4 + 4) = &local_c4;\n      ppbVar22 = (byte **)(uint)*(byte *)unaff_s7;\n      puVar8 = PTR_UINT_0015b5fc + 0x48fc;\n      do {\n        ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n        if ((byte **)0x22 < ppbVar22) goto joined_r0x000b33cc;\n        pbVar9 = unaff_s2 + (byte)puVar8[(int)ppbVar22];\n        if ((byte *)0x78 < pbVar9) goto LAB_000b2c10;\n        while( true ) {\n          if ((byte *)(uint)pbVar9[(int)puVar7] == unaff_s2) {\n            ppbVar22 = (byte **)(uint)pbVar9[(int)(unaff_s6 + 0x499c)];\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }\n          else {\nLAB_000b2c10:\n            ppbVar22 = (byte **)(uint)*(byte *)((int)ppbVar22 + (int)(puVar2 + 0x48c4));\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }\njoined_r0x000b33cc:\n          PTR_UINT_0015b5fc = (undefined *)ppbVar10;\n          if (ppbVar22 < (byte **)0x53) {\n            if (ppbVar22 < (byte **)0x50) {\n              *(byte ***)pbVar4 = unaff_s7 + 3;\n              if (*(byte ***)(pbVar4 + 0x4b8) < unaff_s7 + 3) {\n                *(byte ***)pbVar4 = unaff_s7;\n                FUN_000b2444(pbVar4);\n              }\n              else {\n                if ((byte **)0x22 < ppbVar22) {\n                  ppbVar22 = (byte **)((uint)((int)ppbVar22 + 0x1f) & 0xff);\n                }\n                *(byte *)(unaff_s7 + 3) = (byte)ppbVar22;\n                *(byte *)((int)unaff_s7 + 0xd) = (byte)unaff_s2;\n                unaff_s7[4] = unaff_s4;\n                unaff_s7[5] = pbVar24;\n              }\n            }\n            else if (ppbVar22 == (byte **)0x51) {\n              *(byte ***)pbVar4 = unaff_s7 + -3;\n              ppbVar17 = ppbVar10;\n            }\n            else {\n              ppbVar22 = *(byte ***)(pbVar4 + 4);\n              pbVar21 = unaff_s4;\n              local_cc = unaff_s4;\n              local_c8 = pbVar24;\n              (*pcVar13)(ppbVar22,ppbVar10 + -0x1c2b);\n              ppbVar17 = &local_cc;\n              *(byte ***)(pbVar4 + 4) = ppbVar22;\n              FUN_000b23c0(unaff_s2);\n              pbVar20 = pbVar24;\n            }\n            goto LAB_000b2d18;\n          }\n          ppbVar23 = (byte **)((int)ppbVar22 + -0x53);\n          unaff_s5 = (byte *)(int)(char)*(byte *)((int)ppbVar23 + (int)(unaff_s6 + 0x488c));\n          if ((unaff_s5 != (byte *)0x0) || (unaff_s7 < *(byte ***)(pbVar4 + 0x4b8))) break;\n          FUN_000b2444(pbVar4);\n          unaff_s7 = *(byte ***)pbVar4;\n          ppbVar22 = ppbVar23;\n          if (unaff_s7 <= unaff_s1) goto LAB_000b2d18;\n          pbVar9 = unaff_s2 + 0x2c;\n          ppbVar22 = (byte **)0x0;\n        }\n        if (ppbVar23 < (byte **)0x1c) {\n                    \n                    \n          iVar5 = (*(code *)(&_gp_1 + (int)ppbVar10[(int)(ppbVar22 + 0xcb)]))();\n          return iVar5;\n        }\n        pbVar20 = unaff_s6 + 0x499c;\n        bVar12 = *(byte *)(unaff_s7 + (int)unaff_s5 * 3);\n        ppbVar17 = unaff_s7 + (int)unaff_s5 * 3 + 3;\n        bVar1 = *(byte *)((int)(ppbVar10 + 0x122a) + (int)ppbVar23);\n        *(byte ***)pbVar4 = ppbVar17;\n        *(byte *)((int)ppbVar17 + 1) = bVar1;\n        ppbVar22 = (byte **)(uint)pbVar20[(uint)bVar1 +\n                                          (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)];\n        *(byte *)ppbVar17 =\n             pbVar20[(uint)bVar1 + (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)];\n        unaff_s7 = *(byte ***)pbVar4;\n        ppbVar17 = ppbVar10;\n      } while (unaff_s1 < unaff_s7);\nLAB_000b2d18:\n      if ((local_bc != 0) || (param_3 = local_110, unaff_s2 == (byte *)0x0)) goto LAB_000b2d2c;\n    } while( true );" do (compound_statement "{\n      unaff_s4 = param_3;\n      iVar5 = (int)(char)*unaff_s4;\n      if ((iVar5 - 9U & 0xff) < 0x18) {\n        pcVar16 = local_ac;\n        puVar6 = puVar18;\n        if ((int)((0x800013U >> (iVar5 - 9U & 0x1f)) << 0x1f) < 0) {\n          param_3 = unaff_s4 + 1;\n          goto LAB_000b2a68;\n        }\n        do {\n          puVar15 = puVar6 + 4;\n          *(undefined4 *)pcVar16 = *puVar6;\n          pbVar21 = (byte *)puVar6[1];\n          uVar19 = puVar6[2];\n          *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n          *(byte **)(pcVar16 + 4) = pbVar21;\n          *(undefined4 *)(pcVar16 + 8) = uVar19;\n          puVar6 = puVar15;\n          pcVar16 = pcVar16 + 0x10;\n        } while (puVar15 != puVar14);\nLAB_000b34f0:\n        if (local_ac[iVar5] != '\0') {\nLAB_000b2b04:\n          pbVar24 = unaff_s4;\n          do {\n            pbVar24 = pbVar24 + 1;\n            bVar12 = *pbVar24;\n            puVar6 = puVar18;\n            pcVar16 = local_ac;\n            do {\n              pbVar21 = (byte *)*puVar6;\n              puVar15 = puVar6 + 4;\n              *(byte **)pcVar16 = pbVar21;\n              pbVar20 = (byte *)puVar6[1];\n              ppbVar17 = (byte **)puVar6[2];\n              *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n              *(byte **)(pcVar16 + 4) = pbVar20;\n              *(byte ***)(pcVar16 + 8) = ppbVar17;\n              puVar6 = puVar15;\n              pcVar16 = pcVar16 + 0x10;\n            } while (puVar15 != puVar14);\n          } while (((char)bVar12 < 0) || (local_ac[(char)bVar12] != '\0'));\n          pbVar24 = pbVar24 + -(int)unaff_s4;\n          if (pbVar24 == &SUB_00000002) {\n            if ((*unaff_s4 == 0x4f) && (unaff_s4[1] == 0x52)) {\n              unaff_s2 = (byte *)0x1;\n              local_110 = &SUB_00000002;\n            }\n            else {\n              unaff_s2 = &DAT_00000009;\n              local_110 = &SUB_00000002;\n            }\n          }\n          else if (pbVar24 == (byte *)0x3) {\n            if ((*unaff_s4 == 0x4e) && (pbVar9 = &DAT_00000009, unaff_s4[1] == 0x4f)) {\n              if (unaff_s4[2] == 0x54) {\n                pbVar9 = (byte *)0x3;\n              }\n            }\n            else {\n              pbVar9 = &DAT_00000009;\n            }\n            if (((*unaff_s4 == 0x41) && (unaff_s4[1] == 0x4e)) &&\n               (unaff_s2 = &SUB_00000002, unaff_s4[2] == 0x44)) {\n              local_110 = (byte *)0x3;\n            }\n            else {\n              local_110 = (byte *)0x3;\n              unaff_s2 = pbVar9;\n            }\n          }\n          else {\n            unaff_s2 = &DAT_00000009;\n            local_110 = pbVar24;\n          }\n          goto LAB_000b2b98;\n        }\n        pbVar24 = (byte *)0x1;\n        ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70cc);\n        pbVar20 = unaff_s4;\n        (*pcVar13)(&local_c4);\n        unaff_s2 = (byte *)0x0;\n      }\n      else {\n        ppbVar17 = (byte **)0x0;\n        if (iVar5 == 0x2b) {\n          unaff_s2 = &DAT_0000000e;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x2c) {\n          if (iVar5 == 0x28) {\n            unaff_s2 = &DAT_0000000a;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 < 0x29) {\n            if (iVar5 != 0) {\n              pbVar24 = unaff_s4 + 1;\n              if (iVar5 != 0x22) {\nLAB_000b2abc:\n                puVar6 = puVar18;\n                pcVar16 = local_ac;\n                do {\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                } while (puVar15 != puVar14);\n                if (-1 < iVar5) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              bVar12 = *pbVar24;\n              if (bVar12 == 0x22) goto LAB_000b3320;\n              while (ppbVar17 = (byte **)PTR_UINT_0015b5fc, bVar12 != 0) {\n                while( true ) {\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (byte *)0x0;\n              pbVar24 = (byte *)0x1;\n              ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70e0);\n              (*pcVar13)(&local_c4);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (byte *)0x0;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 == 0x29) {\n            unaff_s2 = &DAT_0000000b;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = (byte *)0xf;\n            if (iVar5 != 0x2a) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x3a) {\n          unaff_s2 = &DAT_00000005;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x3b) {\n          if (iVar5 == 0x2c) {\n            unaff_s2 = &DAT_0000000d;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = &DAT_00000006;\n            if (iVar5 != 0x2d) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x7b) {\n          unaff_s2 = &DAT_00000007;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 == 0x7d) {\n          unaff_s2 = &DAT_00000008;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else {\n          unaff_s2 = &DAT_0000000c;\n          if (iVar5 != 0x5e) goto LAB_000b2abc;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\nLAB_000b2b98:\n        local_110 = unaff_s4 + (int)local_110;\n      }\nLAB_000b2ba0:\n      unaff_s6 = PTR_UINT_0015b5fc;\n      unaff_s7 = *(byte ***)pbVar4;\n      puVar7 = PTR_UINT_0015b5fc + 0x4920;\n      *(byte ****)(pbVar4 + 4) = &local_c4;\n      ppbVar22 = (byte **)(uint)*(byte *)unaff_s7;\n      puVar8 = PTR_UINT_0015b5fc + 0x48fc;\n      do {\n        ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n        if ((byte **)0x22 < ppbVar22) goto joined_r0x000b33cc;\n        pbVar9 = unaff_s2 + (byte)puVar8[(int)ppbVar22];\n        if ((byte *)0x78 < pbVar9) goto LAB_000b2c10;\n        while( true ) {\n          if ((byte *)(uint)pbVar9[(int)puVar7] == unaff_s2) {\n            ppbVar22 = (byte **)(uint)pbVar9[(int)(unaff_s6 + 0x499c)];\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }\n          else {\nLAB_000b2c10:\n            ppbVar22 = (byte **)(uint)*(byte *)((int)ppbVar22 + (int)(puVar2 + 0x48c4));\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }\njoined_r0x000b33cc:\n          PTR_UINT_0015b5fc = (undefined *)ppbVar10;\n          if (ppbVar22 < (byte **)0x53) {\n            if (ppbVar22 < (byte **)0x50) {\n              *(byte ***)pbVar4 = unaff_s7 + 3;\n              if (*(byte ***)(pbVar4 + 0x4b8) < unaff_s7 + 3) {\n                *(byte ***)pbVar4 = unaff_s7;\n                FUN_000b2444(pbVar4);\n              }\n              else {\n                if ((byte **)0x22 < ppbVar22) {\n                  ppbVar22 = (byte **)((uint)((int)ppbVar22 + 0x1f) & 0xff);\n                }\n                *(byte *)(unaff_s7 + 3) = (byte)ppbVar22;\n                *(byte *)((int)unaff_s7 + 0xd) = (byte)unaff_s2;\n                unaff_s7[4] = unaff_s4;\n                unaff_s7[5] = pbVar24;\n              }\n            }\n            else if (ppbVar22 == (byte **)0x51) {\n              *(byte ***)pbVar4 = unaff_s7 + -3;\n              ppbVar17 = ppbVar10;\n            }\n            else {\n              ppbVar22 = *(byte ***)(pbVar4 + 4);\n              pbVar21 = unaff_s4;\n              local_cc = unaff_s4;\n              local_c8 = pbVar24;\n              (*pcVar13)(ppbVar22,ppbVar10 + -0x1c2b);\n              ppbVar17 = &local_cc;\n              *(byte ***)(pbVar4 + 4) = ppbVar22;\n              FUN_000b23c0(unaff_s2);\n              pbVar20 = pbVar24;\n            }\n            goto LAB_000b2d18;\n          }\n          ppbVar23 = (byte **)((int)ppbVar22 + -0x53);\n          unaff_s5 = (byte *)(int)(char)*(byte *)((int)ppbVar23 + (int)(unaff_s6 + 0x488c));\n          if ((unaff_s5 != (byte *)0x0) || (unaff_s7 < *(byte ***)(pbVar4 + 0x4b8))) break;\n          FUN_000b2444(pbVar4);\n          unaff_s7 = *(byte ***)pbVar4;\n          ppbVar22 = ppbVar23;\n          if (unaff_s7 <= unaff_s1) goto LAB_000b2d18;\n          pbVar9 = unaff_s2 + 0x2c;\n          ppbVar22 = (byte **)0x0;\n        }\n        if (ppbVar23 < (byte **)0x1c) {\n                    \n                    \n          iVar5 = (*(code *)(&_gp_1 + (int)ppbVar10[(int)(ppbVar22 + 0xcb)]))();\n          return iVar5;\n        }\n        pbVar20 = unaff_s6 + 0x499c;\n        bVar12 = *(byte *)(unaff_s7 + (int)unaff_s5 * 3);\n        ppbVar17 = unaff_s7 + (int)unaff_s5 * 3 + 3;\n        bVar1 = *(byte *)((int)(ppbVar10 + 0x122a) + (int)ppbVar23);\n        *(byte ***)pbVar4 = ppbVar17;\n        *(byte *)((int)ppbVar17 + 1) = bVar1;\n        ppbVar22 = (byte **)(uint)pbVar20[(uint)bVar1 +\n                                          (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)];\n        *(byte *)ppbVar17 =\n             pbVar20[(uint)bVar1 + (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)];\n        unaff_s7 = *(byte ***)pbVar4;\n        ppbVar17 = ppbVar10;\n      } while (unaff_s1 < unaff_s7);\nLAB_000b2d18:\n      if ((local_bc != 0) || (param_3 = local_110, unaff_s2 == (byte *)0x0)) goto LAB_000b2d2c;\n    }" { (expression_statement "unaff_s4 = param_3;" (assignment_expression "unaff_s4 = param_3" identifier = identifier) ;) (expression_statement "iVar5 = (int)(char)*unaff_s4;" (assignment_expression "iVar5 = (int)(char)*unaff_s4" identifier = (cast_expression "(int)(char)*unaff_s4" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)*unaff_s4" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*unaff_s4" * identifier)))) ;) (if_statement "if ((iVar5 - 9U & 0xff) < 0x18) {\n        pcVar16 = local_ac;\n        puVar6 = puVar18;\n        if ((int)((0x800013U >> (iVar5 - 9U & 0x1f)) << 0x1f) < 0) {\n          param_3 = unaff_s4 + 1;\n          goto LAB_000b2a68;\n        }\n        do {\n          puVar15 = puVar6 + 4;\n          *(undefined4 *)pcVar16 = *puVar6;\n          pbVar21 = (byte *)puVar6[1];\n          uVar19 = puVar6[2];\n          *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n          *(byte **)(pcVar16 + 4) = pbVar21;\n          *(undefined4 *)(pcVar16 + 8) = uVar19;\n          puVar6 = puVar15;\n          pcVar16 = pcVar16 + 0x10;\n        } while (puVar15 != puVar14);\nLAB_000b34f0:\n        if (local_ac[iVar5] != '\0') {\nLAB_000b2b04:\n          pbVar24 = unaff_s4;\n          do {\n            pbVar24 = pbVar24 + 1;\n            bVar12 = *pbVar24;\n            puVar6 = puVar18;\n            pcVar16 = local_ac;\n            do {\n              pbVar21 = (byte *)*puVar6;\n              puVar15 = puVar6 + 4;\n              *(byte **)pcVar16 = pbVar21;\n              pbVar20 = (byte *)puVar6[1];\n              ppbVar17 = (byte **)puVar6[2];\n              *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n              *(byte **)(pcVar16 + 4) = pbVar20;\n              *(byte ***)(pcVar16 + 8) = ppbVar17;\n              puVar6 = puVar15;\n              pcVar16 = pcVar16 + 0x10;\n            } while (puVar15 != puVar14);\n          } while (((char)bVar12 < 0) || (local_ac[(char)bVar12] != '\0'));\n          pbVar24 = pbVar24 + -(int)unaff_s4;\n          if (pbVar24 == &SUB_00000002) {\n            if ((*unaff_s4 == 0x4f) && (unaff_s4[1] == 0x52)) {\n              unaff_s2 = (byte *)0x1;\n              local_110 = &SUB_00000002;\n            }\n            else {\n              unaff_s2 = &DAT_00000009;\n              local_110 = &SUB_00000002;\n            }\n          }\n          else if (pbVar24 == (byte *)0x3) {\n            if ((*unaff_s4 == 0x4e) && (pbVar9 = &DAT_00000009, unaff_s4[1] == 0x4f)) {\n              if (unaff_s4[2] == 0x54) {\n                pbVar9 = (byte *)0x3;\n              }\n            }\n            else {\n              pbVar9 = &DAT_00000009;\n            }\n            if (((*unaff_s4 == 0x41) && (unaff_s4[1] == 0x4e)) &&\n               (unaff_s2 = &SUB_00000002, unaff_s4[2] == 0x44)) {\n              local_110 = (byte *)0x3;\n            }\n            else {\n              local_110 = (byte *)0x3;\n              unaff_s2 = pbVar9;\n            }\n          }\n          else {\n            unaff_s2 = &DAT_00000009;\n            local_110 = pbVar24;\n          }\n          goto LAB_000b2b98;\n        }\n        pbVar24 = (byte *)0x1;\n        ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70cc);\n        pbVar20 = unaff_s4;\n        (*pcVar13)(&local_c4);\n        unaff_s2 = (byte *)0x0;\n      }\n      else {\n        ppbVar17 = (byte **)0x0;\n        if (iVar5 == 0x2b) {\n          unaff_s2 = &DAT_0000000e;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x2c) {\n          if (iVar5 == 0x28) {\n            unaff_s2 = &DAT_0000000a;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 < 0x29) {\n            if (iVar5 != 0) {\n              pbVar24 = unaff_s4 + 1;\n              if (iVar5 != 0x22) {\nLAB_000b2abc:\n                puVar6 = puVar18;\n                pcVar16 = local_ac;\n                do {\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                } while (puVar15 != puVar14);\n                if (-1 < iVar5) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              bVar12 = *pbVar24;\n              if (bVar12 == 0x22) goto LAB_000b3320;\n              while (ppbVar17 = (byte **)PTR_UINT_0015b5fc, bVar12 != 0) {\n                while( true ) {\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (byte *)0x0;\n              pbVar24 = (byte *)0x1;\n              ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70e0);\n              (*pcVar13)(&local_c4);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (byte *)0x0;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 == 0x29) {\n            unaff_s2 = &DAT_0000000b;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = (byte *)0xf;\n            if (iVar5 != 0x2a) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x3a) {\n          unaff_s2 = &DAT_00000005;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x3b) {\n          if (iVar5 == 0x2c) {\n            unaff_s2 = &DAT_0000000d;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = &DAT_00000006;\n            if (iVar5 != 0x2d) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x7b) {\n          unaff_s2 = &DAT_00000007;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 == 0x7d) {\n          unaff_s2 = &DAT_00000008;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else {\n          unaff_s2 = &DAT_0000000c;\n          if (iVar5 != 0x5e) goto LAB_000b2abc;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\nLAB_000b2b98:\n        local_110 = unaff_s4 + (int)local_110;\n      }" if (parenthesized_expression "((iVar5 - 9U & 0xff) < 0x18)" ( (binary_expression "(iVar5 - 9U & 0xff) < 0x18" (parenthesized_expression "(iVar5 - 9U & 0xff)" ( (binary_expression "iVar5 - 9U & 0xff" (binary_expression "iVar5 - 9U" identifier - number_literal) & number_literal) )) < number_literal) )) (compound_statement "{\n        pcVar16 = local_ac;\n        puVar6 = puVar18;\n        if ((int)((0x800013U >> (iVar5 - 9U & 0x1f)) << 0x1f) < 0) {\n          param_3 = unaff_s4 + 1;\n          goto LAB_000b2a68;\n        }\n        do {\n          puVar15 = puVar6 + 4;\n          *(undefined4 *)pcVar16 = *puVar6;\n          pbVar21 = (byte *)puVar6[1];\n          uVar19 = puVar6[2];\n          *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n          *(byte **)(pcVar16 + 4) = pbVar21;\n          *(undefined4 *)(pcVar16 + 8) = uVar19;\n          puVar6 = puVar15;\n          pcVar16 = pcVar16 + 0x10;\n        } while (puVar15 != puVar14);\nLAB_000b34f0:\n        if (local_ac[iVar5] != '\0') {\nLAB_000b2b04:\n          pbVar24 = unaff_s4;\n          do {\n            pbVar24 = pbVar24 + 1;\n            bVar12 = *pbVar24;\n            puVar6 = puVar18;\n            pcVar16 = local_ac;\n            do {\n              pbVar21 = (byte *)*puVar6;\n              puVar15 = puVar6 + 4;\n              *(byte **)pcVar16 = pbVar21;\n              pbVar20 = (byte *)puVar6[1];\n              ppbVar17 = (byte **)puVar6[2];\n              *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n              *(byte **)(pcVar16 + 4) = pbVar20;\n              *(byte ***)(pcVar16 + 8) = ppbVar17;\n              puVar6 = puVar15;\n              pcVar16 = pcVar16 + 0x10;\n            } while (puVar15 != puVar14);\n          } while (((char)bVar12 < 0) || (local_ac[(char)bVar12] != '\0'));\n          pbVar24 = pbVar24 + -(int)unaff_s4;\n          if (pbVar24 == &SUB_00000002) {\n            if ((*unaff_s4 == 0x4f) && (unaff_s4[1] == 0x52)) {\n              unaff_s2 = (byte *)0x1;\n              local_110 = &SUB_00000002;\n            }\n            else {\n              unaff_s2 = &DAT_00000009;\n              local_110 = &SUB_00000002;\n            }\n          }\n          else if (pbVar24 == (byte *)0x3) {\n            if ((*unaff_s4 == 0x4e) && (pbVar9 = &DAT_00000009, unaff_s4[1] == 0x4f)) {\n              if (unaff_s4[2] == 0x54) {\n                pbVar9 = (byte *)0x3;\n              }\n            }\n            else {\n              pbVar9 = &DAT_00000009;\n            }\n            if (((*unaff_s4 == 0x41) && (unaff_s4[1] == 0x4e)) &&\n               (unaff_s2 = &SUB_00000002, unaff_s4[2] == 0x44)) {\n              local_110 = (byte *)0x3;\n            }\n            else {\n              local_110 = (byte *)0x3;\n              unaff_s2 = pbVar9;\n            }\n          }\n          else {\n            unaff_s2 = &DAT_00000009;\n            local_110 = pbVar24;\n          }\n          goto LAB_000b2b98;\n        }\n        pbVar24 = (byte *)0x1;\n        ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70cc);\n        pbVar20 = unaff_s4;\n        (*pcVar13)(&local_c4);\n        unaff_s2 = (byte *)0x0;\n      }" { (expression_statement "pcVar16 = local_ac;" (assignment_expression "pcVar16 = local_ac" identifier = identifier) ;) (expression_statement "puVar6 = puVar18;" (assignment_expression "puVar6 = puVar18" identifier = identifier) ;) (if_statement "if ((int)((0x800013U >> (iVar5 - 9U & 0x1f)) << 0x1f) < 0) {\n          param_3 = unaff_s4 + 1;\n          goto LAB_000b2a68;\n        }" if (parenthesized_expression "((int)((0x800013U >> (iVar5 - 9U & 0x1f)) << 0x1f) < 0)" ( (binary_expression "(int)((0x800013U >> (iVar5 - 9U & 0x1f)) << 0x1f) < 0" (cast_expression "(int)((0x800013U >> (iVar5 - 9U & 0x1f)) << 0x1f)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((0x800013U >> (iVar5 - 9U & 0x1f)) << 0x1f)" ( (binary_expression "(0x800013U >> (iVar5 - 9U & 0x1f)) << 0x1f" (parenthesized_expression "(0x800013U >> (iVar5 - 9U & 0x1f))" ( (binary_expression "0x800013U >> (iVar5 - 9U & 0x1f)" number_literal >> (parenthesized_expression "(iVar5 - 9U & 0x1f)" ( (binary_expression "iVar5 - 9U & 0x1f" (binary_expression "iVar5 - 9U" identifier - number_literal) & number_literal) ))) )) << number_literal) ))) < number_literal) )) (compound_statement "{\n          param_3 = unaff_s4 + 1;\n          goto LAB_000b2a68;\n        }" { (expression_statement "param_3 = unaff_s4 + 1;" (assignment_expression "param_3 = unaff_s4 + 1" identifier = (binary_expression "unaff_s4 + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_000b2a68;" goto statement_identifier ;) })) (do_statement "do {\n          puVar15 = puVar6 + 4;\n          *(undefined4 *)pcVar16 = *puVar6;\n          pbVar21 = (byte *)puVar6[1];\n          uVar19 = puVar6[2];\n          *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n          *(byte **)(pcVar16 + 4) = pbVar21;\n          *(undefined4 *)(pcVar16 + 8) = uVar19;\n          puVar6 = puVar15;\n          pcVar16 = pcVar16 + 0x10;\n        } while (puVar15 != puVar14);" do (compound_statement "{\n          puVar15 = puVar6 + 4;\n          *(undefined4 *)pcVar16 = *puVar6;\n          pbVar21 = (byte *)puVar6[1];\n          uVar19 = puVar6[2];\n          *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n          *(byte **)(pcVar16 + 4) = pbVar21;\n          *(undefined4 *)(pcVar16 + 8) = uVar19;\n          puVar6 = puVar15;\n          pcVar16 = pcVar16 + 0x10;\n        }" { (expression_statement "puVar15 = puVar6 + 4;" (assignment_expression "puVar15 = puVar6 + 4" identifier = (binary_expression "puVar6 + 4" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)pcVar16 = *puVar6;" (assignment_expression "*(undefined4 *)pcVar16 = *puVar6" (pointer_expression "*(undefined4 *)pcVar16" * (cast_expression "(undefined4 *)pcVar16" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (pointer_expression "*puVar6" * identifier)) ;) (expression_statement "pbVar21 = (byte *)puVar6[1];" (assignment_expression "pbVar21 = (byte *)puVar6[1]" identifier = (cast_expression "(byte *)puVar6[1]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar6[1]" identifier [ number_literal ]))) ;) (expression_statement "uVar19 = puVar6[2];" (assignment_expression "uVar19 = puVar6[2]" identifier = (subscript_expression "puVar6[2]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(pcVar16 + 0xc) = puVar6[3];" (assignment_expression "*(undefined4 *)(pcVar16 + 0xc) = puVar6[3]" (pointer_expression "*(undefined4 *)(pcVar16 + 0xc)" * (cast_expression "(undefined4 *)(pcVar16 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0xc)" ( (binary_expression "pcVar16 + 0xc" identifier + number_literal) )))) = (subscript_expression "puVar6[3]" identifier [ number_literal ])) ;) (expression_statement "*(byte **)(pcVar16 + 4) = pbVar21;" (assignment_expression "*(byte **)(pcVar16 + 4) = pbVar21" (pointer_expression "*(byte **)(pcVar16 + 4)" * (cast_expression "(byte **)(pcVar16 + 4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 4)" ( (binary_expression "pcVar16 + 4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(pcVar16 + 8) = uVar19;" (assignment_expression "*(undefined4 *)(pcVar16 + 8) = uVar19" (pointer_expression "*(undefined4 *)(pcVar16 + 8)" * (cast_expression "(undefined4 *)(pcVar16 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 8)" ( (binary_expression "pcVar16 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar6 = puVar15;" (assignment_expression "puVar6 = puVar15" identifier = identifier) ;) (expression_statement "pcVar16 = pcVar16 + 0x10;" (assignment_expression "pcVar16 = pcVar16 + 0x10" identifier = (binary_expression "pcVar16 + 0x10" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar15 != puVar14)" ( (binary_expression "puVar15 != puVar14" identifier != identifier) )) ;) (labeled_statement "LAB_000b34f0:\n        if (local_ac[iVar5] != '\0') {\nLAB_000b2b04:\n          pbVar24 = unaff_s4;\n          do {\n            pbVar24 = pbVar24 + 1;\n            bVar12 = *pbVar24;\n            puVar6 = puVar18;\n            pcVar16 = local_ac;\n            do {\n              pbVar21 = (byte *)*puVar6;\n              puVar15 = puVar6 + 4;\n              *(byte **)pcVar16 = pbVar21;\n              pbVar20 = (byte *)puVar6[1];\n              ppbVar17 = (byte **)puVar6[2];\n              *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n              *(byte **)(pcVar16 + 4) = pbVar20;\n              *(byte ***)(pcVar16 + 8) = ppbVar17;\n              puVar6 = puVar15;\n              pcVar16 = pcVar16 + 0x10;\n            } while (puVar15 != puVar14);\n          } while (((char)bVar12 < 0) || (local_ac[(char)bVar12] != '\0'));\n          pbVar24 = pbVar24 + -(int)unaff_s4;\n          if (pbVar24 == &SUB_00000002) {\n            if ((*unaff_s4 == 0x4f) && (unaff_s4[1] == 0x52)) {\n              unaff_s2 = (byte *)0x1;\n              local_110 = &SUB_00000002;\n            }\n            else {\n              unaff_s2 = &DAT_00000009;\n              local_110 = &SUB_00000002;\n            }\n          }\n          else if (pbVar24 == (byte *)0x3) {\n            if ((*unaff_s4 == 0x4e) && (pbVar9 = &DAT_00000009, unaff_s4[1] == 0x4f)) {\n              if (unaff_s4[2] == 0x54) {\n                pbVar9 = (byte *)0x3;\n              }\n            }\n            else {\n              pbVar9 = &DAT_00000009;\n            }\n            if (((*unaff_s4 == 0x41) && (unaff_s4[1] == 0x4e)) &&\n               (unaff_s2 = &SUB_00000002, unaff_s4[2] == 0x44)) {\n              local_110 = (byte *)0x3;\n            }\n            else {\n              local_110 = (byte *)0x3;\n              unaff_s2 = pbVar9;\n            }\n          }\n          else {\n            unaff_s2 = &DAT_00000009;\n            local_110 = pbVar24;\n          }\n          goto LAB_000b2b98;\n        }" statement_identifier : (if_statement "if (local_ac[iVar5] != '\0') {\nLAB_000b2b04:\n          pbVar24 = unaff_s4;\n          do {\n            pbVar24 = pbVar24 + 1;\n            bVar12 = *pbVar24;\n            puVar6 = puVar18;\n            pcVar16 = local_ac;\n            do {\n              pbVar21 = (byte *)*puVar6;\n              puVar15 = puVar6 + 4;\n              *(byte **)pcVar16 = pbVar21;\n              pbVar20 = (byte *)puVar6[1];\n              ppbVar17 = (byte **)puVar6[2];\n              *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n              *(byte **)(pcVar16 + 4) = pbVar20;\n              *(byte ***)(pcVar16 + 8) = ppbVar17;\n              puVar6 = puVar15;\n              pcVar16 = pcVar16 + 0x10;\n            } while (puVar15 != puVar14);\n          } while (((char)bVar12 < 0) || (local_ac[(char)bVar12] != '\0'));\n          pbVar24 = pbVar24 + -(int)unaff_s4;\n          if (pbVar24 == &SUB_00000002) {\n            if ((*unaff_s4 == 0x4f) && (unaff_s4[1] == 0x52)) {\n              unaff_s2 = (byte *)0x1;\n              local_110 = &SUB_00000002;\n            }\n            else {\n              unaff_s2 = &DAT_00000009;\n              local_110 = &SUB_00000002;\n            }\n          }\n          else if (pbVar24 == (byte *)0x3) {\n            if ((*unaff_s4 == 0x4e) && (pbVar9 = &DAT_00000009, unaff_s4[1] == 0x4f)) {\n              if (unaff_s4[2] == 0x54) {\n                pbVar9 = (byte *)0x3;\n              }\n            }\n            else {\n              pbVar9 = &DAT_00000009;\n            }\n            if (((*unaff_s4 == 0x41) && (unaff_s4[1] == 0x4e)) &&\n               (unaff_s2 = &SUB_00000002, unaff_s4[2] == 0x44)) {\n              local_110 = (byte *)0x3;\n            }\n            else {\n              local_110 = (byte *)0x3;\n              unaff_s2 = pbVar9;\n            }\n          }\n          else {\n            unaff_s2 = &DAT_00000009;\n            local_110 = pbVar24;\n          }\n          goto LAB_000b2b98;\n        }" if (parenthesized_expression "(local_ac[iVar5] != '\0')" ( (binary_expression "local_ac[iVar5] != '\0'" (subscript_expression "local_ac[iVar5]" identifier [ identifier ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_000b2b04:\n          pbVar24 = unaff_s4;\n          do {\n            pbVar24 = pbVar24 + 1;\n            bVar12 = *pbVar24;\n            puVar6 = puVar18;\n            pcVar16 = local_ac;\n            do {\n              pbVar21 = (byte *)*puVar6;\n              puVar15 = puVar6 + 4;\n              *(byte **)pcVar16 = pbVar21;\n              pbVar20 = (byte *)puVar6[1];\n              ppbVar17 = (byte **)puVar6[2];\n              *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n              *(byte **)(pcVar16 + 4) = pbVar20;\n              *(byte ***)(pcVar16 + 8) = ppbVar17;\n              puVar6 = puVar15;\n              pcVar16 = pcVar16 + 0x10;\n            } while (puVar15 != puVar14);\n          } while (((char)bVar12 < 0) || (local_ac[(char)bVar12] != '\0'));\n          pbVar24 = pbVar24 + -(int)unaff_s4;\n          if (pbVar24 == &SUB_00000002) {\n            if ((*unaff_s4 == 0x4f) && (unaff_s4[1] == 0x52)) {\n              unaff_s2 = (byte *)0x1;\n              local_110 = &SUB_00000002;\n            }\n            else {\n              unaff_s2 = &DAT_00000009;\n              local_110 = &SUB_00000002;\n            }\n          }\n          else if (pbVar24 == (byte *)0x3) {\n            if ((*unaff_s4 == 0x4e) && (pbVar9 = &DAT_00000009, unaff_s4[1] == 0x4f)) {\n              if (unaff_s4[2] == 0x54) {\n                pbVar9 = (byte *)0x3;\n              }\n            }\n            else {\n              pbVar9 = &DAT_00000009;\n            }\n            if (((*unaff_s4 == 0x41) && (unaff_s4[1] == 0x4e)) &&\n               (unaff_s2 = &SUB_00000002, unaff_s4[2] == 0x44)) {\n              local_110 = (byte *)0x3;\n            }\n            else {\n              local_110 = (byte *)0x3;\n              unaff_s2 = pbVar9;\n            }\n          }\n          else {\n            unaff_s2 = &DAT_00000009;\n            local_110 = pbVar24;\n          }\n          goto LAB_000b2b98;\n        }" { (labeled_statement "LAB_000b2b04:\n          pbVar24 = unaff_s4;" statement_identifier : (expression_statement "pbVar24 = unaff_s4;" (assignment_expression "pbVar24 = unaff_s4" identifier = identifier) ;)) (do_statement "do {\n            pbVar24 = pbVar24 + 1;\n            bVar12 = *pbVar24;\n            puVar6 = puVar18;\n            pcVar16 = local_ac;\n            do {\n              pbVar21 = (byte *)*puVar6;\n              puVar15 = puVar6 + 4;\n              *(byte **)pcVar16 = pbVar21;\n              pbVar20 = (byte *)puVar6[1];\n              ppbVar17 = (byte **)puVar6[2];\n              *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n              *(byte **)(pcVar16 + 4) = pbVar20;\n              *(byte ***)(pcVar16 + 8) = ppbVar17;\n              puVar6 = puVar15;\n              pcVar16 = pcVar16 + 0x10;\n            } while (puVar15 != puVar14);\n          } while (((char)bVar12 < 0) || (local_ac[(char)bVar12] != '\0'));" do (compound_statement "{\n            pbVar24 = pbVar24 + 1;\n            bVar12 = *pbVar24;\n            puVar6 = puVar18;\n            pcVar16 = local_ac;\n            do {\n              pbVar21 = (byte *)*puVar6;\n              puVar15 = puVar6 + 4;\n              *(byte **)pcVar16 = pbVar21;\n              pbVar20 = (byte *)puVar6[1];\n              ppbVar17 = (byte **)puVar6[2];\n              *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n              *(byte **)(pcVar16 + 4) = pbVar20;\n              *(byte ***)(pcVar16 + 8) = ppbVar17;\n              puVar6 = puVar15;\n              pcVar16 = pcVar16 + 0x10;\n            } while (puVar15 != puVar14);\n          }" { (expression_statement "pbVar24 = pbVar24 + 1;" (assignment_expression "pbVar24 = pbVar24 + 1" identifier = (binary_expression "pbVar24 + 1" identifier + number_literal)) ;) (expression_statement "bVar12 = *pbVar24;" (assignment_expression "bVar12 = *pbVar24" identifier = (pointer_expression "*pbVar24" * identifier)) ;) (expression_statement "puVar6 = puVar18;" (assignment_expression "puVar6 = puVar18" identifier = identifier) ;) (expression_statement "pcVar16 = local_ac;" (assignment_expression "pcVar16 = local_ac" identifier = identifier) ;) (do_statement "do {\n              pbVar21 = (byte *)*puVar6;\n              puVar15 = puVar6 + 4;\n              *(byte **)pcVar16 = pbVar21;\n              pbVar20 = (byte *)puVar6[1];\n              ppbVar17 = (byte **)puVar6[2];\n              *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n              *(byte **)(pcVar16 + 4) = pbVar20;\n              *(byte ***)(pcVar16 + 8) = ppbVar17;\n              puVar6 = puVar15;\n              pcVar16 = pcVar16 + 0x10;\n            } while (puVar15 != puVar14);" do (compound_statement "{\n              pbVar21 = (byte *)*puVar6;\n              puVar15 = puVar6 + 4;\n              *(byte **)pcVar16 = pbVar21;\n              pbVar20 = (byte *)puVar6[1];\n              ppbVar17 = (byte **)puVar6[2];\n              *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n              *(byte **)(pcVar16 + 4) = pbVar20;\n              *(byte ***)(pcVar16 + 8) = ppbVar17;\n              puVar6 = puVar15;\n              pcVar16 = pcVar16 + 0x10;\n            }" { (expression_statement "pbVar21 = (byte *)*puVar6;" (assignment_expression "pbVar21 = (byte *)*puVar6" identifier = (cast_expression "(byte *)*puVar6" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar6" * identifier))) ;) (expression_statement "puVar15 = puVar6 + 4;" (assignment_expression "puVar15 = puVar6 + 4" identifier = (binary_expression "puVar6 + 4" identifier + number_literal)) ;) (expression_statement "*(byte **)pcVar16 = pbVar21;" (assignment_expression "*(byte **)pcVar16 = pbVar21" (pointer_expression "*(byte **)pcVar16" * (cast_expression "(byte **)pcVar16" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) = identifier) ;) (expression_statement "pbVar20 = (byte *)puVar6[1];" (assignment_expression "pbVar20 = (byte *)puVar6[1]" identifier = (cast_expression "(byte *)puVar6[1]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar6[1]" identifier [ number_literal ]))) ;) (expression_statement "ppbVar17 = (byte **)puVar6[2];" (assignment_expression "ppbVar17 = (byte **)puVar6[2]" identifier = (cast_expression "(byte **)puVar6[2]" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "puVar6[2]" identifier [ number_literal ]))) ;) (expression_statement "*(undefined4 *)(pcVar16 + 0xc) = puVar6[3];" (assignment_expression "*(undefined4 *)(pcVar16 + 0xc) = puVar6[3]" (pointer_expression "*(undefined4 *)(pcVar16 + 0xc)" * (cast_expression "(undefined4 *)(pcVar16 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0xc)" ( (binary_expression "pcVar16 + 0xc" identifier + number_literal) )))) = (subscript_expression "puVar6[3]" identifier [ number_literal ])) ;) (expression_statement "*(byte **)(pcVar16 + 4) = pbVar20;" (assignment_expression "*(byte **)(pcVar16 + 4) = pbVar20" (pointer_expression "*(byte **)(pcVar16 + 4)" * (cast_expression "(byte **)(pcVar16 + 4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 4)" ( (binary_expression "pcVar16 + 4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(byte ***)(pcVar16 + 8) = ppbVar17;" (assignment_expression "*(byte ***)(pcVar16 + 8) = ppbVar17" (pointer_expression "*(byte ***)(pcVar16 + 8)" * (cast_expression "(byte ***)(pcVar16 + 8)" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(pcVar16 + 8)" ( (binary_expression "pcVar16 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar6 = puVar15;" (assignment_expression "puVar6 = puVar15" identifier = identifier) ;) (expression_statement "pcVar16 = pcVar16 + 0x10;" (assignment_expression "pcVar16 = pcVar16 + 0x10" identifier = (binary_expression "pcVar16 + 0x10" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar15 != puVar14)" ( (binary_expression "puVar15 != puVar14" identifier != identifier) )) ;) }) while (parenthesized_expression "(((char)bVar12 < 0) || (local_ac[(char)bVar12] != '\0'))" ( (binary_expression "((char)bVar12 < 0) || (local_ac[(char)bVar12] != '\0')" (parenthesized_expression "((char)bVar12 < 0)" ( (binary_expression "(char)bVar12 < 0" (cast_expression "(char)bVar12" ( (type_descriptor "char" primitive_type) ) identifier) < number_literal) )) || (parenthesized_expression "(local_ac[(char)bVar12] != '\0')" ( (binary_expression "local_ac[(char)bVar12] != '\0'" (subscript_expression "local_ac[(char)bVar12]" identifier [ (cast_expression "(char)bVar12" ( (type_descriptor "char" primitive_type) ) identifier) ]) != (char_literal "'\0'" ' escape_sequence ')) ))) )) ;) (expression_statement "pbVar24 = pbVar24 + -(int)unaff_s4;" (assignment_expression "pbVar24 = pbVar24 + -(int)unaff_s4" identifier = (binary_expression "pbVar24 + -(int)unaff_s4" identifier + (unary_expression "-(int)unaff_s4" - (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier)))) ;) (if_statement "if (pbVar24 == &SUB_00000002) {\n            if ((*unaff_s4 == 0x4f) && (unaff_s4[1] == 0x52)) {\n              unaff_s2 = (byte *)0x1;\n              local_110 = &SUB_00000002;\n            }\n            else {\n              unaff_s2 = &DAT_00000009;\n              local_110 = &SUB_00000002;\n            }\n          }\n          else if (pbVar24 == (byte *)0x3) {\n            if ((*unaff_s4 == 0x4e) && (pbVar9 = &DAT_00000009, unaff_s4[1] == 0x4f)) {\n              if (unaff_s4[2] == 0x54) {\n                pbVar9 = (byte *)0x3;\n              }\n            }\n            else {\n              pbVar9 = &DAT_00000009;\n            }\n            if (((*unaff_s4 == 0x41) && (unaff_s4[1] == 0x4e)) &&\n               (unaff_s2 = &SUB_00000002, unaff_s4[2] == 0x44)) {\n              local_110 = (byte *)0x3;\n            }\n            else {\n              local_110 = (byte *)0x3;\n              unaff_s2 = pbVar9;\n            }\n          }\n          else {\n            unaff_s2 = &DAT_00000009;\n            local_110 = pbVar24;\n          }" if (parenthesized_expression "(pbVar24 == &SUB_00000002)" ( (binary_expression "pbVar24 == &SUB_00000002" identifier == (pointer_expression "&SUB_00000002" & identifier)) )) (compound_statement "{\n            if ((*unaff_s4 == 0x4f) && (unaff_s4[1] == 0x52)) {\n              unaff_s2 = (byte *)0x1;\n              local_110 = &SUB_00000002;\n            }\n            else {\n              unaff_s2 = &DAT_00000009;\n              local_110 = &SUB_00000002;\n            }\n          }" { (if_statement "if ((*unaff_s4 == 0x4f) && (unaff_s4[1] == 0x52)) {\n              unaff_s2 = (byte *)0x1;\n              local_110 = &SUB_00000002;\n            }\n            else {\n              unaff_s2 = &DAT_00000009;\n              local_110 = &SUB_00000002;\n            }" if (parenthesized_expression "((*unaff_s4 == 0x4f) && (unaff_s4[1] == 0x52))" ( (binary_expression "(*unaff_s4 == 0x4f) && (unaff_s4[1] == 0x52)" (parenthesized_expression "(*unaff_s4 == 0x4f)" ( (binary_expression "*unaff_s4 == 0x4f" (pointer_expression "*unaff_s4" * identifier) == number_literal) )) && (parenthesized_expression "(unaff_s4[1] == 0x52)" ( (binary_expression "unaff_s4[1] == 0x52" (subscript_expression "unaff_s4[1]" identifier [ number_literal ]) == number_literal) ))) )) (compound_statement "{\n              unaff_s2 = (byte *)0x1;\n              local_110 = &SUB_00000002;\n            }" { (expression_statement "unaff_s2 = (byte *)0x1;" (assignment_expression "unaff_s2 = (byte *)0x1" identifier = (cast_expression "(byte *)0x1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_110 = &SUB_00000002;" (assignment_expression "local_110 = &SUB_00000002" identifier = (pointer_expression "&SUB_00000002" & identifier)) ;) }) (else_clause "else {\n              unaff_s2 = &DAT_00000009;\n              local_110 = &SUB_00000002;\n            }" else (compound_statement "{\n              unaff_s2 = &DAT_00000009;\n              local_110 = &SUB_00000002;\n            }" { (expression_statement "unaff_s2 = &DAT_00000009;" (assignment_expression "unaff_s2 = &DAT_00000009" identifier = (pointer_expression "&DAT_00000009" & identifier)) ;) (expression_statement "local_110 = &SUB_00000002;" (assignment_expression "local_110 = &SUB_00000002" identifier = (pointer_expression "&SUB_00000002" & identifier)) ;) }))) }) (else_clause "else if (pbVar24 == (byte *)0x3) {\n            if ((*unaff_s4 == 0x4e) && (pbVar9 = &DAT_00000009, unaff_s4[1] == 0x4f)) {\n              if (unaff_s4[2] == 0x54) {\n                pbVar9 = (byte *)0x3;\n              }\n            }\n            else {\n              pbVar9 = &DAT_00000009;\n            }\n            if (((*unaff_s4 == 0x41) && (unaff_s4[1] == 0x4e)) &&\n               (unaff_s2 = &SUB_00000002, unaff_s4[2] == 0x44)) {\n              local_110 = (byte *)0x3;\n            }\n            else {\n              local_110 = (byte *)0x3;\n              unaff_s2 = pbVar9;\n            }\n          }\n          else {\n            unaff_s2 = &DAT_00000009;\n            local_110 = pbVar24;\n          }" else (if_statement "if (pbVar24 == (byte *)0x3) {\n            if ((*unaff_s4 == 0x4e) && (pbVar9 = &DAT_00000009, unaff_s4[1] == 0x4f)) {\n              if (unaff_s4[2] == 0x54) {\n                pbVar9 = (byte *)0x3;\n              }\n            }\n            else {\n              pbVar9 = &DAT_00000009;\n            }\n            if (((*unaff_s4 == 0x41) && (unaff_s4[1] == 0x4e)) &&\n               (unaff_s2 = &SUB_00000002, unaff_s4[2] == 0x44)) {\n              local_110 = (byte *)0x3;\n            }\n            else {\n              local_110 = (byte *)0x3;\n              unaff_s2 = pbVar9;\n            }\n          }\n          else {\n            unaff_s2 = &DAT_00000009;\n            local_110 = pbVar24;\n          }" if (parenthesized_expression "(pbVar24 == (byte *)0x3)" ( (binary_expression "pbVar24 == (byte *)0x3" identifier == (cast_expression "(byte *)0x3" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            if ((*unaff_s4 == 0x4e) && (pbVar9 = &DAT_00000009, unaff_s4[1] == 0x4f)) {\n              if (unaff_s4[2] == 0x54) {\n                pbVar9 = (byte *)0x3;\n              }\n            }\n            else {\n              pbVar9 = &DAT_00000009;\n            }\n            if (((*unaff_s4 == 0x41) && (unaff_s4[1] == 0x4e)) &&\n               (unaff_s2 = &SUB_00000002, unaff_s4[2] == 0x44)) {\n              local_110 = (byte *)0x3;\n            }\n            else {\n              local_110 = (byte *)0x3;\n              unaff_s2 = pbVar9;\n            }\n          }" { (if_statement "if ((*unaff_s4 == 0x4e) && (pbVar9 = &DAT_00000009, unaff_s4[1] == 0x4f)) {\n              if (unaff_s4[2] == 0x54) {\n                pbVar9 = (byte *)0x3;\n              }\n            }\n            else {\n              pbVar9 = &DAT_00000009;\n            }" if (parenthesized_expression "((*unaff_s4 == 0x4e) && (pbVar9 = &DAT_00000009, unaff_s4[1] == 0x4f))" ( (binary_expression "(*unaff_s4 == 0x4e) && (pbVar9 = &DAT_00000009, unaff_s4[1] == 0x4f)" (parenthesized_expression "(*unaff_s4 == 0x4e)" ( (binary_expression "*unaff_s4 == 0x4e" (pointer_expression "*unaff_s4" * identifier) == number_literal) )) && (parenthesized_expression "(pbVar9 = &DAT_00000009, unaff_s4[1] == 0x4f)" ( (comma_expression "pbVar9 = &DAT_00000009, unaff_s4[1] == 0x4f" (assignment_expression "pbVar9 = &DAT_00000009" identifier = (pointer_expression "&DAT_00000009" & identifier)) , (binary_expression "unaff_s4[1] == 0x4f" (subscript_expression "unaff_s4[1]" identifier [ number_literal ]) == number_literal)) ))) )) (compound_statement "{\n              if (unaff_s4[2] == 0x54) {\n                pbVar9 = (byte *)0x3;\n              }\n            }" { (if_statement "if (unaff_s4[2] == 0x54) {\n                pbVar9 = (byte *)0x3;\n              }" if (parenthesized_expression "(unaff_s4[2] == 0x54)" ( (binary_expression "unaff_s4[2] == 0x54" (subscript_expression "unaff_s4[2]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                pbVar9 = (byte *)0x3;\n              }" { (expression_statement "pbVar9 = (byte *)0x3;" (assignment_expression "pbVar9 = (byte *)0x3" identifier = (cast_expression "(byte *)0x3" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) })) }) (else_clause "else {\n              pbVar9 = &DAT_00000009;\n            }" else (compound_statement "{\n              pbVar9 = &DAT_00000009;\n            }" { (expression_statement "pbVar9 = &DAT_00000009;" (assignment_expression "pbVar9 = &DAT_00000009" identifier = (pointer_expression "&DAT_00000009" & identifier)) ;) }))) (if_statement "if (((*unaff_s4 == 0x41) && (unaff_s4[1] == 0x4e)) &&\n               (unaff_s2 = &SUB_00000002, unaff_s4[2] == 0x44)) {\n              local_110 = (byte *)0x3;\n            }\n            else {\n              local_110 = (byte *)0x3;\n              unaff_s2 = pbVar9;\n            }" if (parenthesized_expression "(((*unaff_s4 == 0x41) && (unaff_s4[1] == 0x4e)) &&\n               (unaff_s2 = &SUB_00000002, unaff_s4[2] == 0x44))" ( (binary_expression "((*unaff_s4 == 0x41) && (unaff_s4[1] == 0x4e)) &&\n               (unaff_s2 = &SUB_00000002, unaff_s4[2] == 0x44)" (parenthesized_expression "((*unaff_s4 == 0x41) && (unaff_s4[1] == 0x4e))" ( (binary_expression "(*unaff_s4 == 0x41) && (unaff_s4[1] == 0x4e)" (parenthesized_expression "(*unaff_s4 == 0x41)" ( (binary_expression "*unaff_s4 == 0x41" (pointer_expression "*unaff_s4" * identifier) == number_literal) )) && (parenthesized_expression "(unaff_s4[1] == 0x4e)" ( (binary_expression "unaff_s4[1] == 0x4e" (subscript_expression "unaff_s4[1]" identifier [ number_literal ]) == number_literal) ))) )) && (parenthesized_expression "(unaff_s2 = &SUB_00000002, unaff_s4[2] == 0x44)" ( (comma_expression "unaff_s2 = &SUB_00000002, unaff_s4[2] == 0x44" (assignment_expression "unaff_s2 = &SUB_00000002" identifier = (pointer_expression "&SUB_00000002" & identifier)) , (binary_expression "unaff_s4[2] == 0x44" (subscript_expression "unaff_s4[2]" identifier [ number_literal ]) == number_literal)) ))) )) (compound_statement "{\n              local_110 = (byte *)0x3;\n            }" { (expression_statement "local_110 = (byte *)0x3;" (assignment_expression "local_110 = (byte *)0x3" identifier = (cast_expression "(byte *)0x3" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n              local_110 = (byte *)0x3;\n              unaff_s2 = pbVar9;\n            }" else (compound_statement "{\n              local_110 = (byte *)0x3;\n              unaff_s2 = pbVar9;\n            }" { (expression_statement "local_110 = (byte *)0x3;" (assignment_expression "local_110 = (byte *)0x3" identifier = (cast_expression "(byte *)0x3" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "unaff_s2 = pbVar9;" (assignment_expression "unaff_s2 = pbVar9" identifier = identifier) ;) }))) }) (else_clause "else {\n            unaff_s2 = &DAT_00000009;\n            local_110 = pbVar24;\n          }" else (compound_statement "{\n            unaff_s2 = &DAT_00000009;\n            local_110 = pbVar24;\n          }" { (expression_statement "unaff_s2 = &DAT_00000009;" (assignment_expression "unaff_s2 = &DAT_00000009" identifier = (pointer_expression "&DAT_00000009" & identifier)) ;) (expression_statement "local_110 = pbVar24;" (assignment_expression "local_110 = pbVar24" identifier = identifier) ;) }))))) (goto_statement "goto LAB_000b2b98;" goto statement_identifier ;) }))) (expression_statement "pbVar24 = (byte *)0x1;" (assignment_expression "pbVar24 = (byte *)0x1" identifier = (cast_expression "(byte *)0x1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70cc);" (assignment_expression "ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70cc)" identifier = (cast_expression "(byte **)(PTR_UINT_0015b5fc + -0x70cc)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_UINT_0015b5fc + -0x70cc)" ( (binary_expression "PTR_UINT_0015b5fc + -0x70cc" identifier + number_literal) )))) ;) (expression_statement "pbVar20 = unaff_s4;" (assignment_expression "pbVar20 = unaff_s4" identifier = identifier) ;) (expression_statement "(*pcVar13)(&local_c4);" (call_expression "(*pcVar13)(&local_c4)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(&local_c4)" ( (pointer_expression "&local_c4" & identifier) ))) ;) (expression_statement "unaff_s2 = (byte *)0x0;" (assignment_expression "unaff_s2 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n        ppbVar17 = (byte **)0x0;\n        if (iVar5 == 0x2b) {\n          unaff_s2 = &DAT_0000000e;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x2c) {\n          if (iVar5 == 0x28) {\n            unaff_s2 = &DAT_0000000a;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 < 0x29) {\n            if (iVar5 != 0) {\n              pbVar24 = unaff_s4 + 1;\n              if (iVar5 != 0x22) {\nLAB_000b2abc:\n                puVar6 = puVar18;\n                pcVar16 = local_ac;\n                do {\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                } while (puVar15 != puVar14);\n                if (-1 < iVar5) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              bVar12 = *pbVar24;\n              if (bVar12 == 0x22) goto LAB_000b3320;\n              while (ppbVar17 = (byte **)PTR_UINT_0015b5fc, bVar12 != 0) {\n                while( true ) {\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (byte *)0x0;\n              pbVar24 = (byte *)0x1;\n              ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70e0);\n              (*pcVar13)(&local_c4);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (byte *)0x0;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 == 0x29) {\n            unaff_s2 = &DAT_0000000b;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = (byte *)0xf;\n            if (iVar5 != 0x2a) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x3a) {\n          unaff_s2 = &DAT_00000005;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x3b) {\n          if (iVar5 == 0x2c) {\n            unaff_s2 = &DAT_0000000d;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = &DAT_00000006;\n            if (iVar5 != 0x2d) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x7b) {\n          unaff_s2 = &DAT_00000007;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 == 0x7d) {\n          unaff_s2 = &DAT_00000008;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else {\n          unaff_s2 = &DAT_0000000c;\n          if (iVar5 != 0x5e) goto LAB_000b2abc;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\nLAB_000b2b98:\n        local_110 = unaff_s4 + (int)local_110;\n      }" else (compound_statement "{\n        ppbVar17 = (byte **)0x0;\n        if (iVar5 == 0x2b) {\n          unaff_s2 = &DAT_0000000e;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x2c) {\n          if (iVar5 == 0x28) {\n            unaff_s2 = &DAT_0000000a;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 < 0x29) {\n            if (iVar5 != 0) {\n              pbVar24 = unaff_s4 + 1;\n              if (iVar5 != 0x22) {\nLAB_000b2abc:\n                puVar6 = puVar18;\n                pcVar16 = local_ac;\n                do {\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                } while (puVar15 != puVar14);\n                if (-1 < iVar5) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              bVar12 = *pbVar24;\n              if (bVar12 == 0x22) goto LAB_000b3320;\n              while (ppbVar17 = (byte **)PTR_UINT_0015b5fc, bVar12 != 0) {\n                while( true ) {\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (byte *)0x0;\n              pbVar24 = (byte *)0x1;\n              ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70e0);\n              (*pcVar13)(&local_c4);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (byte *)0x0;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 == 0x29) {\n            unaff_s2 = &DAT_0000000b;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = (byte *)0xf;\n            if (iVar5 != 0x2a) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x3a) {\n          unaff_s2 = &DAT_00000005;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x3b) {\n          if (iVar5 == 0x2c) {\n            unaff_s2 = &DAT_0000000d;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = &DAT_00000006;\n            if (iVar5 != 0x2d) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x7b) {\n          unaff_s2 = &DAT_00000007;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 == 0x7d) {\n          unaff_s2 = &DAT_00000008;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else {\n          unaff_s2 = &DAT_0000000c;\n          if (iVar5 != 0x5e) goto LAB_000b2abc;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\nLAB_000b2b98:\n        local_110 = unaff_s4 + (int)local_110;\n      }" { (expression_statement "ppbVar17 = (byte **)0x0;" (assignment_expression "ppbVar17 = (byte **)0x0" identifier = (cast_expression "(byte **)0x0" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (if_statement "if (iVar5 == 0x2b) {\n          unaff_s2 = &DAT_0000000e;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x2c) {\n          if (iVar5 == 0x28) {\n            unaff_s2 = &DAT_0000000a;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 < 0x29) {\n            if (iVar5 != 0) {\n              pbVar24 = unaff_s4 + 1;\n              if (iVar5 != 0x22) {\nLAB_000b2abc:\n                puVar6 = puVar18;\n                pcVar16 = local_ac;\n                do {\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                } while (puVar15 != puVar14);\n                if (-1 < iVar5) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              bVar12 = *pbVar24;\n              if (bVar12 == 0x22) goto LAB_000b3320;\n              while (ppbVar17 = (byte **)PTR_UINT_0015b5fc, bVar12 != 0) {\n                while( true ) {\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (byte *)0x0;\n              pbVar24 = (byte *)0x1;\n              ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70e0);\n              (*pcVar13)(&local_c4);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (byte *)0x0;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 == 0x29) {\n            unaff_s2 = &DAT_0000000b;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = (byte *)0xf;\n            if (iVar5 != 0x2a) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x3a) {\n          unaff_s2 = &DAT_00000005;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x3b) {\n          if (iVar5 == 0x2c) {\n            unaff_s2 = &DAT_0000000d;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = &DAT_00000006;\n            if (iVar5 != 0x2d) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x7b) {\n          unaff_s2 = &DAT_00000007;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 == 0x7d) {\n          unaff_s2 = &DAT_00000008;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else {\n          unaff_s2 = &DAT_0000000c;\n          if (iVar5 != 0x5e) goto LAB_000b2abc;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }" if (parenthesized_expression "(iVar5 == 0x2b)" ( (binary_expression "iVar5 == 0x2b" identifier == number_literal) )) (compound_statement "{\n          unaff_s2 = &DAT_0000000e;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }" { (expression_statement "unaff_s2 = &DAT_0000000e;" (assignment_expression "unaff_s2 = &DAT_0000000e" identifier = (pointer_expression "&DAT_0000000e" & identifier)) ;) (expression_statement "local_110 = (byte *)0x1;" (assignment_expression "local_110 = (byte *)0x1" identifier = (cast_expression "(byte *)0x1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar24 = (byte *)0x1;" (assignment_expression "pbVar24 = (byte *)0x1" identifier = (cast_expression "(byte *)0x1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else if (iVar5 < 0x2c) {\n          if (iVar5 == 0x28) {\n            unaff_s2 = &DAT_0000000a;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 < 0x29) {\n            if (iVar5 != 0) {\n              pbVar24 = unaff_s4 + 1;\n              if (iVar5 != 0x22) {\nLAB_000b2abc:\n                puVar6 = puVar18;\n                pcVar16 = local_ac;\n                do {\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                } while (puVar15 != puVar14);\n                if (-1 < iVar5) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              bVar12 = *pbVar24;\n              if (bVar12 == 0x22) goto LAB_000b3320;\n              while (ppbVar17 = (byte **)PTR_UINT_0015b5fc, bVar12 != 0) {\n                while( true ) {\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (byte *)0x0;\n              pbVar24 = (byte *)0x1;\n              ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70e0);\n              (*pcVar13)(&local_c4);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (byte *)0x0;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 == 0x29) {\n            unaff_s2 = &DAT_0000000b;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = (byte *)0xf;\n            if (iVar5 != 0x2a) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x3a) {\n          unaff_s2 = &DAT_00000005;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x3b) {\n          if (iVar5 == 0x2c) {\n            unaff_s2 = &DAT_0000000d;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = &DAT_00000006;\n            if (iVar5 != 0x2d) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x7b) {\n          unaff_s2 = &DAT_00000007;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 == 0x7d) {\n          unaff_s2 = &DAT_00000008;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else {\n          unaff_s2 = &DAT_0000000c;\n          if (iVar5 != 0x5e) goto LAB_000b2abc;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }" else (if_statement "if (iVar5 < 0x2c) {\n          if (iVar5 == 0x28) {\n            unaff_s2 = &DAT_0000000a;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 < 0x29) {\n            if (iVar5 != 0) {\n              pbVar24 = unaff_s4 + 1;\n              if (iVar5 != 0x22) {\nLAB_000b2abc:\n                puVar6 = puVar18;\n                pcVar16 = local_ac;\n                do {\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                } while (puVar15 != puVar14);\n                if (-1 < iVar5) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              bVar12 = *pbVar24;\n              if (bVar12 == 0x22) goto LAB_000b3320;\n              while (ppbVar17 = (byte **)PTR_UINT_0015b5fc, bVar12 != 0) {\n                while( true ) {\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (byte *)0x0;\n              pbVar24 = (byte *)0x1;\n              ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70e0);\n              (*pcVar13)(&local_c4);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (byte *)0x0;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 == 0x29) {\n            unaff_s2 = &DAT_0000000b;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = (byte *)0xf;\n            if (iVar5 != 0x2a) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x3a) {\n          unaff_s2 = &DAT_00000005;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x3b) {\n          if (iVar5 == 0x2c) {\n            unaff_s2 = &DAT_0000000d;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = &DAT_00000006;\n            if (iVar5 != 0x2d) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x7b) {\n          unaff_s2 = &DAT_00000007;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 == 0x7d) {\n          unaff_s2 = &DAT_00000008;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else {\n          unaff_s2 = &DAT_0000000c;\n          if (iVar5 != 0x5e) goto LAB_000b2abc;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }" if (parenthesized_expression "(iVar5 < 0x2c)" ( (binary_expression "iVar5 < 0x2c" identifier < number_literal) )) (compound_statement "{\n          if (iVar5 == 0x28) {\n            unaff_s2 = &DAT_0000000a;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 < 0x29) {\n            if (iVar5 != 0) {\n              pbVar24 = unaff_s4 + 1;\n              if (iVar5 != 0x22) {\nLAB_000b2abc:\n                puVar6 = puVar18;\n                pcVar16 = local_ac;\n                do {\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                } while (puVar15 != puVar14);\n                if (-1 < iVar5) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              bVar12 = *pbVar24;\n              if (bVar12 == 0x22) goto LAB_000b3320;\n              while (ppbVar17 = (byte **)PTR_UINT_0015b5fc, bVar12 != 0) {\n                while( true ) {\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (byte *)0x0;\n              pbVar24 = (byte *)0x1;\n              ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70e0);\n              (*pcVar13)(&local_c4);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (byte *)0x0;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 == 0x29) {\n            unaff_s2 = &DAT_0000000b;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = (byte *)0xf;\n            if (iVar5 != 0x2a) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }" { (if_statement "if (iVar5 == 0x28) {\n            unaff_s2 = &DAT_0000000a;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 < 0x29) {\n            if (iVar5 != 0) {\n              pbVar24 = unaff_s4 + 1;\n              if (iVar5 != 0x22) {\nLAB_000b2abc:\n                puVar6 = puVar18;\n                pcVar16 = local_ac;\n                do {\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                } while (puVar15 != puVar14);\n                if (-1 < iVar5) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              bVar12 = *pbVar24;\n              if (bVar12 == 0x22) goto LAB_000b3320;\n              while (ppbVar17 = (byte **)PTR_UINT_0015b5fc, bVar12 != 0) {\n                while( true ) {\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (byte *)0x0;\n              pbVar24 = (byte *)0x1;\n              ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70e0);\n              (*pcVar13)(&local_c4);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (byte *)0x0;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 == 0x29) {\n            unaff_s2 = &DAT_0000000b;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = (byte *)0xf;\n            if (iVar5 != 0x2a) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }" if (parenthesized_expression "(iVar5 == 0x28)" ( (binary_expression "iVar5 == 0x28" identifier == number_literal) )) (compound_statement "{\n            unaff_s2 = &DAT_0000000a;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }" { (expression_statement "unaff_s2 = &DAT_0000000a;" (assignment_expression "unaff_s2 = &DAT_0000000a" identifier = (pointer_expression "&DAT_0000000a" & identifier)) ;) (expression_statement "local_110 = (byte *)0x1;" (assignment_expression "local_110 = (byte *)0x1" identifier = (cast_expression "(byte *)0x1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar24 = (byte *)0x1;" (assignment_expression "pbVar24 = (byte *)0x1" identifier = (cast_expression "(byte *)0x1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else if (iVar5 < 0x29) {\n            if (iVar5 != 0) {\n              pbVar24 = unaff_s4 + 1;\n              if (iVar5 != 0x22) {\nLAB_000b2abc:\n                puVar6 = puVar18;\n                pcVar16 = local_ac;\n                do {\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                } while (puVar15 != puVar14);\n                if (-1 < iVar5) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              bVar12 = *pbVar24;\n              if (bVar12 == 0x22) goto LAB_000b3320;\n              while (ppbVar17 = (byte **)PTR_UINT_0015b5fc, bVar12 != 0) {\n                while( true ) {\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (byte *)0x0;\n              pbVar24 = (byte *)0x1;\n              ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70e0);\n              (*pcVar13)(&local_c4);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (byte *)0x0;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 == 0x29) {\n            unaff_s2 = &DAT_0000000b;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = (byte *)0xf;\n            if (iVar5 != 0x2a) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }" else (if_statement "if (iVar5 < 0x29) {\n            if (iVar5 != 0) {\n              pbVar24 = unaff_s4 + 1;\n              if (iVar5 != 0x22) {\nLAB_000b2abc:\n                puVar6 = puVar18;\n                pcVar16 = local_ac;\n                do {\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                } while (puVar15 != puVar14);\n                if (-1 < iVar5) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              bVar12 = *pbVar24;\n              if (bVar12 == 0x22) goto LAB_000b3320;\n              while (ppbVar17 = (byte **)PTR_UINT_0015b5fc, bVar12 != 0) {\n                while( true ) {\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (byte *)0x0;\n              pbVar24 = (byte *)0x1;\n              ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70e0);\n              (*pcVar13)(&local_c4);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (byte *)0x0;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 == 0x29) {\n            unaff_s2 = &DAT_0000000b;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = (byte *)0xf;\n            if (iVar5 != 0x2a) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }" if (parenthesized_expression "(iVar5 < 0x29)" ( (binary_expression "iVar5 < 0x29" identifier < number_literal) )) (compound_statement "{\n            if (iVar5 != 0) {\n              pbVar24 = unaff_s4 + 1;\n              if (iVar5 != 0x22) {\nLAB_000b2abc:\n                puVar6 = puVar18;\n                pcVar16 = local_ac;\n                do {\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                } while (puVar15 != puVar14);\n                if (-1 < iVar5) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              bVar12 = *pbVar24;\n              if (bVar12 == 0x22) goto LAB_000b3320;\n              while (ppbVar17 = (byte **)PTR_UINT_0015b5fc, bVar12 != 0) {\n                while( true ) {\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (byte *)0x0;\n              pbVar24 = (byte *)0x1;\n              ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70e0);\n              (*pcVar13)(&local_c4);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (byte *)0x0;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }" { (if_statement "if (iVar5 != 0) {\n              pbVar24 = unaff_s4 + 1;\n              if (iVar5 != 0x22) {\nLAB_000b2abc:\n                puVar6 = puVar18;\n                pcVar16 = local_ac;\n                do {\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                } while (puVar15 != puVar14);\n                if (-1 < iVar5) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              bVar12 = *pbVar24;\n              if (bVar12 == 0x22) goto LAB_000b3320;\n              while (ppbVar17 = (byte **)PTR_UINT_0015b5fc, bVar12 != 0) {\n                while( true ) {\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (byte *)0x0;\n              pbVar24 = (byte *)0x1;\n              ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70e0);\n              (*pcVar13)(&local_c4);\n              goto LAB_000b2ba0;\n            }" if (parenthesized_expression "(iVar5 != 0)" ( (binary_expression "iVar5 != 0" identifier != number_literal) )) (compound_statement "{\n              pbVar24 = unaff_s4 + 1;\n              if (iVar5 != 0x22) {\nLAB_000b2abc:\n                puVar6 = puVar18;\n                pcVar16 = local_ac;\n                do {\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                } while (puVar15 != puVar14);\n                if (-1 < iVar5) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              bVar12 = *pbVar24;\n              if (bVar12 == 0x22) goto LAB_000b3320;\n              while (ppbVar17 = (byte **)PTR_UINT_0015b5fc, bVar12 != 0) {\n                while( true ) {\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (byte *)0x0;\n              pbVar24 = (byte *)0x1;\n              ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70e0);\n              (*pcVar13)(&local_c4);\n              goto LAB_000b2ba0;\n            }" { (expression_statement "pbVar24 = unaff_s4 + 1;" (assignment_expression "pbVar24 = unaff_s4 + 1" identifier = (binary_expression "unaff_s4 + 1" identifier + number_literal)) ;) (if_statement "if (iVar5 != 0x22) {\nLAB_000b2abc:\n                puVar6 = puVar18;\n                pcVar16 = local_ac;\n                do {\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                } while (puVar15 != puVar14);\n                if (-1 < iVar5) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }" if (parenthesized_expression "(iVar5 != 0x22)" ( (binary_expression "iVar5 != 0x22" identifier != number_literal) )) (compound_statement "{\nLAB_000b2abc:\n                puVar6 = puVar18;\n                pcVar16 = local_ac;\n                do {\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                } while (puVar15 != puVar14);\n                if (-1 < iVar5) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }" { (labeled_statement "LAB_000b2abc:\n                puVar6 = puVar18;" statement_identifier : (expression_statement "puVar6 = puVar18;" (assignment_expression "puVar6 = puVar18" identifier = identifier) ;)) (expression_statement "pcVar16 = local_ac;" (assignment_expression "pcVar16 = local_ac" identifier = identifier) ;) (do_statement "do {\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                } while (puVar15 != puVar14);" do (compound_statement "{\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                }" { (expression_statement "puVar15 = puVar6 + 4;" (assignment_expression "puVar15 = puVar6 + 4" identifier = (binary_expression "puVar6 + 4" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)pcVar16 = *puVar6;" (assignment_expression "*(undefined4 *)pcVar16 = *puVar6" (pointer_expression "*(undefined4 *)pcVar16" * (cast_expression "(undefined4 *)pcVar16" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (pointer_expression "*puVar6" * identifier)) ;) (expression_statement "pbVar21 = (byte *)puVar6[1];" (assignment_expression "pbVar21 = (byte *)puVar6[1]" identifier = (cast_expression "(byte *)puVar6[1]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar6[1]" identifier [ number_literal ]))) ;) (expression_statement "uVar19 = puVar6[2];" (assignment_expression "uVar19 = puVar6[2]" identifier = (subscript_expression "puVar6[2]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(pcVar16 + 0xc) = puVar6[3];" (assignment_expression "*(undefined4 *)(pcVar16 + 0xc) = puVar6[3]" (pointer_expression "*(undefined4 *)(pcVar16 + 0xc)" * (cast_expression "(undefined4 *)(pcVar16 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 0xc)" ( (binary_expression "pcVar16 + 0xc" identifier + number_literal) )))) = (subscript_expression "puVar6[3]" identifier [ number_literal ])) ;) (expression_statement "*(byte **)(pcVar16 + 4) = pbVar21;" (assignment_expression "*(byte **)(pcVar16 + 4) = pbVar21" (pointer_expression "*(byte **)(pcVar16 + 4)" * (cast_expression "(byte **)(pcVar16 + 4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar16 + 4)" ( (binary_expression "pcVar16 + 4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(pcVar16 + 8) = uVar19;" (assignment_expression "*(undefined4 *)(pcVar16 + 8) = uVar19" (pointer_expression "*(undefined4 *)(pcVar16 + 8)" * (cast_expression "(undefined4 *)(pcVar16 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar16 + 8)" ( (binary_expression "pcVar16 + 8" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar6 = puVar15;" (assignment_expression "puVar6 = puVar15" identifier = identifier) ;) (expression_statement "pcVar16 = pcVar16 + 0x10;" (assignment_expression "pcVar16 = pcVar16 + 0x10" identifier = (binary_expression "pcVar16 + 0x10" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar15 != puVar14)" ( (binary_expression "puVar15 != puVar14" identifier != identifier) )) ;) (if_statement "if (-1 < iVar5) goto LAB_000b34f0;" if (parenthesized_expression "(-1 < iVar5)" ( (binary_expression "-1 < iVar5" number_literal < identifier) )) (goto_statement "goto LAB_000b34f0;" goto statement_identifier ;)) (goto_statement "goto LAB_000b2b04;" goto statement_identifier ;) })) (expression_statement "bVar12 = *pbVar24;" (assignment_expression "bVar12 = *pbVar24" identifier = (pointer_expression "*pbVar24" * identifier)) ;) (if_statement "if (bVar12 == 0x22) goto LAB_000b3320;" if (parenthesized_expression "(bVar12 == 0x22)" ( (binary_expression "bVar12 == 0x22" identifier == number_literal) )) (goto_statement "goto LAB_000b3320;" goto statement_identifier ;)) (while_statement "while (ppbVar17 = (byte **)PTR_UINT_0015b5fc, bVar12 != 0) {\n                while( true ) {\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }" while (parenthesized_expression "(ppbVar17 = (byte **)PTR_UINT_0015b5fc, bVar12 != 0)" ( (comma_expression "ppbVar17 = (byte **)PTR_UINT_0015b5fc, bVar12 != 0" (assignment_expression "ppbVar17 = (byte **)PTR_UINT_0015b5fc" identifier = (cast_expression "(byte **)PTR_UINT_0015b5fc" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) , (binary_expression "bVar12 != 0" identifier != number_literal)) )) (compound_statement "{\n                while( true ) {\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }" { (while_statement "while( true ) {\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }" { (expression_statement "pbVar24 = pbVar24 + 1;" (assignment_expression "pbVar24 = pbVar24 + 1" identifier = (binary_expression "pbVar24 + 1" identifier + number_literal)) ;) (expression_statement "bVar12 = *pbVar24;" (assignment_expression "bVar12 = *pbVar24" identifier = (pointer_expression "*pbVar24" * identifier)) ;) (if_statement "if (bVar12 != 0x22) break;" if (parenthesized_expression "(bVar12 != 0x22)" ( (binary_expression "bVar12 != 0x22" identifier != number_literal) )) (break_statement "break;" break ;)) (labeled_statement "LAB_000b3320:\n                  pbVar9 = pbVar24 + 1;" statement_identifier : (expression_statement "pbVar9 = pbVar24 + 1;" (assignment_expression "pbVar9 = pbVar24 + 1" identifier = (binary_expression "pbVar24 + 1" identifier + number_literal)) ;)) (expression_statement "pbVar24 = pbVar24 + 1;" (assignment_expression "pbVar24 = pbVar24 + 1" identifier = (binary_expression "pbVar24 + 1" identifier + number_literal)) ;) (if_statement "if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }" if (parenthesized_expression "(*pbVar9 != 0x22)" ( (binary_expression "*pbVar9 != 0x22" (pointer_expression "*pbVar9" * identifier) != number_literal) )) (compound_statement "{\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }" { (expression_statement "local_110 = pbVar24 + -(int)unaff_s4;" (assignment_expression "local_110 = pbVar24 + -(int)unaff_s4" identifier = (binary_expression "pbVar24 + -(int)unaff_s4" identifier + (unary_expression "-(int)unaff_s4" - (cast_expression "(int)unaff_s4" ( (type_descriptor "int" primitive_type) ) identifier)))) ;) (expression_statement "unaff_s2 = &DAT_00000009;" (assignment_expression "unaff_s2 = &DAT_00000009" identifier = (pointer_expression "&DAT_00000009" & identifier)) ;) (expression_statement "pbVar24 = local_110;" (assignment_expression "pbVar24 = local_110" identifier = identifier) ;) (goto_statement "goto LAB_000b2b98;" goto statement_identifier ;) })) })) })) (expression_statement "unaff_s2 = (byte *)0x0;" (assignment_expression "unaff_s2 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar24 = (byte *)0x1;" (assignment_expression "pbVar24 = (byte *)0x1" identifier = (cast_expression "(byte *)0x1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70e0);" (assignment_expression "ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70e0)" identifier = (cast_expression "(byte **)(PTR_UINT_0015b5fc + -0x70e0)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_UINT_0015b5fc + -0x70e0)" ( (binary_expression "PTR_UINT_0015b5fc + -0x70e0" identifier + number_literal) )))) ;) (expression_statement "(*pcVar13)(&local_c4);" (call_expression "(*pcVar13)(&local_c4)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(&local_c4)" ( (pointer_expression "&local_c4" & identifier) ))) ;) (goto_statement "goto LAB_000b2ba0;" goto statement_identifier ;) })) (expression_statement "unaff_s2 = (byte *)0x0;" (assignment_expression "unaff_s2 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_110 = (byte *)0x1;" (assignment_expression "local_110 = (byte *)0x1" identifier = (cast_expression "(byte *)0x1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar24 = (byte *)0x1;" (assignment_expression "pbVar24 = (byte *)0x1" identifier = (cast_expression "(byte *)0x1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else if (iVar5 == 0x29) {\n            unaff_s2 = &DAT_0000000b;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = (byte *)0xf;\n            if (iVar5 != 0x2a) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }" else (if_statement "if (iVar5 == 0x29) {\n            unaff_s2 = &DAT_0000000b;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = (byte *)0xf;\n            if (iVar5 != 0x2a) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }" if (parenthesized_expression "(iVar5 == 0x29)" ( (binary_expression "iVar5 == 0x29" identifier == number_literal) )) (compound_statement "{\n            unaff_s2 = &DAT_0000000b;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }" { (expression_statement "unaff_s2 = &DAT_0000000b;" (assignment_expression "unaff_s2 = &DAT_0000000b" identifier = (pointer_expression "&DAT_0000000b" & identifier)) ;) (expression_statement "local_110 = (byte *)0x1;" (assignment_expression "local_110 = (byte *)0x1" identifier = (cast_expression "(byte *)0x1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar24 = (byte *)0x1;" (assignment_expression "pbVar24 = (byte *)0x1" identifier = (cast_expression "(byte *)0x1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n            unaff_s2 = (byte *)0xf;\n            if (iVar5 != 0x2a) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }" else (compound_statement "{\n            unaff_s2 = (byte *)0xf;\n            if (iVar5 != 0x2a) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }" { (expression_statement "unaff_s2 = (byte *)0xf;" (assignment_expression "unaff_s2 = (byte *)0xf" identifier = (cast_expression "(byte *)0xf" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (iVar5 != 0x2a) goto LAB_000b2abc;" if (parenthesized_expression "(iVar5 != 0x2a)" ( (binary_expression "iVar5 != 0x2a" identifier != number_literal) )) (goto_statement "goto LAB_000b2abc;" goto statement_identifier ;)) (expression_statement "local_110 = (byte *)0x1;" (assignment_expression "local_110 = (byte *)0x1" identifier = (cast_expression "(byte *)0x1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar24 = (byte *)0x1;" (assignment_expression "pbVar24 = (byte *)0x1" identifier = (cast_expression "(byte *)0x1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))))))) }) (else_clause "else if (iVar5 == 0x3a) {\n          unaff_s2 = &DAT_00000005;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x3b) {\n          if (iVar5 == 0x2c) {\n            unaff_s2 = &DAT_0000000d;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = &DAT_00000006;\n            if (iVar5 != 0x2d) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x7b) {\n          unaff_s2 = &DAT_00000007;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 == 0x7d) {\n          unaff_s2 = &DAT_00000008;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else {\n          unaff_s2 = &DAT_0000000c;\n          if (iVar5 != 0x5e) goto LAB_000b2abc;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }" else (if_statement "if (iVar5 == 0x3a) {\n          unaff_s2 = &DAT_00000005;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x3b) {\n          if (iVar5 == 0x2c) {\n            unaff_s2 = &DAT_0000000d;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = &DAT_00000006;\n            if (iVar5 != 0x2d) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x7b) {\n          unaff_s2 = &DAT_00000007;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 == 0x7d) {\n          unaff_s2 = &DAT_00000008;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else {\n          unaff_s2 = &DAT_0000000c;\n          if (iVar5 != 0x5e) goto LAB_000b2abc;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }" if (parenthesized_expression "(iVar5 == 0x3a)" ( (binary_expression "iVar5 == 0x3a" identifier == number_literal) )) (compound_statement "{\n          unaff_s2 = &DAT_00000005;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }" { (expression_statement "unaff_s2 = &DAT_00000005;" (assignment_expression "unaff_s2 = &DAT_00000005" identifier = (pointer_expression "&DAT_00000005" & identifier)) ;) (expression_statement "local_110 = (byte *)0x1;" (assignment_expression "local_110 = (byte *)0x1" identifier = (cast_expression "(byte *)0x1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar24 = (byte *)0x1;" (assignment_expression "pbVar24 = (byte *)0x1" identifier = (cast_expression "(byte *)0x1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else if (iVar5 < 0x3b) {\n          if (iVar5 == 0x2c) {\n            unaff_s2 = &DAT_0000000d;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = &DAT_00000006;\n            if (iVar5 != 0x2d) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x7b) {\n          unaff_s2 = &DAT_00000007;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 == 0x7d) {\n          unaff_s2 = &DAT_00000008;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else {\n          unaff_s2 = &DAT_0000000c;\n          if (iVar5 != 0x5e) goto LAB_000b2abc;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }" else (if_statement "if (iVar5 < 0x3b) {\n          if (iVar5 == 0x2c) {\n            unaff_s2 = &DAT_0000000d;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = &DAT_00000006;\n            if (iVar5 != 0x2d) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x7b) {\n          unaff_s2 = &DAT_00000007;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 == 0x7d) {\n          unaff_s2 = &DAT_00000008;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else {\n          unaff_s2 = &DAT_0000000c;\n          if (iVar5 != 0x5e) goto LAB_000b2abc;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }" if (parenthesized_expression "(iVar5 < 0x3b)" ( (binary_expression "iVar5 < 0x3b" identifier < number_literal) )) (compound_statement "{\n          if (iVar5 == 0x2c) {\n            unaff_s2 = &DAT_0000000d;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = &DAT_00000006;\n            if (iVar5 != 0x2d) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }" { (if_statement "if (iVar5 == 0x2c) {\n            unaff_s2 = &DAT_0000000d;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = &DAT_00000006;\n            if (iVar5 != 0x2d) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }" if (parenthesized_expression "(iVar5 == 0x2c)" ( (binary_expression "iVar5 == 0x2c" identifier == number_literal) )) (compound_statement "{\n            unaff_s2 = &DAT_0000000d;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }" { (expression_statement "unaff_s2 = &DAT_0000000d;" (assignment_expression "unaff_s2 = &DAT_0000000d" identifier = (pointer_expression "&DAT_0000000d" & identifier)) ;) (expression_statement "local_110 = (byte *)0x1;" (assignment_expression "local_110 = (byte *)0x1" identifier = (cast_expression "(byte *)0x1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar24 = (byte *)0x1;" (assignment_expression "pbVar24 = (byte *)0x1" identifier = (cast_expression "(byte *)0x1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n            unaff_s2 = &DAT_00000006;\n            if (iVar5 != 0x2d) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }" else (compound_statement "{\n            unaff_s2 = &DAT_00000006;\n            if (iVar5 != 0x2d) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }" { (expression_statement "unaff_s2 = &DAT_00000006;" (assignment_expression "unaff_s2 = &DAT_00000006" identifier = (pointer_expression "&DAT_00000006" & identifier)) ;) (if_statement "if (iVar5 != 0x2d) goto LAB_000b2abc;" if (parenthesized_expression "(iVar5 != 0x2d)" ( (binary_expression "iVar5 != 0x2d" identifier != number_literal) )) (goto_statement "goto LAB_000b2abc;" goto statement_identifier ;)) (expression_statement "local_110 = (byte *)0x1;" (assignment_expression "local_110 = (byte *)0x1" identifier = (cast_expression "(byte *)0x1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar24 = (byte *)0x1;" (assignment_expression "pbVar24 = (byte *)0x1" identifier = (cast_expression "(byte *)0x1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) }) (else_clause "else if (iVar5 == 0x7b) {\n          unaff_s2 = &DAT_00000007;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 == 0x7d) {\n          unaff_s2 = &DAT_00000008;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else {\n          unaff_s2 = &DAT_0000000c;\n          if (iVar5 != 0x5e) goto LAB_000b2abc;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }" else (if_statement "if (iVar5 == 0x7b) {\n          unaff_s2 = &DAT_00000007;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 == 0x7d) {\n          unaff_s2 = &DAT_00000008;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else {\n          unaff_s2 = &DAT_0000000c;\n          if (iVar5 != 0x5e) goto LAB_000b2abc;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }" if (parenthesized_expression "(iVar5 == 0x7b)" ( (binary_expression "iVar5 == 0x7b" identifier == number_literal) )) (compound_statement "{\n          unaff_s2 = &DAT_00000007;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }" { (expression_statement "unaff_s2 = &DAT_00000007;" (assignment_expression "unaff_s2 = &DAT_00000007" identifier = (pointer_expression "&DAT_00000007" & identifier)) ;) (expression_statement "local_110 = (byte *)0x1;" (assignment_expression "local_110 = (byte *)0x1" identifier = (cast_expression "(byte *)0x1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar24 = (byte *)0x1;" (assignment_expression "pbVar24 = (byte *)0x1" identifier = (cast_expression "(byte *)0x1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else if (iVar5 == 0x7d) {\n          unaff_s2 = &DAT_00000008;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else {\n          unaff_s2 = &DAT_0000000c;\n          if (iVar5 != 0x5e) goto LAB_000b2abc;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }" else (if_statement "if (iVar5 == 0x7d) {\n          unaff_s2 = &DAT_00000008;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else {\n          unaff_s2 = &DAT_0000000c;\n          if (iVar5 != 0x5e) goto LAB_000b2abc;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }" if (parenthesized_expression "(iVar5 == 0x7d)" ( (binary_expression "iVar5 == 0x7d" identifier == number_literal) )) (compound_statement "{\n          unaff_s2 = &DAT_00000008;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }" { (expression_statement "unaff_s2 = &DAT_00000008;" (assignment_expression "unaff_s2 = &DAT_00000008" identifier = (pointer_expression "&DAT_00000008" & identifier)) ;) (expression_statement "local_110 = (byte *)0x1;" (assignment_expression "local_110 = (byte *)0x1" identifier = (cast_expression "(byte *)0x1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar24 = (byte *)0x1;" (assignment_expression "pbVar24 = (byte *)0x1" identifier = (cast_expression "(byte *)0x1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n          unaff_s2 = &DAT_0000000c;\n          if (iVar5 != 0x5e) goto LAB_000b2abc;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }" else (compound_statement "{\n          unaff_s2 = &DAT_0000000c;\n          if (iVar5 != 0x5e) goto LAB_000b2abc;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }" { (expression_statement "unaff_s2 = &DAT_0000000c;" (assignment_expression "unaff_s2 = &DAT_0000000c" identifier = (pointer_expression "&DAT_0000000c" & identifier)) ;) (if_statement "if (iVar5 != 0x5e) goto LAB_000b2abc;" if (parenthesized_expression "(iVar5 != 0x5e)" ( (binary_expression "iVar5 != 0x5e" identifier != number_literal) )) (goto_statement "goto LAB_000b2abc;" goto statement_identifier ;)) (expression_statement "local_110 = (byte *)0x1;" (assignment_expression "local_110 = (byte *)0x1" identifier = (cast_expression "(byte *)0x1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar24 = (byte *)0x1;" (assignment_expression "pbVar24 = (byte *)0x1" identifier = (cast_expression "(byte *)0x1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))))))))))))) (labeled_statement "LAB_000b2b98:\n        local_110 = unaff_s4 + (int)local_110;" statement_identifier : (expression_statement "local_110 = unaff_s4 + (int)local_110;" (assignment_expression "local_110 = unaff_s4 + (int)local_110" identifier = (binary_expression "unaff_s4 + (int)local_110" identifier + (cast_expression "(int)local_110" ( (type_descriptor "int" primitive_type) ) identifier))) ;)) }))) (labeled_statement "LAB_000b2ba0:\n      unaff_s6 = PTR_UINT_0015b5fc;" statement_identifier : (expression_statement "unaff_s6 = PTR_UINT_0015b5fc;" (assignment_expression "unaff_s6 = PTR_UINT_0015b5fc" identifier = identifier) ;)) (expression_statement "unaff_s7 = *(byte ***)pbVar4;" (assignment_expression "unaff_s7 = *(byte ***)pbVar4" identifier = (pointer_expression "*(byte ***)pbVar4" * (cast_expression "(byte ***)pbVar4" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier))) ;) (expression_statement "puVar7 = PTR_UINT_0015b5fc + 0x4920;" (assignment_expression "puVar7 = PTR_UINT_0015b5fc + 0x4920" identifier = (binary_expression "PTR_UINT_0015b5fc + 0x4920" identifier + number_literal)) ;) (expression_statement "*(byte ****)(pbVar4 + 4) = &local_c4;" (assignment_expression "*(byte ****)(pbVar4 + 4) = &local_c4" (pointer_expression "*(byte ****)(pbVar4 + 4)" * (cast_expression "(byte ****)(pbVar4 + 4)" ( (type_descriptor "byte ****" type_identifier (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))) ) (parenthesized_expression "(pbVar4 + 4)" ( (binary_expression "pbVar4 + 4" identifier + number_literal) )))) = (pointer_expression "&local_c4" & identifier)) ;) (expression_statement "ppbVar22 = (byte **)(uint)*(byte *)unaff_s7;" (assignment_expression "ppbVar22 = (byte **)(uint)*(byte *)unaff_s7" identifier = (binary_expression "(byte **)(uint)*(byte *)unaff_s7" (cast_expression "(byte **)(uint)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(byte *)unaff_s7" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "puVar8 = PTR_UINT_0015b5fc + 0x48fc;" (assignment_expression "puVar8 = PTR_UINT_0015b5fc + 0x48fc" identifier = (binary_expression "PTR_UINT_0015b5fc + 0x48fc" identifier + number_literal)) ;) (do_statement "do {\n        ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n        if ((byte **)0x22 < ppbVar22) goto joined_r0x000b33cc;\n        pbVar9 = unaff_s2 + (byte)puVar8[(int)ppbVar22];\n        if ((byte *)0x78 < pbVar9) goto LAB_000b2c10;\n        while( true ) {\n          if ((byte *)(uint)pbVar9[(int)puVar7] == unaff_s2) {\n            ppbVar22 = (byte **)(uint)pbVar9[(int)(unaff_s6 + 0x499c)];\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }\n          else {\nLAB_000b2c10:\n            ppbVar22 = (byte **)(uint)*(byte *)((int)ppbVar22 + (int)(puVar2 + 0x48c4));\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }\njoined_r0x000b33cc:\n          PTR_UINT_0015b5fc = (undefined *)ppbVar10;\n          if (ppbVar22 < (byte **)0x53) {\n            if (ppbVar22 < (byte **)0x50) {\n              *(byte ***)pbVar4 = unaff_s7 + 3;\n              if (*(byte ***)(pbVar4 + 0x4b8) < unaff_s7 + 3) {\n                *(byte ***)pbVar4 = unaff_s7;\n                FUN_000b2444(pbVar4);\n              }\n              else {\n                if ((byte **)0x22 < ppbVar22) {\n                  ppbVar22 = (byte **)((uint)((int)ppbVar22 + 0x1f) & 0xff);\n                }\n                *(byte *)(unaff_s7 + 3) = (byte)ppbVar22;\n                *(byte *)((int)unaff_s7 + 0xd) = (byte)unaff_s2;\n                unaff_s7[4] = unaff_s4;\n                unaff_s7[5] = pbVar24;\n              }\n            }\n            else if (ppbVar22 == (byte **)0x51) {\n              *(byte ***)pbVar4 = unaff_s7 + -3;\n              ppbVar17 = ppbVar10;\n            }\n            else {\n              ppbVar22 = *(byte ***)(pbVar4 + 4);\n              pbVar21 = unaff_s4;\n              local_cc = unaff_s4;\n              local_c8 = pbVar24;\n              (*pcVar13)(ppbVar22,ppbVar10 + -0x1c2b);\n              ppbVar17 = &local_cc;\n              *(byte ***)(pbVar4 + 4) = ppbVar22;\n              FUN_000b23c0(unaff_s2);\n              pbVar20 = pbVar24;\n            }\n            goto LAB_000b2d18;\n          }\n          ppbVar23 = (byte **)((int)ppbVar22 + -0x53);\n          unaff_s5 = (byte *)(int)(char)*(byte *)((int)ppbVar23 + (int)(unaff_s6 + 0x488c));\n          if ((unaff_s5 != (byte *)0x0) || (unaff_s7 < *(byte ***)(pbVar4 + 0x4b8))) break;\n          FUN_000b2444(pbVar4);\n          unaff_s7 = *(byte ***)pbVar4;\n          ppbVar22 = ppbVar23;\n          if (unaff_s7 <= unaff_s1) goto LAB_000b2d18;\n          pbVar9 = unaff_s2 + 0x2c;\n          ppbVar22 = (byte **)0x0;\n        }\n        if (ppbVar23 < (byte **)0x1c) {\n                    \n                    \n          iVar5 = (*(code *)(&_gp_1 + (int)ppbVar10[(int)(ppbVar22 + 0xcb)]))();\n          return iVar5;\n        }\n        pbVar20 = unaff_s6 + 0x499c;\n        bVar12 = *(byte *)(unaff_s7 + (int)unaff_s5 * 3);\n        ppbVar17 = unaff_s7 + (int)unaff_s5 * 3 + 3;\n        bVar1 = *(byte *)((int)(ppbVar10 + 0x122a) + (int)ppbVar23);\n        *(byte ***)pbVar4 = ppbVar17;\n        *(byte *)((int)ppbVar17 + 1) = bVar1;\n        ppbVar22 = (byte **)(uint)pbVar20[(uint)bVar1 +\n                                          (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)];\n        *(byte *)ppbVar17 =\n             pbVar20[(uint)bVar1 + (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)];\n        unaff_s7 = *(byte ***)pbVar4;\n        ppbVar17 = ppbVar10;\n      } while (unaff_s1 < unaff_s7);" do (compound_statement "{\n        ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n        if ((byte **)0x22 < ppbVar22) goto joined_r0x000b33cc;\n        pbVar9 = unaff_s2 + (byte)puVar8[(int)ppbVar22];\n        if ((byte *)0x78 < pbVar9) goto LAB_000b2c10;\n        while( true ) {\n          if ((byte *)(uint)pbVar9[(int)puVar7] == unaff_s2) {\n            ppbVar22 = (byte **)(uint)pbVar9[(int)(unaff_s6 + 0x499c)];\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }\n          else {\nLAB_000b2c10:\n            ppbVar22 = (byte **)(uint)*(byte *)((int)ppbVar22 + (int)(puVar2 + 0x48c4));\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }\njoined_r0x000b33cc:\n          PTR_UINT_0015b5fc = (undefined *)ppbVar10;\n          if (ppbVar22 < (byte **)0x53) {\n            if (ppbVar22 < (byte **)0x50) {\n              *(byte ***)pbVar4 = unaff_s7 + 3;\n              if (*(byte ***)(pbVar4 + 0x4b8) < unaff_s7 + 3) {\n                *(byte ***)pbVar4 = unaff_s7;\n                FUN_000b2444(pbVar4);\n              }\n              else {\n                if ((byte **)0x22 < ppbVar22) {\n                  ppbVar22 = (byte **)((uint)((int)ppbVar22 + 0x1f) & 0xff);\n                }\n                *(byte *)(unaff_s7 + 3) = (byte)ppbVar22;\n                *(byte *)((int)unaff_s7 + 0xd) = (byte)unaff_s2;\n                unaff_s7[4] = unaff_s4;\n                unaff_s7[5] = pbVar24;\n              }\n            }\n            else if (ppbVar22 == (byte **)0x51) {\n              *(byte ***)pbVar4 = unaff_s7 + -3;\n              ppbVar17 = ppbVar10;\n            }\n            else {\n              ppbVar22 = *(byte ***)(pbVar4 + 4);\n              pbVar21 = unaff_s4;\n              local_cc = unaff_s4;\n              local_c8 = pbVar24;\n              (*pcVar13)(ppbVar22,ppbVar10 + -0x1c2b);\n              ppbVar17 = &local_cc;\n              *(byte ***)(pbVar4 + 4) = ppbVar22;\n              FUN_000b23c0(unaff_s2);\n              pbVar20 = pbVar24;\n            }\n            goto LAB_000b2d18;\n          }\n          ppbVar23 = (byte **)((int)ppbVar22 + -0x53);\n          unaff_s5 = (byte *)(int)(char)*(byte *)((int)ppbVar23 + (int)(unaff_s6 + 0x488c));\n          if ((unaff_s5 != (byte *)0x0) || (unaff_s7 < *(byte ***)(pbVar4 + 0x4b8))) break;\n          FUN_000b2444(pbVar4);\n          unaff_s7 = *(byte ***)pbVar4;\n          ppbVar22 = ppbVar23;\n          if (unaff_s7 <= unaff_s1) goto LAB_000b2d18;\n          pbVar9 = unaff_s2 + 0x2c;\n          ppbVar22 = (byte **)0x0;\n        }\n        if (ppbVar23 < (byte **)0x1c) {\n                    \n                    \n          iVar5 = (*(code *)(&_gp_1 + (int)ppbVar10[(int)(ppbVar22 + 0xcb)]))();\n          return iVar5;\n        }\n        pbVar20 = unaff_s6 + 0x499c;\n        bVar12 = *(byte *)(unaff_s7 + (int)unaff_s5 * 3);\n        ppbVar17 = unaff_s7 + (int)unaff_s5 * 3 + 3;\n        bVar1 = *(byte *)((int)(ppbVar10 + 0x122a) + (int)ppbVar23);\n        *(byte ***)pbVar4 = ppbVar17;\n        *(byte *)((int)ppbVar17 + 1) = bVar1;\n        ppbVar22 = (byte **)(uint)pbVar20[(uint)bVar1 +\n                                          (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)];\n        *(byte *)ppbVar17 =\n             pbVar20[(uint)bVar1 + (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)];\n        unaff_s7 = *(byte ***)pbVar4;\n        ppbVar17 = ppbVar10;\n      }" { (expression_statement "ppbVar10 = (byte **)PTR_UINT_0015b5fc;" (assignment_expression "ppbVar10 = (byte **)PTR_UINT_0015b5fc" identifier = (cast_expression "(byte **)PTR_UINT_0015b5fc" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (if_statement "if ((byte **)0x22 < ppbVar22) goto joined_r0x000b33cc;" if (parenthesized_expression "((byte **)0x22 < ppbVar22)" ( (binary_expression "(byte **)0x22 < ppbVar22" (cast_expression "(byte **)0x22" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) < identifier) )) (goto_statement "goto joined_r0x000b33cc;" goto statement_identifier ;)) (expression_statement "pbVar9 = unaff_s2 + (byte)puVar8[(int)ppbVar22];" (assignment_expression "pbVar9 = unaff_s2 + (byte)puVar8[(int)ppbVar22]" identifier = (binary_expression "unaff_s2 + (byte)puVar8[(int)ppbVar22]" identifier + (cast_expression "(byte)puVar8[(int)ppbVar22]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "puVar8[(int)ppbVar22]" identifier [ (cast_expression "(int)ppbVar22" ( (type_descriptor "int" primitive_type) ) identifier) ])))) ;) (if_statement "if ((byte *)0x78 < pbVar9) goto LAB_000b2c10;" if (parenthesized_expression "((byte *)0x78 < pbVar9)" ( (binary_expression "(byte *)0x78 < pbVar9" (cast_expression "(byte *)0x78" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < identifier) )) (goto_statement "goto LAB_000b2c10;" goto statement_identifier ;)) (while_statement "while( true ) {\n          if ((byte *)(uint)pbVar9[(int)puVar7] == unaff_s2) {\n            ppbVar22 = (byte **)(uint)pbVar9[(int)(unaff_s6 + 0x499c)];\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }\n          else {\nLAB_000b2c10:\n            ppbVar22 = (byte **)(uint)*(byte *)((int)ppbVar22 + (int)(puVar2 + 0x48c4));\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }\njoined_r0x000b33cc:\n          PTR_UINT_0015b5fc = (undefined *)ppbVar10;\n          if (ppbVar22 < (byte **)0x53) {\n            if (ppbVar22 < (byte **)0x50) {\n              *(byte ***)pbVar4 = unaff_s7 + 3;\n              if (*(byte ***)(pbVar4 + 0x4b8) < unaff_s7 + 3) {\n                *(byte ***)pbVar4 = unaff_s7;\n                FUN_000b2444(pbVar4);\n              }\n              else {\n                if ((byte **)0x22 < ppbVar22) {\n                  ppbVar22 = (byte **)((uint)((int)ppbVar22 + 0x1f) & 0xff);\n                }\n                *(byte *)(unaff_s7 + 3) = (byte)ppbVar22;\n                *(byte *)((int)unaff_s7 + 0xd) = (byte)unaff_s2;\n                unaff_s7[4] = unaff_s4;\n                unaff_s7[5] = pbVar24;\n              }\n            }\n            else if (ppbVar22 == (byte **)0x51) {\n              *(byte ***)pbVar4 = unaff_s7 + -3;\n              ppbVar17 = ppbVar10;\n            }\n            else {\n              ppbVar22 = *(byte ***)(pbVar4 + 4);\n              pbVar21 = unaff_s4;\n              local_cc = unaff_s4;\n              local_c8 = pbVar24;\n              (*pcVar13)(ppbVar22,ppbVar10 + -0x1c2b);\n              ppbVar17 = &local_cc;\n              *(byte ***)(pbVar4 + 4) = ppbVar22;\n              FUN_000b23c0(unaff_s2);\n              pbVar20 = pbVar24;\n            }\n            goto LAB_000b2d18;\n          }\n          ppbVar23 = (byte **)((int)ppbVar22 + -0x53);\n          unaff_s5 = (byte *)(int)(char)*(byte *)((int)ppbVar23 + (int)(unaff_s6 + 0x488c));\n          if ((unaff_s5 != (byte *)0x0) || (unaff_s7 < *(byte ***)(pbVar4 + 0x4b8))) break;\n          FUN_000b2444(pbVar4);\n          unaff_s7 = *(byte ***)pbVar4;\n          ppbVar22 = ppbVar23;\n          if (unaff_s7 <= unaff_s1) goto LAB_000b2d18;\n          pbVar9 = unaff_s2 + 0x2c;\n          ppbVar22 = (byte **)0x0;\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          if ((byte *)(uint)pbVar9[(int)puVar7] == unaff_s2) {\n            ppbVar22 = (byte **)(uint)pbVar9[(int)(unaff_s6 + 0x499c)];\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }\n          else {\nLAB_000b2c10:\n            ppbVar22 = (byte **)(uint)*(byte *)((int)ppbVar22 + (int)(puVar2 + 0x48c4));\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }\njoined_r0x000b33cc:\n          PTR_UINT_0015b5fc = (undefined *)ppbVar10;\n          if (ppbVar22 < (byte **)0x53) {\n            if (ppbVar22 < (byte **)0x50) {\n              *(byte ***)pbVar4 = unaff_s7 + 3;\n              if (*(byte ***)(pbVar4 + 0x4b8) < unaff_s7 + 3) {\n                *(byte ***)pbVar4 = unaff_s7;\n                FUN_000b2444(pbVar4);\n              }\n              else {\n                if ((byte **)0x22 < ppbVar22) {\n                  ppbVar22 = (byte **)((uint)((int)ppbVar22 + 0x1f) & 0xff);\n                }\n                *(byte *)(unaff_s7 + 3) = (byte)ppbVar22;\n                *(byte *)((int)unaff_s7 + 0xd) = (byte)unaff_s2;\n                unaff_s7[4] = unaff_s4;\n                unaff_s7[5] = pbVar24;\n              }\n            }\n            else if (ppbVar22 == (byte **)0x51) {\n              *(byte ***)pbVar4 = unaff_s7 + -3;\n              ppbVar17 = ppbVar10;\n            }\n            else {\n              ppbVar22 = *(byte ***)(pbVar4 + 4);\n              pbVar21 = unaff_s4;\n              local_cc = unaff_s4;\n              local_c8 = pbVar24;\n              (*pcVar13)(ppbVar22,ppbVar10 + -0x1c2b);\n              ppbVar17 = &local_cc;\n              *(byte ***)(pbVar4 + 4) = ppbVar22;\n              FUN_000b23c0(unaff_s2);\n              pbVar20 = pbVar24;\n            }\n            goto LAB_000b2d18;\n          }\n          ppbVar23 = (byte **)((int)ppbVar22 + -0x53);\n          unaff_s5 = (byte *)(int)(char)*(byte *)((int)ppbVar23 + (int)(unaff_s6 + 0x488c));\n          if ((unaff_s5 != (byte *)0x0) || (unaff_s7 < *(byte ***)(pbVar4 + 0x4b8))) break;\n          FUN_000b2444(pbVar4);\n          unaff_s7 = *(byte ***)pbVar4;\n          ppbVar22 = ppbVar23;\n          if (unaff_s7 <= unaff_s1) goto LAB_000b2d18;\n          pbVar9 = unaff_s2 + 0x2c;\n          ppbVar22 = (byte **)0x0;\n        }" { (if_statement "if ((byte *)(uint)pbVar9[(int)puVar7] == unaff_s2) {\n            ppbVar22 = (byte **)(uint)pbVar9[(int)(unaff_s6 + 0x499c)];\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }\n          else {\nLAB_000b2c10:\n            ppbVar22 = (byte **)(uint)*(byte *)((int)ppbVar22 + (int)(puVar2 + 0x48c4));\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }" if (parenthesized_expression "((byte *)(uint)pbVar9[(int)puVar7] == unaff_s2)" ( (binary_expression "(byte *)(uint)pbVar9[(int)puVar7] == unaff_s2" (cast_expression "(byte *)(uint)pbVar9[(int)puVar7]" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(uint)pbVar9[(int)puVar7]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar9[(int)puVar7]" identifier [ (cast_expression "(int)puVar7" ( (type_descriptor "int" primitive_type) ) identifier) ]))) == identifier) )) (compound_statement "{\n            ppbVar22 = (byte **)(uint)pbVar9[(int)(unaff_s6 + 0x499c)];\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }" { (expression_statement "ppbVar22 = (byte **)(uint)pbVar9[(int)(unaff_s6 + 0x499c)];" (assignment_expression "ppbVar22 = (byte **)(uint)pbVar9[(int)(unaff_s6 + 0x499c)]" identifier = (cast_expression "(byte **)(uint)pbVar9[(int)(unaff_s6 + 0x499c)]" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (cast_expression "(uint)pbVar9[(int)(unaff_s6 + 0x499c)]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar9[(int)(unaff_s6 + 0x499c)]" identifier [ (cast_expression "(int)(unaff_s6 + 0x499c)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(unaff_s6 + 0x499c)" ( (binary_expression "unaff_s6 + 0x499c" identifier + number_literal) ))) ])))) ;) (expression_statement "ppbVar10 = (byte **)PTR_UINT_0015b5fc;" (assignment_expression "ppbVar10 = (byte **)PTR_UINT_0015b5fc" identifier = (cast_expression "(byte **)PTR_UINT_0015b5fc" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) }) (else_clause "else {\nLAB_000b2c10:\n            ppbVar22 = (byte **)(uint)*(byte *)((int)ppbVar22 + (int)(puVar2 + 0x48c4));\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }" else (compound_statement "{\nLAB_000b2c10:\n            ppbVar22 = (byte **)(uint)*(byte *)((int)ppbVar22 + (int)(puVar2 + 0x48c4));\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }" { (labeled_statement "LAB_000b2c10:\n            ppbVar22 = (byte **)(uint)*(byte *)((int)ppbVar22 + (int)(puVar2 + 0x48c4));" statement_identifier : (expression_statement "ppbVar22 = (byte **)(uint)*(byte *)((int)ppbVar22 + (int)(puVar2 + 0x48c4));" (assignment_expression "ppbVar22 = (byte **)(uint)*(byte *)((int)ppbVar22 + (int)(puVar2 + 0x48c4))" identifier = (binary_expression "(byte **)(uint)*(byte *)((int)ppbVar22 + (int)(puVar2 + 0x48c4))" (cast_expression "(byte **)(uint)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(byte *)((int)ppbVar22 + (int)(puVar2 + 0x48c4))" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppbVar22 + (int)(puVar2 + 0x48c4))" ( (binary_expression "(int)ppbVar22 + (int)(puVar2 + 0x48c4)" (cast_expression "(int)ppbVar22" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)(puVar2 + 0x48c4)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar2 + 0x48c4)" ( (binary_expression "puVar2 + 0x48c4" identifier + number_literal) )))) ))))) ;)) (expression_statement "ppbVar10 = (byte **)PTR_UINT_0015b5fc;" (assignment_expression "ppbVar10 = (byte **)PTR_UINT_0015b5fc" identifier = (cast_expression "(byte **)PTR_UINT_0015b5fc" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) }))) (labeled_statement "joined_r0x000b33cc:\n          PTR_UINT_0015b5fc = (undefined *)ppbVar10;" statement_identifier : (expression_statement "PTR_UINT_0015b5fc = (undefined *)ppbVar10;" (assignment_expression "PTR_UINT_0015b5fc = (undefined *)ppbVar10" identifier = (cast_expression "(undefined *)ppbVar10" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (if_statement "if (ppbVar22 < (byte **)0x53) {\n            if (ppbVar22 < (byte **)0x50) {\n              *(byte ***)pbVar4 = unaff_s7 + 3;\n              if (*(byte ***)(pbVar4 + 0x4b8) < unaff_s7 + 3) {\n                *(byte ***)pbVar4 = unaff_s7;\n                FUN_000b2444(pbVar4);\n              }\n              else {\n                if ((byte **)0x22 < ppbVar22) {\n                  ppbVar22 = (byte **)((uint)((int)ppbVar22 + 0x1f) & 0xff);\n                }\n                *(byte *)(unaff_s7 + 3) = (byte)ppbVar22;\n                *(byte *)((int)unaff_s7 + 0xd) = (byte)unaff_s2;\n                unaff_s7[4] = unaff_s4;\n                unaff_s7[5] = pbVar24;\n              }\n            }\n            else if (ppbVar22 == (byte **)0x51) {\n              *(byte ***)pbVar4 = unaff_s7 + -3;\n              ppbVar17 = ppbVar10;\n            }\n            else {\n              ppbVar22 = *(byte ***)(pbVar4 + 4);\n              pbVar21 = unaff_s4;\n              local_cc = unaff_s4;\n              local_c8 = pbVar24;\n              (*pcVar13)(ppbVar22,ppbVar10 + -0x1c2b);\n              ppbVar17 = &local_cc;\n              *(byte ***)(pbVar4 + 4) = ppbVar22;\n              FUN_000b23c0(unaff_s2);\n              pbVar20 = pbVar24;\n            }\n            goto LAB_000b2d18;\n          }" if (parenthesized_expression "(ppbVar22 < (byte **)0x53)" ( (binary_expression "ppbVar22 < (byte **)0x53" identifier < (cast_expression "(byte **)0x53" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n            if (ppbVar22 < (byte **)0x50) {\n              *(byte ***)pbVar4 = unaff_s7 + 3;\n              if (*(byte ***)(pbVar4 + 0x4b8) < unaff_s7 + 3) {\n                *(byte ***)pbVar4 = unaff_s7;\n                FUN_000b2444(pbVar4);\n              }\n              else {\n                if ((byte **)0x22 < ppbVar22) {\n                  ppbVar22 = (byte **)((uint)((int)ppbVar22 + 0x1f) & 0xff);\n                }\n                *(byte *)(unaff_s7 + 3) = (byte)ppbVar22;\n                *(byte *)((int)unaff_s7 + 0xd) = (byte)unaff_s2;\n                unaff_s7[4] = unaff_s4;\n                unaff_s7[5] = pbVar24;\n              }\n            }\n            else if (ppbVar22 == (byte **)0x51) {\n              *(byte ***)pbVar4 = unaff_s7 + -3;\n              ppbVar17 = ppbVar10;\n            }\n            else {\n              ppbVar22 = *(byte ***)(pbVar4 + 4);\n              pbVar21 = unaff_s4;\n              local_cc = unaff_s4;\n              local_c8 = pbVar24;\n              (*pcVar13)(ppbVar22,ppbVar10 + -0x1c2b);\n              ppbVar17 = &local_cc;\n              *(byte ***)(pbVar4 + 4) = ppbVar22;\n              FUN_000b23c0(unaff_s2);\n              pbVar20 = pbVar24;\n            }\n            goto LAB_000b2d18;\n          }" { (if_statement "if (ppbVar22 < (byte **)0x50) {\n              *(byte ***)pbVar4 = unaff_s7 + 3;\n              if (*(byte ***)(pbVar4 + 0x4b8) < unaff_s7 + 3) {\n                *(byte ***)pbVar4 = unaff_s7;\n                FUN_000b2444(pbVar4);\n              }\n              else {\n                if ((byte **)0x22 < ppbVar22) {\n                  ppbVar22 = (byte **)((uint)((int)ppbVar22 + 0x1f) & 0xff);\n                }\n                *(byte *)(unaff_s7 + 3) = (byte)ppbVar22;\n                *(byte *)((int)unaff_s7 + 0xd) = (byte)unaff_s2;\n                unaff_s7[4] = unaff_s4;\n                unaff_s7[5] = pbVar24;\n              }\n            }\n            else if (ppbVar22 == (byte **)0x51) {\n              *(byte ***)pbVar4 = unaff_s7 + -3;\n              ppbVar17 = ppbVar10;\n            }\n            else {\n              ppbVar22 = *(byte ***)(pbVar4 + 4);\n              pbVar21 = unaff_s4;\n              local_cc = unaff_s4;\n              local_c8 = pbVar24;\n              (*pcVar13)(ppbVar22,ppbVar10 + -0x1c2b);\n              ppbVar17 = &local_cc;\n              *(byte ***)(pbVar4 + 4) = ppbVar22;\n              FUN_000b23c0(unaff_s2);\n              pbVar20 = pbVar24;\n            }" if (parenthesized_expression "(ppbVar22 < (byte **)0x50)" ( (binary_expression "ppbVar22 < (byte **)0x50" identifier < (cast_expression "(byte **)0x50" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n              *(byte ***)pbVar4 = unaff_s7 + 3;\n              if (*(byte ***)(pbVar4 + 0x4b8) < unaff_s7 + 3) {\n                *(byte ***)pbVar4 = unaff_s7;\n                FUN_000b2444(pbVar4);\n              }\n              else {\n                if ((byte **)0x22 < ppbVar22) {\n                  ppbVar22 = (byte **)((uint)((int)ppbVar22 + 0x1f) & 0xff);\n                }\n                *(byte *)(unaff_s7 + 3) = (byte)ppbVar22;\n                *(byte *)((int)unaff_s7 + 0xd) = (byte)unaff_s2;\n                unaff_s7[4] = unaff_s4;\n                unaff_s7[5] = pbVar24;\n              }\n            }" { (expression_statement "*(byte ***)pbVar4 = unaff_s7 + 3;" (assignment_expression "*(byte ***)pbVar4 = unaff_s7 + 3" (pointer_expression "*(byte ***)pbVar4" * (cast_expression "(byte ***)pbVar4" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) = (binary_expression "unaff_s7 + 3" identifier + number_literal)) ;) (if_statement "if (*(byte ***)(pbVar4 + 0x4b8) < unaff_s7 + 3) {\n                *(byte ***)pbVar4 = unaff_s7;\n                FUN_000b2444(pbVar4);\n              }\n              else {\n                if ((byte **)0x22 < ppbVar22) {\n                  ppbVar22 = (byte **)((uint)((int)ppbVar22 + 0x1f) & 0xff);\n                }\n                *(byte *)(unaff_s7 + 3) = (byte)ppbVar22;\n                *(byte *)((int)unaff_s7 + 0xd) = (byte)unaff_s2;\n                unaff_s7[4] = unaff_s4;\n                unaff_s7[5] = pbVar24;\n              }" if (parenthesized_expression "(*(byte ***)(pbVar4 + 0x4b8) < unaff_s7 + 3)" ( (binary_expression "*(byte ***)(pbVar4 + 0x4b8) < unaff_s7 + 3" (pointer_expression "*(byte ***)(pbVar4 + 0x4b8)" * (cast_expression "(byte ***)(pbVar4 + 0x4b8)" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(pbVar4 + 0x4b8)" ( (binary_expression "pbVar4 + 0x4b8" identifier + number_literal) )))) < (binary_expression "unaff_s7 + 3" identifier + number_literal)) )) (compound_statement "{\n                *(byte ***)pbVar4 = unaff_s7;\n                FUN_000b2444(pbVar4);\n              }" { (expression_statement "*(byte ***)pbVar4 = unaff_s7;" (assignment_expression "*(byte ***)pbVar4 = unaff_s7" (pointer_expression "*(byte ***)pbVar4" * (cast_expression "(byte ***)pbVar4" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) = identifier) ;) (expression_statement "FUN_000b2444(pbVar4);" (call_expression "FUN_000b2444(pbVar4)" identifier (argument_list "(pbVar4)" ( identifier ))) ;) }) (else_clause "else {\n                if ((byte **)0x22 < ppbVar22) {\n                  ppbVar22 = (byte **)((uint)((int)ppbVar22 + 0x1f) & 0xff);\n                }\n                *(byte *)(unaff_s7 + 3) = (byte)ppbVar22;\n                *(byte *)((int)unaff_s7 + 0xd) = (byte)unaff_s2;\n                unaff_s7[4] = unaff_s4;\n                unaff_s7[5] = pbVar24;\n              }" else (compound_statement "{\n                if ((byte **)0x22 < ppbVar22) {\n                  ppbVar22 = (byte **)((uint)((int)ppbVar22 + 0x1f) & 0xff);\n                }\n                *(byte *)(unaff_s7 + 3) = (byte)ppbVar22;\n                *(byte *)((int)unaff_s7 + 0xd) = (byte)unaff_s2;\n                unaff_s7[4] = unaff_s4;\n                unaff_s7[5] = pbVar24;\n              }" { (if_statement "if ((byte **)0x22 < ppbVar22) {\n                  ppbVar22 = (byte **)((uint)((int)ppbVar22 + 0x1f) & 0xff);\n                }" if (parenthesized_expression "((byte **)0x22 < ppbVar22)" ( (binary_expression "(byte **)0x22 < ppbVar22" (cast_expression "(byte **)0x22" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) < identifier) )) (compound_statement "{\n                  ppbVar22 = (byte **)((uint)((int)ppbVar22 + 0x1f) & 0xff);\n                }" { (expression_statement "ppbVar22 = (byte **)((uint)((int)ppbVar22 + 0x1f) & 0xff);" (assignment_expression "ppbVar22 = (byte **)((uint)((int)ppbVar22 + 0x1f) & 0xff)" identifier = (cast_expression "(byte **)((uint)((int)ppbVar22 + 0x1f) & 0xff)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((uint)((int)ppbVar22 + 0x1f) & 0xff)" ( (binary_expression "(uint)((int)ppbVar22 + 0x1f) & 0xff" (call_expression "(uint)((int)ppbVar22 + 0x1f)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)ppbVar22 + 0x1f)" ( (binary_expression "(int)ppbVar22 + 0x1f" (cast_expression "(int)ppbVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) & number_literal) )))) ;) })) (expression_statement "*(byte *)(unaff_s7 + 3) = (byte)ppbVar22;" (assignment_expression "*(byte *)(unaff_s7 + 3) = (byte)ppbVar22" (pointer_expression "*(byte *)(unaff_s7 + 3)" * (cast_expression "(byte *)(unaff_s7 + 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s7 + 3)" ( (binary_expression "unaff_s7 + 3" identifier + number_literal) )))) = (cast_expression "(byte)ppbVar22" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "*(byte *)((int)unaff_s7 + 0xd) = (byte)unaff_s2;" (assignment_expression "*(byte *)((int)unaff_s7 + 0xd) = (byte)unaff_s2" (pointer_expression "*(byte *)((int)unaff_s7 + 0xd)" * (cast_expression "(byte *)((int)unaff_s7 + 0xd)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)unaff_s7 + 0xd)" ( (binary_expression "(int)unaff_s7 + 0xd" (cast_expression "(int)unaff_s7" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (cast_expression "(byte)unaff_s2" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "unaff_s7[4] = unaff_s4;" (assignment_expression "unaff_s7[4] = unaff_s4" (subscript_expression "unaff_s7[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "unaff_s7[5] = pbVar24;" (assignment_expression "unaff_s7[5] = pbVar24" (subscript_expression "unaff_s7[5]" identifier [ number_literal ]) = identifier) ;) }))) }) (else_clause "else if (ppbVar22 == (byte **)0x51) {\n              *(byte ***)pbVar4 = unaff_s7 + -3;\n              ppbVar17 = ppbVar10;\n            }\n            else {\n              ppbVar22 = *(byte ***)(pbVar4 + 4);\n              pbVar21 = unaff_s4;\n              local_cc = unaff_s4;\n              local_c8 = pbVar24;\n              (*pcVar13)(ppbVar22,ppbVar10 + -0x1c2b);\n              ppbVar17 = &local_cc;\n              *(byte ***)(pbVar4 + 4) = ppbVar22;\n              FUN_000b23c0(unaff_s2);\n              pbVar20 = pbVar24;\n            }" else (if_statement "if (ppbVar22 == (byte **)0x51) {\n              *(byte ***)pbVar4 = unaff_s7 + -3;\n              ppbVar17 = ppbVar10;\n            }\n            else {\n              ppbVar22 = *(byte ***)(pbVar4 + 4);\n              pbVar21 = unaff_s4;\n              local_cc = unaff_s4;\n              local_c8 = pbVar24;\n              (*pcVar13)(ppbVar22,ppbVar10 + -0x1c2b);\n              ppbVar17 = &local_cc;\n              *(byte ***)(pbVar4 + 4) = ppbVar22;\n              FUN_000b23c0(unaff_s2);\n              pbVar20 = pbVar24;\n            }" if (parenthesized_expression "(ppbVar22 == (byte **)0x51)" ( (binary_expression "ppbVar22 == (byte **)0x51" identifier == (cast_expression "(byte **)0x51" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n              *(byte ***)pbVar4 = unaff_s7 + -3;\n              ppbVar17 = ppbVar10;\n            }" { (expression_statement "*(byte ***)pbVar4 = unaff_s7 + -3;" (assignment_expression "*(byte ***)pbVar4 = unaff_s7 + -3" (pointer_expression "*(byte ***)pbVar4" * (cast_expression "(byte ***)pbVar4" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) = (binary_expression "unaff_s7 + -3" identifier + number_literal)) ;) (expression_statement "ppbVar17 = ppbVar10;" (assignment_expression "ppbVar17 = ppbVar10" identifier = identifier) ;) }) (else_clause "else {\n              ppbVar22 = *(byte ***)(pbVar4 + 4);\n              pbVar21 = unaff_s4;\n              local_cc = unaff_s4;\n              local_c8 = pbVar24;\n              (*pcVar13)(ppbVar22,ppbVar10 + -0x1c2b);\n              ppbVar17 = &local_cc;\n              *(byte ***)(pbVar4 + 4) = ppbVar22;\n              FUN_000b23c0(unaff_s2);\n              pbVar20 = pbVar24;\n            }" else (compound_statement "{\n              ppbVar22 = *(byte ***)(pbVar4 + 4);\n              pbVar21 = unaff_s4;\n              local_cc = unaff_s4;\n              local_c8 = pbVar24;\n              (*pcVar13)(ppbVar22,ppbVar10 + -0x1c2b);\n              ppbVar17 = &local_cc;\n              *(byte ***)(pbVar4 + 4) = ppbVar22;\n              FUN_000b23c0(unaff_s2);\n              pbVar20 = pbVar24;\n            }" { (expression_statement "ppbVar22 = *(byte ***)(pbVar4 + 4);" (assignment_expression "ppbVar22 = *(byte ***)(pbVar4 + 4)" identifier = (pointer_expression "*(byte ***)(pbVar4 + 4)" * (cast_expression "(byte ***)(pbVar4 + 4)" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(pbVar4 + 4)" ( (binary_expression "pbVar4 + 4" identifier + number_literal) ))))) ;) (expression_statement "pbVar21 = unaff_s4;" (assignment_expression "pbVar21 = unaff_s4" identifier = identifier) ;) (expression_statement "local_cc = unaff_s4;" (assignment_expression "local_cc = unaff_s4" identifier = identifier) ;) (expression_statement "local_c8 = pbVar24;" (assignment_expression "local_c8 = pbVar24" identifier = identifier) ;) (expression_statement "(*pcVar13)(ppbVar22,ppbVar10 + -0x1c2b);" (call_expression "(*pcVar13)(ppbVar22,ppbVar10 + -0x1c2b)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(ppbVar22,ppbVar10 + -0x1c2b)" ( identifier , (binary_expression "ppbVar10 + -0x1c2b" identifier + number_literal) ))) ;) (expression_statement "ppbVar17 = &local_cc;" (assignment_expression "ppbVar17 = &local_cc" identifier = (pointer_expression "&local_cc" & identifier)) ;) (expression_statement "*(byte ***)(pbVar4 + 4) = ppbVar22;" (assignment_expression "*(byte ***)(pbVar4 + 4) = ppbVar22" (pointer_expression "*(byte ***)(pbVar4 + 4)" * (cast_expression "(byte ***)(pbVar4 + 4)" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(pbVar4 + 4)" ( (binary_expression "pbVar4 + 4" identifier + number_literal) )))) = identifier) ;) (expression_statement "FUN_000b23c0(unaff_s2);" (call_expression "FUN_000b23c0(unaff_s2)" identifier (argument_list "(unaff_s2)" ( identifier ))) ;) (expression_statement "pbVar20 = pbVar24;" (assignment_expression "pbVar20 = pbVar24" identifier = identifier) ;) }))))) (goto_statement "goto LAB_000b2d18;" goto statement_identifier ;) })) (expression_statement "ppbVar23 = (byte **)((int)ppbVar22 + -0x53);" (assignment_expression "ppbVar23 = (byte **)((int)ppbVar22 + -0x53)" identifier = (cast_expression "(byte **)((int)ppbVar22 + -0x53)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppbVar22 + -0x53)" ( (binary_expression "(int)ppbVar22 + -0x53" (cast_expression "(int)ppbVar22" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "unaff_s5 = (byte *)(int)(char)*(byte *)((int)ppbVar23 + (int)(unaff_s6 + 0x488c));" (assignment_expression "unaff_s5 = (byte *)(int)(char)*(byte *)((int)ppbVar23 + (int)(unaff_s6 + 0x488c))" identifier = (cast_expression "(byte *)(int)(char)*(byte *)((int)ppbVar23 + (int)(unaff_s6 + 0x488c))" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (cast_expression "(int)(char)*(byte *)((int)ppbVar23 + (int)(unaff_s6 + 0x488c))" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)*(byte *)((int)ppbVar23 + (int)(unaff_s6 + 0x488c))" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(byte *)((int)ppbVar23 + (int)(unaff_s6 + 0x488c))" * (cast_expression "(byte *)((int)ppbVar23 + (int)(unaff_s6 + 0x488c))" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppbVar23 + (int)(unaff_s6 + 0x488c))" ( (binary_expression "(int)ppbVar23 + (int)(unaff_s6 + 0x488c)" (cast_expression "(int)ppbVar23" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)(unaff_s6 + 0x488c)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(unaff_s6 + 0x488c)" ( (binary_expression "unaff_s6 + 0x488c" identifier + number_literal) )))) )))))))) ;) (if_statement "if ((unaff_s5 != (byte *)0x0) || (unaff_s7 < *(byte ***)(pbVar4 + 0x4b8))) break;" if (parenthesized_expression "((unaff_s5 != (byte *)0x0) || (unaff_s7 < *(byte ***)(pbVar4 + 0x4b8)))" ( (binary_expression "(unaff_s5 != (byte *)0x0) || (unaff_s7 < *(byte ***)(pbVar4 + 0x4b8))" (parenthesized_expression "(unaff_s5 != (byte *)0x0)" ( (binary_expression "unaff_s5 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(unaff_s7 < *(byte ***)(pbVar4 + 0x4b8))" ( (binary_expression "unaff_s7 < *(byte ***)(pbVar4 + 0x4b8)" identifier < (pointer_expression "*(byte ***)(pbVar4 + 0x4b8)" * (cast_expression "(byte ***)(pbVar4 + 0x4b8)" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(pbVar4 + 0x4b8)" ( (binary_expression "pbVar4 + 0x4b8" identifier + number_literal) ))))) ))) )) (break_statement "break;" break ;)) (expression_statement "FUN_000b2444(pbVar4);" (call_expression "FUN_000b2444(pbVar4)" identifier (argument_list "(pbVar4)" ( identifier ))) ;) (expression_statement "unaff_s7 = *(byte ***)pbVar4;" (assignment_expression "unaff_s7 = *(byte ***)pbVar4" identifier = (pointer_expression "*(byte ***)pbVar4" * (cast_expression "(byte ***)pbVar4" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier))) ;) (expression_statement "ppbVar22 = ppbVar23;" (assignment_expression "ppbVar22 = ppbVar23" identifier = identifier) ;) (if_statement "if (unaff_s7 <= unaff_s1) goto LAB_000b2d18;" if (parenthesized_expression "(unaff_s7 <= unaff_s1)" ( (binary_expression "unaff_s7 <= unaff_s1" identifier <= identifier) )) (goto_statement "goto LAB_000b2d18;" goto statement_identifier ;)) (expression_statement "pbVar9 = unaff_s2 + 0x2c;" (assignment_expression "pbVar9 = unaff_s2 + 0x2c" identifier = (binary_expression "unaff_s2 + 0x2c" identifier + number_literal)) ;) (expression_statement "ppbVar22 = (byte **)0x0;" (assignment_expression "ppbVar22 = (byte **)0x0" identifier = (cast_expression "(byte **)0x0" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) })) (if_statement "if (ppbVar23 < (byte **)0x1c) {\n                    \n                    \n          iVar5 = (*(code *)(&_gp_1 + (int)ppbVar10[(int)(ppbVar22 + 0xcb)]))();\n          return iVar5;\n        }" if (parenthesized_expression "(ppbVar23 < (byte **)0x1c)" ( (binary_expression "ppbVar23 < (byte **)0x1c" identifier < (cast_expression "(byte **)0x1c" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n                    \n                    \n          iVar5 = (*(code *)(&_gp_1 + (int)ppbVar10[(int)(ppbVar22 + 0xcb)]))();\n          return iVar5;\n        }" { (expression_statement "iVar5 = (*(code *)(&_gp_1 + (int)ppbVar10[(int)(ppbVar22 + 0xcb)]))();" (assignment_expression "iVar5 = (*(code *)(&_gp_1 + (int)ppbVar10[(int)(ppbVar22 + 0xcb)]))()" identifier = (call_expression "(*(code *)(&_gp_1 + (int)ppbVar10[(int)(ppbVar22 + 0xcb)]))()" (parenthesized_expression "(*(code *)(&_gp_1 + (int)ppbVar10[(int)(ppbVar22 + 0xcb)]))" ( (pointer_expression "*(code *)(&_gp_1 + (int)ppbVar10[(int)(ppbVar22 + 0xcb)])" * (cast_expression "(code *)(&_gp_1 + (int)ppbVar10[(int)(ppbVar22 + 0xcb)])" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&_gp_1 + (int)ppbVar10[(int)(ppbVar22 + 0xcb)])" ( (binary_expression "&_gp_1 + (int)ppbVar10[(int)(ppbVar22 + 0xcb)]" (pointer_expression "&_gp_1" & identifier) + (cast_expression "(int)ppbVar10[(int)(ppbVar22 + 0xcb)]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "ppbVar10[(int)(ppbVar22 + 0xcb)]" identifier [ (cast_expression "(int)(ppbVar22 + 0xcb)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(ppbVar22 + 0xcb)" ( (binary_expression "ppbVar22 + 0xcb" identifier + number_literal) ))) ]))) )))) )) (argument_list "()" ( )))) ;) (return_statement "return iVar5;" return identifier ;) })) (expression_statement "pbVar20 = unaff_s6 + 0x499c;" (assignment_expression "pbVar20 = unaff_s6 + 0x499c" identifier = (binary_expression "unaff_s6 + 0x499c" identifier + number_literal)) ;) (expression_statement "bVar12 = *(byte *)(unaff_s7 + (int)unaff_s5 * 3);" (assignment_expression "bVar12 = *(byte *)(unaff_s7 + (int)unaff_s5 * 3)" identifier = (pointer_expression "*(byte *)(unaff_s7 + (int)unaff_s5 * 3)" * (cast_expression "(byte *)(unaff_s7 + (int)unaff_s5 * 3)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_s7 + (int)unaff_s5 * 3)" ( (binary_expression "unaff_s7 + (int)unaff_s5 * 3" identifier + (binary_expression "(int)unaff_s5 * 3" (cast_expression "(int)unaff_s5" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ))))) ;) (expression_statement "ppbVar17 = unaff_s7 + (int)unaff_s5 * 3 + 3;" (assignment_expression "ppbVar17 = unaff_s7 + (int)unaff_s5 * 3 + 3" identifier = (binary_expression "unaff_s7 + (int)unaff_s5 * 3 + 3" (binary_expression "unaff_s7 + (int)unaff_s5 * 3" identifier + (binary_expression "(int)unaff_s5 * 3" (cast_expression "(int)unaff_s5" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "bVar1 = *(byte *)((int)(ppbVar10 + 0x122a) + (int)ppbVar23);" (assignment_expression "bVar1 = *(byte *)((int)(ppbVar10 + 0x122a) + (int)ppbVar23)" identifier = (pointer_expression "*(byte *)((int)(ppbVar10 + 0x122a) + (int)ppbVar23)" * (cast_expression "(byte *)((int)(ppbVar10 + 0x122a) + (int)ppbVar23)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)(ppbVar10 + 0x122a) + (int)ppbVar23)" ( (binary_expression "(int)(ppbVar10 + 0x122a) + (int)ppbVar23" (cast_expression "(int)(ppbVar10 + 0x122a)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(ppbVar10 + 0x122a)" ( (binary_expression "ppbVar10 + 0x122a" identifier + number_literal) ))) + (cast_expression "(int)ppbVar23" ( (type_descriptor "int" primitive_type) ) identifier)) ))))) ;) (expression_statement "*(byte ***)pbVar4 = ppbVar17;" (assignment_expression "*(byte ***)pbVar4 = ppbVar17" (pointer_expression "*(byte ***)pbVar4" * (cast_expression "(byte ***)pbVar4" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) = identifier) ;) (expression_statement "*(byte *)((int)ppbVar17 + 1) = bVar1;" (assignment_expression "*(byte *)((int)ppbVar17 + 1) = bVar1" (pointer_expression "*(byte *)((int)ppbVar17 + 1)" * (cast_expression "(byte *)((int)ppbVar17 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppbVar17 + 1)" ( (binary_expression "(int)ppbVar17 + 1" (cast_expression "(int)ppbVar17" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "ppbVar22 = (byte **)(uint)pbVar20[(uint)bVar1 +\n                                          (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)];" (assignment_expression "ppbVar22 = (byte **)(uint)pbVar20[(uint)bVar1 +\n                                          (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)]" identifier = (cast_expression "(byte **)(uint)pbVar20[(uint)bVar1 +\n                                          (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)]" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (cast_expression "(uint)pbVar20[(uint)bVar1 +\n                                          (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "pbVar20[(uint)bVar1 +\n                                          (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)]" identifier [ (binary_expression "(uint)bVar1 +\n                                          (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)" (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier) + (cast_expression "(int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)" * (cast_expression "(byte *)((int)ppbVar10 + bVar12 + 0x48e8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppbVar10 + bVar12 + 0x48e8)" ( (binary_expression "(int)ppbVar10 + bVar12 + 0x48e8" (binary_expression "(int)ppbVar10 + bVar12" (cast_expression "(int)ppbVar10" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) ))))))) ])))) ;) (expression_statement "*(byte *)ppbVar17 =\n             pbVar20[(uint)bVar1 + (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)];" (assignment_expression "*(byte *)ppbVar17 =\n             pbVar20[(uint)bVar1 + (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)]" (pointer_expression "*(byte *)ppbVar17" * (cast_expression "(byte *)ppbVar17" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (subscript_expression "pbVar20[(uint)bVar1 + (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)]" identifier [ (binary_expression "(uint)bVar1 + (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)" (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier) + (cast_expression "(int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)" * (cast_expression "(byte *)((int)ppbVar10 + bVar12 + 0x48e8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppbVar10 + bVar12 + 0x48e8)" ( (binary_expression "(int)ppbVar10 + bVar12 + 0x48e8" (binary_expression "(int)ppbVar10 + bVar12" (cast_expression "(int)ppbVar10" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) ))))))) ])) ;) (expression_statement "unaff_s7 = *(byte ***)pbVar4;" (assignment_expression "unaff_s7 = *(byte ***)pbVar4" identifier = (pointer_expression "*(byte ***)pbVar4" * (cast_expression "(byte ***)pbVar4" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier))) ;) (expression_statement "ppbVar17 = ppbVar10;" (assignment_expression "ppbVar17 = ppbVar10" identifier = identifier) ;) }) while (parenthesized_expression "(unaff_s1 < unaff_s7)" ( (binary_expression "unaff_s1 < unaff_s7" identifier < identifier) )) ;) (labeled_statement "LAB_000b2d18:\n      if ((local_bc != 0) || (param_3 = local_110, unaff_s2 == (byte *)0x0)) goto LAB_000b2d2c;" statement_identifier : (if_statement "if ((local_bc != 0) || (param_3 = local_110, unaff_s2 == (byte *)0x0)) goto LAB_000b2d2c;" if (parenthesized_expression "((local_bc != 0) || (param_3 = local_110, unaff_s2 == (byte *)0x0))" ( (binary_expression "(local_bc != 0) || (param_3 = local_110, unaff_s2 == (byte *)0x0)" (parenthesized_expression "(local_bc != 0)" ( (binary_expression "local_bc != 0" identifier != number_literal) )) || (parenthesized_expression "(param_3 = local_110, unaff_s2 == (byte *)0x0)" ( (comma_expression "param_3 = local_110, unaff_s2 == (byte *)0x0" (assignment_expression "param_3 = local_110" identifier = identifier) , (binary_expression "unaff_s2 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (goto_statement "goto LAB_000b2d2c;" goto statement_identifier ;))) }) while (parenthesized_expression "( true )" ( true )) ;)) })) (expression_statement "iVar5 = 7;" (assignment_expression "iVar5 = 7" identifier = number_literal) ;) (goto_statement "goto LAB_000b3294;" goto statement_identifier ;) (labeled_statement "LAB_000b2d2c:\n  ppbVar10 = *(byte ***)pbVar4;" statement_identifier : (expression_statement "ppbVar10 = *(byte ***)pbVar4;" (assignment_expression "ppbVar10 = *(byte ***)pbVar4" identifier = (pointer_expression "*(byte ***)pbVar4" * (cast_expression "(byte ***)pbVar4" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier))) ;)) (if_statement "if (unaff_s1 < ppbVar10) {\n    ppbVar22 = (byte **)(PTR_LAB_0015b6f8 + 0x23c0);\n    do {\n      ppbVar17 = ppbVar10 + 1;\n      *(byte ***)pbVar4 = ppbVar10 + -3;\n      FUN_000b23c0(*(byte *)((int)ppbVar10 + 1));\n      ppbVar10 = *(byte ***)pbVar4;\n    } while (unaff_s1 < ppbVar10);\n  }" if (parenthesized_expression "(unaff_s1 < ppbVar10)" ( (binary_expression "unaff_s1 < ppbVar10" identifier < identifier) )) (compound_statement "{\n    ppbVar22 = (byte **)(PTR_LAB_0015b6f8 + 0x23c0);\n    do {\n      ppbVar17 = ppbVar10 + 1;\n      *(byte ***)pbVar4 = ppbVar10 + -3;\n      FUN_000b23c0(*(byte *)((int)ppbVar10 + 1));\n      ppbVar10 = *(byte ***)pbVar4;\n    } while (unaff_s1 < ppbVar10);\n  }" { (expression_statement "ppbVar22 = (byte **)(PTR_LAB_0015b6f8 + 0x23c0);" (assignment_expression "ppbVar22 = (byte **)(PTR_LAB_0015b6f8 + 0x23c0)" identifier = (cast_expression "(byte **)(PTR_LAB_0015b6f8 + 0x23c0)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(PTR_LAB_0015b6f8 + 0x23c0)" ( (binary_expression "PTR_LAB_0015b6f8 + 0x23c0" identifier + number_literal) )))) ;) (do_statement "do {\n      ppbVar17 = ppbVar10 + 1;\n      *(byte ***)pbVar4 = ppbVar10 + -3;\n      FUN_000b23c0(*(byte *)((int)ppbVar10 + 1));\n      ppbVar10 = *(byte ***)pbVar4;\n    } while (unaff_s1 < ppbVar10);" do (compound_statement "{\n      ppbVar17 = ppbVar10 + 1;\n      *(byte ***)pbVar4 = ppbVar10 + -3;\n      FUN_000b23c0(*(byte *)((int)ppbVar10 + 1));\n      ppbVar10 = *(byte ***)pbVar4;\n    }" { (expression_statement "ppbVar17 = ppbVar10 + 1;" (assignment_expression "ppbVar17 = ppbVar10 + 1" identifier = (binary_expression "ppbVar10 + 1" identifier + number_literal)) ;) (expression_statement "*(byte ***)pbVar4 = ppbVar10 + -3;" (assignment_expression "*(byte ***)pbVar4 = ppbVar10 + -3" (pointer_expression "*(byte ***)pbVar4" * (cast_expression "(byte ***)pbVar4" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) = (binary_expression "ppbVar10 + -3" identifier + number_literal)) ;) (expression_statement "FUN_000b23c0(*(byte *)((int)ppbVar10 + 1));" (call_expression "FUN_000b23c0(*(byte *)((int)ppbVar10 + 1))" identifier (argument_list "(*(byte *)((int)ppbVar10 + 1))" ( (pointer_expression "*(byte *)((int)ppbVar10 + 1)" * (cast_expression "(byte *)((int)ppbVar10 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppbVar10 + 1)" ( (binary_expression "(int)ppbVar10 + 1" (cast_expression "(int)ppbVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))) ;) (expression_statement "ppbVar10 = *(byte ***)pbVar4;" (assignment_expression "ppbVar10 = *(byte ***)pbVar4" identifier = (pointer_expression "*(byte ***)pbVar4" * (cast_expression "(byte ***)pbVar4" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier))) ;) }) while (parenthesized_expression "(unaff_s1 < ppbVar10)" ( (binary_expression "unaff_s1 < ppbVar10" identifier < identifier) )) ;) })) (expression_statement "(*(code *)PTR_sqlite3_free_0015b620)(pbVar4);" (call_expression "(*(code *)PTR_sqlite3_free_0015b620)(pbVar4)" (parenthesized_expression "(*(code *)PTR_sqlite3_free_0015b620)" ( (pointer_expression "*(code *)PTR_sqlite3_free_0015b620" * (cast_expression "(code *)PTR_sqlite3_free_0015b620" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pbVar4)" ( identifier ))) ;) (if_statement "if ((param_2 < (int)param_1[3]) && (local_b0 != (byte **)0x0)) {\n    if (local_bc == 0) {\n      pbVar21 = &DAT_00000008;\n      pbVar20 = (byte *)0x0;\n      pbVar24 = (byte *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc);\n      if (pbVar24 != (byte *)0x0) {\n        *(int *)(pbVar24 + 4) = param_2;\n        pbVar24[0] = 0;\n        pbVar24[1] = 0;\n        pbVar24[2] = 0;\n        pbVar24[3] = 1;\n        ppbVar17 = local_b0;\n        FUN_000970a0(&local_c4);\n        pbVar20 = pbVar24;\n      }\n      goto LAB_000b321c;\n    }\nLAB_000b2da8:\n    FUN_000b1f34(local_b0);\n  }\n  else {\nLAB_000b321c:\n    if (local_bc != 0) goto LAB_000b2da8;\n    ppbVar22 = (byte **)(*(code *)PTR_sqlite3_malloc_0015b640)(0x18);\n    *(byte ***)param_4 = ppbVar22;\n    if (ppbVar22 == (byte **)0x0) {\n      local_bc = 7;\n      goto LAB_000b2da8;\n    }\n    if (local_b0 == (byte **)0x0) {\n      if (local_bc == 0) {\n        pbVar21 = &DAT_00000028;\n        pbVar20 = (byte *)0x0;\n        pbVar24 = (byte *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc);\n        ppbVar22[2] = pbVar24;\n        if (pbVar24 != (byte *)0x0) {\n          pbVar24[4] = 0;\n          pbVar24[5] = 0;\n          pbVar24[6] = 0;\n          pbVar24[7] = 1;\n        }\n      }\n      else {\n        ppbVar22[2] = (byte *)0x0;\n      }\n    }\n    else {\n      ppbVar22[2] = (byte *)local_b0;\n    }\n    *ppbVar22 = (byte *)0x0;\n    ppbVar22[1] = (byte *)param_1;\n    ppbVar22[5] = local_b4;\n    ppbVar22[4] = local_b8;\n    local_b4 = (byte *)0x0;\n  }" if (parenthesized_expression "((param_2 < (int)param_1[3]) && (local_b0 != (byte **)0x0))" ( (binary_expression "(param_2 < (int)param_1[3]) && (local_b0 != (byte **)0x0)" (parenthesized_expression "(param_2 < (int)param_1[3])" ( (binary_expression "param_2 < (int)param_1[3]" identifier < (cast_expression "(int)param_1[3]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_1[3]" identifier [ number_literal ]))) )) && (parenthesized_expression "(local_b0 != (byte **)0x0)" ( (binary_expression "local_b0 != (byte **)0x0" identifier != (cast_expression "(byte **)0x0" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ))) )) (compound_statement "{\n    if (local_bc == 0) {\n      pbVar21 = &DAT_00000008;\n      pbVar20 = (byte *)0x0;\n      pbVar24 = (byte *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc);\n      if (pbVar24 != (byte *)0x0) {\n        *(int *)(pbVar24 + 4) = param_2;\n        pbVar24[0] = 0;\n        pbVar24[1] = 0;\n        pbVar24[2] = 0;\n        pbVar24[3] = 1;\n        ppbVar17 = local_b0;\n        FUN_000970a0(&local_c4);\n        pbVar20 = pbVar24;\n      }\n      goto LAB_000b321c;\n    }\nLAB_000b2da8:\n    FUN_000b1f34(local_b0);\n  }" { (if_statement "if (local_bc == 0) {\n      pbVar21 = &DAT_00000008;\n      pbVar20 = (byte *)0x0;\n      pbVar24 = (byte *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc);\n      if (pbVar24 != (byte *)0x0) {\n        *(int *)(pbVar24 + 4) = param_2;\n        pbVar24[0] = 0;\n        pbVar24[1] = 0;\n        pbVar24[2] = 0;\n        pbVar24[3] = 1;\n        ppbVar17 = local_b0;\n        FUN_000970a0(&local_c4);\n        pbVar20 = pbVar24;\n      }\n      goto LAB_000b321c;\n    }" if (parenthesized_expression "(local_bc == 0)" ( (binary_expression "local_bc == 0" identifier == number_literal) )) (compound_statement "{\n      pbVar21 = &DAT_00000008;\n      pbVar20 = (byte *)0x0;\n      pbVar24 = (byte *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc);\n      if (pbVar24 != (byte *)0x0) {\n        *(int *)(pbVar24 + 4) = param_2;\n        pbVar24[0] = 0;\n        pbVar24[1] = 0;\n        pbVar24[2] = 0;\n        pbVar24[3] = 1;\n        ppbVar17 = local_b0;\n        FUN_000970a0(&local_c4);\n        pbVar20 = pbVar24;\n      }\n      goto LAB_000b321c;\n    }" { (expression_statement "pbVar21 = &DAT_00000008;" (assignment_expression "pbVar21 = &DAT_00000008" identifier = (pointer_expression "&DAT_00000008" & identifier)) ;) (expression_statement "pbVar20 = (byte *)0x0;" (assignment_expression "pbVar20 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar24 = (byte *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc);" (assignment_expression "pbVar24 = (byte *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc)" identifier = (cast_expression "(byte *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b700 + 0x108c))" ( (pointer_expression "*(code *)(PTR_LAB_0015b700 + 0x108c)" * (cast_expression "(code *)(PTR_LAB_0015b700 + 0x108c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b700 + 0x108c)" ( (binary_expression "PTR_LAB_0015b700 + 0x108c" identifier + number_literal) )))) )) (argument_list "(&local_bc)" ( (pointer_expression "&local_bc" & identifier) ))))) ;) (if_statement "if (pbVar24 != (byte *)0x0) {\n        *(int *)(pbVar24 + 4) = param_2;\n        pbVar24[0] = 0;\n        pbVar24[1] = 0;\n        pbVar24[2] = 0;\n        pbVar24[3] = 1;\n        ppbVar17 = local_b0;\n        FUN_000970a0(&local_c4);\n        pbVar20 = pbVar24;\n      }" if (parenthesized_expression "(pbVar24 != (byte *)0x0)" ( (binary_expression "pbVar24 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        *(int *)(pbVar24 + 4) = param_2;\n        pbVar24[0] = 0;\n        pbVar24[1] = 0;\n        pbVar24[2] = 0;\n        pbVar24[3] = 1;\n        ppbVar17 = local_b0;\n        FUN_000970a0(&local_c4);\n        pbVar20 = pbVar24;\n      }" { (expression_statement "*(int *)(pbVar24 + 4) = param_2;" (assignment_expression "*(int *)(pbVar24 + 4) = param_2" (pointer_expression "*(int *)(pbVar24 + 4)" * (cast_expression "(int *)(pbVar24 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar24 + 4)" ( (binary_expression "pbVar24 + 4" identifier + number_literal) )))) = identifier) ;) (expression_statement "pbVar24[0] = 0;" (assignment_expression "pbVar24[0] = 0" (subscript_expression "pbVar24[0]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar24[1] = 0;" (assignment_expression "pbVar24[1] = 0" (subscript_expression "pbVar24[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar24[2] = 0;" (assignment_expression "pbVar24[2] = 0" (subscript_expression "pbVar24[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar24[3] = 1;" (assignment_expression "pbVar24[3] = 1" (subscript_expression "pbVar24[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "ppbVar17 = local_b0;" (assignment_expression "ppbVar17 = local_b0" identifier = identifier) ;) (expression_statement "FUN_000970a0(&local_c4);" (call_expression "FUN_000970a0(&local_c4)" identifier (argument_list "(&local_c4)" ( (pointer_expression "&local_c4" & identifier) ))) ;) (expression_statement "pbVar20 = pbVar24;" (assignment_expression "pbVar20 = pbVar24" identifier = identifier) ;) })) (goto_statement "goto LAB_000b321c;" goto statement_identifier ;) })) (labeled_statement "LAB_000b2da8:\n    FUN_000b1f34(local_b0);" statement_identifier : (expression_statement "FUN_000b1f34(local_b0);" (call_expression "FUN_000b1f34(local_b0)" identifier (argument_list "(local_b0)" ( identifier ))) ;)) }) (else_clause "else {\nLAB_000b321c:\n    if (local_bc != 0) goto LAB_000b2da8;\n    ppbVar22 = (byte **)(*(code *)PTR_sqlite3_malloc_0015b640)(0x18);\n    *(byte ***)param_4 = ppbVar22;\n    if (ppbVar22 == (byte **)0x0) {\n      local_bc = 7;\n      goto LAB_000b2da8;\n    }\n    if (local_b0 == (byte **)0x0) {\n      if (local_bc == 0) {\n        pbVar21 = &DAT_00000028;\n        pbVar20 = (byte *)0x0;\n        pbVar24 = (byte *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc);\n        ppbVar22[2] = pbVar24;\n        if (pbVar24 != (byte *)0x0) {\n          pbVar24[4] = 0;\n          pbVar24[5] = 0;\n          pbVar24[6] = 0;\n          pbVar24[7] = 1;\n        }\n      }\n      else {\n        ppbVar22[2] = (byte *)0x0;\n      }\n    }\n    else {\n      ppbVar22[2] = (byte *)local_b0;\n    }\n    *ppbVar22 = (byte *)0x0;\n    ppbVar22[1] = (byte *)param_1;\n    ppbVar22[5] = local_b4;\n    ppbVar22[4] = local_b8;\n    local_b4 = (byte *)0x0;\n  }" else (compound_statement "{\nLAB_000b321c:\n    if (local_bc != 0) goto LAB_000b2da8;\n    ppbVar22 = (byte **)(*(code *)PTR_sqlite3_malloc_0015b640)(0x18);\n    *(byte ***)param_4 = ppbVar22;\n    if (ppbVar22 == (byte **)0x0) {\n      local_bc = 7;\n      goto LAB_000b2da8;\n    }\n    if (local_b0 == (byte **)0x0) {\n      if (local_bc == 0) {\n        pbVar21 = &DAT_00000028;\n        pbVar20 = (byte *)0x0;\n        pbVar24 = (byte *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc);\n        ppbVar22[2] = pbVar24;\n        if (pbVar24 != (byte *)0x0) {\n          pbVar24[4] = 0;\n          pbVar24[5] = 0;\n          pbVar24[6] = 0;\n          pbVar24[7] = 1;\n        }\n      }\n      else {\n        ppbVar22[2] = (byte *)0x0;\n      }\n    }\n    else {\n      ppbVar22[2] = (byte *)local_b0;\n    }\n    *ppbVar22 = (byte *)0x0;\n    ppbVar22[1] = (byte *)param_1;\n    ppbVar22[5] = local_b4;\n    ppbVar22[4] = local_b8;\n    local_b4 = (byte *)0x0;\n  }" { (labeled_statement "LAB_000b321c:\n    if (local_bc != 0) goto LAB_000b2da8;" statement_identifier : (if_statement "if (local_bc != 0) goto LAB_000b2da8;" if (parenthesized_expression "(local_bc != 0)" ( (binary_expression "local_bc != 0" identifier != number_literal) )) (goto_statement "goto LAB_000b2da8;" goto statement_identifier ;))) (expression_statement "ppbVar22 = (byte **)(*(code *)PTR_sqlite3_malloc_0015b640)(0x18);" (assignment_expression "ppbVar22 = (byte **)(*(code *)PTR_sqlite3_malloc_0015b640)(0x18)" identifier = (cast_expression "(byte **)(*(code *)PTR_sqlite3_malloc_0015b640)(0x18)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(*(code *)PTR_sqlite3_malloc_0015b640)(0x18)" (parenthesized_expression "(*(code *)PTR_sqlite3_malloc_0015b640)" ( (pointer_expression "*(code *)PTR_sqlite3_malloc_0015b640" * (cast_expression "(code *)PTR_sqlite3_malloc_0015b640" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x18)" ( number_literal ))))) ;) (expression_statement "*(byte ***)param_4 = ppbVar22;" (assignment_expression "*(byte ***)param_4 = ppbVar22" (pointer_expression "*(byte ***)param_4" * (cast_expression "(byte ***)param_4" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) identifier)) = identifier) ;) (if_statement "if (ppbVar22 == (byte **)0x0) {\n      local_bc = 7;\n      goto LAB_000b2da8;\n    }" if (parenthesized_expression "(ppbVar22 == (byte **)0x0)" ( (binary_expression "ppbVar22 == (byte **)0x0" identifier == (cast_expression "(byte **)0x0" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n      local_bc = 7;\n      goto LAB_000b2da8;\n    }" { (expression_statement "local_bc = 7;" (assignment_expression "local_bc = 7" identifier = number_literal) ;) (goto_statement "goto LAB_000b2da8;" goto statement_identifier ;) })) (if_statement "if (local_b0 == (byte **)0x0) {\n      if (local_bc == 0) {\n        pbVar21 = &DAT_00000028;\n        pbVar20 = (byte *)0x0;\n        pbVar24 = (byte *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc);\n        ppbVar22[2] = pbVar24;\n        if (pbVar24 != (byte *)0x0) {\n          pbVar24[4] = 0;\n          pbVar24[5] = 0;\n          pbVar24[6] = 0;\n          pbVar24[7] = 1;\n        }\n      }\n      else {\n        ppbVar22[2] = (byte *)0x0;\n      }\n    }\n    else {\n      ppbVar22[2] = (byte *)local_b0;\n    }" if (parenthesized_expression "(local_b0 == (byte **)0x0)" ( (binary_expression "local_b0 == (byte **)0x0" identifier == (cast_expression "(byte **)0x0" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n      if (local_bc == 0) {\n        pbVar21 = &DAT_00000028;\n        pbVar20 = (byte *)0x0;\n        pbVar24 = (byte *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc);\n        ppbVar22[2] = pbVar24;\n        if (pbVar24 != (byte *)0x0) {\n          pbVar24[4] = 0;\n          pbVar24[5] = 0;\n          pbVar24[6] = 0;\n          pbVar24[7] = 1;\n        }\n      }\n      else {\n        ppbVar22[2] = (byte *)0x0;\n      }\n    }" { (if_statement "if (local_bc == 0) {\n        pbVar21 = &DAT_00000028;\n        pbVar20 = (byte *)0x0;\n        pbVar24 = (byte *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc);\n        ppbVar22[2] = pbVar24;\n        if (pbVar24 != (byte *)0x0) {\n          pbVar24[4] = 0;\n          pbVar24[5] = 0;\n          pbVar24[6] = 0;\n          pbVar24[7] = 1;\n        }\n      }\n      else {\n        ppbVar22[2] = (byte *)0x0;\n      }" if (parenthesized_expression "(local_bc == 0)" ( (binary_expression "local_bc == 0" identifier == number_literal) )) (compound_statement "{\n        pbVar21 = &DAT_00000028;\n        pbVar20 = (byte *)0x0;\n        pbVar24 = (byte *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc);\n        ppbVar22[2] = pbVar24;\n        if (pbVar24 != (byte *)0x0) {\n          pbVar24[4] = 0;\n          pbVar24[5] = 0;\n          pbVar24[6] = 0;\n          pbVar24[7] = 1;\n        }\n      }" { (expression_statement "pbVar21 = &DAT_00000028;" (assignment_expression "pbVar21 = &DAT_00000028" identifier = (pointer_expression "&DAT_00000028" & identifier)) ;) (expression_statement "pbVar20 = (byte *)0x0;" (assignment_expression "pbVar20 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pbVar24 = (byte *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc);" (assignment_expression "pbVar24 = (byte *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc)" identifier = (cast_expression "(byte *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b700 + 0x108c))" ( (pointer_expression "*(code *)(PTR_LAB_0015b700 + 0x108c)" * (cast_expression "(code *)(PTR_LAB_0015b700 + 0x108c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0015b700 + 0x108c)" ( (binary_expression "PTR_LAB_0015b700 + 0x108c" identifier + number_literal) )))) )) (argument_list "(&local_bc)" ( (pointer_expression "&local_bc" & identifier) ))))) ;) (expression_statement "ppbVar22[2] = pbVar24;" (assignment_expression "ppbVar22[2] = pbVar24" (subscript_expression "ppbVar22[2]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (pbVar24 != (byte *)0x0) {\n          pbVar24[4] = 0;\n          pbVar24[5] = 0;\n          pbVar24[6] = 0;\n          pbVar24[7] = 1;\n        }" if (parenthesized_expression "(pbVar24 != (byte *)0x0)" ( (binary_expression "pbVar24 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          pbVar24[4] = 0;\n          pbVar24[5] = 0;\n          pbVar24[6] = 0;\n          pbVar24[7] = 1;\n        }" { (expression_statement "pbVar24[4] = 0;" (assignment_expression "pbVar24[4] = 0" (subscript_expression "pbVar24[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar24[5] = 0;" (assignment_expression "pbVar24[5] = 0" (subscript_expression "pbVar24[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar24[6] = 0;" (assignment_expression "pbVar24[6] = 0" (subscript_expression "pbVar24[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "pbVar24[7] = 1;" (assignment_expression "pbVar24[7] = 1" (subscript_expression "pbVar24[7]" identifier [ number_literal ]) = number_literal) ;) })) }) (else_clause "else {\n        ppbVar22[2] = (byte *)0x0;\n      }" else (compound_statement "{\n        ppbVar22[2] = (byte *)0x0;\n      }" { (expression_statement "ppbVar22[2] = (byte *)0x0;" (assignment_expression "ppbVar22[2] = (byte *)0x0" (subscript_expression "ppbVar22[2]" identifier [ number_literal ]) = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) }) (else_clause "else {\n      ppbVar22[2] = (byte *)local_b0;\n    }" else (compound_statement "{\n      ppbVar22[2] = (byte *)local_b0;\n    }" { (expression_statement "ppbVar22[2] = (byte *)local_b0;" (assignment_expression "ppbVar22[2] = (byte *)local_b0" (subscript_expression "ppbVar22[2]" identifier [ number_literal ]) = (cast_expression "(byte *)local_b0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) }))) (expression_statement "*ppbVar22 = (byte *)0x0;" (assignment_expression "*ppbVar22 = (byte *)0x0" (pointer_expression "*ppbVar22" * identifier) = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "ppbVar22[1] = (byte *)param_1;" (assignment_expression "ppbVar22[1] = (byte *)param_1" (subscript_expression "ppbVar22[1]" identifier [ number_literal ]) = (cast_expression "(byte *)param_1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "ppbVar22[5] = local_b4;" (assignment_expression "ppbVar22[5] = local_b4" (subscript_expression "ppbVar22[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppbVar22[4] = local_b8;" (assignment_expression "ppbVar22[4] = local_b8" (subscript_expression "ppbVar22[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "local_b4 = (byte *)0x0;" (assignment_expression "local_b4 = (byte *)0x0" identifier = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (expression_statement "(*(code *)PTR_sqlite3_free_0015b620)(local_b4);" (call_expression "(*(code *)PTR_sqlite3_free_0015b620)(local_b4)" (parenthesized_expression "(*(code *)PTR_sqlite3_free_0015b620)" ( (pointer_expression "*(code *)PTR_sqlite3_free_0015b620" * (cast_expression "(code *)PTR_sqlite3_free_0015b620" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_b4)" ( identifier ))) ;) (expression_statement "*param_5 = local_c0;" (assignment_expression "*param_5 = local_c0" (pointer_expression "*param_5" * identifier) = identifier) ;) (expression_statement "iVar5 = local_bc;" (assignment_expression "iVar5 = local_bc" identifier = identifier) ;) (expression_statement "param_1 = ppbVar22;" (assignment_expression "param_1 = ppbVar22" identifier = identifier) ;) (expression_statement "unaff_s3 = unaff_s2;" (assignment_expression "unaff_s3 = unaff_s2" identifier = identifier) ;) (expression_statement "unaff_s8 = pbVar4;" (assignment_expression "unaff_s8 = pbVar4" identifier = identifier) ;) (labeled_statement "LAB_000b3294:\n  if (local_2c == *(byte **)puVar3) {\n    return iVar5;\n  }" statement_identifier : (if_statement "if (local_2c == *(byte **)puVar3) {\n    return iVar5;\n  }" if (parenthesized_expression "(local_2c == *(byte **)puVar3)" ( (binary_expression "local_2c == *(byte **)puVar3" identifier == (pointer_expression "*(byte **)puVar3" * (cast_expression "(byte **)puVar3" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n    return iVar5;\n  }" { (return_statement "return iVar5;" return identifier ;) }))) (expression_statement "uVar19 = 0xb37f8;" (assignment_expression "uVar19 = 0xb37f8" identifier = number_literal) ;) (expression_statement "pbVar4 = local_2c;" (assignment_expression "pbVar4 = local_2c" identifier = identifier) ;) (expression_statement "puVar7 = PTR___stack_chk_fail_0015ba10;" (assignment_expression "puVar7 = PTR___stack_chk_fail_0015ba10" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_0015ba10)();" (call_expression "(*(code *)PTR___stack_chk_fail_0015ba10)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0015ba10)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_0015ba10" * (cast_expression "(code *)PTR___stack_chk_fail_0015ba10" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "puVar25 = auStack_138;" (assignment_expression "puVar25 = auStack_138" identifier = identifier) ;) (do_statement "do {\n    pbVar9 = pbVar21;\n    pbVar24 = pbVar4;\n    pcVar13 = *(code **)(puVar7 + 0xa7ed0);\n    *(byte **)(puVar25 + -0x20) = unaff_s2;\n    *(undefined **)(puVar25 + -0x50) = puVar7 + 0xafdb8;\n    *(undefined4 *)(puVar25 + -4) = uVar19;\n    *(byte ***)(puVar25 + -0xc) = unaff_s7;\n    *(byte **)(puVar25 + -0x10) = unaff_s6;\n    *(byte **)(puVar25 + -0x18) = unaff_s4;\n    *(byte **)(puVar25 + -0x1c) = unaff_s3;\n    *(byte **)(puVar25 + -8) = unaff_s8;\n    *(byte **)(puVar25 + -0x14) = unaff_s5;\n    *(byte ***)(puVar25 + -0x24) = unaff_s1;\n    *(byte ***)(puVar25 + -0x28) = param_1;\n    unaff_s2 = *(byte **)(puVar7 + 0xa8234);\n    *(undefined4 *)(puVar25 + -0x2c) = *(undefined4 *)unaff_s2;\n    pbVar21 = pbVar20;\n    uVar19 = (*pcVar13)();\n    pcVar13 = *(code **)(*(int *)(puVar25 + -0x50) + -0x7ed0);\n    *(undefined4 *)(puVar25 + -0x44) = uVar19;\n    uVar19 = (*pcVar13)(pbVar24);\n    iVar5 = *(int *)(puVar25 + -0x50);\n    *(undefined4 *)(puVar25 + -0x40) = uVar19;\n    *(undefined4 *)(puVar25 + -0x38) = 0;\n    *(undefined4 *)(puVar25 + -0x34) = 0;\n    *(undefined4 *)(puVar25 + -0x30) = 0;\n    unaff_s3 = pbVar20;\n    unaff_s7 = ppbVar17;\n    if ((int)ppbVar17 < 1) {\n      if (pbVar9 == (byte *)0x0) {\n        iVar11 = *(int *)(iVar5 + -0x7fb4) + -0x705c;\n      }\n      else {\n        iVar11 = *(int *)(iVar5 + -0x7fb4) + -0x706c;\n      }\n      ppbVar22 = (byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fb4) + -0x7048,iVar11)\n      ;\n      pbVar21 = (byte *)0xffffffff;\n      *(byte ***)(puVar25 + -0x38) = ppbVar22;\n      (**(code **)(*(int *)(puVar25 + -0x50) + -0x7e40))(pbVar24);\n      pbVar4 = *(byte **)(puVar25 + -0x38);\n      (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))();\n      iVar5 = *(int *)(puVar25 + -0x50);\n    }\n    else {\n      if (pbVar9 == (byte *)0x0) {\n        param_1 = (byte **)0x1;\n        *(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050;\nLAB_000b38a0:\n        unaff_s5 = (byte *)((int)ppbVar17 + (3 - (int)param_1));\n        ppbVar22 = (byte **)((int)unaff_s5 * 4);\n        unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (unaff_s1 == (byte **)0x0) {\nLAB_000b3a30:\n          pbVar4 = pbVar24;\n          (**(code **)(iVar5 + -0x7e2c))();\n          iVar5 = *(int *)(puVar25 + -0x50);\n          goto LAB_000b39d4;\n        }\n        *unaff_s1 = (byte *)0x0;\n        unaff_s1[1] = (byte *)(*(int *)(iVar5 + -0x7fc8) + 0x538c);\n        unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c);\n        if ((int)param_1 < (int)ppbVar17) {\n          unaff_s8 = pbVar20 + (int)param_1 * 4;\n          iVar11 = (int)ppbVar17 * 4;\n          ppbVar22 = unaff_s1 + 3;\n          do {\n            ppbVar17 = ppbVar22 + 1;\n            uVar19 = *(undefined4 *)unaff_s8;\n            unaff_s8 = unaff_s8 + 4;\n            pbVar21 = (byte *)(**(code **)(iVar5 + -0x7f9c))(uVar19);\n            iVar5 = *(int *)(puVar25 + -0x50);\n            *ppbVar22 = pbVar21;\n            ppbVar22 = ppbVar17;\n          } while (pbVar20 + iVar11 != unaff_s8);\n        }\n      }\n      else {\n        if (ppbVar17 != (byte **)0x1) {\n          param_1 = (byte **)&SUB_00000002;\n          uVar19 = (**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)(pbVar20 + 4));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          *(undefined4 *)(puVar25 + -0x3c) = uVar19;\n          goto LAB_000b38a0;\n        }\n        ppbVar22 = (byte **)&DAT_0000000c;\n        unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (unaff_s1 == (byte **)0x0) goto LAB_000b3a30;\n        iVar11 = *(int *)(iVar5 + -0x7fc8);\n        unaff_s5 = (byte *)0x3;\n        *unaff_s1 = (byte *)0x0;\n        unaff_s1[1] = (byte *)(iVar11 + 0x538c);\n        *(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050;\n        unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c);\n      }\n      param_1 = (byte **)(puVar25 + -0x38);\n      unaff_s3 = (byte *)(**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)pbVar20);\n      *(byte ***)(puVar25 + -0x54) = param_1;\n      *(undefined1 **)(puVar25 + -0x58) = puVar25 + -0x30;\n      pbVar21 = unaff_s5;\n      ppbVar22 = (byte **)FUN_000961e8(*(undefined4 *)(puVar25 + -0x44),\n                                       *(undefined4 *)(puVar25 + -0x40),unaff_s5,unaff_s1);\n      iVar5 = *(int *)(puVar25 + -0x50);\n      if (ppbVar22 == (byte **)0x0) {\n        uVar19 = *(undefined4 *)(*(int *)(puVar25 + -0x30) + 0xc);\n        *(byte ***)(puVar25 + -0x58) = param_1;\n        pbVar20 = unaff_s3;\n        ppbVar22 = (byte **)FUN_000b2950(*(int *)(puVar25 + -0x30),uVar19,unaff_s3,puVar25 + -0x34);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        pbVar21 = pbVar20;\n        if (ppbVar22 != (byte **)0x0) goto LAB_000b3964;\n        pbVar21 = *(byte **)(*(int *)(puVar25 + -0x34) + 8);\n        if (*(int *)(pbVar21 + 0xc) == 0) {\n          param_1 = (byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fc8) + 0x53f4);\n          iVar5 = *(int *)(puVar25 + -0x50);\nLAB_000b3aa4:\n          ppbVar10 = *(byte ***)(puVar25 + -0x38);\n          pbVar21 = pbVar20;\n          if (param_1 != (byte **)0x0) goto LAB_000b3aac;\nLAB_000b3b54:\n          ppbVar22 = (byte **)&DAT_00000007;\n          if (ppbVar10 == (byte **)0x0) {\n            pcVar13 = *(code **)(iVar5 + -0x7e34);\n            goto LAB_000b3b60;\n          }\n          goto LAB_000b3970;\n        }\n        if (pbVar9 == (byte *)0x0) {\n          param_1 = (byte **)FUN_00097660();\n          iVar5 = *(int *)(puVar25 + -0x50);\n          goto LAB_000b3aa4;\n        }\n        param_1 = (byte **)FUN_00097234(*(undefined4 *)(puVar25 + -0x30),\n                                        *(undefined4 *)(puVar25 + -0x3c));\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (param_1 == (byte **)0x0) {\n          ppbVar10 = *(byte ***)(puVar25 + -0x38);\n          goto LAB_000b3b54;\n        }\nLAB_000b3aac:\n        pbVar21 = (byte *)0xffffffff;\n        ppbVar22 = param_1;\n        (**(code **)(iVar5 + -0x7f34))(pbVar24,param_1,0xffffffff,0xffffffff);\n        (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(param_1);\n        iVar5 = *(int *)(puVar25 + -0x50);\n      }\n      else {\nLAB_000b3964:\n        ppbVar10 = *(byte ***)(puVar25 + -0x38);\n        pcVar13 = *(code **)(iVar5 + -0x7e34);\n        if (ppbVar10 == (byte **)0x0) {\nLAB_000b3b60:\n          (*pcVar13)(pbVar24);\n          iVar5 = *(int *)(puVar25 + -0x50);\n        }\n        else {\nLAB_000b3970:\n          pbVar21 = (byte *)0xffffffff;\n          (**(code **)(iVar5 + -0x7e40))(pbVar24);\n          (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(*(undefined4 *)(puVar25 + -0x38));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          ppbVar22 = ppbVar10;\n        }\n      }\n      (**(code **)(iVar5 + -0x7f90))(unaff_s1);\n      (*(code *)(*(int *)(*(int *)(puVar25 + -0x50) + -0x7ef0) + -0xe08))\n                (*(undefined4 *)(puVar25 + -0x30));\n      pbVar4 = *(byte **)(puVar25 + -0x34);\n      iVar5 = *(int *)(puVar25 + -0x50);\n      unaff_s7 = ppbVar17;\n      if (pbVar4 != (byte *)0x0) {\n        FUN_000b1fe4();\n        iVar5 = *(int *)(puVar25 + -0x50);\n      }\n    }\nLAB_000b39d4:\n    if (*(int *)(puVar25 + -0x2c) == *(int *)unaff_s2) {\n      return *(int *)unaff_s2;\n    }\n    pcVar13 = *(code **)(iVar5 + -0x7ba0);\n    uVar19 = 0xb3bf0;\n    (*pcVar13)();\n    puVar7 = (undefined *)(*(int *)(pcVar13 + 0xa7b08) + 0x37f8);\n    ppbVar17 = ppbVar22;\n    pbVar20 = pbVar21;\n    pbVar21 = (byte *)0x1;\n    unaff_s4 = pbVar24;\n    unaff_s6 = pbVar9;\n    puVar25 = puVar25 + -0x68;\n  } while( true );" do (compound_statement "{\n    pbVar9 = pbVar21;\n    pbVar24 = pbVar4;\n    pcVar13 = *(code **)(puVar7 + 0xa7ed0);\n    *(byte **)(puVar25 + -0x20) = unaff_s2;\n    *(undefined **)(puVar25 + -0x50) = puVar7 + 0xafdb8;\n    *(undefined4 *)(puVar25 + -4) = uVar19;\n    *(byte ***)(puVar25 + -0xc) = unaff_s7;\n    *(byte **)(puVar25 + -0x10) = unaff_s6;\n    *(byte **)(puVar25 + -0x18) = unaff_s4;\n    *(byte **)(puVar25 + -0x1c) = unaff_s3;\n    *(byte **)(puVar25 + -8) = unaff_s8;\n    *(byte **)(puVar25 + -0x14) = unaff_s5;\n    *(byte ***)(puVar25 + -0x24) = unaff_s1;\n    *(byte ***)(puVar25 + -0x28) = param_1;\n    unaff_s2 = *(byte **)(puVar7 + 0xa8234);\n    *(undefined4 *)(puVar25 + -0x2c) = *(undefined4 *)unaff_s2;\n    pbVar21 = pbVar20;\n    uVar19 = (*pcVar13)();\n    pcVar13 = *(code **)(*(int *)(puVar25 + -0x50) + -0x7ed0);\n    *(undefined4 *)(puVar25 + -0x44) = uVar19;\n    uVar19 = (*pcVar13)(pbVar24);\n    iVar5 = *(int *)(puVar25 + -0x50);\n    *(undefined4 *)(puVar25 + -0x40) = uVar19;\n    *(undefined4 *)(puVar25 + -0x38) = 0;\n    *(undefined4 *)(puVar25 + -0x34) = 0;\n    *(undefined4 *)(puVar25 + -0x30) = 0;\n    unaff_s3 = pbVar20;\n    unaff_s7 = ppbVar17;\n    if ((int)ppbVar17 < 1) {\n      if (pbVar9 == (byte *)0x0) {\n        iVar11 = *(int *)(iVar5 + -0x7fb4) + -0x705c;\n      }\n      else {\n        iVar11 = *(int *)(iVar5 + -0x7fb4) + -0x706c;\n      }\n      ppbVar22 = (byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fb4) + -0x7048,iVar11)\n      ;\n      pbVar21 = (byte *)0xffffffff;\n      *(byte ***)(puVar25 + -0x38) = ppbVar22;\n      (**(code **)(*(int *)(puVar25 + -0x50) + -0x7e40))(pbVar24);\n      pbVar4 = *(byte **)(puVar25 + -0x38);\n      (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))();\n      iVar5 = *(int *)(puVar25 + -0x50);\n    }\n    else {\n      if (pbVar9 == (byte *)0x0) {\n        param_1 = (byte **)0x1;\n        *(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050;\nLAB_000b38a0:\n        unaff_s5 = (byte *)((int)ppbVar17 + (3 - (int)param_1));\n        ppbVar22 = (byte **)((int)unaff_s5 * 4);\n        unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (unaff_s1 == (byte **)0x0) {\nLAB_000b3a30:\n          pbVar4 = pbVar24;\n          (**(code **)(iVar5 + -0x7e2c))();\n          iVar5 = *(int *)(puVar25 + -0x50);\n          goto LAB_000b39d4;\n        }\n        *unaff_s1 = (byte *)0x0;\n        unaff_s1[1] = (byte *)(*(int *)(iVar5 + -0x7fc8) + 0x538c);\n        unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c);\n        if ((int)param_1 < (int)ppbVar17) {\n          unaff_s8 = pbVar20 + (int)param_1 * 4;\n          iVar11 = (int)ppbVar17 * 4;\n          ppbVar22 = unaff_s1 + 3;\n          do {\n            ppbVar17 = ppbVar22 + 1;\n            uVar19 = *(undefined4 *)unaff_s8;\n            unaff_s8 = unaff_s8 + 4;\n            pbVar21 = (byte *)(**(code **)(iVar5 + -0x7f9c))(uVar19);\n            iVar5 = *(int *)(puVar25 + -0x50);\n            *ppbVar22 = pbVar21;\n            ppbVar22 = ppbVar17;\n          } while (pbVar20 + iVar11 != unaff_s8);\n        }\n      }\n      else {\n        if (ppbVar17 != (byte **)0x1) {\n          param_1 = (byte **)&SUB_00000002;\n          uVar19 = (**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)(pbVar20 + 4));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          *(undefined4 *)(puVar25 + -0x3c) = uVar19;\n          goto LAB_000b38a0;\n        }\n        ppbVar22 = (byte **)&DAT_0000000c;\n        unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (unaff_s1 == (byte **)0x0) goto LAB_000b3a30;\n        iVar11 = *(int *)(iVar5 + -0x7fc8);\n        unaff_s5 = (byte *)0x3;\n        *unaff_s1 = (byte *)0x0;\n        unaff_s1[1] = (byte *)(iVar11 + 0x538c);\n        *(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050;\n        unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c);\n      }\n      param_1 = (byte **)(puVar25 + -0x38);\n      unaff_s3 = (byte *)(**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)pbVar20);\n      *(byte ***)(puVar25 + -0x54) = param_1;\n      *(undefined1 **)(puVar25 + -0x58) = puVar25 + -0x30;\n      pbVar21 = unaff_s5;\n      ppbVar22 = (byte **)FUN_000961e8(*(undefined4 *)(puVar25 + -0x44),\n                                       *(undefined4 *)(puVar25 + -0x40),unaff_s5,unaff_s1);\n      iVar5 = *(int *)(puVar25 + -0x50);\n      if (ppbVar22 == (byte **)0x0) {\n        uVar19 = *(undefined4 *)(*(int *)(puVar25 + -0x30) + 0xc);\n        *(byte ***)(puVar25 + -0x58) = param_1;\n        pbVar20 = unaff_s3;\n        ppbVar22 = (byte **)FUN_000b2950(*(int *)(puVar25 + -0x30),uVar19,unaff_s3,puVar25 + -0x34);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        pbVar21 = pbVar20;\n        if (ppbVar22 != (byte **)0x0) goto LAB_000b3964;\n        pbVar21 = *(byte **)(*(int *)(puVar25 + -0x34) + 8);\n        if (*(int *)(pbVar21 + 0xc) == 0) {\n          param_1 = (byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fc8) + 0x53f4);\n          iVar5 = *(int *)(puVar25 + -0x50);\nLAB_000b3aa4:\n          ppbVar10 = *(byte ***)(puVar25 + -0x38);\n          pbVar21 = pbVar20;\n          if (param_1 != (byte **)0x0) goto LAB_000b3aac;\nLAB_000b3b54:\n          ppbVar22 = (byte **)&DAT_00000007;\n          if (ppbVar10 == (byte **)0x0) {\n            pcVar13 = *(code **)(iVar5 + -0x7e34);\n            goto LAB_000b3b60;\n          }\n          goto LAB_000b3970;\n        }\n        if (pbVar9 == (byte *)0x0) {\n          param_1 = (byte **)FUN_00097660();\n          iVar5 = *(int *)(puVar25 + -0x50);\n          goto LAB_000b3aa4;\n        }\n        param_1 = (byte **)FUN_00097234(*(undefined4 *)(puVar25 + -0x30),\n                                        *(undefined4 *)(puVar25 + -0x3c));\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (param_1 == (byte **)0x0) {\n          ppbVar10 = *(byte ***)(puVar25 + -0x38);\n          goto LAB_000b3b54;\n        }\nLAB_000b3aac:\n        pbVar21 = (byte *)0xffffffff;\n        ppbVar22 = param_1;\n        (**(code **)(iVar5 + -0x7f34))(pbVar24,param_1,0xffffffff,0xffffffff);\n        (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(param_1);\n        iVar5 = *(int *)(puVar25 + -0x50);\n      }\n      else {\nLAB_000b3964:\n        ppbVar10 = *(byte ***)(puVar25 + -0x38);\n        pcVar13 = *(code **)(iVar5 + -0x7e34);\n        if (ppbVar10 == (byte **)0x0) {\nLAB_000b3b60:\n          (*pcVar13)(pbVar24);\n          iVar5 = *(int *)(puVar25 + -0x50);\n        }\n        else {\nLAB_000b3970:\n          pbVar21 = (byte *)0xffffffff;\n          (**(code **)(iVar5 + -0x7e40))(pbVar24);\n          (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(*(undefined4 *)(puVar25 + -0x38));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          ppbVar22 = ppbVar10;\n        }\n      }\n      (**(code **)(iVar5 + -0x7f90))(unaff_s1);\n      (*(code *)(*(int *)(*(int *)(puVar25 + -0x50) + -0x7ef0) + -0xe08))\n                (*(undefined4 *)(puVar25 + -0x30));\n      pbVar4 = *(byte **)(puVar25 + -0x34);\n      iVar5 = *(int *)(puVar25 + -0x50);\n      unaff_s7 = ppbVar17;\n      if (pbVar4 != (byte *)0x0) {\n        FUN_000b1fe4();\n        iVar5 = *(int *)(puVar25 + -0x50);\n      }\n    }\nLAB_000b39d4:\n    if (*(int *)(puVar25 + -0x2c) == *(int *)unaff_s2) {\n      return *(int *)unaff_s2;\n    }\n    pcVar13 = *(code **)(iVar5 + -0x7ba0);\n    uVar19 = 0xb3bf0;\n    (*pcVar13)();\n    puVar7 = (undefined *)(*(int *)(pcVar13 + 0xa7b08) + 0x37f8);\n    ppbVar17 = ppbVar22;\n    pbVar20 = pbVar21;\n    pbVar21 = (byte *)0x1;\n    unaff_s4 = pbVar24;\n    unaff_s6 = pbVar9;\n    puVar25 = puVar25 + -0x68;\n  }" { (expression_statement "pbVar9 = pbVar21;" (assignment_expression "pbVar9 = pbVar21" identifier = identifier) ;) (expression_statement "pbVar24 = pbVar4;" (assignment_expression "pbVar24 = pbVar4" identifier = identifier) ;) (expression_statement "pcVar13 = *(code **)(puVar7 + 0xa7ed0);" (assignment_expression "pcVar13 = *(code **)(puVar7 + 0xa7ed0)" identifier = (pointer_expression "*(code **)(puVar7 + 0xa7ed0)" * (cast_expression "(code **)(puVar7 + 0xa7ed0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0xa7ed0)" ( (binary_expression "puVar7 + 0xa7ed0" identifier + number_literal) ))))) ;) (expression_statement "*(byte **)(puVar25 + -0x20) = unaff_s2;" (assignment_expression "*(byte **)(puVar25 + -0x20) = unaff_s2" (pointer_expression "*(byte **)(puVar25 + -0x20)" * (cast_expression "(byte **)(puVar25 + -0x20)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x20)" ( (binary_expression "puVar25 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar25 + -0x50) = puVar7 + 0xafdb8;" (assignment_expression "*(undefined **)(puVar25 + -0x50) = puVar7 + 0xafdb8" (pointer_expression "*(undefined **)(puVar25 + -0x50)" * (cast_expression "(undefined **)(puVar25 + -0x50)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x50)" ( (binary_expression "puVar25 + -0x50" identifier + number_literal) )))) = (binary_expression "puVar7 + 0xafdb8" identifier + number_literal)) ;) (expression_statement "*(undefined4 *)(puVar25 + -4) = uVar19;" (assignment_expression "*(undefined4 *)(puVar25 + -4) = uVar19" (pointer_expression "*(undefined4 *)(puVar25 + -4)" * (cast_expression "(undefined4 *)(puVar25 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -4)" ( (binary_expression "puVar25 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(byte ***)(puVar25 + -0xc) = unaff_s7;" (assignment_expression "*(byte ***)(puVar25 + -0xc) = unaff_s7" (pointer_expression "*(byte ***)(puVar25 + -0xc)" * (cast_expression "(byte ***)(puVar25 + -0xc)" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar25 + -0xc)" ( (binary_expression "puVar25 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(byte **)(puVar25 + -0x10) = unaff_s6;" (assignment_expression "*(byte **)(puVar25 + -0x10) = unaff_s6" (pointer_expression "*(byte **)(puVar25 + -0x10)" * (cast_expression "(byte **)(puVar25 + -0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x10)" ( (binary_expression "puVar25 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(byte **)(puVar25 + -0x18) = unaff_s4;" (assignment_expression "*(byte **)(puVar25 + -0x18) = unaff_s4" (pointer_expression "*(byte **)(puVar25 + -0x18)" * (cast_expression "(byte **)(puVar25 + -0x18)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x18)" ( (binary_expression "puVar25 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(byte **)(puVar25 + -0x1c) = unaff_s3;" (assignment_expression "*(byte **)(puVar25 + -0x1c) = unaff_s3" (pointer_expression "*(byte **)(puVar25 + -0x1c)" * (cast_expression "(byte **)(puVar25 + -0x1c)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x1c)" ( (binary_expression "puVar25 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(byte **)(puVar25 + -8) = unaff_s8;" (assignment_expression "*(byte **)(puVar25 + -8) = unaff_s8" (pointer_expression "*(byte **)(puVar25 + -8)" * (cast_expression "(byte **)(puVar25 + -8)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -8)" ( (binary_expression "puVar25 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(byte **)(puVar25 + -0x14) = unaff_s5;" (assignment_expression "*(byte **)(puVar25 + -0x14) = unaff_s5" (pointer_expression "*(byte **)(puVar25 + -0x14)" * (cast_expression "(byte **)(puVar25 + -0x14)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x14)" ( (binary_expression "puVar25 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(byte ***)(puVar25 + -0x24) = unaff_s1;" (assignment_expression "*(byte ***)(puVar25 + -0x24) = unaff_s1" (pointer_expression "*(byte ***)(puVar25 + -0x24)" * (cast_expression "(byte ***)(puVar25 + -0x24)" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar25 + -0x24)" ( (binary_expression "puVar25 + -0x24" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(byte ***)(puVar25 + -0x28) = param_1;" (assignment_expression "*(byte ***)(puVar25 + -0x28) = param_1" (pointer_expression "*(byte ***)(puVar25 + -0x28)" * (cast_expression "(byte ***)(puVar25 + -0x28)" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar25 + -0x28)" ( (binary_expression "puVar25 + -0x28" identifier + number_literal) )))) = identifier) ;) (expression_statement "unaff_s2 = *(byte **)(puVar7 + 0xa8234);" (assignment_expression "unaff_s2 = *(byte **)(puVar7 + 0xa8234)" identifier = (pointer_expression "*(byte **)(puVar7 + 0xa8234)" * (cast_expression "(byte **)(puVar7 + 0xa8234)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar7 + 0xa8234)" ( (binary_expression "puVar7 + 0xa8234" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x2c) = *(undefined4 *)unaff_s2;" (assignment_expression "*(undefined4 *)(puVar25 + -0x2c) = *(undefined4 *)unaff_s2" (pointer_expression "*(undefined4 *)(puVar25 + -0x2c)" * (cast_expression "(undefined4 *)(puVar25 + -0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x2c)" ( (binary_expression "puVar25 + -0x2c" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)unaff_s2" * (cast_expression "(undefined4 *)unaff_s2" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "pbVar21 = pbVar20;" (assignment_expression "pbVar21 = pbVar20" identifier = identifier) ;) (expression_statement "uVar19 = (*pcVar13)();" (assignment_expression "uVar19 = (*pcVar13)()" identifier = (call_expression "(*pcVar13)()" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "()" ( )))) ;) (expression_statement "pcVar13 = *(code **)(*(int *)(puVar25 + -0x50) + -0x7ed0);" (assignment_expression "pcVar13 = *(code **)(*(int *)(puVar25 + -0x50) + -0x7ed0)" identifier = (pointer_expression "*(code **)(*(int *)(puVar25 + -0x50) + -0x7ed0)" * (cast_expression "(code **)(*(int *)(puVar25 + -0x50) + -0x7ed0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(puVar25 + -0x50) + -0x7ed0)" ( (binary_expression "*(int *)(puVar25 + -0x50) + -0x7ed0" (pointer_expression "*(int *)(puVar25 + -0x50)" * (cast_expression "(int *)(puVar25 + -0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x50)" ( (binary_expression "puVar25 + -0x50" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x44) = uVar19;" (assignment_expression "*(undefined4 *)(puVar25 + -0x44) = uVar19" (pointer_expression "*(undefined4 *)(puVar25 + -0x44)" * (cast_expression "(undefined4 *)(puVar25 + -0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x44)" ( (binary_expression "puVar25 + -0x44" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar19 = (*pcVar13)(pbVar24);" (assignment_expression "uVar19 = (*pcVar13)(pbVar24)" identifier = (call_expression "(*pcVar13)(pbVar24)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(pbVar24)" ( identifier )))) ;) (expression_statement "iVar5 = *(int *)(puVar25 + -0x50);" (assignment_expression "iVar5 = *(int *)(puVar25 + -0x50)" identifier = (pointer_expression "*(int *)(puVar25 + -0x50)" * (cast_expression "(int *)(puVar25 + -0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x50)" ( (binary_expression "puVar25 + -0x50" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x40) = uVar19;" (assignment_expression "*(undefined4 *)(puVar25 + -0x40) = uVar19" (pointer_expression "*(undefined4 *)(puVar25 + -0x40)" * (cast_expression "(undefined4 *)(puVar25 + -0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x40)" ( (binary_expression "puVar25 + -0x40" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x38) = 0;" (assignment_expression "*(undefined4 *)(puVar25 + -0x38) = 0" (pointer_expression "*(undefined4 *)(puVar25 + -0x38)" * (cast_expression "(undefined4 *)(puVar25 + -0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x38)" ( (binary_expression "puVar25 + -0x38" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x34) = 0;" (assignment_expression "*(undefined4 *)(puVar25 + -0x34) = 0" (pointer_expression "*(undefined4 *)(puVar25 + -0x34)" * (cast_expression "(undefined4 *)(puVar25 + -0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x34)" ( (binary_expression "puVar25 + -0x34" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x30) = 0;" (assignment_expression "*(undefined4 *)(puVar25 + -0x30) = 0" (pointer_expression "*(undefined4 *)(puVar25 + -0x30)" * (cast_expression "(undefined4 *)(puVar25 + -0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x30)" ( (binary_expression "puVar25 + -0x30" identifier + number_literal) )))) = number_literal) ;) (expression_statement "unaff_s3 = pbVar20;" (assignment_expression "unaff_s3 = pbVar20" identifier = identifier) ;) (expression_statement "unaff_s7 = ppbVar17;" (assignment_expression "unaff_s7 = ppbVar17" identifier = identifier) ;) (if_statement "if ((int)ppbVar17 < 1) {\n      if (pbVar9 == (byte *)0x0) {\n        iVar11 = *(int *)(iVar5 + -0x7fb4) + -0x705c;\n      }\n      else {\n        iVar11 = *(int *)(iVar5 + -0x7fb4) + -0x706c;\n      }\n      ppbVar22 = (byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fb4) + -0x7048,iVar11)\n      ;\n      pbVar21 = (byte *)0xffffffff;\n      *(byte ***)(puVar25 + -0x38) = ppbVar22;\n      (**(code **)(*(int *)(puVar25 + -0x50) + -0x7e40))(pbVar24);\n      pbVar4 = *(byte **)(puVar25 + -0x38);\n      (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))();\n      iVar5 = *(int *)(puVar25 + -0x50);\n    }\n    else {\n      if (pbVar9 == (byte *)0x0) {\n        param_1 = (byte **)0x1;\n        *(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050;\nLAB_000b38a0:\n        unaff_s5 = (byte *)((int)ppbVar17 + (3 - (int)param_1));\n        ppbVar22 = (byte **)((int)unaff_s5 * 4);\n        unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (unaff_s1 == (byte **)0x0) {\nLAB_000b3a30:\n          pbVar4 = pbVar24;\n          (**(code **)(iVar5 + -0x7e2c))();\n          iVar5 = *(int *)(puVar25 + -0x50);\n          goto LAB_000b39d4;\n        }\n        *unaff_s1 = (byte *)0x0;\n        unaff_s1[1] = (byte *)(*(int *)(iVar5 + -0x7fc8) + 0x538c);\n        unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c);\n        if ((int)param_1 < (int)ppbVar17) {\n          unaff_s8 = pbVar20 + (int)param_1 * 4;\n          iVar11 = (int)ppbVar17 * 4;\n          ppbVar22 = unaff_s1 + 3;\n          do {\n            ppbVar17 = ppbVar22 + 1;\n            uVar19 = *(undefined4 *)unaff_s8;\n            unaff_s8 = unaff_s8 + 4;\n            pbVar21 = (byte *)(**(code **)(iVar5 + -0x7f9c))(uVar19);\n            iVar5 = *(int *)(puVar25 + -0x50);\n            *ppbVar22 = pbVar21;\n            ppbVar22 = ppbVar17;\n          } while (pbVar20 + iVar11 != unaff_s8);\n        }\n      }\n      else {\n        if (ppbVar17 != (byte **)0x1) {\n          param_1 = (byte **)&SUB_00000002;\n          uVar19 = (**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)(pbVar20 + 4));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          *(undefined4 *)(puVar25 + -0x3c) = uVar19;\n          goto LAB_000b38a0;\n        }\n        ppbVar22 = (byte **)&DAT_0000000c;\n        unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (unaff_s1 == (byte **)0x0) goto LAB_000b3a30;\n        iVar11 = *(int *)(iVar5 + -0x7fc8);\n        unaff_s5 = (byte *)0x3;\n        *unaff_s1 = (byte *)0x0;\n        unaff_s1[1] = (byte *)(iVar11 + 0x538c);\n        *(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050;\n        unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c);\n      }\n      param_1 = (byte **)(puVar25 + -0x38);\n      unaff_s3 = (byte *)(**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)pbVar20);\n      *(byte ***)(puVar25 + -0x54) = param_1;\n      *(undefined1 **)(puVar25 + -0x58) = puVar25 + -0x30;\n      pbVar21 = unaff_s5;\n      ppbVar22 = (byte **)FUN_000961e8(*(undefined4 *)(puVar25 + -0x44),\n                                       *(undefined4 *)(puVar25 + -0x40),unaff_s5,unaff_s1);\n      iVar5 = *(int *)(puVar25 + -0x50);\n      if (ppbVar22 == (byte **)0x0) {\n        uVar19 = *(undefined4 *)(*(int *)(puVar25 + -0x30) + 0xc);\n        *(byte ***)(puVar25 + -0x58) = param_1;\n        pbVar20 = unaff_s3;\n        ppbVar22 = (byte **)FUN_000b2950(*(int *)(puVar25 + -0x30),uVar19,unaff_s3,puVar25 + -0x34);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        pbVar21 = pbVar20;\n        if (ppbVar22 != (byte **)0x0) goto LAB_000b3964;\n        pbVar21 = *(byte **)(*(int *)(puVar25 + -0x34) + 8);\n        if (*(int *)(pbVar21 + 0xc) == 0) {\n          param_1 = (byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fc8) + 0x53f4);\n          iVar5 = *(int *)(puVar25 + -0x50);\nLAB_000b3aa4:\n          ppbVar10 = *(byte ***)(puVar25 + -0x38);\n          pbVar21 = pbVar20;\n          if (param_1 != (byte **)0x0) goto LAB_000b3aac;\nLAB_000b3b54:\n          ppbVar22 = (byte **)&DAT_00000007;\n          if (ppbVar10 == (byte **)0x0) {\n            pcVar13 = *(code **)(iVar5 + -0x7e34);\n            goto LAB_000b3b60;\n          }\n          goto LAB_000b3970;\n        }\n        if (pbVar9 == (byte *)0x0) {\n          param_1 = (byte **)FUN_00097660();\n          iVar5 = *(int *)(puVar25 + -0x50);\n          goto LAB_000b3aa4;\n        }\n        param_1 = (byte **)FUN_00097234(*(undefined4 *)(puVar25 + -0x30),\n                                        *(undefined4 *)(puVar25 + -0x3c));\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (param_1 == (byte **)0x0) {\n          ppbVar10 = *(byte ***)(puVar25 + -0x38);\n          goto LAB_000b3b54;\n        }\nLAB_000b3aac:\n        pbVar21 = (byte *)0xffffffff;\n        ppbVar22 = param_1;\n        (**(code **)(iVar5 + -0x7f34))(pbVar24,param_1,0xffffffff,0xffffffff);\n        (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(param_1);\n        iVar5 = *(int *)(puVar25 + -0x50);\n      }\n      else {\nLAB_000b3964:\n        ppbVar10 = *(byte ***)(puVar25 + -0x38);\n        pcVar13 = *(code **)(iVar5 + -0x7e34);\n        if (ppbVar10 == (byte **)0x0) {\nLAB_000b3b60:\n          (*pcVar13)(pbVar24);\n          iVar5 = *(int *)(puVar25 + -0x50);\n        }\n        else {\nLAB_000b3970:\n          pbVar21 = (byte *)0xffffffff;\n          (**(code **)(iVar5 + -0x7e40))(pbVar24);\n          (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(*(undefined4 *)(puVar25 + -0x38));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          ppbVar22 = ppbVar10;\n        }\n      }\n      (**(code **)(iVar5 + -0x7f90))(unaff_s1);\n      (*(code *)(*(int *)(*(int *)(puVar25 + -0x50) + -0x7ef0) + -0xe08))\n                (*(undefined4 *)(puVar25 + -0x30));\n      pbVar4 = *(byte **)(puVar25 + -0x34);\n      iVar5 = *(int *)(puVar25 + -0x50);\n      unaff_s7 = ppbVar17;\n      if (pbVar4 != (byte *)0x0) {\n        FUN_000b1fe4();\n        iVar5 = *(int *)(puVar25 + -0x50);\n      }\n    }" if (parenthesized_expression "((int)ppbVar17 < 1)" ( (binary_expression "(int)ppbVar17 < 1" (cast_expression "(int)ppbVar17" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n      if (pbVar9 == (byte *)0x0) {\n        iVar11 = *(int *)(iVar5 + -0x7fb4) + -0x705c;\n      }\n      else {\n        iVar11 = *(int *)(iVar5 + -0x7fb4) + -0x706c;\n      }\n      ppbVar22 = (byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fb4) + -0x7048,iVar11)\n      ;\n      pbVar21 = (byte *)0xffffffff;\n      *(byte ***)(puVar25 + -0x38) = ppbVar22;\n      (**(code **)(*(int *)(puVar25 + -0x50) + -0x7e40))(pbVar24);\n      pbVar4 = *(byte **)(puVar25 + -0x38);\n      (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))();\n      iVar5 = *(int *)(puVar25 + -0x50);\n    }" { (if_statement "if (pbVar9 == (byte *)0x0) {\n        iVar11 = *(int *)(iVar5 + -0x7fb4) + -0x705c;\n      }\n      else {\n        iVar11 = *(int *)(iVar5 + -0x7fb4) + -0x706c;\n      }" if (parenthesized_expression "(pbVar9 == (byte *)0x0)" ( (binary_expression "pbVar9 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        iVar11 = *(int *)(iVar5 + -0x7fb4) + -0x705c;\n      }" { (expression_statement "iVar11 = *(int *)(iVar5 + -0x7fb4) + -0x705c;" (assignment_expression "iVar11 = *(int *)(iVar5 + -0x7fb4) + -0x705c" identifier = (binary_expression "*(int *)(iVar5 + -0x7fb4) + -0x705c" (pointer_expression "*(int *)(iVar5 + -0x7fb4)" * (cast_expression "(int *)(iVar5 + -0x7fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + -0x7fb4)" ( (binary_expression "iVar5 + -0x7fb4" identifier + number_literal) )))) + number_literal)) ;) }) (else_clause "else {\n        iVar11 = *(int *)(iVar5 + -0x7fb4) + -0x706c;\n      }" else (compound_statement "{\n        iVar11 = *(int *)(iVar5 + -0x7fb4) + -0x706c;\n      }" { (expression_statement "iVar11 = *(int *)(iVar5 + -0x7fb4) + -0x706c;" (assignment_expression "iVar11 = *(int *)(iVar5 + -0x7fb4) + -0x706c" identifier = (binary_expression "*(int *)(iVar5 + -0x7fb4) + -0x706c" (pointer_expression "*(int *)(iVar5 + -0x7fb4)" * (cast_expression "(int *)(iVar5 + -0x7fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + -0x7fb4)" ( (binary_expression "iVar5 + -0x7fb4" identifier + number_literal) )))) + number_literal)) ;) }))) (expression_statement "ppbVar22 = (byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fb4) + -0x7048,iVar11)\n      ;" (assignment_expression "ppbVar22 = (byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fb4) + -0x7048,iVar11)" identifier = (cast_expression "(byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fb4) + -0x7048,iVar11)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fb4) + -0x7048,iVar11)" (parenthesized_expression "(**(code **)(iVar5 + -0x7f88))" ( (pointer_expression "**(code **)(iVar5 + -0x7f88)" * (pointer_expression "*(code **)(iVar5 + -0x7f88)" * (cast_expression "(code **)(iVar5 + -0x7f88)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + -0x7f88)" ( (binary_expression "iVar5 + -0x7f88" identifier + number_literal) ))))) )) (argument_list "(*(int *)(iVar5 + -0x7fb4) + -0x7048,iVar11)" ( (binary_expression "*(int *)(iVar5 + -0x7fb4) + -0x7048" (pointer_expression "*(int *)(iVar5 + -0x7fb4)" * (cast_expression "(int *)(iVar5 + -0x7fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + -0x7fb4)" ( (binary_expression "iVar5 + -0x7fb4" identifier + number_literal) )))) + number_literal) , identifier ))))) ;) (expression_statement "pbVar21 = (byte *)0xffffffff;" (assignment_expression "pbVar21 = (byte *)0xffffffff" identifier = (cast_expression "(byte *)0xffffffff" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(byte ***)(puVar25 + -0x38) = ppbVar22;" (assignment_expression "*(byte ***)(puVar25 + -0x38) = ppbVar22" (pointer_expression "*(byte ***)(puVar25 + -0x38)" * (cast_expression "(byte ***)(puVar25 + -0x38)" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar25 + -0x38)" ( (binary_expression "puVar25 + -0x38" identifier + number_literal) )))) = identifier) ;) (expression_statement "(**(code **)(*(int *)(puVar25 + -0x50) + -0x7e40))(pbVar24);" (call_expression "(**(code **)(*(int *)(puVar25 + -0x50) + -0x7e40))(pbVar24)" (parenthesized_expression "(**(code **)(*(int *)(puVar25 + -0x50) + -0x7e40))" ( (pointer_expression "**(code **)(*(int *)(puVar25 + -0x50) + -0x7e40)" * (pointer_expression "*(code **)(*(int *)(puVar25 + -0x50) + -0x7e40)" * (cast_expression "(code **)(*(int *)(puVar25 + -0x50) + -0x7e40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(puVar25 + -0x50) + -0x7e40)" ( (binary_expression "*(int *)(puVar25 + -0x50) + -0x7e40" (pointer_expression "*(int *)(puVar25 + -0x50)" * (cast_expression "(int *)(puVar25 + -0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x50)" ( (binary_expression "puVar25 + -0x50" identifier + number_literal) )))) + number_literal) ))))) )) (argument_list "(pbVar24)" ( identifier ))) ;) (expression_statement "pbVar4 = *(byte **)(puVar25 + -0x38);" (assignment_expression "pbVar4 = *(byte **)(puVar25 + -0x38)" identifier = (pointer_expression "*(byte **)(puVar25 + -0x38)" * (cast_expression "(byte **)(puVar25 + -0x38)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x38)" ( (binary_expression "puVar25 + -0x38" identifier + number_literal) ))))) ;) (expression_statement "(**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))();" (call_expression "(**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))()" (parenthesized_expression "(**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))" ( (pointer_expression "**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90)" * (pointer_expression "*(code **)(*(int *)(puVar25 + -0x50) + -0x7f90)" * (cast_expression "(code **)(*(int *)(puVar25 + -0x50) + -0x7f90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(puVar25 + -0x50) + -0x7f90)" ( (binary_expression "*(int *)(puVar25 + -0x50) + -0x7f90" (pointer_expression "*(int *)(puVar25 + -0x50)" * (cast_expression "(int *)(puVar25 + -0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x50)" ( (binary_expression "puVar25 + -0x50" identifier + number_literal) )))) + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "iVar5 = *(int *)(puVar25 + -0x50);" (assignment_expression "iVar5 = *(int *)(puVar25 + -0x50)" identifier = (pointer_expression "*(int *)(puVar25 + -0x50)" * (cast_expression "(int *)(puVar25 + -0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x50)" ( (binary_expression "puVar25 + -0x50" identifier + number_literal) ))))) ;) }) (else_clause "else {\n      if (pbVar9 == (byte *)0x0) {\n        param_1 = (byte **)0x1;\n        *(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050;\nLAB_000b38a0:\n        unaff_s5 = (byte *)((int)ppbVar17 + (3 - (int)param_1));\n        ppbVar22 = (byte **)((int)unaff_s5 * 4);\n        unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (unaff_s1 == (byte **)0x0) {\nLAB_000b3a30:\n          pbVar4 = pbVar24;\n          (**(code **)(iVar5 + -0x7e2c))();\n          iVar5 = *(int *)(puVar25 + -0x50);\n          goto LAB_000b39d4;\n        }\n        *unaff_s1 = (byte *)0x0;\n        unaff_s1[1] = (byte *)(*(int *)(iVar5 + -0x7fc8) + 0x538c);\n        unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c);\n        if ((int)param_1 < (int)ppbVar17) {\n          unaff_s8 = pbVar20 + (int)param_1 * 4;\n          iVar11 = (int)ppbVar17 * 4;\n          ppbVar22 = unaff_s1 + 3;\n          do {\n            ppbVar17 = ppbVar22 + 1;\n            uVar19 = *(undefined4 *)unaff_s8;\n            unaff_s8 = unaff_s8 + 4;\n            pbVar21 = (byte *)(**(code **)(iVar5 + -0x7f9c))(uVar19);\n            iVar5 = *(int *)(puVar25 + -0x50);\n            *ppbVar22 = pbVar21;\n            ppbVar22 = ppbVar17;\n          } while (pbVar20 + iVar11 != unaff_s8);\n        }\n      }\n      else {\n        if (ppbVar17 != (byte **)0x1) {\n          param_1 = (byte **)&SUB_00000002;\n          uVar19 = (**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)(pbVar20 + 4));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          *(undefined4 *)(puVar25 + -0x3c) = uVar19;\n          goto LAB_000b38a0;\n        }\n        ppbVar22 = (byte **)&DAT_0000000c;\n        unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (unaff_s1 == (byte **)0x0) goto LAB_000b3a30;\n        iVar11 = *(int *)(iVar5 + -0x7fc8);\n        unaff_s5 = (byte *)0x3;\n        *unaff_s1 = (byte *)0x0;\n        unaff_s1[1] = (byte *)(iVar11 + 0x538c);\n        *(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050;\n        unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c);\n      }\n      param_1 = (byte **)(puVar25 + -0x38);\n      unaff_s3 = (byte *)(**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)pbVar20);\n      *(byte ***)(puVar25 + -0x54) = param_1;\n      *(undefined1 **)(puVar25 + -0x58) = puVar25 + -0x30;\n      pbVar21 = unaff_s5;\n      ppbVar22 = (byte **)FUN_000961e8(*(undefined4 *)(puVar25 + -0x44),\n                                       *(undefined4 *)(puVar25 + -0x40),unaff_s5,unaff_s1);\n      iVar5 = *(int *)(puVar25 + -0x50);\n      if (ppbVar22 == (byte **)0x0) {\n        uVar19 = *(undefined4 *)(*(int *)(puVar25 + -0x30) + 0xc);\n        *(byte ***)(puVar25 + -0x58) = param_1;\n        pbVar20 = unaff_s3;\n        ppbVar22 = (byte **)FUN_000b2950(*(int *)(puVar25 + -0x30),uVar19,unaff_s3,puVar25 + -0x34);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        pbVar21 = pbVar20;\n        if (ppbVar22 != (byte **)0x0) goto LAB_000b3964;\n        pbVar21 = *(byte **)(*(int *)(puVar25 + -0x34) + 8);\n        if (*(int *)(pbVar21 + 0xc) == 0) {\n          param_1 = (byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fc8) + 0x53f4);\n          iVar5 = *(int *)(puVar25 + -0x50);\nLAB_000b3aa4:\n          ppbVar10 = *(byte ***)(puVar25 + -0x38);\n          pbVar21 = pbVar20;\n          if (param_1 != (byte **)0x0) goto LAB_000b3aac;\nLAB_000b3b54:\n          ppbVar22 = (byte **)&DAT_00000007;\n          if (ppbVar10 == (byte **)0x0) {\n            pcVar13 = *(code **)(iVar5 + -0x7e34);\n            goto LAB_000b3b60;\n          }\n          goto LAB_000b3970;\n        }\n        if (pbVar9 == (byte *)0x0) {\n          param_1 = (byte **)FUN_00097660();\n          iVar5 = *(int *)(puVar25 + -0x50);\n          goto LAB_000b3aa4;\n        }\n        param_1 = (byte **)FUN_00097234(*(undefined4 *)(puVar25 + -0x30),\n                                        *(undefined4 *)(puVar25 + -0x3c));\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (param_1 == (byte **)0x0) {\n          ppbVar10 = *(byte ***)(puVar25 + -0x38);\n          goto LAB_000b3b54;\n        }\nLAB_000b3aac:\n        pbVar21 = (byte *)0xffffffff;\n        ppbVar22 = param_1;\n        (**(code **)(iVar5 + -0x7f34))(pbVar24,param_1,0xffffffff,0xffffffff);\n        (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(param_1);\n        iVar5 = *(int *)(puVar25 + -0x50);\n      }\n      else {\nLAB_000b3964:\n        ppbVar10 = *(byte ***)(puVar25 + -0x38);\n        pcVar13 = *(code **)(iVar5 + -0x7e34);\n        if (ppbVar10 == (byte **)0x0) {\nLAB_000b3b60:\n          (*pcVar13)(pbVar24);\n          iVar5 = *(int *)(puVar25 + -0x50);\n        }\n        else {\nLAB_000b3970:\n          pbVar21 = (byte *)0xffffffff;\n          (**(code **)(iVar5 + -0x7e40))(pbVar24);\n          (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(*(undefined4 *)(puVar25 + -0x38));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          ppbVar22 = ppbVar10;\n        }\n      }\n      (**(code **)(iVar5 + -0x7f90))(unaff_s1);\n      (*(code *)(*(int *)(*(int *)(puVar25 + -0x50) + -0x7ef0) + -0xe08))\n                (*(undefined4 *)(puVar25 + -0x30));\n      pbVar4 = *(byte **)(puVar25 + -0x34);\n      iVar5 = *(int *)(puVar25 + -0x50);\n      unaff_s7 = ppbVar17;\n      if (pbVar4 != (byte *)0x0) {\n        FUN_000b1fe4();\n        iVar5 = *(int *)(puVar25 + -0x50);\n      }\n    }" else (compound_statement "{\n      if (pbVar9 == (byte *)0x0) {\n        param_1 = (byte **)0x1;\n        *(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050;\nLAB_000b38a0:\n        unaff_s5 = (byte *)((int)ppbVar17 + (3 - (int)param_1));\n        ppbVar22 = (byte **)((int)unaff_s5 * 4);\n        unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (unaff_s1 == (byte **)0x0) {\nLAB_000b3a30:\n          pbVar4 = pbVar24;\n          (**(code **)(iVar5 + -0x7e2c))();\n          iVar5 = *(int *)(puVar25 + -0x50);\n          goto LAB_000b39d4;\n        }\n        *unaff_s1 = (byte *)0x0;\n        unaff_s1[1] = (byte *)(*(int *)(iVar5 + -0x7fc8) + 0x538c);\n        unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c);\n        if ((int)param_1 < (int)ppbVar17) {\n          unaff_s8 = pbVar20 + (int)param_1 * 4;\n          iVar11 = (int)ppbVar17 * 4;\n          ppbVar22 = unaff_s1 + 3;\n          do {\n            ppbVar17 = ppbVar22 + 1;\n            uVar19 = *(undefined4 *)unaff_s8;\n            unaff_s8 = unaff_s8 + 4;\n            pbVar21 = (byte *)(**(code **)(iVar5 + -0x7f9c))(uVar19);\n            iVar5 = *(int *)(puVar25 + -0x50);\n            *ppbVar22 = pbVar21;\n            ppbVar22 = ppbVar17;\n          } while (pbVar20 + iVar11 != unaff_s8);\n        }\n      }\n      else {\n        if (ppbVar17 != (byte **)0x1) {\n          param_1 = (byte **)&SUB_00000002;\n          uVar19 = (**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)(pbVar20 + 4));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          *(undefined4 *)(puVar25 + -0x3c) = uVar19;\n          goto LAB_000b38a0;\n        }\n        ppbVar22 = (byte **)&DAT_0000000c;\n        unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (unaff_s1 == (byte **)0x0) goto LAB_000b3a30;\n        iVar11 = *(int *)(iVar5 + -0x7fc8);\n        unaff_s5 = (byte *)0x3;\n        *unaff_s1 = (byte *)0x0;\n        unaff_s1[1] = (byte *)(iVar11 + 0x538c);\n        *(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050;\n        unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c);\n      }\n      param_1 = (byte **)(puVar25 + -0x38);\n      unaff_s3 = (byte *)(**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)pbVar20);\n      *(byte ***)(puVar25 + -0x54) = param_1;\n      *(undefined1 **)(puVar25 + -0x58) = puVar25 + -0x30;\n      pbVar21 = unaff_s5;\n      ppbVar22 = (byte **)FUN_000961e8(*(undefined4 *)(puVar25 + -0x44),\n                                       *(undefined4 *)(puVar25 + -0x40),unaff_s5,unaff_s1);\n      iVar5 = *(int *)(puVar25 + -0x50);\n      if (ppbVar22 == (byte **)0x0) {\n        uVar19 = *(undefined4 *)(*(int *)(puVar25 + -0x30) + 0xc);\n        *(byte ***)(puVar25 + -0x58) = param_1;\n        pbVar20 = unaff_s3;\n        ppbVar22 = (byte **)FUN_000b2950(*(int *)(puVar25 + -0x30),uVar19,unaff_s3,puVar25 + -0x34);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        pbVar21 = pbVar20;\n        if (ppbVar22 != (byte **)0x0) goto LAB_000b3964;\n        pbVar21 = *(byte **)(*(int *)(puVar25 + -0x34) + 8);\n        if (*(int *)(pbVar21 + 0xc) == 0) {\n          param_1 = (byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fc8) + 0x53f4);\n          iVar5 = *(int *)(puVar25 + -0x50);\nLAB_000b3aa4:\n          ppbVar10 = *(byte ***)(puVar25 + -0x38);\n          pbVar21 = pbVar20;\n          if (param_1 != (byte **)0x0) goto LAB_000b3aac;\nLAB_000b3b54:\n          ppbVar22 = (byte **)&DAT_00000007;\n          if (ppbVar10 == (byte **)0x0) {\n            pcVar13 = *(code **)(iVar5 + -0x7e34);\n            goto LAB_000b3b60;\n          }\n          goto LAB_000b3970;\n        }\n        if (pbVar9 == (byte *)0x0) {\n          param_1 = (byte **)FUN_00097660();\n          iVar5 = *(int *)(puVar25 + -0x50);\n          goto LAB_000b3aa4;\n        }\n        param_1 = (byte **)FUN_00097234(*(undefined4 *)(puVar25 + -0x30),\n                                        *(undefined4 *)(puVar25 + -0x3c));\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (param_1 == (byte **)0x0) {\n          ppbVar10 = *(byte ***)(puVar25 + -0x38);\n          goto LAB_000b3b54;\n        }\nLAB_000b3aac:\n        pbVar21 = (byte *)0xffffffff;\n        ppbVar22 = param_1;\n        (**(code **)(iVar5 + -0x7f34))(pbVar24,param_1,0xffffffff,0xffffffff);\n        (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(param_1);\n        iVar5 = *(int *)(puVar25 + -0x50);\n      }\n      else {\nLAB_000b3964:\n        ppbVar10 = *(byte ***)(puVar25 + -0x38);\n        pcVar13 = *(code **)(iVar5 + -0x7e34);\n        if (ppbVar10 == (byte **)0x0) {\nLAB_000b3b60:\n          (*pcVar13)(pbVar24);\n          iVar5 = *(int *)(puVar25 + -0x50);\n        }\n        else {\nLAB_000b3970:\n          pbVar21 = (byte *)0xffffffff;\n          (**(code **)(iVar5 + -0x7e40))(pbVar24);\n          (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(*(undefined4 *)(puVar25 + -0x38));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          ppbVar22 = ppbVar10;\n        }\n      }\n      (**(code **)(iVar5 + -0x7f90))(unaff_s1);\n      (*(code *)(*(int *)(*(int *)(puVar25 + -0x50) + -0x7ef0) + -0xe08))\n                (*(undefined4 *)(puVar25 + -0x30));\n      pbVar4 = *(byte **)(puVar25 + -0x34);\n      iVar5 = *(int *)(puVar25 + -0x50);\n      unaff_s7 = ppbVar17;\n      if (pbVar4 != (byte *)0x0) {\n        FUN_000b1fe4();\n        iVar5 = *(int *)(puVar25 + -0x50);\n      }\n    }" { (if_statement "if (pbVar9 == (byte *)0x0) {\n        param_1 = (byte **)0x1;\n        *(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050;\nLAB_000b38a0:\n        unaff_s5 = (byte *)((int)ppbVar17 + (3 - (int)param_1));\n        ppbVar22 = (byte **)((int)unaff_s5 * 4);\n        unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (unaff_s1 == (byte **)0x0) {\nLAB_000b3a30:\n          pbVar4 = pbVar24;\n          (**(code **)(iVar5 + -0x7e2c))();\n          iVar5 = *(int *)(puVar25 + -0x50);\n          goto LAB_000b39d4;\n        }\n        *unaff_s1 = (byte *)0x0;\n        unaff_s1[1] = (byte *)(*(int *)(iVar5 + -0x7fc8) + 0x538c);\n        unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c);\n        if ((int)param_1 < (int)ppbVar17) {\n          unaff_s8 = pbVar20 + (int)param_1 * 4;\n          iVar11 = (int)ppbVar17 * 4;\n          ppbVar22 = unaff_s1 + 3;\n          do {\n            ppbVar17 = ppbVar22 + 1;\n            uVar19 = *(undefined4 *)unaff_s8;\n            unaff_s8 = unaff_s8 + 4;\n            pbVar21 = (byte *)(**(code **)(iVar5 + -0x7f9c))(uVar19);\n            iVar5 = *(int *)(puVar25 + -0x50);\n            *ppbVar22 = pbVar21;\n            ppbVar22 = ppbVar17;\n          } while (pbVar20 + iVar11 != unaff_s8);\n        }\n      }\n      else {\n        if (ppbVar17 != (byte **)0x1) {\n          param_1 = (byte **)&SUB_00000002;\n          uVar19 = (**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)(pbVar20 + 4));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          *(undefined4 *)(puVar25 + -0x3c) = uVar19;\n          goto LAB_000b38a0;\n        }\n        ppbVar22 = (byte **)&DAT_0000000c;\n        unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (unaff_s1 == (byte **)0x0) goto LAB_000b3a30;\n        iVar11 = *(int *)(iVar5 + -0x7fc8);\n        unaff_s5 = (byte *)0x3;\n        *unaff_s1 = (byte *)0x0;\n        unaff_s1[1] = (byte *)(iVar11 + 0x538c);\n        *(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050;\n        unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c);\n      }" if (parenthesized_expression "(pbVar9 == (byte *)0x0)" ( (binary_expression "pbVar9 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        param_1 = (byte **)0x1;\n        *(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050;\nLAB_000b38a0:\n        unaff_s5 = (byte *)((int)ppbVar17 + (3 - (int)param_1));\n        ppbVar22 = (byte **)((int)unaff_s5 * 4);\n        unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (unaff_s1 == (byte **)0x0) {\nLAB_000b3a30:\n          pbVar4 = pbVar24;\n          (**(code **)(iVar5 + -0x7e2c))();\n          iVar5 = *(int *)(puVar25 + -0x50);\n          goto LAB_000b39d4;\n        }\n        *unaff_s1 = (byte *)0x0;\n        unaff_s1[1] = (byte *)(*(int *)(iVar5 + -0x7fc8) + 0x538c);\n        unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c);\n        if ((int)param_1 < (int)ppbVar17) {\n          unaff_s8 = pbVar20 + (int)param_1 * 4;\n          iVar11 = (int)ppbVar17 * 4;\n          ppbVar22 = unaff_s1 + 3;\n          do {\n            ppbVar17 = ppbVar22 + 1;\n            uVar19 = *(undefined4 *)unaff_s8;\n            unaff_s8 = unaff_s8 + 4;\n            pbVar21 = (byte *)(**(code **)(iVar5 + -0x7f9c))(uVar19);\n            iVar5 = *(int *)(puVar25 + -0x50);\n            *ppbVar22 = pbVar21;\n            ppbVar22 = ppbVar17;\n          } while (pbVar20 + iVar11 != unaff_s8);\n        }\n      }" { (expression_statement "param_1 = (byte **)0x1;" (assignment_expression "param_1 = (byte **)0x1" identifier = (cast_expression "(byte **)0x1" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "*(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050;" (assignment_expression "*(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050" (pointer_expression "*(int *)(puVar25 + -0x3c)" * (cast_expression "(int *)(puVar25 + -0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x3c)" ( (binary_expression "puVar25 + -0x3c" identifier + number_literal) )))) = (binary_expression "*(int *)(iVar5 + -0x7fb4) + -0x7050" (pointer_expression "*(int *)(iVar5 + -0x7fb4)" * (cast_expression "(int *)(iVar5 + -0x7fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + -0x7fb4)" ( (binary_expression "iVar5 + -0x7fb4" identifier + number_literal) )))) + number_literal)) ;) (labeled_statement "LAB_000b38a0:\n        unaff_s5 = (byte *)((int)ppbVar17 + (3 - (int)param_1));" statement_identifier : (expression_statement "unaff_s5 = (byte *)((int)ppbVar17 + (3 - (int)param_1));" (assignment_expression "unaff_s5 = (byte *)((int)ppbVar17 + (3 - (int)param_1))" identifier = (cast_expression "(byte *)((int)ppbVar17 + (3 - (int)param_1))" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppbVar17 + (3 - (int)param_1))" ( (binary_expression "(int)ppbVar17 + (3 - (int)param_1)" (cast_expression "(int)ppbVar17" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "(3 - (int)param_1)" ( (binary_expression "3 - (int)param_1" number_literal - (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) ;)) (expression_statement "ppbVar22 = (byte **)((int)unaff_s5 * 4);" (assignment_expression "ppbVar22 = (byte **)((int)unaff_s5 * 4)" identifier = (cast_expression "(byte **)((int)unaff_s5 * 4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)unaff_s5 * 4)" ( (binary_expression "(int)unaff_s5 * 4" (cast_expression "(int)unaff_s5" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) )))) ;) (expression_statement "unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0);" (assignment_expression "unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0)" identifier = (cast_expression "(byte **)(**(code **)(iVar5 + -0x7e50))(0)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(**(code **)(iVar5 + -0x7e50))(0)" (parenthesized_expression "(**(code **)(iVar5 + -0x7e50))" ( (pointer_expression "**(code **)(iVar5 + -0x7e50)" * (pointer_expression "*(code **)(iVar5 + -0x7e50)" * (cast_expression "(code **)(iVar5 + -0x7e50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + -0x7e50)" ( (binary_expression "iVar5 + -0x7e50" identifier + number_literal) ))))) )) (argument_list "(0)" ( number_literal ))))) ;) (expression_statement "iVar5 = *(int *)(puVar25 + -0x50);" (assignment_expression "iVar5 = *(int *)(puVar25 + -0x50)" identifier = (pointer_expression "*(int *)(puVar25 + -0x50)" * (cast_expression "(int *)(puVar25 + -0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x50)" ( (binary_expression "puVar25 + -0x50" identifier + number_literal) ))))) ;) (if_statement "if (unaff_s1 == (byte **)0x0) {\nLAB_000b3a30:\n          pbVar4 = pbVar24;\n          (**(code **)(iVar5 + -0x7e2c))();\n          iVar5 = *(int *)(puVar25 + -0x50);\n          goto LAB_000b39d4;\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 "*" *))) ) number_literal)) )) (compound_statement "{\nLAB_000b3a30:\n          pbVar4 = pbVar24;\n          (**(code **)(iVar5 + -0x7e2c))();\n          iVar5 = *(int *)(puVar25 + -0x50);\n          goto LAB_000b39d4;\n        }" { (labeled_statement "LAB_000b3a30:\n          pbVar4 = pbVar24;" statement_identifier : (expression_statement "pbVar4 = pbVar24;" (assignment_expression "pbVar4 = pbVar24" identifier = identifier) ;)) (expression_statement "(**(code **)(iVar5 + -0x7e2c))();" (call_expression "(**(code **)(iVar5 + -0x7e2c))()" (parenthesized_expression "(**(code **)(iVar5 + -0x7e2c))" ( (pointer_expression "**(code **)(iVar5 + -0x7e2c)" * (pointer_expression "*(code **)(iVar5 + -0x7e2c)" * (cast_expression "(code **)(iVar5 + -0x7e2c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + -0x7e2c)" ( (binary_expression "iVar5 + -0x7e2c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "iVar5 = *(int *)(puVar25 + -0x50);" (assignment_expression "iVar5 = *(int *)(puVar25 + -0x50)" identifier = (pointer_expression "*(int *)(puVar25 + -0x50)" * (cast_expression "(int *)(puVar25 + -0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x50)" ( (binary_expression "puVar25 + -0x50" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_000b39d4;" goto statement_identifier ;) })) (expression_statement "*unaff_s1 = (byte *)0x0;" (assignment_expression "*unaff_s1 = (byte *)0x0" (pointer_expression "*unaff_s1" * identifier) = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "unaff_s1[1] = (byte *)(*(int *)(iVar5 + -0x7fc8) + 0x538c);" (assignment_expression "unaff_s1[1] = (byte *)(*(int *)(iVar5 + -0x7fc8) + 0x538c)" (subscript_expression "unaff_s1[1]" identifier [ number_literal ]) = (cast_expression "(byte *)(*(int *)(iVar5 + -0x7fc8) + 0x538c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar5 + -0x7fc8) + 0x538c)" ( (binary_expression "*(int *)(iVar5 + -0x7fc8) + 0x538c" (pointer_expression "*(int *)(iVar5 + -0x7fc8)" * (cast_expression "(int *)(iVar5 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + -0x7fc8)" ( (binary_expression "iVar5 + -0x7fc8" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c);" (assignment_expression "unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c)" (subscript_expression "unaff_s1[2]" identifier [ number_literal ]) = (cast_expression "(byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar5 + -0x7fb4) + -0x701c)" ( (binary_expression "*(int *)(iVar5 + -0x7fb4) + -0x701c" (pointer_expression "*(int *)(iVar5 + -0x7fb4)" * (cast_expression "(int *)(iVar5 + -0x7fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + -0x7fb4)" ( (binary_expression "iVar5 + -0x7fb4" identifier + number_literal) )))) + number_literal) )))) ;) (if_statement "if ((int)param_1 < (int)ppbVar17) {\n          unaff_s8 = pbVar20 + (int)param_1 * 4;\n          iVar11 = (int)ppbVar17 * 4;\n          ppbVar22 = unaff_s1 + 3;\n          do {\n            ppbVar17 = ppbVar22 + 1;\n            uVar19 = *(undefined4 *)unaff_s8;\n            unaff_s8 = unaff_s8 + 4;\n            pbVar21 = (byte *)(**(code **)(iVar5 + -0x7f9c))(uVar19);\n            iVar5 = *(int *)(puVar25 + -0x50);\n            *ppbVar22 = pbVar21;\n            ppbVar22 = ppbVar17;\n          } while (pbVar20 + iVar11 != unaff_s8);\n        }" if (parenthesized_expression "((int)param_1 < (int)ppbVar17)" ( (binary_expression "(int)param_1 < (int)ppbVar17" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)ppbVar17" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          unaff_s8 = pbVar20 + (int)param_1 * 4;\n          iVar11 = (int)ppbVar17 * 4;\n          ppbVar22 = unaff_s1 + 3;\n          do {\n            ppbVar17 = ppbVar22 + 1;\n            uVar19 = *(undefined4 *)unaff_s8;\n            unaff_s8 = unaff_s8 + 4;\n            pbVar21 = (byte *)(**(code **)(iVar5 + -0x7f9c))(uVar19);\n            iVar5 = *(int *)(puVar25 + -0x50);\n            *ppbVar22 = pbVar21;\n            ppbVar22 = ppbVar17;\n          } while (pbVar20 + iVar11 != unaff_s8);\n        }" { (expression_statement "unaff_s8 = pbVar20 + (int)param_1 * 4;" (assignment_expression "unaff_s8 = pbVar20 + (int)param_1 * 4" identifier = (binary_expression "pbVar20 + (int)param_1 * 4" identifier + (binary_expression "(int)param_1 * 4" (cast_expression "(int)param_1" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal))) ;) (expression_statement "iVar11 = (int)ppbVar17 * 4;" (assignment_expression "iVar11 = (int)ppbVar17 * 4" identifier = (binary_expression "(int)ppbVar17 * 4" (cast_expression "(int)ppbVar17" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ;) (expression_statement "ppbVar22 = unaff_s1 + 3;" (assignment_expression "ppbVar22 = unaff_s1 + 3" identifier = (binary_expression "unaff_s1 + 3" identifier + number_literal)) ;) (do_statement "do {\n            ppbVar17 = ppbVar22 + 1;\n            uVar19 = *(undefined4 *)unaff_s8;\n            unaff_s8 = unaff_s8 + 4;\n            pbVar21 = (byte *)(**(code **)(iVar5 + -0x7f9c))(uVar19);\n            iVar5 = *(int *)(puVar25 + -0x50);\n            *ppbVar22 = pbVar21;\n            ppbVar22 = ppbVar17;\n          } while (pbVar20 + iVar11 != unaff_s8);" do (compound_statement "{\n            ppbVar17 = ppbVar22 + 1;\n            uVar19 = *(undefined4 *)unaff_s8;\n            unaff_s8 = unaff_s8 + 4;\n            pbVar21 = (byte *)(**(code **)(iVar5 + -0x7f9c))(uVar19);\n            iVar5 = *(int *)(puVar25 + -0x50);\n            *ppbVar22 = pbVar21;\n            ppbVar22 = ppbVar17;\n          }" { (expression_statement "ppbVar17 = ppbVar22 + 1;" (assignment_expression "ppbVar17 = ppbVar22 + 1" identifier = (binary_expression "ppbVar22 + 1" identifier + number_literal)) ;) (expression_statement "uVar19 = *(undefined4 *)unaff_s8;" (assignment_expression "uVar19 = *(undefined4 *)unaff_s8" identifier = (pointer_expression "*(undefined4 *)unaff_s8" * (cast_expression "(undefined4 *)unaff_s8" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "unaff_s8 = unaff_s8 + 4;" (assignment_expression "unaff_s8 = unaff_s8 + 4" identifier = (binary_expression "unaff_s8 + 4" identifier + number_literal)) ;) (expression_statement "pbVar21 = (byte *)(**(code **)(iVar5 + -0x7f9c))(uVar19);" (assignment_expression "pbVar21 = (byte *)(**(code **)(iVar5 + -0x7f9c))(uVar19)" identifier = (cast_expression "(byte *)(**(code **)(iVar5 + -0x7f9c))(uVar19)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(iVar5 + -0x7f9c))(uVar19)" (parenthesized_expression "(**(code **)(iVar5 + -0x7f9c))" ( (pointer_expression "**(code **)(iVar5 + -0x7f9c)" * (pointer_expression "*(code **)(iVar5 + -0x7f9c)" * (cast_expression "(code **)(iVar5 + -0x7f9c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + -0x7f9c)" ( (binary_expression "iVar5 + -0x7f9c" identifier + number_literal) ))))) )) (argument_list "(uVar19)" ( identifier ))))) ;) (expression_statement "iVar5 = *(int *)(puVar25 + -0x50);" (assignment_expression "iVar5 = *(int *)(puVar25 + -0x50)" identifier = (pointer_expression "*(int *)(puVar25 + -0x50)" * (cast_expression "(int *)(puVar25 + -0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x50)" ( (binary_expression "puVar25 + -0x50" identifier + number_literal) ))))) ;) (expression_statement "*ppbVar22 = pbVar21;" (assignment_expression "*ppbVar22 = pbVar21" (pointer_expression "*ppbVar22" * identifier) = identifier) ;) (expression_statement "ppbVar22 = ppbVar17;" (assignment_expression "ppbVar22 = ppbVar17" identifier = identifier) ;) }) while (parenthesized_expression "(pbVar20 + iVar11 != unaff_s8)" ( (binary_expression "pbVar20 + iVar11 != unaff_s8" (binary_expression "pbVar20 + iVar11" identifier + identifier) != identifier) )) ;) })) }) (else_clause "else {\n        if (ppbVar17 != (byte **)0x1) {\n          param_1 = (byte **)&SUB_00000002;\n          uVar19 = (**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)(pbVar20 + 4));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          *(undefined4 *)(puVar25 + -0x3c) = uVar19;\n          goto LAB_000b38a0;\n        }\n        ppbVar22 = (byte **)&DAT_0000000c;\n        unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (unaff_s1 == (byte **)0x0) goto LAB_000b3a30;\n        iVar11 = *(int *)(iVar5 + -0x7fc8);\n        unaff_s5 = (byte *)0x3;\n        *unaff_s1 = (byte *)0x0;\n        unaff_s1[1] = (byte *)(iVar11 + 0x538c);\n        *(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050;\n        unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c);\n      }" else (compound_statement "{\n        if (ppbVar17 != (byte **)0x1) {\n          param_1 = (byte **)&SUB_00000002;\n          uVar19 = (**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)(pbVar20 + 4));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          *(undefined4 *)(puVar25 + -0x3c) = uVar19;\n          goto LAB_000b38a0;\n        }\n        ppbVar22 = (byte **)&DAT_0000000c;\n        unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (unaff_s1 == (byte **)0x0) goto LAB_000b3a30;\n        iVar11 = *(int *)(iVar5 + -0x7fc8);\n        unaff_s5 = (byte *)0x3;\n        *unaff_s1 = (byte *)0x0;\n        unaff_s1[1] = (byte *)(iVar11 + 0x538c);\n        *(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050;\n        unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c);\n      }" { (if_statement "if (ppbVar17 != (byte **)0x1) {\n          param_1 = (byte **)&SUB_00000002;\n          uVar19 = (**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)(pbVar20 + 4));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          *(undefined4 *)(puVar25 + -0x3c) = uVar19;\n          goto LAB_000b38a0;\n        }" if (parenthesized_expression "(ppbVar17 != (byte **)0x1)" ( (binary_expression "ppbVar17 != (byte **)0x1" identifier != (cast_expression "(byte **)0x1" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n          param_1 = (byte **)&SUB_00000002;\n          uVar19 = (**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)(pbVar20 + 4));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          *(undefined4 *)(puVar25 + -0x3c) = uVar19;\n          goto LAB_000b38a0;\n        }" { (expression_statement "param_1 = (byte **)&SUB_00000002;" (assignment_expression "param_1 = (byte **)&SUB_00000002" identifier = (cast_expression "(byte **)&SUB_00000002" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&SUB_00000002" & identifier))) ;) (expression_statement "uVar19 = (**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)(pbVar20 + 4));" (assignment_expression "uVar19 = (**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)(pbVar20 + 4))" identifier = (call_expression "(**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)(pbVar20 + 4))" (parenthesized_expression "(**(code **)(iVar5 + -0x7f9c))" ( (pointer_expression "**(code **)(iVar5 + -0x7f9c)" * (pointer_expression "*(code **)(iVar5 + -0x7f9c)" * (cast_expression "(code **)(iVar5 + -0x7f9c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + -0x7f9c)" ( (binary_expression "iVar5 + -0x7f9c" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)(pbVar20 + 4))" ( (pointer_expression "*(undefined4 *)(pbVar20 + 4)" * (cast_expression "(undefined4 *)(pbVar20 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar20 + 4)" ( (binary_expression "pbVar20 + 4" identifier + number_literal) )))) )))) ;) (expression_statement "iVar5 = *(int *)(puVar25 + -0x50);" (assignment_expression "iVar5 = *(int *)(puVar25 + -0x50)" identifier = (pointer_expression "*(int *)(puVar25 + -0x50)" * (cast_expression "(int *)(puVar25 + -0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x50)" ( (binary_expression "puVar25 + -0x50" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar25 + -0x3c) = uVar19;" (assignment_expression "*(undefined4 *)(puVar25 + -0x3c) = uVar19" (pointer_expression "*(undefined4 *)(puVar25 + -0x3c)" * (cast_expression "(undefined4 *)(puVar25 + -0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x3c)" ( (binary_expression "puVar25 + -0x3c" identifier + number_literal) )))) = identifier) ;) (goto_statement "goto LAB_000b38a0;" goto statement_identifier ;) })) (expression_statement "ppbVar22 = (byte **)&DAT_0000000c;" (assignment_expression "ppbVar22 = (byte **)&DAT_0000000c" identifier = (cast_expression "(byte **)&DAT_0000000c" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&DAT_0000000c" & identifier))) ;) (expression_statement "unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0);" (assignment_expression "unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0)" identifier = (cast_expression "(byte **)(**(code **)(iVar5 + -0x7e50))(0)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(**(code **)(iVar5 + -0x7e50))(0)" (parenthesized_expression "(**(code **)(iVar5 + -0x7e50))" ( (pointer_expression "**(code **)(iVar5 + -0x7e50)" * (pointer_expression "*(code **)(iVar5 + -0x7e50)" * (cast_expression "(code **)(iVar5 + -0x7e50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + -0x7e50)" ( (binary_expression "iVar5 + -0x7e50" identifier + number_literal) ))))) )) (argument_list "(0)" ( number_literal ))))) ;) (expression_statement "iVar5 = *(int *)(puVar25 + -0x50);" (assignment_expression "iVar5 = *(int *)(puVar25 + -0x50)" identifier = (pointer_expression "*(int *)(puVar25 + -0x50)" * (cast_expression "(int *)(puVar25 + -0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x50)" ( (binary_expression "puVar25 + -0x50" identifier + number_literal) ))))) ;) (if_statement "if (unaff_s1 == (byte **)0x0) goto LAB_000b3a30;" 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 "*" *))) ) number_literal)) )) (goto_statement "goto LAB_000b3a30;" goto statement_identifier ;)) (expression_statement "iVar11 = *(int *)(iVar5 + -0x7fc8);" (assignment_expression "iVar11 = *(int *)(iVar5 + -0x7fc8)" identifier = (pointer_expression "*(int *)(iVar5 + -0x7fc8)" * (cast_expression "(int *)(iVar5 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + -0x7fc8)" ( (binary_expression "iVar5 + -0x7fc8" identifier + number_literal) ))))) ;) (expression_statement "unaff_s5 = (byte *)0x3;" (assignment_expression "unaff_s5 = (byte *)0x3" identifier = (cast_expression "(byte *)0x3" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*unaff_s1 = (byte *)0x0;" (assignment_expression "*unaff_s1 = (byte *)0x0" (pointer_expression "*unaff_s1" * identifier) = (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "unaff_s1[1] = (byte *)(iVar11 + 0x538c);" (assignment_expression "unaff_s1[1] = (byte *)(iVar11 + 0x538c)" (subscript_expression "unaff_s1[1]" identifier [ number_literal ]) = (cast_expression "(byte *)(iVar11 + 0x538c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0x538c)" ( (binary_expression "iVar11 + 0x538c" identifier + number_literal) )))) ;) (expression_statement "*(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050;" (assignment_expression "*(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050" (pointer_expression "*(int *)(puVar25 + -0x3c)" * (cast_expression "(int *)(puVar25 + -0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x3c)" ( (binary_expression "puVar25 + -0x3c" identifier + number_literal) )))) = (binary_expression "*(int *)(iVar5 + -0x7fb4) + -0x7050" (pointer_expression "*(int *)(iVar5 + -0x7fb4)" * (cast_expression "(int *)(iVar5 + -0x7fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + -0x7fb4)" ( (binary_expression "iVar5 + -0x7fb4" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c);" (assignment_expression "unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c)" (subscript_expression "unaff_s1[2]" identifier [ number_literal ]) = (cast_expression "(byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar5 + -0x7fb4) + -0x701c)" ( (binary_expression "*(int *)(iVar5 + -0x7fb4) + -0x701c" (pointer_expression "*(int *)(iVar5 + -0x7fb4)" * (cast_expression "(int *)(iVar5 + -0x7fb4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + -0x7fb4)" ( (binary_expression "iVar5 + -0x7fb4" identifier + number_literal) )))) + number_literal) )))) ;) }))) (expression_statement "param_1 = (byte **)(puVar25 + -0x38);" (assignment_expression "param_1 = (byte **)(puVar25 + -0x38)" identifier = (cast_expression "(byte **)(puVar25 + -0x38)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x38)" ( (binary_expression "puVar25 + -0x38" identifier + number_literal) )))) ;) (expression_statement "unaff_s3 = (byte *)(**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)pbVar20);" (assignment_expression "unaff_s3 = (byte *)(**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)pbVar20)" identifier = (cast_expression "(byte *)(**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)pbVar20)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)pbVar20)" (parenthesized_expression "(**(code **)(iVar5 + -0x7f9c))" ( (pointer_expression "**(code **)(iVar5 + -0x7f9c)" * (pointer_expression "*(code **)(iVar5 + -0x7f9c)" * (cast_expression "(code **)(iVar5 + -0x7f9c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + -0x7f9c)" ( (binary_expression "iVar5 + -0x7f9c" identifier + number_literal) ))))) )) (argument_list "(*(undefined4 *)pbVar20)" ( (pointer_expression "*(undefined4 *)pbVar20" * (cast_expression "(undefined4 *)pbVar20" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))))) ;) (expression_statement "*(byte ***)(puVar25 + -0x54) = param_1;" (assignment_expression "*(byte ***)(puVar25 + -0x54) = param_1" (pointer_expression "*(byte ***)(puVar25 + -0x54)" * (cast_expression "(byte ***)(puVar25 + -0x54)" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar25 + -0x54)" ( (binary_expression "puVar25 + -0x54" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 **)(puVar25 + -0x58) = puVar25 + -0x30;" (assignment_expression "*(undefined1 **)(puVar25 + -0x58) = puVar25 + -0x30" (pointer_expression "*(undefined1 **)(puVar25 + -0x58)" * (cast_expression "(undefined1 **)(puVar25 + -0x58)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x58)" ( (binary_expression "puVar25 + -0x58" identifier + number_literal) )))) = (binary_expression "puVar25 + -0x30" identifier + number_literal)) ;) (expression_statement "pbVar21 = unaff_s5;" (assignment_expression "pbVar21 = unaff_s5" identifier = identifier) ;) (expression_statement "ppbVar22 = (byte **)FUN_000961e8(*(undefined4 *)(puVar25 + -0x44),\n                                       *(undefined4 *)(puVar25 + -0x40),unaff_s5,unaff_s1);" (assignment_expression "ppbVar22 = (byte **)FUN_000961e8(*(undefined4 *)(puVar25 + -0x44),\n                                       *(undefined4 *)(puVar25 + -0x40),unaff_s5,unaff_s1)" identifier = (cast_expression "(byte **)FUN_000961e8(*(undefined4 *)(puVar25 + -0x44),\n                                       *(undefined4 *)(puVar25 + -0x40),unaff_s5,unaff_s1)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "FUN_000961e8(*(undefined4 *)(puVar25 + -0x44),\n                                       *(undefined4 *)(puVar25 + -0x40),unaff_s5,unaff_s1)" identifier (argument_list "(*(undefined4 *)(puVar25 + -0x44),\n                                       *(undefined4 *)(puVar25 + -0x40),unaff_s5,unaff_s1)" ( (pointer_expression "*(undefined4 *)(puVar25 + -0x44)" * (cast_expression "(undefined4 *)(puVar25 + -0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x44)" ( (binary_expression "puVar25 + -0x44" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(puVar25 + -0x40)" * (cast_expression "(undefined4 *)(puVar25 + -0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x40)" ( (binary_expression "puVar25 + -0x40" identifier + number_literal) )))) , identifier , identifier ))))) ;) (expression_statement "iVar5 = *(int *)(puVar25 + -0x50);" (assignment_expression "iVar5 = *(int *)(puVar25 + -0x50)" identifier = (pointer_expression "*(int *)(puVar25 + -0x50)" * (cast_expression "(int *)(puVar25 + -0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x50)" ( (binary_expression "puVar25 + -0x50" identifier + number_literal) ))))) ;) (if_statement "if (ppbVar22 == (byte **)0x0) {\n        uVar19 = *(undefined4 *)(*(int *)(puVar25 + -0x30) + 0xc);\n        *(byte ***)(puVar25 + -0x58) = param_1;\n        pbVar20 = unaff_s3;\n        ppbVar22 = (byte **)FUN_000b2950(*(int *)(puVar25 + -0x30),uVar19,unaff_s3,puVar25 + -0x34);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        pbVar21 = pbVar20;\n        if (ppbVar22 != (byte **)0x0) goto LAB_000b3964;\n        pbVar21 = *(byte **)(*(int *)(puVar25 + -0x34) + 8);\n        if (*(int *)(pbVar21 + 0xc) == 0) {\n          param_1 = (byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fc8) + 0x53f4);\n          iVar5 = *(int *)(puVar25 + -0x50);\nLAB_000b3aa4:\n          ppbVar10 = *(byte ***)(puVar25 + -0x38);\n          pbVar21 = pbVar20;\n          if (param_1 != (byte **)0x0) goto LAB_000b3aac;\nLAB_000b3b54:\n          ppbVar22 = (byte **)&DAT_00000007;\n          if (ppbVar10 == (byte **)0x0) {\n            pcVar13 = *(code **)(iVar5 + -0x7e34);\n            goto LAB_000b3b60;\n          }\n          goto LAB_000b3970;\n        }\n        if (pbVar9 == (byte *)0x0) {\n          param_1 = (byte **)FUN_00097660();\n          iVar5 = *(int *)(puVar25 + -0x50);\n          goto LAB_000b3aa4;\n        }\n        param_1 = (byte **)FUN_00097234(*(undefined4 *)(puVar25 + -0x30),\n                                        *(undefined4 *)(puVar25 + -0x3c));\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (param_1 == (byte **)0x0) {\n          ppbVar10 = *(byte ***)(puVar25 + -0x38);\n          goto LAB_000b3b54;\n        }\nLAB_000b3aac:\n        pbVar21 = (byte *)0xffffffff;\n        ppbVar22 = param_1;\n        (**(code **)(iVar5 + -0x7f34))(pbVar24,param_1,0xffffffff,0xffffffff);\n        (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(param_1);\n        iVar5 = *(int *)(puVar25 + -0x50);\n      }\n      else {\nLAB_000b3964:\n        ppbVar10 = *(byte ***)(puVar25 + -0x38);\n        pcVar13 = *(code **)(iVar5 + -0x7e34);\n        if (ppbVar10 == (byte **)0x0) {\nLAB_000b3b60:\n          (*pcVar13)(pbVar24);\n          iVar5 = *(int *)(puVar25 + -0x50);\n        }\n        else {\nLAB_000b3970:\n          pbVar21 = (byte *)0xffffffff;\n          (**(code **)(iVar5 + -0x7e40))(pbVar24);\n          (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(*(undefined4 *)(puVar25 + -0x38));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          ppbVar22 = ppbVar10;\n        }\n      }" if (parenthesized_expression "(ppbVar22 == (byte **)0x0)" ( (binary_expression "ppbVar22 == (byte **)0x0" identifier == (cast_expression "(byte **)0x0" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n        uVar19 = *(undefined4 *)(*(int *)(puVar25 + -0x30) + 0xc);\n        *(byte ***)(puVar25 + -0x58) = param_1;\n        pbVar20 = unaff_s3;\n        ppbVar22 = (byte **)FUN_000b2950(*(int *)(puVar25 + -0x30),uVar19,unaff_s3,puVar25 + -0x34);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        pbVar21 = pbVar20;\n        if (ppbVar22 != (byte **)0x0) goto LAB_000b3964;\n        pbVar21 = *(byte **)(*(int *)(puVar25 + -0x34) + 8);\n        if (*(int *)(pbVar21 + 0xc) == 0) {\n          param_1 = (byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fc8) + 0x53f4);\n          iVar5 = *(int *)(puVar25 + -0x50);\nLAB_000b3aa4:\n          ppbVar10 = *(byte ***)(puVar25 + -0x38);\n          pbVar21 = pbVar20;\n          if (param_1 != (byte **)0x0) goto LAB_000b3aac;\nLAB_000b3b54:\n          ppbVar22 = (byte **)&DAT_00000007;\n          if (ppbVar10 == (byte **)0x0) {\n            pcVar13 = *(code **)(iVar5 + -0x7e34);\n            goto LAB_000b3b60;\n          }\n          goto LAB_000b3970;\n        }\n        if (pbVar9 == (byte *)0x0) {\n          param_1 = (byte **)FUN_00097660();\n          iVar5 = *(int *)(puVar25 + -0x50);\n          goto LAB_000b3aa4;\n        }\n        param_1 = (byte **)FUN_00097234(*(undefined4 *)(puVar25 + -0x30),\n                                        *(undefined4 *)(puVar25 + -0x3c));\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (param_1 == (byte **)0x0) {\n          ppbVar10 = *(byte ***)(puVar25 + -0x38);\n          goto LAB_000b3b54;\n        }\nLAB_000b3aac:\n        pbVar21 = (byte *)0xffffffff;\n        ppbVar22 = param_1;\n        (**(code **)(iVar5 + -0x7f34))(pbVar24,param_1,0xffffffff,0xffffffff);\n        (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(param_1);\n        iVar5 = *(int *)(puVar25 + -0x50);\n      }" { (expression_statement "uVar19 = *(undefined4 *)(*(int *)(puVar25 + -0x30) + 0xc);" (assignment_expression "uVar19 = *(undefined4 *)(*(int *)(puVar25 + -0x30) + 0xc)" identifier = (pointer_expression "*(undefined4 *)(*(int *)(puVar25 + -0x30) + 0xc)" * (cast_expression "(undefined4 *)(*(int *)(puVar25 + -0x30) + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar25 + -0x30) + 0xc)" ( (binary_expression "*(int *)(puVar25 + -0x30) + 0xc" (pointer_expression "*(int *)(puVar25 + -0x30)" * (cast_expression "(int *)(puVar25 + -0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x30)" ( (binary_expression "puVar25 + -0x30" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "*(byte ***)(puVar25 + -0x58) = param_1;" (assignment_expression "*(byte ***)(puVar25 + -0x58) = param_1" (pointer_expression "*(byte ***)(puVar25 + -0x58)" * (cast_expression "(byte ***)(puVar25 + -0x58)" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar25 + -0x58)" ( (binary_expression "puVar25 + -0x58" identifier + number_literal) )))) = identifier) ;) (expression_statement "pbVar20 = unaff_s3;" (assignment_expression "pbVar20 = unaff_s3" identifier = identifier) ;) (expression_statement "ppbVar22 = (byte **)FUN_000b2950(*(int *)(puVar25 + -0x30),uVar19,unaff_s3,puVar25 + -0x34);" (assignment_expression "ppbVar22 = (byte **)FUN_000b2950(*(int *)(puVar25 + -0x30),uVar19,unaff_s3,puVar25 + -0x34)" identifier = (cast_expression "(byte **)FUN_000b2950(*(int *)(puVar25 + -0x30),uVar19,unaff_s3,puVar25 + -0x34)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "FUN_000b2950(*(int *)(puVar25 + -0x30),uVar19,unaff_s3,puVar25 + -0x34)" identifier (argument_list "(*(int *)(puVar25 + -0x30),uVar19,unaff_s3,puVar25 + -0x34)" ( (pointer_expression "*(int *)(puVar25 + -0x30)" * (cast_expression "(int *)(puVar25 + -0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x30)" ( (binary_expression "puVar25 + -0x30" identifier + number_literal) )))) , identifier , identifier , (binary_expression "puVar25 + -0x34" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = *(int *)(puVar25 + -0x50);" (assignment_expression "iVar5 = *(int *)(puVar25 + -0x50)" identifier = (pointer_expression "*(int *)(puVar25 + -0x50)" * (cast_expression "(int *)(puVar25 + -0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x50)" ( (binary_expression "puVar25 + -0x50" identifier + number_literal) ))))) ;) (expression_statement "pbVar21 = pbVar20;" (assignment_expression "pbVar21 = pbVar20" identifier = identifier) ;) (if_statement "if (ppbVar22 != (byte **)0x0) goto LAB_000b3964;" if (parenthesized_expression "(ppbVar22 != (byte **)0x0)" ( (binary_expression "ppbVar22 != (byte **)0x0" identifier != (cast_expression "(byte **)0x0" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (goto_statement "goto LAB_000b3964;" goto statement_identifier ;)) (expression_statement "pbVar21 = *(byte **)(*(int *)(puVar25 + -0x34) + 8);" (assignment_expression "pbVar21 = *(byte **)(*(int *)(puVar25 + -0x34) + 8)" identifier = (pointer_expression "*(byte **)(*(int *)(puVar25 + -0x34) + 8)" * (cast_expression "(byte **)(*(int *)(puVar25 + -0x34) + 8)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(puVar25 + -0x34) + 8)" ( (binary_expression "*(int *)(puVar25 + -0x34) + 8" (pointer_expression "*(int *)(puVar25 + -0x34)" * (cast_expression "(int *)(puVar25 + -0x34)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x34)" ( (binary_expression "puVar25 + -0x34" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (*(int *)(pbVar21 + 0xc) == 0) {\n          param_1 = (byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fc8) + 0x53f4);\n          iVar5 = *(int *)(puVar25 + -0x50);\nLAB_000b3aa4:\n          ppbVar10 = *(byte ***)(puVar25 + -0x38);\n          pbVar21 = pbVar20;\n          if (param_1 != (byte **)0x0) goto LAB_000b3aac;\nLAB_000b3b54:\n          ppbVar22 = (byte **)&DAT_00000007;\n          if (ppbVar10 == (byte **)0x0) {\n            pcVar13 = *(code **)(iVar5 + -0x7e34);\n            goto LAB_000b3b60;\n          }\n          goto LAB_000b3970;\n        }" if (parenthesized_expression "(*(int *)(pbVar21 + 0xc) == 0)" ( (binary_expression "*(int *)(pbVar21 + 0xc) == 0" (pointer_expression "*(int *)(pbVar21 + 0xc)" * (cast_expression "(int *)(pbVar21 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar21 + 0xc)" ( (binary_expression "pbVar21 + 0xc" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n          param_1 = (byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fc8) + 0x53f4);\n          iVar5 = *(int *)(puVar25 + -0x50);\nLAB_000b3aa4:\n          ppbVar10 = *(byte ***)(puVar25 + -0x38);\n          pbVar21 = pbVar20;\n          if (param_1 != (byte **)0x0) goto LAB_000b3aac;\nLAB_000b3b54:\n          ppbVar22 = (byte **)&DAT_00000007;\n          if (ppbVar10 == (byte **)0x0) {\n            pcVar13 = *(code **)(iVar5 + -0x7e34);\n            goto LAB_000b3b60;\n          }\n          goto LAB_000b3970;\n        }" { (expression_statement "param_1 = (byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fc8) + 0x53f4);" (assignment_expression "param_1 = (byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fc8) + 0x53f4)" identifier = (cast_expression "(byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fc8) + 0x53f4)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fc8) + 0x53f4)" (parenthesized_expression "(**(code **)(iVar5 + -0x7f88))" ( (pointer_expression "**(code **)(iVar5 + -0x7f88)" * (pointer_expression "*(code **)(iVar5 + -0x7f88)" * (cast_expression "(code **)(iVar5 + -0x7f88)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + -0x7f88)" ( (binary_expression "iVar5 + -0x7f88" identifier + number_literal) ))))) )) (argument_list "(*(int *)(iVar5 + -0x7fc8) + 0x53f4)" ( (binary_expression "*(int *)(iVar5 + -0x7fc8) + 0x53f4" (pointer_expression "*(int *)(iVar5 + -0x7fc8)" * (cast_expression "(int *)(iVar5 + -0x7fc8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar5 + -0x7fc8)" ( (binary_expression "iVar5 + -0x7fc8" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "iVar5 = *(int *)(puVar25 + -0x50);" (assignment_expression "iVar5 = *(int *)(puVar25 + -0x50)" identifier = (pointer_expression "*(int *)(puVar25 + -0x50)" * (cast_expression "(int *)(puVar25 + -0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x50)" ( (binary_expression "puVar25 + -0x50" identifier + number_literal) ))))) ;) (labeled_statement "LAB_000b3aa4:\n          ppbVar10 = *(byte ***)(puVar25 + -0x38);" statement_identifier : (expression_statement "ppbVar10 = *(byte ***)(puVar25 + -0x38);" (assignment_expression "ppbVar10 = *(byte ***)(puVar25 + -0x38)" identifier = (pointer_expression "*(byte ***)(puVar25 + -0x38)" * (cast_expression "(byte ***)(puVar25 + -0x38)" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar25 + -0x38)" ( (binary_expression "puVar25 + -0x38" identifier + number_literal) ))))) ;)) (expression_statement "pbVar21 = pbVar20;" (assignment_expression "pbVar21 = pbVar20" identifier = identifier) ;) (if_statement "if (param_1 != (byte **)0x0) goto LAB_000b3aac;" if (parenthesized_expression "(param_1 != (byte **)0x0)" ( (binary_expression "param_1 != (byte **)0x0" identifier != (cast_expression "(byte **)0x0" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (goto_statement "goto LAB_000b3aac;" goto statement_identifier ;)) (labeled_statement "LAB_000b3b54:\n          ppbVar22 = (byte **)&DAT_00000007;" statement_identifier : (expression_statement "ppbVar22 = (byte **)&DAT_00000007;" (assignment_expression "ppbVar22 = (byte **)&DAT_00000007" identifier = (cast_expression "(byte **)&DAT_00000007" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&DAT_00000007" & identifier))) ;)) (if_statement "if (ppbVar10 == (byte **)0x0) {\n            pcVar13 = *(code **)(iVar5 + -0x7e34);\n            goto LAB_000b3b60;\n          }" if (parenthesized_expression "(ppbVar10 == (byte **)0x0)" ( (binary_expression "ppbVar10 == (byte **)0x0" identifier == (cast_expression "(byte **)0x0" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n            pcVar13 = *(code **)(iVar5 + -0x7e34);\n            goto LAB_000b3b60;\n          }" { (expression_statement "pcVar13 = *(code **)(iVar5 + -0x7e34);" (assignment_expression "pcVar13 = *(code **)(iVar5 + -0x7e34)" identifier = (pointer_expression "*(code **)(iVar5 + -0x7e34)" * (cast_expression "(code **)(iVar5 + -0x7e34)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + -0x7e34)" ( (binary_expression "iVar5 + -0x7e34" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_000b3b60;" goto statement_identifier ;) })) (goto_statement "goto LAB_000b3970;" goto statement_identifier ;) })) (if_statement "if (pbVar9 == (byte *)0x0) {\n          param_1 = (byte **)FUN_00097660();\n          iVar5 = *(int *)(puVar25 + -0x50);\n          goto LAB_000b3aa4;\n        }" if (parenthesized_expression "(pbVar9 == (byte *)0x0)" ( (binary_expression "pbVar9 == (byte *)0x0" identifier == (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          param_1 = (byte **)FUN_00097660();\n          iVar5 = *(int *)(puVar25 + -0x50);\n          goto LAB_000b3aa4;\n        }" { (expression_statement "param_1 = (byte **)FUN_00097660();" (assignment_expression "param_1 = (byte **)FUN_00097660()" identifier = (cast_expression "(byte **)FUN_00097660()" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "FUN_00097660()" identifier (argument_list "()" ( ))))) ;) (expression_statement "iVar5 = *(int *)(puVar25 + -0x50);" (assignment_expression "iVar5 = *(int *)(puVar25 + -0x50)" identifier = (pointer_expression "*(int *)(puVar25 + -0x50)" * (cast_expression "(int *)(puVar25 + -0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x50)" ( (binary_expression "puVar25 + -0x50" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_000b3aa4;" goto statement_identifier ;) })) (expression_statement "param_1 = (byte **)FUN_00097234(*(undefined4 *)(puVar25 + -0x30),\n                                        *(undefined4 *)(puVar25 + -0x3c));" (assignment_expression "param_1 = (byte **)FUN_00097234(*(undefined4 *)(puVar25 + -0x30),\n                                        *(undefined4 *)(puVar25 + -0x3c))" identifier = (cast_expression "(byte **)FUN_00097234(*(undefined4 *)(puVar25 + -0x30),\n                                        *(undefined4 *)(puVar25 + -0x3c))" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "FUN_00097234(*(undefined4 *)(puVar25 + -0x30),\n                                        *(undefined4 *)(puVar25 + -0x3c))" identifier (argument_list "(*(undefined4 *)(puVar25 + -0x30),\n                                        *(undefined4 *)(puVar25 + -0x3c))" ( (pointer_expression "*(undefined4 *)(puVar25 + -0x30)" * (cast_expression "(undefined4 *)(puVar25 + -0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x30)" ( (binary_expression "puVar25 + -0x30" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(puVar25 + -0x3c)" * (cast_expression "(undefined4 *)(puVar25 + -0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x3c)" ( (binary_expression "puVar25 + -0x3c" identifier + number_literal) )))) ))))) ;) (expression_statement "iVar5 = *(int *)(puVar25 + -0x50);" (assignment_expression "iVar5 = *(int *)(puVar25 + -0x50)" identifier = (pointer_expression "*(int *)(puVar25 + -0x50)" * (cast_expression "(int *)(puVar25 + -0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x50)" ( (binary_expression "puVar25 + -0x50" identifier + number_literal) ))))) ;) (if_statement "if (param_1 == (byte **)0x0) {\n          ppbVar10 = *(byte ***)(puVar25 + -0x38);\n          goto LAB_000b3b54;\n        }" if (parenthesized_expression "(param_1 == (byte **)0x0)" ( (binary_expression "param_1 == (byte **)0x0" identifier == (cast_expression "(byte **)0x0" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n          ppbVar10 = *(byte ***)(puVar25 + -0x38);\n          goto LAB_000b3b54;\n        }" { (expression_statement "ppbVar10 = *(byte ***)(puVar25 + -0x38);" (assignment_expression "ppbVar10 = *(byte ***)(puVar25 + -0x38)" identifier = (pointer_expression "*(byte ***)(puVar25 + -0x38)" * (cast_expression "(byte ***)(puVar25 + -0x38)" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar25 + -0x38)" ( (binary_expression "puVar25 + -0x38" identifier + number_literal) ))))) ;) (goto_statement "goto LAB_000b3b54;" goto statement_identifier ;) })) (labeled_statement "LAB_000b3aac:\n        pbVar21 = (byte *)0xffffffff;" statement_identifier : (expression_statement "pbVar21 = (byte *)0xffffffff;" (assignment_expression "pbVar21 = (byte *)0xffffffff" identifier = (cast_expression "(byte *)0xffffffff" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "ppbVar22 = param_1;" (assignment_expression "ppbVar22 = param_1" identifier = identifier) ;) (expression_statement "(**(code **)(iVar5 + -0x7f34))(pbVar24,param_1,0xffffffff,0xffffffff);" (call_expression "(**(code **)(iVar5 + -0x7f34))(pbVar24,param_1,0xffffffff,0xffffffff)" (parenthesized_expression "(**(code **)(iVar5 + -0x7f34))" ( (pointer_expression "**(code **)(iVar5 + -0x7f34)" * (pointer_expression "*(code **)(iVar5 + -0x7f34)" * (cast_expression "(code **)(iVar5 + -0x7f34)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + -0x7f34)" ( (binary_expression "iVar5 + -0x7f34" identifier + number_literal) ))))) )) (argument_list "(pbVar24,param_1,0xffffffff,0xffffffff)" ( identifier , identifier , number_literal , number_literal ))) ;) (expression_statement "(**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(param_1);" (call_expression "(**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(param_1)" (parenthesized_expression "(**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))" ( (pointer_expression "**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90)" * (pointer_expression "*(code **)(*(int *)(puVar25 + -0x50) + -0x7f90)" * (cast_expression "(code **)(*(int *)(puVar25 + -0x50) + -0x7f90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(puVar25 + -0x50) + -0x7f90)" ( (binary_expression "*(int *)(puVar25 + -0x50) + -0x7f90" (pointer_expression "*(int *)(puVar25 + -0x50)" * (cast_expression "(int *)(puVar25 + -0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x50)" ( (binary_expression "puVar25 + -0x50" identifier + number_literal) )))) + number_literal) ))))) )) (argument_list "(param_1)" ( identifier ))) ;) (expression_statement "iVar5 = *(int *)(puVar25 + -0x50);" (assignment_expression "iVar5 = *(int *)(puVar25 + -0x50)" identifier = (pointer_expression "*(int *)(puVar25 + -0x50)" * (cast_expression "(int *)(puVar25 + -0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x50)" ( (binary_expression "puVar25 + -0x50" identifier + number_literal) ))))) ;) }) (else_clause "else {\nLAB_000b3964:\n        ppbVar10 = *(byte ***)(puVar25 + -0x38);\n        pcVar13 = *(code **)(iVar5 + -0x7e34);\n        if (ppbVar10 == (byte **)0x0) {\nLAB_000b3b60:\n          (*pcVar13)(pbVar24);\n          iVar5 = *(int *)(puVar25 + -0x50);\n        }\n        else {\nLAB_000b3970:\n          pbVar21 = (byte *)0xffffffff;\n          (**(code **)(iVar5 + -0x7e40))(pbVar24);\n          (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(*(undefined4 *)(puVar25 + -0x38));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          ppbVar22 = ppbVar10;\n        }\n      }" else (compound_statement "{\nLAB_000b3964:\n        ppbVar10 = *(byte ***)(puVar25 + -0x38);\n        pcVar13 = *(code **)(iVar5 + -0x7e34);\n        if (ppbVar10 == (byte **)0x0) {\nLAB_000b3b60:\n          (*pcVar13)(pbVar24);\n          iVar5 = *(int *)(puVar25 + -0x50);\n        }\n        else {\nLAB_000b3970:\n          pbVar21 = (byte *)0xffffffff;\n          (**(code **)(iVar5 + -0x7e40))(pbVar24);\n          (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(*(undefined4 *)(puVar25 + -0x38));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          ppbVar22 = ppbVar10;\n        }\n      }" { (labeled_statement "LAB_000b3964:\n        ppbVar10 = *(byte ***)(puVar25 + -0x38);" statement_identifier : (expression_statement "ppbVar10 = *(byte ***)(puVar25 + -0x38);" (assignment_expression "ppbVar10 = *(byte ***)(puVar25 + -0x38)" identifier = (pointer_expression "*(byte ***)(puVar25 + -0x38)" * (cast_expression "(byte ***)(puVar25 + -0x38)" ( (type_descriptor "byte ***" type_identifier (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar25 + -0x38)" ( (binary_expression "puVar25 + -0x38" identifier + number_literal) ))))) ;)) (expression_statement "pcVar13 = *(code **)(iVar5 + -0x7e34);" (assignment_expression "pcVar13 = *(code **)(iVar5 + -0x7e34)" identifier = (pointer_expression "*(code **)(iVar5 + -0x7e34)" * (cast_expression "(code **)(iVar5 + -0x7e34)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + -0x7e34)" ( (binary_expression "iVar5 + -0x7e34" identifier + number_literal) ))))) ;) (if_statement "if (ppbVar10 == (byte **)0x0) {\nLAB_000b3b60:\n          (*pcVar13)(pbVar24);\n          iVar5 = *(int *)(puVar25 + -0x50);\n        }\n        else {\nLAB_000b3970:\n          pbVar21 = (byte *)0xffffffff;\n          (**(code **)(iVar5 + -0x7e40))(pbVar24);\n          (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(*(undefined4 *)(puVar25 + -0x38));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          ppbVar22 = ppbVar10;\n        }" if (parenthesized_expression "(ppbVar10 == (byte **)0x0)" ( (binary_expression "ppbVar10 == (byte **)0x0" identifier == (cast_expression "(byte **)0x0" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\nLAB_000b3b60:\n          (*pcVar13)(pbVar24);\n          iVar5 = *(int *)(puVar25 + -0x50);\n        }" { (labeled_statement "LAB_000b3b60:\n          (*pcVar13)(pbVar24);" statement_identifier : (expression_statement "(*pcVar13)(pbVar24);" (call_expression "(*pcVar13)(pbVar24)" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "(pbVar24)" ( identifier ))) ;)) (expression_statement "iVar5 = *(int *)(puVar25 + -0x50);" (assignment_expression "iVar5 = *(int *)(puVar25 + -0x50)" identifier = (pointer_expression "*(int *)(puVar25 + -0x50)" * (cast_expression "(int *)(puVar25 + -0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x50)" ( (binary_expression "puVar25 + -0x50" identifier + number_literal) ))))) ;) }) (else_clause "else {\nLAB_000b3970:\n          pbVar21 = (byte *)0xffffffff;\n          (**(code **)(iVar5 + -0x7e40))(pbVar24);\n          (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(*(undefined4 *)(puVar25 + -0x38));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          ppbVar22 = ppbVar10;\n        }" else (compound_statement "{\nLAB_000b3970:\n          pbVar21 = (byte *)0xffffffff;\n          (**(code **)(iVar5 + -0x7e40))(pbVar24);\n          (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(*(undefined4 *)(puVar25 + -0x38));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          ppbVar22 = ppbVar10;\n        }" { (labeled_statement "LAB_000b3970:\n          pbVar21 = (byte *)0xffffffff;" statement_identifier : (expression_statement "pbVar21 = (byte *)0xffffffff;" (assignment_expression "pbVar21 = (byte *)0xffffffff" identifier = (cast_expression "(byte *)0xffffffff" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;)) (expression_statement "(**(code **)(iVar5 + -0x7e40))(pbVar24);" (call_expression "(**(code **)(iVar5 + -0x7e40))(pbVar24)" (parenthesized_expression "(**(code **)(iVar5 + -0x7e40))" ( (pointer_expression "**(code **)(iVar5 + -0x7e40)" * (pointer_expression "*(code **)(iVar5 + -0x7e40)" * (cast_expression "(code **)(iVar5 + -0x7e40)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + -0x7e40)" ( (binary_expression "iVar5 + -0x7e40" identifier + number_literal) ))))) )) (argument_list "(pbVar24)" ( identifier ))) ;) (expression_statement "(**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(*(undefined4 *)(puVar25 + -0x38));" (call_expression "(**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(*(undefined4 *)(puVar25 + -0x38))" (parenthesized_expression "(**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))" ( (pointer_expression "**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90)" * (pointer_expression "*(code **)(*(int *)(puVar25 + -0x50) + -0x7f90)" * (cast_expression "(code **)(*(int *)(puVar25 + -0x50) + -0x7f90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(puVar25 + -0x50) + -0x7f90)" ( (binary_expression "*(int *)(puVar25 + -0x50) + -0x7f90" (pointer_expression "*(int *)(puVar25 + -0x50)" * (cast_expression "(int *)(puVar25 + -0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x50)" ( (binary_expression "puVar25 + -0x50" identifier + number_literal) )))) + number_literal) ))))) )) (argument_list "(*(undefined4 *)(puVar25 + -0x38))" ( (pointer_expression "*(undefined4 *)(puVar25 + -0x38)" * (cast_expression "(undefined4 *)(puVar25 + -0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x38)" ( (binary_expression "puVar25 + -0x38" identifier + number_literal) )))) ))) ;) (expression_statement "iVar5 = *(int *)(puVar25 + -0x50);" (assignment_expression "iVar5 = *(int *)(puVar25 + -0x50)" identifier = (pointer_expression "*(int *)(puVar25 + -0x50)" * (cast_expression "(int *)(puVar25 + -0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x50)" ( (binary_expression "puVar25 + -0x50" identifier + number_literal) ))))) ;) (expression_statement "ppbVar22 = ppbVar10;" (assignment_expression "ppbVar22 = ppbVar10" identifier = identifier) ;) }))) }))) (expression_statement "(**(code **)(iVar5 + -0x7f90))(unaff_s1);" (call_expression "(**(code **)(iVar5 + -0x7f90))(unaff_s1)" (parenthesized_expression "(**(code **)(iVar5 + -0x7f90))" ( (pointer_expression "**(code **)(iVar5 + -0x7f90)" * (pointer_expression "*(code **)(iVar5 + -0x7f90)" * (cast_expression "(code **)(iVar5 + -0x7f90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + -0x7f90)" ( (binary_expression "iVar5 + -0x7f90" identifier + number_literal) ))))) )) (argument_list "(unaff_s1)" ( identifier ))) ;) (expression_statement "(*(code *)(*(int *)(*(int *)(puVar25 + -0x50) + -0x7ef0) + -0xe08))\n                (*(undefined4 *)(puVar25 + -0x30));" (call_expression "(*(code *)(*(int *)(*(int *)(puVar25 + -0x50) + -0x7ef0) + -0xe08))\n                (*(undefined4 *)(puVar25 + -0x30))" (parenthesized_expression "(*(code *)(*(int *)(*(int *)(puVar25 + -0x50) + -0x7ef0) + -0xe08))" ( (pointer_expression "*(code *)(*(int *)(*(int *)(puVar25 + -0x50) + -0x7ef0) + -0xe08)" * (cast_expression "(code *)(*(int *)(*(int *)(puVar25 + -0x50) + -0x7ef0) + -0xe08)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(*(int *)(puVar25 + -0x50) + -0x7ef0) + -0xe08)" ( (binary_expression "*(int *)(*(int *)(puVar25 + -0x50) + -0x7ef0) + -0xe08" (pointer_expression "*(int *)(*(int *)(puVar25 + -0x50) + -0x7ef0)" * (cast_expression "(int *)(*(int *)(puVar25 + -0x50) + -0x7ef0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar25 + -0x50) + -0x7ef0)" ( (binary_expression "*(int *)(puVar25 + -0x50) + -0x7ef0" (pointer_expression "*(int *)(puVar25 + -0x50)" * (cast_expression "(int *)(puVar25 + -0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x50)" ( (binary_expression "puVar25 + -0x50" identifier + number_literal) )))) + number_literal) )))) + number_literal) )))) )) (argument_list "(*(undefined4 *)(puVar25 + -0x30))" ( (pointer_expression "*(undefined4 *)(puVar25 + -0x30)" * (cast_expression "(undefined4 *)(puVar25 + -0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x30)" ( (binary_expression "puVar25 + -0x30" identifier + number_literal) )))) ))) ;) (expression_statement "pbVar4 = *(byte **)(puVar25 + -0x34);" (assignment_expression "pbVar4 = *(byte **)(puVar25 + -0x34)" identifier = (pointer_expression "*(byte **)(puVar25 + -0x34)" * (cast_expression "(byte **)(puVar25 + -0x34)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + -0x34)" ( (binary_expression "puVar25 + -0x34" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = *(int *)(puVar25 + -0x50);" (assignment_expression "iVar5 = *(int *)(puVar25 + -0x50)" identifier = (pointer_expression "*(int *)(puVar25 + -0x50)" * (cast_expression "(int *)(puVar25 + -0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x50)" ( (binary_expression "puVar25 + -0x50" identifier + number_literal) ))))) ;) (expression_statement "unaff_s7 = ppbVar17;" (assignment_expression "unaff_s7 = ppbVar17" identifier = identifier) ;) (if_statement "if (pbVar4 != (byte *)0x0) {\n        FUN_000b1fe4();\n        iVar5 = *(int *)(puVar25 + -0x50);\n      }" if (parenthesized_expression "(pbVar4 != (byte *)0x0)" ( (binary_expression "pbVar4 != (byte *)0x0" identifier != (cast_expression "(byte *)0x0" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        FUN_000b1fe4();\n        iVar5 = *(int *)(puVar25 + -0x50);\n      }" { (expression_statement "FUN_000b1fe4();" (call_expression "FUN_000b1fe4()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar5 = *(int *)(puVar25 + -0x50);" (assignment_expression "iVar5 = *(int *)(puVar25 + -0x50)" identifier = (pointer_expression "*(int *)(puVar25 + -0x50)" * (cast_expression "(int *)(puVar25 + -0x50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x50)" ( (binary_expression "puVar25 + -0x50" identifier + number_literal) ))))) ;) })) }))) (labeled_statement "LAB_000b39d4:\n    if (*(int *)(puVar25 + -0x2c) == *(int *)unaff_s2) {\n      return *(int *)unaff_s2;\n    }" statement_identifier : (if_statement "if (*(int *)(puVar25 + -0x2c) == *(int *)unaff_s2) {\n      return *(int *)unaff_s2;\n    }" if (parenthesized_expression "(*(int *)(puVar25 + -0x2c) == *(int *)unaff_s2)" ( (binary_expression "*(int *)(puVar25 + -0x2c) == *(int *)unaff_s2" (pointer_expression "*(int *)(puVar25 + -0x2c)" * (cast_expression "(int *)(puVar25 + -0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + -0x2c)" ( (binary_expression "puVar25 + -0x2c" identifier + number_literal) )))) == (pointer_expression "*(int *)unaff_s2" * (cast_expression "(int *)unaff_s2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n      return *(int *)unaff_s2;\n    }" { (return_statement "return *(int *)unaff_s2;" return (pointer_expression "*(int *)unaff_s2" * (cast_expression "(int *)unaff_s2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) }))) (expression_statement "pcVar13 = *(code **)(iVar5 + -0x7ba0);" (assignment_expression "pcVar13 = *(code **)(iVar5 + -0x7ba0)" identifier = (pointer_expression "*(code **)(iVar5 + -0x7ba0)" * (cast_expression "(code **)(iVar5 + -0x7ba0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar5 + -0x7ba0)" ( (binary_expression "iVar5 + -0x7ba0" identifier + number_literal) ))))) ;) (expression_statement "uVar19 = 0xb3bf0;" (assignment_expression "uVar19 = 0xb3bf0" identifier = number_literal) ;) (expression_statement "(*pcVar13)();" (call_expression "(*pcVar13)()" (parenthesized_expression "(*pcVar13)" ( (pointer_expression "*pcVar13" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "puVar7 = (undefined *)(*(int *)(pcVar13 + 0xa7b08) + 0x37f8);" (assignment_expression "puVar7 = (undefined *)(*(int *)(pcVar13 + 0xa7b08) + 0x37f8)" identifier = (cast_expression "(undefined *)(*(int *)(pcVar13 + 0xa7b08) + 0x37f8)" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar13 + 0xa7b08) + 0x37f8)" ( (binary_expression "*(int *)(pcVar13 + 0xa7b08) + 0x37f8" (pointer_expression "*(int *)(pcVar13 + 0xa7b08)" * (cast_expression "(int *)(pcVar13 + 0xa7b08)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar13 + 0xa7b08)" ( (binary_expression "pcVar13 + 0xa7b08" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "ppbVar17 = ppbVar22;" (assignment_expression "ppbVar17 = ppbVar22" identifier = identifier) ;) (expression_statement "pbVar20 = pbVar21;" (assignment_expression "pbVar20 = pbVar21" identifier = identifier) ;) (expression_statement "pbVar21 = (byte *)0x1;" (assignment_expression "pbVar21 = (byte *)0x1" identifier = (cast_expression "(byte *)0x1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "unaff_s4 = pbVar24;" (assignment_expression "unaff_s4 = pbVar24" identifier = identifier) ;) (expression_statement "unaff_s6 = pbVar9;" (assignment_expression "unaff_s6 = pbVar9" identifier = identifier) ;) (expression_statement "puVar25 = puVar25 + -0x68;" (assignment_expression "puVar25 = puVar25 + -0x68" identifier = (binary_expression "puVar25 + -0x68" identifier + number_literal)) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * (pointer_declarator * IDENT))) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * 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 *))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = 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 *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) IDENT)) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT)))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) & LIT) )) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT >> (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) & LIT) ))) )) << LIT) ))) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (goto_statement goto statement_identifier ;) })) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ IDENT ]) != (char_literal ' escape_sequence ')) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (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 *))) ) IDENT)) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) }) while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) || (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ (cast_expression ( (type_descriptor TYPE) ) IDENT) ]) != (char_literal ' escape_sequence ')) ))) )) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (unary_expression - (cast_expression ( (type_descriptor TYPE) ) IDENT)))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression & IDENT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) }))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression & IDENT)) , (binary_expression (subscript_expression IDENT [ LIT ]) == LIT)) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression & IDENT)) , (binary_expression (subscript_expression IDENT [ LIT ]) == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))))) (goto_statement goto statement_identifier ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) , (binary_expression IDENT != LIT)) )) (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (break_statement break ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (unary_expression - (cast_expression ( (type_descriptor TYPE) ) IDENT)))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) })) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (pointer_expression & IDENT) ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }))))))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & 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 *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & 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 *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }))))))))))))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;)) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) IDENT))) ;) (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 *))))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( IDENT ))) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT) < IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ (cast_expression ( (type_descriptor TYPE) ) IDENT) ])))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) < IDENT) )) (goto_statement goto statement_identifier ;)) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ (cast_expression ( (type_descriptor TYPE) ) IDENT) ]))) == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))) ])))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( IDENT ))) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) IDENT)) = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < (binary_expression IDENT + LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) IDENT)) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT) < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))) & LIT) )))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) 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) + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) }))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) IDENT)) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))))) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) || (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) )) (break_statement break ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))) ]))) )))) )) (argument_list ( )))) ;) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) 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) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + LIT) ))))))) ])))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (subscript_expression IDENT [ (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + LIT) ))))))) ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) (goto_statement goto statement_identifier ;))) }) while (parenthesized_expression ( BOOL )) ;)) })) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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 *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (do_statement do (compound_statement { (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 *)))) ) IDENT)) = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) IDENT))) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )) && (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( (pointer_expression & IDENT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;)) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (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 *))) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) IDENT)) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( (pointer_expression & IDENT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) }))) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression (pointer_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) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) )) (compound_statement { (return_statement return IDENT ;) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (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 (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) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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 (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 (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 * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression 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) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < LIT) )) (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 = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (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 *))) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = 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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (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 *))) ) LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression LIT - (cast_expression ( (type_descriptor TYPE) ) IDENT)) ))) )))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (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 ( LIT ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) != IDENT) )) ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (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 *))) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (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 ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_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 *))) ) (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT , IDENT , (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression & IDENT))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) (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 *))) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT , LIT , LIT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) + LIT) )))) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) (compound_statement { (return_statement return (pointer_expression * (cast_expression ( (type_descriptor TYPE (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 = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( BOOL )) ;) })))
(function_definition "int FUN_000b2950(byte **param_1,int param_2,byte *param_3,byte *param_4,undefined4 *param_5)\n\n{\n  byte bVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  byte *pbVar4;\n  int iVar5;\n  undefined4 *puVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  byte *pbVar9;\n  byte **ppbVar10;\n  byte bVar12;\n  int iVar11;\n  code *pcVar13;\n  undefined4 *puVar14;\n  undefined4 *puVar15;\n  char *pcVar16;\n  byte **ppbVar17;\n  undefined4 *puVar18;\n  undefined4 uVar19;\n  byte *pbVar20;\n  byte *pbVar21;\n  byte **ppbVar22;\n  byte **ppbVar23;\n  byte **unaff_s1;\n  byte *pbVar24;\n  byte *unaff_s2;\n  byte *unaff_s3;\n  byte *unaff_s4;\n  byte *unaff_s5;\n  byte *unaff_s6;\n  byte **unaff_s7;\n  undefined1 *puVar25;\n  byte *unaff_s8;\n  undefined1 auStack_138 [24];\n  byte *local_110;\n  byte *local_cc;\n  byte *local_c8;\n  byte **local_c4;\n  undefined4 local_c0;\n  int local_bc;\n  byte *local_b8;\n  byte *local_b4;\n  byte **local_b0;\n  char local_ac [4];\n  undefined4 local_a8 [31];\n  byte *local_2c;\n  \n  puVar3 = PTR___stack_chk_guard_0015ba2c;\n  puVar7 = PTR_sqlite3_malloc64_0015b760;\n  ppbVar17 = (byte **)0x4bc;\n  local_c4 = (byte **)0x0;\n  local_c0 = 0;\n  local_bc = 0;\n  local_b8 = (byte *)0x0;\n  local_b4 = (byte *)0x0;\n  local_b0 = (byte **)0x0;\n  local_2c = *(byte **)PTR___stack_chk_guard_0015ba2c;\n  param_4[0] = 0;\n  param_4[1] = 0;\n  param_4[2] = 0;\n  param_4[3] = 0;\n  *param_5 = 0;\n  pbVar20 = param_3;\n  pbVar21 = param_4;\n  pbVar4 = (byte *)(*(code *)puVar7)(0);\n  puVar7 = PTR_UINT_0015b5fc;\n  if (pbVar4 != (byte *)0x0) {\n    unaff_s1 = (byte **)(pbVar4 + 8);\n    pbVar4[8] = 0;\n    puVar8 = PTR_DAT_0015b71c;\n    pbVar4[9] = 0;\n    puVar18 = (undefined4 *)(puVar7 + 0x638);\n    *(byte **)(pbVar4 + 0x4b8) = pbVar4 + 0x4ac;\n    puVar2 = PTR_UINT_0015b5fc;\n    pcVar13 = (code *)(puVar8 + 0x2288);\n    *(byte ***)pbVar4 = unaff_s1;\n    puVar14 = (undefined4 *)(puVar7 + 0x6b8);\n    local_c4 = param_1;\n    local_110 = param_3;\nLAB_000b2a68:\n    do {\n      unaff_s4 = param_3;\n      iVar5 = (int)(char)*unaff_s4;\n      if ((iVar5 - 9U & 0xff) < 0x18) {\n        pcVar16 = local_ac;\n        puVar6 = puVar18;\n        if ((int)((0x800013U >> (iVar5 - 9U & 0x1f)) << 0x1f) < 0) {\n          param_3 = unaff_s4 + 1;\n          goto LAB_000b2a68;\n        }\n        do {\n          puVar15 = puVar6 + 4;\n          *(undefined4 *)pcVar16 = *puVar6;\n          pbVar21 = (byte *)puVar6[1];\n          uVar19 = puVar6[2];\n          *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n          *(byte **)(pcVar16 + 4) = pbVar21;\n          *(undefined4 *)(pcVar16 + 8) = uVar19;\n          puVar6 = puVar15;\n          pcVar16 = pcVar16 + 0x10;\n        } while (puVar15 != puVar14);\nLAB_000b34f0:\n        if (local_ac[iVar5] != '\0') {\nLAB_000b2b04:\n          pbVar24 = unaff_s4;\n          do {\n            pbVar24 = pbVar24 + 1;\n            bVar12 = *pbVar24;\n            puVar6 = puVar18;\n            pcVar16 = local_ac;\n            do {\n              pbVar21 = (byte *)*puVar6;\n              puVar15 = puVar6 + 4;\n              *(byte **)pcVar16 = pbVar21;\n              pbVar20 = (byte *)puVar6[1];\n              ppbVar17 = (byte **)puVar6[2];\n              *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n              *(byte **)(pcVar16 + 4) = pbVar20;\n              *(byte ***)(pcVar16 + 8) = ppbVar17;\n              puVar6 = puVar15;\n              pcVar16 = pcVar16 + 0x10;\n            } while (puVar15 != puVar14);\n          } while (((char)bVar12 < 0) || (local_ac[(char)bVar12] != '\0'));\n          pbVar24 = pbVar24 + -(int)unaff_s4;\n          if (pbVar24 == &SUB_00000002) {\n            if ((*unaff_s4 == 0x4f) && (unaff_s4[1] == 0x52)) {\n              unaff_s2 = (byte *)0x1;\n              local_110 = &SUB_00000002;\n            }\n            else {\n              unaff_s2 = &DAT_00000009;\n              local_110 = &SUB_00000002;\n            }\n          }\n          else if (pbVar24 == (byte *)0x3) {\n            if ((*unaff_s4 == 0x4e) && (pbVar9 = &DAT_00000009, unaff_s4[1] == 0x4f)) {\n              if (unaff_s4[2] == 0x54) {\n                pbVar9 = (byte *)0x3;\n              }\n            }\n            else {\n              pbVar9 = &DAT_00000009;\n            }\n            if (((*unaff_s4 == 0x41) && (unaff_s4[1] == 0x4e)) &&\n               (unaff_s2 = &SUB_00000002, unaff_s4[2] == 0x44)) {\n              local_110 = (byte *)0x3;\n            }\n            else {\n              local_110 = (byte *)0x3;\n              unaff_s2 = pbVar9;\n            }\n          }\n          else {\n            unaff_s2 = &DAT_00000009;\n            local_110 = pbVar24;\n          }\n          goto LAB_000b2b98;\n        }\n        pbVar24 = (byte *)0x1;\n        ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70cc);\n        pbVar20 = unaff_s4;\n        (*pcVar13)(&local_c4);\n        unaff_s2 = (byte *)0x0;\n      }\n      else {\n        ppbVar17 = (byte **)0x0;\n        if (iVar5 == 0x2b) {\n          unaff_s2 = &DAT_0000000e;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x2c) {\n          if (iVar5 == 0x28) {\n            unaff_s2 = &DAT_0000000a;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 < 0x29) {\n            if (iVar5 != 0) {\n              pbVar24 = unaff_s4 + 1;\n              if (iVar5 != 0x22) {\nLAB_000b2abc:\n                puVar6 = puVar18;\n                pcVar16 = local_ac;\n                do {\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                } while (puVar15 != puVar14);\n                if (-1 < iVar5) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              bVar12 = *pbVar24;\n              if (bVar12 == 0x22) goto LAB_000b3320;\n              while (ppbVar17 = (byte **)PTR_UINT_0015b5fc, bVar12 != 0) {\n                while( true ) {\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (byte *)0x0;\n              pbVar24 = (byte *)0x1;\n              ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70e0);\n              (*pcVar13)(&local_c4);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (byte *)0x0;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 == 0x29) {\n            unaff_s2 = &DAT_0000000b;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = (byte *)0xf;\n            if (iVar5 != 0x2a) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x3a) {\n          unaff_s2 = &DAT_00000005;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x3b) {\n          if (iVar5 == 0x2c) {\n            unaff_s2 = &DAT_0000000d;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = &DAT_00000006;\n            if (iVar5 != 0x2d) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x7b) {\n          unaff_s2 = &DAT_00000007;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 == 0x7d) {\n          unaff_s2 = &DAT_00000008;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else {\n          unaff_s2 = &DAT_0000000c;\n          if (iVar5 != 0x5e) goto LAB_000b2abc;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\nLAB_000b2b98:\n        local_110 = unaff_s4 + (int)local_110;\n      }\nLAB_000b2ba0:\n      unaff_s6 = PTR_UINT_0015b5fc;\n      unaff_s7 = *(byte ***)pbVar4;\n      puVar7 = PTR_UINT_0015b5fc + 0x4920;\n      *(byte ****)(pbVar4 + 4) = &local_c4;\n      ppbVar22 = (byte **)(uint)*(byte *)unaff_s7;\n      puVar8 = PTR_UINT_0015b5fc + 0x48fc;\n      do {\n        ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n        if ((byte **)0x22 < ppbVar22) goto joined_r0x000b33cc;\n        pbVar9 = unaff_s2 + (byte)puVar8[(int)ppbVar22];\n        if ((byte *)0x78 < pbVar9) goto LAB_000b2c10;\n        while( true ) {\n          if ((byte *)(uint)pbVar9[(int)puVar7] == unaff_s2) {\n            ppbVar22 = (byte **)(uint)pbVar9[(int)(unaff_s6 + 0x499c)];\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }\n          else {\nLAB_000b2c10:\n            ppbVar22 = (byte **)(uint)*(byte *)((int)ppbVar22 + (int)(puVar2 + 0x48c4));\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }\njoined_r0x000b33cc:\n          PTR_UINT_0015b5fc = (undefined *)ppbVar10;\n          if (ppbVar22 < (byte **)0x53) {\n            if (ppbVar22 < (byte **)0x50) {\n              *(byte ***)pbVar4 = unaff_s7 + 3;\n              if (*(byte ***)(pbVar4 + 0x4b8) < unaff_s7 + 3) {\n                *(byte ***)pbVar4 = unaff_s7;\n                FUN_000b2444(pbVar4);\n              }\n              else {\n                if ((byte **)0x22 < ppbVar22) {\n                  ppbVar22 = (byte **)((uint)((int)ppbVar22 + 0x1f) & 0xff);\n                }\n                *(byte *)(unaff_s7 + 3) = (byte)ppbVar22;\n                *(byte *)((int)unaff_s7 + 0xd) = (byte)unaff_s2;\n                unaff_s7[4] = unaff_s4;\n                unaff_s7[5] = pbVar24;\n              }\n            }\n            else if (ppbVar22 == (byte **)0x51) {\n              *(byte ***)pbVar4 = unaff_s7 + -3;\n              ppbVar17 = ppbVar10;\n            }\n            else {\n              ppbVar22 = *(byte ***)(pbVar4 + 4);\n              pbVar21 = unaff_s4;\n              local_cc = unaff_s4;\n              local_c8 = pbVar24;\n              (*pcVar13)(ppbVar22,ppbVar10 + -0x1c2b);\n              ppbVar17 = &local_cc;\n              *(byte ***)(pbVar4 + 4) = ppbVar22;\n              FUN_000b23c0(unaff_s2);\n              pbVar20 = pbVar24;\n            }\n            goto LAB_000b2d18;\n          }\n          ppbVar23 = (byte **)((int)ppbVar22 + -0x53);\n          unaff_s5 = (byte *)(int)(char)*(byte *)((int)ppbVar23 + (int)(unaff_s6 + 0x488c));\n          if ((unaff_s5 != (byte *)0x0) || (unaff_s7 < *(byte ***)(pbVar4 + 0x4b8))) break;\n          FUN_000b2444(pbVar4);\n          unaff_s7 = *(byte ***)pbVar4;\n          ppbVar22 = ppbVar23;\n          if (unaff_s7 <= unaff_s1) goto LAB_000b2d18;\n          pbVar9 = unaff_s2 + 0x2c;\n          ppbVar22 = (byte **)0x0;\n        }\n        if (ppbVar23 < (byte **)0x1c) {\n                    \n                    \n          iVar5 = (*(code *)(&_gp_1 + (int)ppbVar10[(int)(ppbVar22 + 0xcb)]))();\n          return iVar5;\n        }\n        pbVar20 = unaff_s6 + 0x499c;\n        bVar12 = *(byte *)(unaff_s7 + (int)unaff_s5 * 3);\n        ppbVar17 = unaff_s7 + (int)unaff_s5 * 3 + 3;\n        bVar1 = *(byte *)((int)(ppbVar10 + 0x122a) + (int)ppbVar23);\n        *(byte ***)pbVar4 = ppbVar17;\n        *(byte *)((int)ppbVar17 + 1) = bVar1;\n        ppbVar22 = (byte **)(uint)pbVar20[(uint)bVar1 +\n                                          (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)];\n        *(byte *)ppbVar17 =\n             pbVar20[(uint)bVar1 + (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)];\n        unaff_s7 = *(byte ***)pbVar4;\n        ppbVar17 = ppbVar10;\n      } while (unaff_s1 < unaff_s7);\nLAB_000b2d18:\n      if ((local_bc != 0) || (param_3 = local_110, unaff_s2 == (byte *)0x0)) goto LAB_000b2d2c;\n    } while( true );\n  }\n  iVar5 = 7;\n  goto LAB_000b3294;\nLAB_000b2d2c:\n  ppbVar10 = *(byte ***)pbVar4;\n  if (unaff_s1 < ppbVar10) {\n    ppbVar22 = (byte **)(PTR_LAB_0015b6f8 + 0x23c0);\n    do {\n      ppbVar17 = ppbVar10 + 1;\n      *(byte ***)pbVar4 = ppbVar10 + -3;\n      FUN_000b23c0(*(byte *)((int)ppbVar10 + 1));\n      ppbVar10 = *(byte ***)pbVar4;\n    } while (unaff_s1 < ppbVar10);\n  }\n  (*(code *)PTR_sqlite3_free_0015b620)(pbVar4);\n  if ((param_2 < (int)param_1[3]) && (local_b0 != (byte **)0x0)) {\n    if (local_bc == 0) {\n      pbVar21 = &DAT_00000008;\n      pbVar20 = (byte *)0x0;\n      pbVar24 = (byte *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc);\n      if (pbVar24 != (byte *)0x0) {\n        *(int *)(pbVar24 + 4) = param_2;\n        pbVar24[0] = 0;\n        pbVar24[1] = 0;\n        pbVar24[2] = 0;\n        pbVar24[3] = 1;\n        ppbVar17 = local_b0;\n        FUN_000970a0(&local_c4);\n        pbVar20 = pbVar24;\n      }\n      goto LAB_000b321c;\n    }\nLAB_000b2da8:\n    FUN_000b1f34(local_b0);\n  }\n  else {\nLAB_000b321c:\n    if (local_bc != 0) goto LAB_000b2da8;\n    ppbVar22 = (byte **)(*(code *)PTR_sqlite3_malloc_0015b640)(0x18);\n    *(byte ***)param_4 = ppbVar22;\n    if (ppbVar22 == (byte **)0x0) {\n      local_bc = 7;\n      goto LAB_000b2da8;\n    }\n    if (local_b0 == (byte **)0x0) {\n      if (local_bc == 0) {\n        pbVar21 = &DAT_00000028;\n        pbVar20 = (byte *)0x0;\n        pbVar24 = (byte *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc);\n        ppbVar22[2] = pbVar24;\n        if (pbVar24 != (byte *)0x0) {\n          pbVar24[4] = 0;\n          pbVar24[5] = 0;\n          pbVar24[6] = 0;\n          pbVar24[7] = 1;\n        }\n      }\n      else {\n        ppbVar22[2] = (byte *)0x0;\n      }\n    }\n    else {\n      ppbVar22[2] = (byte *)local_b0;\n    }\n    *ppbVar22 = (byte *)0x0;\n    ppbVar22[1] = (byte *)param_1;\n    ppbVar22[5] = local_b4;\n    ppbVar22[4] = local_b8;\n    local_b4 = (byte *)0x0;\n  }\n  (*(code *)PTR_sqlite3_free_0015b620)(local_b4);\n  *param_5 = local_c0;\n  iVar5 = local_bc;\n  param_1 = ppbVar22;\n  unaff_s3 = unaff_s2;\n  unaff_s8 = pbVar4;\nLAB_000b3294:\n  if (local_2c == *(byte **)puVar3) {\n    return iVar5;\n  }\n  uVar19 = 0xb37f8;\n  pbVar4 = local_2c;\n  puVar7 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  puVar25 = auStack_138;\n  do {\n    pbVar9 = pbVar21;\n    pbVar24 = pbVar4;\n    pcVar13 = *(code **)(puVar7 + 0xa7ed0);\n    *(byte **)(puVar25 + -0x20) = unaff_s2;\n    *(undefined **)(puVar25 + -0x50) = puVar7 + 0xafdb8;\n    *(undefined4 *)(puVar25 + -4) = uVar19;\n    *(byte ***)(puVar25 + -0xc) = unaff_s7;\n    *(byte **)(puVar25 + -0x10) = unaff_s6;\n    *(byte **)(puVar25 + -0x18) = unaff_s4;\n    *(byte **)(puVar25 + -0x1c) = unaff_s3;\n    *(byte **)(puVar25 + -8) = unaff_s8;\n    *(byte **)(puVar25 + -0x14) = unaff_s5;\n    *(byte ***)(puVar25 + -0x24) = unaff_s1;\n    *(byte ***)(puVar25 + -0x28) = param_1;\n    unaff_s2 = *(byte **)(puVar7 + 0xa8234);\n    *(undefined4 *)(puVar25 + -0x2c) = *(undefined4 *)unaff_s2;\n    pbVar21 = pbVar20;\n    uVar19 = (*pcVar13)();\n    pcVar13 = *(code **)(*(int *)(puVar25 + -0x50) + -0x7ed0);\n    *(undefined4 *)(puVar25 + -0x44) = uVar19;\n    uVar19 = (*pcVar13)(pbVar24);\n    iVar5 = *(int *)(puVar25 + -0x50);\n    *(undefined4 *)(puVar25 + -0x40) = uVar19;\n    *(undefined4 *)(puVar25 + -0x38) = 0;\n    *(undefined4 *)(puVar25 + -0x34) = 0;\n    *(undefined4 *)(puVar25 + -0x30) = 0;\n    unaff_s3 = pbVar20;\n    unaff_s7 = ppbVar17;\n    if ((int)ppbVar17 < 1) {\n      if (pbVar9 == (byte *)0x0) {\n        iVar11 = *(int *)(iVar5 + -0x7fb4) + -0x705c;\n      }\n      else {\n        iVar11 = *(int *)(iVar5 + -0x7fb4) + -0x706c;\n      }\n      ppbVar22 = (byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fb4) + -0x7048,iVar11)\n      ;\n      pbVar21 = (byte *)0xffffffff;\n      *(byte ***)(puVar25 + -0x38) = ppbVar22;\n      (**(code **)(*(int *)(puVar25 + -0x50) + -0x7e40))(pbVar24);\n      pbVar4 = *(byte **)(puVar25 + -0x38);\n      (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))();\n      iVar5 = *(int *)(puVar25 + -0x50);\n    }\n    else {\n      if (pbVar9 == (byte *)0x0) {\n        param_1 = (byte **)0x1;\n        *(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050;\nLAB_000b38a0:\n        unaff_s5 = (byte *)((int)ppbVar17 + (3 - (int)param_1));\n        ppbVar22 = (byte **)((int)unaff_s5 * 4);\n        unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (unaff_s1 == (byte **)0x0) {\nLAB_000b3a30:\n          pbVar4 = pbVar24;\n          (**(code **)(iVar5 + -0x7e2c))();\n          iVar5 = *(int *)(puVar25 + -0x50);\n          goto LAB_000b39d4;\n        }\n        *unaff_s1 = (byte *)0x0;\n        unaff_s1[1] = (byte *)(*(int *)(iVar5 + -0x7fc8) + 0x538c);\n        unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c);\n        if ((int)param_1 < (int)ppbVar17) {\n          unaff_s8 = pbVar20 + (int)param_1 * 4;\n          iVar11 = (int)ppbVar17 * 4;\n          ppbVar22 = unaff_s1 + 3;\n          do {\n            ppbVar17 = ppbVar22 + 1;\n            uVar19 = *(undefined4 *)unaff_s8;\n            unaff_s8 = unaff_s8 + 4;\n            pbVar21 = (byte *)(**(code **)(iVar5 + -0x7f9c))(uVar19);\n            iVar5 = *(int *)(puVar25 + -0x50);\n            *ppbVar22 = pbVar21;\n            ppbVar22 = ppbVar17;\n          } while (pbVar20 + iVar11 != unaff_s8);\n        }\n      }\n      else {\n        if (ppbVar17 != (byte **)0x1) {\n          param_1 = (byte **)&SUB_00000002;\n          uVar19 = (**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)(pbVar20 + 4));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          *(undefined4 *)(puVar25 + -0x3c) = uVar19;\n          goto LAB_000b38a0;\n        }\n        ppbVar22 = (byte **)&DAT_0000000c;\n        unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (unaff_s1 == (byte **)0x0) goto LAB_000b3a30;\n        iVar11 = *(int *)(iVar5 + -0x7fc8);\n        unaff_s5 = (byte *)0x3;\n        *unaff_s1 = (byte *)0x0;\n        unaff_s1[1] = (byte *)(iVar11 + 0x538c);\n        *(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050;\n        unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c);\n      }\n      param_1 = (byte **)(puVar25 + -0x38);\n      unaff_s3 = (byte *)(**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)pbVar20);\n      *(byte ***)(puVar25 + -0x54) = param_1;\n      *(undefined1 **)(puVar25 + -0x58) = puVar25 + -0x30;\n      pbVar21 = unaff_s5;\n      ppbVar22 = (byte **)FUN_000961e8(*(undefined4 *)(puVar25 + -0x44),\n                                       *(undefined4 *)(puVar25 + -0x40),unaff_s5,unaff_s1);\n      iVar5 = *(int *)(puVar25 + -0x50);\n      if (ppbVar22 == (byte **)0x0) {\n        uVar19 = *(undefined4 *)(*(int *)(puVar25 + -0x30) + 0xc);\n        *(byte ***)(puVar25 + -0x58) = param_1;\n        pbVar20 = unaff_s3;\n        ppbVar22 = (byte **)FUN_000b2950(*(int *)(puVar25 + -0x30),uVar19,unaff_s3,puVar25 + -0x34);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        pbVar21 = pbVar20;\n        if (ppbVar22 != (byte **)0x0) goto LAB_000b3964;\n        pbVar21 = *(byte **)(*(int *)(puVar25 + -0x34) + 8);\n        if (*(int *)(pbVar21 + 0xc) == 0) {\n          param_1 = (byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fc8) + 0x53f4);\n          iVar5 = *(int *)(puVar25 + -0x50);\nLAB_000b3aa4:\n          ppbVar10 = *(byte ***)(puVar25 + -0x38);\n          pbVar21 = pbVar20;\n          if (param_1 != (byte **)0x0) goto LAB_000b3aac;\nLAB_000b3b54:\n          ppbVar22 = (byte **)&DAT_00000007;\n          if (ppbVar10 == (byte **)0x0) {\n            pcVar13 = *(code **)(iVar5 + -0x7e34);\n            goto LAB_000b3b60;\n          }\n          goto LAB_000b3970;\n        }\n        if (pbVar9 == (byte *)0x0) {\n          param_1 = (byte **)FUN_00097660();\n          iVar5 = *(int *)(puVar25 + -0x50);\n          goto LAB_000b3aa4;\n        }\n        param_1 = (byte **)FUN_00097234(*(undefined4 *)(puVar25 + -0x30),\n                                        *(undefined4 *)(puVar25 + -0x3c));\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (param_1 == (byte **)0x0) {\n          ppbVar10 = *(byte ***)(puVar25 + -0x38);\n          goto LAB_000b3b54;\n        }\nLAB_000b3aac:\n        pbVar21 = (byte *)0xffffffff;\n        ppbVar22 = param_1;\n        (**(code **)(iVar5 + -0x7f34))(pbVar24,param_1,0xffffffff,0xffffffff);\n        (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(param_1);\n        iVar5 = *(int *)(puVar25 + -0x50);\n      }\n      else {\nLAB_000b3964:\n        ppbVar10 = *(byte ***)(puVar25 + -0x38);\n        pcVar13 = *(code **)(iVar5 + -0x7e34);\n        if (ppbVar10 == (byte **)0x0) {\nLAB_000b3b60:\n          (*pcVar13)(pbVar24);\n          iVar5 = *(int *)(puVar25 + -0x50);\n        }\n        else {\nLAB_000b3970:\n          pbVar21 = (byte *)0xffffffff;\n          (**(code **)(iVar5 + -0x7e40))(pbVar24);\n          (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(*(undefined4 *)(puVar25 + -0x38));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          ppbVar22 = ppbVar10;\n        }\n      }\n      (**(code **)(iVar5 + -0x7f90))(unaff_s1);\n      (*(code *)(*(int *)(*(int *)(puVar25 + -0x50) + -0x7ef0) + -0xe08))\n                (*(undefined4 *)(puVar25 + -0x30));\n      pbVar4 = *(byte **)(puVar25 + -0x34);\n      iVar5 = *(int *)(puVar25 + -0x50);\n      unaff_s7 = ppbVar17;\n      if (pbVar4 != (byte *)0x0) {\n        FUN_000b1fe4();\n        iVar5 = *(int *)(puVar25 + -0x50);\n      }\n    }\nLAB_000b39d4:\n    if (*(int *)(puVar25 + -0x2c) == *(int *)unaff_s2) {\n      return *(int *)unaff_s2;\n    }\n    pcVar13 = *(code **)(iVar5 + -0x7ba0);\n    uVar19 = 0xb3bf0;\n    (*pcVar13)();\n    puVar7 = (undefined *)(*(int *)(pcVar13 + 0xa7b08) + 0x37f8);\n    ppbVar17 = ppbVar22;\n    pbVar20 = pbVar21;\n    pbVar21 = (byte *)0x1;\n    unaff_s4 = pbVar24;\n    unaff_s6 = pbVar9;\n    puVar25 = puVar25 + -0x68;\n  } while( true );\n}" (primitive_type "int") (function_declarator "FUN_000b2950(byte **param_1,int param_2,byte *param_3,byte *param_4,undefined4 *param_5)" (identifier "FUN_000b2950") (parameter_list "(byte **param_1,int param_2,byte *param_3,byte *param_4,undefined4 *param_5)" (( "(") (parameter_declaration "byte **param_1" (type_identifier "byte") (pointer_declarator "**param_1" (* "*") (pointer_declarator "*param_1" (* "*") (identifier "param_1")))) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) (, ",") (parameter_declaration "byte *param_3" (type_identifier "byte") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) (, ",") (parameter_declaration "byte *param_4" (type_identifier "byte") (pointer_declarator "*param_4" (* "*") (identifier "param_4"))) (, ",") (parameter_declaration "undefined4 *param_5" (type_identifier "undefined4") (pointer_declarator "*param_5" (* "*") (identifier "param_5"))) () ")"))) (compound_statement "{\n  byte bVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  byte *pbVar4;\n  int iVar5;\n  undefined4 *puVar6;\n  undefined *puVar7;\n  undefined *puVar8;\n  byte *pbVar9;\n  byte **ppbVar10;\n  byte bVar12;\n  int iVar11;\n  code *pcVar13;\n  undefined4 *puVar14;\n  undefined4 *puVar15;\n  char *pcVar16;\n  byte **ppbVar17;\n  undefined4 *puVar18;\n  undefined4 uVar19;\n  byte *pbVar20;\n  byte *pbVar21;\n  byte **ppbVar22;\n  byte **ppbVar23;\n  byte **unaff_s1;\n  byte *pbVar24;\n  byte *unaff_s2;\n  byte *unaff_s3;\n  byte *unaff_s4;\n  byte *unaff_s5;\n  byte *unaff_s6;\n  byte **unaff_s7;\n  undefined1 *puVar25;\n  byte *unaff_s8;\n  undefined1 auStack_138 [24];\n  byte *local_110;\n  byte *local_cc;\n  byte *local_c8;\n  byte **local_c4;\n  undefined4 local_c0;\n  int local_bc;\n  byte *local_b8;\n  byte *local_b4;\n  byte **local_b0;\n  char local_ac [4];\n  undefined4 local_a8 [31];\n  byte *local_2c;\n  \n  puVar3 = PTR___stack_chk_guard_0015ba2c;\n  puVar7 = PTR_sqlite3_malloc64_0015b760;\n  ppbVar17 = (byte **)0x4bc;\n  local_c4 = (byte **)0x0;\n  local_c0 = 0;\n  local_bc = 0;\n  local_b8 = (byte *)0x0;\n  local_b4 = (byte *)0x0;\n  local_b0 = (byte **)0x0;\n  local_2c = *(byte **)PTR___stack_chk_guard_0015ba2c;\n  param_4[0] = 0;\n  param_4[1] = 0;\n  param_4[2] = 0;\n  param_4[3] = 0;\n  *param_5 = 0;\n  pbVar20 = param_3;\n  pbVar21 = param_4;\n  pbVar4 = (byte *)(*(code *)puVar7)(0);\n  puVar7 = PTR_UINT_0015b5fc;\n  if (pbVar4 != (byte *)0x0) {\n    unaff_s1 = (byte **)(pbVar4 + 8);\n    pbVar4[8] = 0;\n    puVar8 = PTR_DAT_0015b71c;\n    pbVar4[9] = 0;\n    puVar18 = (undefined4 *)(puVar7 + 0x638);\n    *(byte **)(pbVar4 + 0x4b8) = pbVar4 + 0x4ac;\n    puVar2 = PTR_UINT_0015b5fc;\n    pcVar13 = (code *)(puVar8 + 0x2288);\n    *(byte ***)pbVar4 = unaff_s1;\n    puVar14 = (undefined4 *)(puVar7 + 0x6b8);\n    local_c4 = param_1;\n    local_110 = param_3;\nLAB_000b2a68:\n    do {\n      unaff_s4 = param_3;\n      iVar5 = (int)(char)*unaff_s4;\n      if ((iVar5 - 9U & 0xff) < 0x18) {\n        pcVar16 = local_ac;\n        puVar6 = puVar18;\n        if ((int)((0x800013U >> (iVar5 - 9U & 0x1f)) << 0x1f) < 0) {\n          param_3 = unaff_s4 + 1;\n          goto LAB_000b2a68;\n        }\n        do {\n          puVar15 = puVar6 + 4;\n          *(undefined4 *)pcVar16 = *puVar6;\n          pbVar21 = (byte *)puVar6[1];\n          uVar19 = puVar6[2];\n          *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n          *(byte **)(pcVar16 + 4) = pbVar21;\n          *(undefined4 *)(pcVar16 + 8) = uVar19;\n          puVar6 = puVar15;\n          pcVar16 = pcVar16 + 0x10;\n        } while (puVar15 != puVar14);\nLAB_000b34f0:\n        if (local_ac[iVar5] != '\0') {\nLAB_000b2b04:\n          pbVar24 = unaff_s4;\n          do {\n            pbVar24 = pbVar24 + 1;\n            bVar12 = *pbVar24;\n            puVar6 = puVar18;\n            pcVar16 = local_ac;\n            do {\n              pbVar21 = (byte *)*puVar6;\n              puVar15 = puVar6 + 4;\n              *(byte **)pcVar16 = pbVar21;\n              pbVar20 = (byte *)puVar6[1];\n              ppbVar17 = (byte **)puVar6[2];\n              *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n              *(byte **)(pcVar16 + 4) = pbVar20;\n              *(byte ***)(pcVar16 + 8) = ppbVar17;\n              puVar6 = puVar15;\n              pcVar16 = pcVar16 + 0x10;\n            } while (puVar15 != puVar14);\n          } while (((char)bVar12 < 0) || (local_ac[(char)bVar12] != '\0'));\n          pbVar24 = pbVar24 + -(int)unaff_s4;\n          if (pbVar24 == &SUB_00000002) {\n            if ((*unaff_s4 == 0x4f) && (unaff_s4[1] == 0x52)) {\n              unaff_s2 = (byte *)0x1;\n              local_110 = &SUB_00000002;\n            }\n            else {\n              unaff_s2 = &DAT_00000009;\n              local_110 = &SUB_00000002;\n            }\n          }\n          else if (pbVar24 == (byte *)0x3) {\n            if ((*unaff_s4 == 0x4e) && (pbVar9 = &DAT_00000009, unaff_s4[1] == 0x4f)) {\n              if (unaff_s4[2] == 0x54) {\n                pbVar9 = (byte *)0x3;\n              }\n            }\n            else {\n              pbVar9 = &DAT_00000009;\n            }\n            if (((*unaff_s4 == 0x41) && (unaff_s4[1] == 0x4e)) &&\n               (unaff_s2 = &SUB_00000002, unaff_s4[2] == 0x44)) {\n              local_110 = (byte *)0x3;\n            }\n            else {\n              local_110 = (byte *)0x3;\n              unaff_s2 = pbVar9;\n            }\n          }\n          else {\n            unaff_s2 = &DAT_00000009;\n            local_110 = pbVar24;\n          }\n          goto LAB_000b2b98;\n        }\n        pbVar24 = (byte *)0x1;\n        ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70cc);\n        pbVar20 = unaff_s4;\n        (*pcVar13)(&local_c4);\n        unaff_s2 = (byte *)0x0;\n      }\n      else {\n        ppbVar17 = (byte **)0x0;\n        if (iVar5 == 0x2b) {\n          unaff_s2 = &DAT_0000000e;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x2c) {\n          if (iVar5 == 0x28) {\n            unaff_s2 = &DAT_0000000a;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 < 0x29) {\n            if (iVar5 != 0) {\n              pbVar24 = unaff_s4 + 1;\n              if (iVar5 != 0x22) {\nLAB_000b2abc:\n                puVar6 = puVar18;\n                pcVar16 = local_ac;\n                do {\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                } while (puVar15 != puVar14);\n                if (-1 < iVar5) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              bVar12 = *pbVar24;\n              if (bVar12 == 0x22) goto LAB_000b3320;\n              while (ppbVar17 = (byte **)PTR_UINT_0015b5fc, bVar12 != 0) {\n                while( true ) {\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (byte *)0x0;\n              pbVar24 = (byte *)0x1;\n              ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70e0);\n              (*pcVar13)(&local_c4);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (byte *)0x0;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 == 0x29) {\n            unaff_s2 = &DAT_0000000b;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = (byte *)0xf;\n            if (iVar5 != 0x2a) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x3a) {\n          unaff_s2 = &DAT_00000005;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x3b) {\n          if (iVar5 == 0x2c) {\n            unaff_s2 = &DAT_0000000d;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = &DAT_00000006;\n            if (iVar5 != 0x2d) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x7b) {\n          unaff_s2 = &DAT_00000007;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 == 0x7d) {\n          unaff_s2 = &DAT_00000008;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else {\n          unaff_s2 = &DAT_0000000c;\n          if (iVar5 != 0x5e) goto LAB_000b2abc;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\nLAB_000b2b98:\n        local_110 = unaff_s4 + (int)local_110;\n      }\nLAB_000b2ba0:\n      unaff_s6 = PTR_UINT_0015b5fc;\n      unaff_s7 = *(byte ***)pbVar4;\n      puVar7 = PTR_UINT_0015b5fc + 0x4920;\n      *(byte ****)(pbVar4 + 4) = &local_c4;\n      ppbVar22 = (byte **)(uint)*(byte *)unaff_s7;\n      puVar8 = PTR_UINT_0015b5fc + 0x48fc;\n      do {\n        ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n        if ((byte **)0x22 < ppbVar22) goto joined_r0x000b33cc;\n        pbVar9 = unaff_s2 + (byte)puVar8[(int)ppbVar22];\n        if ((byte *)0x78 < pbVar9) goto LAB_000b2c10;\n        while( true ) {\n          if ((byte *)(uint)pbVar9[(int)puVar7] == unaff_s2) {\n            ppbVar22 = (byte **)(uint)pbVar9[(int)(unaff_s6 + 0x499c)];\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }\n          else {\nLAB_000b2c10:\n            ppbVar22 = (byte **)(uint)*(byte *)((int)ppbVar22 + (int)(puVar2 + 0x48c4));\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }\njoined_r0x000b33cc:\n          PTR_UINT_0015b5fc = (undefined *)ppbVar10;\n          if (ppbVar22 < (byte **)0x53) {\n            if (ppbVar22 < (byte **)0x50) {\n              *(byte ***)pbVar4 = unaff_s7 + 3;\n              if (*(byte ***)(pbVar4 + 0x4b8) < unaff_s7 + 3) {\n                *(byte ***)pbVar4 = unaff_s7;\n                FUN_000b2444(pbVar4);\n              }\n              else {\n                if ((byte **)0x22 < ppbVar22) {\n                  ppbVar22 = (byte **)((uint)((int)ppbVar22 + 0x1f) & 0xff);\n                }\n                *(byte *)(unaff_s7 + 3) = (byte)ppbVar22;\n                *(byte *)((int)unaff_s7 + 0xd) = (byte)unaff_s2;\n                unaff_s7[4] = unaff_s4;\n                unaff_s7[5] = pbVar24;\n              }\n            }\n            else if (ppbVar22 == (byte **)0x51) {\n              *(byte ***)pbVar4 = unaff_s7 + -3;\n              ppbVar17 = ppbVar10;\n            }\n            else {\n              ppbVar22 = *(byte ***)(pbVar4 + 4);\n              pbVar21 = unaff_s4;\n              local_cc = unaff_s4;\n              local_c8 = pbVar24;\n              (*pcVar13)(ppbVar22,ppbVar10 + -0x1c2b);\n              ppbVar17 = &local_cc;\n              *(byte ***)(pbVar4 + 4) = ppbVar22;\n              FUN_000b23c0(unaff_s2);\n              pbVar20 = pbVar24;\n            }\n            goto LAB_000b2d18;\n          }\n          ppbVar23 = (byte **)((int)ppbVar22 + -0x53);\n          unaff_s5 = (byte *)(int)(char)*(byte *)((int)ppbVar23 + (int)(unaff_s6 + 0x488c));\n          if ((unaff_s5 != (byte *)0x0) || (unaff_s7 < *(byte ***)(pbVar4 + 0x4b8))) break;\n          FUN_000b2444(pbVar4);\n          unaff_s7 = *(byte ***)pbVar4;\n          ppbVar22 = ppbVar23;\n          if (unaff_s7 <= unaff_s1) goto LAB_000b2d18;\n          pbVar9 = unaff_s2 + 0x2c;\n          ppbVar22 = (byte **)0x0;\n        }\n        if (ppbVar23 < (byte **)0x1c) {\n                    \n                    \n          iVar5 = (*(code *)(&_gp_1 + (int)ppbVar10[(int)(ppbVar22 + 0xcb)]))();\n          return iVar5;\n        }\n        pbVar20 = unaff_s6 + 0x499c;\n        bVar12 = *(byte *)(unaff_s7 + (int)unaff_s5 * 3);\n        ppbVar17 = unaff_s7 + (int)unaff_s5 * 3 + 3;\n        bVar1 = *(byte *)((int)(ppbVar10 + 0x122a) + (int)ppbVar23);\n        *(byte ***)pbVar4 = ppbVar17;\n        *(byte *)((int)ppbVar17 + 1) = bVar1;\n        ppbVar22 = (byte **)(uint)pbVar20[(uint)bVar1 +\n                                          (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)];\n        *(byte *)ppbVar17 =\n             pbVar20[(uint)bVar1 + (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)];\n        unaff_s7 = *(byte ***)pbVar4;\n        ppbVar17 = ppbVar10;\n      } while (unaff_s1 < unaff_s7);\nLAB_000b2d18:\n      if ((local_bc != 0) || (param_3 = local_110, unaff_s2 == (byte *)0x0)) goto LAB_000b2d2c;\n    } while( true );\n  }\n  iVar5 = 7;\n  goto LAB_000b3294;\nLAB_000b2d2c:\n  ppbVar10 = *(byte ***)pbVar4;\n  if (unaff_s1 < ppbVar10) {\n    ppbVar22 = (byte **)(PTR_LAB_0015b6f8 + 0x23c0);\n    do {\n      ppbVar17 = ppbVar10 + 1;\n      *(byte ***)pbVar4 = ppbVar10 + -3;\n      FUN_000b23c0(*(byte *)((int)ppbVar10 + 1));\n      ppbVar10 = *(byte ***)pbVar4;\n    } while (unaff_s1 < ppbVar10);\n  }\n  (*(code *)PTR_sqlite3_free_0015b620)(pbVar4);\n  if ((param_2 < (int)param_1[3]) && (local_b0 != (byte **)0x0)) {\n    if (local_bc == 0) {\n      pbVar21 = &DAT_00000008;\n      pbVar20 = (byte *)0x0;\n      pbVar24 = (byte *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc);\n      if (pbVar24 != (byte *)0x0) {\n        *(int *)(pbVar24 + 4) = param_2;\n        pbVar24[0] = 0;\n        pbVar24[1] = 0;\n        pbVar24[2] = 0;\n        pbVar24[3] = 1;\n        ppbVar17 = local_b0;\n        FUN_000970a0(&local_c4);\n        pbVar20 = pbVar24;\n      }\n      goto LAB_000b321c;\n    }\nLAB_000b2da8:\n    FUN_000b1f34(local_b0);\n  }\n  else {\nLAB_000b321c:\n    if (local_bc != 0) goto LAB_000b2da8;\n    ppbVar22 = (byte **)(*(code *)PTR_sqlite3_malloc_0015b640)(0x18);\n    *(byte ***)param_4 = ppbVar22;\n    if (ppbVar22 == (byte **)0x0) {\n      local_bc = 7;\n      goto LAB_000b2da8;\n    }\n    if (local_b0 == (byte **)0x0) {\n      if (local_bc == 0) {\n        pbVar21 = &DAT_00000028;\n        pbVar20 = (byte *)0x0;\n        pbVar24 = (byte *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc);\n        ppbVar22[2] = pbVar24;\n        if (pbVar24 != (byte *)0x0) {\n          pbVar24[4] = 0;\n          pbVar24[5] = 0;\n          pbVar24[6] = 0;\n          pbVar24[7] = 1;\n        }\n      }\n      else {\n        ppbVar22[2] = (byte *)0x0;\n      }\n    }\n    else {\n      ppbVar22[2] = (byte *)local_b0;\n    }\n    *ppbVar22 = (byte *)0x0;\n    ppbVar22[1] = (byte *)param_1;\n    ppbVar22[5] = local_b4;\n    ppbVar22[4] = local_b8;\n    local_b4 = (byte *)0x0;\n  }\n  (*(code *)PTR_sqlite3_free_0015b620)(local_b4);\n  *param_5 = local_c0;\n  iVar5 = local_bc;\n  param_1 = ppbVar22;\n  unaff_s3 = unaff_s2;\n  unaff_s8 = pbVar4;\nLAB_000b3294:\n  if (local_2c == *(byte **)puVar3) {\n    return iVar5;\n  }\n  uVar19 = 0xb37f8;\n  pbVar4 = local_2c;\n  puVar7 = PTR___stack_chk_fail_0015ba10;\n  (*(code *)PTR___stack_chk_fail_0015ba10)();\n  puVar25 = auStack_138;\n  do {\n    pbVar9 = pbVar21;\n    pbVar24 = pbVar4;\n    pcVar13 = *(code **)(puVar7 + 0xa7ed0);\n    *(byte **)(puVar25 + -0x20) = unaff_s2;\n    *(undefined **)(puVar25 + -0x50) = puVar7 + 0xafdb8;\n    *(undefined4 *)(puVar25 + -4) = uVar19;\n    *(byte ***)(puVar25 + -0xc) = unaff_s7;\n    *(byte **)(puVar25 + -0x10) = unaff_s6;\n    *(byte **)(puVar25 + -0x18) = unaff_s4;\n    *(byte **)(puVar25 + -0x1c) = unaff_s3;\n    *(byte **)(puVar25 + -8) = unaff_s8;\n    *(byte **)(puVar25 + -0x14) = unaff_s5;\n    *(byte ***)(puVar25 + -0x24) = unaff_s1;\n    *(byte ***)(puVar25 + -0x28) = param_1;\n    unaff_s2 = *(byte **)(puVar7 + 0xa8234);\n    *(undefined4 *)(puVar25 + -0x2c) = *(undefined4 *)unaff_s2;\n    pbVar21 = pbVar20;\n    uVar19 = (*pcVar13)();\n    pcVar13 = *(code **)(*(int *)(puVar25 + -0x50) + -0x7ed0);\n    *(undefined4 *)(puVar25 + -0x44) = uVar19;\n    uVar19 = (*pcVar13)(pbVar24);\n    iVar5 = *(int *)(puVar25 + -0x50);\n    *(undefined4 *)(puVar25 + -0x40) = uVar19;\n    *(undefined4 *)(puVar25 + -0x38) = 0;\n    *(undefined4 *)(puVar25 + -0x34) = 0;\n    *(undefined4 *)(puVar25 + -0x30) = 0;\n    unaff_s3 = pbVar20;\n    unaff_s7 = ppbVar17;\n    if ((int)ppbVar17 < 1) {\n      if (pbVar9 == (byte *)0x0) {\n        iVar11 = *(int *)(iVar5 + -0x7fb4) + -0x705c;\n      }\n      else {\n        iVar11 = *(int *)(iVar5 + -0x7fb4) + -0x706c;\n      }\n      ppbVar22 = (byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fb4) + -0x7048,iVar11)\n      ;\n      pbVar21 = (byte *)0xffffffff;\n      *(byte ***)(puVar25 + -0x38) = ppbVar22;\n      (**(code **)(*(int *)(puVar25 + -0x50) + -0x7e40))(pbVar24);\n      pbVar4 = *(byte **)(puVar25 + -0x38);\n      (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))();\n      iVar5 = *(int *)(puVar25 + -0x50);\n    }\n    else {\n      if (pbVar9 == (byte *)0x0) {\n        param_1 = (byte **)0x1;\n        *(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050;\nLAB_000b38a0:\n        unaff_s5 = (byte *)((int)ppbVar17 + (3 - (int)param_1));\n        ppbVar22 = (byte **)((int)unaff_s5 * 4);\n        unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (unaff_s1 == (byte **)0x0) {\nLAB_000b3a30:\n          pbVar4 = pbVar24;\n          (**(code **)(iVar5 + -0x7e2c))();\n          iVar5 = *(int *)(puVar25 + -0x50);\n          goto LAB_000b39d4;\n        }\n        *unaff_s1 = (byte *)0x0;\n        unaff_s1[1] = (byte *)(*(int *)(iVar5 + -0x7fc8) + 0x538c);\n        unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c);\n        if ((int)param_1 < (int)ppbVar17) {\n          unaff_s8 = pbVar20 + (int)param_1 * 4;\n          iVar11 = (int)ppbVar17 * 4;\n          ppbVar22 = unaff_s1 + 3;\n          do {\n            ppbVar17 = ppbVar22 + 1;\n            uVar19 = *(undefined4 *)unaff_s8;\n            unaff_s8 = unaff_s8 + 4;\n            pbVar21 = (byte *)(**(code **)(iVar5 + -0x7f9c))(uVar19);\n            iVar5 = *(int *)(puVar25 + -0x50);\n            *ppbVar22 = pbVar21;\n            ppbVar22 = ppbVar17;\n          } while (pbVar20 + iVar11 != unaff_s8);\n        }\n      }\n      else {\n        if (ppbVar17 != (byte **)0x1) {\n          param_1 = (byte **)&SUB_00000002;\n          uVar19 = (**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)(pbVar20 + 4));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          *(undefined4 *)(puVar25 + -0x3c) = uVar19;\n          goto LAB_000b38a0;\n        }\n        ppbVar22 = (byte **)&DAT_0000000c;\n        unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (unaff_s1 == (byte **)0x0) goto LAB_000b3a30;\n        iVar11 = *(int *)(iVar5 + -0x7fc8);\n        unaff_s5 = (byte *)0x3;\n        *unaff_s1 = (byte *)0x0;\n        unaff_s1[1] = (byte *)(iVar11 + 0x538c);\n        *(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050;\n        unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c);\n      }\n      param_1 = (byte **)(puVar25 + -0x38);\n      unaff_s3 = (byte *)(**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)pbVar20);\n      *(byte ***)(puVar25 + -0x54) = param_1;\n      *(undefined1 **)(puVar25 + -0x58) = puVar25 + -0x30;\n      pbVar21 = unaff_s5;\n      ppbVar22 = (byte **)FUN_000961e8(*(undefined4 *)(puVar25 + -0x44),\n                                       *(undefined4 *)(puVar25 + -0x40),unaff_s5,unaff_s1);\n      iVar5 = *(int *)(puVar25 + -0x50);\n      if (ppbVar22 == (byte **)0x0) {\n        uVar19 = *(undefined4 *)(*(int *)(puVar25 + -0x30) + 0xc);\n        *(byte ***)(puVar25 + -0x58) = param_1;\n        pbVar20 = unaff_s3;\n        ppbVar22 = (byte **)FUN_000b2950(*(int *)(puVar25 + -0x30),uVar19,unaff_s3,puVar25 + -0x34);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        pbVar21 = pbVar20;\n        if (ppbVar22 != (byte **)0x0) goto LAB_000b3964;\n        pbVar21 = *(byte **)(*(int *)(puVar25 + -0x34) + 8);\n        if (*(int *)(pbVar21 + 0xc) == 0) {\n          param_1 = (byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fc8) + 0x53f4);\n          iVar5 = *(int *)(puVar25 + -0x50);\nLAB_000b3aa4:\n          ppbVar10 = *(byte ***)(puVar25 + -0x38);\n          pbVar21 = pbVar20;\n          if (param_1 != (byte **)0x0) goto LAB_000b3aac;\nLAB_000b3b54:\n          ppbVar22 = (byte **)&DAT_00000007;\n          if (ppbVar10 == (byte **)0x0) {\n            pcVar13 = *(code **)(iVar5 + -0x7e34);\n            goto LAB_000b3b60;\n          }\n          goto LAB_000b3970;\n        }\n        if (pbVar9 == (byte *)0x0) {\n          param_1 = (byte **)FUN_00097660();\n          iVar5 = *(int *)(puVar25 + -0x50);\n          goto LAB_000b3aa4;\n        }\n        param_1 = (byte **)FUN_00097234(*(undefined4 *)(puVar25 + -0x30),\n                                        *(undefined4 *)(puVar25 + -0x3c));\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (param_1 == (byte **)0x0) {\n          ppbVar10 = *(byte ***)(puVar25 + -0x38);\n          goto LAB_000b3b54;\n        }\nLAB_000b3aac:\n        pbVar21 = (byte *)0xffffffff;\n        ppbVar22 = param_1;\n        (**(code **)(iVar5 + -0x7f34))(pbVar24,param_1,0xffffffff,0xffffffff);\n        (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(param_1);\n        iVar5 = *(int *)(puVar25 + -0x50);\n      }\n      else {\nLAB_000b3964:\n        ppbVar10 = *(byte ***)(puVar25 + -0x38);\n        pcVar13 = *(code **)(iVar5 + -0x7e34);\n        if (ppbVar10 == (byte **)0x0) {\nLAB_000b3b60:\n          (*pcVar13)(pbVar24);\n          iVar5 = *(int *)(puVar25 + -0x50);\n        }\n        else {\nLAB_000b3970:\n          pbVar21 = (byte *)0xffffffff;\n          (**(code **)(iVar5 + -0x7e40))(pbVar24);\n          (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(*(undefined4 *)(puVar25 + -0x38));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          ppbVar22 = ppbVar10;\n        }\n      }\n      (**(code **)(iVar5 + -0x7f90))(unaff_s1);\n      (*(code *)(*(int *)(*(int *)(puVar25 + -0x50) + -0x7ef0) + -0xe08))\n                (*(undefined4 *)(puVar25 + -0x30));\n      pbVar4 = *(byte **)(puVar25 + -0x34);\n      iVar5 = *(int *)(puVar25 + -0x50);\n      unaff_s7 = ppbVar17;\n      if (pbVar4 != (byte *)0x0) {\n        FUN_000b1fe4();\n        iVar5 = *(int *)(puVar25 + -0x50);\n      }\n    }\nLAB_000b39d4:\n    if (*(int *)(puVar25 + -0x2c) == *(int *)unaff_s2) {\n      return *(int *)unaff_s2;\n    }\n    pcVar13 = *(code **)(iVar5 + -0x7ba0);\n    uVar19 = 0xb3bf0;\n    (*pcVar13)();\n    puVar7 = (undefined *)(*(int *)(pcVar13 + 0xa7b08) + 0x37f8);\n    ppbVar17 = ppbVar22;\n    pbVar20 = pbVar21;\n    pbVar21 = (byte *)0x1;\n    unaff_s4 = pbVar24;\n    unaff_s6 = pbVar9;\n    puVar25 = puVar25 + -0x68;\n  } while( true );\n}" ({ "{") (declaration "byte bVar1;" (type_identifier "byte") (identifier "bVar1") (; ";")) (declaration "undefined *puVar2;" (type_identifier "undefined") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "undefined *puVar3;" (type_identifier "undefined") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "byte *pbVar4;" (type_identifier "byte") (pointer_declarator "*pbVar4" (* "*") (identifier "pbVar4")) (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "undefined4 *puVar6;" (type_identifier "undefined4") (pointer_declarator "*puVar6" (* "*") (identifier "puVar6")) (; ";")) (declaration "undefined *puVar7;" (type_identifier "undefined") (pointer_declarator "*puVar7" (* "*") (identifier "puVar7")) (; ";")) (declaration "undefined *puVar8;" (type_identifier "undefined") (pointer_declarator "*puVar8" (* "*") (identifier "puVar8")) (; ";")) (declaration "byte *pbVar9;" (type_identifier "byte") (pointer_declarator "*pbVar9" (* "*") (identifier "pbVar9")) (; ";")) (declaration "byte **ppbVar10;" (type_identifier "byte") (pointer_declarator "**ppbVar10" (* "*") (pointer_declarator "*ppbVar10" (* "*") (identifier "ppbVar10"))) (; ";")) (declaration "byte bVar12;" (type_identifier "byte") (identifier "bVar12") (; ";")) (declaration "int iVar11;" (primitive_type "int") (identifier "iVar11") (; ";")) (declaration "code *pcVar13;" (type_identifier "code") (pointer_declarator "*pcVar13" (* "*") (identifier "pcVar13")) (; ";")) (declaration "undefined4 *puVar14;" (type_identifier "undefined4") (pointer_declarator "*puVar14" (* "*") (identifier "puVar14")) (; ";")) (declaration "undefined4 *puVar15;" (type_identifier "undefined4") (pointer_declarator "*puVar15" (* "*") (identifier "puVar15")) (; ";")) (declaration "char *pcVar16;" (primitive_type "char") (pointer_declarator "*pcVar16" (* "*") (identifier "pcVar16")) (; ";")) (declaration "byte **ppbVar17;" (type_identifier "byte") (pointer_declarator "**ppbVar17" (* "*") (pointer_declarator "*ppbVar17" (* "*") (identifier "ppbVar17"))) (; ";")) (declaration "undefined4 *puVar18;" (type_identifier "undefined4") (pointer_declarator "*puVar18" (* "*") (identifier "puVar18")) (; ";")) (declaration "undefined4 uVar19;" (type_identifier "undefined4") (identifier "uVar19") (; ";")) (declaration "byte *pbVar20;" (type_identifier "byte") (pointer_declarator "*pbVar20" (* "*") (identifier "pbVar20")) (; ";")) (declaration "byte *pbVar21;" (type_identifier "byte") (pointer_declarator "*pbVar21" (* "*") (identifier "pbVar21")) (; ";")) (declaration "byte **ppbVar22;" (type_identifier "byte") (pointer_declarator "**ppbVar22" (* "*") (pointer_declarator "*ppbVar22" (* "*") (identifier "ppbVar22"))) (; ";")) (declaration "byte **ppbVar23;" (type_identifier "byte") (pointer_declarator "**ppbVar23" (* "*") (pointer_declarator "*ppbVar23" (* "*") (identifier "ppbVar23"))) (; ";")) (declaration "byte **unaff_s1;" (type_identifier "byte") (pointer_declarator "**unaff_s1" (* "*") (pointer_declarator "*unaff_s1" (* "*") (identifier "unaff_s1"))) (; ";")) (declaration "byte *pbVar24;" (type_identifier "byte") (pointer_declarator "*pbVar24" (* "*") (identifier "pbVar24")) (; ";")) (declaration "byte *unaff_s2;" (type_identifier "byte") (pointer_declarator "*unaff_s2" (* "*") (identifier "unaff_s2")) (; ";")) (declaration "byte *unaff_s3;" (type_identifier "byte") (pointer_declarator "*unaff_s3" (* "*") (identifier "unaff_s3")) (; ";")) (declaration "byte *unaff_s4;" (type_identifier "byte") (pointer_declarator "*unaff_s4" (* "*") (identifier "unaff_s4")) (; ";")) (declaration "byte *unaff_s5;" (type_identifier "byte") (pointer_declarator "*unaff_s5" (* "*") (identifier "unaff_s5")) (; ";")) (declaration "byte *unaff_s6;" (type_identifier "byte") (pointer_declarator "*unaff_s6" (* "*") (identifier "unaff_s6")) (; ";")) (declaration "byte **unaff_s7;" (type_identifier "byte") (pointer_declarator "**unaff_s7" (* "*") (pointer_declarator "*unaff_s7" (* "*") (identifier "unaff_s7"))) (; ";")) (declaration "undefined1 *puVar25;" (type_identifier "undefined1") (pointer_declarator "*puVar25" (* "*") (identifier "puVar25")) (; ";")) (declaration "byte *unaff_s8;" (type_identifier "byte") (pointer_declarator "*unaff_s8" (* "*") (identifier "unaff_s8")) (; ";")) (declaration "undefined1 auStack_138 [24];" (type_identifier "undefined1") (array_declarator "auStack_138 [24]" (identifier "auStack_138") ([ "[") (number_literal "24") (] "]")) (; ";")) (declaration "byte *local_110;" (type_identifier "byte") (pointer_declarator "*local_110" (* "*") (identifier "local_110")) (; ";")) (declaration "byte *local_cc;" (type_identifier "byte") (pointer_declarator "*local_cc" (* "*") (identifier "local_cc")) (; ";")) (declaration "byte *local_c8;" (type_identifier "byte") (pointer_declarator "*local_c8" (* "*") (identifier "local_c8")) (; ";")) (declaration "byte **local_c4;" (type_identifier "byte") (pointer_declarator "**local_c4" (* "*") (pointer_declarator "*local_c4" (* "*") (identifier "local_c4"))) (; ";")) (declaration "undefined4 local_c0;" (type_identifier "undefined4") (identifier "local_c0") (; ";")) (declaration "int local_bc;" (primitive_type "int") (identifier "local_bc") (; ";")) (declaration "byte *local_b8;" (type_identifier "byte") (pointer_declarator "*local_b8" (* "*") (identifier "local_b8")) (; ";")) (declaration "byte *local_b4;" (type_identifier "byte") (pointer_declarator "*local_b4" (* "*") (identifier "local_b4")) (; ";")) (declaration "byte **local_b0;" (type_identifier "byte") (pointer_declarator "**local_b0" (* "*") (pointer_declarator "*local_b0" (* "*") (identifier "local_b0"))) (; ";")) (declaration "char local_ac [4];" (primitive_type "char") (array_declarator "local_ac [4]" (identifier "local_ac") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "undefined4 local_a8 [31];" (type_identifier "undefined4") (array_declarator "local_a8 [31]" (identifier "local_a8") ([ "[") (number_literal "31") (] "]")) (; ";")) (declaration "byte *local_2c;" (type_identifier "byte") (pointer_declarator "*local_2c" (* "*") (identifier "local_2c")) (; ";")) (expression_statement "puVar3 = PTR___stack_chk_guard_0015ba2c;" (assignment_expression "puVar3 = PTR___stack_chk_guard_0015ba2c" (identifier "puVar3") (= "=") (identifier "PTR___stack_chk_guard_0015ba2c")) (; ";")) (expression_statement "puVar7 = PTR_sqlite3_malloc64_0015b760;" (assignment_expression "puVar7 = PTR_sqlite3_malloc64_0015b760" (identifier "puVar7") (= "=") (identifier "PTR_sqlite3_malloc64_0015b760")) (; ";")) (expression_statement "ppbVar17 = (byte **)0x4bc;" (assignment_expression "ppbVar17 = (byte **)0x4bc" (identifier "ppbVar17") (= "=") (cast_expression "(byte **)0x4bc" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x4bc"))) (; ";")) (expression_statement "local_c4 = (byte **)0x0;" (assignment_expression "local_c4 = (byte **)0x0" (identifier "local_c4") (= "=") (cast_expression "(byte **)0x0" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_c0 = 0;" (assignment_expression "local_c0 = 0" (identifier "local_c0") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_bc = 0;" (assignment_expression "local_bc = 0" (identifier "local_bc") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_b8 = (byte *)0x0;" (assignment_expression "local_b8 = (byte *)0x0" (identifier "local_b8") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_b4 = (byte *)0x0;" (assignment_expression "local_b4 = (byte *)0x0" (identifier "local_b4") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_b0 = (byte **)0x0;" (assignment_expression "local_b0 = (byte **)0x0" (identifier "local_b0") (= "=") (cast_expression "(byte **)0x0" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_2c = *(byte **)PTR___stack_chk_guard_0015ba2c;" (assignment_expression "local_2c = *(byte **)PTR___stack_chk_guard_0015ba2c" (identifier "local_2c") (= "=") (pointer_expression "*(byte **)PTR___stack_chk_guard_0015ba2c" (* "*") (cast_expression "(byte **)PTR___stack_chk_guard_0015ba2c" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR___stack_chk_guard_0015ba2c")))) (; ";")) (expression_statement "param_4[0] = 0;" (assignment_expression "param_4[0] = 0" (subscript_expression "param_4[0]" (identifier "param_4") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_4[1] = 0;" (assignment_expression "param_4[1] = 0" (subscript_expression "param_4[1]" (identifier "param_4") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_4[2] = 0;" (assignment_expression "param_4[2] = 0" (subscript_expression "param_4[2]" (identifier "param_4") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_4[3] = 0;" (assignment_expression "param_4[3] = 0" (subscript_expression "param_4[3]" (identifier "param_4") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*param_5 = 0;" (assignment_expression "*param_5 = 0" (pointer_expression "*param_5" (* "*") (identifier "param_5")) (= "=") (number_literal "0")) (; ";")) (expression_statement "pbVar20 = param_3;" (assignment_expression "pbVar20 = param_3" (identifier "pbVar20") (= "=") (identifier "param_3")) (; ";")) (expression_statement "pbVar21 = param_4;" (assignment_expression "pbVar21 = param_4" (identifier "pbVar21") (= "=") (identifier "param_4")) (; ";")) (expression_statement "pbVar4 = (byte *)(*(code *)puVar7)(0);" (assignment_expression "pbVar4 = (byte *)(*(code *)puVar7)(0)" (identifier "pbVar4") (= "=") (cast_expression "(byte *)(*(code *)puVar7)(0)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)puVar7)(0)" (parenthesized_expression "(*(code *)puVar7)" (( "(") (pointer_expression "*(code *)puVar7" (* "*") (cast_expression "(code *)puVar7" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar7"))) () ")")) (argument_list "(0)" (( "(") (number_literal "0") () ")"))))) (; ";")) (expression_statement "puVar7 = PTR_UINT_0015b5fc;" (assignment_expression "puVar7 = PTR_UINT_0015b5fc" (identifier "puVar7") (= "=") (identifier "PTR_UINT_0015b5fc")) (; ";")) (if_statement "if (pbVar4 != (byte *)0x0) {\n    unaff_s1 = (byte **)(pbVar4 + 8);\n    pbVar4[8] = 0;\n    puVar8 = PTR_DAT_0015b71c;\n    pbVar4[9] = 0;\n    puVar18 = (undefined4 *)(puVar7 + 0x638);\n    *(byte **)(pbVar4 + 0x4b8) = pbVar4 + 0x4ac;\n    puVar2 = PTR_UINT_0015b5fc;\n    pcVar13 = (code *)(puVar8 + 0x2288);\n    *(byte ***)pbVar4 = unaff_s1;\n    puVar14 = (undefined4 *)(puVar7 + 0x6b8);\n    local_c4 = param_1;\n    local_110 = param_3;\nLAB_000b2a68:\n    do {\n      unaff_s4 = param_3;\n      iVar5 = (int)(char)*unaff_s4;\n      if ((iVar5 - 9U & 0xff) < 0x18) {\n        pcVar16 = local_ac;\n        puVar6 = puVar18;\n        if ((int)((0x800013U >> (iVar5 - 9U & 0x1f)) << 0x1f) < 0) {\n          param_3 = unaff_s4 + 1;\n          goto LAB_000b2a68;\n        }\n        do {\n          puVar15 = puVar6 + 4;\n          *(undefined4 *)pcVar16 = *puVar6;\n          pbVar21 = (byte *)puVar6[1];\n          uVar19 = puVar6[2];\n          *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n          *(byte **)(pcVar16 + 4) = pbVar21;\n          *(undefined4 *)(pcVar16 + 8) = uVar19;\n          puVar6 = puVar15;\n          pcVar16 = pcVar16 + 0x10;\n        } while (puVar15 != puVar14);\nLAB_000b34f0:\n        if (local_ac[iVar5] != '\0') {\nLAB_000b2b04:\n          pbVar24 = unaff_s4;\n          do {\n            pbVar24 = pbVar24 + 1;\n            bVar12 = *pbVar24;\n            puVar6 = puVar18;\n            pcVar16 = local_ac;\n            do {\n              pbVar21 = (byte *)*puVar6;\n              puVar15 = puVar6 + 4;\n              *(byte **)pcVar16 = pbVar21;\n              pbVar20 = (byte *)puVar6[1];\n              ppbVar17 = (byte **)puVar6[2];\n              *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n              *(byte **)(pcVar16 + 4) = pbVar20;\n              *(byte ***)(pcVar16 + 8) = ppbVar17;\n              puVar6 = puVar15;\n              pcVar16 = pcVar16 + 0x10;\n            } while (puVar15 != puVar14);\n          } while (((char)bVar12 < 0) || (local_ac[(char)bVar12] != '\0'));\n          pbVar24 = pbVar24 + -(int)unaff_s4;\n          if (pbVar24 == &SUB_00000002) {\n            if ((*unaff_s4 == 0x4f) && (unaff_s4[1] == 0x52)) {\n              unaff_s2 = (byte *)0x1;\n              local_110 = &SUB_00000002;\n            }\n            else {\n              unaff_s2 = &DAT_00000009;\n              local_110 = &SUB_00000002;\n            }\n          }\n          else if (pbVar24 == (byte *)0x3) {\n            if ((*unaff_s4 == 0x4e) && (pbVar9 = &DAT_00000009, unaff_s4[1] == 0x4f)) {\n              if (unaff_s4[2] == 0x54) {\n                pbVar9 = (byte *)0x3;\n              }\n            }\n            else {\n              pbVar9 = &DAT_00000009;\n            }\n            if (((*unaff_s4 == 0x41) && (unaff_s4[1] == 0x4e)) &&\n               (unaff_s2 = &SUB_00000002, unaff_s4[2] == 0x44)) {\n              local_110 = (byte *)0x3;\n            }\n            else {\n              local_110 = (byte *)0x3;\n              unaff_s2 = pbVar9;\n            }\n          }\n          else {\n            unaff_s2 = &DAT_00000009;\n            local_110 = pbVar24;\n          }\n          goto LAB_000b2b98;\n        }\n        pbVar24 = (byte *)0x1;\n        ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70cc);\n        pbVar20 = unaff_s4;\n        (*pcVar13)(&local_c4);\n        unaff_s2 = (byte *)0x0;\n      }\n      else {\n        ppbVar17 = (byte **)0x0;\n        if (iVar5 == 0x2b) {\n          unaff_s2 = &DAT_0000000e;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x2c) {\n          if (iVar5 == 0x28) {\n            unaff_s2 = &DAT_0000000a;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 < 0x29) {\n            if (iVar5 != 0) {\n              pbVar24 = unaff_s4 + 1;\n              if (iVar5 != 0x22) {\nLAB_000b2abc:\n                puVar6 = puVar18;\n                pcVar16 = local_ac;\n                do {\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                } while (puVar15 != puVar14);\n                if (-1 < iVar5) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              bVar12 = *pbVar24;\n              if (bVar12 == 0x22) goto LAB_000b3320;\n              while (ppbVar17 = (byte **)PTR_UINT_0015b5fc, bVar12 != 0) {\n                while( true ) {\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (byte *)0x0;\n              pbVar24 = (byte *)0x1;\n              ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70e0);\n              (*pcVar13)(&local_c4);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (byte *)0x0;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 == 0x29) {\n            unaff_s2 = &DAT_0000000b;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = (byte *)0xf;\n            if (iVar5 != 0x2a) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x3a) {\n          unaff_s2 = &DAT_00000005;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x3b) {\n          if (iVar5 == 0x2c) {\n            unaff_s2 = &DAT_0000000d;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = &DAT_00000006;\n            if (iVar5 != 0x2d) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x7b) {\n          unaff_s2 = &DAT_00000007;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 == 0x7d) {\n          unaff_s2 = &DAT_00000008;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else {\n          unaff_s2 = &DAT_0000000c;\n          if (iVar5 != 0x5e) goto LAB_000b2abc;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\nLAB_000b2b98:\n        local_110 = unaff_s4 + (int)local_110;\n      }\nLAB_000b2ba0:\n      unaff_s6 = PTR_UINT_0015b5fc;\n      unaff_s7 = *(byte ***)pbVar4;\n      puVar7 = PTR_UINT_0015b5fc + 0x4920;\n      *(byte ****)(pbVar4 + 4) = &local_c4;\n      ppbVar22 = (byte **)(uint)*(byte *)unaff_s7;\n      puVar8 = PTR_UINT_0015b5fc + 0x48fc;\n      do {\n        ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n        if ((byte **)0x22 < ppbVar22) goto joined_r0x000b33cc;\n        pbVar9 = unaff_s2 + (byte)puVar8[(int)ppbVar22];\n        if ((byte *)0x78 < pbVar9) goto LAB_000b2c10;\n        while( true ) {\n          if ((byte *)(uint)pbVar9[(int)puVar7] == unaff_s2) {\n            ppbVar22 = (byte **)(uint)pbVar9[(int)(unaff_s6 + 0x499c)];\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }\n          else {\nLAB_000b2c10:\n            ppbVar22 = (byte **)(uint)*(byte *)((int)ppbVar22 + (int)(puVar2 + 0x48c4));\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }\njoined_r0x000b33cc:\n          PTR_UINT_0015b5fc = (undefined *)ppbVar10;\n          if (ppbVar22 < (byte **)0x53) {\n            if (ppbVar22 < (byte **)0x50) {\n              *(byte ***)pbVar4 = unaff_s7 + 3;\n              if (*(byte ***)(pbVar4 + 0x4b8) < unaff_s7 + 3) {\n                *(byte ***)pbVar4 = unaff_s7;\n                FUN_000b2444(pbVar4);\n              }\n              else {\n                if ((byte **)0x22 < ppbVar22) {\n                  ppbVar22 = (byte **)((uint)((int)ppbVar22 + 0x1f) & 0xff);\n                }\n                *(byte *)(unaff_s7 + 3) = (byte)ppbVar22;\n                *(byte *)((int)unaff_s7 + 0xd) = (byte)unaff_s2;\n                unaff_s7[4] = unaff_s4;\n                unaff_s7[5] = pbVar24;\n              }\n            }\n            else if (ppbVar22 == (byte **)0x51) {\n              *(byte ***)pbVar4 = unaff_s7 + -3;\n              ppbVar17 = ppbVar10;\n            }\n            else {\n              ppbVar22 = *(byte ***)(pbVar4 + 4);\n              pbVar21 = unaff_s4;\n              local_cc = unaff_s4;\n              local_c8 = pbVar24;\n              (*pcVar13)(ppbVar22,ppbVar10 + -0x1c2b);\n              ppbVar17 = &local_cc;\n              *(byte ***)(pbVar4 + 4) = ppbVar22;\n              FUN_000b23c0(unaff_s2);\n              pbVar20 = pbVar24;\n            }\n            goto LAB_000b2d18;\n          }\n          ppbVar23 = (byte **)((int)ppbVar22 + -0x53);\n          unaff_s5 = (byte *)(int)(char)*(byte *)((int)ppbVar23 + (int)(unaff_s6 + 0x488c));\n          if ((unaff_s5 != (byte *)0x0) || (unaff_s7 < *(byte ***)(pbVar4 + 0x4b8))) break;\n          FUN_000b2444(pbVar4);\n          unaff_s7 = *(byte ***)pbVar4;\n          ppbVar22 = ppbVar23;\n          if (unaff_s7 <= unaff_s1) goto LAB_000b2d18;\n          pbVar9 = unaff_s2 + 0x2c;\n          ppbVar22 = (byte **)0x0;\n        }\n        if (ppbVar23 < (byte **)0x1c) {\n                    \n                    \n          iVar5 = (*(code *)(&_gp_1 + (int)ppbVar10[(int)(ppbVar22 + 0xcb)]))();\n          return iVar5;\n        }\n        pbVar20 = unaff_s6 + 0x499c;\n        bVar12 = *(byte *)(unaff_s7 + (int)unaff_s5 * 3);\n        ppbVar17 = unaff_s7 + (int)unaff_s5 * 3 + 3;\n        bVar1 = *(byte *)((int)(ppbVar10 + 0x122a) + (int)ppbVar23);\n        *(byte ***)pbVar4 = ppbVar17;\n        *(byte *)((int)ppbVar17 + 1) = bVar1;\n        ppbVar22 = (byte **)(uint)pbVar20[(uint)bVar1 +\n                                          (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)];\n        *(byte *)ppbVar17 =\n             pbVar20[(uint)bVar1 + (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)];\n        unaff_s7 = *(byte ***)pbVar4;\n        ppbVar17 = ppbVar10;\n      } while (unaff_s1 < unaff_s7);\nLAB_000b2d18:\n      if ((local_bc != 0) || (param_3 = local_110, unaff_s2 == (byte *)0x0)) goto LAB_000b2d2c;\n    } while( true );\n  }" (if "if") (parenthesized_expression "(pbVar4 != (byte *)0x0)" (( "(") (binary_expression "pbVar4 != (byte *)0x0" (identifier "pbVar4") (!= "!=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    unaff_s1 = (byte **)(pbVar4 + 8);\n    pbVar4[8] = 0;\n    puVar8 = PTR_DAT_0015b71c;\n    pbVar4[9] = 0;\n    puVar18 = (undefined4 *)(puVar7 + 0x638);\n    *(byte **)(pbVar4 + 0x4b8) = pbVar4 + 0x4ac;\n    puVar2 = PTR_UINT_0015b5fc;\n    pcVar13 = (code *)(puVar8 + 0x2288);\n    *(byte ***)pbVar4 = unaff_s1;\n    puVar14 = (undefined4 *)(puVar7 + 0x6b8);\n    local_c4 = param_1;\n    local_110 = param_3;\nLAB_000b2a68:\n    do {\n      unaff_s4 = param_3;\n      iVar5 = (int)(char)*unaff_s4;\n      if ((iVar5 - 9U & 0xff) < 0x18) {\n        pcVar16 = local_ac;\n        puVar6 = puVar18;\n        if ((int)((0x800013U >> (iVar5 - 9U & 0x1f)) << 0x1f) < 0) {\n          param_3 = unaff_s4 + 1;\n          goto LAB_000b2a68;\n        }\n        do {\n          puVar15 = puVar6 + 4;\n          *(undefined4 *)pcVar16 = *puVar6;\n          pbVar21 = (byte *)puVar6[1];\n          uVar19 = puVar6[2];\n          *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n          *(byte **)(pcVar16 + 4) = pbVar21;\n          *(undefined4 *)(pcVar16 + 8) = uVar19;\n          puVar6 = puVar15;\n          pcVar16 = pcVar16 + 0x10;\n        } while (puVar15 != puVar14);\nLAB_000b34f0:\n        if (local_ac[iVar5] != '\0') {\nLAB_000b2b04:\n          pbVar24 = unaff_s4;\n          do {\n            pbVar24 = pbVar24 + 1;\n            bVar12 = *pbVar24;\n            puVar6 = puVar18;\n            pcVar16 = local_ac;\n            do {\n              pbVar21 = (byte *)*puVar6;\n              puVar15 = puVar6 + 4;\n              *(byte **)pcVar16 = pbVar21;\n              pbVar20 = (byte *)puVar6[1];\n              ppbVar17 = (byte **)puVar6[2];\n              *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n              *(byte **)(pcVar16 + 4) = pbVar20;\n              *(byte ***)(pcVar16 + 8) = ppbVar17;\n              puVar6 = puVar15;\n              pcVar16 = pcVar16 + 0x10;\n            } while (puVar15 != puVar14);\n          } while (((char)bVar12 < 0) || (local_ac[(char)bVar12] != '\0'));\n          pbVar24 = pbVar24 + -(int)unaff_s4;\n          if (pbVar24 == &SUB_00000002) {\n            if ((*unaff_s4 == 0x4f) && (unaff_s4[1] == 0x52)) {\n              unaff_s2 = (byte *)0x1;\n              local_110 = &SUB_00000002;\n            }\n            else {\n              unaff_s2 = &DAT_00000009;\n              local_110 = &SUB_00000002;\n            }\n          }\n          else if (pbVar24 == (byte *)0x3) {\n            if ((*unaff_s4 == 0x4e) && (pbVar9 = &DAT_00000009, unaff_s4[1] == 0x4f)) {\n              if (unaff_s4[2] == 0x54) {\n                pbVar9 = (byte *)0x3;\n              }\n            }\n            else {\n              pbVar9 = &DAT_00000009;\n            }\n            if (((*unaff_s4 == 0x41) && (unaff_s4[1] == 0x4e)) &&\n               (unaff_s2 = &SUB_00000002, unaff_s4[2] == 0x44)) {\n              local_110 = (byte *)0x3;\n            }\n            else {\n              local_110 = (byte *)0x3;\n              unaff_s2 = pbVar9;\n            }\n          }\n          else {\n            unaff_s2 = &DAT_00000009;\n            local_110 = pbVar24;\n          }\n          goto LAB_000b2b98;\n        }\n        pbVar24 = (byte *)0x1;\n        ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70cc);\n        pbVar20 = unaff_s4;\n        (*pcVar13)(&local_c4);\n        unaff_s2 = (byte *)0x0;\n      }\n      else {\n        ppbVar17 = (byte **)0x0;\n        if (iVar5 == 0x2b) {\n          unaff_s2 = &DAT_0000000e;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x2c) {\n          if (iVar5 == 0x28) {\n            unaff_s2 = &DAT_0000000a;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 < 0x29) {\n            if (iVar5 != 0) {\n              pbVar24 = unaff_s4 + 1;\n              if (iVar5 != 0x22) {\nLAB_000b2abc:\n                puVar6 = puVar18;\n                pcVar16 = local_ac;\n                do {\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                } while (puVar15 != puVar14);\n                if (-1 < iVar5) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              bVar12 = *pbVar24;\n              if (bVar12 == 0x22) goto LAB_000b3320;\n              while (ppbVar17 = (byte **)PTR_UINT_0015b5fc, bVar12 != 0) {\n                while( true ) {\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (byte *)0x0;\n              pbVar24 = (byte *)0x1;\n              ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70e0);\n              (*pcVar13)(&local_c4);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (byte *)0x0;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 == 0x29) {\n            unaff_s2 = &DAT_0000000b;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = (byte *)0xf;\n            if (iVar5 != 0x2a) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x3a) {\n          unaff_s2 = &DAT_00000005;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x3b) {\n          if (iVar5 == 0x2c) {\n            unaff_s2 = &DAT_0000000d;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = &DAT_00000006;\n            if (iVar5 != 0x2d) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x7b) {\n          unaff_s2 = &DAT_00000007;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 == 0x7d) {\n          unaff_s2 = &DAT_00000008;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else {\n          unaff_s2 = &DAT_0000000c;\n          if (iVar5 != 0x5e) goto LAB_000b2abc;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\nLAB_000b2b98:\n        local_110 = unaff_s4 + (int)local_110;\n      }\nLAB_000b2ba0:\n      unaff_s6 = PTR_UINT_0015b5fc;\n      unaff_s7 = *(byte ***)pbVar4;\n      puVar7 = PTR_UINT_0015b5fc + 0x4920;\n      *(byte ****)(pbVar4 + 4) = &local_c4;\n      ppbVar22 = (byte **)(uint)*(byte *)unaff_s7;\n      puVar8 = PTR_UINT_0015b5fc + 0x48fc;\n      do {\n        ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n        if ((byte **)0x22 < ppbVar22) goto joined_r0x000b33cc;\n        pbVar9 = unaff_s2 + (byte)puVar8[(int)ppbVar22];\n        if ((byte *)0x78 < pbVar9) goto LAB_000b2c10;\n        while( true ) {\n          if ((byte *)(uint)pbVar9[(int)puVar7] == unaff_s2) {\n            ppbVar22 = (byte **)(uint)pbVar9[(int)(unaff_s6 + 0x499c)];\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }\n          else {\nLAB_000b2c10:\n            ppbVar22 = (byte **)(uint)*(byte *)((int)ppbVar22 + (int)(puVar2 + 0x48c4));\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }\njoined_r0x000b33cc:\n          PTR_UINT_0015b5fc = (undefined *)ppbVar10;\n          if (ppbVar22 < (byte **)0x53) {\n            if (ppbVar22 < (byte **)0x50) {\n              *(byte ***)pbVar4 = unaff_s7 + 3;\n              if (*(byte ***)(pbVar4 + 0x4b8) < unaff_s7 + 3) {\n                *(byte ***)pbVar4 = unaff_s7;\n                FUN_000b2444(pbVar4);\n              }\n              else {\n                if ((byte **)0x22 < ppbVar22) {\n                  ppbVar22 = (byte **)((uint)((int)ppbVar22 + 0x1f) & 0xff);\n                }\n                *(byte *)(unaff_s7 + 3) = (byte)ppbVar22;\n                *(byte *)((int)unaff_s7 + 0xd) = (byte)unaff_s2;\n                unaff_s7[4] = unaff_s4;\n                unaff_s7[5] = pbVar24;\n              }\n            }\n            else if (ppbVar22 == (byte **)0x51) {\n              *(byte ***)pbVar4 = unaff_s7 + -3;\n              ppbVar17 = ppbVar10;\n            }\n            else {\n              ppbVar22 = *(byte ***)(pbVar4 + 4);\n              pbVar21 = unaff_s4;\n              local_cc = unaff_s4;\n              local_c8 = pbVar24;\n              (*pcVar13)(ppbVar22,ppbVar10 + -0x1c2b);\n              ppbVar17 = &local_cc;\n              *(byte ***)(pbVar4 + 4) = ppbVar22;\n              FUN_000b23c0(unaff_s2);\n              pbVar20 = pbVar24;\n            }\n            goto LAB_000b2d18;\n          }\n          ppbVar23 = (byte **)((int)ppbVar22 + -0x53);\n          unaff_s5 = (byte *)(int)(char)*(byte *)((int)ppbVar23 + (int)(unaff_s6 + 0x488c));\n          if ((unaff_s5 != (byte *)0x0) || (unaff_s7 < *(byte ***)(pbVar4 + 0x4b8))) break;\n          FUN_000b2444(pbVar4);\n          unaff_s7 = *(byte ***)pbVar4;\n          ppbVar22 = ppbVar23;\n          if (unaff_s7 <= unaff_s1) goto LAB_000b2d18;\n          pbVar9 = unaff_s2 + 0x2c;\n          ppbVar22 = (byte **)0x0;\n        }\n        if (ppbVar23 < (byte **)0x1c) {\n                    \n                    \n          iVar5 = (*(code *)(&_gp_1 + (int)ppbVar10[(int)(ppbVar22 + 0xcb)]))();\n          return iVar5;\n        }\n        pbVar20 = unaff_s6 + 0x499c;\n        bVar12 = *(byte *)(unaff_s7 + (int)unaff_s5 * 3);\n        ppbVar17 = unaff_s7 + (int)unaff_s5 * 3 + 3;\n        bVar1 = *(byte *)((int)(ppbVar10 + 0x122a) + (int)ppbVar23);\n        *(byte ***)pbVar4 = ppbVar17;\n        *(byte *)((int)ppbVar17 + 1) = bVar1;\n        ppbVar22 = (byte **)(uint)pbVar20[(uint)bVar1 +\n                                          (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)];\n        *(byte *)ppbVar17 =\n             pbVar20[(uint)bVar1 + (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)];\n        unaff_s7 = *(byte ***)pbVar4;\n        ppbVar17 = ppbVar10;\n      } while (unaff_s1 < unaff_s7);\nLAB_000b2d18:\n      if ((local_bc != 0) || (param_3 = local_110, unaff_s2 == (byte *)0x0)) goto LAB_000b2d2c;\n    } while( true );\n  }" ({ "{") (expression_statement "unaff_s1 = (byte **)(pbVar4 + 8);" (assignment_expression "unaff_s1 = (byte **)(pbVar4 + 8)" (identifier "unaff_s1") (= "=") (cast_expression "(byte **)(pbVar4 + 8)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pbVar4 + 8)" (( "(") (binary_expression "pbVar4 + 8" (identifier "pbVar4") (+ "+") (number_literal "8")) () ")")))) (; ";")) (expression_statement "pbVar4[8] = 0;" (assignment_expression "pbVar4[8] = 0" (subscript_expression "pbVar4[8]" (identifier "pbVar4") ([ "[") (number_literal "8") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar8 = PTR_DAT_0015b71c;" (assignment_expression "puVar8 = PTR_DAT_0015b71c" (identifier "puVar8") (= "=") (identifier "PTR_DAT_0015b71c")) (; ";")) (expression_statement "pbVar4[9] = 0;" (assignment_expression "pbVar4[9] = 0" (subscript_expression "pbVar4[9]" (identifier "pbVar4") ([ "[") (number_literal "9") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar18 = (undefined4 *)(puVar7 + 0x638);" (assignment_expression "puVar18 = (undefined4 *)(puVar7 + 0x638)" (identifier "puVar18") (= "=") (cast_expression "(undefined4 *)(puVar7 + 0x638)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + 0x638)" (( "(") (binary_expression "puVar7 + 0x638" (identifier "puVar7") (+ "+") (number_literal "0x638")) () ")")))) (; ";")) (expression_statement "*(byte **)(pbVar4 + 0x4b8) = pbVar4 + 0x4ac;" (assignment_expression "*(byte **)(pbVar4 + 0x4b8) = pbVar4 + 0x4ac" (pointer_expression "*(byte **)(pbVar4 + 0x4b8)" (* "*") (cast_expression "(byte **)(pbVar4 + 0x4b8)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pbVar4 + 0x4b8)" (( "(") (binary_expression "pbVar4 + 0x4b8" (identifier "pbVar4") (+ "+") (number_literal "0x4b8")) () ")")))) (= "=") (binary_expression "pbVar4 + 0x4ac" (identifier "pbVar4") (+ "+") (number_literal "0x4ac"))) (; ";")) (expression_statement "puVar2 = PTR_UINT_0015b5fc;" (assignment_expression "puVar2 = PTR_UINT_0015b5fc" (identifier "puVar2") (= "=") (identifier "PTR_UINT_0015b5fc")) (; ";")) (expression_statement "pcVar13 = (code *)(puVar8 + 0x2288);" (assignment_expression "pcVar13 = (code *)(puVar8 + 0x2288)" (identifier "pcVar13") (= "=") (cast_expression "(code *)(puVar8 + 0x2288)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar8 + 0x2288)" (( "(") (binary_expression "puVar8 + 0x2288" (identifier "puVar8") (+ "+") (number_literal "0x2288")) () ")")))) (; ";")) (expression_statement "*(byte ***)pbVar4 = unaff_s1;" (assignment_expression "*(byte ***)pbVar4 = unaff_s1" (pointer_expression "*(byte ***)pbVar4" (* "*") (cast_expression "(byte ***)pbVar4" (( "(") (type_descriptor "byte ***" (type_identifier "byte") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "pbVar4"))) (= "=") (identifier "unaff_s1")) (; ";")) (expression_statement "puVar14 = (undefined4 *)(puVar7 + 0x6b8);" (assignment_expression "puVar14 = (undefined4 *)(puVar7 + 0x6b8)" (identifier "puVar14") (= "=") (cast_expression "(undefined4 *)(puVar7 + 0x6b8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar7 + 0x6b8)" (( "(") (binary_expression "puVar7 + 0x6b8" (identifier "puVar7") (+ "+") (number_literal "0x6b8")) () ")")))) (; ";")) (expression_statement "local_c4 = param_1;" (assignment_expression "local_c4 = param_1" (identifier "local_c4") (= "=") (identifier "param_1")) (; ";")) (expression_statement "local_110 = param_3;" (assignment_expression "local_110 = param_3" (identifier "local_110") (= "=") (identifier "param_3")) (; ";")) (labeled_statement "LAB_000b2a68:\n    do {\n      unaff_s4 = param_3;\n      iVar5 = (int)(char)*unaff_s4;\n      if ((iVar5 - 9U & 0xff) < 0x18) {\n        pcVar16 = local_ac;\n        puVar6 = puVar18;\n        if ((int)((0x800013U >> (iVar5 - 9U & 0x1f)) << 0x1f) < 0) {\n          param_3 = unaff_s4 + 1;\n          goto LAB_000b2a68;\n        }\n        do {\n          puVar15 = puVar6 + 4;\n          *(undefined4 *)pcVar16 = *puVar6;\n          pbVar21 = (byte *)puVar6[1];\n          uVar19 = puVar6[2];\n          *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n          *(byte **)(pcVar16 + 4) = pbVar21;\n          *(undefined4 *)(pcVar16 + 8) = uVar19;\n          puVar6 = puVar15;\n          pcVar16 = pcVar16 + 0x10;\n        } while (puVar15 != puVar14);\nLAB_000b34f0:\n        if (local_ac[iVar5] != '\0') {\nLAB_000b2b04:\n          pbVar24 = unaff_s4;\n          do {\n            pbVar24 = pbVar24 + 1;\n            bVar12 = *pbVar24;\n            puVar6 = puVar18;\n            pcVar16 = local_ac;\n            do {\n              pbVar21 = (byte *)*puVar6;\n              puVar15 = puVar6 + 4;\n              *(byte **)pcVar16 = pbVar21;\n              pbVar20 = (byte *)puVar6[1];\n              ppbVar17 = (byte **)puVar6[2];\n              *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n              *(byte **)(pcVar16 + 4) = pbVar20;\n              *(byte ***)(pcVar16 + 8) = ppbVar17;\n              puVar6 = puVar15;\n              pcVar16 = pcVar16 + 0x10;\n            } while (puVar15 != puVar14);\n          } while (((char)bVar12 < 0) || (local_ac[(char)bVar12] != '\0'));\n          pbVar24 = pbVar24 + -(int)unaff_s4;\n          if (pbVar24 == &SUB_00000002) {\n            if ((*unaff_s4 == 0x4f) && (unaff_s4[1] == 0x52)) {\n              unaff_s2 = (byte *)0x1;\n              local_110 = &SUB_00000002;\n            }\n            else {\n              unaff_s2 = &DAT_00000009;\n              local_110 = &SUB_00000002;\n            }\n          }\n          else if (pbVar24 == (byte *)0x3) {\n            if ((*unaff_s4 == 0x4e) && (pbVar9 = &DAT_00000009, unaff_s4[1] == 0x4f)) {\n              if (unaff_s4[2] == 0x54) {\n                pbVar9 = (byte *)0x3;\n              }\n            }\n            else {\n              pbVar9 = &DAT_00000009;\n            }\n            if (((*unaff_s4 == 0x41) && (unaff_s4[1] == 0x4e)) &&\n               (unaff_s2 = &SUB_00000002, unaff_s4[2] == 0x44)) {\n              local_110 = (byte *)0x3;\n            }\n            else {\n              local_110 = (byte *)0x3;\n              unaff_s2 = pbVar9;\n            }\n          }\n          else {\n            unaff_s2 = &DAT_00000009;\n            local_110 = pbVar24;\n          }\n          goto LAB_000b2b98;\n        }\n        pbVar24 = (byte *)0x1;\n        ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70cc);\n        pbVar20 = unaff_s4;\n        (*pcVar13)(&local_c4);\n        unaff_s2 = (byte *)0x0;\n      }\n      else {\n        ppbVar17 = (byte **)0x0;\n        if (iVar5 == 0x2b) {\n          unaff_s2 = &DAT_0000000e;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x2c) {\n          if (iVar5 == 0x28) {\n            unaff_s2 = &DAT_0000000a;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 < 0x29) {\n            if (iVar5 != 0) {\n              pbVar24 = unaff_s4 + 1;\n              if (iVar5 != 0x22) {\nLAB_000b2abc:\n                puVar6 = puVar18;\n                pcVar16 = local_ac;\n                do {\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                } while (puVar15 != puVar14);\n                if (-1 < iVar5) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              bVar12 = *pbVar24;\n              if (bVar12 == 0x22) goto LAB_000b3320;\n              while (ppbVar17 = (byte **)PTR_UINT_0015b5fc, bVar12 != 0) {\n                while( true ) {\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (byte *)0x0;\n              pbVar24 = (byte *)0x1;\n              ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70e0);\n              (*pcVar13)(&local_c4);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (byte *)0x0;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 == 0x29) {\n            unaff_s2 = &DAT_0000000b;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = (byte *)0xf;\n            if (iVar5 != 0x2a) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x3a) {\n          unaff_s2 = &DAT_00000005;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x3b) {\n          if (iVar5 == 0x2c) {\n            unaff_s2 = &DAT_0000000d;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = &DAT_00000006;\n            if (iVar5 != 0x2d) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x7b) {\n          unaff_s2 = &DAT_00000007;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 == 0x7d) {\n          unaff_s2 = &DAT_00000008;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else {\n          unaff_s2 = &DAT_0000000c;\n          if (iVar5 != 0x5e) goto LAB_000b2abc;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\nLAB_000b2b98:\n        local_110 = unaff_s4 + (int)local_110;\n      }\nLAB_000b2ba0:\n      unaff_s6 = PTR_UINT_0015b5fc;\n      unaff_s7 = *(byte ***)pbVar4;\n      puVar7 = PTR_UINT_0015b5fc + 0x4920;\n      *(byte ****)(pbVar4 + 4) = &local_c4;\n      ppbVar22 = (byte **)(uint)*(byte *)unaff_s7;\n      puVar8 = PTR_UINT_0015b5fc + 0x48fc;\n      do {\n        ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n        if ((byte **)0x22 < ppbVar22) goto joined_r0x000b33cc;\n        pbVar9 = unaff_s2 + (byte)puVar8[(int)ppbVar22];\n        if ((byte *)0x78 < pbVar9) goto LAB_000b2c10;\n        while( true ) {\n          if ((byte *)(uint)pbVar9[(int)puVar7] == unaff_s2) {\n            ppbVar22 = (byte **)(uint)pbVar9[(int)(unaff_s6 + 0x499c)];\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }\n          else {\nLAB_000b2c10:\n            ppbVar22 = (byte **)(uint)*(byte *)((int)ppbVar22 + (int)(puVar2 + 0x48c4));\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }\njoined_r0x000b33cc:\n          PTR_UINT_0015b5fc = (undefined *)ppbVar10;\n          if (ppbVar22 < (byte **)0x53) {\n            if (ppbVar22 < (byte **)0x50) {\n              *(byte ***)pbVar4 = unaff_s7 + 3;\n              if (*(byte ***)(pbVar4 + 0x4b8) < unaff_s7 + 3) {\n                *(byte ***)pbVar4 = unaff_s7;\n                FUN_000b2444(pbVar4);\n              }\n              else {\n                if ((byte **)0x22 < ppbVar22) {\n                  ppbVar22 = (byte **)((uint)((int)ppbVar22 + 0x1f) & 0xff);\n                }\n                *(byte *)(unaff_s7 + 3) = (byte)ppbVar22;\n                *(byte *)((int)unaff_s7 + 0xd) = (byte)unaff_s2;\n                unaff_s7[4] = unaff_s4;\n                unaff_s7[5] = pbVar24;\n              }\n            }\n            else if (ppbVar22 == (byte **)0x51) {\n              *(byte ***)pbVar4 = unaff_s7 + -3;\n              ppbVar17 = ppbVar10;\n            }\n            else {\n              ppbVar22 = *(byte ***)(pbVar4 + 4);\n              pbVar21 = unaff_s4;\n              local_cc = unaff_s4;\n              local_c8 = pbVar24;\n              (*pcVar13)(ppbVar22,ppbVar10 + -0x1c2b);\n              ppbVar17 = &local_cc;\n              *(byte ***)(pbVar4 + 4) = ppbVar22;\n              FUN_000b23c0(unaff_s2);\n              pbVar20 = pbVar24;\n            }\n            goto LAB_000b2d18;\n          }\n          ppbVar23 = (byte **)((int)ppbVar22 + -0x53);\n          unaff_s5 = (byte *)(int)(char)*(byte *)((int)ppbVar23 + (int)(unaff_s6 + 0x488c));\n          if ((unaff_s5 != (byte *)0x0) || (unaff_s7 < *(byte ***)(pbVar4 + 0x4b8))) break;\n          FUN_000b2444(pbVar4);\n          unaff_s7 = *(byte ***)pbVar4;\n          ppbVar22 = ppbVar23;\n          if (unaff_s7 <= unaff_s1) goto LAB_000b2d18;\n          pbVar9 = unaff_s2 + 0x2c;\n          ppbVar22 = (byte **)0x0;\n        }\n        if (ppbVar23 < (byte **)0x1c) {\n                    \n                    \n          iVar5 = (*(code *)(&_gp_1 + (int)ppbVar10[(int)(ppbVar22 + 0xcb)]))();\n          return iVar5;\n        }\n        pbVar20 = unaff_s6 + 0x499c;\n        bVar12 = *(byte *)(unaff_s7 + (int)unaff_s5 * 3);\n        ppbVar17 = unaff_s7 + (int)unaff_s5 * 3 + 3;\n        bVar1 = *(byte *)((int)(ppbVar10 + 0x122a) + (int)ppbVar23);\n        *(byte ***)pbVar4 = ppbVar17;\n        *(byte *)((int)ppbVar17 + 1) = bVar1;\n        ppbVar22 = (byte **)(uint)pbVar20[(uint)bVar1 +\n                                          (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)];\n        *(byte *)ppbVar17 =\n             pbVar20[(uint)bVar1 + (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)];\n        unaff_s7 = *(byte ***)pbVar4;\n        ppbVar17 = ppbVar10;\n      } while (unaff_s1 < unaff_s7);\nLAB_000b2d18:\n      if ((local_bc != 0) || (param_3 = local_110, unaff_s2 == (byte *)0x0)) goto LAB_000b2d2c;\n    } while( true );" (statement_identifier "LAB_000b2a68") (: ":") (do_statement "do {\n      unaff_s4 = param_3;\n      iVar5 = (int)(char)*unaff_s4;\n      if ((iVar5 - 9U & 0xff) < 0x18) {\n        pcVar16 = local_ac;\n        puVar6 = puVar18;\n        if ((int)((0x800013U >> (iVar5 - 9U & 0x1f)) << 0x1f) < 0) {\n          param_3 = unaff_s4 + 1;\n          goto LAB_000b2a68;\n        }\n        do {\n          puVar15 = puVar6 + 4;\n          *(undefined4 *)pcVar16 = *puVar6;\n          pbVar21 = (byte *)puVar6[1];\n          uVar19 = puVar6[2];\n          *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n          *(byte **)(pcVar16 + 4) = pbVar21;\n          *(undefined4 *)(pcVar16 + 8) = uVar19;\n          puVar6 = puVar15;\n          pcVar16 = pcVar16 + 0x10;\n        } while (puVar15 != puVar14);\nLAB_000b34f0:\n        if (local_ac[iVar5] != '\0') {\nLAB_000b2b04:\n          pbVar24 = unaff_s4;\n          do {\n            pbVar24 = pbVar24 + 1;\n            bVar12 = *pbVar24;\n            puVar6 = puVar18;\n            pcVar16 = local_ac;\n            do {\n              pbVar21 = (byte *)*puVar6;\n              puVar15 = puVar6 + 4;\n              *(byte **)pcVar16 = pbVar21;\n              pbVar20 = (byte *)puVar6[1];\n              ppbVar17 = (byte **)puVar6[2];\n              *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n              *(byte **)(pcVar16 + 4) = pbVar20;\n              *(byte ***)(pcVar16 + 8) = ppbVar17;\n              puVar6 = puVar15;\n              pcVar16 = pcVar16 + 0x10;\n            } while (puVar15 != puVar14);\n          } while (((char)bVar12 < 0) || (local_ac[(char)bVar12] != '\0'));\n          pbVar24 = pbVar24 + -(int)unaff_s4;\n          if (pbVar24 == &SUB_00000002) {\n            if ((*unaff_s4 == 0x4f) && (unaff_s4[1] == 0x52)) {\n              unaff_s2 = (byte *)0x1;\n              local_110 = &SUB_00000002;\n            }\n            else {\n              unaff_s2 = &DAT_00000009;\n              local_110 = &SUB_00000002;\n            }\n          }\n          else if (pbVar24 == (byte *)0x3) {\n            if ((*unaff_s4 == 0x4e) && (pbVar9 = &DAT_00000009, unaff_s4[1] == 0x4f)) {\n              if (unaff_s4[2] == 0x54) {\n                pbVar9 = (byte *)0x3;\n              }\n            }\n            else {\n              pbVar9 = &DAT_00000009;\n            }\n            if (((*unaff_s4 == 0x41) && (unaff_s4[1] == 0x4e)) &&\n               (unaff_s2 = &SUB_00000002, unaff_s4[2] == 0x44)) {\n              local_110 = (byte *)0x3;\n            }\n            else {\n              local_110 = (byte *)0x3;\n              unaff_s2 = pbVar9;\n            }\n          }\n          else {\n            unaff_s2 = &DAT_00000009;\n            local_110 = pbVar24;\n          }\n          goto LAB_000b2b98;\n        }\n        pbVar24 = (byte *)0x1;\n        ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70cc);\n        pbVar20 = unaff_s4;\n        (*pcVar13)(&local_c4);\n        unaff_s2 = (byte *)0x0;\n      }\n      else {\n        ppbVar17 = (byte **)0x0;\n        if (iVar5 == 0x2b) {\n          unaff_s2 = &DAT_0000000e;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x2c) {\n          if (iVar5 == 0x28) {\n            unaff_s2 = &DAT_0000000a;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 < 0x29) {\n            if (iVar5 != 0) {\n              pbVar24 = unaff_s4 + 1;\n              if (iVar5 != 0x22) {\nLAB_000b2abc:\n                puVar6 = puVar18;\n                pcVar16 = local_ac;\n                do {\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                } while (puVar15 != puVar14);\n                if (-1 < iVar5) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              bVar12 = *pbVar24;\n              if (bVar12 == 0x22) goto LAB_000b3320;\n              while (ppbVar17 = (byte **)PTR_UINT_0015b5fc, bVar12 != 0) {\n                while( true ) {\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (byte *)0x0;\n              pbVar24 = (byte *)0x1;\n              ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70e0);\n              (*pcVar13)(&local_c4);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (byte *)0x0;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 == 0x29) {\n            unaff_s2 = &DAT_0000000b;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = (byte *)0xf;\n            if (iVar5 != 0x2a) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x3a) {\n          unaff_s2 = &DAT_00000005;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x3b) {\n          if (iVar5 == 0x2c) {\n            unaff_s2 = &DAT_0000000d;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = &DAT_00000006;\n            if (iVar5 != 0x2d) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x7b) {\n          unaff_s2 = &DAT_00000007;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 == 0x7d) {\n          unaff_s2 = &DAT_00000008;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else {\n          unaff_s2 = &DAT_0000000c;\n          if (iVar5 != 0x5e) goto LAB_000b2abc;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\nLAB_000b2b98:\n        local_110 = unaff_s4 + (int)local_110;\n      }\nLAB_000b2ba0:\n      unaff_s6 = PTR_UINT_0015b5fc;\n      unaff_s7 = *(byte ***)pbVar4;\n      puVar7 = PTR_UINT_0015b5fc + 0x4920;\n      *(byte ****)(pbVar4 + 4) = &local_c4;\n      ppbVar22 = (byte **)(uint)*(byte *)unaff_s7;\n      puVar8 = PTR_UINT_0015b5fc + 0x48fc;\n      do {\n        ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n        if ((byte **)0x22 < ppbVar22) goto joined_r0x000b33cc;\n        pbVar9 = unaff_s2 + (byte)puVar8[(int)ppbVar22];\n        if ((byte *)0x78 < pbVar9) goto LAB_000b2c10;\n        while( true ) {\n          if ((byte *)(uint)pbVar9[(int)puVar7] == unaff_s2) {\n            ppbVar22 = (byte **)(uint)pbVar9[(int)(unaff_s6 + 0x499c)];\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }\n          else {\nLAB_000b2c10:\n            ppbVar22 = (byte **)(uint)*(byte *)((int)ppbVar22 + (int)(puVar2 + 0x48c4));\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }\njoined_r0x000b33cc:\n          PTR_UINT_0015b5fc = (undefined *)ppbVar10;\n          if (ppbVar22 < (byte **)0x53) {\n            if (ppbVar22 < (byte **)0x50) {\n              *(byte ***)pbVar4 = unaff_s7 + 3;\n              if (*(byte ***)(pbVar4 + 0x4b8) < unaff_s7 + 3) {\n                *(byte ***)pbVar4 = unaff_s7;\n                FUN_000b2444(pbVar4);\n              }\n              else {\n                if ((byte **)0x22 < ppbVar22) {\n                  ppbVar22 = (byte **)((uint)((int)ppbVar22 + 0x1f) & 0xff);\n                }\n                *(byte *)(unaff_s7 + 3) = (byte)ppbVar22;\n                *(byte *)((int)unaff_s7 + 0xd) = (byte)unaff_s2;\n                unaff_s7[4] = unaff_s4;\n                unaff_s7[5] = pbVar24;\n              }\n            }\n            else if (ppbVar22 == (byte **)0x51) {\n              *(byte ***)pbVar4 = unaff_s7 + -3;\n              ppbVar17 = ppbVar10;\n            }\n            else {\n              ppbVar22 = *(byte ***)(pbVar4 + 4);\n              pbVar21 = unaff_s4;\n              local_cc = unaff_s4;\n              local_c8 = pbVar24;\n              (*pcVar13)(ppbVar22,ppbVar10 + -0x1c2b);\n              ppbVar17 = &local_cc;\n              *(byte ***)(pbVar4 + 4) = ppbVar22;\n              FUN_000b23c0(unaff_s2);\n              pbVar20 = pbVar24;\n            }\n            goto LAB_000b2d18;\n          }\n          ppbVar23 = (byte **)((int)ppbVar22 + -0x53);\n          unaff_s5 = (byte *)(int)(char)*(byte *)((int)ppbVar23 + (int)(unaff_s6 + 0x488c));\n          if ((unaff_s5 != (byte *)0x0) || (unaff_s7 < *(byte ***)(pbVar4 + 0x4b8))) break;\n          FUN_000b2444(pbVar4);\n          unaff_s7 = *(byte ***)pbVar4;\n          ppbVar22 = ppbVar23;\n          if (unaff_s7 <= unaff_s1) goto LAB_000b2d18;\n          pbVar9 = unaff_s2 + 0x2c;\n          ppbVar22 = (byte **)0x0;\n        }\n        if (ppbVar23 < (byte **)0x1c) {\n                    \n                    \n          iVar5 = (*(code *)(&_gp_1 + (int)ppbVar10[(int)(ppbVar22 + 0xcb)]))();\n          return iVar5;\n        }\n        pbVar20 = unaff_s6 + 0x499c;\n        bVar12 = *(byte *)(unaff_s7 + (int)unaff_s5 * 3);\n        ppbVar17 = unaff_s7 + (int)unaff_s5 * 3 + 3;\n        bVar1 = *(byte *)((int)(ppbVar10 + 0x122a) + (int)ppbVar23);\n        *(byte ***)pbVar4 = ppbVar17;\n        *(byte *)((int)ppbVar17 + 1) = bVar1;\n        ppbVar22 = (byte **)(uint)pbVar20[(uint)bVar1 +\n                                          (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)];\n        *(byte *)ppbVar17 =\n             pbVar20[(uint)bVar1 + (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)];\n        unaff_s7 = *(byte ***)pbVar4;\n        ppbVar17 = ppbVar10;\n      } while (unaff_s1 < unaff_s7);\nLAB_000b2d18:\n      if ((local_bc != 0) || (param_3 = local_110, unaff_s2 == (byte *)0x0)) goto LAB_000b2d2c;\n    } while( true );" (do "do") (compound_statement "{\n      unaff_s4 = param_3;\n      iVar5 = (int)(char)*unaff_s4;\n      if ((iVar5 - 9U & 0xff) < 0x18) {\n        pcVar16 = local_ac;\n        puVar6 = puVar18;\n        if ((int)((0x800013U >> (iVar5 - 9U & 0x1f)) << 0x1f) < 0) {\n          param_3 = unaff_s4 + 1;\n          goto LAB_000b2a68;\n        }\n        do {\n          puVar15 = puVar6 + 4;\n          *(undefined4 *)pcVar16 = *puVar6;\n          pbVar21 = (byte *)puVar6[1];\n          uVar19 = puVar6[2];\n          *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n          *(byte **)(pcVar16 + 4) = pbVar21;\n          *(undefined4 *)(pcVar16 + 8) = uVar19;\n          puVar6 = puVar15;\n          pcVar16 = pcVar16 + 0x10;\n        } while (puVar15 != puVar14);\nLAB_000b34f0:\n        if (local_ac[iVar5] != '\0') {\nLAB_000b2b04:\n          pbVar24 = unaff_s4;\n          do {\n            pbVar24 = pbVar24 + 1;\n            bVar12 = *pbVar24;\n            puVar6 = puVar18;\n            pcVar16 = local_ac;\n            do {\n              pbVar21 = (byte *)*puVar6;\n              puVar15 = puVar6 + 4;\n              *(byte **)pcVar16 = pbVar21;\n              pbVar20 = (byte *)puVar6[1];\n              ppbVar17 = (byte **)puVar6[2];\n              *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n              *(byte **)(pcVar16 + 4) = pbVar20;\n              *(byte ***)(pcVar16 + 8) = ppbVar17;\n              puVar6 = puVar15;\n              pcVar16 = pcVar16 + 0x10;\n            } while (puVar15 != puVar14);\n          } while (((char)bVar12 < 0) || (local_ac[(char)bVar12] != '\0'));\n          pbVar24 = pbVar24 + -(int)unaff_s4;\n          if (pbVar24 == &SUB_00000002) {\n            if ((*unaff_s4 == 0x4f) && (unaff_s4[1] == 0x52)) {\n              unaff_s2 = (byte *)0x1;\n              local_110 = &SUB_00000002;\n            }\n            else {\n              unaff_s2 = &DAT_00000009;\n              local_110 = &SUB_00000002;\n            }\n          }\n          else if (pbVar24 == (byte *)0x3) {\n            if ((*unaff_s4 == 0x4e) && (pbVar9 = &DAT_00000009, unaff_s4[1] == 0x4f)) {\n              if (unaff_s4[2] == 0x54) {\n                pbVar9 = (byte *)0x3;\n              }\n            }\n            else {\n              pbVar9 = &DAT_00000009;\n            }\n            if (((*unaff_s4 == 0x41) && (unaff_s4[1] == 0x4e)) &&\n               (unaff_s2 = &SUB_00000002, unaff_s4[2] == 0x44)) {\n              local_110 = (byte *)0x3;\n            }\n            else {\n              local_110 = (byte *)0x3;\n              unaff_s2 = pbVar9;\n            }\n          }\n          else {\n            unaff_s2 = &DAT_00000009;\n            local_110 = pbVar24;\n          }\n          goto LAB_000b2b98;\n        }\n        pbVar24 = (byte *)0x1;\n        ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70cc);\n        pbVar20 = unaff_s4;\n        (*pcVar13)(&local_c4);\n        unaff_s2 = (byte *)0x0;\n      }\n      else {\n        ppbVar17 = (byte **)0x0;\n        if (iVar5 == 0x2b) {\n          unaff_s2 = &DAT_0000000e;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x2c) {\n          if (iVar5 == 0x28) {\n            unaff_s2 = &DAT_0000000a;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 < 0x29) {\n            if (iVar5 != 0) {\n              pbVar24 = unaff_s4 + 1;\n              if (iVar5 != 0x22) {\nLAB_000b2abc:\n                puVar6 = puVar18;\n                pcVar16 = local_ac;\n                do {\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                } while (puVar15 != puVar14);\n                if (-1 < iVar5) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              bVar12 = *pbVar24;\n              if (bVar12 == 0x22) goto LAB_000b3320;\n              while (ppbVar17 = (byte **)PTR_UINT_0015b5fc, bVar12 != 0) {\n                while( true ) {\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (byte *)0x0;\n              pbVar24 = (byte *)0x1;\n              ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70e0);\n              (*pcVar13)(&local_c4);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (byte *)0x0;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 == 0x29) {\n            unaff_s2 = &DAT_0000000b;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = (byte *)0xf;\n            if (iVar5 != 0x2a) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x3a) {\n          unaff_s2 = &DAT_00000005;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x3b) {\n          if (iVar5 == 0x2c) {\n            unaff_s2 = &DAT_0000000d;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = &DAT_00000006;\n            if (iVar5 != 0x2d) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x7b) {\n          unaff_s2 = &DAT_00000007;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 == 0x7d) {\n          unaff_s2 = &DAT_00000008;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else {\n          unaff_s2 = &DAT_0000000c;\n          if (iVar5 != 0x5e) goto LAB_000b2abc;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\nLAB_000b2b98:\n        local_110 = unaff_s4 + (int)local_110;\n      }\nLAB_000b2ba0:\n      unaff_s6 = PTR_UINT_0015b5fc;\n      unaff_s7 = *(byte ***)pbVar4;\n      puVar7 = PTR_UINT_0015b5fc + 0x4920;\n      *(byte ****)(pbVar4 + 4) = &local_c4;\n      ppbVar22 = (byte **)(uint)*(byte *)unaff_s7;\n      puVar8 = PTR_UINT_0015b5fc + 0x48fc;\n      do {\n        ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n        if ((byte **)0x22 < ppbVar22) goto joined_r0x000b33cc;\n        pbVar9 = unaff_s2 + (byte)puVar8[(int)ppbVar22];\n        if ((byte *)0x78 < pbVar9) goto LAB_000b2c10;\n        while( true ) {\n          if ((byte *)(uint)pbVar9[(int)puVar7] == unaff_s2) {\n            ppbVar22 = (byte **)(uint)pbVar9[(int)(unaff_s6 + 0x499c)];\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }\n          else {\nLAB_000b2c10:\n            ppbVar22 = (byte **)(uint)*(byte *)((int)ppbVar22 + (int)(puVar2 + 0x48c4));\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }\njoined_r0x000b33cc:\n          PTR_UINT_0015b5fc = (undefined *)ppbVar10;\n          if (ppbVar22 < (byte **)0x53) {\n            if (ppbVar22 < (byte **)0x50) {\n              *(byte ***)pbVar4 = unaff_s7 + 3;\n              if (*(byte ***)(pbVar4 + 0x4b8) < unaff_s7 + 3) {\n                *(byte ***)pbVar4 = unaff_s7;\n                FUN_000b2444(pbVar4);\n              }\n              else {\n                if ((byte **)0x22 < ppbVar22) {\n                  ppbVar22 = (byte **)((uint)((int)ppbVar22 + 0x1f) & 0xff);\n                }\n                *(byte *)(unaff_s7 + 3) = (byte)ppbVar22;\n                *(byte *)((int)unaff_s7 + 0xd) = (byte)unaff_s2;\n                unaff_s7[4] = unaff_s4;\n                unaff_s7[5] = pbVar24;\n              }\n            }\n            else if (ppbVar22 == (byte **)0x51) {\n              *(byte ***)pbVar4 = unaff_s7 + -3;\n              ppbVar17 = ppbVar10;\n            }\n            else {\n              ppbVar22 = *(byte ***)(pbVar4 + 4);\n              pbVar21 = unaff_s4;\n              local_cc = unaff_s4;\n              local_c8 = pbVar24;\n              (*pcVar13)(ppbVar22,ppbVar10 + -0x1c2b);\n              ppbVar17 = &local_cc;\n              *(byte ***)(pbVar4 + 4) = ppbVar22;\n              FUN_000b23c0(unaff_s2);\n              pbVar20 = pbVar24;\n            }\n            goto LAB_000b2d18;\n          }\n          ppbVar23 = (byte **)((int)ppbVar22 + -0x53);\n          unaff_s5 = (byte *)(int)(char)*(byte *)((int)ppbVar23 + (int)(unaff_s6 + 0x488c));\n          if ((unaff_s5 != (byte *)0x0) || (unaff_s7 < *(byte ***)(pbVar4 + 0x4b8))) break;\n          FUN_000b2444(pbVar4);\n          unaff_s7 = *(byte ***)pbVar4;\n          ppbVar22 = ppbVar23;\n          if (unaff_s7 <= unaff_s1) goto LAB_000b2d18;\n          pbVar9 = unaff_s2 + 0x2c;\n          ppbVar22 = (byte **)0x0;\n        }\n        if (ppbVar23 < (byte **)0x1c) {\n                    \n                    \n          iVar5 = (*(code *)(&_gp_1 + (int)ppbVar10[(int)(ppbVar22 + 0xcb)]))();\n          return iVar5;\n        }\n        pbVar20 = unaff_s6 + 0x499c;\n        bVar12 = *(byte *)(unaff_s7 + (int)unaff_s5 * 3);\n        ppbVar17 = unaff_s7 + (int)unaff_s5 * 3 + 3;\n        bVar1 = *(byte *)((int)(ppbVar10 + 0x122a) + (int)ppbVar23);\n        *(byte ***)pbVar4 = ppbVar17;\n        *(byte *)((int)ppbVar17 + 1) = bVar1;\n        ppbVar22 = (byte **)(uint)pbVar20[(uint)bVar1 +\n                                          (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)];\n        *(byte *)ppbVar17 =\n             pbVar20[(uint)bVar1 + (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)];\n        unaff_s7 = *(byte ***)pbVar4;\n        ppbVar17 = ppbVar10;\n      } while (unaff_s1 < unaff_s7);\nLAB_000b2d18:\n      if ((local_bc != 0) || (param_3 = local_110, unaff_s2 == (byte *)0x0)) goto LAB_000b2d2c;\n    }" ({ "{") (expression_statement "unaff_s4 = param_3;" (assignment_expression "unaff_s4 = param_3" (identifier "unaff_s4") (= "=") (identifier "param_3")) (; ";")) (expression_statement "iVar5 = (int)(char)*unaff_s4;" (assignment_expression "iVar5 = (int)(char)*unaff_s4" (identifier "iVar5") (= "=") (cast_expression "(int)(char)*unaff_s4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)*unaff_s4" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (pointer_expression "*unaff_s4" (* "*") (identifier "unaff_s4"))))) (; ";")) (if_statement "if ((iVar5 - 9U & 0xff) < 0x18) {\n        pcVar16 = local_ac;\n        puVar6 = puVar18;\n        if ((int)((0x800013U >> (iVar5 - 9U & 0x1f)) << 0x1f) < 0) {\n          param_3 = unaff_s4 + 1;\n          goto LAB_000b2a68;\n        }\n        do {\n          puVar15 = puVar6 + 4;\n          *(undefined4 *)pcVar16 = *puVar6;\n          pbVar21 = (byte *)puVar6[1];\n          uVar19 = puVar6[2];\n          *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n          *(byte **)(pcVar16 + 4) = pbVar21;\n          *(undefined4 *)(pcVar16 + 8) = uVar19;\n          puVar6 = puVar15;\n          pcVar16 = pcVar16 + 0x10;\n        } while (puVar15 != puVar14);\nLAB_000b34f0:\n        if (local_ac[iVar5] != '\0') {\nLAB_000b2b04:\n          pbVar24 = unaff_s4;\n          do {\n            pbVar24 = pbVar24 + 1;\n            bVar12 = *pbVar24;\n            puVar6 = puVar18;\n            pcVar16 = local_ac;\n            do {\n              pbVar21 = (byte *)*puVar6;\n              puVar15 = puVar6 + 4;\n              *(byte **)pcVar16 = pbVar21;\n              pbVar20 = (byte *)puVar6[1];\n              ppbVar17 = (byte **)puVar6[2];\n              *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n              *(byte **)(pcVar16 + 4) = pbVar20;\n              *(byte ***)(pcVar16 + 8) = ppbVar17;\n              puVar6 = puVar15;\n              pcVar16 = pcVar16 + 0x10;\n            } while (puVar15 != puVar14);\n          } while (((char)bVar12 < 0) || (local_ac[(char)bVar12] != '\0'));\n          pbVar24 = pbVar24 + -(int)unaff_s4;\n          if (pbVar24 == &SUB_00000002) {\n            if ((*unaff_s4 == 0x4f) && (unaff_s4[1] == 0x52)) {\n              unaff_s2 = (byte *)0x1;\n              local_110 = &SUB_00000002;\n            }\n            else {\n              unaff_s2 = &DAT_00000009;\n              local_110 = &SUB_00000002;\n            }\n          }\n          else if (pbVar24 == (byte *)0x3) {\n            if ((*unaff_s4 == 0x4e) && (pbVar9 = &DAT_00000009, unaff_s4[1] == 0x4f)) {\n              if (unaff_s4[2] == 0x54) {\n                pbVar9 = (byte *)0x3;\n              }\n            }\n            else {\n              pbVar9 = &DAT_00000009;\n            }\n            if (((*unaff_s4 == 0x41) && (unaff_s4[1] == 0x4e)) &&\n               (unaff_s2 = &SUB_00000002, unaff_s4[2] == 0x44)) {\n              local_110 = (byte *)0x3;\n            }\n            else {\n              local_110 = (byte *)0x3;\n              unaff_s2 = pbVar9;\n            }\n          }\n          else {\n            unaff_s2 = &DAT_00000009;\n            local_110 = pbVar24;\n          }\n          goto LAB_000b2b98;\n        }\n        pbVar24 = (byte *)0x1;\n        ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70cc);\n        pbVar20 = unaff_s4;\n        (*pcVar13)(&local_c4);\n        unaff_s2 = (byte *)0x0;\n      }\n      else {\n        ppbVar17 = (byte **)0x0;\n        if (iVar5 == 0x2b) {\n          unaff_s2 = &DAT_0000000e;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x2c) {\n          if (iVar5 == 0x28) {\n            unaff_s2 = &DAT_0000000a;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 < 0x29) {\n            if (iVar5 != 0) {\n              pbVar24 = unaff_s4 + 1;\n              if (iVar5 != 0x22) {\nLAB_000b2abc:\n                puVar6 = puVar18;\n                pcVar16 = local_ac;\n                do {\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                } while (puVar15 != puVar14);\n                if (-1 < iVar5) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              bVar12 = *pbVar24;\n              if (bVar12 == 0x22) goto LAB_000b3320;\n              while (ppbVar17 = (byte **)PTR_UINT_0015b5fc, bVar12 != 0) {\n                while( true ) {\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (byte *)0x0;\n              pbVar24 = (byte *)0x1;\n              ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70e0);\n              (*pcVar13)(&local_c4);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (byte *)0x0;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 == 0x29) {\n            unaff_s2 = &DAT_0000000b;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = (byte *)0xf;\n            if (iVar5 != 0x2a) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x3a) {\n          unaff_s2 = &DAT_00000005;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x3b) {\n          if (iVar5 == 0x2c) {\n            unaff_s2 = &DAT_0000000d;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = &DAT_00000006;\n            if (iVar5 != 0x2d) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x7b) {\n          unaff_s2 = &DAT_00000007;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 == 0x7d) {\n          unaff_s2 = &DAT_00000008;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else {\n          unaff_s2 = &DAT_0000000c;\n          if (iVar5 != 0x5e) goto LAB_000b2abc;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\nLAB_000b2b98:\n        local_110 = unaff_s4 + (int)local_110;\n      }" (if "if") (parenthesized_expression "((iVar5 - 9U & 0xff) < 0x18)" (( "(") (binary_expression "(iVar5 - 9U & 0xff) < 0x18" (parenthesized_expression "(iVar5 - 9U & 0xff)" (( "(") (binary_expression "iVar5 - 9U & 0xff" (binary_expression "iVar5 - 9U" (identifier "iVar5") (- "-") (number_literal "9U")) (& "&") (number_literal "0xff")) () ")")) (< "<") (number_literal "0x18")) () ")")) (compound_statement "{\n        pcVar16 = local_ac;\n        puVar6 = puVar18;\n        if ((int)((0x800013U >> (iVar5 - 9U & 0x1f)) << 0x1f) < 0) {\n          param_3 = unaff_s4 + 1;\n          goto LAB_000b2a68;\n        }\n        do {\n          puVar15 = puVar6 + 4;\n          *(undefined4 *)pcVar16 = *puVar6;\n          pbVar21 = (byte *)puVar6[1];\n          uVar19 = puVar6[2];\n          *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n          *(byte **)(pcVar16 + 4) = pbVar21;\n          *(undefined4 *)(pcVar16 + 8) = uVar19;\n          puVar6 = puVar15;\n          pcVar16 = pcVar16 + 0x10;\n        } while (puVar15 != puVar14);\nLAB_000b34f0:\n        if (local_ac[iVar5] != '\0') {\nLAB_000b2b04:\n          pbVar24 = unaff_s4;\n          do {\n            pbVar24 = pbVar24 + 1;\n            bVar12 = *pbVar24;\n            puVar6 = puVar18;\n            pcVar16 = local_ac;\n            do {\n              pbVar21 = (byte *)*puVar6;\n              puVar15 = puVar6 + 4;\n              *(byte **)pcVar16 = pbVar21;\n              pbVar20 = (byte *)puVar6[1];\n              ppbVar17 = (byte **)puVar6[2];\n              *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n              *(byte **)(pcVar16 + 4) = pbVar20;\n              *(byte ***)(pcVar16 + 8) = ppbVar17;\n              puVar6 = puVar15;\n              pcVar16 = pcVar16 + 0x10;\n            } while (puVar15 != puVar14);\n          } while (((char)bVar12 < 0) || (local_ac[(char)bVar12] != '\0'));\n          pbVar24 = pbVar24 + -(int)unaff_s4;\n          if (pbVar24 == &SUB_00000002) {\n            if ((*unaff_s4 == 0x4f) && (unaff_s4[1] == 0x52)) {\n              unaff_s2 = (byte *)0x1;\n              local_110 = &SUB_00000002;\n            }\n            else {\n              unaff_s2 = &DAT_00000009;\n              local_110 = &SUB_00000002;\n            }\n          }\n          else if (pbVar24 == (byte *)0x3) {\n            if ((*unaff_s4 == 0x4e) && (pbVar9 = &DAT_00000009, unaff_s4[1] == 0x4f)) {\n              if (unaff_s4[2] == 0x54) {\n                pbVar9 = (byte *)0x3;\n              }\n            }\n            else {\n              pbVar9 = &DAT_00000009;\n            }\n            if (((*unaff_s4 == 0x41) && (unaff_s4[1] == 0x4e)) &&\n               (unaff_s2 = &SUB_00000002, unaff_s4[2] == 0x44)) {\n              local_110 = (byte *)0x3;\n            }\n            else {\n              local_110 = (byte *)0x3;\n              unaff_s2 = pbVar9;\n            }\n          }\n          else {\n            unaff_s2 = &DAT_00000009;\n            local_110 = pbVar24;\n          }\n          goto LAB_000b2b98;\n        }\n        pbVar24 = (byte *)0x1;\n        ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70cc);\n        pbVar20 = unaff_s4;\n        (*pcVar13)(&local_c4);\n        unaff_s2 = (byte *)0x0;\n      }" ({ "{") (expression_statement "pcVar16 = local_ac;" (assignment_expression "pcVar16 = local_ac" (identifier "pcVar16") (= "=") (identifier "local_ac")) (; ";")) (expression_statement "puVar6 = puVar18;" (assignment_expression "puVar6 = puVar18" (identifier "puVar6") (= "=") (identifier "puVar18")) (; ";")) (if_statement "if ((int)((0x800013U >> (iVar5 - 9U & 0x1f)) << 0x1f) < 0) {\n          param_3 = unaff_s4 + 1;\n          goto LAB_000b2a68;\n        }" (if "if") (parenthesized_expression "((int)((0x800013U >> (iVar5 - 9U & 0x1f)) << 0x1f) < 0)" (( "(") (binary_expression "(int)((0x800013U >> (iVar5 - 9U & 0x1f)) << 0x1f) < 0" (cast_expression "(int)((0x800013U >> (iVar5 - 9U & 0x1f)) << 0x1f)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((0x800013U >> (iVar5 - 9U & 0x1f)) << 0x1f)" (( "(") (binary_expression "(0x800013U >> (iVar5 - 9U & 0x1f)) << 0x1f" (parenthesized_expression "(0x800013U >> (iVar5 - 9U & 0x1f))" (( "(") (binary_expression "0x800013U >> (iVar5 - 9U & 0x1f)" (number_literal "0x800013U") (>> ">>") (parenthesized_expression "(iVar5 - 9U & 0x1f)" (( "(") (binary_expression "iVar5 - 9U & 0x1f" (binary_expression "iVar5 - 9U" (identifier "iVar5") (- "-") (number_literal "9U")) (& "&") (number_literal "0x1f")) () ")"))) () ")")) (<< "<<") (number_literal "0x1f")) () ")"))) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n          param_3 = unaff_s4 + 1;\n          goto LAB_000b2a68;\n        }" ({ "{") (expression_statement "param_3 = unaff_s4 + 1;" (assignment_expression "param_3 = unaff_s4 + 1" (identifier "param_3") (= "=") (binary_expression "unaff_s4 + 1" (identifier "unaff_s4") (+ "+") (number_literal "1"))) (; ";")) (goto_statement "goto LAB_000b2a68;" (goto "goto") (statement_identifier "LAB_000b2a68") (; ";")) (} "}"))) (do_statement "do {\n          puVar15 = puVar6 + 4;\n          *(undefined4 *)pcVar16 = *puVar6;\n          pbVar21 = (byte *)puVar6[1];\n          uVar19 = puVar6[2];\n          *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n          *(byte **)(pcVar16 + 4) = pbVar21;\n          *(undefined4 *)(pcVar16 + 8) = uVar19;\n          puVar6 = puVar15;\n          pcVar16 = pcVar16 + 0x10;\n        } while (puVar15 != puVar14);" (do "do") (compound_statement "{\n          puVar15 = puVar6 + 4;\n          *(undefined4 *)pcVar16 = *puVar6;\n          pbVar21 = (byte *)puVar6[1];\n          uVar19 = puVar6[2];\n          *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n          *(byte **)(pcVar16 + 4) = pbVar21;\n          *(undefined4 *)(pcVar16 + 8) = uVar19;\n          puVar6 = puVar15;\n          pcVar16 = pcVar16 + 0x10;\n        }" ({ "{") (expression_statement "puVar15 = puVar6 + 4;" (assignment_expression "puVar15 = puVar6 + 4" (identifier "puVar15") (= "=") (binary_expression "puVar6 + 4" (identifier "puVar6") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "*(undefined4 *)pcVar16 = *puVar6;" (assignment_expression "*(undefined4 *)pcVar16 = *puVar6" (pointer_expression "*(undefined4 *)pcVar16" (* "*") (cast_expression "(undefined4 *)pcVar16" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pcVar16"))) (= "=") (pointer_expression "*puVar6" (* "*") (identifier "puVar6"))) (; ";")) (expression_statement "pbVar21 = (byte *)puVar6[1];" (assignment_expression "pbVar21 = (byte *)puVar6[1]" (identifier "pbVar21") (= "=") (cast_expression "(byte *)puVar6[1]" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar6[1]" (identifier "puVar6") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "uVar19 = puVar6[2];" (assignment_expression "uVar19 = puVar6[2]" (identifier "uVar19") (= "=") (subscript_expression "puVar6[2]" (identifier "puVar6") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)(pcVar16 + 0xc) = puVar6[3];" (assignment_expression "*(undefined4 *)(pcVar16 + 0xc) = puVar6[3]" (pointer_expression "*(undefined4 *)(pcVar16 + 0xc)" (* "*") (cast_expression "(undefined4 *)(pcVar16 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar16 + 0xc)" (( "(") (binary_expression "pcVar16 + 0xc" (identifier "pcVar16") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (subscript_expression "puVar6[3]" (identifier "puVar6") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "*(byte **)(pcVar16 + 4) = pbVar21;" (assignment_expression "*(byte **)(pcVar16 + 4) = pbVar21" (pointer_expression "*(byte **)(pcVar16 + 4)" (* "*") (cast_expression "(byte **)(pcVar16 + 4)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar16 + 4)" (( "(") (binary_expression "pcVar16 + 4" (identifier "pcVar16") (+ "+") (number_literal "4")) () ")")))) (= "=") (identifier "pbVar21")) (; ";")) (expression_statement "*(undefined4 *)(pcVar16 + 8) = uVar19;" (assignment_expression "*(undefined4 *)(pcVar16 + 8) = uVar19" (pointer_expression "*(undefined4 *)(pcVar16 + 8)" (* "*") (cast_expression "(undefined4 *)(pcVar16 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar16 + 8)" (( "(") (binary_expression "pcVar16 + 8" (identifier "pcVar16") (+ "+") (number_literal "8")) () ")")))) (= "=") (identifier "uVar19")) (; ";")) (expression_statement "puVar6 = puVar15;" (assignment_expression "puVar6 = puVar15" (identifier "puVar6") (= "=") (identifier "puVar15")) (; ";")) (expression_statement "pcVar16 = pcVar16 + 0x10;" (assignment_expression "pcVar16 = pcVar16 + 0x10" (identifier "pcVar16") (= "=") (binary_expression "pcVar16 + 0x10" (identifier "pcVar16") (+ "+") (number_literal "0x10"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar15 != puVar14)" (( "(") (binary_expression "puVar15 != puVar14" (identifier "puVar15") (!= "!=") (identifier "puVar14")) () ")")) (; ";")) (labeled_statement "LAB_000b34f0:\n        if (local_ac[iVar5] != '\0') {\nLAB_000b2b04:\n          pbVar24 = unaff_s4;\n          do {\n            pbVar24 = pbVar24 + 1;\n            bVar12 = *pbVar24;\n            puVar6 = puVar18;\n            pcVar16 = local_ac;\n            do {\n              pbVar21 = (byte *)*puVar6;\n              puVar15 = puVar6 + 4;\n              *(byte **)pcVar16 = pbVar21;\n              pbVar20 = (byte *)puVar6[1];\n              ppbVar17 = (byte **)puVar6[2];\n              *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n              *(byte **)(pcVar16 + 4) = pbVar20;\n              *(byte ***)(pcVar16 + 8) = ppbVar17;\n              puVar6 = puVar15;\n              pcVar16 = pcVar16 + 0x10;\n            } while (puVar15 != puVar14);\n          } while (((char)bVar12 < 0) || (local_ac[(char)bVar12] != '\0'));\n          pbVar24 = pbVar24 + -(int)unaff_s4;\n          if (pbVar24 == &SUB_00000002) {\n            if ((*unaff_s4 == 0x4f) && (unaff_s4[1] == 0x52)) {\n              unaff_s2 = (byte *)0x1;\n              local_110 = &SUB_00000002;\n            }\n            else {\n              unaff_s2 = &DAT_00000009;\n              local_110 = &SUB_00000002;\n            }\n          }\n          else if (pbVar24 == (byte *)0x3) {\n            if ((*unaff_s4 == 0x4e) && (pbVar9 = &DAT_00000009, unaff_s4[1] == 0x4f)) {\n              if (unaff_s4[2] == 0x54) {\n                pbVar9 = (byte *)0x3;\n              }\n            }\n            else {\n              pbVar9 = &DAT_00000009;\n            }\n            if (((*unaff_s4 == 0x41) && (unaff_s4[1] == 0x4e)) &&\n               (unaff_s2 = &SUB_00000002, unaff_s4[2] == 0x44)) {\n              local_110 = (byte *)0x3;\n            }\n            else {\n              local_110 = (byte *)0x3;\n              unaff_s2 = pbVar9;\n            }\n          }\n          else {\n            unaff_s2 = &DAT_00000009;\n            local_110 = pbVar24;\n          }\n          goto LAB_000b2b98;\n        }" (statement_identifier "LAB_000b34f0") (: ":") (if_statement "if (local_ac[iVar5] != '\0') {\nLAB_000b2b04:\n          pbVar24 = unaff_s4;\n          do {\n            pbVar24 = pbVar24 + 1;\n            bVar12 = *pbVar24;\n            puVar6 = puVar18;\n            pcVar16 = local_ac;\n            do {\n              pbVar21 = (byte *)*puVar6;\n              puVar15 = puVar6 + 4;\n              *(byte **)pcVar16 = pbVar21;\n              pbVar20 = (byte *)puVar6[1];\n              ppbVar17 = (byte **)puVar6[2];\n              *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n              *(byte **)(pcVar16 + 4) = pbVar20;\n              *(byte ***)(pcVar16 + 8) = ppbVar17;\n              puVar6 = puVar15;\n              pcVar16 = pcVar16 + 0x10;\n            } while (puVar15 != puVar14);\n          } while (((char)bVar12 < 0) || (local_ac[(char)bVar12] != '\0'));\n          pbVar24 = pbVar24 + -(int)unaff_s4;\n          if (pbVar24 == &SUB_00000002) {\n            if ((*unaff_s4 == 0x4f) && (unaff_s4[1] == 0x52)) {\n              unaff_s2 = (byte *)0x1;\n              local_110 = &SUB_00000002;\n            }\n            else {\n              unaff_s2 = &DAT_00000009;\n              local_110 = &SUB_00000002;\n            }\n          }\n          else if (pbVar24 == (byte *)0x3) {\n            if ((*unaff_s4 == 0x4e) && (pbVar9 = &DAT_00000009, unaff_s4[1] == 0x4f)) {\n              if (unaff_s4[2] == 0x54) {\n                pbVar9 = (byte *)0x3;\n              }\n            }\n            else {\n              pbVar9 = &DAT_00000009;\n            }\n            if (((*unaff_s4 == 0x41) && (unaff_s4[1] == 0x4e)) &&\n               (unaff_s2 = &SUB_00000002, unaff_s4[2] == 0x44)) {\n              local_110 = (byte *)0x3;\n            }\n            else {\n              local_110 = (byte *)0x3;\n              unaff_s2 = pbVar9;\n            }\n          }\n          else {\n            unaff_s2 = &DAT_00000009;\n            local_110 = pbVar24;\n          }\n          goto LAB_000b2b98;\n        }" (if "if") (parenthesized_expression "(local_ac[iVar5] != '\0')" (( "(") (binary_expression "local_ac[iVar5] != '\0'" (subscript_expression "local_ac[iVar5]" (identifier "local_ac") ([ "[") (identifier "iVar5") (] "]")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\nLAB_000b2b04:\n          pbVar24 = unaff_s4;\n          do {\n            pbVar24 = pbVar24 + 1;\n            bVar12 = *pbVar24;\n            puVar6 = puVar18;\n            pcVar16 = local_ac;\n            do {\n              pbVar21 = (byte *)*puVar6;\n              puVar15 = puVar6 + 4;\n              *(byte **)pcVar16 = pbVar21;\n              pbVar20 = (byte *)puVar6[1];\n              ppbVar17 = (byte **)puVar6[2];\n              *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n              *(byte **)(pcVar16 + 4) = pbVar20;\n              *(byte ***)(pcVar16 + 8) = ppbVar17;\n              puVar6 = puVar15;\n              pcVar16 = pcVar16 + 0x10;\n            } while (puVar15 != puVar14);\n          } while (((char)bVar12 < 0) || (local_ac[(char)bVar12] != '\0'));\n          pbVar24 = pbVar24 + -(int)unaff_s4;\n          if (pbVar24 == &SUB_00000002) {\n            if ((*unaff_s4 == 0x4f) && (unaff_s4[1] == 0x52)) {\n              unaff_s2 = (byte *)0x1;\n              local_110 = &SUB_00000002;\n            }\n            else {\n              unaff_s2 = &DAT_00000009;\n              local_110 = &SUB_00000002;\n            }\n          }\n          else if (pbVar24 == (byte *)0x3) {\n            if ((*unaff_s4 == 0x4e) && (pbVar9 = &DAT_00000009, unaff_s4[1] == 0x4f)) {\n              if (unaff_s4[2] == 0x54) {\n                pbVar9 = (byte *)0x3;\n              }\n            }\n            else {\n              pbVar9 = &DAT_00000009;\n            }\n            if (((*unaff_s4 == 0x41) && (unaff_s4[1] == 0x4e)) &&\n               (unaff_s2 = &SUB_00000002, unaff_s4[2] == 0x44)) {\n              local_110 = (byte *)0x3;\n            }\n            else {\n              local_110 = (byte *)0x3;\n              unaff_s2 = pbVar9;\n            }\n          }\n          else {\n            unaff_s2 = &DAT_00000009;\n            local_110 = pbVar24;\n          }\n          goto LAB_000b2b98;\n        }" ({ "{") (labeled_statement "LAB_000b2b04:\n          pbVar24 = unaff_s4;" (statement_identifier "LAB_000b2b04") (: ":") (expression_statement "pbVar24 = unaff_s4;" (assignment_expression "pbVar24 = unaff_s4" (identifier "pbVar24") (= "=") (identifier "unaff_s4")) (; ";"))) (do_statement "do {\n            pbVar24 = pbVar24 + 1;\n            bVar12 = *pbVar24;\n            puVar6 = puVar18;\n            pcVar16 = local_ac;\n            do {\n              pbVar21 = (byte *)*puVar6;\n              puVar15 = puVar6 + 4;\n              *(byte **)pcVar16 = pbVar21;\n              pbVar20 = (byte *)puVar6[1];\n              ppbVar17 = (byte **)puVar6[2];\n              *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n              *(byte **)(pcVar16 + 4) = pbVar20;\n              *(byte ***)(pcVar16 + 8) = ppbVar17;\n              puVar6 = puVar15;\n              pcVar16 = pcVar16 + 0x10;\n            } while (puVar15 != puVar14);\n          } while (((char)bVar12 < 0) || (local_ac[(char)bVar12] != '\0'));" (do "do") (compound_statement "{\n            pbVar24 = pbVar24 + 1;\n            bVar12 = *pbVar24;\n            puVar6 = puVar18;\n            pcVar16 = local_ac;\n            do {\n              pbVar21 = (byte *)*puVar6;\n              puVar15 = puVar6 + 4;\n              *(byte **)pcVar16 = pbVar21;\n              pbVar20 = (byte *)puVar6[1];\n              ppbVar17 = (byte **)puVar6[2];\n              *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n              *(byte **)(pcVar16 + 4) = pbVar20;\n              *(byte ***)(pcVar16 + 8) = ppbVar17;\n              puVar6 = puVar15;\n              pcVar16 = pcVar16 + 0x10;\n            } while (puVar15 != puVar14);\n          }" ({ "{") (expression_statement "pbVar24 = pbVar24 + 1;" (assignment_expression "pbVar24 = pbVar24 + 1" (identifier "pbVar24") (= "=") (binary_expression "pbVar24 + 1" (identifier "pbVar24") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "bVar12 = *pbVar24;" (assignment_expression "bVar12 = *pbVar24" (identifier "bVar12") (= "=") (pointer_expression "*pbVar24" (* "*") (identifier "pbVar24"))) (; ";")) (expression_statement "puVar6 = puVar18;" (assignment_expression "puVar6 = puVar18" (identifier "puVar6") (= "=") (identifier "puVar18")) (; ";")) (expression_statement "pcVar16 = local_ac;" (assignment_expression "pcVar16 = local_ac" (identifier "pcVar16") (= "=") (identifier "local_ac")) (; ";")) (do_statement "do {\n              pbVar21 = (byte *)*puVar6;\n              puVar15 = puVar6 + 4;\n              *(byte **)pcVar16 = pbVar21;\n              pbVar20 = (byte *)puVar6[1];\n              ppbVar17 = (byte **)puVar6[2];\n              *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n              *(byte **)(pcVar16 + 4) = pbVar20;\n              *(byte ***)(pcVar16 + 8) = ppbVar17;\n              puVar6 = puVar15;\n              pcVar16 = pcVar16 + 0x10;\n            } while (puVar15 != puVar14);" (do "do") (compound_statement "{\n              pbVar21 = (byte *)*puVar6;\n              puVar15 = puVar6 + 4;\n              *(byte **)pcVar16 = pbVar21;\n              pbVar20 = (byte *)puVar6[1];\n              ppbVar17 = (byte **)puVar6[2];\n              *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n              *(byte **)(pcVar16 + 4) = pbVar20;\n              *(byte ***)(pcVar16 + 8) = ppbVar17;\n              puVar6 = puVar15;\n              pcVar16 = pcVar16 + 0x10;\n            }" ({ "{") (expression_statement "pbVar21 = (byte *)*puVar6;" (assignment_expression "pbVar21 = (byte *)*puVar6" (identifier "pbVar21") (= "=") (cast_expression "(byte *)*puVar6" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar6" (* "*") (identifier "puVar6")))) (; ";")) (expression_statement "puVar15 = puVar6 + 4;" (assignment_expression "puVar15 = puVar6 + 4" (identifier "puVar15") (= "=") (binary_expression "puVar6 + 4" (identifier "puVar6") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "*(byte **)pcVar16 = pbVar21;" (assignment_expression "*(byte **)pcVar16 = pbVar21" (pointer_expression "*(byte **)pcVar16" (* "*") (cast_expression "(byte **)pcVar16" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "pcVar16"))) (= "=") (identifier "pbVar21")) (; ";")) (expression_statement "pbVar20 = (byte *)puVar6[1];" (assignment_expression "pbVar20 = (byte *)puVar6[1]" (identifier "pbVar20") (= "=") (cast_expression "(byte *)puVar6[1]" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar6[1]" (identifier "puVar6") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "ppbVar17 = (byte **)puVar6[2];" (assignment_expression "ppbVar17 = (byte **)puVar6[2]" (identifier "ppbVar17") (= "=") (cast_expression "(byte **)puVar6[2]" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (subscript_expression "puVar6[2]" (identifier "puVar6") ([ "[") (number_literal "2") (] "]")))) (; ";")) (expression_statement "*(undefined4 *)(pcVar16 + 0xc) = puVar6[3];" (assignment_expression "*(undefined4 *)(pcVar16 + 0xc) = puVar6[3]" (pointer_expression "*(undefined4 *)(pcVar16 + 0xc)" (* "*") (cast_expression "(undefined4 *)(pcVar16 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar16 + 0xc)" (( "(") (binary_expression "pcVar16 + 0xc" (identifier "pcVar16") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (subscript_expression "puVar6[3]" (identifier "puVar6") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "*(byte **)(pcVar16 + 4) = pbVar20;" (assignment_expression "*(byte **)(pcVar16 + 4) = pbVar20" (pointer_expression "*(byte **)(pcVar16 + 4)" (* "*") (cast_expression "(byte **)(pcVar16 + 4)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar16 + 4)" (( "(") (binary_expression "pcVar16 + 4" (identifier "pcVar16") (+ "+") (number_literal "4")) () ")")))) (= "=") (identifier "pbVar20")) (; ";")) (expression_statement "*(byte ***)(pcVar16 + 8) = ppbVar17;" (assignment_expression "*(byte ***)(pcVar16 + 8) = ppbVar17" (pointer_expression "*(byte ***)(pcVar16 + 8)" (* "*") (cast_expression "(byte ***)(pcVar16 + 8)" (( "(") (type_descriptor "byte ***" (type_identifier "byte") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(pcVar16 + 8)" (( "(") (binary_expression "pcVar16 + 8" (identifier "pcVar16") (+ "+") (number_literal "8")) () ")")))) (= "=") (identifier "ppbVar17")) (; ";")) (expression_statement "puVar6 = puVar15;" (assignment_expression "puVar6 = puVar15" (identifier "puVar6") (= "=") (identifier "puVar15")) (; ";")) (expression_statement "pcVar16 = pcVar16 + 0x10;" (assignment_expression "pcVar16 = pcVar16 + 0x10" (identifier "pcVar16") (= "=") (binary_expression "pcVar16 + 0x10" (identifier "pcVar16") (+ "+") (number_literal "0x10"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar15 != puVar14)" (( "(") (binary_expression "puVar15 != puVar14" (identifier "puVar15") (!= "!=") (identifier "puVar14")) () ")")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(((char)bVar12 < 0) || (local_ac[(char)bVar12] != '\0'))" (( "(") (binary_expression "((char)bVar12 < 0) || (local_ac[(char)bVar12] != '\0')" (parenthesized_expression "((char)bVar12 < 0)" (( "(") (binary_expression "(char)bVar12 < 0" (cast_expression "(char)bVar12" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar12")) (< "<") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(local_ac[(char)bVar12] != '\0')" (( "(") (binary_expression "local_ac[(char)bVar12] != '\0'" (subscript_expression "local_ac[(char)bVar12]" (identifier "local_ac") ([ "[") (cast_expression "(char)bVar12" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bVar12")) (] "]")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (; ";")) (expression_statement "pbVar24 = pbVar24 + -(int)unaff_s4;" (assignment_expression "pbVar24 = pbVar24 + -(int)unaff_s4" (identifier "pbVar24") (= "=") (binary_expression "pbVar24 + -(int)unaff_s4" (identifier "pbVar24") (+ "+") (unary_expression "-(int)unaff_s4" (- "-") (cast_expression "(int)unaff_s4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s4"))))) (; ";")) (if_statement "if (pbVar24 == &SUB_00000002) {\n            if ((*unaff_s4 == 0x4f) && (unaff_s4[1] == 0x52)) {\n              unaff_s2 = (byte *)0x1;\n              local_110 = &SUB_00000002;\n            }\n            else {\n              unaff_s2 = &DAT_00000009;\n              local_110 = &SUB_00000002;\n            }\n          }\n          else if (pbVar24 == (byte *)0x3) {\n            if ((*unaff_s4 == 0x4e) && (pbVar9 = &DAT_00000009, unaff_s4[1] == 0x4f)) {\n              if (unaff_s4[2] == 0x54) {\n                pbVar9 = (byte *)0x3;\n              }\n            }\n            else {\n              pbVar9 = &DAT_00000009;\n            }\n            if (((*unaff_s4 == 0x41) && (unaff_s4[1] == 0x4e)) &&\n               (unaff_s2 = &SUB_00000002, unaff_s4[2] == 0x44)) {\n              local_110 = (byte *)0x3;\n            }\n            else {\n              local_110 = (byte *)0x3;\n              unaff_s2 = pbVar9;\n            }\n          }\n          else {\n            unaff_s2 = &DAT_00000009;\n            local_110 = pbVar24;\n          }" (if "if") (parenthesized_expression "(pbVar24 == &SUB_00000002)" (( "(") (binary_expression "pbVar24 == &SUB_00000002" (identifier "pbVar24") (== "==") (pointer_expression "&SUB_00000002" (& "&") (identifier "SUB_00000002"))) () ")")) (compound_statement "{\n            if ((*unaff_s4 == 0x4f) && (unaff_s4[1] == 0x52)) {\n              unaff_s2 = (byte *)0x1;\n              local_110 = &SUB_00000002;\n            }\n            else {\n              unaff_s2 = &DAT_00000009;\n              local_110 = &SUB_00000002;\n            }\n          }" ({ "{") (if_statement "if ((*unaff_s4 == 0x4f) && (unaff_s4[1] == 0x52)) {\n              unaff_s2 = (byte *)0x1;\n              local_110 = &SUB_00000002;\n            }\n            else {\n              unaff_s2 = &DAT_00000009;\n              local_110 = &SUB_00000002;\n            }" (if "if") (parenthesized_expression "((*unaff_s4 == 0x4f) && (unaff_s4[1] == 0x52))" (( "(") (binary_expression "(*unaff_s4 == 0x4f) && (unaff_s4[1] == 0x52)" (parenthesized_expression "(*unaff_s4 == 0x4f)" (( "(") (binary_expression "*unaff_s4 == 0x4f" (pointer_expression "*unaff_s4" (* "*") (identifier "unaff_s4")) (== "==") (number_literal "0x4f")) () ")")) (&& "&&") (parenthesized_expression "(unaff_s4[1] == 0x52)" (( "(") (binary_expression "unaff_s4[1] == 0x52" (subscript_expression "unaff_s4[1]" (identifier "unaff_s4") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "0x52")) () ")"))) () ")")) (compound_statement "{\n              unaff_s2 = (byte *)0x1;\n              local_110 = &SUB_00000002;\n            }" ({ "{") (expression_statement "unaff_s2 = (byte *)0x1;" (assignment_expression "unaff_s2 = (byte *)0x1" (identifier "unaff_s2") (= "=") (cast_expression "(byte *)0x1" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "local_110 = &SUB_00000002;" (assignment_expression "local_110 = &SUB_00000002" (identifier "local_110") (= "=") (pointer_expression "&SUB_00000002" (& "&") (identifier "SUB_00000002"))) (; ";")) (} "}")) (else_clause "else {\n              unaff_s2 = &DAT_00000009;\n              local_110 = &SUB_00000002;\n            }" (else "else") (compound_statement "{\n              unaff_s2 = &DAT_00000009;\n              local_110 = &SUB_00000002;\n            }" ({ "{") (expression_statement "unaff_s2 = &DAT_00000009;" (assignment_expression "unaff_s2 = &DAT_00000009" (identifier "unaff_s2") (= "=") (pointer_expression "&DAT_00000009" (& "&") (identifier "DAT_00000009"))) (; ";")) (expression_statement "local_110 = &SUB_00000002;" (assignment_expression "local_110 = &SUB_00000002" (identifier "local_110") (= "=") (pointer_expression "&SUB_00000002" (& "&") (identifier "SUB_00000002"))) (; ";")) (} "}")))) (} "}")) (else_clause "else if (pbVar24 == (byte *)0x3) {\n            if ((*unaff_s4 == 0x4e) && (pbVar9 = &DAT_00000009, unaff_s4[1] == 0x4f)) {\n              if (unaff_s4[2] == 0x54) {\n                pbVar9 = (byte *)0x3;\n              }\n            }\n            else {\n              pbVar9 = &DAT_00000009;\n            }\n            if (((*unaff_s4 == 0x41) && (unaff_s4[1] == 0x4e)) &&\n               (unaff_s2 = &SUB_00000002, unaff_s4[2] == 0x44)) {\n              local_110 = (byte *)0x3;\n            }\n            else {\n              local_110 = (byte *)0x3;\n              unaff_s2 = pbVar9;\n            }\n          }\n          else {\n            unaff_s2 = &DAT_00000009;\n            local_110 = pbVar24;\n          }" (else "else") (if_statement "if (pbVar24 == (byte *)0x3) {\n            if ((*unaff_s4 == 0x4e) && (pbVar9 = &DAT_00000009, unaff_s4[1] == 0x4f)) {\n              if (unaff_s4[2] == 0x54) {\n                pbVar9 = (byte *)0x3;\n              }\n            }\n            else {\n              pbVar9 = &DAT_00000009;\n            }\n            if (((*unaff_s4 == 0x41) && (unaff_s4[1] == 0x4e)) &&\n               (unaff_s2 = &SUB_00000002, unaff_s4[2] == 0x44)) {\n              local_110 = (byte *)0x3;\n            }\n            else {\n              local_110 = (byte *)0x3;\n              unaff_s2 = pbVar9;\n            }\n          }\n          else {\n            unaff_s2 = &DAT_00000009;\n            local_110 = pbVar24;\n          }" (if "if") (parenthesized_expression "(pbVar24 == (byte *)0x3)" (( "(") (binary_expression "pbVar24 == (byte *)0x3" (identifier "pbVar24") (== "==") (cast_expression "(byte *)0x3" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x3"))) () ")")) (compound_statement "{\n            if ((*unaff_s4 == 0x4e) && (pbVar9 = &DAT_00000009, unaff_s4[1] == 0x4f)) {\n              if (unaff_s4[2] == 0x54) {\n                pbVar9 = (byte *)0x3;\n              }\n            }\n            else {\n              pbVar9 = &DAT_00000009;\n            }\n            if (((*unaff_s4 == 0x41) && (unaff_s4[1] == 0x4e)) &&\n               (unaff_s2 = &SUB_00000002, unaff_s4[2] == 0x44)) {\n              local_110 = (byte *)0x3;\n            }\n            else {\n              local_110 = (byte *)0x3;\n              unaff_s2 = pbVar9;\n            }\n          }" ({ "{") (if_statement "if ((*unaff_s4 == 0x4e) && (pbVar9 = &DAT_00000009, unaff_s4[1] == 0x4f)) {\n              if (unaff_s4[2] == 0x54) {\n                pbVar9 = (byte *)0x3;\n              }\n            }\n            else {\n              pbVar9 = &DAT_00000009;\n            }" (if "if") (parenthesized_expression "((*unaff_s4 == 0x4e) && (pbVar9 = &DAT_00000009, unaff_s4[1] == 0x4f))" (( "(") (binary_expression "(*unaff_s4 == 0x4e) && (pbVar9 = &DAT_00000009, unaff_s4[1] == 0x4f)" (parenthesized_expression "(*unaff_s4 == 0x4e)" (( "(") (binary_expression "*unaff_s4 == 0x4e" (pointer_expression "*unaff_s4" (* "*") (identifier "unaff_s4")) (== "==") (number_literal "0x4e")) () ")")) (&& "&&") (parenthesized_expression "(pbVar9 = &DAT_00000009, unaff_s4[1] == 0x4f)" (( "(") (comma_expression "pbVar9 = &DAT_00000009, unaff_s4[1] == 0x4f" (assignment_expression "pbVar9 = &DAT_00000009" (identifier "pbVar9") (= "=") (pointer_expression "&DAT_00000009" (& "&") (identifier "DAT_00000009"))) (, ",") (binary_expression "unaff_s4[1] == 0x4f" (subscript_expression "unaff_s4[1]" (identifier "unaff_s4") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "0x4f"))) () ")"))) () ")")) (compound_statement "{\n              if (unaff_s4[2] == 0x54) {\n                pbVar9 = (byte *)0x3;\n              }\n            }" ({ "{") (if_statement "if (unaff_s4[2] == 0x54) {\n                pbVar9 = (byte *)0x3;\n              }" (if "if") (parenthesized_expression "(unaff_s4[2] == 0x54)" (( "(") (binary_expression "unaff_s4[2] == 0x54" (subscript_expression "unaff_s4[2]" (identifier "unaff_s4") ([ "[") (number_literal "2") (] "]")) (== "==") (number_literal "0x54")) () ")")) (compound_statement "{\n                pbVar9 = (byte *)0x3;\n              }" ({ "{") (expression_statement "pbVar9 = (byte *)0x3;" (assignment_expression "pbVar9 = (byte *)0x3" (identifier "pbVar9") (= "=") (cast_expression "(byte *)0x3" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x3"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n              pbVar9 = &DAT_00000009;\n            }" (else "else") (compound_statement "{\n              pbVar9 = &DAT_00000009;\n            }" ({ "{") (expression_statement "pbVar9 = &DAT_00000009;" (assignment_expression "pbVar9 = &DAT_00000009" (identifier "pbVar9") (= "=") (pointer_expression "&DAT_00000009" (& "&") (identifier "DAT_00000009"))) (; ";")) (} "}")))) (if_statement "if (((*unaff_s4 == 0x41) && (unaff_s4[1] == 0x4e)) &&\n               (unaff_s2 = &SUB_00000002, unaff_s4[2] == 0x44)) {\n              local_110 = (byte *)0x3;\n            }\n            else {\n              local_110 = (byte *)0x3;\n              unaff_s2 = pbVar9;\n            }" (if "if") (parenthesized_expression "(((*unaff_s4 == 0x41) && (unaff_s4[1] == 0x4e)) &&\n               (unaff_s2 = &SUB_00000002, unaff_s4[2] == 0x44))" (( "(") (binary_expression "((*unaff_s4 == 0x41) && (unaff_s4[1] == 0x4e)) &&\n               (unaff_s2 = &SUB_00000002, unaff_s4[2] == 0x44)" (parenthesized_expression "((*unaff_s4 == 0x41) && (unaff_s4[1] == 0x4e))" (( "(") (binary_expression "(*unaff_s4 == 0x41) && (unaff_s4[1] == 0x4e)" (parenthesized_expression "(*unaff_s4 == 0x41)" (( "(") (binary_expression "*unaff_s4 == 0x41" (pointer_expression "*unaff_s4" (* "*") (identifier "unaff_s4")) (== "==") (number_literal "0x41")) () ")")) (&& "&&") (parenthesized_expression "(unaff_s4[1] == 0x4e)" (( "(") (binary_expression "unaff_s4[1] == 0x4e" (subscript_expression "unaff_s4[1]" (identifier "unaff_s4") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "0x4e")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(unaff_s2 = &SUB_00000002, unaff_s4[2] == 0x44)" (( "(") (comma_expression "unaff_s2 = &SUB_00000002, unaff_s4[2] == 0x44" (assignment_expression "unaff_s2 = &SUB_00000002" (identifier "unaff_s2") (= "=") (pointer_expression "&SUB_00000002" (& "&") (identifier "SUB_00000002"))) (, ",") (binary_expression "unaff_s4[2] == 0x44" (subscript_expression "unaff_s4[2]" (identifier "unaff_s4") ([ "[") (number_literal "2") (] "]")) (== "==") (number_literal "0x44"))) () ")"))) () ")")) (compound_statement "{\n              local_110 = (byte *)0x3;\n            }" ({ "{") (expression_statement "local_110 = (byte *)0x3;" (assignment_expression "local_110 = (byte *)0x3" (identifier "local_110") (= "=") (cast_expression "(byte *)0x3" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x3"))) (; ";")) (} "}")) (else_clause "else {\n              local_110 = (byte *)0x3;\n              unaff_s2 = pbVar9;\n            }" (else "else") (compound_statement "{\n              local_110 = (byte *)0x3;\n              unaff_s2 = pbVar9;\n            }" ({ "{") (expression_statement "local_110 = (byte *)0x3;" (assignment_expression "local_110 = (byte *)0x3" (identifier "local_110") (= "=") (cast_expression "(byte *)0x3" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x3"))) (; ";")) (expression_statement "unaff_s2 = pbVar9;" (assignment_expression "unaff_s2 = pbVar9" (identifier "unaff_s2") (= "=") (identifier "pbVar9")) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n            unaff_s2 = &DAT_00000009;\n            local_110 = pbVar24;\n          }" (else "else") (compound_statement "{\n            unaff_s2 = &DAT_00000009;\n            local_110 = pbVar24;\n          }" ({ "{") (expression_statement "unaff_s2 = &DAT_00000009;" (assignment_expression "unaff_s2 = &DAT_00000009" (identifier "unaff_s2") (= "=") (pointer_expression "&DAT_00000009" (& "&") (identifier "DAT_00000009"))) (; ";")) (expression_statement "local_110 = pbVar24;" (assignment_expression "local_110 = pbVar24" (identifier "local_110") (= "=") (identifier "pbVar24")) (; ";")) (} "}")))))) (goto_statement "goto LAB_000b2b98;" (goto "goto") (statement_identifier "LAB_000b2b98") (; ";")) (} "}")))) (expression_statement "pbVar24 = (byte *)0x1;" (assignment_expression "pbVar24 = (byte *)0x1" (identifier "pbVar24") (= "=") (cast_expression "(byte *)0x1" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70cc);" (assignment_expression "ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70cc)" (identifier "ppbVar17") (= "=") (cast_expression "(byte **)(PTR_UINT_0015b5fc + -0x70cc)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(PTR_UINT_0015b5fc + -0x70cc)" (( "(") (binary_expression "PTR_UINT_0015b5fc + -0x70cc" (identifier "PTR_UINT_0015b5fc") (+ "+") (number_literal "-0x70cc")) () ")")))) (; ";")) (expression_statement "pbVar20 = unaff_s4;" (assignment_expression "pbVar20 = unaff_s4" (identifier "pbVar20") (= "=") (identifier "unaff_s4")) (; ";")) (expression_statement "(*pcVar13)(&local_c4);" (call_expression "(*pcVar13)(&local_c4)" (parenthesized_expression "(*pcVar13)" (( "(") (pointer_expression "*pcVar13" (* "*") (identifier "pcVar13")) () ")")) (argument_list "(&local_c4)" (( "(") (pointer_expression "&local_c4" (& "&") (identifier "local_c4")) () ")"))) (; ";")) (expression_statement "unaff_s2 = (byte *)0x0;" (assignment_expression "unaff_s2 = (byte *)0x0" (identifier "unaff_s2") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else {\n        ppbVar17 = (byte **)0x0;\n        if (iVar5 == 0x2b) {\n          unaff_s2 = &DAT_0000000e;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x2c) {\n          if (iVar5 == 0x28) {\n            unaff_s2 = &DAT_0000000a;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 < 0x29) {\n            if (iVar5 != 0) {\n              pbVar24 = unaff_s4 + 1;\n              if (iVar5 != 0x22) {\nLAB_000b2abc:\n                puVar6 = puVar18;\n                pcVar16 = local_ac;\n                do {\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                } while (puVar15 != puVar14);\n                if (-1 < iVar5) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              bVar12 = *pbVar24;\n              if (bVar12 == 0x22) goto LAB_000b3320;\n              while (ppbVar17 = (byte **)PTR_UINT_0015b5fc, bVar12 != 0) {\n                while( true ) {\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (byte *)0x0;\n              pbVar24 = (byte *)0x1;\n              ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70e0);\n              (*pcVar13)(&local_c4);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (byte *)0x0;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 == 0x29) {\n            unaff_s2 = &DAT_0000000b;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = (byte *)0xf;\n            if (iVar5 != 0x2a) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x3a) {\n          unaff_s2 = &DAT_00000005;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x3b) {\n          if (iVar5 == 0x2c) {\n            unaff_s2 = &DAT_0000000d;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = &DAT_00000006;\n            if (iVar5 != 0x2d) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x7b) {\n          unaff_s2 = &DAT_00000007;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 == 0x7d) {\n          unaff_s2 = &DAT_00000008;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else {\n          unaff_s2 = &DAT_0000000c;\n          if (iVar5 != 0x5e) goto LAB_000b2abc;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\nLAB_000b2b98:\n        local_110 = unaff_s4 + (int)local_110;\n      }" (else "else") (compound_statement "{\n        ppbVar17 = (byte **)0x0;\n        if (iVar5 == 0x2b) {\n          unaff_s2 = &DAT_0000000e;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x2c) {\n          if (iVar5 == 0x28) {\n            unaff_s2 = &DAT_0000000a;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 < 0x29) {\n            if (iVar5 != 0) {\n              pbVar24 = unaff_s4 + 1;\n              if (iVar5 != 0x22) {\nLAB_000b2abc:\n                puVar6 = puVar18;\n                pcVar16 = local_ac;\n                do {\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                } while (puVar15 != puVar14);\n                if (-1 < iVar5) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              bVar12 = *pbVar24;\n              if (bVar12 == 0x22) goto LAB_000b3320;\n              while (ppbVar17 = (byte **)PTR_UINT_0015b5fc, bVar12 != 0) {\n                while( true ) {\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (byte *)0x0;\n              pbVar24 = (byte *)0x1;\n              ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70e0);\n              (*pcVar13)(&local_c4);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (byte *)0x0;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 == 0x29) {\n            unaff_s2 = &DAT_0000000b;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = (byte *)0xf;\n            if (iVar5 != 0x2a) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x3a) {\n          unaff_s2 = &DAT_00000005;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x3b) {\n          if (iVar5 == 0x2c) {\n            unaff_s2 = &DAT_0000000d;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = &DAT_00000006;\n            if (iVar5 != 0x2d) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x7b) {\n          unaff_s2 = &DAT_00000007;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 == 0x7d) {\n          unaff_s2 = &DAT_00000008;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else {\n          unaff_s2 = &DAT_0000000c;\n          if (iVar5 != 0x5e) goto LAB_000b2abc;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\nLAB_000b2b98:\n        local_110 = unaff_s4 + (int)local_110;\n      }" ({ "{") (expression_statement "ppbVar17 = (byte **)0x0;" (assignment_expression "ppbVar17 = (byte **)0x0" (identifier "ppbVar17") (= "=") (cast_expression "(byte **)0x0" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (iVar5 == 0x2b) {\n          unaff_s2 = &DAT_0000000e;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x2c) {\n          if (iVar5 == 0x28) {\n            unaff_s2 = &DAT_0000000a;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 < 0x29) {\n            if (iVar5 != 0) {\n              pbVar24 = unaff_s4 + 1;\n              if (iVar5 != 0x22) {\nLAB_000b2abc:\n                puVar6 = puVar18;\n                pcVar16 = local_ac;\n                do {\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                } while (puVar15 != puVar14);\n                if (-1 < iVar5) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              bVar12 = *pbVar24;\n              if (bVar12 == 0x22) goto LAB_000b3320;\n              while (ppbVar17 = (byte **)PTR_UINT_0015b5fc, bVar12 != 0) {\n                while( true ) {\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (byte *)0x0;\n              pbVar24 = (byte *)0x1;\n              ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70e0);\n              (*pcVar13)(&local_c4);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (byte *)0x0;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 == 0x29) {\n            unaff_s2 = &DAT_0000000b;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = (byte *)0xf;\n            if (iVar5 != 0x2a) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x3a) {\n          unaff_s2 = &DAT_00000005;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x3b) {\n          if (iVar5 == 0x2c) {\n            unaff_s2 = &DAT_0000000d;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = &DAT_00000006;\n            if (iVar5 != 0x2d) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x7b) {\n          unaff_s2 = &DAT_00000007;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 == 0x7d) {\n          unaff_s2 = &DAT_00000008;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else {\n          unaff_s2 = &DAT_0000000c;\n          if (iVar5 != 0x5e) goto LAB_000b2abc;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }" (if "if") (parenthesized_expression "(iVar5 == 0x2b)" (( "(") (binary_expression "iVar5 == 0x2b" (identifier "iVar5") (== "==") (number_literal "0x2b")) () ")")) (compound_statement "{\n          unaff_s2 = &DAT_0000000e;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }" ({ "{") (expression_statement "unaff_s2 = &DAT_0000000e;" (assignment_expression "unaff_s2 = &DAT_0000000e" (identifier "unaff_s2") (= "=") (pointer_expression "&DAT_0000000e" (& "&") (identifier "DAT_0000000e"))) (; ";")) (expression_statement "local_110 = (byte *)0x1;" (assignment_expression "local_110 = (byte *)0x1" (identifier "local_110") (= "=") (cast_expression "(byte *)0x1" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "pbVar24 = (byte *)0x1;" (assignment_expression "pbVar24 = (byte *)0x1" (identifier "pbVar24") (= "=") (cast_expression "(byte *)0x1" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (} "}")) (else_clause "else if (iVar5 < 0x2c) {\n          if (iVar5 == 0x28) {\n            unaff_s2 = &DAT_0000000a;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 < 0x29) {\n            if (iVar5 != 0) {\n              pbVar24 = unaff_s4 + 1;\n              if (iVar5 != 0x22) {\nLAB_000b2abc:\n                puVar6 = puVar18;\n                pcVar16 = local_ac;\n                do {\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                } while (puVar15 != puVar14);\n                if (-1 < iVar5) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              bVar12 = *pbVar24;\n              if (bVar12 == 0x22) goto LAB_000b3320;\n              while (ppbVar17 = (byte **)PTR_UINT_0015b5fc, bVar12 != 0) {\n                while( true ) {\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (byte *)0x0;\n              pbVar24 = (byte *)0x1;\n              ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70e0);\n              (*pcVar13)(&local_c4);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (byte *)0x0;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 == 0x29) {\n            unaff_s2 = &DAT_0000000b;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = (byte *)0xf;\n            if (iVar5 != 0x2a) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x3a) {\n          unaff_s2 = &DAT_00000005;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x3b) {\n          if (iVar5 == 0x2c) {\n            unaff_s2 = &DAT_0000000d;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = &DAT_00000006;\n            if (iVar5 != 0x2d) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x7b) {\n          unaff_s2 = &DAT_00000007;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 == 0x7d) {\n          unaff_s2 = &DAT_00000008;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else {\n          unaff_s2 = &DAT_0000000c;\n          if (iVar5 != 0x5e) goto LAB_000b2abc;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }" (else "else") (if_statement "if (iVar5 < 0x2c) {\n          if (iVar5 == 0x28) {\n            unaff_s2 = &DAT_0000000a;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 < 0x29) {\n            if (iVar5 != 0) {\n              pbVar24 = unaff_s4 + 1;\n              if (iVar5 != 0x22) {\nLAB_000b2abc:\n                puVar6 = puVar18;\n                pcVar16 = local_ac;\n                do {\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                } while (puVar15 != puVar14);\n                if (-1 < iVar5) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              bVar12 = *pbVar24;\n              if (bVar12 == 0x22) goto LAB_000b3320;\n              while (ppbVar17 = (byte **)PTR_UINT_0015b5fc, bVar12 != 0) {\n                while( true ) {\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (byte *)0x0;\n              pbVar24 = (byte *)0x1;\n              ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70e0);\n              (*pcVar13)(&local_c4);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (byte *)0x0;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 == 0x29) {\n            unaff_s2 = &DAT_0000000b;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = (byte *)0xf;\n            if (iVar5 != 0x2a) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x3a) {\n          unaff_s2 = &DAT_00000005;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x3b) {\n          if (iVar5 == 0x2c) {\n            unaff_s2 = &DAT_0000000d;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = &DAT_00000006;\n            if (iVar5 != 0x2d) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x7b) {\n          unaff_s2 = &DAT_00000007;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 == 0x7d) {\n          unaff_s2 = &DAT_00000008;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else {\n          unaff_s2 = &DAT_0000000c;\n          if (iVar5 != 0x5e) goto LAB_000b2abc;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }" (if "if") (parenthesized_expression "(iVar5 < 0x2c)" (( "(") (binary_expression "iVar5 < 0x2c" (identifier "iVar5") (< "<") (number_literal "0x2c")) () ")")) (compound_statement "{\n          if (iVar5 == 0x28) {\n            unaff_s2 = &DAT_0000000a;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 < 0x29) {\n            if (iVar5 != 0) {\n              pbVar24 = unaff_s4 + 1;\n              if (iVar5 != 0x22) {\nLAB_000b2abc:\n                puVar6 = puVar18;\n                pcVar16 = local_ac;\n                do {\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                } while (puVar15 != puVar14);\n                if (-1 < iVar5) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              bVar12 = *pbVar24;\n              if (bVar12 == 0x22) goto LAB_000b3320;\n              while (ppbVar17 = (byte **)PTR_UINT_0015b5fc, bVar12 != 0) {\n                while( true ) {\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (byte *)0x0;\n              pbVar24 = (byte *)0x1;\n              ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70e0);\n              (*pcVar13)(&local_c4);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (byte *)0x0;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 == 0x29) {\n            unaff_s2 = &DAT_0000000b;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = (byte *)0xf;\n            if (iVar5 != 0x2a) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }" ({ "{") (if_statement "if (iVar5 == 0x28) {\n            unaff_s2 = &DAT_0000000a;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 < 0x29) {\n            if (iVar5 != 0) {\n              pbVar24 = unaff_s4 + 1;\n              if (iVar5 != 0x22) {\nLAB_000b2abc:\n                puVar6 = puVar18;\n                pcVar16 = local_ac;\n                do {\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                } while (puVar15 != puVar14);\n                if (-1 < iVar5) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              bVar12 = *pbVar24;\n              if (bVar12 == 0x22) goto LAB_000b3320;\n              while (ppbVar17 = (byte **)PTR_UINT_0015b5fc, bVar12 != 0) {\n                while( true ) {\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (byte *)0x0;\n              pbVar24 = (byte *)0x1;\n              ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70e0);\n              (*pcVar13)(&local_c4);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (byte *)0x0;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 == 0x29) {\n            unaff_s2 = &DAT_0000000b;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = (byte *)0xf;\n            if (iVar5 != 0x2a) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }" (if "if") (parenthesized_expression "(iVar5 == 0x28)" (( "(") (binary_expression "iVar5 == 0x28" (identifier "iVar5") (== "==") (number_literal "0x28")) () ")")) (compound_statement "{\n            unaff_s2 = &DAT_0000000a;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }" ({ "{") (expression_statement "unaff_s2 = &DAT_0000000a;" (assignment_expression "unaff_s2 = &DAT_0000000a" (identifier "unaff_s2") (= "=") (pointer_expression "&DAT_0000000a" (& "&") (identifier "DAT_0000000a"))) (; ";")) (expression_statement "local_110 = (byte *)0x1;" (assignment_expression "local_110 = (byte *)0x1" (identifier "local_110") (= "=") (cast_expression "(byte *)0x1" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "pbVar24 = (byte *)0x1;" (assignment_expression "pbVar24 = (byte *)0x1" (identifier "pbVar24") (= "=") (cast_expression "(byte *)0x1" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (} "}")) (else_clause "else if (iVar5 < 0x29) {\n            if (iVar5 != 0) {\n              pbVar24 = unaff_s4 + 1;\n              if (iVar5 != 0x22) {\nLAB_000b2abc:\n                puVar6 = puVar18;\n                pcVar16 = local_ac;\n                do {\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                } while (puVar15 != puVar14);\n                if (-1 < iVar5) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              bVar12 = *pbVar24;\n              if (bVar12 == 0x22) goto LAB_000b3320;\n              while (ppbVar17 = (byte **)PTR_UINT_0015b5fc, bVar12 != 0) {\n                while( true ) {\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (byte *)0x0;\n              pbVar24 = (byte *)0x1;\n              ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70e0);\n              (*pcVar13)(&local_c4);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (byte *)0x0;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 == 0x29) {\n            unaff_s2 = &DAT_0000000b;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = (byte *)0xf;\n            if (iVar5 != 0x2a) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }" (else "else") (if_statement "if (iVar5 < 0x29) {\n            if (iVar5 != 0) {\n              pbVar24 = unaff_s4 + 1;\n              if (iVar5 != 0x22) {\nLAB_000b2abc:\n                puVar6 = puVar18;\n                pcVar16 = local_ac;\n                do {\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                } while (puVar15 != puVar14);\n                if (-1 < iVar5) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              bVar12 = *pbVar24;\n              if (bVar12 == 0x22) goto LAB_000b3320;\n              while (ppbVar17 = (byte **)PTR_UINT_0015b5fc, bVar12 != 0) {\n                while( true ) {\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (byte *)0x0;\n              pbVar24 = (byte *)0x1;\n              ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70e0);\n              (*pcVar13)(&local_c4);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (byte *)0x0;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else if (iVar5 == 0x29) {\n            unaff_s2 = &DAT_0000000b;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = (byte *)0xf;\n            if (iVar5 != 0x2a) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }" (if "if") (parenthesized_expression "(iVar5 < 0x29)" (( "(") (binary_expression "iVar5 < 0x29" (identifier "iVar5") (< "<") (number_literal "0x29")) () ")")) (compound_statement "{\n            if (iVar5 != 0) {\n              pbVar24 = unaff_s4 + 1;\n              if (iVar5 != 0x22) {\nLAB_000b2abc:\n                puVar6 = puVar18;\n                pcVar16 = local_ac;\n                do {\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                } while (puVar15 != puVar14);\n                if (-1 < iVar5) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              bVar12 = *pbVar24;\n              if (bVar12 == 0x22) goto LAB_000b3320;\n              while (ppbVar17 = (byte **)PTR_UINT_0015b5fc, bVar12 != 0) {\n                while( true ) {\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (byte *)0x0;\n              pbVar24 = (byte *)0x1;\n              ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70e0);\n              (*pcVar13)(&local_c4);\n              goto LAB_000b2ba0;\n            }\n            unaff_s2 = (byte *)0x0;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }" ({ "{") (if_statement "if (iVar5 != 0) {\n              pbVar24 = unaff_s4 + 1;\n              if (iVar5 != 0x22) {\nLAB_000b2abc:\n                puVar6 = puVar18;\n                pcVar16 = local_ac;\n                do {\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                } while (puVar15 != puVar14);\n                if (-1 < iVar5) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              bVar12 = *pbVar24;\n              if (bVar12 == 0x22) goto LAB_000b3320;\n              while (ppbVar17 = (byte **)PTR_UINT_0015b5fc, bVar12 != 0) {\n                while( true ) {\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (byte *)0x0;\n              pbVar24 = (byte *)0x1;\n              ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70e0);\n              (*pcVar13)(&local_c4);\n              goto LAB_000b2ba0;\n            }" (if "if") (parenthesized_expression "(iVar5 != 0)" (( "(") (binary_expression "iVar5 != 0" (identifier "iVar5") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              pbVar24 = unaff_s4 + 1;\n              if (iVar5 != 0x22) {\nLAB_000b2abc:\n                puVar6 = puVar18;\n                pcVar16 = local_ac;\n                do {\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                } while (puVar15 != puVar14);\n                if (-1 < iVar5) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }\n              bVar12 = *pbVar24;\n              if (bVar12 == 0x22) goto LAB_000b3320;\n              while (ppbVar17 = (byte **)PTR_UINT_0015b5fc, bVar12 != 0) {\n                while( true ) {\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }\n              unaff_s2 = (byte *)0x0;\n              pbVar24 = (byte *)0x1;\n              ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70e0);\n              (*pcVar13)(&local_c4);\n              goto LAB_000b2ba0;\n            }" ({ "{") (expression_statement "pbVar24 = unaff_s4 + 1;" (assignment_expression "pbVar24 = unaff_s4 + 1" (identifier "pbVar24") (= "=") (binary_expression "unaff_s4 + 1" (identifier "unaff_s4") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (iVar5 != 0x22) {\nLAB_000b2abc:\n                puVar6 = puVar18;\n                pcVar16 = local_ac;\n                do {\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                } while (puVar15 != puVar14);\n                if (-1 < iVar5) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }" (if "if") (parenthesized_expression "(iVar5 != 0x22)" (( "(") (binary_expression "iVar5 != 0x22" (identifier "iVar5") (!= "!=") (number_literal "0x22")) () ")")) (compound_statement "{\nLAB_000b2abc:\n                puVar6 = puVar18;\n                pcVar16 = local_ac;\n                do {\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                } while (puVar15 != puVar14);\n                if (-1 < iVar5) goto LAB_000b34f0;\n                goto LAB_000b2b04;\n              }" ({ "{") (labeled_statement "LAB_000b2abc:\n                puVar6 = puVar18;" (statement_identifier "LAB_000b2abc") (: ":") (expression_statement "puVar6 = puVar18;" (assignment_expression "puVar6 = puVar18" (identifier "puVar6") (= "=") (identifier "puVar18")) (; ";"))) (expression_statement "pcVar16 = local_ac;" (assignment_expression "pcVar16 = local_ac" (identifier "pcVar16") (= "=") (identifier "local_ac")) (; ";")) (do_statement "do {\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                } while (puVar15 != puVar14);" (do "do") (compound_statement "{\n                  puVar15 = puVar6 + 4;\n                  *(undefined4 *)pcVar16 = *puVar6;\n                  pbVar21 = (byte *)puVar6[1];\n                  uVar19 = puVar6[2];\n                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];\n                  *(byte **)(pcVar16 + 4) = pbVar21;\n                  *(undefined4 *)(pcVar16 + 8) = uVar19;\n                  puVar6 = puVar15;\n                  pcVar16 = pcVar16 + 0x10;\n                }" ({ "{") (expression_statement "puVar15 = puVar6 + 4;" (assignment_expression "puVar15 = puVar6 + 4" (identifier "puVar15") (= "=") (binary_expression "puVar6 + 4" (identifier "puVar6") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "*(undefined4 *)pcVar16 = *puVar6;" (assignment_expression "*(undefined4 *)pcVar16 = *puVar6" (pointer_expression "*(undefined4 *)pcVar16" (* "*") (cast_expression "(undefined4 *)pcVar16" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pcVar16"))) (= "=") (pointer_expression "*puVar6" (* "*") (identifier "puVar6"))) (; ";")) (expression_statement "pbVar21 = (byte *)puVar6[1];" (assignment_expression "pbVar21 = (byte *)puVar6[1]" (identifier "pbVar21") (= "=") (cast_expression "(byte *)puVar6[1]" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar6[1]" (identifier "puVar6") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "uVar19 = puVar6[2];" (assignment_expression "uVar19 = puVar6[2]" (identifier "uVar19") (= "=") (subscript_expression "puVar6[2]" (identifier "puVar6") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)(pcVar16 + 0xc) = puVar6[3];" (assignment_expression "*(undefined4 *)(pcVar16 + 0xc) = puVar6[3]" (pointer_expression "*(undefined4 *)(pcVar16 + 0xc)" (* "*") (cast_expression "(undefined4 *)(pcVar16 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar16 + 0xc)" (( "(") (binary_expression "pcVar16 + 0xc" (identifier "pcVar16") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (subscript_expression "puVar6[3]" (identifier "puVar6") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "*(byte **)(pcVar16 + 4) = pbVar21;" (assignment_expression "*(byte **)(pcVar16 + 4) = pbVar21" (pointer_expression "*(byte **)(pcVar16 + 4)" (* "*") (cast_expression "(byte **)(pcVar16 + 4)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar16 + 4)" (( "(") (binary_expression "pcVar16 + 4" (identifier "pcVar16") (+ "+") (number_literal "4")) () ")")))) (= "=") (identifier "pbVar21")) (; ";")) (expression_statement "*(undefined4 *)(pcVar16 + 8) = uVar19;" (assignment_expression "*(undefined4 *)(pcVar16 + 8) = uVar19" (pointer_expression "*(undefined4 *)(pcVar16 + 8)" (* "*") (cast_expression "(undefined4 *)(pcVar16 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar16 + 8)" (( "(") (binary_expression "pcVar16 + 8" (identifier "pcVar16") (+ "+") (number_literal "8")) () ")")))) (= "=") (identifier "uVar19")) (; ";")) (expression_statement "puVar6 = puVar15;" (assignment_expression "puVar6 = puVar15" (identifier "puVar6") (= "=") (identifier "puVar15")) (; ";")) (expression_statement "pcVar16 = pcVar16 + 0x10;" (assignment_expression "pcVar16 = pcVar16 + 0x10" (identifier "pcVar16") (= "=") (binary_expression "pcVar16 + 0x10" (identifier "pcVar16") (+ "+") (number_literal "0x10"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar15 != puVar14)" (( "(") (binary_expression "puVar15 != puVar14" (identifier "puVar15") (!= "!=") (identifier "puVar14")) () ")")) (; ";")) (if_statement "if (-1 < iVar5) goto LAB_000b34f0;" (if "if") (parenthesized_expression "(-1 < iVar5)" (( "(") (binary_expression "-1 < iVar5" (number_literal "-1") (< "<") (identifier "iVar5")) () ")")) (goto_statement "goto LAB_000b34f0;" (goto "goto") (statement_identifier "LAB_000b34f0") (; ";"))) (goto_statement "goto LAB_000b2b04;" (goto "goto") (statement_identifier "LAB_000b2b04") (; ";")) (} "}"))) (expression_statement "bVar12 = *pbVar24;" (assignment_expression "bVar12 = *pbVar24" (identifier "bVar12") (= "=") (pointer_expression "*pbVar24" (* "*") (identifier "pbVar24"))) (; ";")) (if_statement "if (bVar12 == 0x22) goto LAB_000b3320;" (if "if") (parenthesized_expression "(bVar12 == 0x22)" (( "(") (binary_expression "bVar12 == 0x22" (identifier "bVar12") (== "==") (number_literal "0x22")) () ")")) (goto_statement "goto LAB_000b3320;" (goto "goto") (statement_identifier "LAB_000b3320") (; ";"))) (while_statement "while (ppbVar17 = (byte **)PTR_UINT_0015b5fc, bVar12 != 0) {\n                while( true ) {\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }" (while "while") (parenthesized_expression "(ppbVar17 = (byte **)PTR_UINT_0015b5fc, bVar12 != 0)" (( "(") (comma_expression "ppbVar17 = (byte **)PTR_UINT_0015b5fc, bVar12 != 0" (assignment_expression "ppbVar17 = (byte **)PTR_UINT_0015b5fc" (identifier "ppbVar17") (= "=") (cast_expression "(byte **)PTR_UINT_0015b5fc" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_UINT_0015b5fc"))) (, ",") (binary_expression "bVar12 != 0" (identifier "bVar12") (!= "!=") (number_literal "0"))) () ")")) (compound_statement "{\n                while( true ) {\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }\n              }" ({ "{") (while_statement "while( true ) {\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n                  pbVar24 = pbVar24 + 1;\n                  bVar12 = *pbVar24;\n                  if (bVar12 != 0x22) break;\nLAB_000b3320:\n                  pbVar9 = pbVar24 + 1;\n                  pbVar24 = pbVar24 + 1;\n                  if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }\n                }" ({ "{") (expression_statement "pbVar24 = pbVar24 + 1;" (assignment_expression "pbVar24 = pbVar24 + 1" (identifier "pbVar24") (= "=") (binary_expression "pbVar24 + 1" (identifier "pbVar24") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "bVar12 = *pbVar24;" (assignment_expression "bVar12 = *pbVar24" (identifier "bVar12") (= "=") (pointer_expression "*pbVar24" (* "*") (identifier "pbVar24"))) (; ";")) (if_statement "if (bVar12 != 0x22) break;" (if "if") (parenthesized_expression "(bVar12 != 0x22)" (( "(") (binary_expression "bVar12 != 0x22" (identifier "bVar12") (!= "!=") (number_literal "0x22")) () ")")) (break_statement "break;" (break "break") (; ";"))) (labeled_statement "LAB_000b3320:\n                  pbVar9 = pbVar24 + 1;" (statement_identifier "LAB_000b3320") (: ":") (expression_statement "pbVar9 = pbVar24 + 1;" (assignment_expression "pbVar9 = pbVar24 + 1" (identifier "pbVar9") (= "=") (binary_expression "pbVar24 + 1" (identifier "pbVar24") (+ "+") (number_literal "1"))) (; ";"))) (expression_statement "pbVar24 = pbVar24 + 1;" (assignment_expression "pbVar24 = pbVar24 + 1" (identifier "pbVar24") (= "=") (binary_expression "pbVar24 + 1" (identifier "pbVar24") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (*pbVar9 != 0x22) {\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }" (if "if") (parenthesized_expression "(*pbVar9 != 0x22)" (( "(") (binary_expression "*pbVar9 != 0x22" (pointer_expression "*pbVar9" (* "*") (identifier "pbVar9")) (!= "!=") (number_literal "0x22")) () ")")) (compound_statement "{\n                    local_110 = pbVar24 + -(int)unaff_s4;\n                    unaff_s2 = &DAT_00000009;\n                    pbVar24 = local_110;\n                    goto LAB_000b2b98;\n                  }" ({ "{") (expression_statement "local_110 = pbVar24 + -(int)unaff_s4;" (assignment_expression "local_110 = pbVar24 + -(int)unaff_s4" (identifier "local_110") (= "=") (binary_expression "pbVar24 + -(int)unaff_s4" (identifier "pbVar24") (+ "+") (unary_expression "-(int)unaff_s4" (- "-") (cast_expression "(int)unaff_s4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s4"))))) (; ";")) (expression_statement "unaff_s2 = &DAT_00000009;" (assignment_expression "unaff_s2 = &DAT_00000009" (identifier "unaff_s2") (= "=") (pointer_expression "&DAT_00000009" (& "&") (identifier "DAT_00000009"))) (; ";")) (expression_statement "pbVar24 = local_110;" (assignment_expression "pbVar24 = local_110" (identifier "pbVar24") (= "=") (identifier "local_110")) (; ";")) (goto_statement "goto LAB_000b2b98;" (goto "goto") (statement_identifier "LAB_000b2b98") (; ";")) (} "}"))) (} "}"))) (} "}"))) (expression_statement "unaff_s2 = (byte *)0x0;" (assignment_expression "unaff_s2 = (byte *)0x0" (identifier "unaff_s2") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pbVar24 = (byte *)0x1;" (assignment_expression "pbVar24 = (byte *)0x1" (identifier "pbVar24") (= "=") (cast_expression "(byte *)0x1" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70e0);" (assignment_expression "ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70e0)" (identifier "ppbVar17") (= "=") (cast_expression "(byte **)(PTR_UINT_0015b5fc + -0x70e0)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(PTR_UINT_0015b5fc + -0x70e0)" (( "(") (binary_expression "PTR_UINT_0015b5fc + -0x70e0" (identifier "PTR_UINT_0015b5fc") (+ "+") (number_literal "-0x70e0")) () ")")))) (; ";")) (expression_statement "(*pcVar13)(&local_c4);" (call_expression "(*pcVar13)(&local_c4)" (parenthesized_expression "(*pcVar13)" (( "(") (pointer_expression "*pcVar13" (* "*") (identifier "pcVar13")) () ")")) (argument_list "(&local_c4)" (( "(") (pointer_expression "&local_c4" (& "&") (identifier "local_c4")) () ")"))) (; ";")) (goto_statement "goto LAB_000b2ba0;" (goto "goto") (statement_identifier "LAB_000b2ba0") (; ";")) (} "}"))) (expression_statement "unaff_s2 = (byte *)0x0;" (assignment_expression "unaff_s2 = (byte *)0x0" (identifier "unaff_s2") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_110 = (byte *)0x1;" (assignment_expression "local_110 = (byte *)0x1" (identifier "local_110") (= "=") (cast_expression "(byte *)0x1" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "pbVar24 = (byte *)0x1;" (assignment_expression "pbVar24 = (byte *)0x1" (identifier "pbVar24") (= "=") (cast_expression "(byte *)0x1" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (} "}")) (else_clause "else if (iVar5 == 0x29) {\n            unaff_s2 = &DAT_0000000b;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = (byte *)0xf;\n            if (iVar5 != 0x2a) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }" (else "else") (if_statement "if (iVar5 == 0x29) {\n            unaff_s2 = &DAT_0000000b;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = (byte *)0xf;\n            if (iVar5 != 0x2a) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }" (if "if") (parenthesized_expression "(iVar5 == 0x29)" (( "(") (binary_expression "iVar5 == 0x29" (identifier "iVar5") (== "==") (number_literal "0x29")) () ")")) (compound_statement "{\n            unaff_s2 = &DAT_0000000b;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }" ({ "{") (expression_statement "unaff_s2 = &DAT_0000000b;" (assignment_expression "unaff_s2 = &DAT_0000000b" (identifier "unaff_s2") (= "=") (pointer_expression "&DAT_0000000b" (& "&") (identifier "DAT_0000000b"))) (; ";")) (expression_statement "local_110 = (byte *)0x1;" (assignment_expression "local_110 = (byte *)0x1" (identifier "local_110") (= "=") (cast_expression "(byte *)0x1" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "pbVar24 = (byte *)0x1;" (assignment_expression "pbVar24 = (byte *)0x1" (identifier "pbVar24") (= "=") (cast_expression "(byte *)0x1" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (} "}")) (else_clause "else {\n            unaff_s2 = (byte *)0xf;\n            if (iVar5 != 0x2a) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }" (else "else") (compound_statement "{\n            unaff_s2 = (byte *)0xf;\n            if (iVar5 != 0x2a) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }" ({ "{") (expression_statement "unaff_s2 = (byte *)0xf;" (assignment_expression "unaff_s2 = (byte *)0xf" (identifier "unaff_s2") (= "=") (cast_expression "(byte *)0xf" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xf"))) (; ";")) (if_statement "if (iVar5 != 0x2a) goto LAB_000b2abc;" (if "if") (parenthesized_expression "(iVar5 != 0x2a)" (( "(") (binary_expression "iVar5 != 0x2a" (identifier "iVar5") (!= "!=") (number_literal "0x2a")) () ")")) (goto_statement "goto LAB_000b2abc;" (goto "goto") (statement_identifier "LAB_000b2abc") (; ";"))) (expression_statement "local_110 = (byte *)0x1;" (assignment_expression "local_110 = (byte *)0x1" (identifier "local_110") (= "=") (cast_expression "(byte *)0x1" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "pbVar24 = (byte *)0x1;" (assignment_expression "pbVar24 = (byte *)0x1" (identifier "pbVar24") (= "=") (cast_expression "(byte *)0x1" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (} "}")))))))) (} "}")) (else_clause "else if (iVar5 == 0x3a) {\n          unaff_s2 = &DAT_00000005;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x3b) {\n          if (iVar5 == 0x2c) {\n            unaff_s2 = &DAT_0000000d;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = &DAT_00000006;\n            if (iVar5 != 0x2d) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x7b) {\n          unaff_s2 = &DAT_00000007;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 == 0x7d) {\n          unaff_s2 = &DAT_00000008;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else {\n          unaff_s2 = &DAT_0000000c;\n          if (iVar5 != 0x5e) goto LAB_000b2abc;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }" (else "else") (if_statement "if (iVar5 == 0x3a) {\n          unaff_s2 = &DAT_00000005;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 < 0x3b) {\n          if (iVar5 == 0x2c) {\n            unaff_s2 = &DAT_0000000d;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = &DAT_00000006;\n            if (iVar5 != 0x2d) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x7b) {\n          unaff_s2 = &DAT_00000007;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 == 0x7d) {\n          unaff_s2 = &DAT_00000008;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else {\n          unaff_s2 = &DAT_0000000c;\n          if (iVar5 != 0x5e) goto LAB_000b2abc;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }" (if "if") (parenthesized_expression "(iVar5 == 0x3a)" (( "(") (binary_expression "iVar5 == 0x3a" (identifier "iVar5") (== "==") (number_literal "0x3a")) () ")")) (compound_statement "{\n          unaff_s2 = &DAT_00000005;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }" ({ "{") (expression_statement "unaff_s2 = &DAT_00000005;" (assignment_expression "unaff_s2 = &DAT_00000005" (identifier "unaff_s2") (= "=") (pointer_expression "&DAT_00000005" (& "&") (identifier "DAT_00000005"))) (; ";")) (expression_statement "local_110 = (byte *)0x1;" (assignment_expression "local_110 = (byte *)0x1" (identifier "local_110") (= "=") (cast_expression "(byte *)0x1" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "pbVar24 = (byte *)0x1;" (assignment_expression "pbVar24 = (byte *)0x1" (identifier "pbVar24") (= "=") (cast_expression "(byte *)0x1" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (} "}")) (else_clause "else if (iVar5 < 0x3b) {\n          if (iVar5 == 0x2c) {\n            unaff_s2 = &DAT_0000000d;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = &DAT_00000006;\n            if (iVar5 != 0x2d) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x7b) {\n          unaff_s2 = &DAT_00000007;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 == 0x7d) {\n          unaff_s2 = &DAT_00000008;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else {\n          unaff_s2 = &DAT_0000000c;\n          if (iVar5 != 0x5e) goto LAB_000b2abc;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }" (else "else") (if_statement "if (iVar5 < 0x3b) {\n          if (iVar5 == 0x2c) {\n            unaff_s2 = &DAT_0000000d;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = &DAT_00000006;\n            if (iVar5 != 0x2d) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }\n        else if (iVar5 == 0x7b) {\n          unaff_s2 = &DAT_00000007;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 == 0x7d) {\n          unaff_s2 = &DAT_00000008;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else {\n          unaff_s2 = &DAT_0000000c;\n          if (iVar5 != 0x5e) goto LAB_000b2abc;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }" (if "if") (parenthesized_expression "(iVar5 < 0x3b)" (( "(") (binary_expression "iVar5 < 0x3b" (identifier "iVar5") (< "<") (number_literal "0x3b")) () ")")) (compound_statement "{\n          if (iVar5 == 0x2c) {\n            unaff_s2 = &DAT_0000000d;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = &DAT_00000006;\n            if (iVar5 != 0x2d) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n        }" ({ "{") (if_statement "if (iVar5 == 0x2c) {\n            unaff_s2 = &DAT_0000000d;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }\n          else {\n            unaff_s2 = &DAT_00000006;\n            if (iVar5 != 0x2d) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }" (if "if") (parenthesized_expression "(iVar5 == 0x2c)" (( "(") (binary_expression "iVar5 == 0x2c" (identifier "iVar5") (== "==") (number_literal "0x2c")) () ")")) (compound_statement "{\n            unaff_s2 = &DAT_0000000d;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }" ({ "{") (expression_statement "unaff_s2 = &DAT_0000000d;" (assignment_expression "unaff_s2 = &DAT_0000000d" (identifier "unaff_s2") (= "=") (pointer_expression "&DAT_0000000d" (& "&") (identifier "DAT_0000000d"))) (; ";")) (expression_statement "local_110 = (byte *)0x1;" (assignment_expression "local_110 = (byte *)0x1" (identifier "local_110") (= "=") (cast_expression "(byte *)0x1" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "pbVar24 = (byte *)0x1;" (assignment_expression "pbVar24 = (byte *)0x1" (identifier "pbVar24") (= "=") (cast_expression "(byte *)0x1" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (} "}")) (else_clause "else {\n            unaff_s2 = &DAT_00000006;\n            if (iVar5 != 0x2d) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }" (else "else") (compound_statement "{\n            unaff_s2 = &DAT_00000006;\n            if (iVar5 != 0x2d) goto LAB_000b2abc;\n            local_110 = (byte *)0x1;\n            pbVar24 = (byte *)0x1;\n          }" ({ "{") (expression_statement "unaff_s2 = &DAT_00000006;" (assignment_expression "unaff_s2 = &DAT_00000006" (identifier "unaff_s2") (= "=") (pointer_expression "&DAT_00000006" (& "&") (identifier "DAT_00000006"))) (; ";")) (if_statement "if (iVar5 != 0x2d) goto LAB_000b2abc;" (if "if") (parenthesized_expression "(iVar5 != 0x2d)" (( "(") (binary_expression "iVar5 != 0x2d" (identifier "iVar5") (!= "!=") (number_literal "0x2d")) () ")")) (goto_statement "goto LAB_000b2abc;" (goto "goto") (statement_identifier "LAB_000b2abc") (; ";"))) (expression_statement "local_110 = (byte *)0x1;" (assignment_expression "local_110 = (byte *)0x1" (identifier "local_110") (= "=") (cast_expression "(byte *)0x1" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "pbVar24 = (byte *)0x1;" (assignment_expression "pbVar24 = (byte *)0x1" (identifier "pbVar24") (= "=") (cast_expression "(byte *)0x1" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (} "}")))) (} "}")) (else_clause "else if (iVar5 == 0x7b) {\n          unaff_s2 = &DAT_00000007;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 == 0x7d) {\n          unaff_s2 = &DAT_00000008;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else {\n          unaff_s2 = &DAT_0000000c;\n          if (iVar5 != 0x5e) goto LAB_000b2abc;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }" (else "else") (if_statement "if (iVar5 == 0x7b) {\n          unaff_s2 = &DAT_00000007;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else if (iVar5 == 0x7d) {\n          unaff_s2 = &DAT_00000008;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else {\n          unaff_s2 = &DAT_0000000c;\n          if (iVar5 != 0x5e) goto LAB_000b2abc;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }" (if "if") (parenthesized_expression "(iVar5 == 0x7b)" (( "(") (binary_expression "iVar5 == 0x7b" (identifier "iVar5") (== "==") (number_literal "0x7b")) () ")")) (compound_statement "{\n          unaff_s2 = &DAT_00000007;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }" ({ "{") (expression_statement "unaff_s2 = &DAT_00000007;" (assignment_expression "unaff_s2 = &DAT_00000007" (identifier "unaff_s2") (= "=") (pointer_expression "&DAT_00000007" (& "&") (identifier "DAT_00000007"))) (; ";")) (expression_statement "local_110 = (byte *)0x1;" (assignment_expression "local_110 = (byte *)0x1" (identifier "local_110") (= "=") (cast_expression "(byte *)0x1" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "pbVar24 = (byte *)0x1;" (assignment_expression "pbVar24 = (byte *)0x1" (identifier "pbVar24") (= "=") (cast_expression "(byte *)0x1" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (} "}")) (else_clause "else if (iVar5 == 0x7d) {\n          unaff_s2 = &DAT_00000008;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else {\n          unaff_s2 = &DAT_0000000c;\n          if (iVar5 != 0x5e) goto LAB_000b2abc;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }" (else "else") (if_statement "if (iVar5 == 0x7d) {\n          unaff_s2 = &DAT_00000008;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }\n        else {\n          unaff_s2 = &DAT_0000000c;\n          if (iVar5 != 0x5e) goto LAB_000b2abc;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }" (if "if") (parenthesized_expression "(iVar5 == 0x7d)" (( "(") (binary_expression "iVar5 == 0x7d" (identifier "iVar5") (== "==") (number_literal "0x7d")) () ")")) (compound_statement "{\n          unaff_s2 = &DAT_00000008;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }" ({ "{") (expression_statement "unaff_s2 = &DAT_00000008;" (assignment_expression "unaff_s2 = &DAT_00000008" (identifier "unaff_s2") (= "=") (pointer_expression "&DAT_00000008" (& "&") (identifier "DAT_00000008"))) (; ";")) (expression_statement "local_110 = (byte *)0x1;" (assignment_expression "local_110 = (byte *)0x1" (identifier "local_110") (= "=") (cast_expression "(byte *)0x1" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "pbVar24 = (byte *)0x1;" (assignment_expression "pbVar24 = (byte *)0x1" (identifier "pbVar24") (= "=") (cast_expression "(byte *)0x1" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (} "}")) (else_clause "else {\n          unaff_s2 = &DAT_0000000c;\n          if (iVar5 != 0x5e) goto LAB_000b2abc;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }" (else "else") (compound_statement "{\n          unaff_s2 = &DAT_0000000c;\n          if (iVar5 != 0x5e) goto LAB_000b2abc;\n          local_110 = (byte *)0x1;\n          pbVar24 = (byte *)0x1;\n        }" ({ "{") (expression_statement "unaff_s2 = &DAT_0000000c;" (assignment_expression "unaff_s2 = &DAT_0000000c" (identifier "unaff_s2") (= "=") (pointer_expression "&DAT_0000000c" (& "&") (identifier "DAT_0000000c"))) (; ";")) (if_statement "if (iVar5 != 0x5e) goto LAB_000b2abc;" (if "if") (parenthesized_expression "(iVar5 != 0x5e)" (( "(") (binary_expression "iVar5 != 0x5e" (identifier "iVar5") (!= "!=") (number_literal "0x5e")) () ")")) (goto_statement "goto LAB_000b2abc;" (goto "goto") (statement_identifier "LAB_000b2abc") (; ";"))) (expression_statement "local_110 = (byte *)0x1;" (assignment_expression "local_110 = (byte *)0x1" (identifier "local_110") (= "=") (cast_expression "(byte *)0x1" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "pbVar24 = (byte *)0x1;" (assignment_expression "pbVar24 = (byte *)0x1" (identifier "pbVar24") (= "=") (cast_expression "(byte *)0x1" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (} "}")))))))))))))) (labeled_statement "LAB_000b2b98:\n        local_110 = unaff_s4 + (int)local_110;" (statement_identifier "LAB_000b2b98") (: ":") (expression_statement "local_110 = unaff_s4 + (int)local_110;" (assignment_expression "local_110 = unaff_s4 + (int)local_110" (identifier "local_110") (= "=") (binary_expression "unaff_s4 + (int)local_110" (identifier "unaff_s4") (+ "+") (cast_expression "(int)local_110" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_110")))) (; ";"))) (} "}")))) (labeled_statement "LAB_000b2ba0:\n      unaff_s6 = PTR_UINT_0015b5fc;" (statement_identifier "LAB_000b2ba0") (: ":") (expression_statement "unaff_s6 = PTR_UINT_0015b5fc;" (assignment_expression "unaff_s6 = PTR_UINT_0015b5fc" (identifier "unaff_s6") (= "=") (identifier "PTR_UINT_0015b5fc")) (; ";"))) (expression_statement "unaff_s7 = *(byte ***)pbVar4;" (assignment_expression "unaff_s7 = *(byte ***)pbVar4" (identifier "unaff_s7") (= "=") (pointer_expression "*(byte ***)pbVar4" (* "*") (cast_expression "(byte ***)pbVar4" (( "(") (type_descriptor "byte ***" (type_identifier "byte") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "pbVar4")))) (; ";")) (expression_statement "puVar7 = PTR_UINT_0015b5fc + 0x4920;" (assignment_expression "puVar7 = PTR_UINT_0015b5fc + 0x4920" (identifier "puVar7") (= "=") (binary_expression "PTR_UINT_0015b5fc + 0x4920" (identifier "PTR_UINT_0015b5fc") (+ "+") (number_literal "0x4920"))) (; ";")) (expression_statement "*(byte ****)(pbVar4 + 4) = &local_c4;" (assignment_expression "*(byte ****)(pbVar4 + 4) = &local_c4" (pointer_expression "*(byte ****)(pbVar4 + 4)" (* "*") (cast_expression "(byte ****)(pbVar4 + 4)" (( "(") (type_descriptor "byte ****" (type_identifier "byte") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))) () ")") (parenthesized_expression "(pbVar4 + 4)" (( "(") (binary_expression "pbVar4 + 4" (identifier "pbVar4") (+ "+") (number_literal "4")) () ")")))) (= "=") (pointer_expression "&local_c4" (& "&") (identifier "local_c4"))) (; ";")) (expression_statement "ppbVar22 = (byte **)(uint)*(byte *)unaff_s7;" (assignment_expression "ppbVar22 = (byte **)(uint)*(byte *)unaff_s7" (identifier "ppbVar22") (= "=") (binary_expression "(byte **)(uint)*(byte *)unaff_s7" (cast_expression "(byte **)(uint)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")"))) (* "*") (cast_expression "(byte *)unaff_s7" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "unaff_s7")))) (; ";")) (expression_statement "puVar8 = PTR_UINT_0015b5fc + 0x48fc;" (assignment_expression "puVar8 = PTR_UINT_0015b5fc + 0x48fc" (identifier "puVar8") (= "=") (binary_expression "PTR_UINT_0015b5fc + 0x48fc" (identifier "PTR_UINT_0015b5fc") (+ "+") (number_literal "0x48fc"))) (; ";")) (do_statement "do {\n        ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n        if ((byte **)0x22 < ppbVar22) goto joined_r0x000b33cc;\n        pbVar9 = unaff_s2 + (byte)puVar8[(int)ppbVar22];\n        if ((byte *)0x78 < pbVar9) goto LAB_000b2c10;\n        while( true ) {\n          if ((byte *)(uint)pbVar9[(int)puVar7] == unaff_s2) {\n            ppbVar22 = (byte **)(uint)pbVar9[(int)(unaff_s6 + 0x499c)];\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }\n          else {\nLAB_000b2c10:\n            ppbVar22 = (byte **)(uint)*(byte *)((int)ppbVar22 + (int)(puVar2 + 0x48c4));\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }\njoined_r0x000b33cc:\n          PTR_UINT_0015b5fc = (undefined *)ppbVar10;\n          if (ppbVar22 < (byte **)0x53) {\n            if (ppbVar22 < (byte **)0x50) {\n              *(byte ***)pbVar4 = unaff_s7 + 3;\n              if (*(byte ***)(pbVar4 + 0x4b8) < unaff_s7 + 3) {\n                *(byte ***)pbVar4 = unaff_s7;\n                FUN_000b2444(pbVar4);\n              }\n              else {\n                if ((byte **)0x22 < ppbVar22) {\n                  ppbVar22 = (byte **)((uint)((int)ppbVar22 + 0x1f) & 0xff);\n                }\n                *(byte *)(unaff_s7 + 3) = (byte)ppbVar22;\n                *(byte *)((int)unaff_s7 + 0xd) = (byte)unaff_s2;\n                unaff_s7[4] = unaff_s4;\n                unaff_s7[5] = pbVar24;\n              }\n            }\n            else if (ppbVar22 == (byte **)0x51) {\n              *(byte ***)pbVar4 = unaff_s7 + -3;\n              ppbVar17 = ppbVar10;\n            }\n            else {\n              ppbVar22 = *(byte ***)(pbVar4 + 4);\n              pbVar21 = unaff_s4;\n              local_cc = unaff_s4;\n              local_c8 = pbVar24;\n              (*pcVar13)(ppbVar22,ppbVar10 + -0x1c2b);\n              ppbVar17 = &local_cc;\n              *(byte ***)(pbVar4 + 4) = ppbVar22;\n              FUN_000b23c0(unaff_s2);\n              pbVar20 = pbVar24;\n            }\n            goto LAB_000b2d18;\n          }\n          ppbVar23 = (byte **)((int)ppbVar22 + -0x53);\n          unaff_s5 = (byte *)(int)(char)*(byte *)((int)ppbVar23 + (int)(unaff_s6 + 0x488c));\n          if ((unaff_s5 != (byte *)0x0) || (unaff_s7 < *(byte ***)(pbVar4 + 0x4b8))) break;\n          FUN_000b2444(pbVar4);\n          unaff_s7 = *(byte ***)pbVar4;\n          ppbVar22 = ppbVar23;\n          if (unaff_s7 <= unaff_s1) goto LAB_000b2d18;\n          pbVar9 = unaff_s2 + 0x2c;\n          ppbVar22 = (byte **)0x0;\n        }\n        if (ppbVar23 < (byte **)0x1c) {\n                    \n                    \n          iVar5 = (*(code *)(&_gp_1 + (int)ppbVar10[(int)(ppbVar22 + 0xcb)]))();\n          return iVar5;\n        }\n        pbVar20 = unaff_s6 + 0x499c;\n        bVar12 = *(byte *)(unaff_s7 + (int)unaff_s5 * 3);\n        ppbVar17 = unaff_s7 + (int)unaff_s5 * 3 + 3;\n        bVar1 = *(byte *)((int)(ppbVar10 + 0x122a) + (int)ppbVar23);\n        *(byte ***)pbVar4 = ppbVar17;\n        *(byte *)((int)ppbVar17 + 1) = bVar1;\n        ppbVar22 = (byte **)(uint)pbVar20[(uint)bVar1 +\n                                          (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)];\n        *(byte *)ppbVar17 =\n             pbVar20[(uint)bVar1 + (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)];\n        unaff_s7 = *(byte ***)pbVar4;\n        ppbVar17 = ppbVar10;\n      } while (unaff_s1 < unaff_s7);" (do "do") (compound_statement "{\n        ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n        if ((byte **)0x22 < ppbVar22) goto joined_r0x000b33cc;\n        pbVar9 = unaff_s2 + (byte)puVar8[(int)ppbVar22];\n        if ((byte *)0x78 < pbVar9) goto LAB_000b2c10;\n        while( true ) {\n          if ((byte *)(uint)pbVar9[(int)puVar7] == unaff_s2) {\n            ppbVar22 = (byte **)(uint)pbVar9[(int)(unaff_s6 + 0x499c)];\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }\n          else {\nLAB_000b2c10:\n            ppbVar22 = (byte **)(uint)*(byte *)((int)ppbVar22 + (int)(puVar2 + 0x48c4));\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }\njoined_r0x000b33cc:\n          PTR_UINT_0015b5fc = (undefined *)ppbVar10;\n          if (ppbVar22 < (byte **)0x53) {\n            if (ppbVar22 < (byte **)0x50) {\n              *(byte ***)pbVar4 = unaff_s7 + 3;\n              if (*(byte ***)(pbVar4 + 0x4b8) < unaff_s7 + 3) {\n                *(byte ***)pbVar4 = unaff_s7;\n                FUN_000b2444(pbVar4);\n              }\n              else {\n                if ((byte **)0x22 < ppbVar22) {\n                  ppbVar22 = (byte **)((uint)((int)ppbVar22 + 0x1f) & 0xff);\n                }\n                *(byte *)(unaff_s7 + 3) = (byte)ppbVar22;\n                *(byte *)((int)unaff_s7 + 0xd) = (byte)unaff_s2;\n                unaff_s7[4] = unaff_s4;\n                unaff_s7[5] = pbVar24;\n              }\n            }\n            else if (ppbVar22 == (byte **)0x51) {\n              *(byte ***)pbVar4 = unaff_s7 + -3;\n              ppbVar17 = ppbVar10;\n            }\n            else {\n              ppbVar22 = *(byte ***)(pbVar4 + 4);\n              pbVar21 = unaff_s4;\n              local_cc = unaff_s4;\n              local_c8 = pbVar24;\n              (*pcVar13)(ppbVar22,ppbVar10 + -0x1c2b);\n              ppbVar17 = &local_cc;\n              *(byte ***)(pbVar4 + 4) = ppbVar22;\n              FUN_000b23c0(unaff_s2);\n              pbVar20 = pbVar24;\n            }\n            goto LAB_000b2d18;\n          }\n          ppbVar23 = (byte **)((int)ppbVar22 + -0x53);\n          unaff_s5 = (byte *)(int)(char)*(byte *)((int)ppbVar23 + (int)(unaff_s6 + 0x488c));\n          if ((unaff_s5 != (byte *)0x0) || (unaff_s7 < *(byte ***)(pbVar4 + 0x4b8))) break;\n          FUN_000b2444(pbVar4);\n          unaff_s7 = *(byte ***)pbVar4;\n          ppbVar22 = ppbVar23;\n          if (unaff_s7 <= unaff_s1) goto LAB_000b2d18;\n          pbVar9 = unaff_s2 + 0x2c;\n          ppbVar22 = (byte **)0x0;\n        }\n        if (ppbVar23 < (byte **)0x1c) {\n                    \n                    \n          iVar5 = (*(code *)(&_gp_1 + (int)ppbVar10[(int)(ppbVar22 + 0xcb)]))();\n          return iVar5;\n        }\n        pbVar20 = unaff_s6 + 0x499c;\n        bVar12 = *(byte *)(unaff_s7 + (int)unaff_s5 * 3);\n        ppbVar17 = unaff_s7 + (int)unaff_s5 * 3 + 3;\n        bVar1 = *(byte *)((int)(ppbVar10 + 0x122a) + (int)ppbVar23);\n        *(byte ***)pbVar4 = ppbVar17;\n        *(byte *)((int)ppbVar17 + 1) = bVar1;\n        ppbVar22 = (byte **)(uint)pbVar20[(uint)bVar1 +\n                                          (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)];\n        *(byte *)ppbVar17 =\n             pbVar20[(uint)bVar1 + (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)];\n        unaff_s7 = *(byte ***)pbVar4;\n        ppbVar17 = ppbVar10;\n      }" ({ "{") (expression_statement "ppbVar10 = (byte **)PTR_UINT_0015b5fc;" (assignment_expression "ppbVar10 = (byte **)PTR_UINT_0015b5fc" (identifier "ppbVar10") (= "=") (cast_expression "(byte **)PTR_UINT_0015b5fc" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_UINT_0015b5fc"))) (; ";")) (if_statement "if ((byte **)0x22 < ppbVar22) goto joined_r0x000b33cc;" (if "if") (parenthesized_expression "((byte **)0x22 < ppbVar22)" (( "(") (binary_expression "(byte **)0x22 < ppbVar22" (cast_expression "(byte **)0x22" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x22")) (< "<") (identifier "ppbVar22")) () ")")) (goto_statement "goto joined_r0x000b33cc;" (goto "goto") (statement_identifier "joined_r0x000b33cc") (; ";"))) (expression_statement "pbVar9 = unaff_s2 + (byte)puVar8[(int)ppbVar22];" (assignment_expression "pbVar9 = unaff_s2 + (byte)puVar8[(int)ppbVar22]" (identifier "pbVar9") (= "=") (binary_expression "unaff_s2 + (byte)puVar8[(int)ppbVar22]" (identifier "unaff_s2") (+ "+") (cast_expression "(byte)puVar8[(int)ppbVar22]" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (subscript_expression "puVar8[(int)ppbVar22]" (identifier "puVar8") ([ "[") (cast_expression "(int)ppbVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppbVar22")) (] "]"))))) (; ";")) (if_statement "if ((byte *)0x78 < pbVar9) goto LAB_000b2c10;" (if "if") (parenthesized_expression "((byte *)0x78 < pbVar9)" (( "(") (binary_expression "(byte *)0x78 < pbVar9" (cast_expression "(byte *)0x78" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x78")) (< "<") (identifier "pbVar9")) () ")")) (goto_statement "goto LAB_000b2c10;" (goto "goto") (statement_identifier "LAB_000b2c10") (; ";"))) (while_statement "while( true ) {\n          if ((byte *)(uint)pbVar9[(int)puVar7] == unaff_s2) {\n            ppbVar22 = (byte **)(uint)pbVar9[(int)(unaff_s6 + 0x499c)];\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }\n          else {\nLAB_000b2c10:\n            ppbVar22 = (byte **)(uint)*(byte *)((int)ppbVar22 + (int)(puVar2 + 0x48c4));\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }\njoined_r0x000b33cc:\n          PTR_UINT_0015b5fc = (undefined *)ppbVar10;\n          if (ppbVar22 < (byte **)0x53) {\n            if (ppbVar22 < (byte **)0x50) {\n              *(byte ***)pbVar4 = unaff_s7 + 3;\n              if (*(byte ***)(pbVar4 + 0x4b8) < unaff_s7 + 3) {\n                *(byte ***)pbVar4 = unaff_s7;\n                FUN_000b2444(pbVar4);\n              }\n              else {\n                if ((byte **)0x22 < ppbVar22) {\n                  ppbVar22 = (byte **)((uint)((int)ppbVar22 + 0x1f) & 0xff);\n                }\n                *(byte *)(unaff_s7 + 3) = (byte)ppbVar22;\n                *(byte *)((int)unaff_s7 + 0xd) = (byte)unaff_s2;\n                unaff_s7[4] = unaff_s4;\n                unaff_s7[5] = pbVar24;\n              }\n            }\n            else if (ppbVar22 == (byte **)0x51) {\n              *(byte ***)pbVar4 = unaff_s7 + -3;\n              ppbVar17 = ppbVar10;\n            }\n            else {\n              ppbVar22 = *(byte ***)(pbVar4 + 4);\n              pbVar21 = unaff_s4;\n              local_cc = unaff_s4;\n              local_c8 = pbVar24;\n              (*pcVar13)(ppbVar22,ppbVar10 + -0x1c2b);\n              ppbVar17 = &local_cc;\n              *(byte ***)(pbVar4 + 4) = ppbVar22;\n              FUN_000b23c0(unaff_s2);\n              pbVar20 = pbVar24;\n            }\n            goto LAB_000b2d18;\n          }\n          ppbVar23 = (byte **)((int)ppbVar22 + -0x53);\n          unaff_s5 = (byte *)(int)(char)*(byte *)((int)ppbVar23 + (int)(unaff_s6 + 0x488c));\n          if ((unaff_s5 != (byte *)0x0) || (unaff_s7 < *(byte ***)(pbVar4 + 0x4b8))) break;\n          FUN_000b2444(pbVar4);\n          unaff_s7 = *(byte ***)pbVar4;\n          ppbVar22 = ppbVar23;\n          if (unaff_s7 <= unaff_s1) goto LAB_000b2d18;\n          pbVar9 = unaff_s2 + 0x2c;\n          ppbVar22 = (byte **)0x0;\n        }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n          if ((byte *)(uint)pbVar9[(int)puVar7] == unaff_s2) {\n            ppbVar22 = (byte **)(uint)pbVar9[(int)(unaff_s6 + 0x499c)];\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }\n          else {\nLAB_000b2c10:\n            ppbVar22 = (byte **)(uint)*(byte *)((int)ppbVar22 + (int)(puVar2 + 0x48c4));\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }\njoined_r0x000b33cc:\n          PTR_UINT_0015b5fc = (undefined *)ppbVar10;\n          if (ppbVar22 < (byte **)0x53) {\n            if (ppbVar22 < (byte **)0x50) {\n              *(byte ***)pbVar4 = unaff_s7 + 3;\n              if (*(byte ***)(pbVar4 + 0x4b8) < unaff_s7 + 3) {\n                *(byte ***)pbVar4 = unaff_s7;\n                FUN_000b2444(pbVar4);\n              }\n              else {\n                if ((byte **)0x22 < ppbVar22) {\n                  ppbVar22 = (byte **)((uint)((int)ppbVar22 + 0x1f) & 0xff);\n                }\n                *(byte *)(unaff_s7 + 3) = (byte)ppbVar22;\n                *(byte *)((int)unaff_s7 + 0xd) = (byte)unaff_s2;\n                unaff_s7[4] = unaff_s4;\n                unaff_s7[5] = pbVar24;\n              }\n            }\n            else if (ppbVar22 == (byte **)0x51) {\n              *(byte ***)pbVar4 = unaff_s7 + -3;\n              ppbVar17 = ppbVar10;\n            }\n            else {\n              ppbVar22 = *(byte ***)(pbVar4 + 4);\n              pbVar21 = unaff_s4;\n              local_cc = unaff_s4;\n              local_c8 = pbVar24;\n              (*pcVar13)(ppbVar22,ppbVar10 + -0x1c2b);\n              ppbVar17 = &local_cc;\n              *(byte ***)(pbVar4 + 4) = ppbVar22;\n              FUN_000b23c0(unaff_s2);\n              pbVar20 = pbVar24;\n            }\n            goto LAB_000b2d18;\n          }\n          ppbVar23 = (byte **)((int)ppbVar22 + -0x53);\n          unaff_s5 = (byte *)(int)(char)*(byte *)((int)ppbVar23 + (int)(unaff_s6 + 0x488c));\n          if ((unaff_s5 != (byte *)0x0) || (unaff_s7 < *(byte ***)(pbVar4 + 0x4b8))) break;\n          FUN_000b2444(pbVar4);\n          unaff_s7 = *(byte ***)pbVar4;\n          ppbVar22 = ppbVar23;\n          if (unaff_s7 <= unaff_s1) goto LAB_000b2d18;\n          pbVar9 = unaff_s2 + 0x2c;\n          ppbVar22 = (byte **)0x0;\n        }" ({ "{") (if_statement "if ((byte *)(uint)pbVar9[(int)puVar7] == unaff_s2) {\n            ppbVar22 = (byte **)(uint)pbVar9[(int)(unaff_s6 + 0x499c)];\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }\n          else {\nLAB_000b2c10:\n            ppbVar22 = (byte **)(uint)*(byte *)((int)ppbVar22 + (int)(puVar2 + 0x48c4));\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }" (if "if") (parenthesized_expression "((byte *)(uint)pbVar9[(int)puVar7] == unaff_s2)" (( "(") (binary_expression "(byte *)(uint)pbVar9[(int)puVar7] == unaff_s2" (cast_expression "(byte *)(uint)pbVar9[(int)puVar7]" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(uint)pbVar9[(int)puVar7]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar9[(int)puVar7]" (identifier "pbVar9") ([ "[") (cast_expression "(int)puVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar7")) (] "]")))) (== "==") (identifier "unaff_s2")) () ")")) (compound_statement "{\n            ppbVar22 = (byte **)(uint)pbVar9[(int)(unaff_s6 + 0x499c)];\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }" ({ "{") (expression_statement "ppbVar22 = (byte **)(uint)pbVar9[(int)(unaff_s6 + 0x499c)];" (assignment_expression "ppbVar22 = (byte **)(uint)pbVar9[(int)(unaff_s6 + 0x499c)]" (identifier "ppbVar22") (= "=") (cast_expression "(byte **)(uint)pbVar9[(int)(unaff_s6 + 0x499c)]" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (cast_expression "(uint)pbVar9[(int)(unaff_s6 + 0x499c)]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar9[(int)(unaff_s6 + 0x499c)]" (identifier "pbVar9") ([ "[") (cast_expression "(int)(unaff_s6 + 0x499c)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(unaff_s6 + 0x499c)" (( "(") (binary_expression "unaff_s6 + 0x499c" (identifier "unaff_s6") (+ "+") (number_literal "0x499c")) () ")"))) (] "]"))))) (; ";")) (expression_statement "ppbVar10 = (byte **)PTR_UINT_0015b5fc;" (assignment_expression "ppbVar10 = (byte **)PTR_UINT_0015b5fc" (identifier "ppbVar10") (= "=") (cast_expression "(byte **)PTR_UINT_0015b5fc" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_UINT_0015b5fc"))) (; ";")) (} "}")) (else_clause "else {\nLAB_000b2c10:\n            ppbVar22 = (byte **)(uint)*(byte *)((int)ppbVar22 + (int)(puVar2 + 0x48c4));\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }" (else "else") (compound_statement "{\nLAB_000b2c10:\n            ppbVar22 = (byte **)(uint)*(byte *)((int)ppbVar22 + (int)(puVar2 + 0x48c4));\n            ppbVar10 = (byte **)PTR_UINT_0015b5fc;\n          }" ({ "{") (labeled_statement "LAB_000b2c10:\n            ppbVar22 = (byte **)(uint)*(byte *)((int)ppbVar22 + (int)(puVar2 + 0x48c4));" (statement_identifier "LAB_000b2c10") (: ":") (expression_statement "ppbVar22 = (byte **)(uint)*(byte *)((int)ppbVar22 + (int)(puVar2 + 0x48c4));" (assignment_expression "ppbVar22 = (byte **)(uint)*(byte *)((int)ppbVar22 + (int)(puVar2 + 0x48c4))" (identifier "ppbVar22") (= "=") (binary_expression "(byte **)(uint)*(byte *)((int)ppbVar22 + (int)(puVar2 + 0x48c4))" (cast_expression "(byte **)(uint)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")"))) (* "*") (cast_expression "(byte *)((int)ppbVar22 + (int)(puVar2 + 0x48c4))" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppbVar22 + (int)(puVar2 + 0x48c4))" (( "(") (binary_expression "(int)ppbVar22 + (int)(puVar2 + 0x48c4)" (cast_expression "(int)ppbVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppbVar22")) (+ "+") (cast_expression "(int)(puVar2 + 0x48c4)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(puVar2 + 0x48c4)" (( "(") (binary_expression "puVar2 + 0x48c4" (identifier "puVar2") (+ "+") (number_literal "0x48c4")) () ")")))) () ")"))))) (; ";"))) (expression_statement "ppbVar10 = (byte **)PTR_UINT_0015b5fc;" (assignment_expression "ppbVar10 = (byte **)PTR_UINT_0015b5fc" (identifier "ppbVar10") (= "=") (cast_expression "(byte **)PTR_UINT_0015b5fc" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_UINT_0015b5fc"))) (; ";")) (} "}")))) (labeled_statement "joined_r0x000b33cc:\n          PTR_UINT_0015b5fc = (undefined *)ppbVar10;" (statement_identifier "joined_r0x000b33cc") (: ":") (expression_statement "PTR_UINT_0015b5fc = (undefined *)ppbVar10;" (assignment_expression "PTR_UINT_0015b5fc = (undefined *)ppbVar10" (identifier "PTR_UINT_0015b5fc") (= "=") (cast_expression "(undefined *)ppbVar10" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppbVar10"))) (; ";"))) (if_statement "if (ppbVar22 < (byte **)0x53) {\n            if (ppbVar22 < (byte **)0x50) {\n              *(byte ***)pbVar4 = unaff_s7 + 3;\n              if (*(byte ***)(pbVar4 + 0x4b8) < unaff_s7 + 3) {\n                *(byte ***)pbVar4 = unaff_s7;\n                FUN_000b2444(pbVar4);\n              }\n              else {\n                if ((byte **)0x22 < ppbVar22) {\n                  ppbVar22 = (byte **)((uint)((int)ppbVar22 + 0x1f) & 0xff);\n                }\n                *(byte *)(unaff_s7 + 3) = (byte)ppbVar22;\n                *(byte *)((int)unaff_s7 + 0xd) = (byte)unaff_s2;\n                unaff_s7[4] = unaff_s4;\n                unaff_s7[5] = pbVar24;\n              }\n            }\n            else if (ppbVar22 == (byte **)0x51) {\n              *(byte ***)pbVar4 = unaff_s7 + -3;\n              ppbVar17 = ppbVar10;\n            }\n            else {\n              ppbVar22 = *(byte ***)(pbVar4 + 4);\n              pbVar21 = unaff_s4;\n              local_cc = unaff_s4;\n              local_c8 = pbVar24;\n              (*pcVar13)(ppbVar22,ppbVar10 + -0x1c2b);\n              ppbVar17 = &local_cc;\n              *(byte ***)(pbVar4 + 4) = ppbVar22;\n              FUN_000b23c0(unaff_s2);\n              pbVar20 = pbVar24;\n            }\n            goto LAB_000b2d18;\n          }" (if "if") (parenthesized_expression "(ppbVar22 < (byte **)0x53)" (( "(") (binary_expression "ppbVar22 < (byte **)0x53" (identifier "ppbVar22") (< "<") (cast_expression "(byte **)0x53" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x53"))) () ")")) (compound_statement "{\n            if (ppbVar22 < (byte **)0x50) {\n              *(byte ***)pbVar4 = unaff_s7 + 3;\n              if (*(byte ***)(pbVar4 + 0x4b8) < unaff_s7 + 3) {\n                *(byte ***)pbVar4 = unaff_s7;\n                FUN_000b2444(pbVar4);\n              }\n              else {\n                if ((byte **)0x22 < ppbVar22) {\n                  ppbVar22 = (byte **)((uint)((int)ppbVar22 + 0x1f) & 0xff);\n                }\n                *(byte *)(unaff_s7 + 3) = (byte)ppbVar22;\n                *(byte *)((int)unaff_s7 + 0xd) = (byte)unaff_s2;\n                unaff_s7[4] = unaff_s4;\n                unaff_s7[5] = pbVar24;\n              }\n            }\n            else if (ppbVar22 == (byte **)0x51) {\n              *(byte ***)pbVar4 = unaff_s7 + -3;\n              ppbVar17 = ppbVar10;\n            }\n            else {\n              ppbVar22 = *(byte ***)(pbVar4 + 4);\n              pbVar21 = unaff_s4;\n              local_cc = unaff_s4;\n              local_c8 = pbVar24;\n              (*pcVar13)(ppbVar22,ppbVar10 + -0x1c2b);\n              ppbVar17 = &local_cc;\n              *(byte ***)(pbVar4 + 4) = ppbVar22;\n              FUN_000b23c0(unaff_s2);\n              pbVar20 = pbVar24;\n            }\n            goto LAB_000b2d18;\n          }" ({ "{") (if_statement "if (ppbVar22 < (byte **)0x50) {\n              *(byte ***)pbVar4 = unaff_s7 + 3;\n              if (*(byte ***)(pbVar4 + 0x4b8) < unaff_s7 + 3) {\n                *(byte ***)pbVar4 = unaff_s7;\n                FUN_000b2444(pbVar4);\n              }\n              else {\n                if ((byte **)0x22 < ppbVar22) {\n                  ppbVar22 = (byte **)((uint)((int)ppbVar22 + 0x1f) & 0xff);\n                }\n                *(byte *)(unaff_s7 + 3) = (byte)ppbVar22;\n                *(byte *)((int)unaff_s7 + 0xd) = (byte)unaff_s2;\n                unaff_s7[4] = unaff_s4;\n                unaff_s7[5] = pbVar24;\n              }\n            }\n            else if (ppbVar22 == (byte **)0x51) {\n              *(byte ***)pbVar4 = unaff_s7 + -3;\n              ppbVar17 = ppbVar10;\n            }\n            else {\n              ppbVar22 = *(byte ***)(pbVar4 + 4);\n              pbVar21 = unaff_s4;\n              local_cc = unaff_s4;\n              local_c8 = pbVar24;\n              (*pcVar13)(ppbVar22,ppbVar10 + -0x1c2b);\n              ppbVar17 = &local_cc;\n              *(byte ***)(pbVar4 + 4) = ppbVar22;\n              FUN_000b23c0(unaff_s2);\n              pbVar20 = pbVar24;\n            }" (if "if") (parenthesized_expression "(ppbVar22 < (byte **)0x50)" (( "(") (binary_expression "ppbVar22 < (byte **)0x50" (identifier "ppbVar22") (< "<") (cast_expression "(byte **)0x50" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x50"))) () ")")) (compound_statement "{\n              *(byte ***)pbVar4 = unaff_s7 + 3;\n              if (*(byte ***)(pbVar4 + 0x4b8) < unaff_s7 + 3) {\n                *(byte ***)pbVar4 = unaff_s7;\n                FUN_000b2444(pbVar4);\n              }\n              else {\n                if ((byte **)0x22 < ppbVar22) {\n                  ppbVar22 = (byte **)((uint)((int)ppbVar22 + 0x1f) & 0xff);\n                }\n                *(byte *)(unaff_s7 + 3) = (byte)ppbVar22;\n                *(byte *)((int)unaff_s7 + 0xd) = (byte)unaff_s2;\n                unaff_s7[4] = unaff_s4;\n                unaff_s7[5] = pbVar24;\n              }\n            }" ({ "{") (expression_statement "*(byte ***)pbVar4 = unaff_s7 + 3;" (assignment_expression "*(byte ***)pbVar4 = unaff_s7 + 3" (pointer_expression "*(byte ***)pbVar4" (* "*") (cast_expression "(byte ***)pbVar4" (( "(") (type_descriptor "byte ***" (type_identifier "byte") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "pbVar4"))) (= "=") (binary_expression "unaff_s7 + 3" (identifier "unaff_s7") (+ "+") (number_literal "3"))) (; ";")) (if_statement "if (*(byte ***)(pbVar4 + 0x4b8) < unaff_s7 + 3) {\n                *(byte ***)pbVar4 = unaff_s7;\n                FUN_000b2444(pbVar4);\n              }\n              else {\n                if ((byte **)0x22 < ppbVar22) {\n                  ppbVar22 = (byte **)((uint)((int)ppbVar22 + 0x1f) & 0xff);\n                }\n                *(byte *)(unaff_s7 + 3) = (byte)ppbVar22;\n                *(byte *)((int)unaff_s7 + 0xd) = (byte)unaff_s2;\n                unaff_s7[4] = unaff_s4;\n                unaff_s7[5] = pbVar24;\n              }" (if "if") (parenthesized_expression "(*(byte ***)(pbVar4 + 0x4b8) < unaff_s7 + 3)" (( "(") (binary_expression "*(byte ***)(pbVar4 + 0x4b8) < unaff_s7 + 3" (pointer_expression "*(byte ***)(pbVar4 + 0x4b8)" (* "*") (cast_expression "(byte ***)(pbVar4 + 0x4b8)" (( "(") (type_descriptor "byte ***" (type_identifier "byte") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(pbVar4 + 0x4b8)" (( "(") (binary_expression "pbVar4 + 0x4b8" (identifier "pbVar4") (+ "+") (number_literal "0x4b8")) () ")")))) (< "<") (binary_expression "unaff_s7 + 3" (identifier "unaff_s7") (+ "+") (number_literal "3"))) () ")")) (compound_statement "{\n                *(byte ***)pbVar4 = unaff_s7;\n                FUN_000b2444(pbVar4);\n              }" ({ "{") (expression_statement "*(byte ***)pbVar4 = unaff_s7;" (assignment_expression "*(byte ***)pbVar4 = unaff_s7" (pointer_expression "*(byte ***)pbVar4" (* "*") (cast_expression "(byte ***)pbVar4" (( "(") (type_descriptor "byte ***" (type_identifier "byte") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "pbVar4"))) (= "=") (identifier "unaff_s7")) (; ";")) (expression_statement "FUN_000b2444(pbVar4);" (call_expression "FUN_000b2444(pbVar4)" (identifier "FUN_000b2444") (argument_list "(pbVar4)" (( "(") (identifier "pbVar4") () ")"))) (; ";")) (} "}")) (else_clause "else {\n                if ((byte **)0x22 < ppbVar22) {\n                  ppbVar22 = (byte **)((uint)((int)ppbVar22 + 0x1f) & 0xff);\n                }\n                *(byte *)(unaff_s7 + 3) = (byte)ppbVar22;\n                *(byte *)((int)unaff_s7 + 0xd) = (byte)unaff_s2;\n                unaff_s7[4] = unaff_s4;\n                unaff_s7[5] = pbVar24;\n              }" (else "else") (compound_statement "{\n                if ((byte **)0x22 < ppbVar22) {\n                  ppbVar22 = (byte **)((uint)((int)ppbVar22 + 0x1f) & 0xff);\n                }\n                *(byte *)(unaff_s7 + 3) = (byte)ppbVar22;\n                *(byte *)((int)unaff_s7 + 0xd) = (byte)unaff_s2;\n                unaff_s7[4] = unaff_s4;\n                unaff_s7[5] = pbVar24;\n              }" ({ "{") (if_statement "if ((byte **)0x22 < ppbVar22) {\n                  ppbVar22 = (byte **)((uint)((int)ppbVar22 + 0x1f) & 0xff);\n                }" (if "if") (parenthesized_expression "((byte **)0x22 < ppbVar22)" (( "(") (binary_expression "(byte **)0x22 < ppbVar22" (cast_expression "(byte **)0x22" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x22")) (< "<") (identifier "ppbVar22")) () ")")) (compound_statement "{\n                  ppbVar22 = (byte **)((uint)((int)ppbVar22 + 0x1f) & 0xff);\n                }" ({ "{") (expression_statement "ppbVar22 = (byte **)((uint)((int)ppbVar22 + 0x1f) & 0xff);" (assignment_expression "ppbVar22 = (byte **)((uint)((int)ppbVar22 + 0x1f) & 0xff)" (identifier "ppbVar22") (= "=") (cast_expression "(byte **)((uint)((int)ppbVar22 + 0x1f) & 0xff)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((uint)((int)ppbVar22 + 0x1f) & 0xff)" (( "(") (binary_expression "(uint)((int)ppbVar22 + 0x1f) & 0xff" (call_expression "(uint)((int)ppbVar22 + 0x1f)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((int)ppbVar22 + 0x1f)" (( "(") (binary_expression "(int)ppbVar22 + 0x1f" (cast_expression "(int)ppbVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppbVar22")) (+ "+") (number_literal "0x1f")) () ")"))) (& "&") (number_literal "0xff")) () ")")))) (; ";")) (} "}"))) (expression_statement "*(byte *)(unaff_s7 + 3) = (byte)ppbVar22;" (assignment_expression "*(byte *)(unaff_s7 + 3) = (byte)ppbVar22" (pointer_expression "*(byte *)(unaff_s7 + 3)" (* "*") (cast_expression "(byte *)(unaff_s7 + 3)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s7 + 3)" (( "(") (binary_expression "unaff_s7 + 3" (identifier "unaff_s7") (+ "+") (number_literal "3")) () ")")))) (= "=") (cast_expression "(byte)ppbVar22" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "ppbVar22"))) (; ";")) (expression_statement "*(byte *)((int)unaff_s7 + 0xd) = (byte)unaff_s2;" (assignment_expression "*(byte *)((int)unaff_s7 + 0xd) = (byte)unaff_s2" (pointer_expression "*(byte *)((int)unaff_s7 + 0xd)" (* "*") (cast_expression "(byte *)((int)unaff_s7 + 0xd)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)unaff_s7 + 0xd)" (( "(") (binary_expression "(int)unaff_s7 + 0xd" (cast_expression "(int)unaff_s7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s7")) (+ "+") (number_literal "0xd")) () ")")))) (= "=") (cast_expression "(byte)unaff_s2" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "unaff_s2"))) (; ";")) (expression_statement "unaff_s7[4] = unaff_s4;" (assignment_expression "unaff_s7[4] = unaff_s4" (subscript_expression "unaff_s7[4]" (identifier "unaff_s7") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "unaff_s4")) (; ";")) (expression_statement "unaff_s7[5] = pbVar24;" (assignment_expression "unaff_s7[5] = pbVar24" (subscript_expression "unaff_s7[5]" (identifier "unaff_s7") ([ "[") (number_literal "5") (] "]")) (= "=") (identifier "pbVar24")) (; ";")) (} "}")))) (} "}")) (else_clause "else if (ppbVar22 == (byte **)0x51) {\n              *(byte ***)pbVar4 = unaff_s7 + -3;\n              ppbVar17 = ppbVar10;\n            }\n            else {\n              ppbVar22 = *(byte ***)(pbVar4 + 4);\n              pbVar21 = unaff_s4;\n              local_cc = unaff_s4;\n              local_c8 = pbVar24;\n              (*pcVar13)(ppbVar22,ppbVar10 + -0x1c2b);\n              ppbVar17 = &local_cc;\n              *(byte ***)(pbVar4 + 4) = ppbVar22;\n              FUN_000b23c0(unaff_s2);\n              pbVar20 = pbVar24;\n            }" (else "else") (if_statement "if (ppbVar22 == (byte **)0x51) {\n              *(byte ***)pbVar4 = unaff_s7 + -3;\n              ppbVar17 = ppbVar10;\n            }\n            else {\n              ppbVar22 = *(byte ***)(pbVar4 + 4);\n              pbVar21 = unaff_s4;\n              local_cc = unaff_s4;\n              local_c8 = pbVar24;\n              (*pcVar13)(ppbVar22,ppbVar10 + -0x1c2b);\n              ppbVar17 = &local_cc;\n              *(byte ***)(pbVar4 + 4) = ppbVar22;\n              FUN_000b23c0(unaff_s2);\n              pbVar20 = pbVar24;\n            }" (if "if") (parenthesized_expression "(ppbVar22 == (byte **)0x51)" (( "(") (binary_expression "ppbVar22 == (byte **)0x51" (identifier "ppbVar22") (== "==") (cast_expression "(byte **)0x51" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x51"))) () ")")) (compound_statement "{\n              *(byte ***)pbVar4 = unaff_s7 + -3;\n              ppbVar17 = ppbVar10;\n            }" ({ "{") (expression_statement "*(byte ***)pbVar4 = unaff_s7 + -3;" (assignment_expression "*(byte ***)pbVar4 = unaff_s7 + -3" (pointer_expression "*(byte ***)pbVar4" (* "*") (cast_expression "(byte ***)pbVar4" (( "(") (type_descriptor "byte ***" (type_identifier "byte") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "pbVar4"))) (= "=") (binary_expression "unaff_s7 + -3" (identifier "unaff_s7") (+ "+") (number_literal "-3"))) (; ";")) (expression_statement "ppbVar17 = ppbVar10;" (assignment_expression "ppbVar17 = ppbVar10" (identifier "ppbVar17") (= "=") (identifier "ppbVar10")) (; ";")) (} "}")) (else_clause "else {\n              ppbVar22 = *(byte ***)(pbVar4 + 4);\n              pbVar21 = unaff_s4;\n              local_cc = unaff_s4;\n              local_c8 = pbVar24;\n              (*pcVar13)(ppbVar22,ppbVar10 + -0x1c2b);\n              ppbVar17 = &local_cc;\n              *(byte ***)(pbVar4 + 4) = ppbVar22;\n              FUN_000b23c0(unaff_s2);\n              pbVar20 = pbVar24;\n            }" (else "else") (compound_statement "{\n              ppbVar22 = *(byte ***)(pbVar4 + 4);\n              pbVar21 = unaff_s4;\n              local_cc = unaff_s4;\n              local_c8 = pbVar24;\n              (*pcVar13)(ppbVar22,ppbVar10 + -0x1c2b);\n              ppbVar17 = &local_cc;\n              *(byte ***)(pbVar4 + 4) = ppbVar22;\n              FUN_000b23c0(unaff_s2);\n              pbVar20 = pbVar24;\n            }" ({ "{") (expression_statement "ppbVar22 = *(byte ***)(pbVar4 + 4);" (assignment_expression "ppbVar22 = *(byte ***)(pbVar4 + 4)" (identifier "ppbVar22") (= "=") (pointer_expression "*(byte ***)(pbVar4 + 4)" (* "*") (cast_expression "(byte ***)(pbVar4 + 4)" (( "(") (type_descriptor "byte ***" (type_identifier "byte") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(pbVar4 + 4)" (( "(") (binary_expression "pbVar4 + 4" (identifier "pbVar4") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "pbVar21 = unaff_s4;" (assignment_expression "pbVar21 = unaff_s4" (identifier "pbVar21") (= "=") (identifier "unaff_s4")) (; ";")) (expression_statement "local_cc = unaff_s4;" (assignment_expression "local_cc = unaff_s4" (identifier "local_cc") (= "=") (identifier "unaff_s4")) (; ";")) (expression_statement "local_c8 = pbVar24;" (assignment_expression "local_c8 = pbVar24" (identifier "local_c8") (= "=") (identifier "pbVar24")) (; ";")) (expression_statement "(*pcVar13)(ppbVar22,ppbVar10 + -0x1c2b);" (call_expression "(*pcVar13)(ppbVar22,ppbVar10 + -0x1c2b)" (parenthesized_expression "(*pcVar13)" (( "(") (pointer_expression "*pcVar13" (* "*") (identifier "pcVar13")) () ")")) (argument_list "(ppbVar22,ppbVar10 + -0x1c2b)" (( "(") (identifier "ppbVar22") (, ",") (binary_expression "ppbVar10 + -0x1c2b" (identifier "ppbVar10") (+ "+") (number_literal "-0x1c2b")) () ")"))) (; ";")) (expression_statement "ppbVar17 = &local_cc;" (assignment_expression "ppbVar17 = &local_cc" (identifier "ppbVar17") (= "=") (pointer_expression "&local_cc" (& "&") (identifier "local_cc"))) (; ";")) (expression_statement "*(byte ***)(pbVar4 + 4) = ppbVar22;" (assignment_expression "*(byte ***)(pbVar4 + 4) = ppbVar22" (pointer_expression "*(byte ***)(pbVar4 + 4)" (* "*") (cast_expression "(byte ***)(pbVar4 + 4)" (( "(") (type_descriptor "byte ***" (type_identifier "byte") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(pbVar4 + 4)" (( "(") (binary_expression "pbVar4 + 4" (identifier "pbVar4") (+ "+") (number_literal "4")) () ")")))) (= "=") (identifier "ppbVar22")) (; ";")) (expression_statement "FUN_000b23c0(unaff_s2);" (call_expression "FUN_000b23c0(unaff_s2)" (identifier "FUN_000b23c0") (argument_list "(unaff_s2)" (( "(") (identifier "unaff_s2") () ")"))) (; ";")) (expression_statement "pbVar20 = pbVar24;" (assignment_expression "pbVar20 = pbVar24" (identifier "pbVar20") (= "=") (identifier "pbVar24")) (; ";")) (} "}")))))) (goto_statement "goto LAB_000b2d18;" (goto "goto") (statement_identifier "LAB_000b2d18") (; ";")) (} "}"))) (expression_statement "ppbVar23 = (byte **)((int)ppbVar22 + -0x53);" (assignment_expression "ppbVar23 = (byte **)((int)ppbVar22 + -0x53)" (identifier "ppbVar23") (= "=") (cast_expression "(byte **)((int)ppbVar22 + -0x53)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppbVar22 + -0x53)" (( "(") (binary_expression "(int)ppbVar22 + -0x53" (cast_expression "(int)ppbVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppbVar22")) (+ "+") (number_literal "-0x53")) () ")")))) (; ";")) (expression_statement "unaff_s5 = (byte *)(int)(char)*(byte *)((int)ppbVar23 + (int)(unaff_s6 + 0x488c));" (assignment_expression "unaff_s5 = (byte *)(int)(char)*(byte *)((int)ppbVar23 + (int)(unaff_s6 + 0x488c))" (identifier "unaff_s5") (= "=") (cast_expression "(byte *)(int)(char)*(byte *)((int)ppbVar23 + (int)(unaff_s6 + 0x488c))" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (cast_expression "(int)(char)*(byte *)((int)ppbVar23 + (int)(unaff_s6 + 0x488c))" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)*(byte *)((int)ppbVar23 + (int)(unaff_s6 + 0x488c))" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (pointer_expression "*(byte *)((int)ppbVar23 + (int)(unaff_s6 + 0x488c))" (* "*") (cast_expression "(byte *)((int)ppbVar23 + (int)(unaff_s6 + 0x488c))" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppbVar23 + (int)(unaff_s6 + 0x488c))" (( "(") (binary_expression "(int)ppbVar23 + (int)(unaff_s6 + 0x488c)" (cast_expression "(int)ppbVar23" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppbVar23")) (+ "+") (cast_expression "(int)(unaff_s6 + 0x488c)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(unaff_s6 + 0x488c)" (( "(") (binary_expression "unaff_s6 + 0x488c" (identifier "unaff_s6") (+ "+") (number_literal "0x488c")) () ")")))) () ")")))))))) (; ";")) (if_statement "if ((unaff_s5 != (byte *)0x0) || (unaff_s7 < *(byte ***)(pbVar4 + 0x4b8))) break;" (if "if") (parenthesized_expression "((unaff_s5 != (byte *)0x0) || (unaff_s7 < *(byte ***)(pbVar4 + 0x4b8)))" (( "(") (binary_expression "(unaff_s5 != (byte *)0x0) || (unaff_s7 < *(byte ***)(pbVar4 + 0x4b8))" (parenthesized_expression "(unaff_s5 != (byte *)0x0)" (( "(") (binary_expression "unaff_s5 != (byte *)0x0" (identifier "unaff_s5") (!= "!=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(unaff_s7 < *(byte ***)(pbVar4 + 0x4b8))" (( "(") (binary_expression "unaff_s7 < *(byte ***)(pbVar4 + 0x4b8)" (identifier "unaff_s7") (< "<") (pointer_expression "*(byte ***)(pbVar4 + 0x4b8)" (* "*") (cast_expression "(byte ***)(pbVar4 + 0x4b8)" (( "(") (type_descriptor "byte ***" (type_identifier "byte") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(pbVar4 + 0x4b8)" (( "(") (binary_expression "pbVar4 + 0x4b8" (identifier "pbVar4") (+ "+") (number_literal "0x4b8")) () ")"))))) () ")"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "FUN_000b2444(pbVar4);" (call_expression "FUN_000b2444(pbVar4)" (identifier "FUN_000b2444") (argument_list "(pbVar4)" (( "(") (identifier "pbVar4") () ")"))) (; ";")) (expression_statement "unaff_s7 = *(byte ***)pbVar4;" (assignment_expression "unaff_s7 = *(byte ***)pbVar4" (identifier "unaff_s7") (= "=") (pointer_expression "*(byte ***)pbVar4" (* "*") (cast_expression "(byte ***)pbVar4" (( "(") (type_descriptor "byte ***" (type_identifier "byte") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "pbVar4")))) (; ";")) (expression_statement "ppbVar22 = ppbVar23;" (assignment_expression "ppbVar22 = ppbVar23" (identifier "ppbVar22") (= "=") (identifier "ppbVar23")) (; ";")) (if_statement "if (unaff_s7 <= unaff_s1) goto LAB_000b2d18;" (if "if") (parenthesized_expression "(unaff_s7 <= unaff_s1)" (( "(") (binary_expression "unaff_s7 <= unaff_s1" (identifier "unaff_s7") (<= "<=") (identifier "unaff_s1")) () ")")) (goto_statement "goto LAB_000b2d18;" (goto "goto") (statement_identifier "LAB_000b2d18") (; ";"))) (expression_statement "pbVar9 = unaff_s2 + 0x2c;" (assignment_expression "pbVar9 = unaff_s2 + 0x2c" (identifier "pbVar9") (= "=") (binary_expression "unaff_s2 + 0x2c" (identifier "unaff_s2") (+ "+") (number_literal "0x2c"))) (; ";")) (expression_statement "ppbVar22 = (byte **)0x0;" (assignment_expression "ppbVar22 = (byte **)0x0" (identifier "ppbVar22") (= "=") (cast_expression "(byte **)0x0" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (} "}"))) (if_statement "if (ppbVar23 < (byte **)0x1c) {\n                    \n                    \n          iVar5 = (*(code *)(&_gp_1 + (int)ppbVar10[(int)(ppbVar22 + 0xcb)]))();\n          return iVar5;\n        }" (if "if") (parenthesized_expression "(ppbVar23 < (byte **)0x1c)" (( "(") (binary_expression "ppbVar23 < (byte **)0x1c" (identifier "ppbVar23") (< "<") (cast_expression "(byte **)0x1c" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x1c"))) () ")")) (compound_statement "{\n                    \n                    \n          iVar5 = (*(code *)(&_gp_1 + (int)ppbVar10[(int)(ppbVar22 + 0xcb)]))();\n          return iVar5;\n        }" ({ "{") (expression_statement "iVar5 = (*(code *)(&_gp_1 + (int)ppbVar10[(int)(ppbVar22 + 0xcb)]))();" (assignment_expression "iVar5 = (*(code *)(&_gp_1 + (int)ppbVar10[(int)(ppbVar22 + 0xcb)]))()" (identifier "iVar5") (= "=") (call_expression "(*(code *)(&_gp_1 + (int)ppbVar10[(int)(ppbVar22 + 0xcb)]))()" (parenthesized_expression "(*(code *)(&_gp_1 + (int)ppbVar10[(int)(ppbVar22 + 0xcb)]))" (( "(") (pointer_expression "*(code *)(&_gp_1 + (int)ppbVar10[(int)(ppbVar22 + 0xcb)])" (* "*") (cast_expression "(code *)(&_gp_1 + (int)ppbVar10[(int)(ppbVar22 + 0xcb)])" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&_gp_1 + (int)ppbVar10[(int)(ppbVar22 + 0xcb)])" (( "(") (binary_expression "&_gp_1 + (int)ppbVar10[(int)(ppbVar22 + 0xcb)]" (pointer_expression "&_gp_1" (& "&") (identifier "_gp_1")) (+ "+") (cast_expression "(int)ppbVar10[(int)(ppbVar22 + 0xcb)]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "ppbVar10[(int)(ppbVar22 + 0xcb)]" (identifier "ppbVar10") ([ "[") (cast_expression "(int)(ppbVar22 + 0xcb)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(ppbVar22 + 0xcb)" (( "(") (binary_expression "ppbVar22 + 0xcb" (identifier "ppbVar22") (+ "+") (number_literal "0xcb")) () ")"))) (] "]")))) () ")")))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (return_statement "return iVar5;" (return "return") (identifier "iVar5") (; ";")) (} "}"))) (expression_statement "pbVar20 = unaff_s6 + 0x499c;" (assignment_expression "pbVar20 = unaff_s6 + 0x499c" (identifier "pbVar20") (= "=") (binary_expression "unaff_s6 + 0x499c" (identifier "unaff_s6") (+ "+") (number_literal "0x499c"))) (; ";")) (expression_statement "bVar12 = *(byte *)(unaff_s7 + (int)unaff_s5 * 3);" (assignment_expression "bVar12 = *(byte *)(unaff_s7 + (int)unaff_s5 * 3)" (identifier "bVar12") (= "=") (pointer_expression "*(byte *)(unaff_s7 + (int)unaff_s5 * 3)" (* "*") (cast_expression "(byte *)(unaff_s7 + (int)unaff_s5 * 3)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_s7 + (int)unaff_s5 * 3)" (( "(") (binary_expression "unaff_s7 + (int)unaff_s5 * 3" (identifier "unaff_s7") (+ "+") (binary_expression "(int)unaff_s5 * 3" (cast_expression "(int)unaff_s5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s5")) (* "*") (number_literal "3"))) () ")"))))) (; ";")) (expression_statement "ppbVar17 = unaff_s7 + (int)unaff_s5 * 3 + 3;" (assignment_expression "ppbVar17 = unaff_s7 + (int)unaff_s5 * 3 + 3" (identifier "ppbVar17") (= "=") (binary_expression "unaff_s7 + (int)unaff_s5 * 3 + 3" (binary_expression "unaff_s7 + (int)unaff_s5 * 3" (identifier "unaff_s7") (+ "+") (binary_expression "(int)unaff_s5 * 3" (cast_expression "(int)unaff_s5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s5")) (* "*") (number_literal "3"))) (+ "+") (number_literal "3"))) (; ";")) (expression_statement "bVar1 = *(byte *)((int)(ppbVar10 + 0x122a) + (int)ppbVar23);" (assignment_expression "bVar1 = *(byte *)((int)(ppbVar10 + 0x122a) + (int)ppbVar23)" (identifier "bVar1") (= "=") (pointer_expression "*(byte *)((int)(ppbVar10 + 0x122a) + (int)ppbVar23)" (* "*") (cast_expression "(byte *)((int)(ppbVar10 + 0x122a) + (int)ppbVar23)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)(ppbVar10 + 0x122a) + (int)ppbVar23)" (( "(") (binary_expression "(int)(ppbVar10 + 0x122a) + (int)ppbVar23" (cast_expression "(int)(ppbVar10 + 0x122a)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(ppbVar10 + 0x122a)" (( "(") (binary_expression "ppbVar10 + 0x122a" (identifier "ppbVar10") (+ "+") (number_literal "0x122a")) () ")"))) (+ "+") (cast_expression "(int)ppbVar23" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppbVar23"))) () ")"))))) (; ";")) (expression_statement "*(byte ***)pbVar4 = ppbVar17;" (assignment_expression "*(byte ***)pbVar4 = ppbVar17" (pointer_expression "*(byte ***)pbVar4" (* "*") (cast_expression "(byte ***)pbVar4" (( "(") (type_descriptor "byte ***" (type_identifier "byte") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "pbVar4"))) (= "=") (identifier "ppbVar17")) (; ";")) (expression_statement "*(byte *)((int)ppbVar17 + 1) = bVar1;" (assignment_expression "*(byte *)((int)ppbVar17 + 1) = bVar1" (pointer_expression "*(byte *)((int)ppbVar17 + 1)" (* "*") (cast_expression "(byte *)((int)ppbVar17 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppbVar17 + 1)" (( "(") (binary_expression "(int)ppbVar17 + 1" (cast_expression "(int)ppbVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppbVar17")) (+ "+") (number_literal "1")) () ")")))) (= "=") (identifier "bVar1")) (; ";")) (expression_statement "ppbVar22 = (byte **)(uint)pbVar20[(uint)bVar1 +\n                                          (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)];" (assignment_expression "ppbVar22 = (byte **)(uint)pbVar20[(uint)bVar1 +\n                                          (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)]" (identifier "ppbVar22") (= "=") (cast_expression "(byte **)(uint)pbVar20[(uint)bVar1 +\n                                          (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)]" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (cast_expression "(uint)pbVar20[(uint)bVar1 +\n                                          (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "pbVar20[(uint)bVar1 +\n                                          (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)]" (identifier "pbVar20") ([ "[") (binary_expression "(uint)bVar1 +\n                                          (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)" (cast_expression "(uint)bVar1" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar1")) (+ "+") (cast_expression "(int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (pointer_expression "*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)" (* "*") (cast_expression "(byte *)((int)ppbVar10 + bVar12 + 0x48e8)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppbVar10 + bVar12 + 0x48e8)" (( "(") (binary_expression "(int)ppbVar10 + bVar12 + 0x48e8" (binary_expression "(int)ppbVar10 + bVar12" (cast_expression "(int)ppbVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppbVar10")) (+ "+") (identifier "bVar12")) (+ "+") (number_literal "0x48e8")) () ")"))))))) (] "]"))))) (; ";")) (expression_statement "*(byte *)ppbVar17 =\n             pbVar20[(uint)bVar1 + (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)];" (assignment_expression "*(byte *)ppbVar17 =\n             pbVar20[(uint)bVar1 + (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)]" (pointer_expression "*(byte *)ppbVar17" (* "*") (cast_expression "(byte *)ppbVar17" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "ppbVar17"))) (= "=") (subscript_expression "pbVar20[(uint)bVar1 + (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)]" (identifier "pbVar20") ([ "[") (binary_expression "(uint)bVar1 + (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)" (cast_expression "(uint)bVar1" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar1")) (+ "+") (cast_expression "(int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (pointer_expression "*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)" (* "*") (cast_expression "(byte *)((int)ppbVar10 + bVar12 + 0x48e8)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppbVar10 + bVar12 + 0x48e8)" (( "(") (binary_expression "(int)ppbVar10 + bVar12 + 0x48e8" (binary_expression "(int)ppbVar10 + bVar12" (cast_expression "(int)ppbVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppbVar10")) (+ "+") (identifier "bVar12")) (+ "+") (number_literal "0x48e8")) () ")"))))))) (] "]"))) (; ";")) (expression_statement "unaff_s7 = *(byte ***)pbVar4;" (assignment_expression "unaff_s7 = *(byte ***)pbVar4" (identifier "unaff_s7") (= "=") (pointer_expression "*(byte ***)pbVar4" (* "*") (cast_expression "(byte ***)pbVar4" (( "(") (type_descriptor "byte ***" (type_identifier "byte") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "pbVar4")))) (; ";")) (expression_statement "ppbVar17 = ppbVar10;" (assignment_expression "ppbVar17 = ppbVar10" (identifier "ppbVar17") (= "=") (identifier "ppbVar10")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(unaff_s1 < unaff_s7)" (( "(") (binary_expression "unaff_s1 < unaff_s7" (identifier "unaff_s1") (< "<") (identifier "unaff_s7")) () ")")) (; ";")) (labeled_statement "LAB_000b2d18:\n      if ((local_bc != 0) || (param_3 = local_110, unaff_s2 == (byte *)0x0)) goto LAB_000b2d2c;" (statement_identifier "LAB_000b2d18") (: ":") (if_statement "if ((local_bc != 0) || (param_3 = local_110, unaff_s2 == (byte *)0x0)) goto LAB_000b2d2c;" (if "if") (parenthesized_expression "((local_bc != 0) || (param_3 = local_110, unaff_s2 == (byte *)0x0))" (( "(") (binary_expression "(local_bc != 0) || (param_3 = local_110, unaff_s2 == (byte *)0x0)" (parenthesized_expression "(local_bc != 0)" (( "(") (binary_expression "local_bc != 0" (identifier "local_bc") (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(param_3 = local_110, unaff_s2 == (byte *)0x0)" (( "(") (comma_expression "param_3 = local_110, unaff_s2 == (byte *)0x0" (assignment_expression "param_3 = local_110" (identifier "param_3") (= "=") (identifier "local_110")) (, ",") (binary_expression "unaff_s2 == (byte *)0x0" (identifier "unaff_s2") (== "==") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (goto_statement "goto LAB_000b2d2c;" (goto "goto") (statement_identifier "LAB_000b2d2c") (; ";")))) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";"))) (} "}"))) (expression_statement "iVar5 = 7;" (assignment_expression "iVar5 = 7" (identifier "iVar5") (= "=") (number_literal "7")) (; ";")) (goto_statement "goto LAB_000b3294;" (goto "goto") (statement_identifier "LAB_000b3294") (; ";")) (labeled_statement "LAB_000b2d2c:\n  ppbVar10 = *(byte ***)pbVar4;" (statement_identifier "LAB_000b2d2c") (: ":") (expression_statement "ppbVar10 = *(byte ***)pbVar4;" (assignment_expression "ppbVar10 = *(byte ***)pbVar4" (identifier "ppbVar10") (= "=") (pointer_expression "*(byte ***)pbVar4" (* "*") (cast_expression "(byte ***)pbVar4" (( "(") (type_descriptor "byte ***" (type_identifier "byte") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "pbVar4")))) (; ";"))) (if_statement "if (unaff_s1 < ppbVar10) {\n    ppbVar22 = (byte **)(PTR_LAB_0015b6f8 + 0x23c0);\n    do {\n      ppbVar17 = ppbVar10 + 1;\n      *(byte ***)pbVar4 = ppbVar10 + -3;\n      FUN_000b23c0(*(byte *)((int)ppbVar10 + 1));\n      ppbVar10 = *(byte ***)pbVar4;\n    } while (unaff_s1 < ppbVar10);\n  }" (if "if") (parenthesized_expression "(unaff_s1 < ppbVar10)" (( "(") (binary_expression "unaff_s1 < ppbVar10" (identifier "unaff_s1") (< "<") (identifier "ppbVar10")) () ")")) (compound_statement "{\n    ppbVar22 = (byte **)(PTR_LAB_0015b6f8 + 0x23c0);\n    do {\n      ppbVar17 = ppbVar10 + 1;\n      *(byte ***)pbVar4 = ppbVar10 + -3;\n      FUN_000b23c0(*(byte *)((int)ppbVar10 + 1));\n      ppbVar10 = *(byte ***)pbVar4;\n    } while (unaff_s1 < ppbVar10);\n  }" ({ "{") (expression_statement "ppbVar22 = (byte **)(PTR_LAB_0015b6f8 + 0x23c0);" (assignment_expression "ppbVar22 = (byte **)(PTR_LAB_0015b6f8 + 0x23c0)" (identifier "ppbVar22") (= "=") (cast_expression "(byte **)(PTR_LAB_0015b6f8 + 0x23c0)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(PTR_LAB_0015b6f8 + 0x23c0)" (( "(") (binary_expression "PTR_LAB_0015b6f8 + 0x23c0" (identifier "PTR_LAB_0015b6f8") (+ "+") (number_literal "0x23c0")) () ")")))) (; ";")) (do_statement "do {\n      ppbVar17 = ppbVar10 + 1;\n      *(byte ***)pbVar4 = ppbVar10 + -3;\n      FUN_000b23c0(*(byte *)((int)ppbVar10 + 1));\n      ppbVar10 = *(byte ***)pbVar4;\n    } while (unaff_s1 < ppbVar10);" (do "do") (compound_statement "{\n      ppbVar17 = ppbVar10 + 1;\n      *(byte ***)pbVar4 = ppbVar10 + -3;\n      FUN_000b23c0(*(byte *)((int)ppbVar10 + 1));\n      ppbVar10 = *(byte ***)pbVar4;\n    }" ({ "{") (expression_statement "ppbVar17 = ppbVar10 + 1;" (assignment_expression "ppbVar17 = ppbVar10 + 1" (identifier "ppbVar17") (= "=") (binary_expression "ppbVar10 + 1" (identifier "ppbVar10") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(byte ***)pbVar4 = ppbVar10 + -3;" (assignment_expression "*(byte ***)pbVar4 = ppbVar10 + -3" (pointer_expression "*(byte ***)pbVar4" (* "*") (cast_expression "(byte ***)pbVar4" (( "(") (type_descriptor "byte ***" (type_identifier "byte") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "pbVar4"))) (= "=") (binary_expression "ppbVar10 + -3" (identifier "ppbVar10") (+ "+") (number_literal "-3"))) (; ";")) (expression_statement "FUN_000b23c0(*(byte *)((int)ppbVar10 + 1));" (call_expression "FUN_000b23c0(*(byte *)((int)ppbVar10 + 1))" (identifier "FUN_000b23c0") (argument_list "(*(byte *)((int)ppbVar10 + 1))" (( "(") (pointer_expression "*(byte *)((int)ppbVar10 + 1)" (* "*") (cast_expression "(byte *)((int)ppbVar10 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppbVar10 + 1)" (( "(") (binary_expression "(int)ppbVar10 + 1" (cast_expression "(int)ppbVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppbVar10")) (+ "+") (number_literal "1")) () ")")))) () ")"))) (; ";")) (expression_statement "ppbVar10 = *(byte ***)pbVar4;" (assignment_expression "ppbVar10 = *(byte ***)pbVar4" (identifier "ppbVar10") (= "=") (pointer_expression "*(byte ***)pbVar4" (* "*") (cast_expression "(byte ***)pbVar4" (( "(") (type_descriptor "byte ***" (type_identifier "byte") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "pbVar4")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(unaff_s1 < ppbVar10)" (( "(") (binary_expression "unaff_s1 < ppbVar10" (identifier "unaff_s1") (< "<") (identifier "ppbVar10")) () ")")) (; ";")) (} "}"))) (expression_statement "(*(code *)PTR_sqlite3_free_0015b620)(pbVar4);" (call_expression "(*(code *)PTR_sqlite3_free_0015b620)(pbVar4)" (parenthesized_expression "(*(code *)PTR_sqlite3_free_0015b620)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_free_0015b620" (* "*") (cast_expression "(code *)PTR_sqlite3_free_0015b620" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_free_0015b620"))) () ")")) (argument_list "(pbVar4)" (( "(") (identifier "pbVar4") () ")"))) (; ";")) (if_statement "if ((param_2 < (int)param_1[3]) && (local_b0 != (byte **)0x0)) {\n    if (local_bc == 0) {\n      pbVar21 = &DAT_00000008;\n      pbVar20 = (byte *)0x0;\n      pbVar24 = (byte *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc);\n      if (pbVar24 != (byte *)0x0) {\n        *(int *)(pbVar24 + 4) = param_2;\n        pbVar24[0] = 0;\n        pbVar24[1] = 0;\n        pbVar24[2] = 0;\n        pbVar24[3] = 1;\n        ppbVar17 = local_b0;\n        FUN_000970a0(&local_c4);\n        pbVar20 = pbVar24;\n      }\n      goto LAB_000b321c;\n    }\nLAB_000b2da8:\n    FUN_000b1f34(local_b0);\n  }\n  else {\nLAB_000b321c:\n    if (local_bc != 0) goto LAB_000b2da8;\n    ppbVar22 = (byte **)(*(code *)PTR_sqlite3_malloc_0015b640)(0x18);\n    *(byte ***)param_4 = ppbVar22;\n    if (ppbVar22 == (byte **)0x0) {\n      local_bc = 7;\n      goto LAB_000b2da8;\n    }\n    if (local_b0 == (byte **)0x0) {\n      if (local_bc == 0) {\n        pbVar21 = &DAT_00000028;\n        pbVar20 = (byte *)0x0;\n        pbVar24 = (byte *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc);\n        ppbVar22[2] = pbVar24;\n        if (pbVar24 != (byte *)0x0) {\n          pbVar24[4] = 0;\n          pbVar24[5] = 0;\n          pbVar24[6] = 0;\n          pbVar24[7] = 1;\n        }\n      }\n      else {\n        ppbVar22[2] = (byte *)0x0;\n      }\n    }\n    else {\n      ppbVar22[2] = (byte *)local_b0;\n    }\n    *ppbVar22 = (byte *)0x0;\n    ppbVar22[1] = (byte *)param_1;\n    ppbVar22[5] = local_b4;\n    ppbVar22[4] = local_b8;\n    local_b4 = (byte *)0x0;\n  }" (if "if") (parenthesized_expression "((param_2 < (int)param_1[3]) && (local_b0 != (byte **)0x0))" (( "(") (binary_expression "(param_2 < (int)param_1[3]) && (local_b0 != (byte **)0x0)" (parenthesized_expression "(param_2 < (int)param_1[3])" (( "(") (binary_expression "param_2 < (int)param_1[3]" (identifier "param_2") (< "<") (cast_expression "(int)param_1[3]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "param_1[3]" (identifier "param_1") ([ "[") (number_literal "3") (] "]")))) () ")")) (&& "&&") (parenthesized_expression "(local_b0 != (byte **)0x0)" (( "(") (binary_expression "local_b0 != (byte **)0x0" (identifier "local_b0") (!= "!=") (cast_expression "(byte **)0x0" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")"))) () ")")) (compound_statement "{\n    if (local_bc == 0) {\n      pbVar21 = &DAT_00000008;\n      pbVar20 = (byte *)0x0;\n      pbVar24 = (byte *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc);\n      if (pbVar24 != (byte *)0x0) {\n        *(int *)(pbVar24 + 4) = param_2;\n        pbVar24[0] = 0;\n        pbVar24[1] = 0;\n        pbVar24[2] = 0;\n        pbVar24[3] = 1;\n        ppbVar17 = local_b0;\n        FUN_000970a0(&local_c4);\n        pbVar20 = pbVar24;\n      }\n      goto LAB_000b321c;\n    }\nLAB_000b2da8:\n    FUN_000b1f34(local_b0);\n  }" ({ "{") (if_statement "if (local_bc == 0) {\n      pbVar21 = &DAT_00000008;\n      pbVar20 = (byte *)0x0;\n      pbVar24 = (byte *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc);\n      if (pbVar24 != (byte *)0x0) {\n        *(int *)(pbVar24 + 4) = param_2;\n        pbVar24[0] = 0;\n        pbVar24[1] = 0;\n        pbVar24[2] = 0;\n        pbVar24[3] = 1;\n        ppbVar17 = local_b0;\n        FUN_000970a0(&local_c4);\n        pbVar20 = pbVar24;\n      }\n      goto LAB_000b321c;\n    }" (if "if") (parenthesized_expression "(local_bc == 0)" (( "(") (binary_expression "local_bc == 0" (identifier "local_bc") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      pbVar21 = &DAT_00000008;\n      pbVar20 = (byte *)0x0;\n      pbVar24 = (byte *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc);\n      if (pbVar24 != (byte *)0x0) {\n        *(int *)(pbVar24 + 4) = param_2;\n        pbVar24[0] = 0;\n        pbVar24[1] = 0;\n        pbVar24[2] = 0;\n        pbVar24[3] = 1;\n        ppbVar17 = local_b0;\n        FUN_000970a0(&local_c4);\n        pbVar20 = pbVar24;\n      }\n      goto LAB_000b321c;\n    }" ({ "{") (expression_statement "pbVar21 = &DAT_00000008;" (assignment_expression "pbVar21 = &DAT_00000008" (identifier "pbVar21") (= "=") (pointer_expression "&DAT_00000008" (& "&") (identifier "DAT_00000008"))) (; ";")) (expression_statement "pbVar20 = (byte *)0x0;" (assignment_expression "pbVar20 = (byte *)0x0" (identifier "pbVar20") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pbVar24 = (byte *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc);" (assignment_expression "pbVar24 = (byte *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc)" (identifier "pbVar24") (= "=") (cast_expression "(byte *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b700 + 0x108c))" (( "(") (pointer_expression "*(code *)(PTR_LAB_0015b700 + 0x108c)" (* "*") (cast_expression "(code *)(PTR_LAB_0015b700 + 0x108c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_0015b700 + 0x108c)" (( "(") (binary_expression "PTR_LAB_0015b700 + 0x108c" (identifier "PTR_LAB_0015b700") (+ "+") (number_literal "0x108c")) () ")")))) () ")")) (argument_list "(&local_bc)" (( "(") (pointer_expression "&local_bc" (& "&") (identifier "local_bc")) () ")"))))) (; ";")) (if_statement "if (pbVar24 != (byte *)0x0) {\n        *(int *)(pbVar24 + 4) = param_2;\n        pbVar24[0] = 0;\n        pbVar24[1] = 0;\n        pbVar24[2] = 0;\n        pbVar24[3] = 1;\n        ppbVar17 = local_b0;\n        FUN_000970a0(&local_c4);\n        pbVar20 = pbVar24;\n      }" (if "if") (parenthesized_expression "(pbVar24 != (byte *)0x0)" (( "(") (binary_expression "pbVar24 != (byte *)0x0" (identifier "pbVar24") (!= "!=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        *(int *)(pbVar24 + 4) = param_2;\n        pbVar24[0] = 0;\n        pbVar24[1] = 0;\n        pbVar24[2] = 0;\n        pbVar24[3] = 1;\n        ppbVar17 = local_b0;\n        FUN_000970a0(&local_c4);\n        pbVar20 = pbVar24;\n      }" ({ "{") (expression_statement "*(int *)(pbVar24 + 4) = param_2;" (assignment_expression "*(int *)(pbVar24 + 4) = param_2" (pointer_expression "*(int *)(pbVar24 + 4)" (* "*") (cast_expression "(int *)(pbVar24 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pbVar24 + 4)" (( "(") (binary_expression "pbVar24 + 4" (identifier "pbVar24") (+ "+") (number_literal "4")) () ")")))) (= "=") (identifier "param_2")) (; ";")) (expression_statement "pbVar24[0] = 0;" (assignment_expression "pbVar24[0] = 0" (subscript_expression "pbVar24[0]" (identifier "pbVar24") ([ "[") (number_literal "0") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "pbVar24[1] = 0;" (assignment_expression "pbVar24[1] = 0" (subscript_expression "pbVar24[1]" (identifier "pbVar24") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "pbVar24[2] = 0;" (assignment_expression "pbVar24[2] = 0" (subscript_expression "pbVar24[2]" (identifier "pbVar24") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "pbVar24[3] = 1;" (assignment_expression "pbVar24[3] = 1" (subscript_expression "pbVar24[3]" (identifier "pbVar24") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "ppbVar17 = local_b0;" (assignment_expression "ppbVar17 = local_b0" (identifier "ppbVar17") (= "=") (identifier "local_b0")) (; ";")) (expression_statement "FUN_000970a0(&local_c4);" (call_expression "FUN_000970a0(&local_c4)" (identifier "FUN_000970a0") (argument_list "(&local_c4)" (( "(") (pointer_expression "&local_c4" (& "&") (identifier "local_c4")) () ")"))) (; ";")) (expression_statement "pbVar20 = pbVar24;" (assignment_expression "pbVar20 = pbVar24" (identifier "pbVar20") (= "=") (identifier "pbVar24")) (; ";")) (} "}"))) (goto_statement "goto LAB_000b321c;" (goto "goto") (statement_identifier "LAB_000b321c") (; ";")) (} "}"))) (labeled_statement "LAB_000b2da8:\n    FUN_000b1f34(local_b0);" (statement_identifier "LAB_000b2da8") (: ":") (expression_statement "FUN_000b1f34(local_b0);" (call_expression "FUN_000b1f34(local_b0)" (identifier "FUN_000b1f34") (argument_list "(local_b0)" (( "(") (identifier "local_b0") () ")"))) (; ";"))) (} "}")) (else_clause "else {\nLAB_000b321c:\n    if (local_bc != 0) goto LAB_000b2da8;\n    ppbVar22 = (byte **)(*(code *)PTR_sqlite3_malloc_0015b640)(0x18);\n    *(byte ***)param_4 = ppbVar22;\n    if (ppbVar22 == (byte **)0x0) {\n      local_bc = 7;\n      goto LAB_000b2da8;\n    }\n    if (local_b0 == (byte **)0x0) {\n      if (local_bc == 0) {\n        pbVar21 = &DAT_00000028;\n        pbVar20 = (byte *)0x0;\n        pbVar24 = (byte *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc);\n        ppbVar22[2] = pbVar24;\n        if (pbVar24 != (byte *)0x0) {\n          pbVar24[4] = 0;\n          pbVar24[5] = 0;\n          pbVar24[6] = 0;\n          pbVar24[7] = 1;\n        }\n      }\n      else {\n        ppbVar22[2] = (byte *)0x0;\n      }\n    }\n    else {\n      ppbVar22[2] = (byte *)local_b0;\n    }\n    *ppbVar22 = (byte *)0x0;\n    ppbVar22[1] = (byte *)param_1;\n    ppbVar22[5] = local_b4;\n    ppbVar22[4] = local_b8;\n    local_b4 = (byte *)0x0;\n  }" (else "else") (compound_statement "{\nLAB_000b321c:\n    if (local_bc != 0) goto LAB_000b2da8;\n    ppbVar22 = (byte **)(*(code *)PTR_sqlite3_malloc_0015b640)(0x18);\n    *(byte ***)param_4 = ppbVar22;\n    if (ppbVar22 == (byte **)0x0) {\n      local_bc = 7;\n      goto LAB_000b2da8;\n    }\n    if (local_b0 == (byte **)0x0) {\n      if (local_bc == 0) {\n        pbVar21 = &DAT_00000028;\n        pbVar20 = (byte *)0x0;\n        pbVar24 = (byte *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc);\n        ppbVar22[2] = pbVar24;\n        if (pbVar24 != (byte *)0x0) {\n          pbVar24[4] = 0;\n          pbVar24[5] = 0;\n          pbVar24[6] = 0;\n          pbVar24[7] = 1;\n        }\n      }\n      else {\n        ppbVar22[2] = (byte *)0x0;\n      }\n    }\n    else {\n      ppbVar22[2] = (byte *)local_b0;\n    }\n    *ppbVar22 = (byte *)0x0;\n    ppbVar22[1] = (byte *)param_1;\n    ppbVar22[5] = local_b4;\n    ppbVar22[4] = local_b8;\n    local_b4 = (byte *)0x0;\n  }" ({ "{") (labeled_statement "LAB_000b321c:\n    if (local_bc != 0) goto LAB_000b2da8;" (statement_identifier "LAB_000b321c") (: ":") (if_statement "if (local_bc != 0) goto LAB_000b2da8;" (if "if") (parenthesized_expression "(local_bc != 0)" (( "(") (binary_expression "local_bc != 0" (identifier "local_bc") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_000b2da8;" (goto "goto") (statement_identifier "LAB_000b2da8") (; ";")))) (expression_statement "ppbVar22 = (byte **)(*(code *)PTR_sqlite3_malloc_0015b640)(0x18);" (assignment_expression "ppbVar22 = (byte **)(*(code *)PTR_sqlite3_malloc_0015b640)(0x18)" (identifier "ppbVar22") (= "=") (cast_expression "(byte **)(*(code *)PTR_sqlite3_malloc_0015b640)(0x18)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (call_expression "(*(code *)PTR_sqlite3_malloc_0015b640)(0x18)" (parenthesized_expression "(*(code *)PTR_sqlite3_malloc_0015b640)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_malloc_0015b640" (* "*") (cast_expression "(code *)PTR_sqlite3_malloc_0015b640" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_malloc_0015b640"))) () ")")) (argument_list "(0x18)" (( "(") (number_literal "0x18") () ")"))))) (; ";")) (expression_statement "*(byte ***)param_4 = ppbVar22;" (assignment_expression "*(byte ***)param_4 = ppbVar22" (pointer_expression "*(byte ***)param_4" (* "*") (cast_expression "(byte ***)param_4" (( "(") (type_descriptor "byte ***" (type_identifier "byte") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (identifier "param_4"))) (= "=") (identifier "ppbVar22")) (; ";")) (if_statement "if (ppbVar22 == (byte **)0x0) {\n      local_bc = 7;\n      goto LAB_000b2da8;\n    }" (if "if") (parenthesized_expression "(ppbVar22 == (byte **)0x0)" (( "(") (binary_expression "ppbVar22 == (byte **)0x0" (identifier "ppbVar22") (== "==") (cast_expression "(byte **)0x0" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      local_bc = 7;\n      goto LAB_000b2da8;\n    }" ({ "{") (expression_statement "local_bc = 7;" (assignment_expression "local_bc = 7" (identifier "local_bc") (= "=") (number_literal "7")) (; ";")) (goto_statement "goto LAB_000b2da8;" (goto "goto") (statement_identifier "LAB_000b2da8") (; ";")) (} "}"))) (if_statement "if (local_b0 == (byte **)0x0) {\n      if (local_bc == 0) {\n        pbVar21 = &DAT_00000028;\n        pbVar20 = (byte *)0x0;\n        pbVar24 = (byte *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc);\n        ppbVar22[2] = pbVar24;\n        if (pbVar24 != (byte *)0x0) {\n          pbVar24[4] = 0;\n          pbVar24[5] = 0;\n          pbVar24[6] = 0;\n          pbVar24[7] = 1;\n        }\n      }\n      else {\n        ppbVar22[2] = (byte *)0x0;\n      }\n    }\n    else {\n      ppbVar22[2] = (byte *)local_b0;\n    }" (if "if") (parenthesized_expression "(local_b0 == (byte **)0x0)" (( "(") (binary_expression "local_b0 == (byte **)0x0" (identifier "local_b0") (== "==") (cast_expression "(byte **)0x0" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      if (local_bc == 0) {\n        pbVar21 = &DAT_00000028;\n        pbVar20 = (byte *)0x0;\n        pbVar24 = (byte *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc);\n        ppbVar22[2] = pbVar24;\n        if (pbVar24 != (byte *)0x0) {\n          pbVar24[4] = 0;\n          pbVar24[5] = 0;\n          pbVar24[6] = 0;\n          pbVar24[7] = 1;\n        }\n      }\n      else {\n        ppbVar22[2] = (byte *)0x0;\n      }\n    }" ({ "{") (if_statement "if (local_bc == 0) {\n        pbVar21 = &DAT_00000028;\n        pbVar20 = (byte *)0x0;\n        pbVar24 = (byte *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc);\n        ppbVar22[2] = pbVar24;\n        if (pbVar24 != (byte *)0x0) {\n          pbVar24[4] = 0;\n          pbVar24[5] = 0;\n          pbVar24[6] = 0;\n          pbVar24[7] = 1;\n        }\n      }\n      else {\n        ppbVar22[2] = (byte *)0x0;\n      }" (if "if") (parenthesized_expression "(local_bc == 0)" (( "(") (binary_expression "local_bc == 0" (identifier "local_bc") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        pbVar21 = &DAT_00000028;\n        pbVar20 = (byte *)0x0;\n        pbVar24 = (byte *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc);\n        ppbVar22[2] = pbVar24;\n        if (pbVar24 != (byte *)0x0) {\n          pbVar24[4] = 0;\n          pbVar24[5] = 0;\n          pbVar24[6] = 0;\n          pbVar24[7] = 1;\n        }\n      }" ({ "{") (expression_statement "pbVar21 = &DAT_00000028;" (assignment_expression "pbVar21 = &DAT_00000028" (identifier "pbVar21") (= "=") (pointer_expression "&DAT_00000028" (& "&") (identifier "DAT_00000028"))) (; ";")) (expression_statement "pbVar20 = (byte *)0x0;" (assignment_expression "pbVar20 = (byte *)0x0" (identifier "pbVar20") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pbVar24 = (byte *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc);" (assignment_expression "pbVar24 = (byte *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc)" (identifier "pbVar24") (= "=") (cast_expression "(byte *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc)" (parenthesized_expression "(*(code *)(PTR_LAB_0015b700 + 0x108c))" (( "(") (pointer_expression "*(code *)(PTR_LAB_0015b700 + 0x108c)" (* "*") (cast_expression "(code *)(PTR_LAB_0015b700 + 0x108c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_0015b700 + 0x108c)" (( "(") (binary_expression "PTR_LAB_0015b700 + 0x108c" (identifier "PTR_LAB_0015b700") (+ "+") (number_literal "0x108c")) () ")")))) () ")")) (argument_list "(&local_bc)" (( "(") (pointer_expression "&local_bc" (& "&") (identifier "local_bc")) () ")"))))) (; ";")) (expression_statement "ppbVar22[2] = pbVar24;" (assignment_expression "ppbVar22[2] = pbVar24" (subscript_expression "ppbVar22[2]" (identifier "ppbVar22") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "pbVar24")) (; ";")) (if_statement "if (pbVar24 != (byte *)0x0) {\n          pbVar24[4] = 0;\n          pbVar24[5] = 0;\n          pbVar24[6] = 0;\n          pbVar24[7] = 1;\n        }" (if "if") (parenthesized_expression "(pbVar24 != (byte *)0x0)" (( "(") (binary_expression "pbVar24 != (byte *)0x0" (identifier "pbVar24") (!= "!=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          pbVar24[4] = 0;\n          pbVar24[5] = 0;\n          pbVar24[6] = 0;\n          pbVar24[7] = 1;\n        }" ({ "{") (expression_statement "pbVar24[4] = 0;" (assignment_expression "pbVar24[4] = 0" (subscript_expression "pbVar24[4]" (identifier "pbVar24") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "pbVar24[5] = 0;" (assignment_expression "pbVar24[5] = 0" (subscript_expression "pbVar24[5]" (identifier "pbVar24") ([ "[") (number_literal "5") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "pbVar24[6] = 0;" (assignment_expression "pbVar24[6] = 0" (subscript_expression "pbVar24[6]" (identifier "pbVar24") ([ "[") (number_literal "6") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "pbVar24[7] = 1;" (assignment_expression "pbVar24[7] = 1" (subscript_expression "pbVar24[7]" (identifier "pbVar24") ([ "[") (number_literal "7") (] "]")) (= "=") (number_literal "1")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n        ppbVar22[2] = (byte *)0x0;\n      }" (else "else") (compound_statement "{\n        ppbVar22[2] = (byte *)0x0;\n      }" ({ "{") (expression_statement "ppbVar22[2] = (byte *)0x0;" (assignment_expression "ppbVar22[2] = (byte *)0x0" (subscript_expression "ppbVar22[2]" (identifier "ppbVar22") ([ "[") (number_literal "2") (] "]")) (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n      ppbVar22[2] = (byte *)local_b0;\n    }" (else "else") (compound_statement "{\n      ppbVar22[2] = (byte *)local_b0;\n    }" ({ "{") (expression_statement "ppbVar22[2] = (byte *)local_b0;" (assignment_expression "ppbVar22[2] = (byte *)local_b0" (subscript_expression "ppbVar22[2]" (identifier "ppbVar22") ([ "[") (number_literal "2") (] "]")) (= "=") (cast_expression "(byte *)local_b0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_b0"))) (; ";")) (} "}")))) (expression_statement "*ppbVar22 = (byte *)0x0;" (assignment_expression "*ppbVar22 = (byte *)0x0" (pointer_expression "*ppbVar22" (* "*") (identifier "ppbVar22")) (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "ppbVar22[1] = (byte *)param_1;" (assignment_expression "ppbVar22[1] = (byte *)param_1" (subscript_expression "ppbVar22[1]" (identifier "ppbVar22") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(byte *)param_1" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_1"))) (; ";")) (expression_statement "ppbVar22[5] = local_b4;" (assignment_expression "ppbVar22[5] = local_b4" (subscript_expression "ppbVar22[5]" (identifier "ppbVar22") ([ "[") (number_literal "5") (] "]")) (= "=") (identifier "local_b4")) (; ";")) (expression_statement "ppbVar22[4] = local_b8;" (assignment_expression "ppbVar22[4] = local_b8" (subscript_expression "ppbVar22[4]" (identifier "ppbVar22") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "local_b8")) (; ";")) (expression_statement "local_b4 = (byte *)0x0;" (assignment_expression "local_b4 = (byte *)0x0" (identifier "local_b4") (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")))) (expression_statement "(*(code *)PTR_sqlite3_free_0015b620)(local_b4);" (call_expression "(*(code *)PTR_sqlite3_free_0015b620)(local_b4)" (parenthesized_expression "(*(code *)PTR_sqlite3_free_0015b620)" (( "(") (pointer_expression "*(code *)PTR_sqlite3_free_0015b620" (* "*") (cast_expression "(code *)PTR_sqlite3_free_0015b620" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sqlite3_free_0015b620"))) () ")")) (argument_list "(local_b4)" (( "(") (identifier "local_b4") () ")"))) (; ";")) (expression_statement "*param_5 = local_c0;" (assignment_expression "*param_5 = local_c0" (pointer_expression "*param_5" (* "*") (identifier "param_5")) (= "=") (identifier "local_c0")) (; ";")) (expression_statement "iVar5 = local_bc;" (assignment_expression "iVar5 = local_bc" (identifier "iVar5") (= "=") (identifier "local_bc")) (; ";")) (expression_statement "param_1 = ppbVar22;" (assignment_expression "param_1 = ppbVar22" (identifier "param_1") (= "=") (identifier "ppbVar22")) (; ";")) (expression_statement "unaff_s3 = unaff_s2;" (assignment_expression "unaff_s3 = unaff_s2" (identifier "unaff_s3") (= "=") (identifier "unaff_s2")) (; ";")) (expression_statement "unaff_s8 = pbVar4;" (assignment_expression "unaff_s8 = pbVar4" (identifier "unaff_s8") (= "=") (identifier "pbVar4")) (; ";")) (labeled_statement "LAB_000b3294:\n  if (local_2c == *(byte **)puVar3) {\n    return iVar5;\n  }" (statement_identifier "LAB_000b3294") (: ":") (if_statement "if (local_2c == *(byte **)puVar3) {\n    return iVar5;\n  }" (if "if") (parenthesized_expression "(local_2c == *(byte **)puVar3)" (( "(") (binary_expression "local_2c == *(byte **)puVar3" (identifier "local_2c") (== "==") (pointer_expression "*(byte **)puVar3" (* "*") (cast_expression "(byte **)puVar3" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar3")))) () ")")) (compound_statement "{\n    return iVar5;\n  }" ({ "{") (return_statement "return iVar5;" (return "return") (identifier "iVar5") (; ";")) (} "}")))) (expression_statement "uVar19 = 0xb37f8;" (assignment_expression "uVar19 = 0xb37f8" (identifier "uVar19") (= "=") (number_literal "0xb37f8")) (; ";")) (expression_statement "pbVar4 = local_2c;" (assignment_expression "pbVar4 = local_2c" (identifier "pbVar4") (= "=") (identifier "local_2c")) (; ";")) (expression_statement "puVar7 = PTR___stack_chk_fail_0015ba10;" (assignment_expression "puVar7 = PTR___stack_chk_fail_0015ba10" (identifier "puVar7") (= "=") (identifier "PTR___stack_chk_fail_0015ba10")) (; ";")) (expression_statement "(*(code *)PTR___stack_chk_fail_0015ba10)();" (call_expression "(*(code *)PTR___stack_chk_fail_0015ba10)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0015ba10)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_0015ba10" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_0015ba10" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_0015ba10"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar25 = auStack_138;" (assignment_expression "puVar25 = auStack_138" (identifier "puVar25") (= "=") (identifier "auStack_138")) (; ";")) (do_statement "do {\n    pbVar9 = pbVar21;\n    pbVar24 = pbVar4;\n    pcVar13 = *(code **)(puVar7 + 0xa7ed0);\n    *(byte **)(puVar25 + -0x20) = unaff_s2;\n    *(undefined **)(puVar25 + -0x50) = puVar7 + 0xafdb8;\n    *(undefined4 *)(puVar25 + -4) = uVar19;\n    *(byte ***)(puVar25 + -0xc) = unaff_s7;\n    *(byte **)(puVar25 + -0x10) = unaff_s6;\n    *(byte **)(puVar25 + -0x18) = unaff_s4;\n    *(byte **)(puVar25 + -0x1c) = unaff_s3;\n    *(byte **)(puVar25 + -8) = unaff_s8;\n    *(byte **)(puVar25 + -0x14) = unaff_s5;\n    *(byte ***)(puVar25 + -0x24) = unaff_s1;\n    *(byte ***)(puVar25 + -0x28) = param_1;\n    unaff_s2 = *(byte **)(puVar7 + 0xa8234);\n    *(undefined4 *)(puVar25 + -0x2c) = *(undefined4 *)unaff_s2;\n    pbVar21 = pbVar20;\n    uVar19 = (*pcVar13)();\n    pcVar13 = *(code **)(*(int *)(puVar25 + -0x50) + -0x7ed0);\n    *(undefined4 *)(puVar25 + -0x44) = uVar19;\n    uVar19 = (*pcVar13)(pbVar24);\n    iVar5 = *(int *)(puVar25 + -0x50);\n    *(undefined4 *)(puVar25 + -0x40) = uVar19;\n    *(undefined4 *)(puVar25 + -0x38) = 0;\n    *(undefined4 *)(puVar25 + -0x34) = 0;\n    *(undefined4 *)(puVar25 + -0x30) = 0;\n    unaff_s3 = pbVar20;\n    unaff_s7 = ppbVar17;\n    if ((int)ppbVar17 < 1) {\n      if (pbVar9 == (byte *)0x0) {\n        iVar11 = *(int *)(iVar5 + -0x7fb4) + -0x705c;\n      }\n      else {\n        iVar11 = *(int *)(iVar5 + -0x7fb4) + -0x706c;\n      }\n      ppbVar22 = (byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fb4) + -0x7048,iVar11)\n      ;\n      pbVar21 = (byte *)0xffffffff;\n      *(byte ***)(puVar25 + -0x38) = ppbVar22;\n      (**(code **)(*(int *)(puVar25 + -0x50) + -0x7e40))(pbVar24);\n      pbVar4 = *(byte **)(puVar25 + -0x38);\n      (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))();\n      iVar5 = *(int *)(puVar25 + -0x50);\n    }\n    else {\n      if (pbVar9 == (byte *)0x0) {\n        param_1 = (byte **)0x1;\n        *(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050;\nLAB_000b38a0:\n        unaff_s5 = (byte *)((int)ppbVar17 + (3 - (int)param_1));\n        ppbVar22 = (byte **)((int)unaff_s5 * 4);\n        unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (unaff_s1 == (byte **)0x0) {\nLAB_000b3a30:\n          pbVar4 = pbVar24;\n          (**(code **)(iVar5 + -0x7e2c))();\n          iVar5 = *(int *)(puVar25 + -0x50);\n          goto LAB_000b39d4;\n        }\n        *unaff_s1 = (byte *)0x0;\n        unaff_s1[1] = (byte *)(*(int *)(iVar5 + -0x7fc8) + 0x538c);\n        unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c);\n        if ((int)param_1 < (int)ppbVar17) {\n          unaff_s8 = pbVar20 + (int)param_1 * 4;\n          iVar11 = (int)ppbVar17 * 4;\n          ppbVar22 = unaff_s1 + 3;\n          do {\n            ppbVar17 = ppbVar22 + 1;\n            uVar19 = *(undefined4 *)unaff_s8;\n            unaff_s8 = unaff_s8 + 4;\n            pbVar21 = (byte *)(**(code **)(iVar5 + -0x7f9c))(uVar19);\n            iVar5 = *(int *)(puVar25 + -0x50);\n            *ppbVar22 = pbVar21;\n            ppbVar22 = ppbVar17;\n          } while (pbVar20 + iVar11 != unaff_s8);\n        }\n      }\n      else {\n        if (ppbVar17 != (byte **)0x1) {\n          param_1 = (byte **)&SUB_00000002;\n          uVar19 = (**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)(pbVar20 + 4));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          *(undefined4 *)(puVar25 + -0x3c) = uVar19;\n          goto LAB_000b38a0;\n        }\n        ppbVar22 = (byte **)&DAT_0000000c;\n        unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (unaff_s1 == (byte **)0x0) goto LAB_000b3a30;\n        iVar11 = *(int *)(iVar5 + -0x7fc8);\n        unaff_s5 = (byte *)0x3;\n        *unaff_s1 = (byte *)0x0;\n        unaff_s1[1] = (byte *)(iVar11 + 0x538c);\n        *(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050;\n        unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c);\n      }\n      param_1 = (byte **)(puVar25 + -0x38);\n      unaff_s3 = (byte *)(**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)pbVar20);\n      *(byte ***)(puVar25 + -0x54) = param_1;\n      *(undefined1 **)(puVar25 + -0x58) = puVar25 + -0x30;\n      pbVar21 = unaff_s5;\n      ppbVar22 = (byte **)FUN_000961e8(*(undefined4 *)(puVar25 + -0x44),\n                                       *(undefined4 *)(puVar25 + -0x40),unaff_s5,unaff_s1);\n      iVar5 = *(int *)(puVar25 + -0x50);\n      if (ppbVar22 == (byte **)0x0) {\n        uVar19 = *(undefined4 *)(*(int *)(puVar25 + -0x30) + 0xc);\n        *(byte ***)(puVar25 + -0x58) = param_1;\n        pbVar20 = unaff_s3;\n        ppbVar22 = (byte **)FUN_000b2950(*(int *)(puVar25 + -0x30),uVar19,unaff_s3,puVar25 + -0x34);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        pbVar21 = pbVar20;\n        if (ppbVar22 != (byte **)0x0) goto LAB_000b3964;\n        pbVar21 = *(byte **)(*(int *)(puVar25 + -0x34) + 8);\n        if (*(int *)(pbVar21 + 0xc) == 0) {\n          param_1 = (byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fc8) + 0x53f4);\n          iVar5 = *(int *)(puVar25 + -0x50);\nLAB_000b3aa4:\n          ppbVar10 = *(byte ***)(puVar25 + -0x38);\n          pbVar21 = pbVar20;\n          if (param_1 != (byte **)0x0) goto LAB_000b3aac;\nLAB_000b3b54:\n          ppbVar22 = (byte **)&DAT_00000007;\n          if (ppbVar10 == (byte **)0x0) {\n            pcVar13 = *(code **)(iVar5 + -0x7e34);\n            goto LAB_000b3b60;\n          }\n          goto LAB_000b3970;\n        }\n        if (pbVar9 == (byte *)0x0) {\n          param_1 = (byte **)FUN_00097660();\n          iVar5 = *(int *)(puVar25 + -0x50);\n          goto LAB_000b3aa4;\n        }\n        param_1 = (byte **)FUN_00097234(*(undefined4 *)(puVar25 + -0x30),\n                                        *(undefined4 *)(puVar25 + -0x3c));\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (param_1 == (byte **)0x0) {\n          ppbVar10 = *(byte ***)(puVar25 + -0x38);\n          goto LAB_000b3b54;\n        }\nLAB_000b3aac:\n        pbVar21 = (byte *)0xffffffff;\n        ppbVar22 = param_1;\n        (**(code **)(iVar5 + -0x7f34))(pbVar24,param_1,0xffffffff,0xffffffff);\n        (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(param_1);\n        iVar5 = *(int *)(puVar25 + -0x50);\n      }\n      else {\nLAB_000b3964:\n        ppbVar10 = *(byte ***)(puVar25 + -0x38);\n        pcVar13 = *(code **)(iVar5 + -0x7e34);\n        if (ppbVar10 == (byte **)0x0) {\nLAB_000b3b60:\n          (*pcVar13)(pbVar24);\n          iVar5 = *(int *)(puVar25 + -0x50);\n        }\n        else {\nLAB_000b3970:\n          pbVar21 = (byte *)0xffffffff;\n          (**(code **)(iVar5 + -0x7e40))(pbVar24);\n          (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(*(undefined4 *)(puVar25 + -0x38));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          ppbVar22 = ppbVar10;\n        }\n      }\n      (**(code **)(iVar5 + -0x7f90))(unaff_s1);\n      (*(code *)(*(int *)(*(int *)(puVar25 + -0x50) + -0x7ef0) + -0xe08))\n                (*(undefined4 *)(puVar25 + -0x30));\n      pbVar4 = *(byte **)(puVar25 + -0x34);\n      iVar5 = *(int *)(puVar25 + -0x50);\n      unaff_s7 = ppbVar17;\n      if (pbVar4 != (byte *)0x0) {\n        FUN_000b1fe4();\n        iVar5 = *(int *)(puVar25 + -0x50);\n      }\n    }\nLAB_000b39d4:\n    if (*(int *)(puVar25 + -0x2c) == *(int *)unaff_s2) {\n      return *(int *)unaff_s2;\n    }\n    pcVar13 = *(code **)(iVar5 + -0x7ba0);\n    uVar19 = 0xb3bf0;\n    (*pcVar13)();\n    puVar7 = (undefined *)(*(int *)(pcVar13 + 0xa7b08) + 0x37f8);\n    ppbVar17 = ppbVar22;\n    pbVar20 = pbVar21;\n    pbVar21 = (byte *)0x1;\n    unaff_s4 = pbVar24;\n    unaff_s6 = pbVar9;\n    puVar25 = puVar25 + -0x68;\n  } while( true );" (do "do") (compound_statement "{\n    pbVar9 = pbVar21;\n    pbVar24 = pbVar4;\n    pcVar13 = *(code **)(puVar7 + 0xa7ed0);\n    *(byte **)(puVar25 + -0x20) = unaff_s2;\n    *(undefined **)(puVar25 + -0x50) = puVar7 + 0xafdb8;\n    *(undefined4 *)(puVar25 + -4) = uVar19;\n    *(byte ***)(puVar25 + -0xc) = unaff_s7;\n    *(byte **)(puVar25 + -0x10) = unaff_s6;\n    *(byte **)(puVar25 + -0x18) = unaff_s4;\n    *(byte **)(puVar25 + -0x1c) = unaff_s3;\n    *(byte **)(puVar25 + -8) = unaff_s8;\n    *(byte **)(puVar25 + -0x14) = unaff_s5;\n    *(byte ***)(puVar25 + -0x24) = unaff_s1;\n    *(byte ***)(puVar25 + -0x28) = param_1;\n    unaff_s2 = *(byte **)(puVar7 + 0xa8234);\n    *(undefined4 *)(puVar25 + -0x2c) = *(undefined4 *)unaff_s2;\n    pbVar21 = pbVar20;\n    uVar19 = (*pcVar13)();\n    pcVar13 = *(code **)(*(int *)(puVar25 + -0x50) + -0x7ed0);\n    *(undefined4 *)(puVar25 + -0x44) = uVar19;\n    uVar19 = (*pcVar13)(pbVar24);\n    iVar5 = *(int *)(puVar25 + -0x50);\n    *(undefined4 *)(puVar25 + -0x40) = uVar19;\n    *(undefined4 *)(puVar25 + -0x38) = 0;\n    *(undefined4 *)(puVar25 + -0x34) = 0;\n    *(undefined4 *)(puVar25 + -0x30) = 0;\n    unaff_s3 = pbVar20;\n    unaff_s7 = ppbVar17;\n    if ((int)ppbVar17 < 1) {\n      if (pbVar9 == (byte *)0x0) {\n        iVar11 = *(int *)(iVar5 + -0x7fb4) + -0x705c;\n      }\n      else {\n        iVar11 = *(int *)(iVar5 + -0x7fb4) + -0x706c;\n      }\n      ppbVar22 = (byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fb4) + -0x7048,iVar11)\n      ;\n      pbVar21 = (byte *)0xffffffff;\n      *(byte ***)(puVar25 + -0x38) = ppbVar22;\n      (**(code **)(*(int *)(puVar25 + -0x50) + -0x7e40))(pbVar24);\n      pbVar4 = *(byte **)(puVar25 + -0x38);\n      (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))();\n      iVar5 = *(int *)(puVar25 + -0x50);\n    }\n    else {\n      if (pbVar9 == (byte *)0x0) {\n        param_1 = (byte **)0x1;\n        *(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050;\nLAB_000b38a0:\n        unaff_s5 = (byte *)((int)ppbVar17 + (3 - (int)param_1));\n        ppbVar22 = (byte **)((int)unaff_s5 * 4);\n        unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (unaff_s1 == (byte **)0x0) {\nLAB_000b3a30:\n          pbVar4 = pbVar24;\n          (**(code **)(iVar5 + -0x7e2c))();\n          iVar5 = *(int *)(puVar25 + -0x50);\n          goto LAB_000b39d4;\n        }\n        *unaff_s1 = (byte *)0x0;\n        unaff_s1[1] = (byte *)(*(int *)(iVar5 + -0x7fc8) + 0x538c);\n        unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c);\n        if ((int)param_1 < (int)ppbVar17) {\n          unaff_s8 = pbVar20 + (int)param_1 * 4;\n          iVar11 = (int)ppbVar17 * 4;\n          ppbVar22 = unaff_s1 + 3;\n          do {\n            ppbVar17 = ppbVar22 + 1;\n            uVar19 = *(undefined4 *)unaff_s8;\n            unaff_s8 = unaff_s8 + 4;\n            pbVar21 = (byte *)(**(code **)(iVar5 + -0x7f9c))(uVar19);\n            iVar5 = *(int *)(puVar25 + -0x50);\n            *ppbVar22 = pbVar21;\n            ppbVar22 = ppbVar17;\n          } while (pbVar20 + iVar11 != unaff_s8);\n        }\n      }\n      else {\n        if (ppbVar17 != (byte **)0x1) {\n          param_1 = (byte **)&SUB_00000002;\n          uVar19 = (**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)(pbVar20 + 4));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          *(undefined4 *)(puVar25 + -0x3c) = uVar19;\n          goto LAB_000b38a0;\n        }\n        ppbVar22 = (byte **)&DAT_0000000c;\n        unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (unaff_s1 == (byte **)0x0) goto LAB_000b3a30;\n        iVar11 = *(int *)(iVar5 + -0x7fc8);\n        unaff_s5 = (byte *)0x3;\n        *unaff_s1 = (byte *)0x0;\n        unaff_s1[1] = (byte *)(iVar11 + 0x538c);\n        *(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050;\n        unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c);\n      }\n      param_1 = (byte **)(puVar25 + -0x38);\n      unaff_s3 = (byte *)(**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)pbVar20);\n      *(byte ***)(puVar25 + -0x54) = param_1;\n      *(undefined1 **)(puVar25 + -0x58) = puVar25 + -0x30;\n      pbVar21 = unaff_s5;\n      ppbVar22 = (byte **)FUN_000961e8(*(undefined4 *)(puVar25 + -0x44),\n                                       *(undefined4 *)(puVar25 + -0x40),unaff_s5,unaff_s1);\n      iVar5 = *(int *)(puVar25 + -0x50);\n      if (ppbVar22 == (byte **)0x0) {\n        uVar19 = *(undefined4 *)(*(int *)(puVar25 + -0x30) + 0xc);\n        *(byte ***)(puVar25 + -0x58) = param_1;\n        pbVar20 = unaff_s3;\n        ppbVar22 = (byte **)FUN_000b2950(*(int *)(puVar25 + -0x30),uVar19,unaff_s3,puVar25 + -0x34);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        pbVar21 = pbVar20;\n        if (ppbVar22 != (byte **)0x0) goto LAB_000b3964;\n        pbVar21 = *(byte **)(*(int *)(puVar25 + -0x34) + 8);\n        if (*(int *)(pbVar21 + 0xc) == 0) {\n          param_1 = (byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fc8) + 0x53f4);\n          iVar5 = *(int *)(puVar25 + -0x50);\nLAB_000b3aa4:\n          ppbVar10 = *(byte ***)(puVar25 + -0x38);\n          pbVar21 = pbVar20;\n          if (param_1 != (byte **)0x0) goto LAB_000b3aac;\nLAB_000b3b54:\n          ppbVar22 = (byte **)&DAT_00000007;\n          if (ppbVar10 == (byte **)0x0) {\n            pcVar13 = *(code **)(iVar5 + -0x7e34);\n            goto LAB_000b3b60;\n          }\n          goto LAB_000b3970;\n        }\n        if (pbVar9 == (byte *)0x0) {\n          param_1 = (byte **)FUN_00097660();\n          iVar5 = *(int *)(puVar25 + -0x50);\n          goto LAB_000b3aa4;\n        }\n        param_1 = (byte **)FUN_00097234(*(undefined4 *)(puVar25 + -0x30),\n                                        *(undefined4 *)(puVar25 + -0x3c));\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (param_1 == (byte **)0x0) {\n          ppbVar10 = *(byte ***)(puVar25 + -0x38);\n          goto LAB_000b3b54;\n        }\nLAB_000b3aac:\n        pbVar21 = (byte *)0xffffffff;\n        ppbVar22 = param_1;\n        (**(code **)(iVar5 + -0x7f34))(pbVar24,param_1,0xffffffff,0xffffffff);\n        (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(param_1);\n        iVar5 = *(int *)(puVar25 + -0x50);\n      }\n      else {\nLAB_000b3964:\n        ppbVar10 = *(byte ***)(puVar25 + -0x38);\n        pcVar13 = *(code **)(iVar5 + -0x7e34);\n        if (ppbVar10 == (byte **)0x0) {\nLAB_000b3b60:\n          (*pcVar13)(pbVar24);\n          iVar5 = *(int *)(puVar25 + -0x50);\n        }\n        else {\nLAB_000b3970:\n          pbVar21 = (byte *)0xffffffff;\n          (**(code **)(iVar5 + -0x7e40))(pbVar24);\n          (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(*(undefined4 *)(puVar25 + -0x38));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          ppbVar22 = ppbVar10;\n        }\n      }\n      (**(code **)(iVar5 + -0x7f90))(unaff_s1);\n      (*(code *)(*(int *)(*(int *)(puVar25 + -0x50) + -0x7ef0) + -0xe08))\n                (*(undefined4 *)(puVar25 + -0x30));\n      pbVar4 = *(byte **)(puVar25 + -0x34);\n      iVar5 = *(int *)(puVar25 + -0x50);\n      unaff_s7 = ppbVar17;\n      if (pbVar4 != (byte *)0x0) {\n        FUN_000b1fe4();\n        iVar5 = *(int *)(puVar25 + -0x50);\n      }\n    }\nLAB_000b39d4:\n    if (*(int *)(puVar25 + -0x2c) == *(int *)unaff_s2) {\n      return *(int *)unaff_s2;\n    }\n    pcVar13 = *(code **)(iVar5 + -0x7ba0);\n    uVar19 = 0xb3bf0;\n    (*pcVar13)();\n    puVar7 = (undefined *)(*(int *)(pcVar13 + 0xa7b08) + 0x37f8);\n    ppbVar17 = ppbVar22;\n    pbVar20 = pbVar21;\n    pbVar21 = (byte *)0x1;\n    unaff_s4 = pbVar24;\n    unaff_s6 = pbVar9;\n    puVar25 = puVar25 + -0x68;\n  }" ({ "{") (expression_statement "pbVar9 = pbVar21;" (assignment_expression "pbVar9 = pbVar21" (identifier "pbVar9") (= "=") (identifier "pbVar21")) (; ";")) (expression_statement "pbVar24 = pbVar4;" (assignment_expression "pbVar24 = pbVar4" (identifier "pbVar24") (= "=") (identifier "pbVar4")) (; ";")) (expression_statement "pcVar13 = *(code **)(puVar7 + 0xa7ed0);" (assignment_expression "pcVar13 = *(code **)(puVar7 + 0xa7ed0)" (identifier "pcVar13") (= "=") (pointer_expression "*(code **)(puVar7 + 0xa7ed0)" (* "*") (cast_expression "(code **)(puVar7 + 0xa7ed0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar7 + 0xa7ed0)" (( "(") (binary_expression "puVar7 + 0xa7ed0" (identifier "puVar7") (+ "+") (number_literal "0xa7ed0")) () ")"))))) (; ";")) (expression_statement "*(byte **)(puVar25 + -0x20) = unaff_s2;" (assignment_expression "*(byte **)(puVar25 + -0x20) = unaff_s2" (pointer_expression "*(byte **)(puVar25 + -0x20)" (* "*") (cast_expression "(byte **)(puVar25 + -0x20)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar25 + -0x20)" (( "(") (binary_expression "puVar25 + -0x20" (identifier "puVar25") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (identifier "unaff_s2")) (; ";")) (expression_statement "*(undefined **)(puVar25 + -0x50) = puVar7 + 0xafdb8;" (assignment_expression "*(undefined **)(puVar25 + -0x50) = puVar7 + 0xafdb8" (pointer_expression "*(undefined **)(puVar25 + -0x50)" (* "*") (cast_expression "(undefined **)(puVar25 + -0x50)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar25 + -0x50)" (( "(") (binary_expression "puVar25 + -0x50" (identifier "puVar25") (+ "+") (number_literal "-0x50")) () ")")))) (= "=") (binary_expression "puVar7 + 0xafdb8" (identifier "puVar7") (+ "+") (number_literal "0xafdb8"))) (; ";")) (expression_statement "*(undefined4 *)(puVar25 + -4) = uVar19;" (assignment_expression "*(undefined4 *)(puVar25 + -4) = uVar19" (pointer_expression "*(undefined4 *)(puVar25 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar25 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar25 + -4)" (( "(") (binary_expression "puVar25 + -4" (identifier "puVar25") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "uVar19")) (; ";")) (expression_statement "*(byte ***)(puVar25 + -0xc) = unaff_s7;" (assignment_expression "*(byte ***)(puVar25 + -0xc) = unaff_s7" (pointer_expression "*(byte ***)(puVar25 + -0xc)" (* "*") (cast_expression "(byte ***)(puVar25 + -0xc)" (( "(") (type_descriptor "byte ***" (type_identifier "byte") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar25 + -0xc)" (( "(") (binary_expression "puVar25 + -0xc" (identifier "puVar25") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "unaff_s7")) (; ";")) (expression_statement "*(byte **)(puVar25 + -0x10) = unaff_s6;" (assignment_expression "*(byte **)(puVar25 + -0x10) = unaff_s6" (pointer_expression "*(byte **)(puVar25 + -0x10)" (* "*") (cast_expression "(byte **)(puVar25 + -0x10)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar25 + -0x10)" (( "(") (binary_expression "puVar25 + -0x10" (identifier "puVar25") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "unaff_s6")) (; ";")) (expression_statement "*(byte **)(puVar25 + -0x18) = unaff_s4;" (assignment_expression "*(byte **)(puVar25 + -0x18) = unaff_s4" (pointer_expression "*(byte **)(puVar25 + -0x18)" (* "*") (cast_expression "(byte **)(puVar25 + -0x18)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar25 + -0x18)" (( "(") (binary_expression "puVar25 + -0x18" (identifier "puVar25") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (identifier "unaff_s4")) (; ";")) (expression_statement "*(byte **)(puVar25 + -0x1c) = unaff_s3;" (assignment_expression "*(byte **)(puVar25 + -0x1c) = unaff_s3" (pointer_expression "*(byte **)(puVar25 + -0x1c)" (* "*") (cast_expression "(byte **)(puVar25 + -0x1c)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar25 + -0x1c)" (( "(") (binary_expression "puVar25 + -0x1c" (identifier "puVar25") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (identifier "unaff_s3")) (; ";")) (expression_statement "*(byte **)(puVar25 + -8) = unaff_s8;" (assignment_expression "*(byte **)(puVar25 + -8) = unaff_s8" (pointer_expression "*(byte **)(puVar25 + -8)" (* "*") (cast_expression "(byte **)(puVar25 + -8)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar25 + -8)" (( "(") (binary_expression "puVar25 + -8" (identifier "puVar25") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "unaff_s8")) (; ";")) (expression_statement "*(byte **)(puVar25 + -0x14) = unaff_s5;" (assignment_expression "*(byte **)(puVar25 + -0x14) = unaff_s5" (pointer_expression "*(byte **)(puVar25 + -0x14)" (* "*") (cast_expression "(byte **)(puVar25 + -0x14)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar25 + -0x14)" (( "(") (binary_expression "puVar25 + -0x14" (identifier "puVar25") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "unaff_s5")) (; ";")) (expression_statement "*(byte ***)(puVar25 + -0x24) = unaff_s1;" (assignment_expression "*(byte ***)(puVar25 + -0x24) = unaff_s1" (pointer_expression "*(byte ***)(puVar25 + -0x24)" (* "*") (cast_expression "(byte ***)(puVar25 + -0x24)" (( "(") (type_descriptor "byte ***" (type_identifier "byte") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar25 + -0x24)" (( "(") (binary_expression "puVar25 + -0x24" (identifier "puVar25") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (identifier "unaff_s1")) (; ";")) (expression_statement "*(byte ***)(puVar25 + -0x28) = param_1;" (assignment_expression "*(byte ***)(puVar25 + -0x28) = param_1" (pointer_expression "*(byte ***)(puVar25 + -0x28)" (* "*") (cast_expression "(byte ***)(puVar25 + -0x28)" (( "(") (type_descriptor "byte ***" (type_identifier "byte") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar25 + -0x28)" (( "(") (binary_expression "puVar25 + -0x28" (identifier "puVar25") (+ "+") (number_literal "-0x28")) () ")")))) (= "=") (identifier "param_1")) (; ";")) (expression_statement "unaff_s2 = *(byte **)(puVar7 + 0xa8234);" (assignment_expression "unaff_s2 = *(byte **)(puVar7 + 0xa8234)" (identifier "unaff_s2") (= "=") (pointer_expression "*(byte **)(puVar7 + 0xa8234)" (* "*") (cast_expression "(byte **)(puVar7 + 0xa8234)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar7 + 0xa8234)" (( "(") (binary_expression "puVar7 + 0xa8234" (identifier "puVar7") (+ "+") (number_literal "0xa8234")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar25 + -0x2c) = *(undefined4 *)unaff_s2;" (assignment_expression "*(undefined4 *)(puVar25 + -0x2c) = *(undefined4 *)unaff_s2" (pointer_expression "*(undefined4 *)(puVar25 + -0x2c)" (* "*") (cast_expression "(undefined4 *)(puVar25 + -0x2c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar25 + -0x2c)" (( "(") (binary_expression "puVar25 + -0x2c" (identifier "puVar25") (+ "+") (number_literal "-0x2c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)unaff_s2" (* "*") (cast_expression "(undefined4 *)unaff_s2" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "unaff_s2")))) (; ";")) (expression_statement "pbVar21 = pbVar20;" (assignment_expression "pbVar21 = pbVar20" (identifier "pbVar21") (= "=") (identifier "pbVar20")) (; ";")) (expression_statement "uVar19 = (*pcVar13)();" (assignment_expression "uVar19 = (*pcVar13)()" (identifier "uVar19") (= "=") (call_expression "(*pcVar13)()" (parenthesized_expression "(*pcVar13)" (( "(") (pointer_expression "*pcVar13" (* "*") (identifier "pcVar13")) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "pcVar13 = *(code **)(*(int *)(puVar25 + -0x50) + -0x7ed0);" (assignment_expression "pcVar13 = *(code **)(*(int *)(puVar25 + -0x50) + -0x7ed0)" (identifier "pcVar13") (= "=") (pointer_expression "*(code **)(*(int *)(puVar25 + -0x50) + -0x7ed0)" (* "*") (cast_expression "(code **)(*(int *)(puVar25 + -0x50) + -0x7ed0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(puVar25 + -0x50) + -0x7ed0)" (( "(") (binary_expression "*(int *)(puVar25 + -0x50) + -0x7ed0" (pointer_expression "*(int *)(puVar25 + -0x50)" (* "*") (cast_expression "(int *)(puVar25 + -0x50)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar25 + -0x50)" (( "(") (binary_expression "puVar25 + -0x50" (identifier "puVar25") (+ "+") (number_literal "-0x50")) () ")")))) (+ "+") (number_literal "-0x7ed0")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar25 + -0x44) = uVar19;" (assignment_expression "*(undefined4 *)(puVar25 + -0x44) = uVar19" (pointer_expression "*(undefined4 *)(puVar25 + -0x44)" (* "*") (cast_expression "(undefined4 *)(puVar25 + -0x44)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar25 + -0x44)" (( "(") (binary_expression "puVar25 + -0x44" (identifier "puVar25") (+ "+") (number_literal "-0x44")) () ")")))) (= "=") (identifier "uVar19")) (; ";")) (expression_statement "uVar19 = (*pcVar13)(pbVar24);" (assignment_expression "uVar19 = (*pcVar13)(pbVar24)" (identifier "uVar19") (= "=") (call_expression "(*pcVar13)(pbVar24)" (parenthesized_expression "(*pcVar13)" (( "(") (pointer_expression "*pcVar13" (* "*") (identifier "pcVar13")) () ")")) (argument_list "(pbVar24)" (( "(") (identifier "pbVar24") () ")")))) (; ";")) (expression_statement "iVar5 = *(int *)(puVar25 + -0x50);" (assignment_expression "iVar5 = *(int *)(puVar25 + -0x50)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(puVar25 + -0x50)" (* "*") (cast_expression "(int *)(puVar25 + -0x50)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar25 + -0x50)" (( "(") (binary_expression "puVar25 + -0x50" (identifier "puVar25") (+ "+") (number_literal "-0x50")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar25 + -0x40) = uVar19;" (assignment_expression "*(undefined4 *)(puVar25 + -0x40) = uVar19" (pointer_expression "*(undefined4 *)(puVar25 + -0x40)" (* "*") (cast_expression "(undefined4 *)(puVar25 + -0x40)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar25 + -0x40)" (( "(") (binary_expression "puVar25 + -0x40" (identifier "puVar25") (+ "+") (number_literal "-0x40")) () ")")))) (= "=") (identifier "uVar19")) (; ";")) (expression_statement "*(undefined4 *)(puVar25 + -0x38) = 0;" (assignment_expression "*(undefined4 *)(puVar25 + -0x38) = 0" (pointer_expression "*(undefined4 *)(puVar25 + -0x38)" (* "*") (cast_expression "(undefined4 *)(puVar25 + -0x38)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar25 + -0x38)" (( "(") (binary_expression "puVar25 + -0x38" (identifier "puVar25") (+ "+") (number_literal "-0x38")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar25 + -0x34) = 0;" (assignment_expression "*(undefined4 *)(puVar25 + -0x34) = 0" (pointer_expression "*(undefined4 *)(puVar25 + -0x34)" (* "*") (cast_expression "(undefined4 *)(puVar25 + -0x34)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar25 + -0x34)" (( "(") (binary_expression "puVar25 + -0x34" (identifier "puVar25") (+ "+") (number_literal "-0x34")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar25 + -0x30) = 0;" (assignment_expression "*(undefined4 *)(puVar25 + -0x30) = 0" (pointer_expression "*(undefined4 *)(puVar25 + -0x30)" (* "*") (cast_expression "(undefined4 *)(puVar25 + -0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar25 + -0x30)" (( "(") (binary_expression "puVar25 + -0x30" (identifier "puVar25") (+ "+") (number_literal "-0x30")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "unaff_s3 = pbVar20;" (assignment_expression "unaff_s3 = pbVar20" (identifier "unaff_s3") (= "=") (identifier "pbVar20")) (; ";")) (expression_statement "unaff_s7 = ppbVar17;" (assignment_expression "unaff_s7 = ppbVar17" (identifier "unaff_s7") (= "=") (identifier "ppbVar17")) (; ";")) (if_statement "if ((int)ppbVar17 < 1) {\n      if (pbVar9 == (byte *)0x0) {\n        iVar11 = *(int *)(iVar5 + -0x7fb4) + -0x705c;\n      }\n      else {\n        iVar11 = *(int *)(iVar5 + -0x7fb4) + -0x706c;\n      }\n      ppbVar22 = (byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fb4) + -0x7048,iVar11)\n      ;\n      pbVar21 = (byte *)0xffffffff;\n      *(byte ***)(puVar25 + -0x38) = ppbVar22;\n      (**(code **)(*(int *)(puVar25 + -0x50) + -0x7e40))(pbVar24);\n      pbVar4 = *(byte **)(puVar25 + -0x38);\n      (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))();\n      iVar5 = *(int *)(puVar25 + -0x50);\n    }\n    else {\n      if (pbVar9 == (byte *)0x0) {\n        param_1 = (byte **)0x1;\n        *(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050;\nLAB_000b38a0:\n        unaff_s5 = (byte *)((int)ppbVar17 + (3 - (int)param_1));\n        ppbVar22 = (byte **)((int)unaff_s5 * 4);\n        unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (unaff_s1 == (byte **)0x0) {\nLAB_000b3a30:\n          pbVar4 = pbVar24;\n          (**(code **)(iVar5 + -0x7e2c))();\n          iVar5 = *(int *)(puVar25 + -0x50);\n          goto LAB_000b39d4;\n        }\n        *unaff_s1 = (byte *)0x0;\n        unaff_s1[1] = (byte *)(*(int *)(iVar5 + -0x7fc8) + 0x538c);\n        unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c);\n        if ((int)param_1 < (int)ppbVar17) {\n          unaff_s8 = pbVar20 + (int)param_1 * 4;\n          iVar11 = (int)ppbVar17 * 4;\n          ppbVar22 = unaff_s1 + 3;\n          do {\n            ppbVar17 = ppbVar22 + 1;\n            uVar19 = *(undefined4 *)unaff_s8;\n            unaff_s8 = unaff_s8 + 4;\n            pbVar21 = (byte *)(**(code **)(iVar5 + -0x7f9c))(uVar19);\n            iVar5 = *(int *)(puVar25 + -0x50);\n            *ppbVar22 = pbVar21;\n            ppbVar22 = ppbVar17;\n          } while (pbVar20 + iVar11 != unaff_s8);\n        }\n      }\n      else {\n        if (ppbVar17 != (byte **)0x1) {\n          param_1 = (byte **)&SUB_00000002;\n          uVar19 = (**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)(pbVar20 + 4));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          *(undefined4 *)(puVar25 + -0x3c) = uVar19;\n          goto LAB_000b38a0;\n        }\n        ppbVar22 = (byte **)&DAT_0000000c;\n        unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (unaff_s1 == (byte **)0x0) goto LAB_000b3a30;\n        iVar11 = *(int *)(iVar5 + -0x7fc8);\n        unaff_s5 = (byte *)0x3;\n        *unaff_s1 = (byte *)0x0;\n        unaff_s1[1] = (byte *)(iVar11 + 0x538c);\n        *(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050;\n        unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c);\n      }\n      param_1 = (byte **)(puVar25 + -0x38);\n      unaff_s3 = (byte *)(**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)pbVar20);\n      *(byte ***)(puVar25 + -0x54) = param_1;\n      *(undefined1 **)(puVar25 + -0x58) = puVar25 + -0x30;\n      pbVar21 = unaff_s5;\n      ppbVar22 = (byte **)FUN_000961e8(*(undefined4 *)(puVar25 + -0x44),\n                                       *(undefined4 *)(puVar25 + -0x40),unaff_s5,unaff_s1);\n      iVar5 = *(int *)(puVar25 + -0x50);\n      if (ppbVar22 == (byte **)0x0) {\n        uVar19 = *(undefined4 *)(*(int *)(puVar25 + -0x30) + 0xc);\n        *(byte ***)(puVar25 + -0x58) = param_1;\n        pbVar20 = unaff_s3;\n        ppbVar22 = (byte **)FUN_000b2950(*(int *)(puVar25 + -0x30),uVar19,unaff_s3,puVar25 + -0x34);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        pbVar21 = pbVar20;\n        if (ppbVar22 != (byte **)0x0) goto LAB_000b3964;\n        pbVar21 = *(byte **)(*(int *)(puVar25 + -0x34) + 8);\n        if (*(int *)(pbVar21 + 0xc) == 0) {\n          param_1 = (byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fc8) + 0x53f4);\n          iVar5 = *(int *)(puVar25 + -0x50);\nLAB_000b3aa4:\n          ppbVar10 = *(byte ***)(puVar25 + -0x38);\n          pbVar21 = pbVar20;\n          if (param_1 != (byte **)0x0) goto LAB_000b3aac;\nLAB_000b3b54:\n          ppbVar22 = (byte **)&DAT_00000007;\n          if (ppbVar10 == (byte **)0x0) {\n            pcVar13 = *(code **)(iVar5 + -0x7e34);\n            goto LAB_000b3b60;\n          }\n          goto LAB_000b3970;\n        }\n        if (pbVar9 == (byte *)0x0) {\n          param_1 = (byte **)FUN_00097660();\n          iVar5 = *(int *)(puVar25 + -0x50);\n          goto LAB_000b3aa4;\n        }\n        param_1 = (byte **)FUN_00097234(*(undefined4 *)(puVar25 + -0x30),\n                                        *(undefined4 *)(puVar25 + -0x3c));\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (param_1 == (byte **)0x0) {\n          ppbVar10 = *(byte ***)(puVar25 + -0x38);\n          goto LAB_000b3b54;\n        }\nLAB_000b3aac:\n        pbVar21 = (byte *)0xffffffff;\n        ppbVar22 = param_1;\n        (**(code **)(iVar5 + -0x7f34))(pbVar24,param_1,0xffffffff,0xffffffff);\n        (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(param_1);\n        iVar5 = *(int *)(puVar25 + -0x50);\n      }\n      else {\nLAB_000b3964:\n        ppbVar10 = *(byte ***)(puVar25 + -0x38);\n        pcVar13 = *(code **)(iVar5 + -0x7e34);\n        if (ppbVar10 == (byte **)0x0) {\nLAB_000b3b60:\n          (*pcVar13)(pbVar24);\n          iVar5 = *(int *)(puVar25 + -0x50);\n        }\n        else {\nLAB_000b3970:\n          pbVar21 = (byte *)0xffffffff;\n          (**(code **)(iVar5 + -0x7e40))(pbVar24);\n          (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(*(undefined4 *)(puVar25 + -0x38));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          ppbVar22 = ppbVar10;\n        }\n      }\n      (**(code **)(iVar5 + -0x7f90))(unaff_s1);\n      (*(code *)(*(int *)(*(int *)(puVar25 + -0x50) + -0x7ef0) + -0xe08))\n                (*(undefined4 *)(puVar25 + -0x30));\n      pbVar4 = *(byte **)(puVar25 + -0x34);\n      iVar5 = *(int *)(puVar25 + -0x50);\n      unaff_s7 = ppbVar17;\n      if (pbVar4 != (byte *)0x0) {\n        FUN_000b1fe4();\n        iVar5 = *(int *)(puVar25 + -0x50);\n      }\n    }" (if "if") (parenthesized_expression "((int)ppbVar17 < 1)" (( "(") (binary_expression "(int)ppbVar17 < 1" (cast_expression "(int)ppbVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppbVar17")) (< "<") (number_literal "1")) () ")")) (compound_statement "{\n      if (pbVar9 == (byte *)0x0) {\n        iVar11 = *(int *)(iVar5 + -0x7fb4) + -0x705c;\n      }\n      else {\n        iVar11 = *(int *)(iVar5 + -0x7fb4) + -0x706c;\n      }\n      ppbVar22 = (byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fb4) + -0x7048,iVar11)\n      ;\n      pbVar21 = (byte *)0xffffffff;\n      *(byte ***)(puVar25 + -0x38) = ppbVar22;\n      (**(code **)(*(int *)(puVar25 + -0x50) + -0x7e40))(pbVar24);\n      pbVar4 = *(byte **)(puVar25 + -0x38);\n      (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))();\n      iVar5 = *(int *)(puVar25 + -0x50);\n    }" ({ "{") (if_statement "if (pbVar9 == (byte *)0x0) {\n        iVar11 = *(int *)(iVar5 + -0x7fb4) + -0x705c;\n      }\n      else {\n        iVar11 = *(int *)(iVar5 + -0x7fb4) + -0x706c;\n      }" (if "if") (parenthesized_expression "(pbVar9 == (byte *)0x0)" (( "(") (binary_expression "pbVar9 == (byte *)0x0" (identifier "pbVar9") (== "==") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        iVar11 = *(int *)(iVar5 + -0x7fb4) + -0x705c;\n      }" ({ "{") (expression_statement "iVar11 = *(int *)(iVar5 + -0x7fb4) + -0x705c;" (assignment_expression "iVar11 = *(int *)(iVar5 + -0x7fb4) + -0x705c" (identifier "iVar11") (= "=") (binary_expression "*(int *)(iVar5 + -0x7fb4) + -0x705c" (pointer_expression "*(int *)(iVar5 + -0x7fb4)" (* "*") (cast_expression "(int *)(iVar5 + -0x7fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + -0x7fb4)" (( "(") (binary_expression "iVar5 + -0x7fb4" (identifier "iVar5") (+ "+") (number_literal "-0x7fb4")) () ")")))) (+ "+") (number_literal "-0x705c"))) (; ";")) (} "}")) (else_clause "else {\n        iVar11 = *(int *)(iVar5 + -0x7fb4) + -0x706c;\n      }" (else "else") (compound_statement "{\n        iVar11 = *(int *)(iVar5 + -0x7fb4) + -0x706c;\n      }" ({ "{") (expression_statement "iVar11 = *(int *)(iVar5 + -0x7fb4) + -0x706c;" (assignment_expression "iVar11 = *(int *)(iVar5 + -0x7fb4) + -0x706c" (identifier "iVar11") (= "=") (binary_expression "*(int *)(iVar5 + -0x7fb4) + -0x706c" (pointer_expression "*(int *)(iVar5 + -0x7fb4)" (* "*") (cast_expression "(int *)(iVar5 + -0x7fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + -0x7fb4)" (( "(") (binary_expression "iVar5 + -0x7fb4" (identifier "iVar5") (+ "+") (number_literal "-0x7fb4")) () ")")))) (+ "+") (number_literal "-0x706c"))) (; ";")) (} "}")))) (expression_statement "ppbVar22 = (byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fb4) + -0x7048,iVar11)\n      ;" (assignment_expression "ppbVar22 = (byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fb4) + -0x7048,iVar11)" (identifier "ppbVar22") (= "=") (cast_expression "(byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fb4) + -0x7048,iVar11)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (call_expression "(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fb4) + -0x7048,iVar11)" (parenthesized_expression "(**(code **)(iVar5 + -0x7f88))" (( "(") (pointer_expression "**(code **)(iVar5 + -0x7f88)" (* "*") (pointer_expression "*(code **)(iVar5 + -0x7f88)" (* "*") (cast_expression "(code **)(iVar5 + -0x7f88)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar5 + -0x7f88)" (( "(") (binary_expression "iVar5 + -0x7f88" (identifier "iVar5") (+ "+") (number_literal "-0x7f88")) () ")"))))) () ")")) (argument_list "(*(int *)(iVar5 + -0x7fb4) + -0x7048,iVar11)" (( "(") (binary_expression "*(int *)(iVar5 + -0x7fb4) + -0x7048" (pointer_expression "*(int *)(iVar5 + -0x7fb4)" (* "*") (cast_expression "(int *)(iVar5 + -0x7fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + -0x7fb4)" (( "(") (binary_expression "iVar5 + -0x7fb4" (identifier "iVar5") (+ "+") (number_literal "-0x7fb4")) () ")")))) (+ "+") (number_literal "-0x7048")) (, ",") (identifier "iVar11") () ")"))))) (; ";")) (expression_statement "pbVar21 = (byte *)0xffffffff;" (assignment_expression "pbVar21 = (byte *)0xffffffff" (identifier "pbVar21") (= "=") (cast_expression "(byte *)0xffffffff" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) (; ";")) (expression_statement "*(byte ***)(puVar25 + -0x38) = ppbVar22;" (assignment_expression "*(byte ***)(puVar25 + -0x38) = ppbVar22" (pointer_expression "*(byte ***)(puVar25 + -0x38)" (* "*") (cast_expression "(byte ***)(puVar25 + -0x38)" (( "(") (type_descriptor "byte ***" (type_identifier "byte") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar25 + -0x38)" (( "(") (binary_expression "puVar25 + -0x38" (identifier "puVar25") (+ "+") (number_literal "-0x38")) () ")")))) (= "=") (identifier "ppbVar22")) (; ";")) (expression_statement "(**(code **)(*(int *)(puVar25 + -0x50) + -0x7e40))(pbVar24);" (call_expression "(**(code **)(*(int *)(puVar25 + -0x50) + -0x7e40))(pbVar24)" (parenthesized_expression "(**(code **)(*(int *)(puVar25 + -0x50) + -0x7e40))" (( "(") (pointer_expression "**(code **)(*(int *)(puVar25 + -0x50) + -0x7e40)" (* "*") (pointer_expression "*(code **)(*(int *)(puVar25 + -0x50) + -0x7e40)" (* "*") (cast_expression "(code **)(*(int *)(puVar25 + -0x50) + -0x7e40)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(puVar25 + -0x50) + -0x7e40)" (( "(") (binary_expression "*(int *)(puVar25 + -0x50) + -0x7e40" (pointer_expression "*(int *)(puVar25 + -0x50)" (* "*") (cast_expression "(int *)(puVar25 + -0x50)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar25 + -0x50)" (( "(") (binary_expression "puVar25 + -0x50" (identifier "puVar25") (+ "+") (number_literal "-0x50")) () ")")))) (+ "+") (number_literal "-0x7e40")) () ")"))))) () ")")) (argument_list "(pbVar24)" (( "(") (identifier "pbVar24") () ")"))) (; ";")) (expression_statement "pbVar4 = *(byte **)(puVar25 + -0x38);" (assignment_expression "pbVar4 = *(byte **)(puVar25 + -0x38)" (identifier "pbVar4") (= "=") (pointer_expression "*(byte **)(puVar25 + -0x38)" (* "*") (cast_expression "(byte **)(puVar25 + -0x38)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar25 + -0x38)" (( "(") (binary_expression "puVar25 + -0x38" (identifier "puVar25") (+ "+") (number_literal "-0x38")) () ")"))))) (; ";")) (expression_statement "(**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))();" (call_expression "(**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))()" (parenthesized_expression "(**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))" (( "(") (pointer_expression "**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90)" (* "*") (pointer_expression "*(code **)(*(int *)(puVar25 + -0x50) + -0x7f90)" (* "*") (cast_expression "(code **)(*(int *)(puVar25 + -0x50) + -0x7f90)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(puVar25 + -0x50) + -0x7f90)" (( "(") (binary_expression "*(int *)(puVar25 + -0x50) + -0x7f90" (pointer_expression "*(int *)(puVar25 + -0x50)" (* "*") (cast_expression "(int *)(puVar25 + -0x50)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar25 + -0x50)" (( "(") (binary_expression "puVar25 + -0x50" (identifier "puVar25") (+ "+") (number_literal "-0x50")) () ")")))) (+ "+") (number_literal "-0x7f90")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar5 = *(int *)(puVar25 + -0x50);" (assignment_expression "iVar5 = *(int *)(puVar25 + -0x50)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(puVar25 + -0x50)" (* "*") (cast_expression "(int *)(puVar25 + -0x50)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar25 + -0x50)" (( "(") (binary_expression "puVar25 + -0x50" (identifier "puVar25") (+ "+") (number_literal "-0x50")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n      if (pbVar9 == (byte *)0x0) {\n        param_1 = (byte **)0x1;\n        *(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050;\nLAB_000b38a0:\n        unaff_s5 = (byte *)((int)ppbVar17 + (3 - (int)param_1));\n        ppbVar22 = (byte **)((int)unaff_s5 * 4);\n        unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (unaff_s1 == (byte **)0x0) {\nLAB_000b3a30:\n          pbVar4 = pbVar24;\n          (**(code **)(iVar5 + -0x7e2c))();\n          iVar5 = *(int *)(puVar25 + -0x50);\n          goto LAB_000b39d4;\n        }\n        *unaff_s1 = (byte *)0x0;\n        unaff_s1[1] = (byte *)(*(int *)(iVar5 + -0x7fc8) + 0x538c);\n        unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c);\n        if ((int)param_1 < (int)ppbVar17) {\n          unaff_s8 = pbVar20 + (int)param_1 * 4;\n          iVar11 = (int)ppbVar17 * 4;\n          ppbVar22 = unaff_s1 + 3;\n          do {\n            ppbVar17 = ppbVar22 + 1;\n            uVar19 = *(undefined4 *)unaff_s8;\n            unaff_s8 = unaff_s8 + 4;\n            pbVar21 = (byte *)(**(code **)(iVar5 + -0x7f9c))(uVar19);\n            iVar5 = *(int *)(puVar25 + -0x50);\n            *ppbVar22 = pbVar21;\n            ppbVar22 = ppbVar17;\n          } while (pbVar20 + iVar11 != unaff_s8);\n        }\n      }\n      else {\n        if (ppbVar17 != (byte **)0x1) {\n          param_1 = (byte **)&SUB_00000002;\n          uVar19 = (**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)(pbVar20 + 4));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          *(undefined4 *)(puVar25 + -0x3c) = uVar19;\n          goto LAB_000b38a0;\n        }\n        ppbVar22 = (byte **)&DAT_0000000c;\n        unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (unaff_s1 == (byte **)0x0) goto LAB_000b3a30;\n        iVar11 = *(int *)(iVar5 + -0x7fc8);\n        unaff_s5 = (byte *)0x3;\n        *unaff_s1 = (byte *)0x0;\n        unaff_s1[1] = (byte *)(iVar11 + 0x538c);\n        *(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050;\n        unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c);\n      }\n      param_1 = (byte **)(puVar25 + -0x38);\n      unaff_s3 = (byte *)(**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)pbVar20);\n      *(byte ***)(puVar25 + -0x54) = param_1;\n      *(undefined1 **)(puVar25 + -0x58) = puVar25 + -0x30;\n      pbVar21 = unaff_s5;\n      ppbVar22 = (byte **)FUN_000961e8(*(undefined4 *)(puVar25 + -0x44),\n                                       *(undefined4 *)(puVar25 + -0x40),unaff_s5,unaff_s1);\n      iVar5 = *(int *)(puVar25 + -0x50);\n      if (ppbVar22 == (byte **)0x0) {\n        uVar19 = *(undefined4 *)(*(int *)(puVar25 + -0x30) + 0xc);\n        *(byte ***)(puVar25 + -0x58) = param_1;\n        pbVar20 = unaff_s3;\n        ppbVar22 = (byte **)FUN_000b2950(*(int *)(puVar25 + -0x30),uVar19,unaff_s3,puVar25 + -0x34);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        pbVar21 = pbVar20;\n        if (ppbVar22 != (byte **)0x0) goto LAB_000b3964;\n        pbVar21 = *(byte **)(*(int *)(puVar25 + -0x34) + 8);\n        if (*(int *)(pbVar21 + 0xc) == 0) {\n          param_1 = (byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fc8) + 0x53f4);\n          iVar5 = *(int *)(puVar25 + -0x50);\nLAB_000b3aa4:\n          ppbVar10 = *(byte ***)(puVar25 + -0x38);\n          pbVar21 = pbVar20;\n          if (param_1 != (byte **)0x0) goto LAB_000b3aac;\nLAB_000b3b54:\n          ppbVar22 = (byte **)&DAT_00000007;\n          if (ppbVar10 == (byte **)0x0) {\n            pcVar13 = *(code **)(iVar5 + -0x7e34);\n            goto LAB_000b3b60;\n          }\n          goto LAB_000b3970;\n        }\n        if (pbVar9 == (byte *)0x0) {\n          param_1 = (byte **)FUN_00097660();\n          iVar5 = *(int *)(puVar25 + -0x50);\n          goto LAB_000b3aa4;\n        }\n        param_1 = (byte **)FUN_00097234(*(undefined4 *)(puVar25 + -0x30),\n                                        *(undefined4 *)(puVar25 + -0x3c));\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (param_1 == (byte **)0x0) {\n          ppbVar10 = *(byte ***)(puVar25 + -0x38);\n          goto LAB_000b3b54;\n        }\nLAB_000b3aac:\n        pbVar21 = (byte *)0xffffffff;\n        ppbVar22 = param_1;\n        (**(code **)(iVar5 + -0x7f34))(pbVar24,param_1,0xffffffff,0xffffffff);\n        (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(param_1);\n        iVar5 = *(int *)(puVar25 + -0x50);\n      }\n      else {\nLAB_000b3964:\n        ppbVar10 = *(byte ***)(puVar25 + -0x38);\n        pcVar13 = *(code **)(iVar5 + -0x7e34);\n        if (ppbVar10 == (byte **)0x0) {\nLAB_000b3b60:\n          (*pcVar13)(pbVar24);\n          iVar5 = *(int *)(puVar25 + -0x50);\n        }\n        else {\nLAB_000b3970:\n          pbVar21 = (byte *)0xffffffff;\n          (**(code **)(iVar5 + -0x7e40))(pbVar24);\n          (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(*(undefined4 *)(puVar25 + -0x38));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          ppbVar22 = ppbVar10;\n        }\n      }\n      (**(code **)(iVar5 + -0x7f90))(unaff_s1);\n      (*(code *)(*(int *)(*(int *)(puVar25 + -0x50) + -0x7ef0) + -0xe08))\n                (*(undefined4 *)(puVar25 + -0x30));\n      pbVar4 = *(byte **)(puVar25 + -0x34);\n      iVar5 = *(int *)(puVar25 + -0x50);\n      unaff_s7 = ppbVar17;\n      if (pbVar4 != (byte *)0x0) {\n        FUN_000b1fe4();\n        iVar5 = *(int *)(puVar25 + -0x50);\n      }\n    }" (else "else") (compound_statement "{\n      if (pbVar9 == (byte *)0x0) {\n        param_1 = (byte **)0x1;\n        *(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050;\nLAB_000b38a0:\n        unaff_s5 = (byte *)((int)ppbVar17 + (3 - (int)param_1));\n        ppbVar22 = (byte **)((int)unaff_s5 * 4);\n        unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (unaff_s1 == (byte **)0x0) {\nLAB_000b3a30:\n          pbVar4 = pbVar24;\n          (**(code **)(iVar5 + -0x7e2c))();\n          iVar5 = *(int *)(puVar25 + -0x50);\n          goto LAB_000b39d4;\n        }\n        *unaff_s1 = (byte *)0x0;\n        unaff_s1[1] = (byte *)(*(int *)(iVar5 + -0x7fc8) + 0x538c);\n        unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c);\n        if ((int)param_1 < (int)ppbVar17) {\n          unaff_s8 = pbVar20 + (int)param_1 * 4;\n          iVar11 = (int)ppbVar17 * 4;\n          ppbVar22 = unaff_s1 + 3;\n          do {\n            ppbVar17 = ppbVar22 + 1;\n            uVar19 = *(undefined4 *)unaff_s8;\n            unaff_s8 = unaff_s8 + 4;\n            pbVar21 = (byte *)(**(code **)(iVar5 + -0x7f9c))(uVar19);\n            iVar5 = *(int *)(puVar25 + -0x50);\n            *ppbVar22 = pbVar21;\n            ppbVar22 = ppbVar17;\n          } while (pbVar20 + iVar11 != unaff_s8);\n        }\n      }\n      else {\n        if (ppbVar17 != (byte **)0x1) {\n          param_1 = (byte **)&SUB_00000002;\n          uVar19 = (**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)(pbVar20 + 4));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          *(undefined4 *)(puVar25 + -0x3c) = uVar19;\n          goto LAB_000b38a0;\n        }\n        ppbVar22 = (byte **)&DAT_0000000c;\n        unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (unaff_s1 == (byte **)0x0) goto LAB_000b3a30;\n        iVar11 = *(int *)(iVar5 + -0x7fc8);\n        unaff_s5 = (byte *)0x3;\n        *unaff_s1 = (byte *)0x0;\n        unaff_s1[1] = (byte *)(iVar11 + 0x538c);\n        *(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050;\n        unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c);\n      }\n      param_1 = (byte **)(puVar25 + -0x38);\n      unaff_s3 = (byte *)(**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)pbVar20);\n      *(byte ***)(puVar25 + -0x54) = param_1;\n      *(undefined1 **)(puVar25 + -0x58) = puVar25 + -0x30;\n      pbVar21 = unaff_s5;\n      ppbVar22 = (byte **)FUN_000961e8(*(undefined4 *)(puVar25 + -0x44),\n                                       *(undefined4 *)(puVar25 + -0x40),unaff_s5,unaff_s1);\n      iVar5 = *(int *)(puVar25 + -0x50);\n      if (ppbVar22 == (byte **)0x0) {\n        uVar19 = *(undefined4 *)(*(int *)(puVar25 + -0x30) + 0xc);\n        *(byte ***)(puVar25 + -0x58) = param_1;\n        pbVar20 = unaff_s3;\n        ppbVar22 = (byte **)FUN_000b2950(*(int *)(puVar25 + -0x30),uVar19,unaff_s3,puVar25 + -0x34);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        pbVar21 = pbVar20;\n        if (ppbVar22 != (byte **)0x0) goto LAB_000b3964;\n        pbVar21 = *(byte **)(*(int *)(puVar25 + -0x34) + 8);\n        if (*(int *)(pbVar21 + 0xc) == 0) {\n          param_1 = (byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fc8) + 0x53f4);\n          iVar5 = *(int *)(puVar25 + -0x50);\nLAB_000b3aa4:\n          ppbVar10 = *(byte ***)(puVar25 + -0x38);\n          pbVar21 = pbVar20;\n          if (param_1 != (byte **)0x0) goto LAB_000b3aac;\nLAB_000b3b54:\n          ppbVar22 = (byte **)&DAT_00000007;\n          if (ppbVar10 == (byte **)0x0) {\n            pcVar13 = *(code **)(iVar5 + -0x7e34);\n            goto LAB_000b3b60;\n          }\n          goto LAB_000b3970;\n        }\n        if (pbVar9 == (byte *)0x0) {\n          param_1 = (byte **)FUN_00097660();\n          iVar5 = *(int *)(puVar25 + -0x50);\n          goto LAB_000b3aa4;\n        }\n        param_1 = (byte **)FUN_00097234(*(undefined4 *)(puVar25 + -0x30),\n                                        *(undefined4 *)(puVar25 + -0x3c));\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (param_1 == (byte **)0x0) {\n          ppbVar10 = *(byte ***)(puVar25 + -0x38);\n          goto LAB_000b3b54;\n        }\nLAB_000b3aac:\n        pbVar21 = (byte *)0xffffffff;\n        ppbVar22 = param_1;\n        (**(code **)(iVar5 + -0x7f34))(pbVar24,param_1,0xffffffff,0xffffffff);\n        (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(param_1);\n        iVar5 = *(int *)(puVar25 + -0x50);\n      }\n      else {\nLAB_000b3964:\n        ppbVar10 = *(byte ***)(puVar25 + -0x38);\n        pcVar13 = *(code **)(iVar5 + -0x7e34);\n        if (ppbVar10 == (byte **)0x0) {\nLAB_000b3b60:\n          (*pcVar13)(pbVar24);\n          iVar5 = *(int *)(puVar25 + -0x50);\n        }\n        else {\nLAB_000b3970:\n          pbVar21 = (byte *)0xffffffff;\n          (**(code **)(iVar5 + -0x7e40))(pbVar24);\n          (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(*(undefined4 *)(puVar25 + -0x38));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          ppbVar22 = ppbVar10;\n        }\n      }\n      (**(code **)(iVar5 + -0x7f90))(unaff_s1);\n      (*(code *)(*(int *)(*(int *)(puVar25 + -0x50) + -0x7ef0) + -0xe08))\n                (*(undefined4 *)(puVar25 + -0x30));\n      pbVar4 = *(byte **)(puVar25 + -0x34);\n      iVar5 = *(int *)(puVar25 + -0x50);\n      unaff_s7 = ppbVar17;\n      if (pbVar4 != (byte *)0x0) {\n        FUN_000b1fe4();\n        iVar5 = *(int *)(puVar25 + -0x50);\n      }\n    }" ({ "{") (if_statement "if (pbVar9 == (byte *)0x0) {\n        param_1 = (byte **)0x1;\n        *(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050;\nLAB_000b38a0:\n        unaff_s5 = (byte *)((int)ppbVar17 + (3 - (int)param_1));\n        ppbVar22 = (byte **)((int)unaff_s5 * 4);\n        unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (unaff_s1 == (byte **)0x0) {\nLAB_000b3a30:\n          pbVar4 = pbVar24;\n          (**(code **)(iVar5 + -0x7e2c))();\n          iVar5 = *(int *)(puVar25 + -0x50);\n          goto LAB_000b39d4;\n        }\n        *unaff_s1 = (byte *)0x0;\n        unaff_s1[1] = (byte *)(*(int *)(iVar5 + -0x7fc8) + 0x538c);\n        unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c);\n        if ((int)param_1 < (int)ppbVar17) {\n          unaff_s8 = pbVar20 + (int)param_1 * 4;\n          iVar11 = (int)ppbVar17 * 4;\n          ppbVar22 = unaff_s1 + 3;\n          do {\n            ppbVar17 = ppbVar22 + 1;\n            uVar19 = *(undefined4 *)unaff_s8;\n            unaff_s8 = unaff_s8 + 4;\n            pbVar21 = (byte *)(**(code **)(iVar5 + -0x7f9c))(uVar19);\n            iVar5 = *(int *)(puVar25 + -0x50);\n            *ppbVar22 = pbVar21;\n            ppbVar22 = ppbVar17;\n          } while (pbVar20 + iVar11 != unaff_s8);\n        }\n      }\n      else {\n        if (ppbVar17 != (byte **)0x1) {\n          param_1 = (byte **)&SUB_00000002;\n          uVar19 = (**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)(pbVar20 + 4));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          *(undefined4 *)(puVar25 + -0x3c) = uVar19;\n          goto LAB_000b38a0;\n        }\n        ppbVar22 = (byte **)&DAT_0000000c;\n        unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (unaff_s1 == (byte **)0x0) goto LAB_000b3a30;\n        iVar11 = *(int *)(iVar5 + -0x7fc8);\n        unaff_s5 = (byte *)0x3;\n        *unaff_s1 = (byte *)0x0;\n        unaff_s1[1] = (byte *)(iVar11 + 0x538c);\n        *(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050;\n        unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c);\n      }" (if "if") (parenthesized_expression "(pbVar9 == (byte *)0x0)" (( "(") (binary_expression "pbVar9 == (byte *)0x0" (identifier "pbVar9") (== "==") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        param_1 = (byte **)0x1;\n        *(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050;\nLAB_000b38a0:\n        unaff_s5 = (byte *)((int)ppbVar17 + (3 - (int)param_1));\n        ppbVar22 = (byte **)((int)unaff_s5 * 4);\n        unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (unaff_s1 == (byte **)0x0) {\nLAB_000b3a30:\n          pbVar4 = pbVar24;\n          (**(code **)(iVar5 + -0x7e2c))();\n          iVar5 = *(int *)(puVar25 + -0x50);\n          goto LAB_000b39d4;\n        }\n        *unaff_s1 = (byte *)0x0;\n        unaff_s1[1] = (byte *)(*(int *)(iVar5 + -0x7fc8) + 0x538c);\n        unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c);\n        if ((int)param_1 < (int)ppbVar17) {\n          unaff_s8 = pbVar20 + (int)param_1 * 4;\n          iVar11 = (int)ppbVar17 * 4;\n          ppbVar22 = unaff_s1 + 3;\n          do {\n            ppbVar17 = ppbVar22 + 1;\n            uVar19 = *(undefined4 *)unaff_s8;\n            unaff_s8 = unaff_s8 + 4;\n            pbVar21 = (byte *)(**(code **)(iVar5 + -0x7f9c))(uVar19);\n            iVar5 = *(int *)(puVar25 + -0x50);\n            *ppbVar22 = pbVar21;\n            ppbVar22 = ppbVar17;\n          } while (pbVar20 + iVar11 != unaff_s8);\n        }\n      }" ({ "{") (expression_statement "param_1 = (byte **)0x1;" (assignment_expression "param_1 = (byte **)0x1" (identifier "param_1") (= "=") (cast_expression "(byte **)0x1" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "*(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050;" (assignment_expression "*(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050" (pointer_expression "*(int *)(puVar25 + -0x3c)" (* "*") (cast_expression "(int *)(puVar25 + -0x3c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar25 + -0x3c)" (( "(") (binary_expression "puVar25 + -0x3c" (identifier "puVar25") (+ "+") (number_literal "-0x3c")) () ")")))) (= "=") (binary_expression "*(int *)(iVar5 + -0x7fb4) + -0x7050" (pointer_expression "*(int *)(iVar5 + -0x7fb4)" (* "*") (cast_expression "(int *)(iVar5 + -0x7fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + -0x7fb4)" (( "(") (binary_expression "iVar5 + -0x7fb4" (identifier "iVar5") (+ "+") (number_literal "-0x7fb4")) () ")")))) (+ "+") (number_literal "-0x7050"))) (; ";")) (labeled_statement "LAB_000b38a0:\n        unaff_s5 = (byte *)((int)ppbVar17 + (3 - (int)param_1));" (statement_identifier "LAB_000b38a0") (: ":") (expression_statement "unaff_s5 = (byte *)((int)ppbVar17 + (3 - (int)param_1));" (assignment_expression "unaff_s5 = (byte *)((int)ppbVar17 + (3 - (int)param_1))" (identifier "unaff_s5") (= "=") (cast_expression "(byte *)((int)ppbVar17 + (3 - (int)param_1))" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppbVar17 + (3 - (int)param_1))" (( "(") (binary_expression "(int)ppbVar17 + (3 - (int)param_1)" (cast_expression "(int)ppbVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppbVar17")) (+ "+") (parenthesized_expression "(3 - (int)param_1)" (( "(") (binary_expression "3 - (int)param_1" (number_literal "3") (- "-") (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1"))) () ")"))) () ")")))) (; ";"))) (expression_statement "ppbVar22 = (byte **)((int)unaff_s5 * 4);" (assignment_expression "ppbVar22 = (byte **)((int)unaff_s5 * 4)" (identifier "ppbVar22") (= "=") (cast_expression "(byte **)((int)unaff_s5 * 4)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)unaff_s5 * 4)" (( "(") (binary_expression "(int)unaff_s5 * 4" (cast_expression "(int)unaff_s5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "unaff_s5")) (* "*") (number_literal "4")) () ")")))) (; ";")) (expression_statement "unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0);" (assignment_expression "unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0)" (identifier "unaff_s1") (= "=") (cast_expression "(byte **)(**(code **)(iVar5 + -0x7e50))(0)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (call_expression "(**(code **)(iVar5 + -0x7e50))(0)" (parenthesized_expression "(**(code **)(iVar5 + -0x7e50))" (( "(") (pointer_expression "**(code **)(iVar5 + -0x7e50)" (* "*") (pointer_expression "*(code **)(iVar5 + -0x7e50)" (* "*") (cast_expression "(code **)(iVar5 + -0x7e50)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar5 + -0x7e50)" (( "(") (binary_expression "iVar5 + -0x7e50" (identifier "iVar5") (+ "+") (number_literal "-0x7e50")) () ")"))))) () ")")) (argument_list "(0)" (( "(") (number_literal "0") () ")"))))) (; ";")) (expression_statement "iVar5 = *(int *)(puVar25 + -0x50);" (assignment_expression "iVar5 = *(int *)(puVar25 + -0x50)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(puVar25 + -0x50)" (* "*") (cast_expression "(int *)(puVar25 + -0x50)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar25 + -0x50)" (( "(") (binary_expression "puVar25 + -0x50" (identifier "puVar25") (+ "+") (number_literal "-0x50")) () ")"))))) (; ";")) (if_statement "if (unaff_s1 == (byte **)0x0) {\nLAB_000b3a30:\n          pbVar4 = pbVar24;\n          (**(code **)(iVar5 + -0x7e2c))();\n          iVar5 = *(int *)(puVar25 + -0x50);\n          goto LAB_000b39d4;\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 "*" (* "*")))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_000b3a30:\n          pbVar4 = pbVar24;\n          (**(code **)(iVar5 + -0x7e2c))();\n          iVar5 = *(int *)(puVar25 + -0x50);\n          goto LAB_000b39d4;\n        }" ({ "{") (labeled_statement "LAB_000b3a30:\n          pbVar4 = pbVar24;" (statement_identifier "LAB_000b3a30") (: ":") (expression_statement "pbVar4 = pbVar24;" (assignment_expression "pbVar4 = pbVar24" (identifier "pbVar4") (= "=") (identifier "pbVar24")) (; ";"))) (expression_statement "(**(code **)(iVar5 + -0x7e2c))();" (call_expression "(**(code **)(iVar5 + -0x7e2c))()" (parenthesized_expression "(**(code **)(iVar5 + -0x7e2c))" (( "(") (pointer_expression "**(code **)(iVar5 + -0x7e2c)" (* "*") (pointer_expression "*(code **)(iVar5 + -0x7e2c)" (* "*") (cast_expression "(code **)(iVar5 + -0x7e2c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar5 + -0x7e2c)" (( "(") (binary_expression "iVar5 + -0x7e2c" (identifier "iVar5") (+ "+") (number_literal "-0x7e2c")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar5 = *(int *)(puVar25 + -0x50);" (assignment_expression "iVar5 = *(int *)(puVar25 + -0x50)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(puVar25 + -0x50)" (* "*") (cast_expression "(int *)(puVar25 + -0x50)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar25 + -0x50)" (( "(") (binary_expression "puVar25 + -0x50" (identifier "puVar25") (+ "+") (number_literal "-0x50")) () ")"))))) (; ";")) (goto_statement "goto LAB_000b39d4;" (goto "goto") (statement_identifier "LAB_000b39d4") (; ";")) (} "}"))) (expression_statement "*unaff_s1 = (byte *)0x0;" (assignment_expression "*unaff_s1 = (byte *)0x0" (pointer_expression "*unaff_s1" (* "*") (identifier "unaff_s1")) (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "unaff_s1[1] = (byte *)(*(int *)(iVar5 + -0x7fc8) + 0x538c);" (assignment_expression "unaff_s1[1] = (byte *)(*(int *)(iVar5 + -0x7fc8) + 0x538c)" (subscript_expression "unaff_s1[1]" (identifier "unaff_s1") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(byte *)(*(int *)(iVar5 + -0x7fc8) + 0x538c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar5 + -0x7fc8) + 0x538c)" (( "(") (binary_expression "*(int *)(iVar5 + -0x7fc8) + 0x538c" (pointer_expression "*(int *)(iVar5 + -0x7fc8)" (* "*") (cast_expression "(int *)(iVar5 + -0x7fc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + -0x7fc8)" (( "(") (binary_expression "iVar5 + -0x7fc8" (identifier "iVar5") (+ "+") (number_literal "-0x7fc8")) () ")")))) (+ "+") (number_literal "0x538c")) () ")")))) (; ";")) (expression_statement "unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c);" (assignment_expression "unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c)" (subscript_expression "unaff_s1[2]" (identifier "unaff_s1") ([ "[") (number_literal "2") (] "]")) (= "=") (cast_expression "(byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar5 + -0x7fb4) + -0x701c)" (( "(") (binary_expression "*(int *)(iVar5 + -0x7fb4) + -0x701c" (pointer_expression "*(int *)(iVar5 + -0x7fb4)" (* "*") (cast_expression "(int *)(iVar5 + -0x7fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + -0x7fb4)" (( "(") (binary_expression "iVar5 + -0x7fb4" (identifier "iVar5") (+ "+") (number_literal "-0x7fb4")) () ")")))) (+ "+") (number_literal "-0x701c")) () ")")))) (; ";")) (if_statement "if ((int)param_1 < (int)ppbVar17) {\n          unaff_s8 = pbVar20 + (int)param_1 * 4;\n          iVar11 = (int)ppbVar17 * 4;\n          ppbVar22 = unaff_s1 + 3;\n          do {\n            ppbVar17 = ppbVar22 + 1;\n            uVar19 = *(undefined4 *)unaff_s8;\n            unaff_s8 = unaff_s8 + 4;\n            pbVar21 = (byte *)(**(code **)(iVar5 + -0x7f9c))(uVar19);\n            iVar5 = *(int *)(puVar25 + -0x50);\n            *ppbVar22 = pbVar21;\n            ppbVar22 = ppbVar17;\n          } while (pbVar20 + iVar11 != unaff_s8);\n        }" (if "if") (parenthesized_expression "((int)param_1 < (int)ppbVar17)" (( "(") (binary_expression "(int)param_1 < (int)ppbVar17" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (< "<") (cast_expression "(int)ppbVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppbVar17"))) () ")")) (compound_statement "{\n          unaff_s8 = pbVar20 + (int)param_1 * 4;\n          iVar11 = (int)ppbVar17 * 4;\n          ppbVar22 = unaff_s1 + 3;\n          do {\n            ppbVar17 = ppbVar22 + 1;\n            uVar19 = *(undefined4 *)unaff_s8;\n            unaff_s8 = unaff_s8 + 4;\n            pbVar21 = (byte *)(**(code **)(iVar5 + -0x7f9c))(uVar19);\n            iVar5 = *(int *)(puVar25 + -0x50);\n            *ppbVar22 = pbVar21;\n            ppbVar22 = ppbVar17;\n          } while (pbVar20 + iVar11 != unaff_s8);\n        }" ({ "{") (expression_statement "unaff_s8 = pbVar20 + (int)param_1 * 4;" (assignment_expression "unaff_s8 = pbVar20 + (int)param_1 * 4" (identifier "unaff_s8") (= "=") (binary_expression "pbVar20 + (int)param_1 * 4" (identifier "pbVar20") (+ "+") (binary_expression "(int)param_1 * 4" (cast_expression "(int)param_1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_1")) (* "*") (number_literal "4")))) (; ";")) (expression_statement "iVar11 = (int)ppbVar17 * 4;" (assignment_expression "iVar11 = (int)ppbVar17 * 4" (identifier "iVar11") (= "=") (binary_expression "(int)ppbVar17 * 4" (cast_expression "(int)ppbVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppbVar17")) (* "*") (number_literal "4"))) (; ";")) (expression_statement "ppbVar22 = unaff_s1 + 3;" (assignment_expression "ppbVar22 = unaff_s1 + 3" (identifier "ppbVar22") (= "=") (binary_expression "unaff_s1 + 3" (identifier "unaff_s1") (+ "+") (number_literal "3"))) (; ";")) (do_statement "do {\n            ppbVar17 = ppbVar22 + 1;\n            uVar19 = *(undefined4 *)unaff_s8;\n            unaff_s8 = unaff_s8 + 4;\n            pbVar21 = (byte *)(**(code **)(iVar5 + -0x7f9c))(uVar19);\n            iVar5 = *(int *)(puVar25 + -0x50);\n            *ppbVar22 = pbVar21;\n            ppbVar22 = ppbVar17;\n          } while (pbVar20 + iVar11 != unaff_s8);" (do "do") (compound_statement "{\n            ppbVar17 = ppbVar22 + 1;\n            uVar19 = *(undefined4 *)unaff_s8;\n            unaff_s8 = unaff_s8 + 4;\n            pbVar21 = (byte *)(**(code **)(iVar5 + -0x7f9c))(uVar19);\n            iVar5 = *(int *)(puVar25 + -0x50);\n            *ppbVar22 = pbVar21;\n            ppbVar22 = ppbVar17;\n          }" ({ "{") (expression_statement "ppbVar17 = ppbVar22 + 1;" (assignment_expression "ppbVar17 = ppbVar22 + 1" (identifier "ppbVar17") (= "=") (binary_expression "ppbVar22 + 1" (identifier "ppbVar22") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar19 = *(undefined4 *)unaff_s8;" (assignment_expression "uVar19 = *(undefined4 *)unaff_s8" (identifier "uVar19") (= "=") (pointer_expression "*(undefined4 *)unaff_s8" (* "*") (cast_expression "(undefined4 *)unaff_s8" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "unaff_s8")))) (; ";")) (expression_statement "unaff_s8 = unaff_s8 + 4;" (assignment_expression "unaff_s8 = unaff_s8 + 4" (identifier "unaff_s8") (= "=") (binary_expression "unaff_s8 + 4" (identifier "unaff_s8") (+ "+") (number_literal "4"))) (; ";")) (expression_statement "pbVar21 = (byte *)(**(code **)(iVar5 + -0x7f9c))(uVar19);" (assignment_expression "pbVar21 = (byte *)(**(code **)(iVar5 + -0x7f9c))(uVar19)" (identifier "pbVar21") (= "=") (cast_expression "(byte *)(**(code **)(iVar5 + -0x7f9c))(uVar19)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(iVar5 + -0x7f9c))(uVar19)" (parenthesized_expression "(**(code **)(iVar5 + -0x7f9c))" (( "(") (pointer_expression "**(code **)(iVar5 + -0x7f9c)" (* "*") (pointer_expression "*(code **)(iVar5 + -0x7f9c)" (* "*") (cast_expression "(code **)(iVar5 + -0x7f9c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar5 + -0x7f9c)" (( "(") (binary_expression "iVar5 + -0x7f9c" (identifier "iVar5") (+ "+") (number_literal "-0x7f9c")) () ")"))))) () ")")) (argument_list "(uVar19)" (( "(") (identifier "uVar19") () ")"))))) (; ";")) (expression_statement "iVar5 = *(int *)(puVar25 + -0x50);" (assignment_expression "iVar5 = *(int *)(puVar25 + -0x50)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(puVar25 + -0x50)" (* "*") (cast_expression "(int *)(puVar25 + -0x50)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar25 + -0x50)" (( "(") (binary_expression "puVar25 + -0x50" (identifier "puVar25") (+ "+") (number_literal "-0x50")) () ")"))))) (; ";")) (expression_statement "*ppbVar22 = pbVar21;" (assignment_expression "*ppbVar22 = pbVar21" (pointer_expression "*ppbVar22" (* "*") (identifier "ppbVar22")) (= "=") (identifier "pbVar21")) (; ";")) (expression_statement "ppbVar22 = ppbVar17;" (assignment_expression "ppbVar22 = ppbVar17" (identifier "ppbVar22") (= "=") (identifier "ppbVar17")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pbVar20 + iVar11 != unaff_s8)" (( "(") (binary_expression "pbVar20 + iVar11 != unaff_s8" (binary_expression "pbVar20 + iVar11" (identifier "pbVar20") (+ "+") (identifier "iVar11")) (!= "!=") (identifier "unaff_s8")) () ")")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n        if (ppbVar17 != (byte **)0x1) {\n          param_1 = (byte **)&SUB_00000002;\n          uVar19 = (**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)(pbVar20 + 4));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          *(undefined4 *)(puVar25 + -0x3c) = uVar19;\n          goto LAB_000b38a0;\n        }\n        ppbVar22 = (byte **)&DAT_0000000c;\n        unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (unaff_s1 == (byte **)0x0) goto LAB_000b3a30;\n        iVar11 = *(int *)(iVar5 + -0x7fc8);\n        unaff_s5 = (byte *)0x3;\n        *unaff_s1 = (byte *)0x0;\n        unaff_s1[1] = (byte *)(iVar11 + 0x538c);\n        *(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050;\n        unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c);\n      }" (else "else") (compound_statement "{\n        if (ppbVar17 != (byte **)0x1) {\n          param_1 = (byte **)&SUB_00000002;\n          uVar19 = (**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)(pbVar20 + 4));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          *(undefined4 *)(puVar25 + -0x3c) = uVar19;\n          goto LAB_000b38a0;\n        }\n        ppbVar22 = (byte **)&DAT_0000000c;\n        unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (unaff_s1 == (byte **)0x0) goto LAB_000b3a30;\n        iVar11 = *(int *)(iVar5 + -0x7fc8);\n        unaff_s5 = (byte *)0x3;\n        *unaff_s1 = (byte *)0x0;\n        unaff_s1[1] = (byte *)(iVar11 + 0x538c);\n        *(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050;\n        unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c);\n      }" ({ "{") (if_statement "if (ppbVar17 != (byte **)0x1) {\n          param_1 = (byte **)&SUB_00000002;\n          uVar19 = (**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)(pbVar20 + 4));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          *(undefined4 *)(puVar25 + -0x3c) = uVar19;\n          goto LAB_000b38a0;\n        }" (if "if") (parenthesized_expression "(ppbVar17 != (byte **)0x1)" (( "(") (binary_expression "ppbVar17 != (byte **)0x1" (identifier "ppbVar17") (!= "!=") (cast_expression "(byte **)0x1" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x1"))) () ")")) (compound_statement "{\n          param_1 = (byte **)&SUB_00000002;\n          uVar19 = (**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)(pbVar20 + 4));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          *(undefined4 *)(puVar25 + -0x3c) = uVar19;\n          goto LAB_000b38a0;\n        }" ({ "{") (expression_statement "param_1 = (byte **)&SUB_00000002;" (assignment_expression "param_1 = (byte **)&SUB_00000002" (identifier "param_1") (= "=") (cast_expression "(byte **)&SUB_00000002" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "&SUB_00000002" (& "&") (identifier "SUB_00000002")))) (; ";")) (expression_statement "uVar19 = (**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)(pbVar20 + 4));" (assignment_expression "uVar19 = (**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)(pbVar20 + 4))" (identifier "uVar19") (= "=") (call_expression "(**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)(pbVar20 + 4))" (parenthesized_expression "(**(code **)(iVar5 + -0x7f9c))" (( "(") (pointer_expression "**(code **)(iVar5 + -0x7f9c)" (* "*") (pointer_expression "*(code **)(iVar5 + -0x7f9c)" (* "*") (cast_expression "(code **)(iVar5 + -0x7f9c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar5 + -0x7f9c)" (( "(") (binary_expression "iVar5 + -0x7f9c" (identifier "iVar5") (+ "+") (number_literal "-0x7f9c")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(pbVar20 + 4))" (( "(") (pointer_expression "*(undefined4 *)(pbVar20 + 4)" (* "*") (cast_expression "(undefined4 *)(pbVar20 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pbVar20 + 4)" (( "(") (binary_expression "pbVar20 + 4" (identifier "pbVar20") (+ "+") (number_literal "4")) () ")")))) () ")")))) (; ";")) (expression_statement "iVar5 = *(int *)(puVar25 + -0x50);" (assignment_expression "iVar5 = *(int *)(puVar25 + -0x50)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(puVar25 + -0x50)" (* "*") (cast_expression "(int *)(puVar25 + -0x50)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar25 + -0x50)" (( "(") (binary_expression "puVar25 + -0x50" (identifier "puVar25") (+ "+") (number_literal "-0x50")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar25 + -0x3c) = uVar19;" (assignment_expression "*(undefined4 *)(puVar25 + -0x3c) = uVar19" (pointer_expression "*(undefined4 *)(puVar25 + -0x3c)" (* "*") (cast_expression "(undefined4 *)(puVar25 + -0x3c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar25 + -0x3c)" (( "(") (binary_expression "puVar25 + -0x3c" (identifier "puVar25") (+ "+") (number_literal "-0x3c")) () ")")))) (= "=") (identifier "uVar19")) (; ";")) (goto_statement "goto LAB_000b38a0;" (goto "goto") (statement_identifier "LAB_000b38a0") (; ";")) (} "}"))) (expression_statement "ppbVar22 = (byte **)&DAT_0000000c;" (assignment_expression "ppbVar22 = (byte **)&DAT_0000000c" (identifier "ppbVar22") (= "=") (cast_expression "(byte **)&DAT_0000000c" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "&DAT_0000000c" (& "&") (identifier "DAT_0000000c")))) (; ";")) (expression_statement "unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0);" (assignment_expression "unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0)" (identifier "unaff_s1") (= "=") (cast_expression "(byte **)(**(code **)(iVar5 + -0x7e50))(0)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (call_expression "(**(code **)(iVar5 + -0x7e50))(0)" (parenthesized_expression "(**(code **)(iVar5 + -0x7e50))" (( "(") (pointer_expression "**(code **)(iVar5 + -0x7e50)" (* "*") (pointer_expression "*(code **)(iVar5 + -0x7e50)" (* "*") (cast_expression "(code **)(iVar5 + -0x7e50)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar5 + -0x7e50)" (( "(") (binary_expression "iVar5 + -0x7e50" (identifier "iVar5") (+ "+") (number_literal "-0x7e50")) () ")"))))) () ")")) (argument_list "(0)" (( "(") (number_literal "0") () ")"))))) (; ";")) (expression_statement "iVar5 = *(int *)(puVar25 + -0x50);" (assignment_expression "iVar5 = *(int *)(puVar25 + -0x50)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(puVar25 + -0x50)" (* "*") (cast_expression "(int *)(puVar25 + -0x50)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar25 + -0x50)" (( "(") (binary_expression "puVar25 + -0x50" (identifier "puVar25") (+ "+") (number_literal "-0x50")) () ")"))))) (; ";")) (if_statement "if (unaff_s1 == (byte **)0x0) goto LAB_000b3a30;" (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 "*" (* "*")))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000b3a30;" (goto "goto") (statement_identifier "LAB_000b3a30") (; ";"))) (expression_statement "iVar11 = *(int *)(iVar5 + -0x7fc8);" (assignment_expression "iVar11 = *(int *)(iVar5 + -0x7fc8)" (identifier "iVar11") (= "=") (pointer_expression "*(int *)(iVar5 + -0x7fc8)" (* "*") (cast_expression "(int *)(iVar5 + -0x7fc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + -0x7fc8)" (( "(") (binary_expression "iVar5 + -0x7fc8" (identifier "iVar5") (+ "+") (number_literal "-0x7fc8")) () ")"))))) (; ";")) (expression_statement "unaff_s5 = (byte *)0x3;" (assignment_expression "unaff_s5 = (byte *)0x3" (identifier "unaff_s5") (= "=") (cast_expression "(byte *)0x3" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x3"))) (; ";")) (expression_statement "*unaff_s1 = (byte *)0x0;" (assignment_expression "*unaff_s1 = (byte *)0x0" (pointer_expression "*unaff_s1" (* "*") (identifier "unaff_s1")) (= "=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "unaff_s1[1] = (byte *)(iVar11 + 0x538c);" (assignment_expression "unaff_s1[1] = (byte *)(iVar11 + 0x538c)" (subscript_expression "unaff_s1[1]" (identifier "unaff_s1") ([ "[") (number_literal "1") (] "]")) (= "=") (cast_expression "(byte *)(iVar11 + 0x538c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar11 + 0x538c)" (( "(") (binary_expression "iVar11 + 0x538c" (identifier "iVar11") (+ "+") (number_literal "0x538c")) () ")")))) (; ";")) (expression_statement "*(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050;" (assignment_expression "*(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050" (pointer_expression "*(int *)(puVar25 + -0x3c)" (* "*") (cast_expression "(int *)(puVar25 + -0x3c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar25 + -0x3c)" (( "(") (binary_expression "puVar25 + -0x3c" (identifier "puVar25") (+ "+") (number_literal "-0x3c")) () ")")))) (= "=") (binary_expression "*(int *)(iVar5 + -0x7fb4) + -0x7050" (pointer_expression "*(int *)(iVar5 + -0x7fb4)" (* "*") (cast_expression "(int *)(iVar5 + -0x7fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + -0x7fb4)" (( "(") (binary_expression "iVar5 + -0x7fb4" (identifier "iVar5") (+ "+") (number_literal "-0x7fb4")) () ")")))) (+ "+") (number_literal "-0x7050"))) (; ";")) (expression_statement "unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c);" (assignment_expression "unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c)" (subscript_expression "unaff_s1[2]" (identifier "unaff_s1") ([ "[") (number_literal "2") (] "]")) (= "=") (cast_expression "(byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar5 + -0x7fb4) + -0x701c)" (( "(") (binary_expression "*(int *)(iVar5 + -0x7fb4) + -0x701c" (pointer_expression "*(int *)(iVar5 + -0x7fb4)" (* "*") (cast_expression "(int *)(iVar5 + -0x7fb4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + -0x7fb4)" (( "(") (binary_expression "iVar5 + -0x7fb4" (identifier "iVar5") (+ "+") (number_literal "-0x7fb4")) () ")")))) (+ "+") (number_literal "-0x701c")) () ")")))) (; ";")) (} "}")))) (expression_statement "param_1 = (byte **)(puVar25 + -0x38);" (assignment_expression "param_1 = (byte **)(puVar25 + -0x38)" (identifier "param_1") (= "=") (cast_expression "(byte **)(puVar25 + -0x38)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar25 + -0x38)" (( "(") (binary_expression "puVar25 + -0x38" (identifier "puVar25") (+ "+") (number_literal "-0x38")) () ")")))) (; ";")) (expression_statement "unaff_s3 = (byte *)(**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)pbVar20);" (assignment_expression "unaff_s3 = (byte *)(**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)pbVar20)" (identifier "unaff_s3") (= "=") (cast_expression "(byte *)(**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)pbVar20)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)pbVar20)" (parenthesized_expression "(**(code **)(iVar5 + -0x7f9c))" (( "(") (pointer_expression "**(code **)(iVar5 + -0x7f9c)" (* "*") (pointer_expression "*(code **)(iVar5 + -0x7f9c)" (* "*") (cast_expression "(code **)(iVar5 + -0x7f9c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar5 + -0x7f9c)" (( "(") (binary_expression "iVar5 + -0x7f9c" (identifier "iVar5") (+ "+") (number_literal "-0x7f9c")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)pbVar20)" (( "(") (pointer_expression "*(undefined4 *)pbVar20" (* "*") (cast_expression "(undefined4 *)pbVar20" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pbVar20"))) () ")"))))) (; ";")) (expression_statement "*(byte ***)(puVar25 + -0x54) = param_1;" (assignment_expression "*(byte ***)(puVar25 + -0x54) = param_1" (pointer_expression "*(byte ***)(puVar25 + -0x54)" (* "*") (cast_expression "(byte ***)(puVar25 + -0x54)" (( "(") (type_descriptor "byte ***" (type_identifier "byte") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar25 + -0x54)" (( "(") (binary_expression "puVar25 + -0x54" (identifier "puVar25") (+ "+") (number_literal "-0x54")) () ")")))) (= "=") (identifier "param_1")) (; ";")) (expression_statement "*(undefined1 **)(puVar25 + -0x58) = puVar25 + -0x30;" (assignment_expression "*(undefined1 **)(puVar25 + -0x58) = puVar25 + -0x30" (pointer_expression "*(undefined1 **)(puVar25 + -0x58)" (* "*") (cast_expression "(undefined1 **)(puVar25 + -0x58)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar25 + -0x58)" (( "(") (binary_expression "puVar25 + -0x58" (identifier "puVar25") (+ "+") (number_literal "-0x58")) () ")")))) (= "=") (binary_expression "puVar25 + -0x30" (identifier "puVar25") (+ "+") (number_literal "-0x30"))) (; ";")) (expression_statement "pbVar21 = unaff_s5;" (assignment_expression "pbVar21 = unaff_s5" (identifier "pbVar21") (= "=") (identifier "unaff_s5")) (; ";")) (expression_statement "ppbVar22 = (byte **)FUN_000961e8(*(undefined4 *)(puVar25 + -0x44),\n                                       *(undefined4 *)(puVar25 + -0x40),unaff_s5,unaff_s1);" (assignment_expression "ppbVar22 = (byte **)FUN_000961e8(*(undefined4 *)(puVar25 + -0x44),\n                                       *(undefined4 *)(puVar25 + -0x40),unaff_s5,unaff_s1)" (identifier "ppbVar22") (= "=") (cast_expression "(byte **)FUN_000961e8(*(undefined4 *)(puVar25 + -0x44),\n                                       *(undefined4 *)(puVar25 + -0x40),unaff_s5,unaff_s1)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (call_expression "FUN_000961e8(*(undefined4 *)(puVar25 + -0x44),\n                                       *(undefined4 *)(puVar25 + -0x40),unaff_s5,unaff_s1)" (identifier "FUN_000961e8") (argument_list "(*(undefined4 *)(puVar25 + -0x44),\n                                       *(undefined4 *)(puVar25 + -0x40),unaff_s5,unaff_s1)" (( "(") (pointer_expression "*(undefined4 *)(puVar25 + -0x44)" (* "*") (cast_expression "(undefined4 *)(puVar25 + -0x44)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar25 + -0x44)" (( "(") (binary_expression "puVar25 + -0x44" (identifier "puVar25") (+ "+") (number_literal "-0x44")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(puVar25 + -0x40)" (* "*") (cast_expression "(undefined4 *)(puVar25 + -0x40)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar25 + -0x40)" (( "(") (binary_expression "puVar25 + -0x40" (identifier "puVar25") (+ "+") (number_literal "-0x40")) () ")")))) (, ",") (identifier "unaff_s5") (, ",") (identifier "unaff_s1") () ")"))))) (; ";")) (expression_statement "iVar5 = *(int *)(puVar25 + -0x50);" (assignment_expression "iVar5 = *(int *)(puVar25 + -0x50)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(puVar25 + -0x50)" (* "*") (cast_expression "(int *)(puVar25 + -0x50)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar25 + -0x50)" (( "(") (binary_expression "puVar25 + -0x50" (identifier "puVar25") (+ "+") (number_literal "-0x50")) () ")"))))) (; ";")) (if_statement "if (ppbVar22 == (byte **)0x0) {\n        uVar19 = *(undefined4 *)(*(int *)(puVar25 + -0x30) + 0xc);\n        *(byte ***)(puVar25 + -0x58) = param_1;\n        pbVar20 = unaff_s3;\n        ppbVar22 = (byte **)FUN_000b2950(*(int *)(puVar25 + -0x30),uVar19,unaff_s3,puVar25 + -0x34);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        pbVar21 = pbVar20;\n        if (ppbVar22 != (byte **)0x0) goto LAB_000b3964;\n        pbVar21 = *(byte **)(*(int *)(puVar25 + -0x34) + 8);\n        if (*(int *)(pbVar21 + 0xc) == 0) {\n          param_1 = (byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fc8) + 0x53f4);\n          iVar5 = *(int *)(puVar25 + -0x50);\nLAB_000b3aa4:\n          ppbVar10 = *(byte ***)(puVar25 + -0x38);\n          pbVar21 = pbVar20;\n          if (param_1 != (byte **)0x0) goto LAB_000b3aac;\nLAB_000b3b54:\n          ppbVar22 = (byte **)&DAT_00000007;\n          if (ppbVar10 == (byte **)0x0) {\n            pcVar13 = *(code **)(iVar5 + -0x7e34);\n            goto LAB_000b3b60;\n          }\n          goto LAB_000b3970;\n        }\n        if (pbVar9 == (byte *)0x0) {\n          param_1 = (byte **)FUN_00097660();\n          iVar5 = *(int *)(puVar25 + -0x50);\n          goto LAB_000b3aa4;\n        }\n        param_1 = (byte **)FUN_00097234(*(undefined4 *)(puVar25 + -0x30),\n                                        *(undefined4 *)(puVar25 + -0x3c));\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (param_1 == (byte **)0x0) {\n          ppbVar10 = *(byte ***)(puVar25 + -0x38);\n          goto LAB_000b3b54;\n        }\nLAB_000b3aac:\n        pbVar21 = (byte *)0xffffffff;\n        ppbVar22 = param_1;\n        (**(code **)(iVar5 + -0x7f34))(pbVar24,param_1,0xffffffff,0xffffffff);\n        (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(param_1);\n        iVar5 = *(int *)(puVar25 + -0x50);\n      }\n      else {\nLAB_000b3964:\n        ppbVar10 = *(byte ***)(puVar25 + -0x38);\n        pcVar13 = *(code **)(iVar5 + -0x7e34);\n        if (ppbVar10 == (byte **)0x0) {\nLAB_000b3b60:\n          (*pcVar13)(pbVar24);\n          iVar5 = *(int *)(puVar25 + -0x50);\n        }\n        else {\nLAB_000b3970:\n          pbVar21 = (byte *)0xffffffff;\n          (**(code **)(iVar5 + -0x7e40))(pbVar24);\n          (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(*(undefined4 *)(puVar25 + -0x38));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          ppbVar22 = ppbVar10;\n        }\n      }" (if "if") (parenthesized_expression "(ppbVar22 == (byte **)0x0)" (( "(") (binary_expression "ppbVar22 == (byte **)0x0" (identifier "ppbVar22") (== "==") (cast_expression "(byte **)0x0" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        uVar19 = *(undefined4 *)(*(int *)(puVar25 + -0x30) + 0xc);\n        *(byte ***)(puVar25 + -0x58) = param_1;\n        pbVar20 = unaff_s3;\n        ppbVar22 = (byte **)FUN_000b2950(*(int *)(puVar25 + -0x30),uVar19,unaff_s3,puVar25 + -0x34);\n        iVar5 = *(int *)(puVar25 + -0x50);\n        pbVar21 = pbVar20;\n        if (ppbVar22 != (byte **)0x0) goto LAB_000b3964;\n        pbVar21 = *(byte **)(*(int *)(puVar25 + -0x34) + 8);\n        if (*(int *)(pbVar21 + 0xc) == 0) {\n          param_1 = (byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fc8) + 0x53f4);\n          iVar5 = *(int *)(puVar25 + -0x50);\nLAB_000b3aa4:\n          ppbVar10 = *(byte ***)(puVar25 + -0x38);\n          pbVar21 = pbVar20;\n          if (param_1 != (byte **)0x0) goto LAB_000b3aac;\nLAB_000b3b54:\n          ppbVar22 = (byte **)&DAT_00000007;\n          if (ppbVar10 == (byte **)0x0) {\n            pcVar13 = *(code **)(iVar5 + -0x7e34);\n            goto LAB_000b3b60;\n          }\n          goto LAB_000b3970;\n        }\n        if (pbVar9 == (byte *)0x0) {\n          param_1 = (byte **)FUN_00097660();\n          iVar5 = *(int *)(puVar25 + -0x50);\n          goto LAB_000b3aa4;\n        }\n        param_1 = (byte **)FUN_00097234(*(undefined4 *)(puVar25 + -0x30),\n                                        *(undefined4 *)(puVar25 + -0x3c));\n        iVar5 = *(int *)(puVar25 + -0x50);\n        if (param_1 == (byte **)0x0) {\n          ppbVar10 = *(byte ***)(puVar25 + -0x38);\n          goto LAB_000b3b54;\n        }\nLAB_000b3aac:\n        pbVar21 = (byte *)0xffffffff;\n        ppbVar22 = param_1;\n        (**(code **)(iVar5 + -0x7f34))(pbVar24,param_1,0xffffffff,0xffffffff);\n        (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(param_1);\n        iVar5 = *(int *)(puVar25 + -0x50);\n      }" ({ "{") (expression_statement "uVar19 = *(undefined4 *)(*(int *)(puVar25 + -0x30) + 0xc);" (assignment_expression "uVar19 = *(undefined4 *)(*(int *)(puVar25 + -0x30) + 0xc)" (identifier "uVar19") (= "=") (pointer_expression "*(undefined4 *)(*(int *)(puVar25 + -0x30) + 0xc)" (* "*") (cast_expression "(undefined4 *)(*(int *)(puVar25 + -0x30) + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar25 + -0x30) + 0xc)" (( "(") (binary_expression "*(int *)(puVar25 + -0x30) + 0xc" (pointer_expression "*(int *)(puVar25 + -0x30)" (* "*") (cast_expression "(int *)(puVar25 + -0x30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar25 + -0x30)" (( "(") (binary_expression "puVar25 + -0x30" (identifier "puVar25") (+ "+") (number_literal "-0x30")) () ")")))) (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "*(byte ***)(puVar25 + -0x58) = param_1;" (assignment_expression "*(byte ***)(puVar25 + -0x58) = param_1" (pointer_expression "*(byte ***)(puVar25 + -0x58)" (* "*") (cast_expression "(byte ***)(puVar25 + -0x58)" (( "(") (type_descriptor "byte ***" (type_identifier "byte") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar25 + -0x58)" (( "(") (binary_expression "puVar25 + -0x58" (identifier "puVar25") (+ "+") (number_literal "-0x58")) () ")")))) (= "=") (identifier "param_1")) (; ";")) (expression_statement "pbVar20 = unaff_s3;" (assignment_expression "pbVar20 = unaff_s3" (identifier "pbVar20") (= "=") (identifier "unaff_s3")) (; ";")) (expression_statement "ppbVar22 = (byte **)FUN_000b2950(*(int *)(puVar25 + -0x30),uVar19,unaff_s3,puVar25 + -0x34);" (assignment_expression "ppbVar22 = (byte **)FUN_000b2950(*(int *)(puVar25 + -0x30),uVar19,unaff_s3,puVar25 + -0x34)" (identifier "ppbVar22") (= "=") (cast_expression "(byte **)FUN_000b2950(*(int *)(puVar25 + -0x30),uVar19,unaff_s3,puVar25 + -0x34)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (call_expression "FUN_000b2950(*(int *)(puVar25 + -0x30),uVar19,unaff_s3,puVar25 + -0x34)" (identifier "FUN_000b2950") (argument_list "(*(int *)(puVar25 + -0x30),uVar19,unaff_s3,puVar25 + -0x34)" (( "(") (pointer_expression "*(int *)(puVar25 + -0x30)" (* "*") (cast_expression "(int *)(puVar25 + -0x30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar25 + -0x30)" (( "(") (binary_expression "puVar25 + -0x30" (identifier "puVar25") (+ "+") (number_literal "-0x30")) () ")")))) (, ",") (identifier "uVar19") (, ",") (identifier "unaff_s3") (, ",") (binary_expression "puVar25 + -0x34" (identifier "puVar25") (+ "+") (number_literal "-0x34")) () ")"))))) (; ";")) (expression_statement "iVar5 = *(int *)(puVar25 + -0x50);" (assignment_expression "iVar5 = *(int *)(puVar25 + -0x50)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(puVar25 + -0x50)" (* "*") (cast_expression "(int *)(puVar25 + -0x50)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar25 + -0x50)" (( "(") (binary_expression "puVar25 + -0x50" (identifier "puVar25") (+ "+") (number_literal "-0x50")) () ")"))))) (; ";")) (expression_statement "pbVar21 = pbVar20;" (assignment_expression "pbVar21 = pbVar20" (identifier "pbVar21") (= "=") (identifier "pbVar20")) (; ";")) (if_statement "if (ppbVar22 != (byte **)0x0) goto LAB_000b3964;" (if "if") (parenthesized_expression "(ppbVar22 != (byte **)0x0)" (( "(") (binary_expression "ppbVar22 != (byte **)0x0" (identifier "ppbVar22") (!= "!=") (cast_expression "(byte **)0x0" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000b3964;" (goto "goto") (statement_identifier "LAB_000b3964") (; ";"))) (expression_statement "pbVar21 = *(byte **)(*(int *)(puVar25 + -0x34) + 8);" (assignment_expression "pbVar21 = *(byte **)(*(int *)(puVar25 + -0x34) + 8)" (identifier "pbVar21") (= "=") (pointer_expression "*(byte **)(*(int *)(puVar25 + -0x34) + 8)" (* "*") (cast_expression "(byte **)(*(int *)(puVar25 + -0x34) + 8)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(puVar25 + -0x34) + 8)" (( "(") (binary_expression "*(int *)(puVar25 + -0x34) + 8" (pointer_expression "*(int *)(puVar25 + -0x34)" (* "*") (cast_expression "(int *)(puVar25 + -0x34)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar25 + -0x34)" (( "(") (binary_expression "puVar25 + -0x34" (identifier "puVar25") (+ "+") (number_literal "-0x34")) () ")")))) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if (*(int *)(pbVar21 + 0xc) == 0) {\n          param_1 = (byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fc8) + 0x53f4);\n          iVar5 = *(int *)(puVar25 + -0x50);\nLAB_000b3aa4:\n          ppbVar10 = *(byte ***)(puVar25 + -0x38);\n          pbVar21 = pbVar20;\n          if (param_1 != (byte **)0x0) goto LAB_000b3aac;\nLAB_000b3b54:\n          ppbVar22 = (byte **)&DAT_00000007;\n          if (ppbVar10 == (byte **)0x0) {\n            pcVar13 = *(code **)(iVar5 + -0x7e34);\n            goto LAB_000b3b60;\n          }\n          goto LAB_000b3970;\n        }" (if "if") (parenthesized_expression "(*(int *)(pbVar21 + 0xc) == 0)" (( "(") (binary_expression "*(int *)(pbVar21 + 0xc) == 0" (pointer_expression "*(int *)(pbVar21 + 0xc)" (* "*") (cast_expression "(int *)(pbVar21 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pbVar21 + 0xc)" (( "(") (binary_expression "pbVar21 + 0xc" (identifier "pbVar21") (+ "+") (number_literal "0xc")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          param_1 = (byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fc8) + 0x53f4);\n          iVar5 = *(int *)(puVar25 + -0x50);\nLAB_000b3aa4:\n          ppbVar10 = *(byte ***)(puVar25 + -0x38);\n          pbVar21 = pbVar20;\n          if (param_1 != (byte **)0x0) goto LAB_000b3aac;\nLAB_000b3b54:\n          ppbVar22 = (byte **)&DAT_00000007;\n          if (ppbVar10 == (byte **)0x0) {\n            pcVar13 = *(code **)(iVar5 + -0x7e34);\n            goto LAB_000b3b60;\n          }\n          goto LAB_000b3970;\n        }" ({ "{") (expression_statement "param_1 = (byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fc8) + 0x53f4);" (assignment_expression "param_1 = (byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fc8) + 0x53f4)" (identifier "param_1") (= "=") (cast_expression "(byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fc8) + 0x53f4)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (call_expression "(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fc8) + 0x53f4)" (parenthesized_expression "(**(code **)(iVar5 + -0x7f88))" (( "(") (pointer_expression "**(code **)(iVar5 + -0x7f88)" (* "*") (pointer_expression "*(code **)(iVar5 + -0x7f88)" (* "*") (cast_expression "(code **)(iVar5 + -0x7f88)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar5 + -0x7f88)" (( "(") (binary_expression "iVar5 + -0x7f88" (identifier "iVar5") (+ "+") (number_literal "-0x7f88")) () ")"))))) () ")")) (argument_list "(*(int *)(iVar5 + -0x7fc8) + 0x53f4)" (( "(") (binary_expression "*(int *)(iVar5 + -0x7fc8) + 0x53f4" (pointer_expression "*(int *)(iVar5 + -0x7fc8)" (* "*") (cast_expression "(int *)(iVar5 + -0x7fc8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar5 + -0x7fc8)" (( "(") (binary_expression "iVar5 + -0x7fc8" (identifier "iVar5") (+ "+") (number_literal "-0x7fc8")) () ")")))) (+ "+") (number_literal "0x53f4")) () ")"))))) (; ";")) (expression_statement "iVar5 = *(int *)(puVar25 + -0x50);" (assignment_expression "iVar5 = *(int *)(puVar25 + -0x50)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(puVar25 + -0x50)" (* "*") (cast_expression "(int *)(puVar25 + -0x50)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar25 + -0x50)" (( "(") (binary_expression "puVar25 + -0x50" (identifier "puVar25") (+ "+") (number_literal "-0x50")) () ")"))))) (; ";")) (labeled_statement "LAB_000b3aa4:\n          ppbVar10 = *(byte ***)(puVar25 + -0x38);" (statement_identifier "LAB_000b3aa4") (: ":") (expression_statement "ppbVar10 = *(byte ***)(puVar25 + -0x38);" (assignment_expression "ppbVar10 = *(byte ***)(puVar25 + -0x38)" (identifier "ppbVar10") (= "=") (pointer_expression "*(byte ***)(puVar25 + -0x38)" (* "*") (cast_expression "(byte ***)(puVar25 + -0x38)" (( "(") (type_descriptor "byte ***" (type_identifier "byte") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar25 + -0x38)" (( "(") (binary_expression "puVar25 + -0x38" (identifier "puVar25") (+ "+") (number_literal "-0x38")) () ")"))))) (; ";"))) (expression_statement "pbVar21 = pbVar20;" (assignment_expression "pbVar21 = pbVar20" (identifier "pbVar21") (= "=") (identifier "pbVar20")) (; ";")) (if_statement "if (param_1 != (byte **)0x0) goto LAB_000b3aac;" (if "if") (parenthesized_expression "(param_1 != (byte **)0x0)" (( "(") (binary_expression "param_1 != (byte **)0x0" (identifier "param_1") (!= "!=") (cast_expression "(byte **)0x0" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000b3aac;" (goto "goto") (statement_identifier "LAB_000b3aac") (; ";"))) (labeled_statement "LAB_000b3b54:\n          ppbVar22 = (byte **)&DAT_00000007;" (statement_identifier "LAB_000b3b54") (: ":") (expression_statement "ppbVar22 = (byte **)&DAT_00000007;" (assignment_expression "ppbVar22 = (byte **)&DAT_00000007" (identifier "ppbVar22") (= "=") (cast_expression "(byte **)&DAT_00000007" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "&DAT_00000007" (& "&") (identifier "DAT_00000007")))) (; ";"))) (if_statement "if (ppbVar10 == (byte **)0x0) {\n            pcVar13 = *(code **)(iVar5 + -0x7e34);\n            goto LAB_000b3b60;\n          }" (if "if") (parenthesized_expression "(ppbVar10 == (byte **)0x0)" (( "(") (binary_expression "ppbVar10 == (byte **)0x0" (identifier "ppbVar10") (== "==") (cast_expression "(byte **)0x0" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            pcVar13 = *(code **)(iVar5 + -0x7e34);\n            goto LAB_000b3b60;\n          }" ({ "{") (expression_statement "pcVar13 = *(code **)(iVar5 + -0x7e34);" (assignment_expression "pcVar13 = *(code **)(iVar5 + -0x7e34)" (identifier "pcVar13") (= "=") (pointer_expression "*(code **)(iVar5 + -0x7e34)" (* "*") (cast_expression "(code **)(iVar5 + -0x7e34)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar5 + -0x7e34)" (( "(") (binary_expression "iVar5 + -0x7e34" (identifier "iVar5") (+ "+") (number_literal "-0x7e34")) () ")"))))) (; ";")) (goto_statement "goto LAB_000b3b60;" (goto "goto") (statement_identifier "LAB_000b3b60") (; ";")) (} "}"))) (goto_statement "goto LAB_000b3970;" (goto "goto") (statement_identifier "LAB_000b3970") (; ";")) (} "}"))) (if_statement "if (pbVar9 == (byte *)0x0) {\n          param_1 = (byte **)FUN_00097660();\n          iVar5 = *(int *)(puVar25 + -0x50);\n          goto LAB_000b3aa4;\n        }" (if "if") (parenthesized_expression "(pbVar9 == (byte *)0x0)" (( "(") (binary_expression "pbVar9 == (byte *)0x0" (identifier "pbVar9") (== "==") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          param_1 = (byte **)FUN_00097660();\n          iVar5 = *(int *)(puVar25 + -0x50);\n          goto LAB_000b3aa4;\n        }" ({ "{") (expression_statement "param_1 = (byte **)FUN_00097660();" (assignment_expression "param_1 = (byte **)FUN_00097660()" (identifier "param_1") (= "=") (cast_expression "(byte **)FUN_00097660()" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (call_expression "FUN_00097660()" (identifier "FUN_00097660") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "iVar5 = *(int *)(puVar25 + -0x50);" (assignment_expression "iVar5 = *(int *)(puVar25 + -0x50)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(puVar25 + -0x50)" (* "*") (cast_expression "(int *)(puVar25 + -0x50)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar25 + -0x50)" (( "(") (binary_expression "puVar25 + -0x50" (identifier "puVar25") (+ "+") (number_literal "-0x50")) () ")"))))) (; ";")) (goto_statement "goto LAB_000b3aa4;" (goto "goto") (statement_identifier "LAB_000b3aa4") (; ";")) (} "}"))) (expression_statement "param_1 = (byte **)FUN_00097234(*(undefined4 *)(puVar25 + -0x30),\n                                        *(undefined4 *)(puVar25 + -0x3c));" (assignment_expression "param_1 = (byte **)FUN_00097234(*(undefined4 *)(puVar25 + -0x30),\n                                        *(undefined4 *)(puVar25 + -0x3c))" (identifier "param_1") (= "=") (cast_expression "(byte **)FUN_00097234(*(undefined4 *)(puVar25 + -0x30),\n                                        *(undefined4 *)(puVar25 + -0x3c))" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (call_expression "FUN_00097234(*(undefined4 *)(puVar25 + -0x30),\n                                        *(undefined4 *)(puVar25 + -0x3c))" (identifier "FUN_00097234") (argument_list "(*(undefined4 *)(puVar25 + -0x30),\n                                        *(undefined4 *)(puVar25 + -0x3c))" (( "(") (pointer_expression "*(undefined4 *)(puVar25 + -0x30)" (* "*") (cast_expression "(undefined4 *)(puVar25 + -0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar25 + -0x30)" (( "(") (binary_expression "puVar25 + -0x30" (identifier "puVar25") (+ "+") (number_literal "-0x30")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(puVar25 + -0x3c)" (* "*") (cast_expression "(undefined4 *)(puVar25 + -0x3c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar25 + -0x3c)" (( "(") (binary_expression "puVar25 + -0x3c" (identifier "puVar25") (+ "+") (number_literal "-0x3c")) () ")")))) () ")"))))) (; ";")) (expression_statement "iVar5 = *(int *)(puVar25 + -0x50);" (assignment_expression "iVar5 = *(int *)(puVar25 + -0x50)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(puVar25 + -0x50)" (* "*") (cast_expression "(int *)(puVar25 + -0x50)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar25 + -0x50)" (( "(") (binary_expression "puVar25 + -0x50" (identifier "puVar25") (+ "+") (number_literal "-0x50")) () ")"))))) (; ";")) (if_statement "if (param_1 == (byte **)0x0) {\n          ppbVar10 = *(byte ***)(puVar25 + -0x38);\n          goto LAB_000b3b54;\n        }" (if "if") (parenthesized_expression "(param_1 == (byte **)0x0)" (( "(") (binary_expression "param_1 == (byte **)0x0" (identifier "param_1") (== "==") (cast_expression "(byte **)0x0" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          ppbVar10 = *(byte ***)(puVar25 + -0x38);\n          goto LAB_000b3b54;\n        }" ({ "{") (expression_statement "ppbVar10 = *(byte ***)(puVar25 + -0x38);" (assignment_expression "ppbVar10 = *(byte ***)(puVar25 + -0x38)" (identifier "ppbVar10") (= "=") (pointer_expression "*(byte ***)(puVar25 + -0x38)" (* "*") (cast_expression "(byte ***)(puVar25 + -0x38)" (( "(") (type_descriptor "byte ***" (type_identifier "byte") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar25 + -0x38)" (( "(") (binary_expression "puVar25 + -0x38" (identifier "puVar25") (+ "+") (number_literal "-0x38")) () ")"))))) (; ";")) (goto_statement "goto LAB_000b3b54;" (goto "goto") (statement_identifier "LAB_000b3b54") (; ";")) (} "}"))) (labeled_statement "LAB_000b3aac:\n        pbVar21 = (byte *)0xffffffff;" (statement_identifier "LAB_000b3aac") (: ":") (expression_statement "pbVar21 = (byte *)0xffffffff;" (assignment_expression "pbVar21 = (byte *)0xffffffff" (identifier "pbVar21") (= "=") (cast_expression "(byte *)0xffffffff" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) (; ";"))) (expression_statement "ppbVar22 = param_1;" (assignment_expression "ppbVar22 = param_1" (identifier "ppbVar22") (= "=") (identifier "param_1")) (; ";")) (expression_statement "(**(code **)(iVar5 + -0x7f34))(pbVar24,param_1,0xffffffff,0xffffffff);" (call_expression "(**(code **)(iVar5 + -0x7f34))(pbVar24,param_1,0xffffffff,0xffffffff)" (parenthesized_expression "(**(code **)(iVar5 + -0x7f34))" (( "(") (pointer_expression "**(code **)(iVar5 + -0x7f34)" (* "*") (pointer_expression "*(code **)(iVar5 + -0x7f34)" (* "*") (cast_expression "(code **)(iVar5 + -0x7f34)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar5 + -0x7f34)" (( "(") (binary_expression "iVar5 + -0x7f34" (identifier "iVar5") (+ "+") (number_literal "-0x7f34")) () ")"))))) () ")")) (argument_list "(pbVar24,param_1,0xffffffff,0xffffffff)" (( "(") (identifier "pbVar24") (, ",") (identifier "param_1") (, ",") (number_literal "0xffffffff") (, ",") (number_literal "0xffffffff") () ")"))) (; ";")) (expression_statement "(**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(param_1);" (call_expression "(**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(param_1)" (parenthesized_expression "(**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))" (( "(") (pointer_expression "**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90)" (* "*") (pointer_expression "*(code **)(*(int *)(puVar25 + -0x50) + -0x7f90)" (* "*") (cast_expression "(code **)(*(int *)(puVar25 + -0x50) + -0x7f90)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(puVar25 + -0x50) + -0x7f90)" (( "(") (binary_expression "*(int *)(puVar25 + -0x50) + -0x7f90" (pointer_expression "*(int *)(puVar25 + -0x50)" (* "*") (cast_expression "(int *)(puVar25 + -0x50)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar25 + -0x50)" (( "(") (binary_expression "puVar25 + -0x50" (identifier "puVar25") (+ "+") (number_literal "-0x50")) () ")")))) (+ "+") (number_literal "-0x7f90")) () ")"))))) () ")")) (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))) (; ";")) (expression_statement "iVar5 = *(int *)(puVar25 + -0x50);" (assignment_expression "iVar5 = *(int *)(puVar25 + -0x50)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(puVar25 + -0x50)" (* "*") (cast_expression "(int *)(puVar25 + -0x50)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar25 + -0x50)" (( "(") (binary_expression "puVar25 + -0x50" (identifier "puVar25") (+ "+") (number_literal "-0x50")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\nLAB_000b3964:\n        ppbVar10 = *(byte ***)(puVar25 + -0x38);\n        pcVar13 = *(code **)(iVar5 + -0x7e34);\n        if (ppbVar10 == (byte **)0x0) {\nLAB_000b3b60:\n          (*pcVar13)(pbVar24);\n          iVar5 = *(int *)(puVar25 + -0x50);\n        }\n        else {\nLAB_000b3970:\n          pbVar21 = (byte *)0xffffffff;\n          (**(code **)(iVar5 + -0x7e40))(pbVar24);\n          (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(*(undefined4 *)(puVar25 + -0x38));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          ppbVar22 = ppbVar10;\n        }\n      }" (else "else") (compound_statement "{\nLAB_000b3964:\n        ppbVar10 = *(byte ***)(puVar25 + -0x38);\n        pcVar13 = *(code **)(iVar5 + -0x7e34);\n        if (ppbVar10 == (byte **)0x0) {\nLAB_000b3b60:\n          (*pcVar13)(pbVar24);\n          iVar5 = *(int *)(puVar25 + -0x50);\n        }\n        else {\nLAB_000b3970:\n          pbVar21 = (byte *)0xffffffff;\n          (**(code **)(iVar5 + -0x7e40))(pbVar24);\n          (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(*(undefined4 *)(puVar25 + -0x38));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          ppbVar22 = ppbVar10;\n        }\n      }" ({ "{") (labeled_statement "LAB_000b3964:\n        ppbVar10 = *(byte ***)(puVar25 + -0x38);" (statement_identifier "LAB_000b3964") (: ":") (expression_statement "ppbVar10 = *(byte ***)(puVar25 + -0x38);" (assignment_expression "ppbVar10 = *(byte ***)(puVar25 + -0x38)" (identifier "ppbVar10") (= "=") (pointer_expression "*(byte ***)(puVar25 + -0x38)" (* "*") (cast_expression "(byte ***)(puVar25 + -0x38)" (( "(") (type_descriptor "byte ***" (type_identifier "byte") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))) () ")") (parenthesized_expression "(puVar25 + -0x38)" (( "(") (binary_expression "puVar25 + -0x38" (identifier "puVar25") (+ "+") (number_literal "-0x38")) () ")"))))) (; ";"))) (expression_statement "pcVar13 = *(code **)(iVar5 + -0x7e34);" (assignment_expression "pcVar13 = *(code **)(iVar5 + -0x7e34)" (identifier "pcVar13") (= "=") (pointer_expression "*(code **)(iVar5 + -0x7e34)" (* "*") (cast_expression "(code **)(iVar5 + -0x7e34)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar5 + -0x7e34)" (( "(") (binary_expression "iVar5 + -0x7e34" (identifier "iVar5") (+ "+") (number_literal "-0x7e34")) () ")"))))) (; ";")) (if_statement "if (ppbVar10 == (byte **)0x0) {\nLAB_000b3b60:\n          (*pcVar13)(pbVar24);\n          iVar5 = *(int *)(puVar25 + -0x50);\n        }\n        else {\nLAB_000b3970:\n          pbVar21 = (byte *)0xffffffff;\n          (**(code **)(iVar5 + -0x7e40))(pbVar24);\n          (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(*(undefined4 *)(puVar25 + -0x38));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          ppbVar22 = ppbVar10;\n        }" (if "if") (parenthesized_expression "(ppbVar10 == (byte **)0x0)" (( "(") (binary_expression "ppbVar10 == (byte **)0x0" (identifier "ppbVar10") (== "==") (cast_expression "(byte **)0x0" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_000b3b60:\n          (*pcVar13)(pbVar24);\n          iVar5 = *(int *)(puVar25 + -0x50);\n        }" ({ "{") (labeled_statement "LAB_000b3b60:\n          (*pcVar13)(pbVar24);" (statement_identifier "LAB_000b3b60") (: ":") (expression_statement "(*pcVar13)(pbVar24);" (call_expression "(*pcVar13)(pbVar24)" (parenthesized_expression "(*pcVar13)" (( "(") (pointer_expression "*pcVar13" (* "*") (identifier "pcVar13")) () ")")) (argument_list "(pbVar24)" (( "(") (identifier "pbVar24") () ")"))) (; ";"))) (expression_statement "iVar5 = *(int *)(puVar25 + -0x50);" (assignment_expression "iVar5 = *(int *)(puVar25 + -0x50)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(puVar25 + -0x50)" (* "*") (cast_expression "(int *)(puVar25 + -0x50)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar25 + -0x50)" (( "(") (binary_expression "puVar25 + -0x50" (identifier "puVar25") (+ "+") (number_literal "-0x50")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\nLAB_000b3970:\n          pbVar21 = (byte *)0xffffffff;\n          (**(code **)(iVar5 + -0x7e40))(pbVar24);\n          (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(*(undefined4 *)(puVar25 + -0x38));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          ppbVar22 = ppbVar10;\n        }" (else "else") (compound_statement "{\nLAB_000b3970:\n          pbVar21 = (byte *)0xffffffff;\n          (**(code **)(iVar5 + -0x7e40))(pbVar24);\n          (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(*(undefined4 *)(puVar25 + -0x38));\n          iVar5 = *(int *)(puVar25 + -0x50);\n          ppbVar22 = ppbVar10;\n        }" ({ "{") (labeled_statement "LAB_000b3970:\n          pbVar21 = (byte *)0xffffffff;" (statement_identifier "LAB_000b3970") (: ":") (expression_statement "pbVar21 = (byte *)0xffffffff;" (assignment_expression "pbVar21 = (byte *)0xffffffff" (identifier "pbVar21") (= "=") (cast_expression "(byte *)0xffffffff" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) (; ";"))) (expression_statement "(**(code **)(iVar5 + -0x7e40))(pbVar24);" (call_expression "(**(code **)(iVar5 + -0x7e40))(pbVar24)" (parenthesized_expression "(**(code **)(iVar5 + -0x7e40))" (( "(") (pointer_expression "**(code **)(iVar5 + -0x7e40)" (* "*") (pointer_expression "*(code **)(iVar5 + -0x7e40)" (* "*") (cast_expression "(code **)(iVar5 + -0x7e40)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar5 + -0x7e40)" (( "(") (binary_expression "iVar5 + -0x7e40" (identifier "iVar5") (+ "+") (number_literal "-0x7e40")) () ")"))))) () ")")) (argument_list "(pbVar24)" (( "(") (identifier "pbVar24") () ")"))) (; ";")) (expression_statement "(**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(*(undefined4 *)(puVar25 + -0x38));" (call_expression "(**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(*(undefined4 *)(puVar25 + -0x38))" (parenthesized_expression "(**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))" (( "(") (pointer_expression "**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90)" (* "*") (pointer_expression "*(code **)(*(int *)(puVar25 + -0x50) + -0x7f90)" (* "*") (cast_expression "(code **)(*(int *)(puVar25 + -0x50) + -0x7f90)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(puVar25 + -0x50) + -0x7f90)" (( "(") (binary_expression "*(int *)(puVar25 + -0x50) + -0x7f90" (pointer_expression "*(int *)(puVar25 + -0x50)" (* "*") (cast_expression "(int *)(puVar25 + -0x50)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar25 + -0x50)" (( "(") (binary_expression "puVar25 + -0x50" (identifier "puVar25") (+ "+") (number_literal "-0x50")) () ")")))) (+ "+") (number_literal "-0x7f90")) () ")"))))) () ")")) (argument_list "(*(undefined4 *)(puVar25 + -0x38))" (( "(") (pointer_expression "*(undefined4 *)(puVar25 + -0x38)" (* "*") (cast_expression "(undefined4 *)(puVar25 + -0x38)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar25 + -0x38)" (( "(") (binary_expression "puVar25 + -0x38" (identifier "puVar25") (+ "+") (number_literal "-0x38")) () ")")))) () ")"))) (; ";")) (expression_statement "iVar5 = *(int *)(puVar25 + -0x50);" (assignment_expression "iVar5 = *(int *)(puVar25 + -0x50)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(puVar25 + -0x50)" (* "*") (cast_expression "(int *)(puVar25 + -0x50)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar25 + -0x50)" (( "(") (binary_expression "puVar25 + -0x50" (identifier "puVar25") (+ "+") (number_literal "-0x50")) () ")"))))) (; ";")) (expression_statement "ppbVar22 = ppbVar10;" (assignment_expression "ppbVar22 = ppbVar10" (identifier "ppbVar22") (= "=") (identifier "ppbVar10")) (; ";")) (} "}")))) (} "}")))) (expression_statement "(**(code **)(iVar5 + -0x7f90))(unaff_s1);" (call_expression "(**(code **)(iVar5 + -0x7f90))(unaff_s1)" (parenthesized_expression "(**(code **)(iVar5 + -0x7f90))" (( "(") (pointer_expression "**(code **)(iVar5 + -0x7f90)" (* "*") (pointer_expression "*(code **)(iVar5 + -0x7f90)" (* "*") (cast_expression "(code **)(iVar5 + -0x7f90)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar5 + -0x7f90)" (( "(") (binary_expression "iVar5 + -0x7f90" (identifier "iVar5") (+ "+") (number_literal "-0x7f90")) () ")"))))) () ")")) (argument_list "(unaff_s1)" (( "(") (identifier "unaff_s1") () ")"))) (; ";")) (expression_statement "(*(code *)(*(int *)(*(int *)(puVar25 + -0x50) + -0x7ef0) + -0xe08))\n                (*(undefined4 *)(puVar25 + -0x30));" (call_expression "(*(code *)(*(int *)(*(int *)(puVar25 + -0x50) + -0x7ef0) + -0xe08))\n                (*(undefined4 *)(puVar25 + -0x30))" (parenthesized_expression "(*(code *)(*(int *)(*(int *)(puVar25 + -0x50) + -0x7ef0) + -0xe08))" (( "(") (pointer_expression "*(code *)(*(int *)(*(int *)(puVar25 + -0x50) + -0x7ef0) + -0xe08)" (* "*") (cast_expression "(code *)(*(int *)(*(int *)(puVar25 + -0x50) + -0x7ef0) + -0xe08)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(*(int *)(puVar25 + -0x50) + -0x7ef0) + -0xe08)" (( "(") (binary_expression "*(int *)(*(int *)(puVar25 + -0x50) + -0x7ef0) + -0xe08" (pointer_expression "*(int *)(*(int *)(puVar25 + -0x50) + -0x7ef0)" (* "*") (cast_expression "(int *)(*(int *)(puVar25 + -0x50) + -0x7ef0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar25 + -0x50) + -0x7ef0)" (( "(") (binary_expression "*(int *)(puVar25 + -0x50) + -0x7ef0" (pointer_expression "*(int *)(puVar25 + -0x50)" (* "*") (cast_expression "(int *)(puVar25 + -0x50)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar25 + -0x50)" (( "(") (binary_expression "puVar25 + -0x50" (identifier "puVar25") (+ "+") (number_literal "-0x50")) () ")")))) (+ "+") (number_literal "-0x7ef0")) () ")")))) (+ "+") (number_literal "-0xe08")) () ")")))) () ")")) (argument_list "(*(undefined4 *)(puVar25 + -0x30))" (( "(") (pointer_expression "*(undefined4 *)(puVar25 + -0x30)" (* "*") (cast_expression "(undefined4 *)(puVar25 + -0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar25 + -0x30)" (( "(") (binary_expression "puVar25 + -0x30" (identifier "puVar25") (+ "+") (number_literal "-0x30")) () ")")))) () ")"))) (; ";")) (expression_statement "pbVar4 = *(byte **)(puVar25 + -0x34);" (assignment_expression "pbVar4 = *(byte **)(puVar25 + -0x34)" (identifier "pbVar4") (= "=") (pointer_expression "*(byte **)(puVar25 + -0x34)" (* "*") (cast_expression "(byte **)(puVar25 + -0x34)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar25 + -0x34)" (( "(") (binary_expression "puVar25 + -0x34" (identifier "puVar25") (+ "+") (number_literal "-0x34")) () ")"))))) (; ";")) (expression_statement "iVar5 = *(int *)(puVar25 + -0x50);" (assignment_expression "iVar5 = *(int *)(puVar25 + -0x50)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(puVar25 + -0x50)" (* "*") (cast_expression "(int *)(puVar25 + -0x50)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar25 + -0x50)" (( "(") (binary_expression "puVar25 + -0x50" (identifier "puVar25") (+ "+") (number_literal "-0x50")) () ")"))))) (; ";")) (expression_statement "unaff_s7 = ppbVar17;" (assignment_expression "unaff_s7 = ppbVar17" (identifier "unaff_s7") (= "=") (identifier "ppbVar17")) (; ";")) (if_statement "if (pbVar4 != (byte *)0x0) {\n        FUN_000b1fe4();\n        iVar5 = *(int *)(puVar25 + -0x50);\n      }" (if "if") (parenthesized_expression "(pbVar4 != (byte *)0x0)" (( "(") (binary_expression "pbVar4 != (byte *)0x0" (identifier "pbVar4") (!= "!=") (cast_expression "(byte *)0x0" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        FUN_000b1fe4();\n        iVar5 = *(int *)(puVar25 + -0x50);\n      }" ({ "{") (expression_statement "FUN_000b1fe4();" (call_expression "FUN_000b1fe4()" (identifier "FUN_000b1fe4") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar5 = *(int *)(puVar25 + -0x50);" (assignment_expression "iVar5 = *(int *)(puVar25 + -0x50)" (identifier "iVar5") (= "=") (pointer_expression "*(int *)(puVar25 + -0x50)" (* "*") (cast_expression "(int *)(puVar25 + -0x50)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar25 + -0x50)" (( "(") (binary_expression "puVar25 + -0x50" (identifier "puVar25") (+ "+") (number_literal "-0x50")) () ")"))))) (; ";")) (} "}"))) (} "}")))) (labeled_statement "LAB_000b39d4:\n    if (*(int *)(puVar25 + -0x2c) == *(int *)unaff_s2) {\n      return *(int *)unaff_s2;\n    }" (statement_identifier "LAB_000b39d4") (: ":") (if_statement "if (*(int *)(puVar25 + -0x2c) == *(int *)unaff_s2) {\n      return *(int *)unaff_s2;\n    }" (if "if") (parenthesized_expression "(*(int *)(puVar25 + -0x2c) == *(int *)unaff_s2)" (( "(") (binary_expression "*(int *)(puVar25 + -0x2c) == *(int *)unaff_s2" (pointer_expression "*(int *)(puVar25 + -0x2c)" (* "*") (cast_expression "(int *)(puVar25 + -0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar25 + -0x2c)" (( "(") (binary_expression "puVar25 + -0x2c" (identifier "puVar25") (+ "+") (number_literal "-0x2c")) () ")")))) (== "==") (pointer_expression "*(int *)unaff_s2" (* "*") (cast_expression "(int *)unaff_s2" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "unaff_s2")))) () ")")) (compound_statement "{\n      return *(int *)unaff_s2;\n    }" ({ "{") (return_statement "return *(int *)unaff_s2;" (return "return") (pointer_expression "*(int *)unaff_s2" (* "*") (cast_expression "(int *)unaff_s2" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "unaff_s2"))) (; ";")) (} "}")))) (expression_statement "pcVar13 = *(code **)(iVar5 + -0x7ba0);" (assignment_expression "pcVar13 = *(code **)(iVar5 + -0x7ba0)" (identifier "pcVar13") (= "=") (pointer_expression "*(code **)(iVar5 + -0x7ba0)" (* "*") (cast_expression "(code **)(iVar5 + -0x7ba0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar5 + -0x7ba0)" (( "(") (binary_expression "iVar5 + -0x7ba0" (identifier "iVar5") (+ "+") (number_literal "-0x7ba0")) () ")"))))) (; ";")) (expression_statement "uVar19 = 0xb3bf0;" (assignment_expression "uVar19 = 0xb3bf0" (identifier "uVar19") (= "=") (number_literal "0xb3bf0")) (; ";")) (expression_statement "(*pcVar13)();" (call_expression "(*pcVar13)()" (parenthesized_expression "(*pcVar13)" (( "(") (pointer_expression "*pcVar13" (* "*") (identifier "pcVar13")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar7 = (undefined *)(*(int *)(pcVar13 + 0xa7b08) + 0x37f8);" (assignment_expression "puVar7 = (undefined *)(*(int *)(pcVar13 + 0xa7b08) + 0x37f8)" (identifier "puVar7") (= "=") (cast_expression "(undefined *)(*(int *)(pcVar13 + 0xa7b08) + 0x37f8)" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar13 + 0xa7b08) + 0x37f8)" (( "(") (binary_expression "*(int *)(pcVar13 + 0xa7b08) + 0x37f8" (pointer_expression "*(int *)(pcVar13 + 0xa7b08)" (* "*") (cast_expression "(int *)(pcVar13 + 0xa7b08)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar13 + 0xa7b08)" (( "(") (binary_expression "pcVar13 + 0xa7b08" (identifier "pcVar13") (+ "+") (number_literal "0xa7b08")) () ")")))) (+ "+") (number_literal "0x37f8")) () ")")))) (; ";")) (expression_statement "ppbVar17 = ppbVar22;" (assignment_expression "ppbVar17 = ppbVar22" (identifier "ppbVar17") (= "=") (identifier "ppbVar22")) (; ";")) (expression_statement "pbVar20 = pbVar21;" (assignment_expression "pbVar20 = pbVar21" (identifier "pbVar20") (= "=") (identifier "pbVar21")) (; ";")) (expression_statement "pbVar21 = (byte *)0x1;" (assignment_expression "pbVar21 = (byte *)0x1" (identifier "pbVar21") (= "=") (cast_expression "(byte *)0x1" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "unaff_s4 = pbVar24;" (assignment_expression "unaff_s4 = pbVar24" (identifier "unaff_s4") (= "=") (identifier "pbVar24")) (; ";")) (expression_statement "unaff_s6 = pbVar9;" (assignment_expression "unaff_s6 = pbVar9" (identifier "unaff_s6") (= "=") (identifier "pbVar9")) (; ";")) (expression_statement "puVar25 = puVar25 + -0x68;" (assignment_expression "puVar25 = puVar25 + -0x68" (identifier "puVar25") (= "=") (binary_expression "puVar25 + -0x68" (identifier "puVar25") (+ "+") (number_literal "-0x68"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}")))

int function_1(type_1 *pConfig,int var_39,char *zExpr,type_2 **ppNew,char **pzErr)

{
  type_3 var_23;
  type_3 bVar2;
  char ***pppcVar3;
  type_4 *pFVar4;
  type_5 *var_17;
  type_5 *puVar6;
  type_6 *var_24;
  type_7 *var_1;
  int var_4;
  type_8 *var_5;
  type_5 *var_2;
  type_5 *var_3;
  type_9 *var_14;
  char var_9;
  type_10 *pGlobal;
  type_11 *db;
  char **var_26;
  char *pcVar12;
  type_6 *var_32;
  type_12 *pcVar15;
  type_8 *var_8;
  type_8 *var_7;
  type_13 *var_6;
  type_14 *pfVar19;
  type_8 *puVar20;
  type_6 *var_29;
  type_8 uVar21;
  type_14 *fts5yypminor;
  type_14 *var_25;
  type_1 *var_13;
  type_9 *var_22;
  type_14 *var_10;
  type_7 *var_15;
  type_7 *pfVar25;
  int *piVar26;
  type_7 *unaff_s3;
  type_14 *unaff_s4;
  int var_21;
  type_14 *nArg_00;
  type_5 *var_16;
  type_9 *var_18;
  char **var_27;
  type_7 *unaff_s8;
  char *var_12;
  char *pcStack_174;
  type_6 *var_33;
  type_6 *var_34;
  type_1 *pFStack_168;
  int var_36;
  type_1 *pFStack_160;
  type_9 *pfStack_15c;
  type_7 *pfStack_158;
  type_7 *pfStack_154;
  type_14 *pfStack_150;
  int iStack_14c;
  type_5 *puStack_148;
  type_9 *pfStack_144;
  type_7 *pfStack_140;
  type_12 *pcStack_13c;
  type_14 *pfStack_110;
  type_14 fts5yyminorunion;
  type_15 sParse;
  type_13 aBareword [128];
  
  puVar6 = PTR___stack_chk_guard_0015ba2c;
  var_2 = PTR_sqlite3_malloc64_0015b760;
  pfVar19 = (type_14 *)0x4bc;
  sParse.pConfig = (type_1 *)0x0;
  sParse.zErr = (char *)0x0;
  sParse.rc = 0;
  sParse.nPhrase = 0;
  sParse.apPhrase = (type_16 **)0x0;
  sParse.pExpr = (type_4 *)0x0;
  var_24 = *(type_6 **)PTR___stack_chk_guard_0015ba2c;
  *ppNew = (type_2 *)0x0;
  *pzErr = (char *)0x0;
  fts5yypminor = (type_14 *)zExpr;
  var_25 = (type_14 *)ppNew;
  var_1 = (type_7 *)(*(type_12 *)var_2)(0);
  var_2 = var_11;
  if (var_1 != (type_7 *)0x0) {
    var_22 = var_1->fts5yystack;
    var_1->fts5yystack[0].stateno = '\0';
    var_3 = PTR_LAB_0015b71c;
    var_1->fts5yystack[0].major = '\0';
    puVar20 = (type_8 *)(var_2 + 0x638);
    var_1->fts5yystackEnd = var_1->fts5yystack + 99;
    var_17 = var_11;
    pcVar15 = (type_12 *)(var_3 + 0x2288);
    var_1->fts5yytos = var_22;
    var_8 = (type_8 *)(var_2 + 0x6b8);
    sParse.pConfig = pConfig;
    pfStack_110 = (type_14 *)zExpr;
LAB_000b2a68:
    do {
      unaff_s4 = (type_14 *)zExpr;
      var_4 = (int)*(char *)unaff_s4;
      if ((var_4 - 9U & 0xff) < 0x18) {
        var_6 = aBareword;
        var_5 = puVar20;
        if ((int)((0x800013U >> (var_4 - 9U & 0x1f)) << 0x1f) < 0) {
          zExpr = (char *)((int)&(unaff_s4->fts5yy0).p + 1);
          goto LAB_000b2a68;
        }
        do {
          var_7 = var_5 + 4;
          *(type_8 *)var_6 = *var_5;
          var_25 = (type_14 *)var_5[1];
          uVar21 = var_5[2];
          *(type_8 *)(var_6 + 0xc) = var_5[3];
          *(type_14 **)(var_6 + 4) = var_25;
          *(type_8 *)(var_6 + 8) = uVar21;
          var_5 = var_7;
          var_6 = var_6 + 0x10;
        } while (var_7 != var_8);
LAB_000b34f0:
        if (aBareword[var_4] != '\0') {
LAB_000b2b04:
          var_10 = unaff_s4;
          do {
            var_10 = (type_14 *)((int)&(var_10->fts5yy0).p + 1);
            var_9 = *(char *)var_10;
            var_5 = puVar20;
            var_6 = aBareword;
            do {
              var_25 = (type_14 *)*var_5;
              var_7 = var_5 + 4;
              *(type_14 **)var_6 = var_25;
              fts5yypminor = (type_14 *)var_5[1];
              pfVar19 = (type_14 *)var_5[2];
              *(type_8 *)(var_6 + 0xc) = var_5[3];
              *(type_14 **)(var_6 + 4) = fts5yypminor;
              *(type_14 **)(var_6 + 8) = pfVar19;
              var_5 = var_7;
              var_6 = var_6 + 0x10;
            } while (var_7 != var_8);
          } while ((var_9 < 0) || (aBareword[var_9] != '\0'));
          var_10 = (type_14 *)((int)var_10 - (int)unaff_s4);
          if (var_10 == (type_14 *)0x2) {
            if ((*(char *)unaff_s4 == 'O') && (*(char *)((int)&(unaff_s4->fts5yy0).p + 1) == 'R')) {
              var_15 = (type_7 *)0x1;
              pfStack_110 = (type_14 *)0x2;
            }
            else {
              var_15 = (type_7 *)&DAT_00000009;
              pfStack_110 = (type_14 *)0x2;
            }
          }
          else if (var_10 == (type_14 *)0x3) {
            if ((*(char *)unaff_s4 == 'N') &&
               (pfVar25 = (type_7 *)&DAT_00000009,
               *(char *)((int)&(unaff_s4->fts5yy0).p + 1) == 'O')) {
              if (*(char *)((int)&(unaff_s4->fts5yy0).p + 2) == 'T') {
                pfVar25 = (type_7 *)0x3;
              }
            }
            else {
              pfVar25 = (type_7 *)&DAT_00000009;
            }
            if (((*(char *)unaff_s4 == 'A') && (*(char *)((int)&(unaff_s4->fts5yy0).p + 1) == 'N'))
               && (var_15 = (type_7 *)0x2, *(char *)((int)&(unaff_s4->fts5yy0).p + 2) == 'D'
                  )) {
              pfStack_110 = (type_14 *)0x3;
            }
            else {
              pfStack_110 = (type_14 *)0x3;
              var_15 = pfVar25;
            }
          }
          else {
            var_15 = (type_7 *)&DAT_00000009;
            pfStack_110 = var_10;
          }
          goto LAB_000b2b98;
        }
        var_10 = (type_14 *)0x1;
        pfVar19 = (type_14 *)(var_11 + -0x70cc);
        fts5yypminor = unaff_s4;
        (*pcVar15)(&sParse);
        var_15 = (type_7 *)0x0;
      }
      else {
        pfVar19 = (type_14 *)0x0;
        if (var_4 == 0x2b) {
          var_15 = (type_7 *)&DAT_0000000e;
          pfStack_110 = (type_14 *)0x1;
          var_10 = (type_14 *)0x1;
        }
        else if (var_4 < 0x2c) {
          if (var_4 == 0x28) {
            var_15 = (type_7 *)&DAT_0000000a;
            pfStack_110 = (type_14 *)0x1;
            var_10 = (type_14 *)0x1;
          }
          else if (var_4 < 0x29) {
            if (var_4 != 0) {
              var_12 = (char *)((int)&(unaff_s4->fts5yy0).p + 1);
              if (var_4 != 0x22) {
LAB_000b2abc:
                var_5 = puVar20;
                var_6 = aBareword;
                do {
                  var_7 = var_5 + 4;
                  *(type_8 *)var_6 = *var_5;
                  var_25 = (type_14 *)var_5[1];
                  uVar21 = var_5[2];
                  *(type_8 *)(var_6 + 0xc) = var_5[3];
                  *(type_14 **)(var_6 + 4) = var_25;
                  *(type_8 *)(var_6 + 8) = uVar21;
                  var_5 = var_7;
                  var_6 = var_6 + 0x10;
                } while (var_7 != var_8);
                if (-1 < var_4) goto LAB_000b34f0;
                goto LAB_000b2b04;
              }
              var_9 = *var_12;
              if (var_9 == '\"') goto LAB_000b3320;
              while (pfVar19 = (type_14 *)var_11, var_9 != '\0') {
                while( true ) {
                  var_12 = var_12 + 1;
                  var_9 = *var_12;
                  if (var_9 != '\"') break;
LAB_000b3320:
                  pcVar12 = var_12 + 1;
                  var_12 = var_12 + 1;
                  if (*pcVar12 != '\"') {
                    pfStack_110 = (type_14 *)(var_12 + -(int)unaff_s4);
                    var_15 = (type_7 *)&DAT_00000009;
                    var_10 = pfStack_110;
                    goto LAB_000b2b98;
                  }
                }
              }
              var_15 = (type_7 *)0x0;
              var_10 = (type_14 *)0x1;
              pfVar19 = (type_14 *)(var_11 + -0x70e0);
              (*pcVar15)(&sParse);
              goto LAB_000b2ba0;
            }
            var_15 = (type_7 *)0x0;
            pfStack_110 = (type_14 *)0x1;
            var_10 = (type_14 *)0x1;
          }
          else if (var_4 == 0x29) {
            var_15 = (type_7 *)&DAT_0000000b;
            pfStack_110 = (type_14 *)0x1;
            var_10 = (type_14 *)0x1;
          }
          else {
            var_15 = (type_7 *)0xf;
            if (var_4 != 0x2a) goto LAB_000b2abc;
            pfStack_110 = (type_14 *)0x1;
            var_10 = (type_14 *)0x1;
          }
        }
        else if (var_4 == 0x3a) {
          var_15 = (type_7 *)&DAT_00000005;
          pfStack_110 = (type_14 *)0x1;
          var_10 = (type_14 *)0x1;
        }
        else if (var_4 < 0x3b) {
          if (var_4 == 0x2c) {
            var_15 = (type_7 *)&DAT_0000000d;
            pfStack_110 = (type_14 *)0x1;
            var_10 = (type_14 *)0x1;
          }
          else {
            var_15 = (type_7 *)&DAT_00000006;
            if (var_4 != 0x2d) goto LAB_000b2abc;
            pfStack_110 = (type_14 *)0x1;
            var_10 = (type_14 *)0x1;
          }
        }
        else if (var_4 == 0x7b) {
          var_15 = (type_7 *)&DAT_00000007;
          pfStack_110 = (type_14 *)0x1;
          var_10 = (type_14 *)0x1;
        }
        else if (var_4 == 0x7d) {
          var_15 = (type_7 *)&DAT_00000008;
          pfStack_110 = (type_14 *)0x1;
          var_10 = (type_14 *)0x1;
        }
        else {
          var_15 = (type_7 *)&DAT_0000000c;
          if (var_4 != 0x5e) goto LAB_000b2abc;
          pfStack_110 = (type_14 *)0x1;
          var_10 = (type_14 *)0x1;
        }
LAB_000b2b98:
        pfStack_110 = (type_14 *)((int)unaff_s4 + (int)pfStack_110);
      }
LAB_000b2ba0:
      var_16 = var_11;
      var_18 = var_1->fts5yytos;
      var_2 = var_11 + 0x4920;
      var_1->pParse = &sParse;
      var_13 = (type_1 *)(type_17)var_18->stateno;
      var_3 = var_11 + 0x48fc;
      do {
        pFVar4 = (type_4 *)var_11;
        if ((type_1 *)&DAT_00000022 < var_13) goto joined_r0x000b33cc;
        var_14 = (type_9 *)
                  ((int)var_15->fts5yystack + ((type_3)var_3[(int)var_13] - 8));
        if ((type_9 *)0x78 < var_14) goto LAB_000b2c10;
        while( true ) {
          if ((type_7 *)(type_17)(type_3)var_2[(int)&var_14->stateno] == var_15) {
            var_13 = (type_1 *)(type_17)(type_3)(var_16 + 0x499c)[(int)&var_14->stateno];
            pFVar4 = (type_4 *)var_11;
          }
          else {
LAB_000b2c10:
            var_13 = (type_1 *)(type_17)(type_3)(var_17 + 0x48c4)[(int)&var_13->db];
            pFVar4 = (type_4 *)var_11;
          }
joined_r0x000b33cc:
          var_11 = (type_5 *)pFVar4;
          if (var_13 < (type_1 *)0x53) {
            if (var_13 < (type_1 *)0x50) {
              var_1->fts5yytos = var_18 + 1;
              if (var_1->fts5yystackEnd < var_18 + 1) {
                var_1->fts5yytos = var_18;
                var_19(var_1);
              }
              else {
                if ((type_1 *)&DAT_00000022 < var_13) {
                  var_13 = (type_1 *)((type_17)((int)&var_13->aPrefix + 3) & 0xff);
                }
                var_18[1].stateno = (type_18)var_13;
                var_18[1].major = (type_18)var_15;
                var_18[1].minor.fts5yy11 = (type_19 *)unaff_s4;
                var_18[1].minor.fts5yy0.n = (int)var_10;
              }
            }
            else if (var_13 == (type_1 *)0x51) {
              var_1->fts5yytos = var_18 + -1;
              pfVar19 = (type_14 *)pFVar4;
            }
            else {
              var_13 = (type_1 *)var_1->pParse;
              var_25 = unaff_s4;
              fts5yyminorunion.fts5yy11 = (type_19 *)unaff_s4;
              fts5yyminorunion.fts5yy0.n = (int)var_10;
              (*pcVar15)(var_13,&pFVar4[-0x2d2].field_0x24);
              pfVar19 = &fts5yyminorunion;
              var_1->pParse = (type_15 *)var_13;
              var_20(var_15,(type_18)pfVar19,var_10);
              fts5yypminor = var_10;
            }
            goto LAB_000b2d18;
          }
          pppcVar3 = &var_13[-1].azCol;
          var_13 = (type_1 *)((int)pppcVar3 + 1);
          var_21 = (int)(char)(var_16 + 0x488c)[(int)&var_13->db];
          if ((var_21 != 0) || (var_18 < var_1->fts5yystackEnd)) break;
          var_19(var_1);
          var_18 = var_1->fts5yytos;
          if (var_18 <= var_22) goto LAB_000b2d18;
          var_14 = var_15->fts5yystack + 3;
          var_13 = (type_1 *)0x0;
        }
        if (var_13 < (type_1 *)0x1c) {
                    /* WARNING: Could not emulate address calculation at 0x000b2c68 */
                    /* WARNING: Treating indirect jump as call */
          var_4 = (*(type_12 *)(&_gp + (int)pFVar4[0x59].apChild[(int)((int)pppcVar3 + -2)]))();
          return var_4;
        }
        fts5yypminor = (type_14 *)(var_16 + 0x499c);
        var_23 = var_18[var_21].stateno;
        var_14 = var_18 + var_21 + 1;
        bVar2 = *(type_3 *)((int)((type_4 *)(pFVar4[0x1d1].apChild + -8))->apChild +
                         (int)pppcVar3 + -0x1f);
        var_1->fts5yytos = var_14;
        var_14->major = bVar2;
        var_23 = *(type_3 *)((type_17)bVar2 + (int)*(char *)((int)pFVar4[0x1d2].apChild + (var_23 - 8)) +
                         (int)fts5yypminor);
        var_13 = (type_1 *)(type_17)var_23;
        var_14->stateno = var_23;
        var_18 = var_1->fts5yytos;
        pfVar19 = (type_14 *)pFVar4;
      } while (var_22 < var_18);
LAB_000b2d18:
      if ((sParse.rc != 0) || (zExpr = (char *)pfStack_110, var_15 == (type_7 *)0x0))
      goto LAB_000b2d2c;
    } while( true );
  }
  var_4 = 7;
LAB_000b3294:
  if (var_24 == *(type_6 **)puVar6) {
    return var_4;
  }
  pcVar15 = var_37;
  var_2 = PTR___stack_chk_fail_0015ba10;
  (*(type_12 *)PTR___stack_chk_fail_0015ba10)();
  piVar26 = *(int **)(var_2 + 0xa8234);
  var_36 = *piVar26;
  var_10 = fts5yypminor;
  pFStack_160 = pConfig;
  pfStack_15c = var_22;
  pfStack_158 = var_15;
  pfStack_154 = unaff_s3;
  pfStack_150 = unaff_s4;
  iStack_14c = var_21;
  puStack_148 = var_16;
  pfStack_144 = var_18;
  pfStack_140 = unaff_s8;
  pcStack_13c = pcVar15;
  pGlobal = (type_10 *)(**(type_12 **)(var_2 + 0xa7ed0))();
  db = (type_11 *)(**(type_12 **)(var_2 + 0xa7ee8))(var_24);
  var_33 = (type_6 *)0x0;
  var_34 = (type_6 *)0x0;
  pFStack_168 = (type_1 *)0x0;
  if ((int)pfVar19 < 1) {
    if (var_25 == (type_14 *)0x0) {
      var_4 = *(int *)(var_2 + 0xa7e04) + -0x705c;
    }
    else {
      var_4 = *(int *)(var_2 + 0xa7e04) + -0x706c;
    }
    var_29 = (type_6 *)
           (**(type_12 **)(var_2 + 0xa7e30))(*(int *)(var_2 + 0xa7e04) + -0x7048,var_4);
    var_10 = (type_14 *)0xffffffff;
    var_33 = var_29;
    (**(type_12 **)(var_2 + 0xa7f78))(var_24);
    var_24 = var_33;
    (**(type_12 **)(var_2 + 0xa7e28))();
    goto LAB_000b39d4;
  }
  if (var_25 == (type_14 *)0x0) {
    var_4 = 1;
    pcStack_174 = (char *)(*(int *)(var_2 + 0xa7e04) + -0x7050);
LAB_000b38a0:
    nArg_00 = (type_14 *)((int)pfVar19 + (3 - var_4));
    var_29 = (type_6 *)((int)nArg_00 * 4);
    var_26 = (char **)(**(type_12 **)(var_2 + 0xa7f68))(0);
    if (var_26 == (char **)0x0) {
LAB_000b3a30:
      (**(type_12 **)(var_2 + 0xa7f8c))();
      goto LAB_000b39d4;
    }
    *var_26 = (char *)0x0;
    var_26[1] = (char *)(*(int *)(var_2 + 0xa7df0) + 0x538c);
    var_26[2] = (char *)(*(int *)(var_2 + 0xa7e04) + -0x701c);
    if (var_4 < (int)pfVar19) {
      var_12 = (char *)((int)fts5yypminor + var_4 * 4);
      var_27 = var_26 + 3;
      do {
        uVar21 = *(type_8 *)var_12;
        var_12 = var_12 + 4;
        pcVar12 = (char *)(**(type_12 **)(var_2 + 0xa7e1c))(uVar21);
        *var_27 = pcVar12;
        var_27 = var_27 + 1;
      } while ((char *)((int)fts5yypminor + (int)pfVar19 * 4) != var_12);
    }
  }
  else {
    if ((type_4 *)pfVar19 != (type_4 *)0x1) {
      var_4 = 2;
      pcStack_174 = (char *)(**(type_12 **)(var_2 + 0xa7e1c))((fts5yypminor->fts5yy0).n);
      goto LAB_000b38a0;
    }
    var_29 = (type_6 *)&DAT_0000000c;
    var_26 = (char **)(**(type_12 **)(var_2 + 0xa7f68))(0);
    if (var_26 == (char **)0x0) goto LAB_000b3a30;
    var_4 = *(int *)(var_2 + 0xa7df0);
    nArg_00 = (type_14 *)0x3;
    *var_26 = (char *)0x0;
    var_26[1] = (char *)(var_4 + 0x538c);
    pcStack_174 = (char *)(*(int *)(var_2 + 0xa7e04) + -0x7050);
    var_26[2] = (char *)(*(int *)(var_2 + 0xa7e04) + -0x701c);
  }
  pfVar19 = (type_14 *)(**(type_12 **)(var_2 + 0xa7e1c))(fts5yypminor->fts5yyinit);
  var_29 = (type_6 *)
         var_28(pGlobal,db,(int)nArg_00,var_26,&pFStack_168,(char **)&var_33);
  var_10 = nArg_00;
  if ((var_29 == (type_6 *)0x0) &&
     (var_29 = (type_6 *)
             function_1(pFStack_168,pFStack_168->nCol,(char *)&pfVar19->fts5yyinit,
                                (type_2 **)&var_34,(char **)&var_33), var_10 = pfVar19,
     var_29 == (type_6 *)0x0)) {
    var_10 = (type_14 *)var_34->pMem;
    if (*(int *)((int)var_10 + 0xc) == 0) {
      var_32 = (type_6 *)
                (**(type_12 **)(var_2 + 0xa7e30))(*(int *)(var_2 + 0xa7df0) + 0x53f4);
      var_10 = pfVar19;
    }
    else if (var_25 == (type_14 *)0x0) {
      var_32 = (type_6 *)var_30(pFStack_168,(type_4 *)&var_10->fts5yy0);
      var_10 = pfVar19;
    }
    else {
      var_32 = (type_6 *)
                var_31(pFStack_168,pcStack_174,(type_4 *)&var_10->fts5yy0);
    }
    if (var_32 == (type_6 *)0x0) {
      var_29 = (type_6 *)&DAT_00000007;
      if (var_33 == (type_6 *)0x0) {
        pcVar15 = *(type_12 **)(var_2 + 0xa7f84);
        goto LAB_000b3b60;
      }
LAB_000b3970:
      var_10 = (type_14 *)0xffffffff;
      var_29 = var_33;
      (**(type_12 **)(var_2 + 0xa7f78))(var_24);
      (**(type_12 **)(var_2 + 0xa7e28))(var_33);
    }
    else {
      var_10 = (type_14 *)0xffffffff;
      var_29 = var_32;
      (**(type_12 **)(var_2 + 0xa7e84))(var_24,var_32,0xffffffff,0xffffffff);
      (**(type_12 **)(var_2 + 0xa7e28))(var_32);
    }
  }
  else {
    pcVar15 = *(type_12 **)(var_2 + 0xa7f84);
    if (var_33 != (type_6 *)0x0) goto LAB_000b3970;
LAB_000b3b60:
    (*pcVar15)(var_24);
  }
  (**(type_12 **)(var_2 + 0xa7e28))(var_26);
  (*(type_12 *)(*(int *)(var_2 + 0xa7ec8) + -0xe08))(pFStack_168);
  var_24 = var_34;
  if (var_34 != (type_6 *)0x0) {
    var_35((type_2 *)var_34);
  }
LAB_000b39d4:
  var_4 = *piVar26;
  if (var_36 == var_4) {
    return var_4;
  }
  var_4 = (**(type_12 **)(var_2 + 0xa8218))();
  var_37(var_24,(int)var_29,(type_20 **)&var_10->fts5yy11,1);
  return var_4;
LAB_000b2d2c:
  var_14 = var_1->fts5yytos;
  if (var_22 < var_14) {
    var_13 = (type_1 *)(var_38 + 0x23c0);
    do {
      pfVar19 = &var_14->minor;
      var_1->fts5yytos = var_14 + -1;
      var_20((type_7 *)(type_17)var_14->major,(type_18)pfVar19,fts5yypminor);
      var_14 = var_1->fts5yytos;
    } while (var_22 < var_14);
  }
  (*(type_12 *)PTR_sqlite3_free_0015b620)(var_1);
  if ((var_39 < pConfig->nCol) && (sParse.pExpr != (type_4 *)0x0)) {
    if (sParse.rc == 0) {
      var_25 = (type_14 *)&DAT_00000008;
      fts5yypminor = (type_14 *)0x0;
      var_10 = (type_14 *)(*(type_12 *)(var_40 + 0x108c))(&sParse.rc);
      if (var_10 != (type_14 *)0x0) {
        (var_10->fts5yy0).n = var_39;
        var_10->fts5yyinit = 1;
        pfVar19 = (type_14 *)sParse.pExpr;
        var_41(&sParse,sParse.pExpr,(type_19 *)&var_10->fts5yy0);
        fts5yypminor = var_10;
      }
      goto LAB_000b321c;
    }
LAB_000b2da8:
    var_42(sParse.pExpr);
  }
  else {
LAB_000b321c:
    if (sParse.rc != 0) goto LAB_000b2da8;
    var_13 = (type_1 *)(*(type_12 *)PTR_sqlite3_malloc_0015b640)(0x18);
    *ppNew = (type_2 *)var_13;
    if (var_13 == (type_1 *)0x0) {
      sParse.rc = 7;
      goto LAB_000b2da8;
    }
    if (sParse.pExpr == (type_4 *)0x0) {
      if (sParse.rc == 0) {
        var_25 = (type_14 *)&DAT_00000028;
        fts5yypminor = (type_14 *)0x0;
        var_12 = (char *)(*(type_12 *)(var_40 + 0x108c))(&sParse.rc);
        var_13->zName = var_12;
        if (var_12 != (char *)0x0) {
          var_12[4] = '\0';
          var_12[5] = '\0';
          var_12[6] = '\0';
          var_12[7] = '\x01';
        }
      }
      else {
        var_13->zName = (char *)0x0;
      }
    }
    else {
      var_13->zName = (char *)sParse.pExpr;
    }
    var_13->db = (type_11 *)0x0;
    var_13->zDb = (char *)pConfig;
    var_13->abUnindexed = (type_13 *)sParse.apPhrase;
    var_13->azCol = (char **)sParse.nPhrase;
    sParse.apPhrase = (type_16 **)0x0;
  }
  (*(type_12 *)PTR_sqlite3_free_0015b620)(sParse.apPhrase);
  *pzErr = sParse.zErr;
  var_4 = sParse.rc;
  pConfig = var_13;
  unaff_s3 = var_15;
  unaff_s8 = var_1;
  goto LAB_000b3294;
}


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

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

{
  byte bVar1;
  undefined *puVar2;
  undefined *puVar3;
  byte *pbVar4;
  int iVar5;
  undefined4 *puVar6;
  undefined *puVar7;
  undefined *puVar8;
  byte *pbVar9;
  byte **ppbVar10;
  byte bVar12;
  int iVar11;
  code *pcVar13;
  undefined4 *puVar14;
  undefined4 *puVar15;
  char *pcVar16;
  byte **ppbVar17;
  undefined4 *puVar18;
  undefined4 uVar19;
  byte *pbVar20;
  byte *pbVar21;
  byte **ppbVar22;
  byte **ppbVar23;
  byte **unaff_s1;
  byte *pbVar24;
  byte *unaff_s2;
  byte *unaff_s3;
  byte *unaff_s4;
  byte *unaff_s5;
  byte *unaff_s6;
  byte **unaff_s7;
  undefined1 *puVar25;
  byte *unaff_s8;
  undefined1 auStack_138 [24];
  byte *local_110;
  byte *local_cc;
  byte *local_c8;
  byte **local_c4;
  undefined4 local_c0;
  int local_bc;
  byte *local_b8;
  byte *local_b4;
  byte **local_b0;
  char local_ac [4];
  undefined4 local_a8 [31];
  byte *local_2c;
  
  puVar3 = PTR___stack_chk_guard_0015ba2c;
  puVar7 = PTR_sqlite3_malloc64_0015b760;
  ppbVar17 = (byte **)0x4bc;
  local_c4 = (byte **)0x0;
  local_c0 = 0;
  local_bc = 0;
  local_b8 = (byte *)0x0;
  local_b4 = (byte *)0x0;
  local_b0 = (byte **)0x0;
  local_2c = *(byte **)PTR___stack_chk_guard_0015ba2c;
  param_4[0] = 0;
  param_4[1] = 0;
  param_4[2] = 0;
  param_4[3] = 0;
  *param_5 = 0;
  pbVar20 = param_3;
  pbVar21 = param_4;
  pbVar4 = (byte *)(*(code *)puVar7)(0);
  puVar7 = PTR_UINT_0015b5fc;
  if (pbVar4 != (byte *)0x0) {
    unaff_s1 = (byte **)(pbVar4 + 8);
    pbVar4[8] = 0;
    puVar8 = PTR_DAT_0015b71c;
    pbVar4[9] = 0;
    puVar18 = (undefined4 *)(puVar7 + 0x638);
    *(byte **)(pbVar4 + 0x4b8) = pbVar4 + 0x4ac;
    puVar2 = PTR_UINT_0015b5fc;
    pcVar13 = (code *)(puVar8 + 0x2288);
    *(byte ***)pbVar4 = unaff_s1;
    puVar14 = (undefined4 *)(puVar7 + 0x6b8);
    local_c4 = param_1;
    local_110 = param_3;
LAB_000b2a68:
    do {
      unaff_s4 = param_3;
      iVar5 = (int)(char)*unaff_s4;
      if ((iVar5 - 9U & 0xff) < 0x18) {
        pcVar16 = local_ac;
        puVar6 = puVar18;
        if ((int)((0x800013U >> (iVar5 - 9U & 0x1f)) << 0x1f) < 0) {
          param_3 = unaff_s4 + 1;
          goto LAB_000b2a68;
        }
        do {
          puVar15 = puVar6 + 4;
          *(undefined4 *)pcVar16 = *puVar6;
          pbVar21 = (byte *)puVar6[1];
          uVar19 = puVar6[2];
          *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];
          *(byte **)(pcVar16 + 4) = pbVar21;
          *(undefined4 *)(pcVar16 + 8) = uVar19;
          puVar6 = puVar15;
          pcVar16 = pcVar16 + 0x10;
        } while (puVar15 != puVar14);
LAB_000b34f0:
        if (local_ac[iVar5] != '\0') {
LAB_000b2b04:
          pbVar24 = unaff_s4;
          do {
            pbVar24 = pbVar24 + 1;
            bVar12 = *pbVar24;
            puVar6 = puVar18;
            pcVar16 = local_ac;
            do {
              pbVar21 = (byte *)*puVar6;
              puVar15 = puVar6 + 4;
              *(byte **)pcVar16 = pbVar21;
              pbVar20 = (byte *)puVar6[1];
              ppbVar17 = (byte **)puVar6[2];
              *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];
              *(byte **)(pcVar16 + 4) = pbVar20;
              *(byte ***)(pcVar16 + 8) = ppbVar17;
              puVar6 = puVar15;
              pcVar16 = pcVar16 + 0x10;
            } while (puVar15 != puVar14);
          } while (((char)bVar12 < 0) || (local_ac[(char)bVar12] != '\0'));
          pbVar24 = pbVar24 + -(int)unaff_s4;
          if (pbVar24 == &SUB_00000002) {
            if ((*unaff_s4 == 0x4f) && (unaff_s4[1] == 0x52)) {
              unaff_s2 = (byte *)0x1;
              local_110 = &SUB_00000002;
            }
            else {
              unaff_s2 = &DAT_00000009;
              local_110 = &SUB_00000002;
            }
          }
          else if (pbVar24 == (byte *)0x3) {
            if ((*unaff_s4 == 0x4e) && (pbVar9 = &DAT_00000009, unaff_s4[1] == 0x4f)) {
              if (unaff_s4[2] == 0x54) {
                pbVar9 = (byte *)0x3;
              }
            }
            else {
              pbVar9 = &DAT_00000009;
            }
            if (((*unaff_s4 == 0x41) && (unaff_s4[1] == 0x4e)) &&
               (unaff_s2 = &SUB_00000002, unaff_s4[2] == 0x44)) {
              local_110 = (byte *)0x3;
            }
            else {
              local_110 = (byte *)0x3;
              unaff_s2 = pbVar9;
            }
          }
          else {
            unaff_s2 = &DAT_00000009;
            local_110 = pbVar24;
          }
          goto LAB_000b2b98;
        }
        pbVar24 = (byte *)0x1;
        ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70cc);
        pbVar20 = unaff_s4;
        (*pcVar13)(&local_c4);
        unaff_s2 = (byte *)0x0;
      }
      else {
        ppbVar17 = (byte **)0x0;
        if (iVar5 == 0x2b) {
          unaff_s2 = &DAT_0000000e;
          local_110 = (byte *)0x1;
          pbVar24 = (byte *)0x1;
        }
        else if (iVar5 < 0x2c) {
          if (iVar5 == 0x28) {
            unaff_s2 = &DAT_0000000a;
            local_110 = (byte *)0x1;
            pbVar24 = (byte *)0x1;
          }
          else if (iVar5 < 0x29) {
            if (iVar5 != 0) {
              pbVar24 = unaff_s4 + 1;
              if (iVar5 != 0x22) {
LAB_000b2abc:
                puVar6 = puVar18;
                pcVar16 = local_ac;
                do {
                  puVar15 = puVar6 + 4;
                  *(undefined4 *)pcVar16 = *puVar6;
                  pbVar21 = (byte *)puVar6[1];
                  uVar19 = puVar6[2];
                  *(undefined4 *)(pcVar16 + 0xc) = puVar6[3];
                  *(byte **)(pcVar16 + 4) = pbVar21;
                  *(undefined4 *)(pcVar16 + 8) = uVar19;
                  puVar6 = puVar15;
                  pcVar16 = pcVar16 + 0x10;
                } while (puVar15 != puVar14);
                if (-1 < iVar5) goto LAB_000b34f0;
                goto LAB_000b2b04;
              }
              bVar12 = *pbVar24;
              if (bVar12 == 0x22) goto LAB_000b3320;
              while (ppbVar17 = (byte **)PTR_UINT_0015b5fc, bVar12 != 0) {
                while( true ) {
                  pbVar24 = pbVar24 + 1;
                  bVar12 = *pbVar24;
                  if (bVar12 != 0x22) break;
LAB_000b3320:
                  pbVar9 = pbVar24 + 1;
                  pbVar24 = pbVar24 + 1;
                  if (*pbVar9 != 0x22) {
                    local_110 = pbVar24 + -(int)unaff_s4;
                    unaff_s2 = &DAT_00000009;
                    pbVar24 = local_110;
                    goto LAB_000b2b98;
                  }
                }
              }
              unaff_s2 = (byte *)0x0;
              pbVar24 = (byte *)0x1;
              ppbVar17 = (byte **)(PTR_UINT_0015b5fc + -0x70e0);
              (*pcVar13)(&local_c4);
              goto LAB_000b2ba0;
            }
            unaff_s2 = (byte *)0x0;
            local_110 = (byte *)0x1;
            pbVar24 = (byte *)0x1;
          }
          else if (iVar5 == 0x29) {
            unaff_s2 = &DAT_0000000b;
            local_110 = (byte *)0x1;
            pbVar24 = (byte *)0x1;
          }
          else {
            unaff_s2 = (byte *)0xf;
            if (iVar5 != 0x2a) goto LAB_000b2abc;
            local_110 = (byte *)0x1;
            pbVar24 = (byte *)0x1;
          }
        }
        else if (iVar5 == 0x3a) {
          unaff_s2 = &DAT_00000005;
          local_110 = (byte *)0x1;
          pbVar24 = (byte *)0x1;
        }
        else if (iVar5 < 0x3b) {
          if (iVar5 == 0x2c) {
            unaff_s2 = &DAT_0000000d;
            local_110 = (byte *)0x1;
            pbVar24 = (byte *)0x1;
          }
          else {
            unaff_s2 = &DAT_00000006;
            if (iVar5 != 0x2d) goto LAB_000b2abc;
            local_110 = (byte *)0x1;
            pbVar24 = (byte *)0x1;
          }
        }
        else if (iVar5 == 0x7b) {
          unaff_s2 = &DAT_00000007;
          local_110 = (byte *)0x1;
          pbVar24 = (byte *)0x1;
        }
        else if (iVar5 == 0x7d) {
          unaff_s2 = &DAT_00000008;
          local_110 = (byte *)0x1;
          pbVar24 = (byte *)0x1;
        }
        else {
          unaff_s2 = &DAT_0000000c;
          if (iVar5 != 0x5e) goto LAB_000b2abc;
          local_110 = (byte *)0x1;
          pbVar24 = (byte *)0x1;
        }
LAB_000b2b98:
        local_110 = unaff_s4 + (int)local_110;
      }
LAB_000b2ba0:
      unaff_s6 = PTR_UINT_0015b5fc;
      unaff_s7 = *(byte ***)pbVar4;
      puVar7 = PTR_UINT_0015b5fc + 0x4920;
      *(byte ****)(pbVar4 + 4) = &local_c4;
      ppbVar22 = (byte **)(uint)*(byte *)unaff_s7;
      puVar8 = PTR_UINT_0015b5fc + 0x48fc;
      do {
        ppbVar10 = (byte **)PTR_UINT_0015b5fc;
        if ((byte **)0x22 < ppbVar22) goto joined_r0x000b33cc;
        pbVar9 = unaff_s2 + (byte)puVar8[(int)ppbVar22];
        if ((byte *)0x78 < pbVar9) goto LAB_000b2c10;
        while( true ) {
          if ((byte *)(uint)pbVar9[(int)puVar7] == unaff_s2) {
            ppbVar22 = (byte **)(uint)pbVar9[(int)(unaff_s6 + 0x499c)];
            ppbVar10 = (byte **)PTR_UINT_0015b5fc;
          }
          else {
LAB_000b2c10:
            ppbVar22 = (byte **)(uint)*(byte *)((int)ppbVar22 + (int)(puVar2 + 0x48c4));
            ppbVar10 = (byte **)PTR_UINT_0015b5fc;
          }
joined_r0x000b33cc:
          PTR_UINT_0015b5fc = (undefined *)ppbVar10;
          if (ppbVar22 < (byte **)0x53) {
            if (ppbVar22 < (byte **)0x50) {
              *(byte ***)pbVar4 = unaff_s7 + 3;
              if (*(byte ***)(pbVar4 + 0x4b8) < unaff_s7 + 3) {
                *(byte ***)pbVar4 = unaff_s7;
                FUN_000b2444(pbVar4);
              }
              else {
                if ((byte **)0x22 < ppbVar22) {
                  ppbVar22 = (byte **)((uint)((int)ppbVar22 + 0x1f) & 0xff);
                }
                *(byte *)(unaff_s7 + 3) = (byte)ppbVar22;
                *(byte *)((int)unaff_s7 + 0xd) = (byte)unaff_s2;
                unaff_s7[4] = unaff_s4;
                unaff_s7[5] = pbVar24;
              }
            }
            else if (ppbVar22 == (byte **)0x51) {
              *(byte ***)pbVar4 = unaff_s7 + -3;
              ppbVar17 = ppbVar10;
            }
            else {
              ppbVar22 = *(byte ***)(pbVar4 + 4);
              pbVar21 = unaff_s4;
              local_cc = unaff_s4;
              local_c8 = pbVar24;
              (*pcVar13)(ppbVar22,ppbVar10 + -0x1c2b);
              ppbVar17 = &local_cc;
              *(byte ***)(pbVar4 + 4) = ppbVar22;
              FUN_000b23c0(unaff_s2);
              pbVar20 = pbVar24;
            }
            goto LAB_000b2d18;
          }
          ppbVar23 = (byte **)((int)ppbVar22 + -0x53);
          unaff_s5 = (byte *)(int)(char)*(byte *)((int)ppbVar23 + (int)(unaff_s6 + 0x488c));
          if ((unaff_s5 != (byte *)0x0) || (unaff_s7 < *(byte ***)(pbVar4 + 0x4b8))) break;
          FUN_000b2444(pbVar4);
          unaff_s7 = *(byte ***)pbVar4;
          ppbVar22 = ppbVar23;
          if (unaff_s7 <= unaff_s1) goto LAB_000b2d18;
          pbVar9 = unaff_s2 + 0x2c;
          ppbVar22 = (byte **)0x0;
        }
        if (ppbVar23 < (byte **)0x1c) {
                    /* WARNING: Could not emulate address calculation at 0x000b2c68 */
                    /* WARNING: Treating indirect jump as call */
          iVar5 = (*(code *)(&_gp_1 + (int)ppbVar10[(int)(ppbVar22 + 0xcb)]))();
          return iVar5;
        }
        pbVar20 = unaff_s6 + 0x499c;
        bVar12 = *(byte *)(unaff_s7 + (int)unaff_s5 * 3);
        ppbVar17 = unaff_s7 + (int)unaff_s5 * 3 + 3;
        bVar1 = *(byte *)((int)(ppbVar10 + 0x122a) + (int)ppbVar23);
        *(byte ***)pbVar4 = ppbVar17;
        *(byte *)((int)ppbVar17 + 1) = bVar1;
        ppbVar22 = (byte **)(uint)pbVar20[(uint)bVar1 +
                                          (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)];
        *(byte *)ppbVar17 =
             pbVar20[(uint)bVar1 + (int)(char)*(byte *)((int)ppbVar10 + bVar12 + 0x48e8)];
        unaff_s7 = *(byte ***)pbVar4;
        ppbVar17 = ppbVar10;
      } while (unaff_s1 < unaff_s7);
LAB_000b2d18:
      if ((local_bc != 0) || (param_3 = local_110, unaff_s2 == (byte *)0x0)) goto LAB_000b2d2c;
    } while( true );
  }
  iVar5 = 7;
  goto LAB_000b3294;
LAB_000b2d2c:
  ppbVar10 = *(byte ***)pbVar4;
  if (unaff_s1 < ppbVar10) {
    ppbVar22 = (byte **)(PTR_LAB_0015b6f8 + 0x23c0);
    do {
      ppbVar17 = ppbVar10 + 1;
      *(byte ***)pbVar4 = ppbVar10 + -3;
      FUN_000b23c0(*(byte *)((int)ppbVar10 + 1));
      ppbVar10 = *(byte ***)pbVar4;
    } while (unaff_s1 < ppbVar10);
  }
  (*(code *)PTR_sqlite3_free_0015b620)(pbVar4);
  if ((param_2 < (int)param_1[3]) && (local_b0 != (byte **)0x0)) {
    if (local_bc == 0) {
      pbVar21 = &DAT_00000008;
      pbVar20 = (byte *)0x0;
      pbVar24 = (byte *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc);
      if (pbVar24 != (byte *)0x0) {
        *(int *)(pbVar24 + 4) = param_2;
        pbVar24[0] = 0;
        pbVar24[1] = 0;
        pbVar24[2] = 0;
        pbVar24[3] = 1;
        ppbVar17 = local_b0;
        FUN_000970a0(&local_c4);
        pbVar20 = pbVar24;
      }
      goto LAB_000b321c;
    }
LAB_000b2da8:
    FUN_000b1f34(local_b0);
  }
  else {
LAB_000b321c:
    if (local_bc != 0) goto LAB_000b2da8;
    ppbVar22 = (byte **)(*(code *)PTR_sqlite3_malloc_0015b640)(0x18);
    *(byte ***)param_4 = ppbVar22;
    if (ppbVar22 == (byte **)0x0) {
      local_bc = 7;
      goto LAB_000b2da8;
    }
    if (local_b0 == (byte **)0x0) {
      if (local_bc == 0) {
        pbVar21 = &DAT_00000028;
        pbVar20 = (byte *)0x0;
        pbVar24 = (byte *)(*(code *)(PTR_LAB_0015b700 + 0x108c))(&local_bc);
        ppbVar22[2] = pbVar24;
        if (pbVar24 != (byte *)0x0) {
          pbVar24[4] = 0;
          pbVar24[5] = 0;
          pbVar24[6] = 0;
          pbVar24[7] = 1;
        }
      }
      else {
        ppbVar22[2] = (byte *)0x0;
      }
    }
    else {
      ppbVar22[2] = (byte *)local_b0;
    }
    *ppbVar22 = (byte *)0x0;
    ppbVar22[1] = (byte *)param_1;
    ppbVar22[5] = local_b4;
    ppbVar22[4] = local_b8;
    local_b4 = (byte *)0x0;
  }
  (*(code *)PTR_sqlite3_free_0015b620)(local_b4);
  *param_5 = local_c0;
  iVar5 = local_bc;
  param_1 = ppbVar22;
  unaff_s3 = unaff_s2;
  unaff_s8 = pbVar4;
LAB_000b3294:
  if (local_2c == *(byte **)puVar3) {
    return iVar5;
  }
  uVar19 = 0xb37f8;
  pbVar4 = local_2c;
  puVar7 = PTR___stack_chk_fail_0015ba10;
  (*(code *)PTR___stack_chk_fail_0015ba10)();
  puVar25 = auStack_138;
  do {
    pbVar9 = pbVar21;
    pbVar24 = pbVar4;
    pcVar13 = *(code **)(puVar7 + 0xa7ed0);
    *(byte **)(puVar25 + -0x20) = unaff_s2;
    *(undefined **)(puVar25 + -0x50) = puVar7 + 0xafdb8;
    *(undefined4 *)(puVar25 + -4) = uVar19;
    *(byte ***)(puVar25 + -0xc) = unaff_s7;
    *(byte **)(puVar25 + -0x10) = unaff_s6;
    *(byte **)(puVar25 + -0x18) = unaff_s4;
    *(byte **)(puVar25 + -0x1c) = unaff_s3;
    *(byte **)(puVar25 + -8) = unaff_s8;
    *(byte **)(puVar25 + -0x14) = unaff_s5;
    *(byte ***)(puVar25 + -0x24) = unaff_s1;
    *(byte ***)(puVar25 + -0x28) = param_1;
    unaff_s2 = *(byte **)(puVar7 + 0xa8234);
    *(undefined4 *)(puVar25 + -0x2c) = *(undefined4 *)unaff_s2;
    pbVar21 = pbVar20;
    uVar19 = (*pcVar13)();
    pcVar13 = *(code **)(*(int *)(puVar25 + -0x50) + -0x7ed0);
    *(undefined4 *)(puVar25 + -0x44) = uVar19;
    uVar19 = (*pcVar13)(pbVar24);
    iVar5 = *(int *)(puVar25 + -0x50);
    *(undefined4 *)(puVar25 + -0x40) = uVar19;
    *(undefined4 *)(puVar25 + -0x38) = 0;
    *(undefined4 *)(puVar25 + -0x34) = 0;
    *(undefined4 *)(puVar25 + -0x30) = 0;
    unaff_s3 = pbVar20;
    unaff_s7 = ppbVar17;
    if ((int)ppbVar17 < 1) {
      if (pbVar9 == (byte *)0x0) {
        iVar11 = *(int *)(iVar5 + -0x7fb4) + -0x705c;
      }
      else {
        iVar11 = *(int *)(iVar5 + -0x7fb4) + -0x706c;
      }
      ppbVar22 = (byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fb4) + -0x7048,iVar11)
      ;
      pbVar21 = (byte *)0xffffffff;
      *(byte ***)(puVar25 + -0x38) = ppbVar22;
      (**(code **)(*(int *)(puVar25 + -0x50) + -0x7e40))(pbVar24);
      pbVar4 = *(byte **)(puVar25 + -0x38);
      (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))();
      iVar5 = *(int *)(puVar25 + -0x50);
    }
    else {
      if (pbVar9 == (byte *)0x0) {
        param_1 = (byte **)0x1;
        *(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050;
LAB_000b38a0:
        unaff_s5 = (byte *)((int)ppbVar17 + (3 - (int)param_1));
        ppbVar22 = (byte **)((int)unaff_s5 * 4);
        unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0);
        iVar5 = *(int *)(puVar25 + -0x50);
        if (unaff_s1 == (byte **)0x0) {
LAB_000b3a30:
          pbVar4 = pbVar24;
          (**(code **)(iVar5 + -0x7e2c))();
          iVar5 = *(int *)(puVar25 + -0x50);
          goto LAB_000b39d4;
        }
        *unaff_s1 = (byte *)0x0;
        unaff_s1[1] = (byte *)(*(int *)(iVar5 + -0x7fc8) + 0x538c);
        unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c);
        if ((int)param_1 < (int)ppbVar17) {
          unaff_s8 = pbVar20 + (int)param_1 * 4;
          iVar11 = (int)ppbVar17 * 4;
          ppbVar22 = unaff_s1 + 3;
          do {
            ppbVar17 = ppbVar22 + 1;
            uVar19 = *(undefined4 *)unaff_s8;
            unaff_s8 = unaff_s8 + 4;
            pbVar21 = (byte *)(**(code **)(iVar5 + -0x7f9c))(uVar19);
            iVar5 = *(int *)(puVar25 + -0x50);
            *ppbVar22 = pbVar21;
            ppbVar22 = ppbVar17;
          } while (pbVar20 + iVar11 != unaff_s8);
        }
      }
      else {
        if (ppbVar17 != (byte **)0x1) {
          param_1 = (byte **)&SUB_00000002;
          uVar19 = (**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)(pbVar20 + 4));
          iVar5 = *(int *)(puVar25 + -0x50);
          *(undefined4 *)(puVar25 + -0x3c) = uVar19;
          goto LAB_000b38a0;
        }
        ppbVar22 = (byte **)&DAT_0000000c;
        unaff_s1 = (byte **)(**(code **)(iVar5 + -0x7e50))(0);
        iVar5 = *(int *)(puVar25 + -0x50);
        if (unaff_s1 == (byte **)0x0) goto LAB_000b3a30;
        iVar11 = *(int *)(iVar5 + -0x7fc8);
        unaff_s5 = (byte *)0x3;
        *unaff_s1 = (byte *)0x0;
        unaff_s1[1] = (byte *)(iVar11 + 0x538c);
        *(int *)(puVar25 + -0x3c) = *(int *)(iVar5 + -0x7fb4) + -0x7050;
        unaff_s1[2] = (byte *)(*(int *)(iVar5 + -0x7fb4) + -0x701c);
      }
      param_1 = (byte **)(puVar25 + -0x38);
      unaff_s3 = (byte *)(**(code **)(iVar5 + -0x7f9c))(*(undefined4 *)pbVar20);
      *(byte ***)(puVar25 + -0x54) = param_1;
      *(undefined1 **)(puVar25 + -0x58) = puVar25 + -0x30;
      pbVar21 = unaff_s5;
      ppbVar22 = (byte **)FUN_000961e8(*(undefined4 *)(puVar25 + -0x44),
                                       *(undefined4 *)(puVar25 + -0x40),unaff_s5,unaff_s1);
      iVar5 = *(int *)(puVar25 + -0x50);
      if (ppbVar22 == (byte **)0x0) {
        uVar19 = *(undefined4 *)(*(int *)(puVar25 + -0x30) + 0xc);
        *(byte ***)(puVar25 + -0x58) = param_1;
        pbVar20 = unaff_s3;
        ppbVar22 = (byte **)MASKED(*(int *)(puVar25 + -0x30),uVar19,unaff_s3,puVar25 + -0x34);
        iVar5 = *(int *)(puVar25 + -0x50);
        pbVar21 = pbVar20;
        if (ppbVar22 != (byte **)0x0) goto LAB_000b3964;
        pbVar21 = *(byte **)(*(int *)(puVar25 + -0x34) + 8);
        if (*(int *)(pbVar21 + 0xc) == 0) {
          param_1 = (byte **)(**(code **)(iVar5 + -0x7f88))(*(int *)(iVar5 + -0x7fc8) + 0x53f4);
          iVar5 = *(int *)(puVar25 + -0x50);
LAB_000b3aa4:
          ppbVar10 = *(byte ***)(puVar25 + -0x38);
          pbVar21 = pbVar20;
          if (param_1 != (byte **)0x0) goto LAB_000b3aac;
LAB_000b3b54:
          ppbVar22 = (byte **)&DAT_00000007;
          if (ppbVar10 == (byte **)0x0) {
            pcVar13 = *(code **)(iVar5 + -0x7e34);
            goto LAB_000b3b60;
          }
          goto LAB_000b3970;
        }
        if (pbVar9 == (byte *)0x0) {
          param_1 = (byte **)FUN_00097660();
          iVar5 = *(int *)(puVar25 + -0x50);
          goto LAB_000b3aa4;
        }
        param_1 = (byte **)FUN_00097234(*(undefined4 *)(puVar25 + -0x30),
                                        *(undefined4 *)(puVar25 + -0x3c));
        iVar5 = *(int *)(puVar25 + -0x50);
        if (param_1 == (byte **)0x0) {
          ppbVar10 = *(byte ***)(puVar25 + -0x38);
          goto LAB_000b3b54;
        }
LAB_000b3aac:
        pbVar21 = (byte *)0xffffffff;
        ppbVar22 = param_1;
        (**(code **)(iVar5 + -0x7f34))(pbVar24,param_1,0xffffffff,0xffffffff);
        (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(param_1);
        iVar5 = *(int *)(puVar25 + -0x50);
      }
      else {
LAB_000b3964:
        ppbVar10 = *(byte ***)(puVar25 + -0x38);
        pcVar13 = *(code **)(iVar5 + -0x7e34);
        if (ppbVar10 == (byte **)0x0) {
LAB_000b3b60:
          (*pcVar13)(pbVar24);
          iVar5 = *(int *)(puVar25 + -0x50);
        }
        else {
LAB_000b3970:
          pbVar21 = (byte *)0xffffffff;
          (**(code **)(iVar5 + -0x7e40))(pbVar24);
          (**(code **)(*(int *)(puVar25 + -0x50) + -0x7f90))(*(undefined4 *)(puVar25 + -0x38));
          iVar5 = *(int *)(puVar25 + -0x50);
          ppbVar22 = ppbVar10;
        }
      }
      (**(code **)(iVar5 + -0x7f90))(unaff_s1);
      (*(code *)(*(int *)(*(int *)(puVar25 + -0x50) + -0x7ef0) + -0xe08))
                (*(undefined4 *)(puVar25 + -0x30));
      pbVar4 = *(byte **)(puVar25 + -0x34);
      iVar5 = *(int *)(puVar25 + -0x50);
      unaff_s7 = ppbVar17;
      if (pbVar4 != (byte *)0x0) {
        FUN_000b1fe4();
        iVar5 = *(int *)(puVar25 + -0x50);
      }
    }
LAB_000b39d4:
    if (*(int *)(puVar25 + -0x2c) == *(int *)unaff_s2) {
      return *(int *)unaff_s2;
    }
    pcVar13 = *(code **)(iVar5 + -0x7ba0);
    uVar19 = 0xb3bf0;
    (*pcVar13)();
    puVar7 = (undefined *)(*(int *)(pcVar13 + 0xa7b08) + 0x37f8);
    ppbVar17 = ppbVar22;
    pbVar20 = pbVar21;
    pbVar21 = (byte *)0x1;
    unaff_s4 = pbVar24;
    unaff_s6 = pbVar9;
    puVar25 = puVar25 + -0x68;
  } while( true );
}

